diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 323a2d1c..8cc22d5c 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -12,7 +12,10 @@ "Bash(dotnet run *)", "Bash(DOTNET_MULTILEVEL_LOOKUP=0 dotnet exec \"LinqToXsd/bin/Debug/net7.0/LinqToXsd.dll\" gen \"LinqToXsd.Schemas/XInclude/xinclude.xsd\" -c \"LinqToXsd.Schemas/XInclude/xinclude.xsd.config\" -o \"LinqToXsd.Schemas/XInclude/xinclude.xsd-g.cs\")", "Bash(echo \"EXIT: $?\")", - "Bash(git stash *)" + "Bash(git stash *)", + "mcp__fuse__fuse_workspace", + "mcp__code-review-graph__get_minimal_context_tool", + "Bash(dotnet test *)" ] }, "enableAllProjectMcpServers": true, diff --git a/.gitignore b/.gitignore index 3f800949..e7bea241 100644 --- a/.gitignore +++ b/.gitignore @@ -263,3 +263,4 @@ Samples/ *.diff LinqToXsd.Schemas/_temp/ .fuse/ +*.DS_Store diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..f89ca882 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,41 @@ +# Contributing to LinqToXsdCore + +IMPORTANT BEFORE DOING ANY WORK: Please use the [LinqToXsd-TestingSuite.slnf](https://github.com/mamift/LinqToXsdCore/blob/testing/dublincore-xhtml/LinqToXsd-TestingSuite.slnf) solution filter file when working with this repo in Visual Studio or Rider. The full `sln` file has projects that currently do not build. + +Mandatory requirements before your PR is accepted or approved: + +1. **When contributing, please summarise your pull request in such a manner that it is acceptable to be included in the `RELEASENOTES.md` file** that is packaged in every nuget release (look at the release notes for previous releases to get an idea - be short but descriptive enough to point someone in the right direction if they want to dig deeper - this includes referring to Github issues and PRs). + - You do not have to update the `RELEASENOTES.md` file yourself but write a summary that's sufficient to be included there. This means that you should NOT GET OVERLY TECHNICAL IN YOUR PR DESCRIPTION. Please use [Github issues](https://github.com/mamift/LinqToXsdCore/issues) for that and refer to the issue in your PR description. + +2. **ENSURE THAT YOU WRITE A TEST FOR YOUR CHANGES.** Tests are incredibly helpful when collaborating with other developers - they help ensure that new contributions do not break existing functionality. Fixing a bug? Write a test to ensure the bug does not re-occur. Adding a feature? Add a test to cover the feature behavior or output. + +3. **ENSURE THAT YOUR CHANGES DO NOT BREAK EXISTING FUNCTIONALITY.** All tests should pass (including test written by you). + - There are some existing tests that are broken when run as part of the full suite, *but work when run individually* (`TestGenerateCodeFromSingleDirectoryWithAutoConfig` for instance) - these are acceptable failures. + - For tests that are broken and need updating, please annotate them such that they still run *but are not counted as failures or ignored* (see `TestGetFullPathFromSchemaInGraph`), + - Or that they need to be explicitly run by the user (see `PrototypeSplitByNamespaceAndClass`), so wil not run during the CI/DevOps builds. + +For points 2. and 3. the preferred type of test is an end to end code generation test; so this counts as an integration test. Unit tests should be preferred when testing extension methods. + +## Use of AI + +We welcome the use of AI in your pull requests, so long as you follow the above rules - remember NO TEST FAILURES. And if your PR brings in changes that results in test failures, then those failures need to be fixed before the PR can be approved. AI coding agents should help you with fixing these. + +Much of the code base and indeed most of the test suite pre-dates AI coding agents (the original Microsoft code was written in 2008-2011 and was ported to .NET Core/.NET Standard in 2019), so as long as the existing test suite passes, then new code, even if AI generated is acceptable. + +## Optional things + +- Please consider contributing the full XSD file that exhibits any code generation bugs. In terms of cyclomatic complexity, the code base rates incredibly high, and as a result, LinqToXsd emits a very specific output, and is highly vulnerable to regressions even over seemingly trivial code changes. + + It also does not cover the entire W3C XML Schema v1.0 specification - so when a code gen bug is discovered, it is incredibly helpful to have the full XSD file as many parts of the XML Schema specification interact in quirky ways when transposing it to C#. Some things simply cannot be handled by LinqToXsd as there currently exists no idomatic way to model an XSD concept or construct in C#. Having the XSD on file helps when new C# language versions are released, and they can be evaluated for future implementation. + - In cases where bugs from specific XSD files are unfeasible to fix in a single PR, please: + - contribute the XSD file under it's own separate folder under the [GeneratedSchemaLibraries](https://github.com/mamift/LinqToXsdCore/tree/master/GeneratedSchemaLibraries) folder, + - then run the [create individual xsd libraries.ps1 PowerShell script](https://github.com/mamift/LinqToXsdCore/blob/testing/dublincore-xhtml/GeneratedSchemaLibraries/create%20individual%20xsd%20libraries.ps1) to automatically create a `.CSPROJ` file and link it to the greater solution. + - This allows storing the XSD for future bug fixing and also segregating buggy code out in it's own project so that the test project can still build and run. Uncompilable code **should not be linked to the test project ([XObjectTests](https://github.com/mamift/LinqToXsdCore/blob/master/XObjectsTests/XObjectsTests.csproj))**. + +- If the full XSD file cannot be given, then a minimal extract of the schema that exhibits the code generation bug is also acceptable. Many **code generation** tests simply make no sense unless there's an accompanying XSD file. + +- Another thing too: in the solution root there's a PowerShell script: [Regenerate-TestingSuite.ps1](https://github.com/mamift/LinqToXsdCore/blob/testing/dublincore-xhtml/Regenerate-TestingSuite.ps1). After all the tests in the testing project have been run (and pass), run this script to regenerate all C# code in the `GeneratedSchemaLibraries` folder. This is very helpful to catch regressions that are not covered in the test project. **Please try to fix any regressions alongside your PR! I WILL NOT APPROVE A PR THAT INTRODUCES A REGRESSION OR TEST FAILURE!** It is also helpful to have the changes in code generation captured in git from version to version to find and diagnose bugs, and to know which version may have changed ouptuts or behavior. + - Also: the script may generate new code files (i.e. not yet tracked in git - discard these files). + - *ONLY COMMIT CODE RE-GENERATED BY THE SCRIPT FOR EXISTING FILES THAT ARE TRACKED IN GIT.* + +Finally, the `AllEntCf.xsd-xml` schema is cursed; trying to run code gen on it will result in an out of memory error. I appreciate any efforts to get to the bottom of it. Please refrain from using this file in any tests. You have been warned. \ No newline at end of file diff --git a/GeneratedSchemaLibraries/Chem eStandards/OAGi_Chem_eStandards_5.3.xsd-g.cs b/GeneratedSchemaLibraries/Chem eStandards/OAGi_Chem_eStandards_5.3.xsd-g.cs index a10ba09f..b197f0d8 100644 --- a/GeneratedSchemaLibraries/Chem eStandards/OAGi_Chem_eStandards_5.3.xsd-g.cs +++ b/GeneratedSchemaLibraries/Chem eStandards/OAGi_Chem_eStandards_5.3.xsd-g.cs @@ -15490,7 +15490,6 @@ private cidxListEnclosureTypeValidator() { "Tin (Tinplate):Tin__Tinplate_", "Stainless steel 1.4306 (V2A):Stainless_steel_1_4306__V2A_", "Polyethylenetherephtalate (PET):Polyethylenetherephtalate__PET_", - "Stainless Steel 1.4401:Stainless_Steel_1_4401", "High-Purity Polymer:High_Purity_Polymer"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Collapse)); } diff --git a/GeneratedSchemaLibraries/DublinCore/dublincore.org_schemas_xmls_qdc_dc.xsd b/GeneratedSchemaLibraries/DublinCore/dublincore.org_schemas_xmls_qdc_dc.xsd new file mode 100644 index 00000000..306a548f --- /dev/null +++ b/GeneratedSchemaLibraries/DublinCore/dublincore.org_schemas_xmls_qdc_dc.xsd @@ -0,0 +1,119 @@ + + + + + + DCMES 1.1 XML Schema + XML Schema for http://purl.org/dc/elements/1.1/ namespace + + Created 2008-02-11 + + Created by + + Tim Cole (t-cole3@uiuc.edu) + Tom Habing (thabing@uiuc.edu) + Jane Hunter (jane@dstc.edu.au) + Pete Johnston (p.johnston@ukoln.ac.uk), + Carl Lagoze (lagoze@cs.cornell.edu) + + This schema declares XML elements for the 15 DC elements from the + http://purl.org/dc/elements/1.1/ namespace. + + It defines a complexType SimpleLiteral which permits mixed content + and makes the xml:lang attribute available. It disallows child elements by + use of minOcccurs/maxOccurs. + + However, this complexType does permit the derivation of other complexTypes + which would permit child elements. + + All elements are declared as substitutable for the abstract element any, + which means that the default type for all elements is dc:SimpleLiteral. + + + + + + + + + + + + + This is the default type for all of the DC elements. + It permits text content only with optional + xml:lang attribute. + Text is allowed because mixed="true", but sub-elements + are disallowed because minOccurs="0" and maxOccurs="0" + are on the xs:any tag. + + This complexType allows for restriction or extension permitting + child elements. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This group is included as a convenience for schema authors + who need to refer to all the elements in the + http://purl.org/dc/elements/1.1/ namespace. + + + + + + + + + + + + + + This complexType is included as a convenience for schema authors who need to define a root + or container element for all of the DC elements. + + + + + + + + + + + \ No newline at end of file diff --git a/GeneratedSchemaLibraries/DublinCore/dublincore.org_schemas_xmls_qdc_dc.xsd.config b/GeneratedSchemaLibraries/DublinCore/dublincore.org_schemas_xmls_qdc_dc.xsd.config new file mode 100644 index 00000000..3d62d891 --- /dev/null +++ b/GeneratedSchemaLibraries/DublinCore/dublincore.org_schemas_xmls_qdc_dc.xsd.config @@ -0,0 +1,21 @@ + + + + false + false + false + + + + + + + + + + false + + + + + \ No newline at end of file diff --git a/GeneratedSchemaLibraries/DublinCore/dublincore.org_schemas_xmls_qdc_dc.xsd.cs b/GeneratedSchemaLibraries/DublinCore/dublincore.org_schemas_xmls_qdc_dc.xsd.cs new file mode 100644 index 00000000..d5aeaaed --- /dev/null +++ b/GeneratedSchemaLibraries/DublinCore/dublincore.org_schemas_xmls_qdc_dc.xsd.cs @@ -0,0 +1,3158 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace W3C.XmlNs1 { + using System; + using System.Collections; + using System.Collections.Generic; + using System.ComponentModel; + using System.IO; + using System.Linq; + using System.Diagnostics; + using System.Xml; + using System.Xml.Schema; + using System.Xml.Linq; + using Xml.Schema.Linq; + using Purl.Dcmes.Elements; + + + public sealed class lang { + + private lang() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.UnionSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType), null, new Xml.Schema.Linq.SimpleTypeValidator[] { + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Language), null), + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + ""}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve))}); + } +} +namespace Purl.Dcmes.Elements { + using System; + using System.Collections; + using System.Collections.Generic; + using System.ComponentModel; + using System.IO; + using System.Linq; + using System.Diagnostics; + using System.Xml; + using System.Xml.Schema; + using System.Xml.Linq; + using Xml.Schema.Linq; + using W3C.XmlNs1; + + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class SimpleLiteral : XTypedElement, IXMetaData { + + public static explicit operator SimpleLiteral(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public SimpleLiteral() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::W3C.XmlNs1.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::W3C.XmlNs1.lang.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SimpleLiteral", "http://purl.org/dc/elements/1.1/"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This complexType is included as a convenience for schema authors who need to define a root + /// or container element for all of the DC elements. + /// + /// + /// + /// Regular expression: (((any)*)) + /// + /// + public partial class elementContainer : XTypedElement, IXMetaData { + + public static explicit operator elementContainer(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// + /// This complexType is included as a convenience for schema authors who need to define a root + /// or container element for all of the DC elements. + /// + /// + /// + /// Regular expression: (((any)*)) + /// + /// + public elementContainer() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName anyXName = System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedSubstitutedList anyField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Substitution members: any, title, creator, subject, description, publisher, contributor, date, type, format, identifier, source, language, relation, coverage, rights + /// + /// + /// Regular expression: (((any)*)) + /// + /// + public virtual IList any { + get { + if ((this.anyField == null)) { + this.anyField = new XTypedSubstitutedList(this, LinqToXsdTypeManager.Instance, System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("title", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("description", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("date", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("type", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("format", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("source", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("language", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/elements/1.1/")); + } + return this.anyField; + } + set { + if ((value == null)) { + this.anyField = null; + } + else { + if ((this.anyField == null)) { + this.anyField = XTypedSubstitutedList.Initialize(this, LinqToXsdTypeManager.Instance, value, System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("title", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("description", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("date", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("type", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("format", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("source", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("language", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/elements/1.1/")); + } + else { + XTypedServices.SetList(this.anyField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("elementContainer", "http://purl.org/dc/elements/1.1/"); + + static elementContainer() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new SequenceContentModelEntity(new ChoiceContentModelEntity(new SubstitutedContentModelEntity(System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("title", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("description", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("date", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("type", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("format", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("source", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("language", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/elements/1.1/"))))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(anyXName, typeof(any)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public abstract partial class any : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static any Load(string xmlFile) { + return ((any)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static any Load(System.IO.TextReader xmlFile) { + return ((any)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static any Parse(string xml) { + return ((any)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator any(XElement xe) { return (any)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + protected any(bool setNull) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public any() { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + protected virtual void SetSubstitutionMember(SimpleLiteral ContentField) { + this.ContentField = ContentField; + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public any(SimpleLiteral content) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + return this.ContentField.lang; + } + set { + this.ContentField.lang = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class title : global::Purl.Dcmes.Elements.any, IXMetaData { + + public new static title Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static title Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static title Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator title(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new title(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public title() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public title(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("title", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class creator : global::Purl.Dcmes.Elements.any, IXMetaData { + + public new static creator Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static creator Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static creator Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator creator(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new creator(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public creator() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public creator(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class subject : global::Purl.Dcmes.Elements.any, IXMetaData { + + public new static subject Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static subject Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static subject Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator subject(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new subject(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public subject() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public subject(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class description : global::Purl.Dcmes.Elements.any, IXMetaData { + + public new static description Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static description Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static description Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator description(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new description(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public description() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public description(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("description", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class publisher : global::Purl.Dcmes.Elements.any, IXMetaData { + + public new static publisher Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static publisher Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static publisher Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator publisher(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new publisher(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public publisher() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public publisher(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class contributor : global::Purl.Dcmes.Elements.any, IXMetaData { + + public new static contributor Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static contributor Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static contributor Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator contributor(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new contributor(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public contributor() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public contributor(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class date : global::Purl.Dcmes.Elements.any, IXMetaData { + + public new static date Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static date Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static date Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator date(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new date(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public date() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public date(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("date", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class type : global::Purl.Dcmes.Elements.any, IXMetaData { + + public new static type Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static type Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static type Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator type(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new type(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public type() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public type(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("type", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class format : global::Purl.Dcmes.Elements.any, IXMetaData { + + public new static format Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static format Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static format Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator format(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new format(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public format() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public format(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("format", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class identifier : global::Purl.Dcmes.Elements.any, IXMetaData { + + public new static identifier Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static identifier Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static identifier Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator identifier(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new identifier(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public identifier() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public identifier(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class source : global::Purl.Dcmes.Elements.any, IXMetaData { + + public new static source Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static source Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static source Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator source(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new source(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public source() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public source(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("source", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class language : global::Purl.Dcmes.Elements.any, IXMetaData { + + public new static language Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static language Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static language Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator language(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new language(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public language() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public language(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("language", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class relation : global::Purl.Dcmes.Elements.any, IXMetaData { + + public new static relation Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static relation Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static relation Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator relation(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new relation(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public relation() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public relation(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class coverage : global::Purl.Dcmes.Elements.any, IXMetaData { + + public new static coverage Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static coverage Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static coverage Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator coverage(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new coverage(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public coverage() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public coverage(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class rights : global::Purl.Dcmes.Elements.any, IXMetaData { + + public new static rights Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static rights Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static rights Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator rights(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new rights(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public rights() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public rights(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public class LinqToXsdTypeManager : ILinqToXsdTypeManager { + + private LinqToXsdTypeManager() { + } + + private static Dictionary typeDictionary = new Dictionary(); + + private static void BuildTypeDictionary() { + typeDictionary.Add(System.Xml.Linq.XName.Get("SimpleLiteral", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.Dcmes.Elements.SimpleLiteral)); + typeDictionary.Add(System.Xml.Linq.XName.Get("elementContainer", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.Dcmes.Elements.elementContainer)); + } + + private static Dictionary elementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + elementDictionary.Add(System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.Dcmes.Elements.any)); + elementDictionary.Add(System.Xml.Linq.XName.Get("title", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.Dcmes.Elements.title)); + elementDictionary.Add(System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.Dcmes.Elements.creator)); + elementDictionary.Add(System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.Dcmes.Elements.subject)); + elementDictionary.Add(System.Xml.Linq.XName.Get("description", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.Dcmes.Elements.description)); + elementDictionary.Add(System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.Dcmes.Elements.publisher)); + elementDictionary.Add(System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.Dcmes.Elements.contributor)); + elementDictionary.Add(System.Xml.Linq.XName.Get("date", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.Dcmes.Elements.date)); + elementDictionary.Add(System.Xml.Linq.XName.Get("type", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.Dcmes.Elements.type)); + elementDictionary.Add(System.Xml.Linq.XName.Get("format", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.Dcmes.Elements.format)); + elementDictionary.Add(System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.Dcmes.Elements.identifier)); + elementDictionary.Add(System.Xml.Linq.XName.Get("source", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.Dcmes.Elements.source)); + elementDictionary.Add(System.Xml.Linq.XName.Get("language", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.Dcmes.Elements.language)); + elementDictionary.Add(System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.Dcmes.Elements.relation)); + elementDictionary.Add(System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.Dcmes.Elements.coverage)); + elementDictionary.Add(System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.Dcmes.Elements.rights)); + } + + private static Dictionary wrapperDictionary = new Dictionary(); + + private static void BuildWrapperDictionary() { + wrapperDictionary.Add(typeof(Purl.Dcmes.Elements.any), typeof(global::Purl.Dcmes.Elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(Purl.Dcmes.Elements.title), typeof(global::Purl.Dcmes.Elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(Purl.Dcmes.Elements.creator), typeof(global::Purl.Dcmes.Elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(Purl.Dcmes.Elements.subject), typeof(global::Purl.Dcmes.Elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(Purl.Dcmes.Elements.description), typeof(global::Purl.Dcmes.Elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(Purl.Dcmes.Elements.publisher), typeof(global::Purl.Dcmes.Elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(Purl.Dcmes.Elements.contributor), typeof(global::Purl.Dcmes.Elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(Purl.Dcmes.Elements.date), typeof(global::Purl.Dcmes.Elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(Purl.Dcmes.Elements.type), typeof(global::Purl.Dcmes.Elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(Purl.Dcmes.Elements.format), typeof(global::Purl.Dcmes.Elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(Purl.Dcmes.Elements.identifier), typeof(global::Purl.Dcmes.Elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(Purl.Dcmes.Elements.source), typeof(global::Purl.Dcmes.Elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(Purl.Dcmes.Elements.language), typeof(global::Purl.Dcmes.Elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(Purl.Dcmes.Elements.relation), typeof(global::Purl.Dcmes.Elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(Purl.Dcmes.Elements.coverage), typeof(global::Purl.Dcmes.Elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(Purl.Dcmes.Elements.rights), typeof(global::Purl.Dcmes.Elements.SimpleLiteral)); + } + + private static XmlSchemaSet schemaSet; + + XmlSchemaSet ILinqToXsdTypeManager.Schemas { + get { + if ((schemaSet == null)) { + XmlSchemaSet tempSet = new XmlSchemaSet(); + System.Threading.Interlocked.CompareExchange(ref schemaSet, tempSet, null); + } + return schemaSet; + } + set { + schemaSet = value; + } + } + + protected internal static void AddSchemas(XmlSchemaSet schemas) { + schemas.Add(schemaSet); + } + + Dictionary ILinqToXsdTypeManager.GlobalTypeDictionary { + get { + return typeDictionary; + } + } + + Dictionary ILinqToXsdTypeManager.GlobalElementDictionary { + get { + return elementDictionary; + } + } + + Dictionary ILinqToXsdTypeManager.RootContentTypeMapping { + get { + return wrapperDictionary; + } + } + + static LinqToXsdTypeManager() { + BuildTypeDictionary(); + BuildElementDictionary(); + BuildWrapperDictionary(); + } + + public static System.Type GetRootType() { + return elementDictionary[System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/")]; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static LinqToXsdTypeManager typeManagerSingleton = new LinqToXsdTypeManager(); + + public static LinqToXsdTypeManager Instance { + get { + return typeManagerSingleton; + } + } + } + + public partial class XRootNamespace { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRootNamespace() { + } + + public static XRootNamespace Load(string xmlFile) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(string xmlFile, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(XmlReader xmlReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRootNamespace(any root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public any any { get {return rootObject as any; } } + + public XRootNamespace(title root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public title title { get {return rootObject as title; } } + + public XRootNamespace(creator root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public creator creator { get {return rootObject as creator; } } + + public XRootNamespace(subject root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public subject subject { get {return rootObject as subject; } } + + public XRootNamespace(description root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public description description { get {return rootObject as description; } } + + public XRootNamespace(publisher root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public publisher publisher { get {return rootObject as publisher; } } + + public XRootNamespace(contributor root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public contributor contributor { get {return rootObject as contributor; } } + + public XRootNamespace(date root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public date date { get {return rootObject as date; } } + + public XRootNamespace(type root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public type type { get {return rootObject as type; } } + + public XRootNamespace(format root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public format format { get {return rootObject as format; } } + + public XRootNamespace(identifier root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public identifier identifier { get {return rootObject as identifier; } } + + public XRootNamespace(source root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public source source { get {return rootObject as source; } } + + public XRootNamespace(language root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public language language { get {return rootObject as language; } } + + public XRootNamespace(relation root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public relation relation { get {return rootObject as relation; } } + + public XRootNamespace(coverage root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public coverage coverage { get {return rootObject as coverage; } } + + public XRootNamespace(rights root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public rights rights { get {return rootObject as rights; } } + } + + public partial class XRoot { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRoot() { + } + + public static XRoot Load(string xmlFile) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(string xmlFile, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(TextReader textReader) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(TextReader textReader, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(XmlReader xmlReader) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Parse(string text) { + XRoot root = new XRoot(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Parse(string text, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRoot(global::Purl.Dcmes.Elements.any root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.Dcmes.Elements.any any { get {return rootObject as global::Purl.Dcmes.Elements.any; } } + + public XRoot(global::Purl.Dcmes.Elements.title root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.Dcmes.Elements.title title { get {return rootObject as global::Purl.Dcmes.Elements.title; } } + + public XRoot(global::Purl.Dcmes.Elements.creator root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.Dcmes.Elements.creator creator { get {return rootObject as global::Purl.Dcmes.Elements.creator; } } + + public XRoot(global::Purl.Dcmes.Elements.subject root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.Dcmes.Elements.subject subject { get {return rootObject as global::Purl.Dcmes.Elements.subject; } } + + public XRoot(global::Purl.Dcmes.Elements.description root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.Dcmes.Elements.description description { get {return rootObject as global::Purl.Dcmes.Elements.description; } } + + public XRoot(global::Purl.Dcmes.Elements.publisher root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.Dcmes.Elements.publisher publisher { get {return rootObject as global::Purl.Dcmes.Elements.publisher; } } + + public XRoot(global::Purl.Dcmes.Elements.contributor root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.Dcmes.Elements.contributor contributor { get {return rootObject as global::Purl.Dcmes.Elements.contributor; } } + + public XRoot(global::Purl.Dcmes.Elements.date root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.Dcmes.Elements.date date { get {return rootObject as global::Purl.Dcmes.Elements.date; } } + + public XRoot(global::Purl.Dcmes.Elements.type root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.Dcmes.Elements.type type { get {return rootObject as global::Purl.Dcmes.Elements.type; } } + + public XRoot(global::Purl.Dcmes.Elements.format root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.Dcmes.Elements.format format { get {return rootObject as global::Purl.Dcmes.Elements.format; } } + + public XRoot(global::Purl.Dcmes.Elements.identifier root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.Dcmes.Elements.identifier identifier { get {return rootObject as global::Purl.Dcmes.Elements.identifier; } } + + public XRoot(global::Purl.Dcmes.Elements.source root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.Dcmes.Elements.source source { get {return rootObject as global::Purl.Dcmes.Elements.source; } } + + public XRoot(global::Purl.Dcmes.Elements.language root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.Dcmes.Elements.language language { get {return rootObject as global::Purl.Dcmes.Elements.language; } } + + public XRoot(global::Purl.Dcmes.Elements.relation root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.Dcmes.Elements.relation relation { get {return rootObject as global::Purl.Dcmes.Elements.relation; } } + + public XRoot(global::Purl.Dcmes.Elements.coverage root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.Dcmes.Elements.coverage coverage { get {return rootObject as global::Purl.Dcmes.Elements.coverage; } } + + public XRoot(global::Purl.Dcmes.Elements.rights root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.Dcmes.Elements.rights rights { get {return rootObject as global::Purl.Dcmes.Elements.rights; } } + } +} diff --git a/GeneratedSchemaLibraries/DublinCore/qualified/dc.xsd b/GeneratedSchemaLibraries/DublinCore/qualified/dc.xsd new file mode 100644 index 00000000..1b24fc9d --- /dev/null +++ b/GeneratedSchemaLibraries/DublinCore/qualified/dc.xsd @@ -0,0 +1,118 @@ + + + + + + DCMES 1.1 XML Schema + XML Schema for http://purl.org/dc/elements/1.1/ namespace + + Created 2008-02-11 + + Created by + + Tim Cole (t-cole3@uiuc.edu) + Tom Habing (thabing@uiuc.edu) + Jane Hunter (jane@dstc.edu.au) + Pete Johnston (p.johnston@ukoln.ac.uk), + Carl Lagoze (lagoze@cs.cornell.edu) + + This schema declares XML elements for the 15 DC elements from the + http://purl.org/dc/elements/1.1/ namespace. + + It defines a complexType SimpleLiteral which permits mixed content + and makes the xml:lang attribute available. It disallows child elements by + use of minOcccurs/maxOccurs. + + However, this complexType does permit the derivation of other complexTypes + which would permit child elements. + + All elements are declared as substitutable for the abstract element any, + which means that the default type for all elements is dc:SimpleLiteral. + + + + + + + + + + + + + This is the default type for all of the DC elements. + It permits text content only with optional + xml:lang attribute. + Text is allowed because mixed="true", but sub-elements + are disallowed because minOccurs="0" and maxOccurs="0" + are on the xs:any tag. + + This complexType allows for restriction or extension permitting + child elements. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This group is included as a convenience for schema authors + who need to refer to all the elements in the + http://purl.org/dc/elements/1.1/ namespace. + + + + + + + + + + + + + + This complexType is included as a convenience for schema authors who need to define a root + or container element for all of the DC elements. + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/DublinCore/qualified/dcmitype.xsd b/GeneratedSchemaLibraries/DublinCore/qualified/dcmitype.xsd new file mode 100644 index 00000000..2bffae66 --- /dev/null +++ b/GeneratedSchemaLibraries/DublinCore/qualified/dcmitype.xsd @@ -0,0 +1,52 @@ + + + + + + DCMI Type Vocabulary XML Schema + XML Schema for http://purl.org/dc/dcmitype/ namespace + + Created 2008-02-11 + + Created by + + Tim Cole (t-cole3@uiuc.edu) + Tom Habing (thabing@uiuc.edu) + Jane Hunter (jane@dstc.edu.au) + Pete Johnston (p.johnston@ukoln.ac.uk), + Carl Lagoze (lagoze@cs.cornell.edu) + + This schema defines a simpleType which enumerates + the allowable values for the DCMI Type Vocabulary. + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/DublinCore/qualified/dcterms.xsd b/GeneratedSchemaLibraries/DublinCore/qualified/dcterms.xsd new file mode 100644 index 00000000..319b9940 --- /dev/null +++ b/GeneratedSchemaLibraries/DublinCore/qualified/dcterms.xsd @@ -0,0 +1,382 @@ + + + + + + DCterms XML Schema + XML Schema for http://purl.org/dc/terms/ namespace + + Created 2008-02-11 + + Created by + + Tim Cole (t-cole3@uiuc.edu) + Tom Habing (thabing@uiuc.edu) + Jane Hunter (jane@dstc.edu.au) + Pete Johnston (p.johnston@ukoln.ac.uk), + Carl Lagoze (lagoze@cs.cornell.edu) + + This schema declares XML elements for the DC elements and + DC element refinements from the http://purl.org/dc/terms/ namespace. + + It reuses the complexType dc:SimpleLiteral, imported from the dc.xsd + schema, which permits simple element content, and makes the xml:lang + attribute available. + + This complexType permits the derivation of other complexTypes + which would permit child elements. + + XML elements corresponding to DC elements are declared as substitutable for the abstract element dc:any, and + XML elements corresponding to DC element refinements are defined as substitutable for the base elements + which they refine. + + This means that the default type for all XML elements (i.e. corresponding to all DC elements and + element refinements) is dc:SimpleLiteral. + + Encoding schemes are defined as complexTypes which are restrictions + of the dc:SimpleLiteral complexType. These complexTypes restrict + values to an appropriates syntax or format using data typing, + regular expressions, or enumerated lists. + + In order to specify one of these encodings an xsi:type attribute must + be used in the instance document. + + Also, note that one shortcoming of this approach is that any type can be + applied to any of the elements or refinements. There is no convenient way + to restrict types to specific elements using this approach. + + Changes in 2008-02-11 version: + + Add element declarations corresponding to 15 new dcterms URIs, and amend use of substitutionGroups. + + Add compexType definitions corresponding to ISO639-3, RFC4646. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This group is included as a convenience for schema authors + who need to refer to all the DC elements and element refinements + in the http://purl.org/dc/elements/1.1/ and + http://purl.org/dc/terms namespaces. + N.B. Refinements available via substitution groups. + + + + + + + + + + + + + + This is included as a convenience for schema authors who need to define a root + or container element for all of the DC elements and element refinements. + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/DublinCore/qualified/qualifieddc.xsd b/GeneratedSchemaLibraries/DublinCore/qualified/qualifieddc.xsd new file mode 100644 index 00000000..e9603e4c --- /dev/null +++ b/GeneratedSchemaLibraries/DublinCore/qualified/qualifieddc.xsd @@ -0,0 +1,40 @@ + + + + + + Qualified DC container XML Schema + + Created 2008-02-11 + + Created by + + Tim Cole (t-cole3@uiuc.edu) + Tom Habing (thabing@uiuc.edu) + Jane Hunter (jane@dstc.edu.au) + Pete Johnston (p.johnston@ukoln.ac.uk), + Carl Lagoze (lagoze@cs.cornell.edu) + + This schema declares a container element for a Qualified DC application. + + The declaration of the qualifieddc element uses the dcterms:elementOrRefinementContainer + complexType. + + Note that this schema does not define a target namespace. The expectation is that + the qualifieddc element is assigned to a namespace by an application schema + which includes this schema. + + + + + + + + + + \ No newline at end of file diff --git a/GeneratedSchemaLibraries/DublinCore/qualified/qualifieddc.xsd.config b/GeneratedSchemaLibraries/DublinCore/qualified/qualifieddc.xsd.config new file mode 100644 index 00000000..25ab3156 --- /dev/null +++ b/GeneratedSchemaLibraries/DublinCore/qualified/qualifieddc.xsd.config @@ -0,0 +1,23 @@ + + + + false + false + false + + + + + + + + + + + + false + + + + + \ No newline at end of file diff --git a/GeneratedSchemaLibraries/DublinCore/qualified/qualifieddc.xsd.cs b/GeneratedSchemaLibraries/DublinCore/qualified/qualifieddc.xsd.cs new file mode 100644 index 00000000..43076919 --- /dev/null +++ b/GeneratedSchemaLibraries/DublinCore/qualified/qualifieddc.xsd.cs @@ -0,0 +1,13897 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace W3C.XmlNs3 { + using System; + using System.Collections; + using System.Collections.Generic; + using System.ComponentModel; + using System.IO; + using System.Linq; + using System.Diagnostics; + using System.Xml; + using System.Xml.Schema; + using System.Xml.Linq; + using Xml.Schema.Linq; + using purl.org.dc.qualifiedContainer; + + + public sealed class lang { + + private lang() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.UnionSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType), null, new Xml.Schema.Linq.SimpleTypeValidator[] { + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Language), null), + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + ""}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve))}); + } +} +namespace purl.org.dc.termsQualified { + using System; + using System.Collections; + using System.Collections.Generic; + using System.ComponentModel; + using System.IO; + using System.Linq; + using System.Diagnostics; + using System.Xml; + using System.Xml.Schema; + using System.Xml.Linq; + using Xml.Schema.Linq; + using purl.org.dc.qualifiedContainer; + + + public partial class LCSH : global::purl.org.dc.elementsQualified.SimpleLiteral, IXMetaData { + + public static explicit operator LCSH(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public LCSH() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); + + public virtual string TypedValue { + get { + XElement x = this.Untyped; + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetValueWithValidation(value, "TypedValue", LCSHLocalType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("LCSH", "http://purl.org/dc/terms/"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + private class LCSHLocalType { + + private LCSHLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + } + + public partial class MESH : global::purl.org.dc.elementsQualified.SimpleLiteral, IXMetaData { + + public static explicit operator MESH(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public MESH() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); + + public virtual string TypedValue { + get { + XElement x = this.Untyped; + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetValueWithValidation(value, "TypedValue", MESHLocalType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("MESH", "http://purl.org/dc/terms/"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + private class MESHLocalType { + + private MESHLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + } + + public partial class DDC : global::purl.org.dc.elementsQualified.SimpleLiteral, IXMetaData { + + public static explicit operator DDC(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public DDC() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); + + public virtual string TypedValue { + get { + XElement x = this.Untyped; + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetValueWithValidation(value, "TypedValue", DDCLocalType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("DDC", "http://purl.org/dc/terms/"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + private class DDCLocalType { + + private DDCLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + } + + public partial class LCC : global::purl.org.dc.elementsQualified.SimpleLiteral, IXMetaData { + + public static explicit operator LCC(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public LCC() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); + + public virtual string TypedValue { + get { + XElement x = this.Untyped; + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetValueWithValidation(value, "TypedValue", LCCLocalType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("LCC", "http://purl.org/dc/terms/"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + private class LCCLocalType { + + private LCCLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + } + + public partial class UDC : global::purl.org.dc.elementsQualified.SimpleLiteral, IXMetaData { + + public static explicit operator UDC(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public UDC() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); + + public virtual string TypedValue { + get { + XElement x = this.Untyped; + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetValueWithValidation(value, "TypedValue", UDCLocalType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("UDC", "http://purl.org/dc/terms/"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + private class UDCLocalType { + + private UDCLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + } + + public partial class Period : global::purl.org.dc.elementsQualified.SimpleLiteral, IXMetaData { + + public static explicit operator Period(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public Period() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); + + public virtual string TypedValue { + get { + XElement x = this.Untyped; + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetValueWithValidation(value, "TypedValue", PeriodLocalType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Period", "http://purl.org/dc/terms/"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + private class PeriodLocalType { + + private PeriodLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + } + + public partial class W3CDTF : global::purl.org.dc.elementsQualified.SimpleLiteral, IXMetaData { + + public static explicit operator W3CDTF(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public W3CDTF() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); + + public virtual string TypedValue { + get { + XElement x = this.Untyped; + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType).Datatype); + } + set { + this.SetValueWithValidation(value, "TypedValue", W3CDTFLocalType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("W3CDTF", "http://purl.org/dc/terms/"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + private class W3CDTFLocalType { + + private W3CDTFLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.UnionSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType), null, new Xml.Schema.Linq.SimpleTypeValidator[0]); + } + } + + public partial class DCMIType : global::purl.org.dc.elementsQualified.SimpleLiteral, IXMetaData { + + public static explicit operator DCMIType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public DCMIType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); + + public virtual string TypedValue { + get { + XElement x = this.Untyped; + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType).Datatype); + } + set { + this.SetValueWithValidation(value, "TypedValue", DCMITypeLocalType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("DCMIType", "http://purl.org/dc/terms/"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + private class DCMITypeLocalType { + + private DCMITypeLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.UnionSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType), null, new Xml.Schema.Linq.SimpleTypeValidator[0]); + } + } + + public partial class IMT : global::purl.org.dc.elementsQualified.SimpleLiteral, IXMetaData { + + public static explicit operator IMT(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public IMT() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); + + public virtual string TypedValue { + get { + XElement x = this.Untyped; + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetValueWithValidation(value, "TypedValue", IMTLocalType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("IMT", "http://purl.org/dc/terms/"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + private class IMTLocalType { + + private IMTLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + } + + public partial class URI : global::purl.org.dc.elementsQualified.SimpleLiteral, IXMetaData { + + public static explicit operator URI(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public URI() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); + + public virtual System.Uri TypedValue { + get { + XElement x = this.Untyped; + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetValueWithValidation(value, "TypedValue", URILocalType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("URI", "http://purl.org/dc/terms/"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + private class URILocalType { + + private URILocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri), null); + } + } + + public partial class ISO6392 : global::purl.org.dc.elementsQualified.SimpleLiteral, IXMetaData { + + public static explicit operator ISO6392(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public ISO6392() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); + + public virtual string TypedValue { + get { + XElement x = this.Untyped; + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetValueWithValidation(value, "TypedValue", ISO6392LocalType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ISO639-2", "http://purl.org/dc/terms/"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + private class ISO6392LocalType { + + private ISO6392LocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + } + + public partial class ISO6393 : global::purl.org.dc.elementsQualified.SimpleLiteral, IXMetaData { + + public static explicit operator ISO6393(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public ISO6393() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); + + public virtual string TypedValue { + get { + XElement x = this.Untyped; + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetValueWithValidation(value, "TypedValue", ISO6393LocalType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ISO639-3", "http://purl.org/dc/terms/"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + private class ISO6393LocalType { + + private ISO6393LocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + } + + public partial class RFC1766 : global::purl.org.dc.elementsQualified.SimpleLiteral, IXMetaData { + + public static explicit operator RFC1766(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public RFC1766() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); + + public virtual string TypedValue { + get { + XElement x = this.Untyped; + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Language).Datatype); + } + set { + this.SetValueWithValidation(value, "TypedValue", RFC1766LocalType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("RFC1766", "http://purl.org/dc/terms/"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + private class RFC1766LocalType { + + private RFC1766LocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Language), null); + } + } + + public partial class RFC3066 : global::purl.org.dc.elementsQualified.SimpleLiteral, IXMetaData { + + public static explicit operator RFC3066(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public RFC3066() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); + + public virtual string TypedValue { + get { + XElement x = this.Untyped; + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Language).Datatype); + } + set { + this.SetValueWithValidation(value, "TypedValue", RFC3066LocalType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("RFC3066", "http://purl.org/dc/terms/"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + private class RFC3066LocalType { + + private RFC3066LocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Language), null); + } + } + + public partial class RFC4646 : global::purl.org.dc.elementsQualified.SimpleLiteral, IXMetaData { + + public static explicit operator RFC4646(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public RFC4646() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); + + public virtual string TypedValue { + get { + XElement x = this.Untyped; + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Language).Datatype); + } + set { + this.SetValueWithValidation(value, "TypedValue", RFC4646LocalType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("RFC4646", "http://purl.org/dc/terms/"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + private class RFC4646LocalType { + + private RFC4646LocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Language), null); + } + } + + public partial class Point : global::purl.org.dc.elementsQualified.SimpleLiteral, IXMetaData { + + public static explicit operator Point(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public Point() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); + + public virtual string TypedValue { + get { + XElement x = this.Untyped; + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetValueWithValidation(value, "TypedValue", PointLocalType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Point", "http://purl.org/dc/terms/"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + private class PointLocalType { + + private PointLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + } + + public partial class ISO3166 : global::purl.org.dc.elementsQualified.SimpleLiteral, IXMetaData { + + public static explicit operator ISO3166(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public ISO3166() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); + + public virtual string TypedValue { + get { + XElement x = this.Untyped; + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetValueWithValidation(value, "TypedValue", ISO3166LocalType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ISO3166", "http://purl.org/dc/terms/"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + private class ISO3166LocalType { + + private ISO3166LocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + } + + public partial class Box : global::purl.org.dc.elementsQualified.SimpleLiteral, IXMetaData { + + public static explicit operator Box(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public Box() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); + + public virtual string TypedValue { + get { + XElement x = this.Untyped; + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetValueWithValidation(value, "TypedValue", BoxLocalType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Box", "http://purl.org/dc/terms/"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + private class BoxLocalType { + + private BoxLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + } + + public partial class TGN : global::purl.org.dc.elementsQualified.SimpleLiteral, IXMetaData { + + public static explicit operator TGN(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public TGN() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); + + public virtual string TypedValue { + get { + XElement x = this.Untyped; + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetValueWithValidation(value, "TypedValue", TGNLocalType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("TGN", "http://purl.org/dc/terms/"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + private class TGNLocalType { + + private TGNLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + } + + /// + /// + /// + /// This is included as a convenience for schema authors who need to define a root + /// or container element for all of the DC elements and element refinements. + /// + /// + /// + /// Regular expression: (((any)*)) + /// + /// + public partial class elementOrRefinementContainer : XTypedElement, IXMetaData { + + public static explicit operator elementOrRefinementContainer(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// + /// This is included as a convenience for schema authors who need to define a root + /// or container element for all of the DC elements and element refinements. + /// + /// + /// + /// Regular expression: (((any)*)) + /// + /// + public elementOrRefinementContainer() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName anyXName = System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedSubstitutedList anyField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Substitution members: any, title, creator, subject, description, publisher, contributor, date, type, format, identifier, source, language, relation, coverage, rights, alternative, tableOfContents, abstract, created, valid, available, issued, modified, dateAccepted, dateCopyrighted, dateSubmitted, extent, medium, isVersionOf, hasVersion, isReplacedBy, replaces, isRequiredBy, requires, isPartOf, hasPart, isReferencedBy, references, isFormatOf, hasFormat, conformsTo, spatial, temporal, audience, accrualMethod, accrualPeriodicity, accrualPolicy, instructionalMethod, provenance, rightsHolder, mediator, educationLevel, accessRights, license, bibliographicCitation, title, creator, subject, description, publisher, contributor, date, type, format, identifier, source, language, relation, coverage, rights + /// + /// + /// Regular expression: (((any)*)) + /// + /// + public virtual IList any { + get { + if ((this.anyField == null)) { + this.anyField = new XTypedSubstitutedList(this, LinqToXsdTypeManager.Instance, System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("title", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("description", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("date", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("type", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("format", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("source", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("language", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("alternative", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("tableOfContents", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("abstract", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("created", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("valid", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("available", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("issued", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("modified", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("dateAccepted", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("dateCopyrighted", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("dateSubmitted", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("extent", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("medium", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isVersionOf", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("hasVersion", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isReplacedBy", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("replaces", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isRequiredBy", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("requires", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isPartOf", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("hasPart", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isReferencedBy", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("references", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isFormatOf", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("hasFormat", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("conformsTo", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("spatial", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("temporal", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("audience", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("accrualMethod", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("accrualPeriodicity", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("accrualPolicy", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("instructionalMethod", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("provenance", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("rightsHolder", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("mediator", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("educationLevel", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("accessRights", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("license", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("bibliographicCitation", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("title", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("description", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("date", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("type", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("format", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("source", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("language", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/elements/1.1/")); + } + return this.anyField; + } + set { + if ((value == null)) { + this.anyField = null; + } + else { + if ((this.anyField == null)) { + this.anyField = XTypedSubstitutedList.Initialize(this, LinqToXsdTypeManager.Instance, value, System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("title", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("description", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("date", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("type", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("format", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("source", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("language", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("alternative", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("tableOfContents", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("abstract", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("created", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("valid", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("available", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("issued", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("modified", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("dateAccepted", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("dateCopyrighted", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("dateSubmitted", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("extent", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("medium", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isVersionOf", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("hasVersion", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isReplacedBy", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("replaces", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isRequiredBy", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("requires", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isPartOf", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("hasPart", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isReferencedBy", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("references", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isFormatOf", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("hasFormat", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("conformsTo", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("spatial", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("temporal", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("audience", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("accrualMethod", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("accrualPeriodicity", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("accrualPolicy", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("instructionalMethod", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("provenance", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("rightsHolder", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("mediator", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("educationLevel", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("accessRights", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("license", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("bibliographicCitation", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("title", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("description", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("date", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("type", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("format", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("source", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("language", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/elements/1.1/")); + } + else { + XTypedServices.SetList(this.anyField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("elementOrRefinementContainer", "http://purl.org/dc/terms/"); + + static elementOrRefinementContainer() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new SequenceContentModelEntity(new ChoiceContentModelEntity(new SubstitutedContentModelEntity(System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("title", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("description", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("date", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("type", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("format", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("source", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("language", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("alternative", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("tableOfContents", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("abstract", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("created", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("valid", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("available", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("issued", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("modified", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("dateAccepted", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("dateCopyrighted", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("dateSubmitted", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("extent", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("medium", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isVersionOf", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("hasVersion", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isReplacedBy", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("replaces", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isRequiredBy", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("requires", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isPartOf", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("hasPart", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isReferencedBy", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("references", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isFormatOf", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("hasFormat", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("conformsTo", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("spatial", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("temporal", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("audience", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("accrualMethod", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("accrualPeriodicity", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("accrualPolicy", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("instructionalMethod", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("provenance", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("rightsHolder", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("mediator", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("educationLevel", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("accessRights", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("license", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("bibliographicCitation", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("title", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("description", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("date", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("type", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("format", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("source", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("language", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/elements/1.1/"))))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(anyXName, typeof(purl.org.dc.elementsQualified.any)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class title : global::purl.org.dc.elementsQualified.title, IXMetaData { + + public new static title Load(string xmlFile) { + return ((title)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static title Load(System.IO.TextReader xmlFile) { + return ((title)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public new static title Parse(string xml) { + return ((title)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator title(XElement xe) { return (title)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new title(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + protected title(bool setNull) : + base(true) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public title() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + protected virtual void SetSubstitutionMember(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ContentField; + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public title(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("title", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class creator : global::purl.org.dc.elementsQualified.creator, IXMetaData { + + public new static creator Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static creator Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static creator Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator creator(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new creator(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public creator() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public creator(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class subject : global::purl.org.dc.elementsQualified.subject, IXMetaData { + + public new static subject Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static subject Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static subject Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator subject(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new subject(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public subject() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public subject(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class description : global::purl.org.dc.elementsQualified.description, IXMetaData { + + public new static description Load(string xmlFile) { + return ((description)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static description Load(System.IO.TextReader xmlFile) { + return ((description)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public new static description Parse(string xml) { + return ((description)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator description(XElement xe) { return (description)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new description(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + protected description(bool setNull) : + base(true) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public description() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + protected virtual void SetSubstitutionMember(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ContentField; + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public description(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("description", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class publisher : global::purl.org.dc.elementsQualified.publisher, IXMetaData { + + public new static publisher Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static publisher Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static publisher Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator publisher(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new publisher(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public publisher() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public publisher(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class contributor : global::purl.org.dc.elementsQualified.contributor, IXMetaData { + + public new static contributor Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static contributor Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static contributor Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator contributor(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new contributor(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public contributor() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public contributor(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class date : global::purl.org.dc.elementsQualified.date, IXMetaData { + + public new static date Load(string xmlFile) { + return ((date)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static date Load(System.IO.TextReader xmlFile) { + return ((date)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public new static date Parse(string xml) { + return ((date)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator date(XElement xe) { return (date)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new date(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + protected date(bool setNull) : + base(true) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public date() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + protected virtual void SetSubstitutionMember(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ContentField; + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public date(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("date", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class type : global::purl.org.dc.elementsQualified.type, IXMetaData { + + public new static type Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static type Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static type Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator type(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new type(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public type() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public type(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("type", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class format : global::purl.org.dc.elementsQualified.format, IXMetaData { + + public new static format Load(string xmlFile) { + return ((format)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static format Load(System.IO.TextReader xmlFile) { + return ((format)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public new static format Parse(string xml) { + return ((format)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator format(XElement xe) { return (format)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new format(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + protected format(bool setNull) : + base(true) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public format() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + protected virtual void SetSubstitutionMember(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ContentField; + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public format(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("format", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class identifier : global::purl.org.dc.elementsQualified.identifier, IXMetaData { + + public new static identifier Load(string xmlFile) { + return ((identifier)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static identifier Load(System.IO.TextReader xmlFile) { + return ((identifier)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public new static identifier Parse(string xml) { + return ((identifier)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator identifier(XElement xe) { return (identifier)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new identifier(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + protected identifier(bool setNull) : + base(true) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public identifier() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + protected virtual void SetSubstitutionMember(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ContentField; + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public identifier(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class source : global::purl.org.dc.elementsQualified.source, IXMetaData { + + public new static source Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static source Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static source Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator source(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new source(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public source() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public source(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("source", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class language : global::purl.org.dc.elementsQualified.language, IXMetaData { + + public new static language Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static language Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static language Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator language(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new language(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public language() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public language(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("language", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class relation : global::purl.org.dc.elementsQualified.relation, IXMetaData { + + public new static relation Load(string xmlFile) { + return ((relation)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static relation Load(System.IO.TextReader xmlFile) { + return ((relation)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public new static relation Parse(string xml) { + return ((relation)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator relation(XElement xe) { return (relation)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new relation(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + protected relation(bool setNull) : + base(true) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public relation() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + protected virtual void SetSubstitutionMember(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ContentField; + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public relation(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class coverage : global::purl.org.dc.elementsQualified.coverage, IXMetaData { + + public new static coverage Load(string xmlFile) { + return ((coverage)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static coverage Load(System.IO.TextReader xmlFile) { + return ((coverage)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public new static coverage Parse(string xml) { + return ((coverage)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator coverage(XElement xe) { return (coverage)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new coverage(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + protected coverage(bool setNull) : + base(true) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public coverage() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + protected virtual void SetSubstitutionMember(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ContentField; + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public coverage(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class rights : global::purl.org.dc.elementsQualified.rights, IXMetaData { + + public new static rights Load(string xmlFile) { + return ((rights)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static rights Load(System.IO.TextReader xmlFile) { + return ((rights)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public new static rights Parse(string xml) { + return ((rights)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator rights(XElement xe) { return (rights)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new rights(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + protected rights(bool setNull) : + base(true) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public rights() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + protected virtual void SetSubstitutionMember(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ContentField; + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public rights(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class alternative : global::purl.org.dc.termsQualified.title, IXMetaData { + + public new static alternative Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static alternative Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static alternative Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator alternative(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new alternative(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public alternative() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public alternative(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("alternative", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class tableOfContents : global::purl.org.dc.termsQualified.description, IXMetaData { + + public new static tableOfContents Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static tableOfContents Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static tableOfContents Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator tableOfContents(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new tableOfContents(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public tableOfContents() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public tableOfContents(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("tableOfContents", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class @abstract : global::purl.org.dc.termsQualified.description, IXMetaData { + + public new static @abstract Load(string xmlFile) { + return XTypedServices.Load<@abstract, purl.org.dc.elementsQualified.SimpleLiteral>(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static @abstract Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load<@abstract, purl.org.dc.elementsQualified.SimpleLiteral>(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static @abstract Parse(string xml) { + return XTypedServices.Parse<@abstract, purl.org.dc.elementsQualified.SimpleLiteral>(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator @abstract(XElement xe) { return XTypedServices.ToXTypedElement<@abstract, purl.org.dc.elementsQualified.SimpleLiteral>(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new @abstract(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public @abstract() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public @abstract(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("abstract", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class created : global::purl.org.dc.termsQualified.date, IXMetaData { + + public new static created Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static created Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static created Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator created(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new created(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public created() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public created(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("created", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class valid : global::purl.org.dc.termsQualified.date, IXMetaData { + + public new static valid Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static valid Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static valid Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator valid(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new valid(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public valid() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public valid(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("valid", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class available : global::purl.org.dc.termsQualified.date, IXMetaData { + + public new static available Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static available Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static available Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator available(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new available(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public available() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public available(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("available", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class issued : global::purl.org.dc.termsQualified.date, IXMetaData { + + public new static issued Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static issued Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static issued Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator issued(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new issued(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public issued() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public issued(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("issued", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class modified : global::purl.org.dc.termsQualified.date, IXMetaData { + + public new static modified Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static modified Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static modified Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator modified(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new modified(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public modified() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public modified(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("modified", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class dateAccepted : global::purl.org.dc.termsQualified.date, IXMetaData { + + public new static dateAccepted Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static dateAccepted Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static dateAccepted Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator dateAccepted(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new dateAccepted(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public dateAccepted() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public dateAccepted(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("dateAccepted", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class dateCopyrighted : global::purl.org.dc.termsQualified.date, IXMetaData { + + public new static dateCopyrighted Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static dateCopyrighted Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static dateCopyrighted Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator dateCopyrighted(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new dateCopyrighted(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public dateCopyrighted() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public dateCopyrighted(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("dateCopyrighted", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class dateSubmitted : global::purl.org.dc.termsQualified.date, IXMetaData { + + public new static dateSubmitted Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static dateSubmitted Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static dateSubmitted Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator dateSubmitted(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new dateSubmitted(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public dateSubmitted() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public dateSubmitted(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("dateSubmitted", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class extent : global::purl.org.dc.termsQualified.format, IXMetaData { + + public new static extent Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static extent Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static extent Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator extent(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new extent(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public extent() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public extent(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("extent", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class medium : global::purl.org.dc.termsQualified.format, IXMetaData { + + public new static medium Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static medium Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static medium Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator medium(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new medium(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public medium() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public medium(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("medium", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class isVersionOf : global::purl.org.dc.termsQualified.relation, IXMetaData { + + public new static isVersionOf Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static isVersionOf Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static isVersionOf Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator isVersionOf(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new isVersionOf(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public isVersionOf() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public isVersionOf(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("isVersionOf", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class hasVersion : global::purl.org.dc.termsQualified.relation, IXMetaData { + + public new static hasVersion Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static hasVersion Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static hasVersion Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator hasVersion(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new hasVersion(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public hasVersion() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public hasVersion(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("hasVersion", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class isReplacedBy : global::purl.org.dc.termsQualified.relation, IXMetaData { + + public new static isReplacedBy Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static isReplacedBy Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static isReplacedBy Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator isReplacedBy(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new isReplacedBy(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public isReplacedBy() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public isReplacedBy(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("isReplacedBy", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class replaces : global::purl.org.dc.termsQualified.relation, IXMetaData { + + public new static replaces Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static replaces Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static replaces Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator replaces(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new replaces(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public replaces() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public replaces(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("replaces", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class isRequiredBy : global::purl.org.dc.termsQualified.relation, IXMetaData { + + public new static isRequiredBy Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static isRequiredBy Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static isRequiredBy Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator isRequiredBy(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new isRequiredBy(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public isRequiredBy() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public isRequiredBy(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("isRequiredBy", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class requires : global::purl.org.dc.termsQualified.relation, IXMetaData { + + public new static requires Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static requires Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static requires Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator requires(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new requires(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public requires() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public requires(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("requires", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class isPartOf : global::purl.org.dc.termsQualified.relation, IXMetaData { + + public new static isPartOf Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static isPartOf Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static isPartOf Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator isPartOf(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new isPartOf(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public isPartOf() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public isPartOf(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("isPartOf", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class hasPart : global::purl.org.dc.termsQualified.relation, IXMetaData { + + public new static hasPart Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static hasPart Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static hasPart Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator hasPart(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new hasPart(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public hasPart() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public hasPart(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("hasPart", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class isReferencedBy : global::purl.org.dc.termsQualified.relation, IXMetaData { + + public new static isReferencedBy Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static isReferencedBy Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static isReferencedBy Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator isReferencedBy(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new isReferencedBy(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public isReferencedBy() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public isReferencedBy(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("isReferencedBy", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class references : global::purl.org.dc.termsQualified.relation, IXMetaData { + + public new static references Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static references Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static references Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator references(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new references(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public references() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public references(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("references", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class isFormatOf : global::purl.org.dc.termsQualified.relation, IXMetaData { + + public new static isFormatOf Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static isFormatOf Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static isFormatOf Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator isFormatOf(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new isFormatOf(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public isFormatOf() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public isFormatOf(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("isFormatOf", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class hasFormat : global::purl.org.dc.termsQualified.relation, IXMetaData { + + public new static hasFormat Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static hasFormat Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static hasFormat Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator hasFormat(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new hasFormat(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public hasFormat() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public hasFormat(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("hasFormat", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class conformsTo : global::purl.org.dc.termsQualified.relation, IXMetaData { + + public new static conformsTo Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static conformsTo Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static conformsTo Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator conformsTo(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new conformsTo(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public conformsTo() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public conformsTo(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("conformsTo", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class spatial : global::purl.org.dc.termsQualified.coverage, IXMetaData { + + public new static spatial Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static spatial Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static spatial Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator spatial(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new spatial(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public spatial() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public spatial(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("spatial", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class temporal : global::purl.org.dc.termsQualified.coverage, IXMetaData { + + public new static temporal Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static temporal Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static temporal Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator temporal(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new temporal(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public temporal() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public temporal(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("temporal", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class audience : global::purl.org.dc.elementsQualified.any, IXMetaData { + + public new static audience Load(string xmlFile) { + return ((audience)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static audience Load(System.IO.TextReader xmlFile) { + return ((audience)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public new static audience Parse(string xml) { + return ((audience)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator audience(XElement xe) { return (audience)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new audience(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + protected audience(bool setNull) : + base(true) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public audience() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + protected virtual void SetSubstitutionMember(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ContentField; + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public audience(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("audience", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class accrualMethod : global::purl.org.dc.elementsQualified.any, IXMetaData { + + public new static accrualMethod Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static accrualMethod Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static accrualMethod Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator accrualMethod(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new accrualMethod(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public accrualMethod() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public accrualMethod(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("accrualMethod", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class accrualPeriodicity : global::purl.org.dc.elementsQualified.any, IXMetaData { + + public new static accrualPeriodicity Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static accrualPeriodicity Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static accrualPeriodicity Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator accrualPeriodicity(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new accrualPeriodicity(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public accrualPeriodicity() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public accrualPeriodicity(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("accrualPeriodicity", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class accrualPolicy : global::purl.org.dc.elementsQualified.any, IXMetaData { + + public new static accrualPolicy Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static accrualPolicy Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static accrualPolicy Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator accrualPolicy(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new accrualPolicy(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public accrualPolicy() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public accrualPolicy(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("accrualPolicy", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class instructionalMethod : global::purl.org.dc.elementsQualified.any, IXMetaData { + + public new static instructionalMethod Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static instructionalMethod Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static instructionalMethod Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator instructionalMethod(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new instructionalMethod(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public instructionalMethod() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public instructionalMethod(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("instructionalMethod", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class provenance : global::purl.org.dc.elementsQualified.any, IXMetaData { + + public new static provenance Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static provenance Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static provenance Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator provenance(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new provenance(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public provenance() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public provenance(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("provenance", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class rightsHolder : global::purl.org.dc.elementsQualified.any, IXMetaData { + + public new static rightsHolder Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static rightsHolder Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static rightsHolder Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator rightsHolder(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new rightsHolder(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public rightsHolder() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public rightsHolder(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("rightsHolder", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class mediator : global::purl.org.dc.termsQualified.audience, IXMetaData { + + public new static mediator Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static mediator Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static mediator Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator mediator(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new mediator(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public mediator() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public mediator(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("mediator", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class educationLevel : global::purl.org.dc.termsQualified.audience, IXMetaData { + + public new static educationLevel Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static educationLevel Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static educationLevel Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator educationLevel(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new educationLevel(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public educationLevel() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public educationLevel(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("educationLevel", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class accessRights : global::purl.org.dc.termsQualified.rights, IXMetaData { + + public new static accessRights Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static accessRights Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static accessRights Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator accessRights(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new accessRights(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public accessRights() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public accessRights(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("accessRights", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class license : global::purl.org.dc.termsQualified.rights, IXMetaData { + + public new static license Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static license Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static license Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator license(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new license(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public license() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public license(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("license", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class bibliographicCitation : global::purl.org.dc.termsQualified.identifier, IXMetaData { + + public new static bibliographicCitation Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static bibliographicCitation Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static bibliographicCitation Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator bibliographicCitation(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new bibliographicCitation(((purl.org.dc.elementsQualified.SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elementsQualified.SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public bibliographicCitation() : + base(true) { + SetInnerType(new purl.org.dc.elementsQualified.SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual purl.org.dc.elementsQualified.SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elementsQualified.SimpleLiteral ContentField) { + this.ContentField = ((purl.org.dc.elementsQualified.SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public bibliographicCitation(purl.org.dc.elementsQualified.SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("bibliographicCitation", "http://purl.org/dc/terms/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class XRootNamespace { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRootNamespace() { + } + + public static XRootNamespace Load(string xmlFile) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(string xmlFile, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(XmlReader xmlReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRootNamespace(title root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public title title { get {return rootObject as title; } } + + public XRootNamespace(creator root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public creator creator { get {return rootObject as creator; } } + + public XRootNamespace(subject root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public subject subject { get {return rootObject as subject; } } + + public XRootNamespace(description root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public description description { get {return rootObject as description; } } + + public XRootNamespace(publisher root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public publisher publisher { get {return rootObject as publisher; } } + + public XRootNamespace(contributor root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public contributor contributor { get {return rootObject as contributor; } } + + public XRootNamespace(date root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public date date { get {return rootObject as date; } } + + public XRootNamespace(type root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public type type { get {return rootObject as type; } } + + public XRootNamespace(format root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public format format { get {return rootObject as format; } } + + public XRootNamespace(identifier root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public identifier identifier { get {return rootObject as identifier; } } + + public XRootNamespace(source root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public source source { get {return rootObject as source; } } + + public XRootNamespace(language root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public language language { get {return rootObject as language; } } + + public XRootNamespace(relation root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public relation relation { get {return rootObject as relation; } } + + public XRootNamespace(coverage root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public coverage coverage { get {return rootObject as coverage; } } + + public XRootNamespace(rights root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public rights rights { get {return rootObject as rights; } } + + public XRootNamespace(alternative root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public alternative alternative { get {return rootObject as alternative; } } + + public XRootNamespace(tableOfContents root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public tableOfContents tableOfContents { get {return rootObject as tableOfContents; } } + + public XRootNamespace(@abstract root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public @abstract @abstract { get {return rootObject as @abstract; } } + + public XRootNamespace(created root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public created created { get {return rootObject as created; } } + + public XRootNamespace(valid root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public valid valid { get {return rootObject as valid; } } + + public XRootNamespace(available root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public available available { get {return rootObject as available; } } + + public XRootNamespace(issued root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public issued issued { get {return rootObject as issued; } } + + public XRootNamespace(modified root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public modified modified { get {return rootObject as modified; } } + + public XRootNamespace(dateAccepted root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public dateAccepted dateAccepted { get {return rootObject as dateAccepted; } } + + public XRootNamespace(dateCopyrighted root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public dateCopyrighted dateCopyrighted { get {return rootObject as dateCopyrighted; } } + + public XRootNamespace(dateSubmitted root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public dateSubmitted dateSubmitted { get {return rootObject as dateSubmitted; } } + + public XRootNamespace(extent root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public extent extent { get {return rootObject as extent; } } + + public XRootNamespace(medium root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public medium medium { get {return rootObject as medium; } } + + public XRootNamespace(isVersionOf root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public isVersionOf isVersionOf { get {return rootObject as isVersionOf; } } + + public XRootNamespace(hasVersion root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public hasVersion hasVersion { get {return rootObject as hasVersion; } } + + public XRootNamespace(isReplacedBy root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public isReplacedBy isReplacedBy { get {return rootObject as isReplacedBy; } } + + public XRootNamespace(replaces root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public replaces replaces { get {return rootObject as replaces; } } + + public XRootNamespace(isRequiredBy root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public isRequiredBy isRequiredBy { get {return rootObject as isRequiredBy; } } + + public XRootNamespace(requires root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public requires requires { get {return rootObject as requires; } } + + public XRootNamespace(isPartOf root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public isPartOf isPartOf { get {return rootObject as isPartOf; } } + + public XRootNamespace(hasPart root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public hasPart hasPart { get {return rootObject as hasPart; } } + + public XRootNamespace(isReferencedBy root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public isReferencedBy isReferencedBy { get {return rootObject as isReferencedBy; } } + + public XRootNamespace(references root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public references references { get {return rootObject as references; } } + + public XRootNamespace(isFormatOf root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public isFormatOf isFormatOf { get {return rootObject as isFormatOf; } } + + public XRootNamespace(hasFormat root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public hasFormat hasFormat { get {return rootObject as hasFormat; } } + + public XRootNamespace(conformsTo root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public conformsTo conformsTo { get {return rootObject as conformsTo; } } + + public XRootNamespace(spatial root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public spatial spatial { get {return rootObject as spatial; } } + + public XRootNamespace(temporal root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public temporal temporal { get {return rootObject as temporal; } } + + public XRootNamespace(audience root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public audience audience { get {return rootObject as audience; } } + + public XRootNamespace(accrualMethod root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public accrualMethod accrualMethod { get {return rootObject as accrualMethod; } } + + public XRootNamespace(accrualPeriodicity root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public accrualPeriodicity accrualPeriodicity { get {return rootObject as accrualPeriodicity; } } + + public XRootNamespace(accrualPolicy root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public accrualPolicy accrualPolicy { get {return rootObject as accrualPolicy; } } + + public XRootNamespace(instructionalMethod root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public instructionalMethod instructionalMethod { get {return rootObject as instructionalMethod; } } + + public XRootNamespace(provenance root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public provenance provenance { get {return rootObject as provenance; } } + + public XRootNamespace(rightsHolder root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public rightsHolder rightsHolder { get {return rootObject as rightsHolder; } } + + public XRootNamespace(mediator root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public mediator mediator { get {return rootObject as mediator; } } + + public XRootNamespace(educationLevel root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public educationLevel educationLevel { get {return rootObject as educationLevel; } } + + public XRootNamespace(accessRights root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public accessRights accessRights { get {return rootObject as accessRights; } } + + public XRootNamespace(license root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public license license { get {return rootObject as license; } } + + public XRootNamespace(bibliographicCitation root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public bibliographicCitation bibliographicCitation { get {return rootObject as bibliographicCitation; } } + } +} +namespace purl.org.dc.elementsQualified { + using System; + using System.Collections; + using System.Collections.Generic; + using System.ComponentModel; + using System.IO; + using System.Linq; + using System.Diagnostics; + using System.Xml; + using System.Xml.Schema; + using System.Xml.Linq; + using Xml.Schema.Linq; + using purl.org.dc.qualifiedContainer; + + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class SimpleLiteral : XTypedElement, IXMetaData { + + public static explicit operator SimpleLiteral(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public SimpleLiteral() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::W3C.XmlNs3.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::W3C.XmlNs3.lang.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SimpleLiteral", "http://purl.org/dc/elements/1.1/"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This complexType is included as a convenience for schema authors who need to define a root + /// or container element for all of the DC elements. + /// + /// + /// + /// Regular expression: (((any)*)) + /// + /// + public partial class elementContainer : XTypedElement, IXMetaData { + + public static explicit operator elementContainer(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// + /// This complexType is included as a convenience for schema authors who need to define a root + /// or container element for all of the DC elements. + /// + /// + /// + /// Regular expression: (((any)*)) + /// + /// + public elementContainer() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName anyXName = System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedSubstitutedList anyField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Substitution members: any, title, creator, subject, description, publisher, contributor, date, type, format, identifier, source, language, relation, coverage, rights, alternative, tableOfContents, abstract, created, valid, available, issued, modified, dateAccepted, dateCopyrighted, dateSubmitted, extent, medium, isVersionOf, hasVersion, isReplacedBy, replaces, isRequiredBy, requires, isPartOf, hasPart, isReferencedBy, references, isFormatOf, hasFormat, conformsTo, spatial, temporal, audience, accrualMethod, accrualPeriodicity, accrualPolicy, instructionalMethod, provenance, rightsHolder, mediator, educationLevel, accessRights, license, bibliographicCitation, title, creator, subject, description, publisher, contributor, date, type, format, identifier, source, language, relation, coverage, rights + /// + /// + /// Regular expression: (((any)*)) + /// + /// + public virtual IList any { + get { + if ((this.anyField == null)) { + this.anyField = new XTypedSubstitutedList(this, LinqToXsdTypeManager.Instance, System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("title", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("description", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("date", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("type", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("format", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("source", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("language", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("alternative", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("tableOfContents", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("abstract", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("created", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("valid", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("available", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("issued", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("modified", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("dateAccepted", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("dateCopyrighted", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("dateSubmitted", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("extent", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("medium", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isVersionOf", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("hasVersion", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isReplacedBy", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("replaces", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isRequiredBy", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("requires", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isPartOf", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("hasPart", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isReferencedBy", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("references", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isFormatOf", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("hasFormat", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("conformsTo", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("spatial", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("temporal", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("audience", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("accrualMethod", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("accrualPeriodicity", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("accrualPolicy", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("instructionalMethod", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("provenance", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("rightsHolder", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("mediator", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("educationLevel", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("accessRights", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("license", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("bibliographicCitation", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("title", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("description", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("date", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("type", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("format", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("source", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("language", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/elements/1.1/")); + } + return this.anyField; + } + set { + if ((value == null)) { + this.anyField = null; + } + else { + if ((this.anyField == null)) { + this.anyField = XTypedSubstitutedList.Initialize(this, LinqToXsdTypeManager.Instance, value, System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("title", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("description", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("date", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("type", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("format", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("source", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("language", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("alternative", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("tableOfContents", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("abstract", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("created", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("valid", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("available", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("issued", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("modified", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("dateAccepted", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("dateCopyrighted", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("dateSubmitted", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("extent", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("medium", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isVersionOf", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("hasVersion", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isReplacedBy", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("replaces", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isRequiredBy", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("requires", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isPartOf", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("hasPart", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isReferencedBy", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("references", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isFormatOf", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("hasFormat", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("conformsTo", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("spatial", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("temporal", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("audience", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("accrualMethod", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("accrualPeriodicity", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("accrualPolicy", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("instructionalMethod", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("provenance", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("rightsHolder", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("mediator", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("educationLevel", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("accessRights", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("license", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("bibliographicCitation", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("title", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("description", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("date", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("type", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("format", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("source", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("language", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/elements/1.1/")); + } + else { + XTypedServices.SetList(this.anyField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("elementContainer", "http://purl.org/dc/elements/1.1/"); + + static elementContainer() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new SequenceContentModelEntity(new ChoiceContentModelEntity(new SubstitutedContentModelEntity(System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("title", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("description", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("date", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("type", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("format", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("source", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("language", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("alternative", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("tableOfContents", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("abstract", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("created", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("valid", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("available", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("issued", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("modified", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("dateAccepted", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("dateCopyrighted", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("dateSubmitted", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("extent", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("medium", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isVersionOf", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("hasVersion", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isReplacedBy", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("replaces", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isRequiredBy", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("requires", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isPartOf", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("hasPart", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isReferencedBy", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("references", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("isFormatOf", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("hasFormat", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("conformsTo", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("spatial", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("temporal", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("audience", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("accrualMethod", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("accrualPeriodicity", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("accrualPolicy", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("instructionalMethod", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("provenance", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("rightsHolder", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("mediator", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("educationLevel", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("accessRights", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("license", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("bibliographicCitation", "http://purl.org/dc/terms/"), System.Xml.Linq.XName.Get("title", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("description", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("date", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("type", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("format", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("source", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("language", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/elements/1.1/"))))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(anyXName, typeof(any)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public abstract partial class any : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static any Load(string xmlFile) { + return ((any)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static any Load(System.IO.TextReader xmlFile) { + return ((any)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static any Parse(string xml) { + return ((any)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator any(XElement xe) { return (any)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + protected any(bool setNull) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public any() { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + protected virtual void SetSubstitutionMember(SimpleLiteral ContentField) { + this.ContentField = ContentField; + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public any(SimpleLiteral content) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + return this.ContentField.lang; + } + set { + this.ContentField.lang = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class title : global::purl.org.dc.elementsQualified.any, IXMetaData { + + public new static title Load(string xmlFile) { + return ((title)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static title Load(System.IO.TextReader xmlFile) { + return ((title)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public new static title Parse(string xml) { + return ((title)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator title(XElement xe) { return (title)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new title(((SimpleLiteral)(this.Content.Clone()))); + } + + protected title(bool setNull) : + base(true) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public title() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + protected virtual void SetSubstitutionMember(SimpleLiteral ContentField) { + this.ContentField = ContentField; + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public title(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("title", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class creator : global::purl.org.dc.elementsQualified.any, IXMetaData { + + public new static creator Load(string xmlFile) { + return ((creator)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static creator Load(System.IO.TextReader xmlFile) { + return ((creator)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public new static creator Parse(string xml) { + return ((creator)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator creator(XElement xe) { return (creator)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new creator(((SimpleLiteral)(this.Content.Clone()))); + } + + protected creator(bool setNull) : + base(true) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public creator() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + protected virtual void SetSubstitutionMember(SimpleLiteral ContentField) { + this.ContentField = ContentField; + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public creator(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class subject : global::purl.org.dc.elementsQualified.any, IXMetaData { + + public new static subject Load(string xmlFile) { + return ((subject)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static subject Load(System.IO.TextReader xmlFile) { + return ((subject)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public new static subject Parse(string xml) { + return ((subject)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator subject(XElement xe) { return (subject)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new subject(((SimpleLiteral)(this.Content.Clone()))); + } + + protected subject(bool setNull) : + base(true) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public subject() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + protected virtual void SetSubstitutionMember(SimpleLiteral ContentField) { + this.ContentField = ContentField; + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public subject(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class description : global::purl.org.dc.elementsQualified.any, IXMetaData { + + public new static description Load(string xmlFile) { + return ((description)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static description Load(System.IO.TextReader xmlFile) { + return ((description)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public new static description Parse(string xml) { + return ((description)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator description(XElement xe) { return (description)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new description(((SimpleLiteral)(this.Content.Clone()))); + } + + protected description(bool setNull) : + base(true) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public description() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + protected virtual void SetSubstitutionMember(SimpleLiteral ContentField) { + this.ContentField = ContentField; + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public description(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("description", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class publisher : global::purl.org.dc.elementsQualified.any, IXMetaData { + + public new static publisher Load(string xmlFile) { + return ((publisher)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static publisher Load(System.IO.TextReader xmlFile) { + return ((publisher)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public new static publisher Parse(string xml) { + return ((publisher)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator publisher(XElement xe) { return (publisher)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new publisher(((SimpleLiteral)(this.Content.Clone()))); + } + + protected publisher(bool setNull) : + base(true) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public publisher() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + protected virtual void SetSubstitutionMember(SimpleLiteral ContentField) { + this.ContentField = ContentField; + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public publisher(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class contributor : global::purl.org.dc.elementsQualified.any, IXMetaData { + + public new static contributor Load(string xmlFile) { + return ((contributor)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static contributor Load(System.IO.TextReader xmlFile) { + return ((contributor)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public new static contributor Parse(string xml) { + return ((contributor)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator contributor(XElement xe) { return (contributor)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new contributor(((SimpleLiteral)(this.Content.Clone()))); + } + + protected contributor(bool setNull) : + base(true) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public contributor() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + protected virtual void SetSubstitutionMember(SimpleLiteral ContentField) { + this.ContentField = ContentField; + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public contributor(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class date : global::purl.org.dc.elementsQualified.any, IXMetaData { + + public new static date Load(string xmlFile) { + return ((date)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static date Load(System.IO.TextReader xmlFile) { + return ((date)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public new static date Parse(string xml) { + return ((date)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator date(XElement xe) { return (date)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new date(((SimpleLiteral)(this.Content.Clone()))); + } + + protected date(bool setNull) : + base(true) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public date() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + protected virtual void SetSubstitutionMember(SimpleLiteral ContentField) { + this.ContentField = ContentField; + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public date(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("date", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class type : global::purl.org.dc.elementsQualified.any, IXMetaData { + + public new static type Load(string xmlFile) { + return ((type)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static type Load(System.IO.TextReader xmlFile) { + return ((type)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public new static type Parse(string xml) { + return ((type)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator type(XElement xe) { return (type)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new type(((SimpleLiteral)(this.Content.Clone()))); + } + + protected type(bool setNull) : + base(true) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public type() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + protected virtual void SetSubstitutionMember(SimpleLiteral ContentField) { + this.ContentField = ContentField; + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public type(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("type", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class format : global::purl.org.dc.elementsQualified.any, IXMetaData { + + public new static format Load(string xmlFile) { + return ((format)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static format Load(System.IO.TextReader xmlFile) { + return ((format)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public new static format Parse(string xml) { + return ((format)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator format(XElement xe) { return (format)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new format(((SimpleLiteral)(this.Content.Clone()))); + } + + protected format(bool setNull) : + base(true) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public format() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + protected virtual void SetSubstitutionMember(SimpleLiteral ContentField) { + this.ContentField = ContentField; + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public format(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("format", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class identifier : global::purl.org.dc.elementsQualified.any, IXMetaData { + + public new static identifier Load(string xmlFile) { + return ((identifier)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static identifier Load(System.IO.TextReader xmlFile) { + return ((identifier)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public new static identifier Parse(string xml) { + return ((identifier)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator identifier(XElement xe) { return (identifier)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new identifier(((SimpleLiteral)(this.Content.Clone()))); + } + + protected identifier(bool setNull) : + base(true) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public identifier() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + protected virtual void SetSubstitutionMember(SimpleLiteral ContentField) { + this.ContentField = ContentField; + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public identifier(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class source : global::purl.org.dc.elementsQualified.any, IXMetaData { + + public new static source Load(string xmlFile) { + return ((source)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static source Load(System.IO.TextReader xmlFile) { + return ((source)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public new static source Parse(string xml) { + return ((source)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator source(XElement xe) { return (source)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new source(((SimpleLiteral)(this.Content.Clone()))); + } + + protected source(bool setNull) : + base(true) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public source() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + protected virtual void SetSubstitutionMember(SimpleLiteral ContentField) { + this.ContentField = ContentField; + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public source(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("source", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class language : global::purl.org.dc.elementsQualified.any, IXMetaData { + + public new static language Load(string xmlFile) { + return ((language)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static language Load(System.IO.TextReader xmlFile) { + return ((language)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public new static language Parse(string xml) { + return ((language)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator language(XElement xe) { return (language)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new language(((SimpleLiteral)(this.Content.Clone()))); + } + + protected language(bool setNull) : + base(true) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public language() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + protected virtual void SetSubstitutionMember(SimpleLiteral ContentField) { + this.ContentField = ContentField; + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public language(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("language", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class relation : global::purl.org.dc.elementsQualified.any, IXMetaData { + + public new static relation Load(string xmlFile) { + return ((relation)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static relation Load(System.IO.TextReader xmlFile) { + return ((relation)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public new static relation Parse(string xml) { + return ((relation)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator relation(XElement xe) { return (relation)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new relation(((SimpleLiteral)(this.Content.Clone()))); + } + + protected relation(bool setNull) : + base(true) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public relation() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + protected virtual void SetSubstitutionMember(SimpleLiteral ContentField) { + this.ContentField = ContentField; + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public relation(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class coverage : global::purl.org.dc.elementsQualified.any, IXMetaData { + + public new static coverage Load(string xmlFile) { + return ((coverage)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static coverage Load(System.IO.TextReader xmlFile) { + return ((coverage)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public new static coverage Parse(string xml) { + return ((coverage)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator coverage(XElement xe) { return (coverage)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new coverage(((SimpleLiteral)(this.Content.Clone()))); + } + + protected coverage(bool setNull) : + base(true) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public coverage() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + protected virtual void SetSubstitutionMember(SimpleLiteral ContentField) { + this.ContentField = ContentField; + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public coverage(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class rights : global::purl.org.dc.elementsQualified.any, IXMetaData { + + public new static rights Load(string xmlFile) { + return ((rights)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static rights Load(System.IO.TextReader xmlFile) { + return ((rights)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public new static rights Parse(string xml) { + return ((rights)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator rights(XElement xe) { return (rights)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new rights(((SimpleLiteral)(this.Content.Clone()))); + } + + protected rights(bool setNull) : + base(true) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public rights() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + protected virtual void SetSubstitutionMember(SimpleLiteral ContentField) { + this.ContentField = ContentField; + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public rights(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class XRootNamespace { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRootNamespace() { + } + + public static XRootNamespace Load(string xmlFile) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(string xmlFile, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(XmlReader xmlReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRootNamespace(any root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public any any { get {return rootObject as any; } } + + public XRootNamespace(title root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public title title { get {return rootObject as title; } } + + public XRootNamespace(creator root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public creator creator { get {return rootObject as creator; } } + + public XRootNamespace(subject root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public subject subject { get {return rootObject as subject; } } + + public XRootNamespace(description root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public description description { get {return rootObject as description; } } + + public XRootNamespace(publisher root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public publisher publisher { get {return rootObject as publisher; } } + + public XRootNamespace(contributor root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public contributor contributor { get {return rootObject as contributor; } } + + public XRootNamespace(date root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public date date { get {return rootObject as date; } } + + public XRootNamespace(type root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public type type { get {return rootObject as type; } } + + public XRootNamespace(format root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public format format { get {return rootObject as format; } } + + public XRootNamespace(identifier root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public identifier identifier { get {return rootObject as identifier; } } + + public XRootNamespace(source root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public source source { get {return rootObject as source; } } + + public XRootNamespace(language root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public language language { get {return rootObject as language; } } + + public XRootNamespace(relation root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public relation relation { get {return rootObject as relation; } } + + public XRootNamespace(coverage root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public coverage coverage { get {return rootObject as coverage; } } + + public XRootNamespace(rights root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public rights rights { get {return rootObject as rights; } } + } +} +namespace purl.org.dc.dcmitype { + using System; + using System.Collections; + using System.Collections.Generic; + using System.ComponentModel; + using System.IO; + using System.Linq; + using System.Diagnostics; + using System.Xml; + using System.Xml.Schema; + using System.Xml.Linq; + using Xml.Schema.Linq; + using purl.org.dc.qualifiedContainer; + + + public sealed class DCMIType { + + private DCMIType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.UnionSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType), null, new Xml.Schema.Linq.SimpleTypeValidator[] { + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Name), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "Collection", + "Dataset", + "Event", + "Image", + "MovingImage", + "StillImage", + "InteractiveResource", + "Service", + "Software", + "Sound", + "Text", + "PhysicalObject"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Collapse))}); + } +} +namespace purl.org.dc.qualifiedContainer { + using System; + using System.Collections; + using System.Collections.Generic; + using System.ComponentModel; + using System.IO; + using System.Linq; + using System.Diagnostics; + using System.Xml; + using System.Xml.Schema; + using System.Xml.Linq; + using Xml.Schema.Linq; + using W3C.XmlNs3; + using purl.org.dc.termsQualified; + using purl.org.dc.elementsQualified; + using purl.org.dc.dcmitype; + + + /// + /// + /// + /// This is included as a convenience for schema authors who need to define a root + /// or container element for all of the DC elements and element refinements. + /// + /// + /// + public partial class qualifieddc : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static qualifieddc Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static qualifieddc Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static qualifieddc Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator qualifieddc(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new qualifieddc(((purl.org.dc.termsQualified.elementOrRefinementContainer)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.termsQualified.elementOrRefinementContainer ContentField; + + /// + /// + /// + /// This is included as a convenience for schema authors who need to define a root + /// or container element for all of the DC elements and element refinements. + /// + /// + /// + public qualifieddc() { + SetInnerType(new purl.org.dc.termsQualified.elementOrRefinementContainer()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual purl.org.dc.termsQualified.elementOrRefinementContainer Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.termsQualified.elementOrRefinementContainer ContentField) { + this.ContentField = ((purl.org.dc.termsQualified.elementOrRefinementContainer)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + /// + /// + /// + /// This is included as a convenience for schema authors who need to define a root + /// or container element for all of the DC elements and element refinements. + /// + /// + /// + public qualifieddc(purl.org.dc.termsQualified.elementOrRefinementContainer content) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Substitution members: any, title, creator, subject, description, publisher, contributor, date, type, format, identifier, source, language, relation, coverage, rights, alternative, tableOfContents, abstract, created, valid, available, issued, modified, dateAccepted, dateCopyrighted, dateSubmitted, extent, medium, isVersionOf, hasVersion, isReplacedBy, replaces, isRequiredBy, requires, isPartOf, hasPart, isReferencedBy, references, isFormatOf, hasFormat, conformsTo, spatial, temporal, audience, accrualMethod, accrualPeriodicity, accrualPolicy, instructionalMethod, provenance, rightsHolder, mediator, educationLevel, accessRights, license, bibliographicCitation, title, creator, subject, description, publisher, contributor, date, type, format, identifier, source, language, relation, coverage, rights + /// + /// + /// Regular expression: (((any)*)) + /// + /// + public virtual IList any { + get { + return this.ContentField.any; + } + set { + this.ContentField.any = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("qualifieddc", ""); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public class LinqToXsdTypeManager : ILinqToXsdTypeManager { + + private LinqToXsdTypeManager() { + } + + private static Dictionary typeDictionary = new Dictionary(); + + private static void BuildTypeDictionary() { + typeDictionary.Add(System.Xml.Linq.XName.Get("LCSH", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.LCSH)); + typeDictionary.Add(System.Xml.Linq.XName.Get("MESH", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.MESH)); + typeDictionary.Add(System.Xml.Linq.XName.Get("DDC", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.DDC)); + typeDictionary.Add(System.Xml.Linq.XName.Get("LCC", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.LCC)); + typeDictionary.Add(System.Xml.Linq.XName.Get("UDC", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.UDC)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Period", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.Period)); + typeDictionary.Add(System.Xml.Linq.XName.Get("W3CDTF", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.W3CDTF)); + typeDictionary.Add(System.Xml.Linq.XName.Get("DCMIType", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.DCMIType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("IMT", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.IMT)); + typeDictionary.Add(System.Xml.Linq.XName.Get("URI", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.URI)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ISO639-2", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.ISO6392)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ISO639-3", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.ISO6393)); + typeDictionary.Add(System.Xml.Linq.XName.Get("RFC1766", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.RFC1766)); + typeDictionary.Add(System.Xml.Linq.XName.Get("RFC3066", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.RFC3066)); + typeDictionary.Add(System.Xml.Linq.XName.Get("RFC4646", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.RFC4646)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Point", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.Point)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ISO3166", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.ISO3166)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Box", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.Box)); + typeDictionary.Add(System.Xml.Linq.XName.Get("TGN", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.TGN)); + typeDictionary.Add(System.Xml.Linq.XName.Get("elementOrRefinementContainer", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.elementOrRefinementContainer)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SimpleLiteral", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + typeDictionary.Add(System.Xml.Linq.XName.Get("elementContainer", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elementsQualified.elementContainer)); + } + + private static Dictionary elementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + elementDictionary.Add(System.Xml.Linq.XName.Get("qualifieddc", ""), typeof(global::purl.org.dc.qualifiedContainer.qualifieddc)); + elementDictionary.Add(System.Xml.Linq.XName.Get("title", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.title)); + elementDictionary.Add(System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.creator)); + elementDictionary.Add(System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.subject)); + elementDictionary.Add(System.Xml.Linq.XName.Get("description", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.description)); + elementDictionary.Add(System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.publisher)); + elementDictionary.Add(System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.contributor)); + elementDictionary.Add(System.Xml.Linq.XName.Get("date", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.date)); + elementDictionary.Add(System.Xml.Linq.XName.Get("type", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.type)); + elementDictionary.Add(System.Xml.Linq.XName.Get("format", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.format)); + elementDictionary.Add(System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.identifier)); + elementDictionary.Add(System.Xml.Linq.XName.Get("source", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.source)); + elementDictionary.Add(System.Xml.Linq.XName.Get("language", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.language)); + elementDictionary.Add(System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.relation)); + elementDictionary.Add(System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.coverage)); + elementDictionary.Add(System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.rights)); + elementDictionary.Add(System.Xml.Linq.XName.Get("alternative", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.alternative)); + elementDictionary.Add(System.Xml.Linq.XName.Get("tableOfContents", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.tableOfContents)); + elementDictionary.Add(System.Xml.Linq.XName.Get("abstract", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.@abstract)); + elementDictionary.Add(System.Xml.Linq.XName.Get("created", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.created)); + elementDictionary.Add(System.Xml.Linq.XName.Get("valid", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.valid)); + elementDictionary.Add(System.Xml.Linq.XName.Get("available", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.available)); + elementDictionary.Add(System.Xml.Linq.XName.Get("issued", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.issued)); + elementDictionary.Add(System.Xml.Linq.XName.Get("modified", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.modified)); + elementDictionary.Add(System.Xml.Linq.XName.Get("dateAccepted", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.dateAccepted)); + elementDictionary.Add(System.Xml.Linq.XName.Get("dateCopyrighted", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.dateCopyrighted)); + elementDictionary.Add(System.Xml.Linq.XName.Get("dateSubmitted", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.dateSubmitted)); + elementDictionary.Add(System.Xml.Linq.XName.Get("extent", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.extent)); + elementDictionary.Add(System.Xml.Linq.XName.Get("medium", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.medium)); + elementDictionary.Add(System.Xml.Linq.XName.Get("isVersionOf", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.isVersionOf)); + elementDictionary.Add(System.Xml.Linq.XName.Get("hasVersion", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.hasVersion)); + elementDictionary.Add(System.Xml.Linq.XName.Get("isReplacedBy", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.isReplacedBy)); + elementDictionary.Add(System.Xml.Linq.XName.Get("replaces", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.replaces)); + elementDictionary.Add(System.Xml.Linq.XName.Get("isRequiredBy", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.isRequiredBy)); + elementDictionary.Add(System.Xml.Linq.XName.Get("requires", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.requires)); + elementDictionary.Add(System.Xml.Linq.XName.Get("isPartOf", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.isPartOf)); + elementDictionary.Add(System.Xml.Linq.XName.Get("hasPart", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.hasPart)); + elementDictionary.Add(System.Xml.Linq.XName.Get("isReferencedBy", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.isReferencedBy)); + elementDictionary.Add(System.Xml.Linq.XName.Get("references", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.references)); + elementDictionary.Add(System.Xml.Linq.XName.Get("isFormatOf", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.isFormatOf)); + elementDictionary.Add(System.Xml.Linq.XName.Get("hasFormat", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.hasFormat)); + elementDictionary.Add(System.Xml.Linq.XName.Get("conformsTo", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.conformsTo)); + elementDictionary.Add(System.Xml.Linq.XName.Get("spatial", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.spatial)); + elementDictionary.Add(System.Xml.Linq.XName.Get("temporal", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.temporal)); + elementDictionary.Add(System.Xml.Linq.XName.Get("audience", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.audience)); + elementDictionary.Add(System.Xml.Linq.XName.Get("accrualMethod", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.accrualMethod)); + elementDictionary.Add(System.Xml.Linq.XName.Get("accrualPeriodicity", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.accrualPeriodicity)); + elementDictionary.Add(System.Xml.Linq.XName.Get("accrualPolicy", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.accrualPolicy)); + elementDictionary.Add(System.Xml.Linq.XName.Get("instructionalMethod", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.instructionalMethod)); + elementDictionary.Add(System.Xml.Linq.XName.Get("provenance", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.provenance)); + elementDictionary.Add(System.Xml.Linq.XName.Get("rightsHolder", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.rightsHolder)); + elementDictionary.Add(System.Xml.Linq.XName.Get("mediator", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.mediator)); + elementDictionary.Add(System.Xml.Linq.XName.Get("educationLevel", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.educationLevel)); + elementDictionary.Add(System.Xml.Linq.XName.Get("accessRights", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.accessRights)); + elementDictionary.Add(System.Xml.Linq.XName.Get("license", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.license)); + elementDictionary.Add(System.Xml.Linq.XName.Get("bibliographicCitation", "http://purl.org/dc/terms/"), typeof(global::purl.org.dc.termsQualified.bibliographicCitation)); + elementDictionary.Add(System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elementsQualified.any)); + elementDictionary.Add(System.Xml.Linq.XName.Get("title", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elementsQualified.title)); + elementDictionary.Add(System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elementsQualified.creator)); + elementDictionary.Add(System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elementsQualified.subject)); + elementDictionary.Add(System.Xml.Linq.XName.Get("description", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elementsQualified.description)); + elementDictionary.Add(System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elementsQualified.publisher)); + elementDictionary.Add(System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elementsQualified.contributor)); + elementDictionary.Add(System.Xml.Linq.XName.Get("date", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elementsQualified.date)); + elementDictionary.Add(System.Xml.Linq.XName.Get("type", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elementsQualified.type)); + elementDictionary.Add(System.Xml.Linq.XName.Get("format", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elementsQualified.format)); + elementDictionary.Add(System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elementsQualified.identifier)); + elementDictionary.Add(System.Xml.Linq.XName.Get("source", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elementsQualified.source)); + elementDictionary.Add(System.Xml.Linq.XName.Get("language", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elementsQualified.language)); + elementDictionary.Add(System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elementsQualified.relation)); + elementDictionary.Add(System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elementsQualified.coverage)); + elementDictionary.Add(System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elementsQualified.rights)); + } + + private static Dictionary wrapperDictionary = new Dictionary(); + + private static void BuildWrapperDictionary() { + wrapperDictionary.Add(typeof(purl.org.dc.qualifiedContainer.qualifieddc), typeof(global::purl.org.dc.termsQualified.elementOrRefinementContainer)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.title), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.creator), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.subject), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.description), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.publisher), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.contributor), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.date), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.type), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.format), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.identifier), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.source), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.language), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.relation), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.coverage), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.rights), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.alternative), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.tableOfContents), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.@abstract), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.created), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.valid), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.available), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.issued), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.modified), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.dateAccepted), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.dateCopyrighted), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.dateSubmitted), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.extent), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.medium), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.isVersionOf), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.hasVersion), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.isReplacedBy), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.replaces), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.isRequiredBy), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.requires), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.isPartOf), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.hasPart), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.isReferencedBy), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.references), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.isFormatOf), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.hasFormat), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.conformsTo), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.spatial), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.temporal), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.audience), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.accrualMethod), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.accrualPeriodicity), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.accrualPolicy), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.instructionalMethod), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.provenance), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.rightsHolder), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.mediator), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.educationLevel), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.accessRights), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.license), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.termsQualified.bibliographicCitation), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elementsQualified.any), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elementsQualified.title), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elementsQualified.creator), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elementsQualified.subject), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elementsQualified.description), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elementsQualified.publisher), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elementsQualified.contributor), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elementsQualified.date), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elementsQualified.type), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elementsQualified.format), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elementsQualified.identifier), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elementsQualified.source), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elementsQualified.language), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elementsQualified.relation), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elementsQualified.coverage), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elementsQualified.rights), typeof(global::purl.org.dc.elementsQualified.SimpleLiteral)); + } + + private static XmlSchemaSet schemaSet; + + XmlSchemaSet ILinqToXsdTypeManager.Schemas { + get { + if ((schemaSet == null)) { + XmlSchemaSet tempSet = new XmlSchemaSet(); + System.Threading.Interlocked.CompareExchange(ref schemaSet, tempSet, null); + } + return schemaSet; + } + set { + schemaSet = value; + } + } + + protected internal static void AddSchemas(XmlSchemaSet schemas) { + schemas.Add(schemaSet); + } + + Dictionary ILinqToXsdTypeManager.GlobalTypeDictionary { + get { + return typeDictionary; + } + } + + Dictionary ILinqToXsdTypeManager.GlobalElementDictionary { + get { + return elementDictionary; + } + } + + Dictionary ILinqToXsdTypeManager.RootContentTypeMapping { + get { + return wrapperDictionary; + } + } + + static LinqToXsdTypeManager() { + BuildTypeDictionary(); + BuildElementDictionary(); + BuildWrapperDictionary(); + } + + public static System.Type GetRootType() { + return elementDictionary[System.Xml.Linq.XName.Get("qualifieddc", "")]; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static LinqToXsdTypeManager typeManagerSingleton = new LinqToXsdTypeManager(); + + public static LinqToXsdTypeManager Instance { + get { + return typeManagerSingleton; + } + } + } + + public partial class XRootNamespace { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRootNamespace() { + } + + public static XRootNamespace Load(string xmlFile) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(string xmlFile, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(XmlReader xmlReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRootNamespace(qualifieddc root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public qualifieddc qualifieddc { get {return rootObject as qualifieddc; } } + } + + public partial class XRoot { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRoot() { + } + + public static XRoot Load(string xmlFile) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(string xmlFile, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(TextReader textReader) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(TextReader textReader, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(XmlReader xmlReader) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Parse(string text) { + XRoot root = new XRoot(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Parse(string text, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRoot(global::purl.org.dc.qualifiedContainer.qualifieddc root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.qualifiedContainer.qualifieddc qualifieddc { get {return rootObject as global::purl.org.dc.qualifiedContainer.qualifieddc; } } + + public XRoot(global::purl.org.dc.termsQualified.title root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.title title { get {return rootObject as global::purl.org.dc.termsQualified.title; } } + + public XRoot(global::purl.org.dc.termsQualified.creator root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.creator creator { get {return rootObject as global::purl.org.dc.termsQualified.creator; } } + + public XRoot(global::purl.org.dc.termsQualified.subject root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.subject subject { get {return rootObject as global::purl.org.dc.termsQualified.subject; } } + + public XRoot(global::purl.org.dc.termsQualified.description root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.description description { get {return rootObject as global::purl.org.dc.termsQualified.description; } } + + public XRoot(global::purl.org.dc.termsQualified.publisher root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.publisher publisher { get {return rootObject as global::purl.org.dc.termsQualified.publisher; } } + + public XRoot(global::purl.org.dc.termsQualified.contributor root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.contributor contributor { get {return rootObject as global::purl.org.dc.termsQualified.contributor; } } + + public XRoot(global::purl.org.dc.termsQualified.date root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.date date { get {return rootObject as global::purl.org.dc.termsQualified.date; } } + + public XRoot(global::purl.org.dc.termsQualified.type root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.type type { get {return rootObject as global::purl.org.dc.termsQualified.type; } } + + public XRoot(global::purl.org.dc.termsQualified.format root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.format format { get {return rootObject as global::purl.org.dc.termsQualified.format; } } + + public XRoot(global::purl.org.dc.termsQualified.identifier root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.identifier identifier { get {return rootObject as global::purl.org.dc.termsQualified.identifier; } } + + public XRoot(global::purl.org.dc.termsQualified.source root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.source source { get {return rootObject as global::purl.org.dc.termsQualified.source; } } + + public XRoot(global::purl.org.dc.termsQualified.language root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.language language { get {return rootObject as global::purl.org.dc.termsQualified.language; } } + + public XRoot(global::purl.org.dc.termsQualified.relation root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.relation relation { get {return rootObject as global::purl.org.dc.termsQualified.relation; } } + + public XRoot(global::purl.org.dc.termsQualified.coverage root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.coverage coverage { get {return rootObject as global::purl.org.dc.termsQualified.coverage; } } + + public XRoot(global::purl.org.dc.termsQualified.rights root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.rights rights { get {return rootObject as global::purl.org.dc.termsQualified.rights; } } + + public XRoot(global::purl.org.dc.termsQualified.alternative root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.alternative alternative { get {return rootObject as global::purl.org.dc.termsQualified.alternative; } } + + public XRoot(global::purl.org.dc.termsQualified.tableOfContents root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.tableOfContents tableOfContents { get {return rootObject as global::purl.org.dc.termsQualified.tableOfContents; } } + + public XRoot(global::purl.org.dc.termsQualified.@abstract root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.@abstract @abstract { get {return rootObject as global::purl.org.dc.termsQualified.@abstract; } } + + public XRoot(global::purl.org.dc.termsQualified.created root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.created created { get {return rootObject as global::purl.org.dc.termsQualified.created; } } + + public XRoot(global::purl.org.dc.termsQualified.valid root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.valid valid { get {return rootObject as global::purl.org.dc.termsQualified.valid; } } + + public XRoot(global::purl.org.dc.termsQualified.available root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.available available { get {return rootObject as global::purl.org.dc.termsQualified.available; } } + + public XRoot(global::purl.org.dc.termsQualified.issued root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.issued issued { get {return rootObject as global::purl.org.dc.termsQualified.issued; } } + + public XRoot(global::purl.org.dc.termsQualified.modified root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.modified modified { get {return rootObject as global::purl.org.dc.termsQualified.modified; } } + + public XRoot(global::purl.org.dc.termsQualified.dateAccepted root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.dateAccepted dateAccepted { get {return rootObject as global::purl.org.dc.termsQualified.dateAccepted; } } + + public XRoot(global::purl.org.dc.termsQualified.dateCopyrighted root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.dateCopyrighted dateCopyrighted { get {return rootObject as global::purl.org.dc.termsQualified.dateCopyrighted; } } + + public XRoot(global::purl.org.dc.termsQualified.dateSubmitted root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.dateSubmitted dateSubmitted { get {return rootObject as global::purl.org.dc.termsQualified.dateSubmitted; } } + + public XRoot(global::purl.org.dc.termsQualified.extent root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.extent extent { get {return rootObject as global::purl.org.dc.termsQualified.extent; } } + + public XRoot(global::purl.org.dc.termsQualified.medium root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.medium medium { get {return rootObject as global::purl.org.dc.termsQualified.medium; } } + + public XRoot(global::purl.org.dc.termsQualified.isVersionOf root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.isVersionOf isVersionOf { get {return rootObject as global::purl.org.dc.termsQualified.isVersionOf; } } + + public XRoot(global::purl.org.dc.termsQualified.hasVersion root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.hasVersion hasVersion { get {return rootObject as global::purl.org.dc.termsQualified.hasVersion; } } + + public XRoot(global::purl.org.dc.termsQualified.isReplacedBy root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.isReplacedBy isReplacedBy { get {return rootObject as global::purl.org.dc.termsQualified.isReplacedBy; } } + + public XRoot(global::purl.org.dc.termsQualified.replaces root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.replaces replaces { get {return rootObject as global::purl.org.dc.termsQualified.replaces; } } + + public XRoot(global::purl.org.dc.termsQualified.isRequiredBy root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.isRequiredBy isRequiredBy { get {return rootObject as global::purl.org.dc.termsQualified.isRequiredBy; } } + + public XRoot(global::purl.org.dc.termsQualified.requires root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.requires requires { get {return rootObject as global::purl.org.dc.termsQualified.requires; } } + + public XRoot(global::purl.org.dc.termsQualified.isPartOf root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.isPartOf isPartOf { get {return rootObject as global::purl.org.dc.termsQualified.isPartOf; } } + + public XRoot(global::purl.org.dc.termsQualified.hasPart root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.hasPart hasPart { get {return rootObject as global::purl.org.dc.termsQualified.hasPart; } } + + public XRoot(global::purl.org.dc.termsQualified.isReferencedBy root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.isReferencedBy isReferencedBy { get {return rootObject as global::purl.org.dc.termsQualified.isReferencedBy; } } + + public XRoot(global::purl.org.dc.termsQualified.references root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.references references { get {return rootObject as global::purl.org.dc.termsQualified.references; } } + + public XRoot(global::purl.org.dc.termsQualified.isFormatOf root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.isFormatOf isFormatOf { get {return rootObject as global::purl.org.dc.termsQualified.isFormatOf; } } + + public XRoot(global::purl.org.dc.termsQualified.hasFormat root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.hasFormat hasFormat { get {return rootObject as global::purl.org.dc.termsQualified.hasFormat; } } + + public XRoot(global::purl.org.dc.termsQualified.conformsTo root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.conformsTo conformsTo { get {return rootObject as global::purl.org.dc.termsQualified.conformsTo; } } + + public XRoot(global::purl.org.dc.termsQualified.spatial root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.spatial spatial { get {return rootObject as global::purl.org.dc.termsQualified.spatial; } } + + public XRoot(global::purl.org.dc.termsQualified.temporal root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.temporal temporal { get {return rootObject as global::purl.org.dc.termsQualified.temporal; } } + + public XRoot(global::purl.org.dc.termsQualified.audience root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.audience audience { get {return rootObject as global::purl.org.dc.termsQualified.audience; } } + + public XRoot(global::purl.org.dc.termsQualified.accrualMethod root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.accrualMethod accrualMethod { get {return rootObject as global::purl.org.dc.termsQualified.accrualMethod; } } + + public XRoot(global::purl.org.dc.termsQualified.accrualPeriodicity root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.accrualPeriodicity accrualPeriodicity { get {return rootObject as global::purl.org.dc.termsQualified.accrualPeriodicity; } } + + public XRoot(global::purl.org.dc.termsQualified.accrualPolicy root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.accrualPolicy accrualPolicy { get {return rootObject as global::purl.org.dc.termsQualified.accrualPolicy; } } + + public XRoot(global::purl.org.dc.termsQualified.instructionalMethod root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.instructionalMethod instructionalMethod { get {return rootObject as global::purl.org.dc.termsQualified.instructionalMethod; } } + + public XRoot(global::purl.org.dc.termsQualified.provenance root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.provenance provenance { get {return rootObject as global::purl.org.dc.termsQualified.provenance; } } + + public XRoot(global::purl.org.dc.termsQualified.rightsHolder root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.rightsHolder rightsHolder { get {return rootObject as global::purl.org.dc.termsQualified.rightsHolder; } } + + public XRoot(global::purl.org.dc.termsQualified.mediator root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.mediator mediator { get {return rootObject as global::purl.org.dc.termsQualified.mediator; } } + + public XRoot(global::purl.org.dc.termsQualified.educationLevel root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.educationLevel educationLevel { get {return rootObject as global::purl.org.dc.termsQualified.educationLevel; } } + + public XRoot(global::purl.org.dc.termsQualified.accessRights root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.accessRights accessRights { get {return rootObject as global::purl.org.dc.termsQualified.accessRights; } } + + public XRoot(global::purl.org.dc.termsQualified.license root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.license license { get {return rootObject as global::purl.org.dc.termsQualified.license; } } + + public XRoot(global::purl.org.dc.termsQualified.bibliographicCitation root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.termsQualified.bibliographicCitation bibliographicCitation { get {return rootObject as global::purl.org.dc.termsQualified.bibliographicCitation; } } + + public XRoot(global::purl.org.dc.elementsQualified.any root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elementsQualified.any any { get {return rootObject as global::purl.org.dc.elementsQualified.any; } } + + public XRoot(global::purl.org.dc.elementsQualified.title root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elementsQualified.title title1 { get {return rootObject as global::purl.org.dc.elementsQualified.title; } } + + public XRoot(global::purl.org.dc.elementsQualified.creator root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elementsQualified.creator creator1 { get {return rootObject as global::purl.org.dc.elementsQualified.creator; } } + + public XRoot(global::purl.org.dc.elementsQualified.subject root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elementsQualified.subject subject1 { get {return rootObject as global::purl.org.dc.elementsQualified.subject; } } + + public XRoot(global::purl.org.dc.elementsQualified.description root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elementsQualified.description description1 { get {return rootObject as global::purl.org.dc.elementsQualified.description; } } + + public XRoot(global::purl.org.dc.elementsQualified.publisher root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elementsQualified.publisher publisher1 { get {return rootObject as global::purl.org.dc.elementsQualified.publisher; } } + + public XRoot(global::purl.org.dc.elementsQualified.contributor root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elementsQualified.contributor contributor1 { get {return rootObject as global::purl.org.dc.elementsQualified.contributor; } } + + public XRoot(global::purl.org.dc.elementsQualified.date root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elementsQualified.date date1 { get {return rootObject as global::purl.org.dc.elementsQualified.date; } } + + public XRoot(global::purl.org.dc.elementsQualified.type root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elementsQualified.type type1 { get {return rootObject as global::purl.org.dc.elementsQualified.type; } } + + public XRoot(global::purl.org.dc.elementsQualified.format root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elementsQualified.format format1 { get {return rootObject as global::purl.org.dc.elementsQualified.format; } } + + public XRoot(global::purl.org.dc.elementsQualified.identifier root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elementsQualified.identifier identifier1 { get {return rootObject as global::purl.org.dc.elementsQualified.identifier; } } + + public XRoot(global::purl.org.dc.elementsQualified.source root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elementsQualified.source source1 { get {return rootObject as global::purl.org.dc.elementsQualified.source; } } + + public XRoot(global::purl.org.dc.elementsQualified.language root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elementsQualified.language language1 { get {return rootObject as global::purl.org.dc.elementsQualified.language; } } + + public XRoot(global::purl.org.dc.elementsQualified.relation root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elementsQualified.relation relation1 { get {return rootObject as global::purl.org.dc.elementsQualified.relation; } } + + public XRoot(global::purl.org.dc.elementsQualified.coverage root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elementsQualified.coverage coverage1 { get {return rootObject as global::purl.org.dc.elementsQualified.coverage; } } + + public XRoot(global::purl.org.dc.elementsQualified.rights root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elementsQualified.rights rights1 { get {return rootObject as global::purl.org.dc.elementsQualified.rights; } } + } +} diff --git a/GeneratedSchemaLibraries/DublinCore/qualified/simpledc.xsd b/GeneratedSchemaLibraries/DublinCore/qualified/simpledc.xsd new file mode 100644 index 00000000..5e1cbda8 --- /dev/null +++ b/GeneratedSchemaLibraries/DublinCore/qualified/simpledc.xsd @@ -0,0 +1,39 @@ + + + + + + Simple DC container XML Schema + + Created 2008-02-11 + + Created by + + Tim Cole (t-cole3@uiuc.edu) + Tom Habing (thabing@uiuc.edu) + Jane Hunter (jane@dstc.edu.au) + Pete Johnston (p.johnston@ukoln.ac.uk), + Carl Lagoze (lagoze@cs.cornell.edu) + + This schema declares a container element for a Simple DC application. + + The declaration of the simpledc element uses the dc:elementContainer + complexType. + + Note that this schema does not define a target namespace. The expectation is that + the simpledc element is assigned to a namespace by an application schema + which includes this schema. + + + + + + + + + + \ No newline at end of file diff --git a/GeneratedSchemaLibraries/DublinCore/qualified/simpledc.xsd.config b/GeneratedSchemaLibraries/DublinCore/qualified/simpledc.xsd.config new file mode 100644 index 00000000..ce34dbff --- /dev/null +++ b/GeneratedSchemaLibraries/DublinCore/qualified/simpledc.xsd.config @@ -0,0 +1,21 @@ + + + + false + false + false + + + + + + + + + + false + + + + + \ No newline at end of file diff --git a/GeneratedSchemaLibraries/DublinCore/qualified/simpledc.xsd.cs b/GeneratedSchemaLibraries/DublinCore/qualified/simpledc.xsd.cs new file mode 100644 index 00000000..308c4a5e --- /dev/null +++ b/GeneratedSchemaLibraries/DublinCore/qualified/simpledc.xsd.cs @@ -0,0 +1,3462 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.ComponentModel; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Xml; +using System.Xml.Linq; +using System.Xml.Schema; +using W3C.XmlNs4; +using Xml.Schema.Linq; +using purl.org.dc.elements; + +namespace W3C.XmlNs4 { + using System; + using System.Collections; + using System.Collections.Generic; + using System.ComponentModel; + using System.IO; + using System.Linq; + using System.Diagnostics; + using System.Xml; + using System.Xml.Schema; + using System.Xml.Linq; + using Xml.Schema.Linq; + + + public sealed class lang { + + private lang() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.UnionSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType), null, new Xml.Schema.Linq.SimpleTypeValidator[] { + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Language), null), + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + ""}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve))}); + } +} +namespace purl.org.dc.elements { + using System; + using System.Collections; + using System.Collections.Generic; + using System.ComponentModel; + using System.IO; + using System.Linq; + using System.Diagnostics; + using System.Xml; + using System.Xml.Schema; + using System.Xml.Linq; + using Xml.Schema.Linq; + + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class SimpleLiteral : XTypedElement, IXMetaData { + + public static explicit operator SimpleLiteral(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public SimpleLiteral() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::W3C.XmlNs4.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::W3C.XmlNs4.lang.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SimpleLiteral", "http://purl.org/dc/elements/1.1/"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This complexType is included as a convenience for schema authors who need to define a root + /// or container element for all of the DC elements. + /// + /// + /// + /// Regular expression: (((any)*)) + /// + /// + public partial class elementContainer : XTypedElement, IXMetaData { + + public static explicit operator elementContainer(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// + /// This complexType is included as a convenience for schema authors who need to define a root + /// or container element for all of the DC elements. + /// + /// + /// + /// Regular expression: (((any)*)) + /// + /// + public elementContainer() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName anyXName = System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedSubstitutedList anyField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Substitution members: any, title, creator, subject, description, publisher, contributor, date, type, format, identifier, source, language, relation, coverage, rights + /// + /// + /// Regular expression: (((any)*)) + /// + /// + public virtual IList any { + get { + if ((this.anyField == null)) { + this.anyField = new XTypedSubstitutedList(this, LinqToXsdTypeManager.Instance, System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("title", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("description", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("date", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("type", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("format", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("source", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("language", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/elements/1.1/")); + } + return this.anyField; + } + set { + if ((value == null)) { + this.anyField = null; + } + else { + if ((this.anyField == null)) { + this.anyField = XTypedSubstitutedList.Initialize(this, LinqToXsdTypeManager.Instance, value, System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("title", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("description", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("date", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("type", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("format", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("source", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("language", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/elements/1.1/")); + } + else { + XTypedServices.SetList(this.anyField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("elementContainer", "http://purl.org/dc/elements/1.1/"); + + static elementContainer() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new SequenceContentModelEntity(new ChoiceContentModelEntity(new SubstitutedContentModelEntity(System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("title", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("description", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("date", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("type", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("format", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("source", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("language", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/elements/1.1/"))))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(anyXName, typeof(any)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public abstract partial class any : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static any Load(string xmlFile) { + return ((any)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static any Load(System.IO.TextReader xmlFile) { + return ((any)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static any Parse(string xml) { + return ((any)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator any(XElement xe) { return (any)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + protected any(bool setNull) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public any() { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + protected virtual void SetSubstitutionMember(SimpleLiteral ContentField) { + this.ContentField = ContentField; + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public any(SimpleLiteral content) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + return this.ContentField.lang; + } + set { + this.ContentField.lang = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class title : global::purl.org.dc.elements.any, IXMetaData { + + public new static title Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static title Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static title Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator title(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new title(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public title() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public title(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("title", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class creator : global::purl.org.dc.elements.any, IXMetaData { + + public new static creator Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static creator Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static creator Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator creator(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new creator(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public creator() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public creator(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class subject : global::purl.org.dc.elements.any, IXMetaData { + + public new static subject Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static subject Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static subject Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator subject(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new subject(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public subject() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public subject(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class description : global::purl.org.dc.elements.any, IXMetaData { + + public new static description Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static description Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static description Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator description(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new description(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public description() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public description(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("description", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class publisher : global::purl.org.dc.elements.any, IXMetaData { + + public new static publisher Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static publisher Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static publisher Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator publisher(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new publisher(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public publisher() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public publisher(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class contributor : global::purl.org.dc.elements.any, IXMetaData { + + public new static contributor Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static contributor Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static contributor Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator contributor(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new contributor(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public contributor() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public contributor(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class date : global::purl.org.dc.elements.any, IXMetaData { + + public new static date Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static date Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static date Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator date(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new date(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public date() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public date(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("date", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class type : global::purl.org.dc.elements.any, IXMetaData { + + public new static type Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static type Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static type Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator type(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new type(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public type() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public type(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("type", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class format : global::purl.org.dc.elements.any, IXMetaData { + + public new static format Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static format Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static format Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator format(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new format(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public format() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public format(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("format", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class identifier : global::purl.org.dc.elements.any, IXMetaData { + + public new static identifier Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static identifier Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static identifier Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator identifier(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new identifier(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public identifier() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public identifier(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class source : global::purl.org.dc.elements.any, IXMetaData { + + public new static source Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static source Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static source Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator source(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new source(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public source() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public source(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("source", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class language : global::purl.org.dc.elements.any, IXMetaData { + + public new static language Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static language Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static language Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator language(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new language(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public language() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public language(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("language", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class relation : global::purl.org.dc.elements.any, IXMetaData { + + public new static relation Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static relation Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static relation Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator relation(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new relation(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public relation() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public relation(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class coverage : global::purl.org.dc.elements.any, IXMetaData { + + public new static coverage Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static coverage Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static coverage Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator coverage(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new coverage(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public coverage() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public coverage(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class rights : global::purl.org.dc.elements.any, IXMetaData { + + public new static rights Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static rights Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static rights Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator rights(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new rights(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public rights() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public rights(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class XRootNamespace { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRootNamespace() { + } + + public static XRootNamespace Load(string xmlFile) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(string xmlFile, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(XmlReader xmlReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRootNamespace(any root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public any any { get {return rootObject as any; } } + + public XRootNamespace(title root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public title title { get {return rootObject as title; } } + + public XRootNamespace(creator root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public creator creator { get {return rootObject as creator; } } + + public XRootNamespace(subject root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public subject subject { get {return rootObject as subject; } } + + public XRootNamespace(description root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public description description { get {return rootObject as description; } } + + public XRootNamespace(publisher root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public publisher publisher { get {return rootObject as publisher; } } + + public XRootNamespace(contributor root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public contributor contributor { get {return rootObject as contributor; } } + + public XRootNamespace(date root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public date date { get {return rootObject as date; } } + + public XRootNamespace(type root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public type type { get {return rootObject as type; } } + + public XRootNamespace(format root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public format format { get {return rootObject as format; } } + + public XRootNamespace(identifier root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public identifier identifier { get {return rootObject as identifier; } } + + public XRootNamespace(source root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public source source { get {return rootObject as source; } } + + public XRootNamespace(language root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public language language { get {return rootObject as language; } } + + public XRootNamespace(relation root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public relation relation { get {return rootObject as relation; } } + + public XRootNamespace(coverage root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public coverage coverage { get {return rootObject as coverage; } } + + public XRootNamespace(rights root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public rights rights { get {return rootObject as rights; } } + } +} + + +/// +/// +/// +/// This complexType is included as a convenience for schema authors who need to define a root +/// or container element for all of the DC elements. +/// +/// +/// +public partial class simpledc : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static simpledc Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static simpledc Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static simpledc Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator simpledc(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new simpledc(((purl.org.dc.elements.elementContainer)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private purl.org.dc.elements.elementContainer ContentField; + + /// + /// + /// + /// This complexType is included as a convenience for schema authors who need to define a root + /// or container element for all of the DC elements. + /// + /// + /// + public simpledc() { + SetInnerType(new purl.org.dc.elements.elementContainer()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual purl.org.dc.elements.elementContainer Content { + get { + return ContentField; + } + } + + private void SetInnerType(purl.org.dc.elements.elementContainer ContentField) { + this.ContentField = ((purl.org.dc.elements.elementContainer)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + /// + /// + /// + /// This complexType is included as a convenience for schema authors who need to define a root + /// or container element for all of the DC elements. + /// + /// + /// + public simpledc(purl.org.dc.elements.elementContainer content) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Substitution members: any, title, creator, subject, description, publisher, contributor, date, type, format, identifier, source, language, relation, coverage, rights + /// + /// + /// Regular expression: (((any)*)) + /// + /// + public virtual IList any { + get { + return this.ContentField.any; + } + set { + this.ContentField.any = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("simpledc", ""); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } +} + +public class LinqToXsdTypeManager : ILinqToXsdTypeManager { + + private LinqToXsdTypeManager() { + } + + private static Dictionary typeDictionary = new Dictionary(); + + private static void BuildTypeDictionary() { + typeDictionary.Add(System.Xml.Linq.XName.Get("SimpleLiteral", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.SimpleLiteral)); + typeDictionary.Add(System.Xml.Linq.XName.Get("elementContainer", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.elementContainer)); + } + + private static Dictionary elementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + elementDictionary.Add(System.Xml.Linq.XName.Get("simpledc", ""), typeof(global::simpledc)); + elementDictionary.Add(System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.any)); + elementDictionary.Add(System.Xml.Linq.XName.Get("title", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.title)); + elementDictionary.Add(System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.creator)); + elementDictionary.Add(System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.subject)); + elementDictionary.Add(System.Xml.Linq.XName.Get("description", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.description)); + elementDictionary.Add(System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.publisher)); + elementDictionary.Add(System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.contributor)); + elementDictionary.Add(System.Xml.Linq.XName.Get("date", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.date)); + elementDictionary.Add(System.Xml.Linq.XName.Get("type", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.type)); + elementDictionary.Add(System.Xml.Linq.XName.Get("format", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.format)); + elementDictionary.Add(System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.identifier)); + elementDictionary.Add(System.Xml.Linq.XName.Get("source", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.source)); + elementDictionary.Add(System.Xml.Linq.XName.Get("language", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.language)); + elementDictionary.Add(System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.relation)); + elementDictionary.Add(System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.coverage)); + elementDictionary.Add(System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.rights)); + } + + private static Dictionary wrapperDictionary = new Dictionary(); + + private static void BuildWrapperDictionary() { + wrapperDictionary.Add(typeof(simpledc), typeof(global::purl.org.dc.elements.elementContainer)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.any), typeof(global::purl.org.dc.elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.title), typeof(global::purl.org.dc.elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.creator), typeof(global::purl.org.dc.elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.subject), typeof(global::purl.org.dc.elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.description), typeof(global::purl.org.dc.elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.publisher), typeof(global::purl.org.dc.elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.contributor), typeof(global::purl.org.dc.elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.date), typeof(global::purl.org.dc.elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.type), typeof(global::purl.org.dc.elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.format), typeof(global::purl.org.dc.elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.identifier), typeof(global::purl.org.dc.elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.source), typeof(global::purl.org.dc.elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.language), typeof(global::purl.org.dc.elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.relation), typeof(global::purl.org.dc.elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.coverage), typeof(global::purl.org.dc.elements.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.rights), typeof(global::purl.org.dc.elements.SimpleLiteral)); + } + + private static XmlSchemaSet schemaSet; + + XmlSchemaSet ILinqToXsdTypeManager.Schemas { + get { + if ((schemaSet == null)) { + XmlSchemaSet tempSet = new XmlSchemaSet(); + System.Threading.Interlocked.CompareExchange(ref schemaSet, tempSet, null); + } + return schemaSet; + } + set { + schemaSet = value; + } + } + + protected internal static void AddSchemas(XmlSchemaSet schemas) { + schemas.Add(schemaSet); + } + + Dictionary ILinqToXsdTypeManager.GlobalTypeDictionary { + get { + return typeDictionary; + } + } + + Dictionary ILinqToXsdTypeManager.GlobalElementDictionary { + get { + return elementDictionary; + } + } + + Dictionary ILinqToXsdTypeManager.RootContentTypeMapping { + get { + return wrapperDictionary; + } + } + + static LinqToXsdTypeManager() { + BuildTypeDictionary(); + BuildElementDictionary(); + BuildWrapperDictionary(); + } + + public static System.Type GetRootType() { + return elementDictionary[System.Xml.Linq.XName.Get("simpledc", "")]; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static LinqToXsdTypeManager typeManagerSingleton = new LinqToXsdTypeManager(); + + public static LinqToXsdTypeManager Instance { + get { + return typeManagerSingleton; + } + } +} + +public partial class XRootNamespace { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRootNamespace() { + } + + public static XRootNamespace Load(string xmlFile) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(string xmlFile, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(XmlReader xmlReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRootNamespace(simpledc root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public simpledc simpledc { get {return rootObject as simpledc; } } +} + +public partial class XRoot { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRoot() { + } + + public static XRoot Load(string xmlFile) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(string xmlFile, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(TextReader textReader) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(TextReader textReader, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(XmlReader xmlReader) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Parse(string text) { + XRoot root = new XRoot(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Parse(string text, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRoot(simpledc root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public simpledc simpledc { get {return rootObject as simpledc; } } + + public XRoot(global::purl.org.dc.elements.any root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.any any { get {return rootObject as global::purl.org.dc.elements.any; } } + + public XRoot(global::purl.org.dc.elements.title root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.title title { get {return rootObject as global::purl.org.dc.elements.title; } } + + public XRoot(global::purl.org.dc.elements.creator root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.creator creator { get {return rootObject as global::purl.org.dc.elements.creator; } } + + public XRoot(global::purl.org.dc.elements.subject root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.subject subject { get {return rootObject as global::purl.org.dc.elements.subject; } } + + public XRoot(global::purl.org.dc.elements.description root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.description description { get {return rootObject as global::purl.org.dc.elements.description; } } + + public XRoot(global::purl.org.dc.elements.publisher root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.publisher publisher { get {return rootObject as global::purl.org.dc.elements.publisher; } } + + public XRoot(global::purl.org.dc.elements.contributor root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.contributor contributor { get {return rootObject as global::purl.org.dc.elements.contributor; } } + + public XRoot(global::purl.org.dc.elements.date root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.date date { get {return rootObject as global::purl.org.dc.elements.date; } } + + public XRoot(global::purl.org.dc.elements.type root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.type type { get {return rootObject as global::purl.org.dc.elements.type; } } + + public XRoot(global::purl.org.dc.elements.format root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.format format { get {return rootObject as global::purl.org.dc.elements.format; } } + + public XRoot(global::purl.org.dc.elements.identifier root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.identifier identifier { get {return rootObject as global::purl.org.dc.elements.identifier; } } + + public XRoot(global::purl.org.dc.elements.source root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.source source { get {return rootObject as global::purl.org.dc.elements.source; } } + + public XRoot(global::purl.org.dc.elements.language root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.language language { get {return rootObject as global::purl.org.dc.elements.language; } } + + public XRoot(global::purl.org.dc.elements.relation root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.relation relation { get {return rootObject as global::purl.org.dc.elements.relation; } } + + public XRoot(global::purl.org.dc.elements.coverage root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.coverage coverage { get {return rootObject as global::purl.org.dc.elements.coverage; } } + + public XRoot(global::purl.org.dc.elements.rights root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.rights rights { get {return rootObject as global::purl.org.dc.elements.rights; } } +} diff --git a/GeneratedSchemaLibraries/DublinCore/simpledc20021212.xsd b/GeneratedSchemaLibraries/DublinCore/simpledc20021212.xsd new file mode 100644 index 00000000..43ac389f --- /dev/null +++ b/GeneratedSchemaLibraries/DublinCore/simpledc20021212.xsd @@ -0,0 +1,78 @@ + + + + + Simple DC XML Schema, 2002-10-09 + by Pete Johnston (p.johnston@ukoln.ac.uk), + Carl Lagoze (lagoze@cs.cornell.edu), Andy Powell (a.powell@ukoln.ac.uk), + Herbert Van de Sompel (hvdsomp@yahoo.com). + This schema defines terms for Simple Dublin Core, i.e. the 15 + elements from the http://purl.org/dc/elements/1.1/ namespace, with + no use of encoding schemes or element refinements. + Default content type for all elements is xs:string with xml:lang + attribute available. + + Supercedes version of 2002-03-12. + Amended to remove namespace declaration for http://www.w3.org/XML/1998/namespace namespace, + and to reference lang attribute via built-in xml: namespace prefix. + xs:appinfo also removed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/DublinCore/simpledc20021212.xsd.config b/GeneratedSchemaLibraries/DublinCore/simpledc20021212.xsd.config new file mode 100644 index 00000000..b196679b --- /dev/null +++ b/GeneratedSchemaLibraries/DublinCore/simpledc20021212.xsd.config @@ -0,0 +1,21 @@ + + + + false + false + false + + + + + + + + + + false + + + + + \ No newline at end of file diff --git a/GeneratedSchemaLibraries/DublinCore/simpledc20021212.xsd.cs b/GeneratedSchemaLibraries/DublinCore/simpledc20021212.xsd.cs new file mode 100644 index 00000000..7110e7a7 --- /dev/null +++ b/GeneratedSchemaLibraries/DublinCore/simpledc20021212.xsd.cs @@ -0,0 +1,2633 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace W3C.XmlNs2 { + using System; + using System.Collections; + using System.Collections.Generic; + using System.ComponentModel; + using System.IO; + using System.Linq; + using System.Diagnostics; + using System.Xml; + using System.Xml.Schema; + using System.Xml.Linq; + using Xml.Schema.Linq; + using Purl.SimpleDc.Elements; + + + public sealed class lang { + + private lang() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.UnionSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType), null, new Xml.Schema.Linq.SimpleTypeValidator[] { + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Language), null), + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + ""}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve))}); + } +} +namespace Purl.SimpleDc.Elements { + using System; + using System.Collections; + using System.Collections.Generic; + using System.ComponentModel; + using System.IO; + using System.Linq; + using System.Diagnostics; + using System.Xml; + using System.Xml.Schema; + using System.Xml.Linq; + using Xml.Schema.Linq; + using W3C.XmlNs2; + + + public partial class elementType : XTypedElement, IXMetaData { + + public static explicit operator elementType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public elementType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); + + public virtual string TypedValue { + get { + XElement x = this.Untyped; + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetValue(value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::W3C.XmlNs2.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::W3C.XmlNs2.lang.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("elementType", "http://purl.org/dc/elements/1.1/"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class title : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static title Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static title Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static title Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator title(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new title(((elementType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private elementType ContentField; + + public title() { + SetInnerType(new elementType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual elementType Content { + get { + return ContentField; + } + } + + private void SetInnerType(elementType ContentField) { + this.ContentField = ((elementType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public title(elementType content) { + SetInnerType(content); + } + + public virtual string TypedValue { + get { + return this.ContentField.TypedValue; + } + set { + this.ContentField.TypedValue = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + return this.ContentField.lang; + } + set { + this.ContentField.lang = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("title", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class creator : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static creator Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static creator Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static creator Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator creator(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new creator(((elementType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private elementType ContentField; + + public creator() { + SetInnerType(new elementType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual elementType Content { + get { + return ContentField; + } + } + + private void SetInnerType(elementType ContentField) { + this.ContentField = ((elementType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public creator(elementType content) { + SetInnerType(content); + } + + public virtual string TypedValue { + get { + return this.ContentField.TypedValue; + } + set { + this.ContentField.TypedValue = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + return this.ContentField.lang; + } + set { + this.ContentField.lang = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class subject : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static subject Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static subject Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static subject Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator subject(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new subject(((elementType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private elementType ContentField; + + public subject() { + SetInnerType(new elementType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual elementType Content { + get { + return ContentField; + } + } + + private void SetInnerType(elementType ContentField) { + this.ContentField = ((elementType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public subject(elementType content) { + SetInnerType(content); + } + + public virtual string TypedValue { + get { + return this.ContentField.TypedValue; + } + set { + this.ContentField.TypedValue = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + return this.ContentField.lang; + } + set { + this.ContentField.lang = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class description : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static description Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static description Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static description Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator description(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new description(((elementType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private elementType ContentField; + + public description() { + SetInnerType(new elementType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual elementType Content { + get { + return ContentField; + } + } + + private void SetInnerType(elementType ContentField) { + this.ContentField = ((elementType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public description(elementType content) { + SetInnerType(content); + } + + public virtual string TypedValue { + get { + return this.ContentField.TypedValue; + } + set { + this.ContentField.TypedValue = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + return this.ContentField.lang; + } + set { + this.ContentField.lang = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("description", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class publisher : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static publisher Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static publisher Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static publisher Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator publisher(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new publisher(((elementType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private elementType ContentField; + + public publisher() { + SetInnerType(new elementType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual elementType Content { + get { + return ContentField; + } + } + + private void SetInnerType(elementType ContentField) { + this.ContentField = ((elementType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public publisher(elementType content) { + SetInnerType(content); + } + + public virtual string TypedValue { + get { + return this.ContentField.TypedValue; + } + set { + this.ContentField.TypedValue = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + return this.ContentField.lang; + } + set { + this.ContentField.lang = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class contributor : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static contributor Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static contributor Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static contributor Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator contributor(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new contributor(((elementType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private elementType ContentField; + + public contributor() { + SetInnerType(new elementType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual elementType Content { + get { + return ContentField; + } + } + + private void SetInnerType(elementType ContentField) { + this.ContentField = ((elementType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public contributor(elementType content) { + SetInnerType(content); + } + + public virtual string TypedValue { + get { + return this.ContentField.TypedValue; + } + set { + this.ContentField.TypedValue = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + return this.ContentField.lang; + } + set { + this.ContentField.lang = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class date : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static date Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static date Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static date Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator date(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new date(((elementType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private elementType ContentField; + + public date() { + SetInnerType(new elementType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual elementType Content { + get { + return ContentField; + } + } + + private void SetInnerType(elementType ContentField) { + this.ContentField = ((elementType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public date(elementType content) { + SetInnerType(content); + } + + public virtual string TypedValue { + get { + return this.ContentField.TypedValue; + } + set { + this.ContentField.TypedValue = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + return this.ContentField.lang; + } + set { + this.ContentField.lang = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("date", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class type : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static type Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static type Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static type Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator type(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new type(((elementType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private elementType ContentField; + + public type() { + SetInnerType(new elementType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual elementType Content { + get { + return ContentField; + } + } + + private void SetInnerType(elementType ContentField) { + this.ContentField = ((elementType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public type(elementType content) { + SetInnerType(content); + } + + public virtual string TypedValue { + get { + return this.ContentField.TypedValue; + } + set { + this.ContentField.TypedValue = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + return this.ContentField.lang; + } + set { + this.ContentField.lang = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("type", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class format : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static format Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static format Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static format Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator format(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new format(((elementType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private elementType ContentField; + + public format() { + SetInnerType(new elementType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual elementType Content { + get { + return ContentField; + } + } + + private void SetInnerType(elementType ContentField) { + this.ContentField = ((elementType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public format(elementType content) { + SetInnerType(content); + } + + public virtual string TypedValue { + get { + return this.ContentField.TypedValue; + } + set { + this.ContentField.TypedValue = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + return this.ContentField.lang; + } + set { + this.ContentField.lang = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("format", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class identifier : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static identifier Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static identifier Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static identifier Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator identifier(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new identifier(((elementType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private elementType ContentField; + + public identifier() { + SetInnerType(new elementType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual elementType Content { + get { + return ContentField; + } + } + + private void SetInnerType(elementType ContentField) { + this.ContentField = ((elementType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public identifier(elementType content) { + SetInnerType(content); + } + + public virtual string TypedValue { + get { + return this.ContentField.TypedValue; + } + set { + this.ContentField.TypedValue = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + return this.ContentField.lang; + } + set { + this.ContentField.lang = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class source : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static source Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static source Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static source Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator source(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new source(((elementType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private elementType ContentField; + + public source() { + SetInnerType(new elementType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual elementType Content { + get { + return ContentField; + } + } + + private void SetInnerType(elementType ContentField) { + this.ContentField = ((elementType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public source(elementType content) { + SetInnerType(content); + } + + public virtual string TypedValue { + get { + return this.ContentField.TypedValue; + } + set { + this.ContentField.TypedValue = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + return this.ContentField.lang; + } + set { + this.ContentField.lang = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("source", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class language : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static language Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static language Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static language Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator language(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new language(((elementType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private elementType ContentField; + + public language() { + SetInnerType(new elementType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual elementType Content { + get { + return ContentField; + } + } + + private void SetInnerType(elementType ContentField) { + this.ContentField = ((elementType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public language(elementType content) { + SetInnerType(content); + } + + public virtual string TypedValue { + get { + return this.ContentField.TypedValue; + } + set { + this.ContentField.TypedValue = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + return this.ContentField.lang; + } + set { + this.ContentField.lang = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("language", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class relation : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static relation Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static relation Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static relation Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator relation(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new relation(((elementType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private elementType ContentField; + + public relation() { + SetInnerType(new elementType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual elementType Content { + get { + return ContentField; + } + } + + private void SetInnerType(elementType ContentField) { + this.ContentField = ((elementType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public relation(elementType content) { + SetInnerType(content); + } + + public virtual string TypedValue { + get { + return this.ContentField.TypedValue; + } + set { + this.ContentField.TypedValue = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + return this.ContentField.lang; + } + set { + this.ContentField.lang = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class coverage : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static coverage Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static coverage Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static coverage Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator coverage(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new coverage(((elementType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private elementType ContentField; + + public coverage() { + SetInnerType(new elementType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual elementType Content { + get { + return ContentField; + } + } + + private void SetInnerType(elementType ContentField) { + this.ContentField = ((elementType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public coverage(elementType content) { + SetInnerType(content); + } + + public virtual string TypedValue { + get { + return this.ContentField.TypedValue; + } + set { + this.ContentField.TypedValue = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + return this.ContentField.lang; + } + set { + this.ContentField.lang = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class rights : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static rights Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static rights Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static rights Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator rights(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new rights(((elementType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private elementType ContentField; + + public rights() { + SetInnerType(new elementType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual elementType Content { + get { + return ContentField; + } + } + + private void SetInnerType(elementType ContentField) { + this.ContentField = ((elementType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public rights(elementType content) { + SetInnerType(content); + } + + public virtual string TypedValue { + get { + return this.ContentField.TypedValue; + } + set { + this.ContentField.TypedValue = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + return this.ContentField.lang; + } + set { + this.ContentField.lang = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public class LinqToXsdTypeManager : ILinqToXsdTypeManager { + + private LinqToXsdTypeManager() { + } + + private static Dictionary typeDictionary = new Dictionary(); + + private static void BuildTypeDictionary() { + typeDictionary.Add(System.Xml.Linq.XName.Get("elementType", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.SimpleDc.Elements.elementType)); + } + + private static Dictionary elementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + elementDictionary.Add(System.Xml.Linq.XName.Get("title", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.SimpleDc.Elements.title)); + elementDictionary.Add(System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.SimpleDc.Elements.creator)); + elementDictionary.Add(System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.SimpleDc.Elements.subject)); + elementDictionary.Add(System.Xml.Linq.XName.Get("description", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.SimpleDc.Elements.description)); + elementDictionary.Add(System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.SimpleDc.Elements.publisher)); + elementDictionary.Add(System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.SimpleDc.Elements.contributor)); + elementDictionary.Add(System.Xml.Linq.XName.Get("date", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.SimpleDc.Elements.date)); + elementDictionary.Add(System.Xml.Linq.XName.Get("type", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.SimpleDc.Elements.type)); + elementDictionary.Add(System.Xml.Linq.XName.Get("format", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.SimpleDc.Elements.format)); + elementDictionary.Add(System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.SimpleDc.Elements.identifier)); + elementDictionary.Add(System.Xml.Linq.XName.Get("source", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.SimpleDc.Elements.source)); + elementDictionary.Add(System.Xml.Linq.XName.Get("language", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.SimpleDc.Elements.language)); + elementDictionary.Add(System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.SimpleDc.Elements.relation)); + elementDictionary.Add(System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.SimpleDc.Elements.coverage)); + elementDictionary.Add(System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/elements/1.1/"), typeof(global::Purl.SimpleDc.Elements.rights)); + } + + private static Dictionary wrapperDictionary = new Dictionary(); + + private static void BuildWrapperDictionary() { + wrapperDictionary.Add(typeof(Purl.SimpleDc.Elements.title), typeof(global::Purl.SimpleDc.Elements.elementType)); + wrapperDictionary.Add(typeof(Purl.SimpleDc.Elements.creator), typeof(global::Purl.SimpleDc.Elements.elementType)); + wrapperDictionary.Add(typeof(Purl.SimpleDc.Elements.subject), typeof(global::Purl.SimpleDc.Elements.elementType)); + wrapperDictionary.Add(typeof(Purl.SimpleDc.Elements.description), typeof(global::Purl.SimpleDc.Elements.elementType)); + wrapperDictionary.Add(typeof(Purl.SimpleDc.Elements.publisher), typeof(global::Purl.SimpleDc.Elements.elementType)); + wrapperDictionary.Add(typeof(Purl.SimpleDc.Elements.contributor), typeof(global::Purl.SimpleDc.Elements.elementType)); + wrapperDictionary.Add(typeof(Purl.SimpleDc.Elements.date), typeof(global::Purl.SimpleDc.Elements.elementType)); + wrapperDictionary.Add(typeof(Purl.SimpleDc.Elements.type), typeof(global::Purl.SimpleDc.Elements.elementType)); + wrapperDictionary.Add(typeof(Purl.SimpleDc.Elements.format), typeof(global::Purl.SimpleDc.Elements.elementType)); + wrapperDictionary.Add(typeof(Purl.SimpleDc.Elements.identifier), typeof(global::Purl.SimpleDc.Elements.elementType)); + wrapperDictionary.Add(typeof(Purl.SimpleDc.Elements.source), typeof(global::Purl.SimpleDc.Elements.elementType)); + wrapperDictionary.Add(typeof(Purl.SimpleDc.Elements.language), typeof(global::Purl.SimpleDc.Elements.elementType)); + wrapperDictionary.Add(typeof(Purl.SimpleDc.Elements.relation), typeof(global::Purl.SimpleDc.Elements.elementType)); + wrapperDictionary.Add(typeof(Purl.SimpleDc.Elements.coverage), typeof(global::Purl.SimpleDc.Elements.elementType)); + wrapperDictionary.Add(typeof(Purl.SimpleDc.Elements.rights), typeof(global::Purl.SimpleDc.Elements.elementType)); + } + + private static XmlSchemaSet schemaSet; + + XmlSchemaSet ILinqToXsdTypeManager.Schemas { + get { + if ((schemaSet == null)) { + XmlSchemaSet tempSet = new XmlSchemaSet(); + System.Threading.Interlocked.CompareExchange(ref schemaSet, tempSet, null); + } + return schemaSet; + } + set { + schemaSet = value; + } + } + + protected internal static void AddSchemas(XmlSchemaSet schemas) { + schemas.Add(schemaSet); + } + + Dictionary ILinqToXsdTypeManager.GlobalTypeDictionary { + get { + return typeDictionary; + } + } + + Dictionary ILinqToXsdTypeManager.GlobalElementDictionary { + get { + return elementDictionary; + } + } + + Dictionary ILinqToXsdTypeManager.RootContentTypeMapping { + get { + return wrapperDictionary; + } + } + + static LinqToXsdTypeManager() { + BuildTypeDictionary(); + BuildElementDictionary(); + BuildWrapperDictionary(); + } + + public static System.Type GetRootType() { + return elementDictionary[System.Xml.Linq.XName.Get("title", "http://purl.org/dc/elements/1.1/")]; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static LinqToXsdTypeManager typeManagerSingleton = new LinqToXsdTypeManager(); + + public static LinqToXsdTypeManager Instance { + get { + return typeManagerSingleton; + } + } + } + + public partial class XRootNamespace { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRootNamespace() { + } + + public static XRootNamespace Load(string xmlFile) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(string xmlFile, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(XmlReader xmlReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRootNamespace(title root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public title title { get {return rootObject as title; } } + + public XRootNamespace(creator root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public creator creator { get {return rootObject as creator; } } + + public XRootNamespace(subject root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public subject subject { get {return rootObject as subject; } } + + public XRootNamespace(description root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public description description { get {return rootObject as description; } } + + public XRootNamespace(publisher root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public publisher publisher { get {return rootObject as publisher; } } + + public XRootNamespace(contributor root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public contributor contributor { get {return rootObject as contributor; } } + + public XRootNamespace(date root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public date date { get {return rootObject as date; } } + + public XRootNamespace(type root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public type type { get {return rootObject as type; } } + + public XRootNamespace(format root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public format format { get {return rootObject as format; } } + + public XRootNamespace(identifier root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public identifier identifier { get {return rootObject as identifier; } } + + public XRootNamespace(source root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public source source { get {return rootObject as source; } } + + public XRootNamespace(language root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public language language { get {return rootObject as language; } } + + public XRootNamespace(relation root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public relation relation { get {return rootObject as relation; } } + + public XRootNamespace(coverage root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public coverage coverage { get {return rootObject as coverage; } } + + public XRootNamespace(rights root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public rights rights { get {return rootObject as rights; } } + } + + public partial class XRoot { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRoot() { + } + + public static XRoot Load(string xmlFile) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(string xmlFile, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(TextReader textReader) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(TextReader textReader, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(XmlReader xmlReader) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Parse(string text) { + XRoot root = new XRoot(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Parse(string text, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRoot(global::Purl.SimpleDc.Elements.title root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.SimpleDc.Elements.title title { get {return rootObject as global::Purl.SimpleDc.Elements.title; } } + + public XRoot(global::Purl.SimpleDc.Elements.creator root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.SimpleDc.Elements.creator creator { get {return rootObject as global::Purl.SimpleDc.Elements.creator; } } + + public XRoot(global::Purl.SimpleDc.Elements.subject root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.SimpleDc.Elements.subject subject { get {return rootObject as global::Purl.SimpleDc.Elements.subject; } } + + public XRoot(global::Purl.SimpleDc.Elements.description root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.SimpleDc.Elements.description description { get {return rootObject as global::Purl.SimpleDc.Elements.description; } } + + public XRoot(global::Purl.SimpleDc.Elements.publisher root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.SimpleDc.Elements.publisher publisher { get {return rootObject as global::Purl.SimpleDc.Elements.publisher; } } + + public XRoot(global::Purl.SimpleDc.Elements.contributor root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.SimpleDc.Elements.contributor contributor { get {return rootObject as global::Purl.SimpleDc.Elements.contributor; } } + + public XRoot(global::Purl.SimpleDc.Elements.date root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.SimpleDc.Elements.date date { get {return rootObject as global::Purl.SimpleDc.Elements.date; } } + + public XRoot(global::Purl.SimpleDc.Elements.type root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.SimpleDc.Elements.type type { get {return rootObject as global::Purl.SimpleDc.Elements.type; } } + + public XRoot(global::Purl.SimpleDc.Elements.format root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.SimpleDc.Elements.format format { get {return rootObject as global::Purl.SimpleDc.Elements.format; } } + + public XRoot(global::Purl.SimpleDc.Elements.identifier root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.SimpleDc.Elements.identifier identifier { get {return rootObject as global::Purl.SimpleDc.Elements.identifier; } } + + public XRoot(global::Purl.SimpleDc.Elements.source root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.SimpleDc.Elements.source source { get {return rootObject as global::Purl.SimpleDc.Elements.source; } } + + public XRoot(global::Purl.SimpleDc.Elements.language root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.SimpleDc.Elements.language language { get {return rootObject as global::Purl.SimpleDc.Elements.language; } } + + public XRoot(global::Purl.SimpleDc.Elements.relation root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.SimpleDc.Elements.relation relation { get {return rootObject as global::Purl.SimpleDc.Elements.relation; } } + + public XRoot(global::Purl.SimpleDc.Elements.coverage root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.SimpleDc.Elements.coverage coverage { get {return rootObject as global::Purl.SimpleDc.Elements.coverage; } } + + public XRoot(global::Purl.SimpleDc.Elements.rights root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Purl.SimpleDc.Elements.rights rights { get {return rootObject as global::Purl.SimpleDc.Elements.rights; } } + } +} diff --git a/GeneratedSchemaLibraries/DublinCore/xml.xsd b/GeneratedSchemaLibraries/DublinCore/xml.xsd new file mode 100644 index 00000000..aea7d0db --- /dev/null +++ b/GeneratedSchemaLibraries/DublinCore/xml.xsd @@ -0,0 +1,287 @@ + + + + + + +
+

About the XML namespace

+ +
+

+ This schema document describes the XML namespace, in a form + suitable for import by other schema documents. +

+

+ See + http://www.w3.org/XML/1998/namespace.html and + + http://www.w3.org/TR/REC-xml for information + about this namespace. +

+

+ Note that local names in this namespace are intended to be + defined only by the World Wide Web Consortium or its subgroups. + The names currently defined in this namespace are listed below. + They should not be used with conflicting semantics by any Working + Group, specification, or document instance. +

+

+ See further below in this document for more information about how to refer to this schema document from your own + XSD schema documents and about the + namespace-versioning policy governing this schema document. +

+
+
+
+
+ + + + +
+ +

lang (as an attribute name)

+

+ denotes an attribute whose value + is a language code for the natural language of the content of + any element; its value is inherited. This name is reserved + by virtue of its definition in the XML specification.

+ +
+
+

Notes

+

+ Attempting to install the relevant ISO 2- and 3-letter + codes as the enumerated possible values is probably never + going to be a realistic possibility. +

+

+ See BCP 47 at + http://www.rfc-editor.org/rfc/bcp/bcp47.txt + and the IANA language subtag registry at + + http://www.iana.org/assignments/language-subtag-registry + for further information. +

+

+ The union allows for the 'un-declaration' of xml:lang with + the empty string. +

+
+
+
+ + + + + + + + + +
+ + + + +
+ +

space (as an attribute name)

+

+ denotes an attribute whose + value is a keyword indicating what whitespace processing + discipline is intended for the content of the element; its + value is inherited. This name is reserved by virtue of its + definition in the XML specification.

+ +
+
+
+ + + + + + +
+ + + +
+ +

base (as an attribute name)

+

+ denotes an attribute whose value + provides a URI to be used as the base for interpreting any + relative URIs in the scope of the element on which it + appears; its value is inherited. This name is reserved + by virtue of its definition in the XML Base specification.

+ +

+ See http://www.w3.org/TR/xmlbase/ + for information about this attribute. +

+
+
+
+
+ + + + +
+ +

id (as an attribute name)

+

+ denotes an attribute whose value + should be interpreted as if declared to be of type ID. + This name is reserved by virtue of its definition in the + xml:id specification.

+ +

+ See http://www.w3.org/TR/xml-id/ + for information about this attribute. +

+
+
+
+
+ + + + + + + + + + +
+ +

Father (in any context at all)

+ +
+

+ denotes Jon Bosak, the chair of + the original XML Working Group. This name is reserved by + the following decision of the W3C XML Plenary and + XML Coordination groups: +

+
+

+ In appreciation for his vision, leadership and + dedication the W3C XML Plenary on this 10th day of + February, 2000, reserves for Jon Bosak in perpetuity + the XML name "xml:Father". +

+
+
+
+
+
+ + + +
+

About this schema document

+ +
+

+ This schema defines attributes and an attribute group suitable + for use by schemas wishing to allow xml:base, + xml:lang, xml:space or + xml:id attributes on elements they define. +

+

+ To enable this, such a schema must import this schema for + the XML namespace, e.g. as follows: +

+
+          <schema . . .>
+           . . .
+           <import namespace="http://www.w3.org/XML/1998/namespace"
+                      schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+     
+

+ or +

+
+           <import namespace="http://www.w3.org/XML/1998/namespace"
+                      schemaLocation="http://www.w3.org/2009/01/xml.xsd"/>
+     
+

+ Subsequently, qualified reference to any of the attributes or the + group defined below will have the desired effect, e.g. +

+
+          <type . . .>
+           . . .
+           <attributeGroup ref="xml:specialAttrs"/>
+     
+

+ will define a type which will schema-validate an instance element + with any of those attributes. +

+
+
+
+
+ + + +
+

Versioning policy for this schema document

+
+

+ In keeping with the XML Schema WG's standard versioning + policy, this schema document will persist at + + http://www.w3.org/2009/01/xml.xsd. +

+

+ At the date of issue it can also be found at + + http://www.w3.org/2001/xml.xsd. +

+

+ The schema document at that URI may however change in the future, + in order to remain compatible with the latest version of XML + Schema itself, or with the XML namespace itself. In other words, + if the XML Schema or XML namespaces change, the version of this + document at + http://www.w3.org/2001/xml.xsd + + will change accordingly; the version at + + http://www.w3.org/2009/01/xml.xsd + + will not change. +

+

+ Previous dated (and unchanging) versions of this schema + document are at: +

+ +
+
+
+
+ +
+ diff --git a/GeneratedSchemaLibraries/EnumsTest/EnumsTest.xsd b/GeneratedSchemaLibraries/EnumsTest/EnumsTest.xsd index e7b8c5e8..a337af85 100644 --- a/GeneratedSchemaLibraries/EnumsTest/EnumsTest.xsd +++ b/GeneratedSchemaLibraries/EnumsTest/EnumsTest.xsd @@ -10,6 +10,7 @@ + @@ -29,7 +30,7 @@ - + @@ -37,6 +38,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/EnumsTest/EnumsTest.xsd-g.cs b/GeneratedSchemaLibraries/EnumsTest/EnumsTest.xsd-g.cs index 02566348..e7903660 100644 --- a/GeneratedSchemaLibraries/EnumsTest/EnumsTest.xsd-g.cs +++ b/GeneratedSchemaLibraries/EnumsTest/EnumsTest.xsd-g.cs @@ -78,6 +78,217 @@ private InvalidCharEnumValidator() { "fr-de-it:fr_de_it"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Collapse)); } + public enum OperatorEnum { + + EqualsEquals, + + ExclamationMarkEquals, + + LessThan, + + LessThanEquals, + + GreaterThan, + + GreaterThanEquals, + + AmpersandAmpersand, + + PipePipe, + } + + public sealed class OperatorEnumValidator { + + private OperatorEnumValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "==:EqualsEquals", + "!=:ExclamationMarkEquals", + "<:LessThan", + "<=:LessThanEquals", + ">:GreaterThan", + ">=:GreaterThanEquals", + "&&:AmpersandAmpersand", + "||:PipePipe"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public enum ColonContainingEnum { + + _12_30, + + _23_59, + } + + public sealed class ColonContainingEnumValidator { + + private ColonContainingEnumValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "12:30:_12_30", + "23:59:_23_59"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public enum CollisionEnum { + + Asterisk_2F0C9F3D, + + Asterisk, + } + + public sealed class CollisionEnumValidator { + + private CollisionEnumValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "*:Asterisk_2F0C9F3D", + "Asterisk"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Regular expression: (Operator, Time, Shape) + /// + /// + public partial class OperatorElementType : XTypedElement, IXMetaData { + + public static explicit operator OperatorElementType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (Operator, Time, Shape) + /// + /// + public OperatorElementType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName OperatorXName = System.Xml.Linq.XName.Get("Operator", "http://linqtoxsd.schemas.org/test/enums-test.xsd"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Operator, Time, Shape) + /// + /// + public virtual LinqToXsd.Schemas.Test.EnumsTypes.OperatorEnum Operator { + get { + XElement x = this.GetElement(OperatorXName); + return ((LinqToXsd.Schemas.Test.EnumsTypes.OperatorEnum)(Enum.Parse(typeof(LinqToXsd.Schemas.Test.EnumsTypes.OperatorEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Test.EnumsTypes.OperatorEnumValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(OperatorXName, value.ToString(), "Operator", global::LinqToXsd.Schemas.Test.EnumsTypes.OperatorEnumValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TimeXName = System.Xml.Linq.XName.Get("Time", "http://linqtoxsd.schemas.org/test/enums-test.xsd"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Operator, Time, Shape) + /// + /// + public virtual LinqToXsd.Schemas.Test.EnumsTypes.ColonContainingEnum Time { + get { + XElement x = this.GetElement(TimeXName); + return ((LinqToXsd.Schemas.Test.EnumsTypes.ColonContainingEnum)(Enum.Parse(typeof(LinqToXsd.Schemas.Test.EnumsTypes.ColonContainingEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Test.EnumsTypes.ColonContainingEnumValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(TimeXName, value.ToString(), "Time", global::LinqToXsd.Schemas.Test.EnumsTypes.ColonContainingEnumValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ShapeXName = System.Xml.Linq.XName.Get("Shape", "http://linqtoxsd.schemas.org/test/enums-test.xsd"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Operator, Time, Shape) + /// + /// + public virtual LinqToXsd.Schemas.Test.EnumsTypes.CollisionEnum Shape { + get { + XElement x = this.GetElement(ShapeXName); + return ((LinqToXsd.Schemas.Test.EnumsTypes.CollisionEnum)(Enum.Parse(typeof(LinqToXsd.Schemas.Test.EnumsTypes.CollisionEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Test.EnumsTypes.CollisionEnumValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(ShapeXName, value.ToString(), "Shape", global::LinqToXsd.Schemas.Test.EnumsTypes.CollisionEnumValidator.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("OperatorElementType", "http://linqtoxsd.schemas.org/test/enums-test.xsd"); + + static OperatorElementType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(OperatorXName), new NamedContentModelEntity(TimeXName), new NamedContentModelEntity(ShapeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(OperatorXName, typeof(string)); + localElementDictionary.Add(TimeXName, typeof(string)); + localElementDictionary.Add(ShapeXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + /// /// /// Regular expression: (Language, Invalid, Empty, Version) @@ -1504,6 +1715,162 @@ ILinqToXsdTypeManager IXMetaData.TypeManager { } } + public partial class OperatorElement : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static OperatorElement Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static OperatorElement Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static OperatorElement Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator OperatorElement(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new OperatorElement(((OperatorElementType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private OperatorElementType ContentField; + + public OperatorElement() { + SetInnerType(new OperatorElementType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual OperatorElementType Content { + get { + return ContentField; + } + } + + private void SetInnerType(OperatorElementType ContentField) { + this.ContentField = ((OperatorElementType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public OperatorElement(OperatorElementType content) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Operator, Time, Shape) + /// + /// + public virtual LinqToXsd.Schemas.Test.EnumsTypes.OperatorEnum Operator { + get { + return this.ContentField.Operator; + } + set { + this.ContentField.Operator = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Operator, Time, Shape) + /// + /// + public virtual LinqToXsd.Schemas.Test.EnumsTypes.ColonContainingEnum Time { + get { + return this.ContentField.Time; + } + set { + this.ContentField.Time = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Operator, Time, Shape) + /// + /// + public virtual LinqToXsd.Schemas.Test.EnumsTypes.CollisionEnum Shape { + get { + return this.ContentField.Shape; + } + set { + this.ContentField.Shape = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("OperatorElement", "http://linqtoxsd.schemas.org/test/enums-test.xsd"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + public class LinqToXsdTypeManager : ILinqToXsdTypeManager { private LinqToXsdTypeManager() { @@ -1512,6 +1879,7 @@ private LinqToXsdTypeManager() { private static Dictionary typeDictionary = new Dictionary(); private static void BuildTypeDictionary() { + typeDictionary.Add(System.Xml.Linq.XName.Get("OperatorElementType", "http://linqtoxsd.schemas.org/test/enums-test.xsd"), typeof(global::LinqToXsd.Schemas.Test.EnumsTypes.OperatorElementType)); typeDictionary.Add(System.Xml.Linq.XName.Get("GlobalEnumElementType", "http://linqtoxsd.schemas.org/test/enums-test.xsd"), typeof(global::LinqToXsd.Schemas.Test.EnumsTypes.GlobalEnumElementType)); typeDictionary.Add(System.Xml.Linq.XName.Get("GlobalEnumAttributeType", "http://linqtoxsd.schemas.org/test/enums-test.xsd"), typeof(global::LinqToXsd.Schemas.Test.EnumsTypes.GlobalEnumAttributeType)); typeDictionary.Add(System.Xml.Linq.XName.Get("NestedEnumElementType", "http://linqtoxsd.schemas.org/test/enums-test.xsd"), typeof(global::LinqToXsd.Schemas.Test.EnumsTypes.NestedEnumElementType)); @@ -1527,6 +1895,7 @@ private static void BuildElementDictionary() { elementDictionary.Add(System.Xml.Linq.XName.Get("Element3", "http://linqtoxsd.schemas.org/test/enums-test.xsd"), typeof(global::LinqToXsd.Schemas.Test.EnumsTypes.Element3)); elementDictionary.Add(System.Xml.Linq.XName.Get("Element4", "http://linqtoxsd.schemas.org/test/enums-test.xsd"), typeof(global::LinqToXsd.Schemas.Test.EnumsTypes.Element4)); elementDictionary.Add(System.Xml.Linq.XName.Get("Element5", "http://linqtoxsd.schemas.org/test/enums-test.xsd"), typeof(global::LinqToXsd.Schemas.Test.EnumsTypes.Element5)); + elementDictionary.Add(System.Xml.Linq.XName.Get("OperatorElement", "http://linqtoxsd.schemas.org/test/enums-test.xsd"), typeof(global::LinqToXsd.Schemas.Test.EnumsTypes.OperatorElement)); } private static Dictionary wrapperDictionary = new Dictionary(); @@ -1537,6 +1906,7 @@ private static void BuildWrapperDictionary() { wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Test.EnumsTypes.Element3), typeof(global::LinqToXsd.Schemas.Test.EnumsTypes.NestedEnumElementType)); wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Test.EnumsTypes.Element4), typeof(global::LinqToXsd.Schemas.Test.EnumsTypes.NestedEnumAttributeType)); wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Test.EnumsTypes.Element5), typeof(global::LinqToXsd.Schemas.Test.EnumsTypes.NestedDerivedEnumAttributeType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Test.EnumsTypes.OperatorElement), typeof(global::LinqToXsd.Schemas.Test.EnumsTypes.OperatorElementType)); } private static XmlSchemaSet schemaSet; @@ -1755,6 +2125,14 @@ public XRootNamespace(Element5 root) { public Element5 Element5 { get {return rootObject as Element5; } } + + public XRootNamespace(OperatorElement root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public OperatorElement OperatorElement { get {return rootObject as OperatorElement; } } } public partial class XRoot { @@ -1916,5 +2294,13 @@ public XRoot(global::LinqToXsd.Schemas.Test.EnumsTypes.Element5 root) { public global::LinqToXsd.Schemas.Test.EnumsTypes.Element5 Element5 { get {return rootObject as global::LinqToXsd.Schemas.Test.EnumsTypes.Element5; } } + + public XRoot(global::LinqToXsd.Schemas.Test.EnumsTypes.OperatorElement root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Test.EnumsTypes.OperatorElement OperatorElement { get {return rootObject as global::LinqToXsd.Schemas.Test.EnumsTypes.OperatorElement; } } } } diff --git a/GeneratedSchemaLibraries/FirstCVSS/cvss-v3.1.xsd b/GeneratedSchemaLibraries/FirstCVSS/cvss-v3.1.xsd new file mode 100644 index 00000000..6e6f74a6 --- /dev/null +++ b/GeneratedSchemaLibraries/FirstCVSS/cvss-v3.1.xsd @@ -0,0 +1,285 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Value restriction to single decimal values from 0.0 to 10.0, as used in CVSS scores + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/FirstCVSS/cvss-v4.0.xsd b/GeneratedSchemaLibraries/FirstCVSS/cvss-v4.0.xsd new file mode 100644 index 00000000..6d1e1182 --- /dev/null +++ b/GeneratedSchemaLibraries/FirstCVSS/cvss-v4.0.xsd @@ -0,0 +1,375 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Value restriction to single decimal values from 0.0 to 10.0, as used in CVSS scores + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/FirstCVSS/origins.md b/GeneratedSchemaLibraries/FirstCVSS/origins.md new file mode 100644 index 00000000..69426d51 --- /dev/null +++ b/GeneratedSchemaLibraries/FirstCVSS/origins.md @@ -0,0 +1,20 @@ +Taken from: https://www.first.org/cvss/data-representations + +License: + +CVSS is owned and managed by FIRST.Org, Inc. (FIRST), a US-based non-profit organization, whose mission is to help computer security incident response teams across the world. FIRST reserves the right to update CVSS and this document periodically at its sole discretion. While FIRST owns all rights and interest in CVSS, it licenses it to the public freely for use, subject to the conditions below. Membership in FIRST is not required to use or implement CVSS. FIRST does, however, require that any individual or entity using CVSS give proper attribution, where applicable, that CVSS is owned by FIRST and used by permission. Further, FIRST requires as a condition of use that any individual or entity which publishes CVSS data conforms to the guidelines described in this document and provides both the score and the vector string so others can understand how the score was derived. + +Conditions for any Use +Users of this site expressly agree that use of the materials/information provided on this site is at the user's sole risk. As an absolute condition of such use, the user agrees to hold FIRST.ORG, Inc., its employees, agents, officers, directors, attorneys, harmless of any and all costs, including attorney fees, which might arise from user's use. + +Disclaimer +The information on this site is provided 'as is' without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. + +Although FIRST.ORG, Inc. attempts to keep links current on this site, there may be omissions or errors. These links are offered only as a convenience to those in the Internet community who use them solely at the user's risk. FIRST.ORG, Inc., its employees, agents, officers, directors, attorneys do not endorse or recommend any particular organization, individual, product, process, or service which is linked to from this site; nor do any of them guaranty or warranty the quality of the work of any organization or individual linked to from this site. + +Copyright +All documents available on this site may be protected under the U.S. and Foreign Copyright Laws. Permission to reproduce may be required. + +Trademarks +FIRST(sm) is a service mark of FIRST.ORG, Inc. +All other trademarks and service marks remain the property of their respective holders and are hereby acknowledged. diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/CHANGELOG.txt b/GeneratedSchemaLibraries/LEXS-NIEM/CHANGELOG.txt new file mode 100644 index 00000000..c7ca9dec --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/CHANGELOG.txt @@ -0,0 +1,417 @@ + +Changes from 3.1.3 + + NIEM subset was migrated to reflect element cardinalities. + + _LEXS Digest Changes_ + + Added elements with corresponding types: + lexsdigest:EntityCreditCard, lexsdigest:CreditCard + lexsdigest:EntityHash, lexsdigest:Hash + lexsdigest:EntityNetworkAddress, lexsdigest:NetworkAddress + lexsdigest:EntityInstantMessenger, nc:ContactInstantMessenger + lexsdigest:EntityDocument, nc:Document + + Added associations with corresponding types and element references: + lexsdigest:ActivityEmailAddressAssociation + lexsdigest:ActivityHashAssociation + lexsdigest:ActivityInstantMessengerAssociation + lexsdigest:ActivityNetworkAddressAssociation + lexsdigest:ActivityPrimaryPersonAssociation + lexsdigest:ActivityResponsiblePersonAssociation + lexsdigest:ActivityTelephoneNumberAssociation + lexsdigest:CreditCardBillingLocationAssociation + lexsdigest:DocumentAuthorAssociation + lexsdigest:EntityInstantMessengerAssociation + lexsdigest:EntityNetworkAddressAssociation + lexsdigest:IncidentInstantMessengerAssociation + lexsdigest:IncidentNetworkAddressAssociation + lexsdigest:InstantMessengerAssociation + lexsdigest:ItemAssignedNetworkAddressAssociation + lexsdigest:ItemInstantMessengerAssociation + lexsdigest:ItemNetworkAddressAssociation + lexsdigest:NetworkAddressAssociation + lexsdigest:OffenseInstantMessengerAssociation + lexsdigest:OffenseNetworkAddressAssociation + lexsdigest:PersonContactAssociation + lexsdigest:ServiceCallInstantMessengerAssociation + lexsdigest:ServiceCallNetworkAddressAssociation + + Added following association types: + lexsdigest:ActivityHashAssociationType + lexsdigest:ActivityInstantMessengerAssociationType + lexsdigest:ActivityNetworkAddressAssociationType + lexsdigest:EntityInstantMessengerAssociationType + lexsdigest:EntityNetworkAddressAssociationType + lexsdigest:InstantMessengerAssociationType + lexsdigest:ItemInstantMessengerAssociationType + lexsdigest:ItemNetworkAddressAssociationType + lexsdigest:NetworkAddressAssociationType + + Added following elements to NIEM subset: + nc:IdentificationCategory and nc:IdentificationCategoryText to nc:IdentificationType + nc:PersonOtherIdentification to PersonType (0-n) + nc:PersonPrimaryLanguage to nc:PersonType + iso_639-3 : "http://niem.gov/niem/iso_639-3/2.0" + + Changed cardinality from maximum occurs 1 to unbounded for + lexsdigest:BailingPersonReference and lexsdigest:BailingOrganizationReference in lexsdigest:BailBondAssociationType. + lexsdigest:ReceiverPersonReference in lexsdigest:EmailMessageAssociationType + lexsdigest:ReceiverOrganizationReference in lexsdigest:EmailMessageAssociationType + lexsdigest:Receiver*References in lexsdigest:TelephoneCallAssociationType + nc:ActivityDescriptionText in nc:ActivityType + nc:ConveyanceRegistrationPlateIdentification in nc:ConveyanceType + nc:PersonMiddleName in nc:PersonNameType + + Changed cardinality from min occurs 1 to 0 for + nc:OrganizationCategory + nc:OrganizationName + + _LEXS Framework Changes_ + + Added optional lexs:DataItemLEXSVersion to lexs:PackageMetadata + + Added DisseminationCriteriaValue complex element consisting of DisseminationCriteriaDomainText and DisseminationCriteriaText + to preserve compatibility with previous LEXS releases and allow domains to specify LEXS independent dissemination criteria. + + Changed type for lexs:DataItemPublishInstruction from lexscodes:DataItemPublishInstructionCodeSimpleType to lexscodes:DataItemPublishInstructionCodeType + + Changed extension base for lexsdigest:EntityAttachmentLinkAssociationType from s:ComplexObjectType to nc:AssociationType + + Changed cardinality from min occurs 1 to 0 for + lexs:Attachment in lexs:AttachmentResponseMessageType + lexs:DataItemPackage in lexs:DataItemPackageResponseMessageType + + Corrected documentation for multiple elements. + + Removed unused deprecated namespaces from lexs.xsd + xmlns:fips_10-4="http://niem.gov/niem/fips_10-4/1.0" + xmlns:nonauth="http://niem.gov/niem/nonauthoritative-code/1.0" + + Added to strict and flexible LEXS WSDL/Schema's non-normative getDomainRequest/getDomainResponse messages with corresponding schema types. + Those messages could be used for out-of-bound non LEXS conformant information exchanges between systems. + Use of those structures by no means classifies any system as LEXS Conformant and should be reserved for functionality not supported by LEXS. + +Changes from 3.1.2 + Added lexslib:AttachmentLinkReference which is of lexslib:ReferenceType. + + Added lexs:DataOwnerMetadata with minOccurs="0" to lexs:AttachmentType + + Added lexs:DomainAttribute to lexs:DataContactType. + + Changed lexs:CommunityPedigreeURIType from xsd:complexContent to xsd:simpleContent. + +Changes from 3.1.1 + Removed unused namespace xmlns:eo-12958="http://niem.gov/niem/eo-12958/1.0" from lexs.xsd + + Changed cardinality of SearchResultPackage in SearchResponseMessage from minOccurs=1 to minOccurs=0 + + Added PD/SR *-abstract-interface.wsdl file set. WSDL files embed corresponding abstract-interface publish-discover and search-retrieve schemas. + + Example xml/PD-samples/Sample-9-all-fields.xml contained invalid values for " 2001-08-13", + values were corrected to "2001-08-13" ( no space before the year ). + +Changes from 3.1.0 + + Removed true from lexs.xsd + + Added lexslib:SameAsPayloadReference to LEXS library (xsd\library\3.1\library.xsd) + + Changed cardinality for lexs:RequestedData in lexs:SearchRequestMetadataType to allow multiple values + + Added lexs:DataItemCompleteIndicator to lexs:PackageMetadataType + + Changed cardinality of lexs:StructuredQuery in lexs:StructuredSearchRequestMessageType to allow multiple values + + Added nc:IdentificationJurisdiction of FIPS 10-4 to nc:IdentificationType + + Added IntangibleItem enumeration to LEXS codes.xsd for DataCategoryCode + + Added IntangibleItem entity + + Added Lessee and Lessor roles + + Added associations to LEXS Digest: + lexsdigest:BailBondAssociation + lexsdigest:CellmateAssociation + lexsdigest:DeclarationPersonAssociation + lexsdigest:IncidentEmailAddressAssociation + lexsdigest:IncidentEvidenceAssociation + lexsdigest:IncidentTelephoneNumberAssociation + lexsdigest:ItemAssignedTelephoneNumberAssociation + lexsdigest:ItemEmailAddressAssociation + lexsdigest:ItemTelephoneNumberAssociation + lexsdigest:OffenseTelephoneNumberAssociation + lexsdigest:OffenseEmailAddressAssociation + lexsdigest:PersonFoundLocationAssociation + lexsdigest:PersonLastSeenWitnessAssociation + lexsdigest:PhysicalMailAssociation + lexsdigest:VisitorAssociation + nc:ActivityItemAssociation + nc:ItemContainerAssociation + +================================================================================= + +New Features for 3.1: + - LEXS Search and Retrieve + - NIEM 2.0 + - WSDL Files + +Changes from 3.0.4: + + - NIEM 1.0 to NIEM 2.0 migration outlined in "docs \ digest-and-subset-changes.pdf", including elements that + were originally LEXS 3.0 extensions but that have been incorporated into NIEM 2.0 + + - File name and location change for + LEXS, LEXS Codes, LEXS Digest, LEXS Library, LEXS Publish Discover + + - Namespaces and schema location change ( please note prefix stayed the same ) + + LEXS + xmlns:lexs="http://usdoj.gov/leisp/lexs/3.0" + to + xmlns:lexs="http://usdoj.gov/leisp/lexs/3.1" + + LEXS Codes + xmlns:lexs="http://usdoj.gov/leisp/lexs/3.0/codes" + to + xmlns:lexs="http://usdoj.gov/leisp/lexs/codes/3.1" + + LEXS Digest + xmlns:lexsdigest="http://usdoj.gov/leisp/lexs/3.0/digest" + to + xmlns:lexsdigest="http://usdoj.gov/leisp/lexs/digest/3.1" + + LEXS Library + xmlns:lexslib="http://usdoj.gov/leisp/lexs/3.0/library" + to + xmlns:lexslib="http://usdoj.gov/leisp/lexs/library/3.1" + + LEXS Publish Discover + http://usdoj.gov/leisp/lexs/3.0/publishdiscover + to + http://usdoj.gov/leisp/lexs/publishdiscover/3.1 + + NIEM APPINFO + xmlns:i="http://niem.gov/niem/appinfo/1.0" + to + xmlns:i="http://niem.gov/niem/appinfo/2.0" + + NIEM COMMON and UNIVERSAL + xmlns:u="http://niem.gov/niem/universal/1.0" + and + xmlns:c="http://niem.gov/niem/common/1.0" + to + xmlns:nc="http://niem.gov/niem/niem-core/2.0" + + NIEM STRUCTURES + xmlns:s="http://niem.gov/niem/structures/1.0" + to + xmlns:s="http://niem.gov/niem/structures/2.0" + + NIEM JUSTICE + xmlns:j="http://niem.gov/niem/domains/justice/1.0" + to + xmlns:j="http://niem.gov/niem/domains/jxdm/4.0" + + + - Moved all LEXS digest entities ( substitutionGroup="lexs:Entity") + from "lexs" namespace to "lexsdigest" namespace. + + - Moved lexs:AttachmentLinkReference to lexsdigest:AttachmentLinkReference + + - Renamed lexs:Submission to lexs:PublishMessageContainer + + - Renamed lexs:Message element renamed lexs:PublishMessage. + + - Split lexs:MessageMetadata into lexs:PDMessageMetadata and lexs:DataSubmitterMetadata. + + - Renamed lexs:DataSourceContact to lexs:SystemContact and moved element from lexs:PDMessageMetadata to lexs:DataSubmitterMetadata + + - Changed lexs:DataContactType to be composition of the required elements and have a flat form (see schema for details). + + - Removed lexs:DataSourceOrganizationAbbreviation and lexs:DataSourceSystemInformation from lexs:MessageMetadata and replaced them with lexs:SystemIdentifier + + - Renamed lexs:Package to lexs:DataItemPackage + + - Renamed lexs:PackageDigest to lexs:Digest + + - Renamed lexs:PackageStructuredPayload to lexs:StructuredPayload + + - Renamed lexs:Submission to lexs:PublishMessageContainer. + + - Renamed lexs:DataItemIDText to lexs:DataItemID + + - Renamed lexs:DataItemReferenceIDText to lexs:DataItemReferenceID + + - Removed lexs:DataItemOrginatingAgencyIDText and added lexs:DataOwnerMetadata + + - Added lexs:DiseminationCriteria + + - Added lexs:DataItemCategory + + - Refactored DataSource into Data Owner, Data Submitter, Message Origin, and Message Destination + +================================================================================= + +Changes from 3.0.3 + - Replaced + + +This archive contains the LEXS 3.1.4 release which consists of: + - NIEM subset(s); + - LEXS organizational schemas + - LEXS XML examples + - LEXS WSDL templates + - documentation + +Archive Directory Structure: + .: README.txt and CHANGELOG.txt + xsd: NIEM subset(s) and LEXS organizational schemas + xml: LEXS sample XML instances, see xml/README.txt for details + docs: documentation + wsdl: LEXS WSDL templates + +The included files are described below. + + -CHANGELOG.txt change log from previous releases. + + -NIEM 2.0 subset + Location: xsd/niem and xsd/niem-constrained + Documents validated against LEXS NIEM subset will always be valid in NIEM. + Subset also uniquely identifies the structure of the base elements which will + be used for information exchange. The namespace of LEXS NIEM subset is the + same as NIEM. + Subset can be recreated via NIEM SSGT using supplied wantlist.xml ( see below ). + Prior to LEXS 3.1.4 only niem-constrained NIEM subset included constraints. + However, after LEXS 3.1.4 both subsets contain constrained NIEM schema. + + -NIEM 2.0 subset "wantlist" + Location: xsd/wantlist.xml + Configuration file used by NIEM SSGT to generate LEXS NIEM subset. + (wantlist.xml embeds all NIEM subset restrictions, LEXS 3.1.4 and later). + + -LEXS organizational schemas + Location: + /* LEXS Publish/Discover and Search/Retrieve schemas */ + xsd/publish-discover/3.1/publish-discover.xsd + xsd/search-retrieve/3.1/search-retrieve.xsd + /* LEXS 3.1 */ + xsd/codes/3.1/codes.xsd + xsd/digest/3.1/digest.xsd + xsd/library/3.1/library.xsd + xsd/lexs/3.1/lexs.xsd + Schema(s) identify the structure of the message for information exchange between participants. + + -LEXS organizational schema sample XML instances + Location: + xml/README.txt - description of examples. + xml/PD-samples/*.xml - Examples illustrate use of LEXS Publish/Discover specification. + xml/PD-samples/Sample-1-layout.pdf - PDF Visual layout for sample 1 instance. + xml/SR-samples/*.xml - Examples illustrate use of LEXS Search/Retrieve specification. + + -LEXS WSDL file templates + Location: + wsdl/README.txt - WSDL templates readme file. Please, read this file if you are using XMLSpy 2007 for WSDL development. + wsdl/lexsPDwebservice(Intf/Impl).wsdl - WSDL template for LEXS Publish/Discover web service + wsdl/lexsSRwebservice(Intf/Impl).wsdl - WSDL template for LEXS Search/Retrieve web service + + -LEXS documentation + Location: + docs/LEXS-3.0-to-3.1-Digest-and-Subset-Changes.pdf - summarizes NIEM 1.0 to 2.0 subset changes plus extensions impacted by NIEM 2.0 + docs/LEXS-NIEM-2.0-Migrated-Items-Report.pdf - detailed element/type changes from NIEM Migration Assistance tool + docs/LEXS-3.1-High-Level-Structures.pdf - LEXS 3.1 high level structures diagrams. + +Notes: + LEXS specification (versions greater than 3.1.4) includes non-normative getDomainRequest/getDomainResponse messages with corresponding schema types. + Those messages could be used for out-of-bound non LEXS conformant information exchanges between systems. + Use of those structures by no means classifies any system as LEXS conformant and should be reserved only for functionality not supported by LEXS. diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/docs/LEXS-3.0-to-3.1-Digest-and-Subset-Changes.md b/GeneratedSchemaLibraries/LEXS-NIEM/docs/LEXS-3.0-to-3.1-Digest-and-Subset-Changes.md new file mode 100644 index 00000000..5e05ef0d --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/docs/LEXS-3.0-to-3.1-Digest-and-Subset-Changes.md @@ -0,0 +1,109 @@ +## Changes to LEXS Digest and NIEM subset schemas + +Updated 9/12/2007 + +This document and the companion LEXS-NIEM 2.0 Migrated Items Report summarize changes in data representation between LEXS 3.0 (based on NIEM 1.0) and LEXS 3.1 (based on NIEM 2.0). + +The LEXS-NIEM 2.0 Migrated Items Report is a portion of the migration report produced by the NIEM Migration Assistance tool. The report lists elements, types, and facets that the tool migrated due to name changes, namespace changes, and type restructuring and provides a good starting point for any effort migrating a LEXS-related schema from LEXS 3.0 to LEXS 3.1. + +This document covers broader changes to structures and naming, as well as describing changes that benefit from additional explanation. This document also includes information on elements in LEXS 3.1 that were data extensions in LEXS 3.0 but that are now part of NIEM 2.0, plus information on changes made to LEXS extensions to remain consistent with NIEM conventions. + +## NIEM Changes + +The NIEM 1.0 universal and common namespaces have been combined into the NIEM 2.0 niem-core namespace. + +NCIC and NIBRS codes are now part of the fbi namespace rather than separate ncic-2000 and nibrsmisc namespaces. + +In NIEM the term 'Entity' is used to represent an object that can be either a person or an organization. In NIEM 1.0 there were several Entity association types, but there was no EntityType; the associations just included both Person and Organization. In NIEM 2.0 there is an EntityType that can be Person or Organization; but there are no NIEM 'Entity' associations since all associations are defined specifically for either Person-to-Person, Person-to-Organization, and Organization-to-Organization. + +CommentText, which was part of u:AssociationType, and thus, all associations, in NIEM 1.0, is now represented using a Metadata element linked to an association. + +The NIEM 1.0 Entity Association elements AssociationCategoryText and AssociationRoleText are no longer included in any NIEM associations and must be represented in a Metadata block with the element CommentText. + +Membership and affiliation are no longer considered separate concepts, and the indicators are now represented with the specific association PersonOrganizationAffiliationAssociation. + +In NIEM 1.0, Employer could only be an Organization. In NIEM 2.0, Employer is now of EntityType and can therefore be a person or an organization. + +In NIEM 1.0, c:FacilityType was based on OrganizationType; in 2.0 nc:FacilityType is a base type and the definition is "A data type for a building, place, or structure that provides a particular service" rather than the organization-based definition from 1.0. Previously, c:AircraftType contained AircraftAirportID and AircraftAirportID. In LEXS 3.1, nc:Aircraft contains nc:AircraftBaseAirport which is of nc:FacilityType; nc:AircraftBaseAirport contains nc:FacilityIdentification and nc:FacilityName. + +Property was renamed Item in NIEM 2.0 and Property is now a role of Item. Accordingly, there are a number of elements and associations that were renamed from Property… to Item…. c:PropertyType contained c:PropertyWeaponUseText. Weapon is now a role of Item and nc:WeaponType contains nc:WeaponUsageText. + +ActivityReference was removed from SubjectVictimAssociationType, SubjectWitnessAssociationType, and VictimWitnessAssociationType in keeping with NIEM conventions. + +Previously c:ActivityInvolvedOrganizationAssociationType contained an IsPrimaryOrganizationIndicator, which is now represented by a separate association nc:ActivityPrimaryOrganizationAssociation. + +In NIEM 1.0, the c:EntityPropertyAssociation covered relationships between an organization or person and property and had ownership and possession flags. In NIEM 2.0, those concepts are represented using the following specific relationships: + +- nc:OrganizationOwnsItemAssociation +- nc:OrganizationPossessesItemAssociation +- nc:OrganizationItemAssociation +- nc:PersonOwnsItemAssociation +- nc:PersonPossessesItemAssociation +- nc:PersonItemAssociation + +c:EntityPropertyAssociation contained a c:PropertyLocation element which now is handled by an ItemLocationAssociation. + +- c:PersonPartner in c:DomesticPartnershipAssociationType and c:PersonSpouse in +- c:MarriageAssociationType are now handled by nc:PersonReference. Also c:MarriageBeginDate and c:MarriageEndDate are handled by nc:AssociationBeginDate and nc:AssociationEndDate. + +IDType was renamed IdentificationType. Note that there are a number of elements now use 'Identification' instead of 'ID'. LEXS extension elements that were of IDType and used 'ID' in the element name have been renamed to use the 'Identifier' nomenclature. + +nc:DateType now contains a DateRepresentation abstract that allows for several representations including time. The following time elements are now handled by date elements. + +- j:MissingPersonDeclarationTime Æ j:MissingPersonDeclarationDate +- j:MissingPersonFoundTime Æ j:MissingPersonFoundDate +- j:MissingPersonLastSeenTime Æ j:MissingPersonLastSeenDate + +j:WitnessTime Æ j:WitnessDate + +u:ActivityTime Æ nc:ActivityDate + +u:AssociationBeginTime Æ nc:AssociationBeginDate u:AssociationEndTime Æ nc:AssociationEndDate u:BinaryCaptureTime Æ nc:BinaryCaptureDate u:EffectiveTime Æ nc:EffectiveDate u:ExpirationTime Æ nc:ExpirationDate u:LastUpdatedTime Æ nc:LastUpdatedDate u:LastVerifiedTime Æ nc:LastVerifiedDate u:ReportedTime Æ nc:ReportedDate u:StatusTime Æ nc:StatusTime + +Date ranges are now handled with nc:DateRangeType. The following elements are now handled by date range elements: + +u:ActivityEndDate Æ + +u:AcitivityEndTime nc:ActivityDateRange + +``` +nc:ActivityDateRange Æ +``` + +Measure elements, such as age, height, weight, substance quantity, have been restructured in NIEM to use a MeasurePointValue or MeasureRangeValue and an appropriate unit code. + +In PersonAgeMeasure, u:ageUnitCode moved from an attribute to an element named nc:TimeUnitCode. u:AgeUnitCodeSimpleType has been replaced by unece:TimeCodeSimpleType and therefore the codes have changed. + +In PersonHeightMeasure, u:personHeightUnitCode moved from an attribute to an element named nc:LenghtUnitCode. u:PersonHeightUnitCodeSimpleType has been replaced by unece:LengthCodeSimpleType and, therefore, the codes have changed. + +In PersonWeightMeasure, u:personWeightUnitCode moved from an attribute to an element named nc:WeightUnitCode. u:PersonWeightUnitCodeSimpleType has been replaced by unece:MassCodeSimpleType, and, therefore, the codes have changed. + +AddressType now has an AddressFullText representation or a StructuredAddress representation, so elements such as LocationStreet or LocationCityName are within the containing element StructuredAddress. + +Substance now contains nc:SubstanceContainerDescriptionText and nc:SubstanceFoundDescriptionText, so it is no longer necessary for LEXS to use j:DrugAugmentation. lexsdigest:DrugCategoryText and lexsdigest:DrugCategoryDEACode are no longer needed because they are covered by nc:Substance elements, nc:SubstanceCategory and nc:SubstanceCode. + +## LEXS Changes + +LEXS Boolean extensions have been renamed to consistently follow the NIEM convention of putting 'Indicator' at the end of the element name. LEXS Boolean extensions that had 'Is' in the element name, such as TelephoneIsPrimaryIndicator have been simplified by eliminating the 'Is'. + +LEXS utilizes j:SubjectType instead of lexsdigest:SubjectType now that NIEM 2.0 includes an OrganizationReference in j:SubjectType. + +The LEXS EntityProperty has been renamed EntityTangibleItem, since it is now based on the new NIEM TangibleItemType which in turn is based on ItemType. + +Separate LEXS associations were added for PropertyRecoveredLocationAssociation and PropertySeizedLocationAssociation based on NIEM types. LEXS 3.0 included indicators in a single association to indicate whether the location was where a seizure or recovery took place. + +Added the following associations to connect LEXS entities to specific kinds of attachments, which are in addition to the LEXS 3.0 EntityPersonImageAssociation and EntityAttachmentLinkAssociation: + +EntityPersonFacialImageAssociation EntityPersonSMTImageAssociation EntityItemImageAssociation EntityCrimeSceneImageAssociation + +EntitySupportingDocumentationAssociation + +A generic j:Victim role is available in NIEM 2.0, and has been added to the LEXS Person and Organization entities, in addition to the previously existing j:IncidentVictim, j:ForceVictim, and j:ChargeVictim. The j:Victim, j:IncidentVictim, j:ForceVictim, and j:ChargeVictim roles have been added to the LEXS Aircraft, Drug, Explosive, Firearm, Tangible Item, Vehicle, and Vessel entities. + +The em:Resource role was previously only included in the LEXS 3.0 Person and Property (now TangibleItem) entities. This role has been added to the LEXS Aircraft, Drug, Explosive, Firearm, Vehicle, and Vessel entities for consistency. + +Explosive has been added to NIEM core so that it is no longer necessary to represent it as a LEXS extension of NIEM. + +Added following NIEM 2.0 associations: j: SubjectInvolvedPersonAssociation scr:AdoptedChildAssociation + +nc:TransportationAssociation (replaces LEXS Driver and Passenger associations) \ No newline at end of file diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/docs/LEXS-3.1-High-Level-Structures.md b/GeneratedSchemaLibraries/LEXS-NIEM/docs/LEXS-3.1-High-Level-Structures.md new file mode 100644 index 00000000..a99cb03e --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/docs/LEXS-3.1-High-Level-Structures.md @@ -0,0 +1,7 @@ +![Image](data:image/png;base64,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) + +Updated Aug 08,2007 + +![Image](data:image/png;base64,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) + +![Image](data:image/png;base64,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) \ No newline at end of file diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/docs/LEXS-NIEM-2.0-Migrated-Items-Report.md b/GeneratedSchemaLibraries/LEXS-NIEM/docs/LEXS-NIEM-2.0-Migrated-Items-Report.md new file mode 100644 index 00000000..4fa76517 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/docs/LEXS-NIEM-2.0-Migrated-Items-Report.md @@ -0,0 +1,537 @@ +## No Further Action Required: Items Migrated Automatically + +These items were migrated automatically. Common migrations include namespace changes, property name changes, and type changes. No further action is required from you for these items. + +## Types + +- 1) c:AircraftType ----> nc:AircraftType +- 2) c:ConveyanceType ----> nc:ConveyanceType +- 3) c:DrugType ----> nc:DrugType +- 4) c:FirearmType ----> nc:FirearmType +- 5) c:PersonInvolvementInActivityAssociationType ----> nc:ActivityInvolvedPersonAssociationType +- 6) c:PersonType ----> nc:PersonType +- 7) c:PropertyType ----> nc:ItemType +- 8) j:DriverAuthorizationType ----> nc:DriverLicenseBaseType +- 9) j:DrugType ----> nc:DrugType +- 10) j:PersonType ----> j:PersonAugmentationType +- 11) nibrs:DrugCategoryCodeSimpleType ----> fbi:DrugCategoryCodeSimpleType +- 12) nibrs:DrugCategoryCodeType ----> fbi:DrugCategoryCodeType +- 13) nibrs:DrugMeasurementCodeSimpleType ----> fbi:DrugMeasurementCodeSimpleType +- 14) u:AgeUnitCodeSimpleType ----> unece:TimeCodeSimpleType +- 15) u:AssociationType ----> nc:AssociationType +- 16) u:ContactInformationType ----> nc:ContactInformationType +- 17) u:DateType ----> nc:DateType +- 18) u:IDType ----> nc:IdentificationType +- 19) u:LengthMeasureType ----> nc:LengthMeasureType +- 20) u:LocationType ----> nc:LocationType +- 21) u:MeasureCNCType ----> nc:MeasureType +- 22) u:MeasureType ----> nc:MeasureType +- 23) u:OrganizationType ----> nc:OrganizationType +- 24) u:PersonHeightMeasureType ----> nc:LengthMeasureType +- 25) u:PersonHeightUnitCodeSimpleType ----> unece:LengthCodeSimpleType +- 26) u:PersonType ----> nc:PersonType +- 27) u:PersonWeightMeasureType ----> nc:WeightMeasureType +- 28) u:PersonWeightUnitCodeSimpleType ----> unece:MassCodeSimpleType +- 29) u:PropertyType ----> nc:PropertyType +- 30) u:RangeAgeMeasureType ----> nc:TimeMeasureType +- 31) u:RangeMeasureType ----> nc:MeasureType +- 32) u:RangePersonHeightMeasureType ----> nc:LengthMeasureType +- 33) u:RangePersonWeightMeasureType ----> nc:WeightMeasureType + +34) u:StatusType ----> nc:StatusType + +## Elements + +- 1) c:AcquaintanceAssociation ----> nc:AcquaintanceAssociation +- 2) c:ActivityInformationAbstracterOrganizationAssociation ----> nc:ActivityInformationAbstracterOrganizationAssociation +- 3) c:ActivityInformationClearerOrganizationAssociation ----> nc:ActivityInformationClearerOrganizationAssociation +- 4) c:ActivityInvolvedOrganizationAssociation ----> nc:ActivityInvolvedOrganizationAssociation +- 5) c:ActivityInvolvedPersonAssociation ----> nc:ActivityInvolvedPersonAssociation +- 6) c:ActivityPrimaryOrganizationAssociation ----> nc:ActivityPrimaryOrganizationAssociation +- 7) c:ActivityReportingOrganizationAssociation ----> nc:ActivityReportingOrganizationAssociation +- 8) c:ActivityResponsibleOrganizationAssociation ----> nc:ActivityResponsibleOrganizationAssociation +- 9) c:ActivitySupervisingOrganizationAssociation ----> nc:ActivitySupervisorPersonAssociation +- 10) c:Aircraft ----> nc:Aircraft +- 11) c:AircraftFuselageColorCode ----> nc:AircraftFuselageColorCode +- 12) c:AircraftFuselageColorText ----> nc:AircraftFuselageColorText +- 13) c:AircraftStyleCode ----> nc:AircraftStyleCode +- 14) c:AircraftWingColor ----> nc:AircraftWingColor +- 15) c:AircraftWingColorCode ----> nc:AircraftWingColorCode +- 16) c:AircraftWingColorText ----> nc:AircraftWingColorText +- 17) c:AuthorityFigureAssociation ----> nc:AuthorityFigureAssociation +- 18) c:BabysitterAssociation ----> nc:BabysitterAssociation +- 19) c:Boat ----> nc:Vessel +- 20) c:BoatCategoryCode ----> nc:VesselCategoryCode +- 21) c:BoatHullMaterial ----> nc:VesselHullMaterial +- 22) c:BoatHullMaterialCode ----> nc:VesselHullMaterialCode +- 23) c:BoatHullMaterialText ----> nc:VesselHullMaterialText +- 24) c:BoatHullShape ----> nc:VesselHullShape +- 25) c:BoatHullShapeCode ----> nc:VesselHullShapeCode +- 26) c:BoatHullShapeText ----> nc:VesselHullShapeText +- 27) c:BoatPropulsion ----> nc:VesselPropulsion +- 28) c:BoatPropulsionCode ----> nc:VesselPropulsionCode +- 29) c:BoatPropulsionText ----> nc:VesselPropulsionText +- 30) c:BoatTrailerMake ----> nc:VesselTrailerMake +- 31) c:BoatTrailerMakeCode ----> nc:VesselTrailerMakeCode +- 32) c:BoatTrailerMakeName ----> nc:VesselTrailerMakeName +- 33) c:CohabitantAssociation ----> nc:CohabitantAssociation +- 34) c:ContactInformation ----> nc:ContactInformation +- 35) c:CoworkerAssociation ----> nc:CoworkerAssociation +- 36) c:DocumentCountryCode ----> nc:DocumentCountryCode + +- 37) c:DocumentCountryFIPS10-4Code ----> nc:DocumentCountryFIPS10-4Code +- 38) c:DomesticPartnershipAssociation ----> nc:DomesticPartnershipAssociation +- 39) c:Drug ----> nc:Drug +- 40) c:DrugCompositionDescriptionText ----> nc:SubstanceCompositionDescriptionText +- 41) c:DrugSubstanceFormText ----> nc:SubstanceFormText +- 42) c:FamilyAssociation ----> nc:FamilyAssociation +- 43) c:FamilyKinship ----> nc:FamilyKinshipCategory +- 44) c:FamilyKinshipCode ----> nc:FamilyKinshipCode +- 45) c:FamilyKinshipText ----> nc:FamilyKinshipText +- 46) c:Firearm ----> nc:Firearm +- 47) c:FirearmCaliberCode ----> nc:FirearmCaliberCode +- 48) c:FirearmCaliberText ----> nc:FirearmCaliberText +- 49) c:FirearmCategoryDescription ----> nc:FirearmCategoryDescription +- 50) c:FirearmCategoryDescriptionCode ----> nc:FirearmCategoryDescriptionCode +- 51) c:FirearmCategoryDescriptionText ----> nc:FirearmCategoryDescriptionText +- 52) c:FirearmFinishCode ----> nc:FirearmFinishCode +- 53) c:FirearmFinishText ----> nc:FirearmFinishText +- 54) c:FriendshipAssociation ----> nc:FriendshipAssociation +- 55) c:GuardianAssociation ----> nc:GuardianAssociation +- 56) c:LocationContainsOrganizationAssociation ----> nc:LocationContainsOrganizationAssociation +- 57) c:LocationEmergencyServicesAssociation ----> nc:LocationEmergencyServicesAssociation +- 58) c:LocationNeighboringPersonAssociation ----> nc:LocationNeighboringPersonAssociation +- 59) c:LocationOrganizationAssociation ----> nc:LocationOrganizationAssociation +- 60) c:LocationPoliceDepartmentAssociation ----> nc:LocationPoliceDepartmentAssociation +- 61) c:MarriageAssociation ----> nc:MarriageAssociation +- 62) c:MarriageStatusCode ----> nc:PersonUnionStatusCode +- 63) c:NeighborAssociation ----> nc:NeighborAssociation +- 64) c:NuclearFamilyAssociation ----> nc:ImmediateFamilyAssociation +- 65) c:Organization ----> nc:Organization +- 66) c:OrganizationGangAssociation ----> nc:OrganizationGangAssociation +- 67) c:OrganizationOwnsPropertyAssociation ----> nc:OrganizationOwnsItemAssociation +- 68) c:OrganizationParentAssociation ----> nc:OrganizationParentAssociation +- 69) c:OrganizationPossessesPropertyAssociation ----> nc:OrganizationPossessesItemAssociation +- 70) c:OrganizationPrincipalOfficialAssociation ----> nc:OrganizationPrincipalOfficialAssociation +- 71) c:OrganizationSubsidiaryAssociation ----> nc:OrganizationSubsidiaryAssociation +- 72) c:OrganizationToOrganizationAssociation ----> nc:OrganizationAssociation +- 73) c:Person ----> nc:Person +- 74) c:PersonAlternateName ----> nc:PersonAlternateName +- 75) c:PersonAssignedUnitAssociation ----> nc:PersonAssignedUnitAssociation +- 76) c:PersonCitizenshipFIPS10-4Code ----> nc:PersonCitizenshipFIPS10-4Code + +- 77) c:PersonCurrentEmploymentAssociation ----> nc:PersonCurrentEmploymentAssociation +- 78) c:PersonCurrentLocationAssociation ----> nc:PersonCurrentLocationAssociation +- 79) c:PersonDetainmentLocationAssociation ----> nc:PersonDetainmentLocationAssociation +- 80) c:PersonEmploymentAssociation ----> nc:PersonEmploymentAssociation +- 81) c:PersonEmploymentLocationAssociation ----> nc:PersonEmploymentLocationAssociation +- 82) c:PersonEyeColor ----> nc:PersonEyeColor +- 83) c:PersonEyeColorCode ----> nc:PersonEyeColorCode +- 84) c:PersonEyeColorText ----> nc:PersonEyeColorText +- 85) c:PersonFormerEmploymentAssociation ----> nc:PersonFormerEmploymentAssociation +- 86) c:PersonGangAssociation ----> nc:PersonGangAssociation +- 87) c:PersonHairColor ----> nc:PersonHairColor +- 88) c:PersonHairColorCode ----> nc:PersonHairColorCode +- 89) c:PersonHairColorText ----> nc:PersonHairColorText +- 90) c:PersonHeightMeasureRange ----> nc:PersonHeightMeasure +- 91) c:PersonInvolvedInCriminalOrganizationAssociation ----> nc:PersonCriminalOrganizationAssociation +- 92) c:PersonInvolvedInDrivingIncidentAssociation ----> nc:PersonInvolvedInDrivingIncidentAssociation +- 93) c:PersonInvolvementInActivityAssociation ----> nc:PersonActivityInvolvementAssociation +- 94) c:PersonKnownPreviousLocationAssociation ----> nc:PersonKnownPreviousLocationAssociation +- 95) c:PersonLastSeenLocationAssociation ----> nc:PersonLastSeenLocationAssociation +- 96) c:PersonLocationAssociation ----> nc:PersonLocationAssociation +- 97) c:PersonOrganizationAffiliationAssociation ----> nc:PersonOrganizationAffiliationAssociation +- 98) c:PersonOwnsPropertyAssociation ----> nc:PersonOwnsItemAssociation +- 99) c:PersonPossessesPropertyAssociation ----> nc:PersonPossessesItemAssociation +- 100) c:PersonPrimaryWorkerAssociation ----> nc:PersonPrimaryWorkerAssociation +- 101) c:PersonRace ----> nc:PersonRace +- 102) c:PersonRaceCode ----> nc:PersonRaceCode +- 103) c:PersonRaceText ----> nc:PersonRaceText +- 104) c:PersonReferralWorkerAssociation ----> nc:PersonReferralWorkerAssociation +- 105) c:PersonSexCode ----> nc:PersonSexCode +- 106) c:PersonTemporaryAssignedUnitAssociation ----> nc:PersonTemporaryAssignedUnitAssociation +- 107) c:PersonVehicleAssociation ----> nc:PersonConveyanceAssociation +- 108) c:PersonWorkerAssociation ----> nc:PersonWorkerAssociation +- 109) c:PersonalAssociation ----> nc:PersonAssociation +- 110) c:PreviousActivityAssociation ----> nc:PreviousActivityAssociation +- 111) c:Property ----> nc:Property +- 112) c:PropertyCategoryText ----> nc:ItemCategoryText +- 113) c:PropertyCurrentLocationAssociation ----> nc:PropertyCurrentLocationAssociation +- 114) c:PropertyDispositionLocationAssociation ----> nc:PropertyDispositionLocationAssociation +- 115) c:PropertyHolderAssociation ----> nc:ItemHolderAssociation +- 116) c:PropertyLocationAssociation ----> nc:ItemLocationAssociation + +- 117) c:PropertyMoverAssociation ----> nc:ItemMoverAssociation +- 118) c:PropertyStyle ----> nc:ItemStyle +- 119) c:RelatedActivityAssociation ----> nc:RelatedActivityAssociation +- 120) c:RelatedCaseAssociation ----> nc:RelatedCaseAssociation +- 121) c:ResidenceAssociation ----> nc:ResidenceAssociation +- 122) c:StrangerAssociation ----> nc:StrangerAssociation +- 123) c:Vehicle ----> nc:Vehicle +- 124) c:VehicleBrander ----> nc:VehicleBrander +- 125) c:VehicleColorPrimaryCode ----> nc:VehicleColorPrimaryCode +- 126) c:VehicleColorSecondaryCode ----> nc:VehicleColorSecondaryCode +- 127) c:VehicleGarageLocationAssociation ----> nc:VehicleGarageLocationAssociation +- 128) c:VehicleModelYearDate ----> nc:ItemModelYearDate +- 129) c:VehicleStyleCode ----> nc:VehicleStyleCode +- 130) c:VehicleTowerAssociation ----> nc:VehicleTowerAssociation +- 131) c:Weapon ----> nc:Weapon +- 132) im:AlienNumber ----> im:AlienNumber +- 133) j:DriverLicense ----> nc:DriverLicense +- 134) j:Drug ----> nc:Drug +- 135) j:IDJurisdictionNCICLISCode ----> j:IdentificationJurisdictionNCICLISCode +- 136) j:IDJurisdictionNCICRESCode ----> j:IdentificationJurisdictionNCICRESCode +- 137) j:PersonAgeMeasureRange ----> nc:PersonAgeMeasure +- 138) j:PersonFBIID ----> j:PersonFBIIdentification +- 139) j:PersonStateID ----> j:PersonStateFingerprintIdentification +- 140) j:PersonWeightMeasureRange ----> nc:PersonWeightMeasure +- 141) j:RegisteredOffenderID ----> j:RegisteredOffenderIdentification +- 142) j:SupervisionOfficial ----> nc:SupervisionSupervisor +- 143) j:SupervisionSubject ----> nc:SupervisionPerson +- 144) j:Victim ----> j:VictimEntity +- 145) scr:Passport ----> nc:Passport +- 146) scr:PassportNumberID ----> nc:PassportNumberIdentification +- 147) u:Activity ----> nc:Activity +- 148) u:Binary ----> nc:Binary +- 149) u:BinaryBase64Object ----> nc:BinaryBase64Object +- 150) u:ContactEmailID ----> nc:ContactEmailID +- 151) u:ContactFacsimileNumber ----> nc:ContactFaxNumber +- 152) u:ContactMobileTelephoneNumber ----> nc:ContactMobileTelephoneNumber +- 153) u:ContactPagerNumber ----> nc:ContactPagerNumber +- 154) u:ContactTelephoneNumber ----> nc:ContactTelephoneNumber +- 155) u:IDJurisdictionText ----> nc:IdentificationJurisdictionText +- 156) u:IDJurisdictionValue ----> nc:IdentificationJurisdiction + +- 157) u:IDStatus ----> nc:IdentificationStatus +- 158) u:Location ----> nc:Location +- 159) u:LocationCountry ----> nc:LocationCountry +- 160) u:LocationCountryName ----> nc:LocationCountryName +- 161) u:LocationState ----> nc:LocationState +- 162) u:LocationStateName ----> nc:LocationStateName +- 163) u:Metadata ----> nc:Metadata +- 164) u:OrganizationCategoryText ----> nc:OrganizationCategoryText +- 165) u:Person ----> nc:Person +- 166) u:PersonAgeMeasure ----> nc:PersonAgeMeasure +- 167) u:PersonHeightMeasure ----> nc:PersonHeightMeasure +- 168) u:PersonSSNID ----> nc:PersonSSNIdentification +- 169) u:PersonWeightAbstractMeasure ----> nc:PersonWeightMeasure +- 170) u:PersonWeightMeasure ----> nc:PersonWeightMeasure +- 171) u:PropertyHeightMeasure ----> nc:ItemHeightMeasure +- 172) u:PropertyImage ----> nc:ItemImage +- 173) u:RangePersonHeightMeasure ----> nc:PersonHeightMeasure +- 174) u:RangePersonWeightMeasure ----> nc:PersonWeightMeasure +- 175) u:TelephoneNumber ----> nc:TelephoneNumber + +## Elements In Type + +- 1) c:ActivityInvolvedOrganizationAssociationType contains u:Activity ----> nc:ActivityOrganizationAssociationType contains nc:Activity +- 2) c:ActivityInvolvedOrganizationAssociationType contains u:Organization ----> nc:ActivityOrganizationAssociationType contains nc:Organization +- 3) c:ActivityInvolvedPersonAssociationType contains u:Activity ----> nc:ActivityPersonAssociationType contains nc:Activity +- 4) c:ActivityInvolvedPersonAssociationType contains u:Person ----> nc:ActivityPersonAssociationType contains nc:Person +- 5) c:AircraftType contains c:AircraftAirportID ----> nc:FacilityType contains nc:FacilityIdentification +- 6) c:AircraftType contains c:AircraftAirportName ----> nc:FacilityType contains nc:FacilityName +- 7) c:AircraftType contains c:AircraftEngineQuantity ----> nc:ConveyanceType contains nc:ConveyanceEngineQuantity +- 8) c:AircraftType contains c:AircraftFuselageColor ----> nc:AircraftType contains nc:AircraftFuselageColor +- 9) c:AircraftType contains c:AircraftMakeCode ----> nc:AircraftType contains nc:AircraftMakeCode +- 10) c:AircraftType contains c:AircraftModelCode ----> nc:AircraftType contains nc:AircraftModelCode +- 11) c:AircraftType contains c:AircraftStyleCode ----> nc:AircraftType contains nc:AircraftStyleCode +- 12) c:AircraftType contains c:AircraftTailID ----> nc:AircraftType contains nc:AircraftTailID +- 13) c:AircraftType contains c:AircraftWingColor ----> nc:AircraftType contains nc:AircraftWingColor +- 14) c:AircraftType contains c:AircraftYearDate ----> nc:TangibleItemType contains nc:ItemModelYearDate +- 15) c:AuthorityFigureAssociationType contains c:PersonAuthorityFigure ----> nc:AuthorityFigureAssociationType contains nc:PersonAuthorityFigure +- 16) c:AuthorityFigureAssociationType contains u:Person ----> nc:AuthorityFigureAssociationType contains nc:Person + +- 17) c:BoatType contains c:BoatCategoryCode ----> nc:VesselType contains nc:VesselCategoryCode +- 18) c:BoatType contains c:BoatColorCode ----> nc:TangibleItemType contains nc:ItemColor +- 19) c:BoatType contains c:BoatHullID ----> nc:VesselType contains nc:VesselHullIdentification +- 20) c:BoatType contains c:BoatHullMaterial ----> nc:VesselType contains nc:VesselHullMaterial +- 21) c:BoatType contains c:BoatHullShape ----> nc:VesselType contains nc:VesselHullShape +- 22) c:BoatType contains c:BoatMakeCode ----> nc:VesselType contains nc:VesselMakeCode +- 23) c:BoatType contains c:BoatPropulsion ----> nc:VesselType contains nc:VesselPropulsion +- 24) c:BoatType contains c:BoatRegistrationID ----> nc:VesselType contains nc:VesselRegistrationIdentification +- 25) c:BoatType contains c:BoatTrailerMake ----> nc:VesselType contains nc:VesselTrailerMake +- 26) c:ConveyanceType contains c:VehicleID ----> nc:VehicleType contains nc:VehicleIdentification +- 27) c:ConveyanceType contains c:VehicleLicensePlateID ----> nc:ConveyanceType contains nc:ConveyanceRegistrationPlateIdentification +- 28) c:ConveyanceType contains c:VehicleModelYearDate ----> nc:TangibleItemType contains nc:ItemModelYearDate +- 29) c:DrugType contains c:DrugCompositionDescriptionText ----> nc:SubstanceType contains nc:SubstanceCompositionDescriptionText +- 30) c:DrugType contains c:DrugQuantityMeasure ----> nc:SubstanceType contains nc:SubstanceQuantityMeasure +- 31) c:DrugType contains c:DrugSubstanceFormText ----> nc:SubstanceType contains nc:SubstanceFormText +- 32) c:EntityAssociationType contains u:Organization ----> nc:OrganizationAssociationType contains nc:Organization +- 33) c:EntityAssociationType contains u:Person ----> nc:PersonAssociationType contains nc:Person +- 34) c:EntityPropertyAssociationType contains u:Organization ----> nc:OrganizationItemAssociationType contains nc:Organization +- 35) c:EntityPropertyAssociationType contains u:Person ----> nc:PersonItemAssociationType contains nc:Person +- 36) c:FirearmType contains c:FirearmAutomaticIndicator ----> nc:FirearmType contains nc:FirearmAutomaticIndicator +- 37) c:FirearmType contains c:FirearmCaliber ----> nc:FirearmType contains nc:FirearmCaliber +- 38) c:FirearmType contains c:FirearmCategoryCode ----> nc:FirearmType contains nc:FirearmCategoryCode +- 39) c:FirearmType contains c:FirearmCategoryDescription ----> nc:FirearmType contains nc:FirearmCategoryDescription +- 40) c:FirearmType contains c:FirearmFinish ----> nc:FirearmType contains nc:FirearmFinish +- 41) c:FirearmType contains c:FirearmGaugeText ----> nc:FirearmType contains nc:FirearmGaugeText +- 42) c:FirearmType contains c:FirearmGripText ----> nc:FirearmType contains nc:FirearmGripText +- 43) c:FirearmType contains c:FirearmMakeCode ----> nc:FirearmType contains nc:FirearmMakeCode +- 44) c:GuardianAssociationType contains c:PersonDependent ----> nc:GuardianAssociationType contains nc:PersonDependent +- 45) c:GuardianAssociationType contains c:PersonGuardian ----> nc:GuardianAssociationType contains nc:PersonGuardian +- 46) c:LocationOrganizationAssociationType contains u:Location ----> nc:OrganizationLocationAssociationType contains nc:Location +- 47) c:LocationOrganizationAssociationType contains u:Organization ----> nc:OrganizationLocationAssociationType contains nc:Organization +- 48) c:MarriageAssociationType contains c:MarriageBeginDate ----> nc:AssociationType contains nc:AssociationBeginDate +- 49) c:MarriageAssociationType contains c:MarriageEndDate ----> nc:AssociationType contains nc:AssociationEndDate +- 50) c:MarriageAssociationType contains c:MarriageStatus ----> nc:PersonUnionAssociationType contains nc:PersonUnionStatus +- 51) c:MarriageStatusType contains c:MarriageStatusCode ----> nc:MarriageStatusType contains nc:PersonUnionStatusCode +- 52) c:NuclearFamilyAssociationType contains c:FamilyKinship ----> nc:ImmediateFamilyAssociationType contains nc:FamilyKinshipCategory +- 53) c:NuclearFamilyAssociationType contains c:PersonChild ----> nc:ImmediateFamilyAssociationType contains nc:PersonChild +- 54) c:NuclearFamilyAssociationType contains c:PersonParent ----> nc:ImmediateFamilyAssociationType contains nc:PersonParent + +- 55) c:OrganizationType contains c:OrganizationTaxID ----> nc:OrganizationType contains nc:OrganizationTaxIdentification +- 56) c:PersonEmploymentAssociationType contains c:Employee ----> nc:PersonEmploymentAssociationType contains nc:Employee +- 57) c:PersonEmploymentAssociationType contains c:EmployeeDepartmentName ----> nc:PersonEmploymentAssociationType contains nc:EmployeeDepartmentName +- 58) c:PersonEmploymentAssociationType contains c:EmployeePersonID ----> nc:PersonEmploymentAssociationType contains nc:EmployeeIdentification +- 59) c:PersonEmploymentAssociationType contains c:EmployeePositionName ----> nc:PersonEmploymentAssociationType contains nc:EmployeePositionName +- 60) c:PersonEmploymentAssociationType contains c:EmployeeRankText ----> nc:PersonEmploymentAssociationType contains nc:EmployeeRankText +- 61) c:PersonEmploymentAssociationType contains c:Employer ----> nc:PersonEmploymentAssociationType contains nc:Employer +- 62) c:PersonEmploymentAssociationType contains c:EmploymentStatus ----> nc:PersonEmploymentAssociationType contains nc:EmploymentStatus +- 63) c:PersonInvolvementInActivityAssociationType contains c:PersonalActivityInvolvementText ----> nc:ActivityInvolvedPersonAssociationType contains nc:PersonActivityInvolvementText +- 64) c:PersonInvolvementInActivityAssociationType contains u:Activity ----> nc:ActivityPersonAssociationType contains nc:Activity +- 65) c:PersonInvolvementInActivityAssociationType contains u:Person ----> nc:ActivityPersonAssociationType contains nc:Person +- 66) c:PersonLocationAssociationType contains u:Location ----> nc:PersonLocationAssociationType contains nc:Location +- 67) c:PersonLocationAssociationType contains u:Person ----> nc:PersonLocationAssociationType contains nc:Person +- 68) c:PersonType contains c:PersonAlternateName ----> nc:PersonType contains nc:PersonAlternateName +- 69) c:PersonType contains c:PersonCitizenship ----> nc:PersonType contains nc:PersonCitizenship +- 70) c:PersonType contains c:PersonEyeColor ----> nc:PersonType contains nc:PersonEyeColor +- 71) c:PersonType contains c:PersonHairColor ----> nc:PersonType contains nc:PersonHairColor +- 72) c:PersonType contains c:PersonRace ----> nc:PersonType contains nc:PersonRace +- 73) c:PersonWorkerAssociationType contains c:PersonWorker ----> nc:PersonWorkerAssociationType contains nc:PersonWorker +- 74) c:PersonWorkerAssociationType contains u:Person ----> nc:PersonWorkerAssociationType contains nc:Person +- 75) c:PersonalAssociationType contains u:Person ----> nc:PersonAssociationType contains nc:Person +- 76) c:PropertyLocationAssociationType contains u:Location ----> nc:ItemLocationAssociationType contains nc:Location +- 77) c:PropertyLocationAssociationType contains u:Property ----> nc:ItemLocationAssociationType contains nc:Item +- 78) c:PropertyRegistrationType contains c:RegistrationID ----> nc:ItemRegistrationType contains nc:RegistrationIdentification +- 79) c:PropertyType contains c:PropertyCategory ----> nc:TangibleItemType contains nc:ItemCategory +- 80) c:PropertyType contains c:PropertyRegistration ----> nc:ItemRegistrationAssociationType contains nc:ItemRegistration +- 81) c:PropertyType contains c:PropertySerialID ----> nc:ItemType contains nc:ItemSerialIdentification +- 82) c:PropertyType contains c:PropertyStyle ----> nc:TangibleItemType contains nc:ItemStyle +- 83) c:PropertyType contains c:PropertyWeaponUseText ----> nc:WeaponType contains nc:WeaponUsageText +- 84) c:RelatedActivityAssociationType contains c:RelatedActivity ----> nc:RelatedActivityAssociationType contains nc:Activity +- 85) c:RelatedActivityAssociationType contains c:RelationText ----> nc:RelatedActivityAssociationType contains nc:ActivityRelationText +- 86) c:RelatedActivityAssociationType contains u:Activity ----> nc:RelatedActivityAssociationType contains nc:Activity +- 87) c:ResidentialAssociationType contains c:ResidenceCategoryText ----> nc:PersonResidenceAssociationType contains nc:ResidenceOccupancyCategoryText + +- 88) c:ResidentialAssociationType contains c:ResidenceOccupancyCategoryText ----> nc:PersonResidenceAssociationType contains nc:ResidenceOccupancyCategoryText +- 89) c:ResidentialAssociationType contains c:ResidencePaymentAmount ----> nc:PersonResidenceAssociationType contains nc:ResidencePaymentAmount +- 90) c:ResidentialAssociationType contains c:ResidencePaymentPeriodText ----> nc:PersonResidenceAssociationType contains nc:ResidencePaymentPeriodText +- 91) c:VehicleBranderType contains c:BranderID ----> nc:VehicleBranderType contains nc:VehicleBranderIdentification +- 92) c:VehicleBranderType contains u:RoleOfOrganization ----> nc:VehicleBranderType contains nc:RoleOfOrganization +- 93) c:VehicleType contains c:VehicleColorPrimaryCode ----> nc:TangibleItemType contains nc:ItemColor +- 94) c:VehicleType contains c:VehicleColorSecondaryCode ----> nc:TangibleItemType contains nc:ItemColor +- 95) c:VehicleType contains c:VehicleMakeCode ----> nc:VehicleType contains nc:VehicleMakeCode +- 96) c:VehicleType contains c:VehicleModelCode ----> nc:VehicleType contains nc:VehicleModelCode +- 97) c:WeaponType contains c:WeaponUsageText ----> nc:WeaponType contains nc:WeaponUsageText +- 98) c:WeaponType contains c:WeaponUser ----> nc:WeaponType contains nc:WeaponUser +- 99) c:WeaponType contains u:RoleOfProperty ----> nc:WeaponType contains nc:RoleOfItem +- 100) em:ResourceType contains u:RoleOfPerson ----> em:ResourceType contains nc:RoleOfPerson +- 101) em:ResourceType contains u:RoleOfProperty ----> em:ResourceType contains nc:RoleOfItem +- 102) j:CriminalOrganizationType contains j:CriminalOrganizationNCICID ----> j:CriminalOrganizationType contains j:CriminalOrganizationNCICIdentification +- 103) j:CriminalOrganizationType contains u:RoleOfOrganization ----> j:CriminalOrganizationType contains nc:RoleOfOrganization +- 104) j:DriverAuthorizationType contains j:DriverAuthorizationID ----> nc:DriverLicenseBaseType contains nc:DriverLicenseIdentification +- 105) j:EnforcementOfficialType contains j:EnforcementOfficialBadgeID ----> j:EnforcementOfficialType contains j:EnforcementOfficialBadgeIdentification +- 106) j:EnforcementOfficialType contains u:RoleOfPerson ----> j:EnforcementOfficialType contains nc:RoleOfPerson +- 107) j:EnforcementUnitType contains j:EnforcementUnitBeatID ----> j:EnforcementUnitType contains j:EnforcementUnitBeatIdentification +- 108) j:EnforcementUnitType contains j:EnforcementUnitID ----> j:EnforcementUnitType contains j:EnforcementUnitIdentification +- 109) j:EnforcementUnitType contains j:EnforcementUnitNumberID ----> j:EnforcementUnitType contains j:EnforcementUnitNumberIdentification +- 110) j:EnforcementUnitType contains j:EnforcementUnitSectionID ----> j:EnforcementUnitType contains j:EnforcementUnitSectionIdentification +- 111) j:JudicialOfficialType contains j:JudicialOfficialPanelID ----> j:JudicialOfficialType contains j:JudicialOfficialPanelIdentification +- 112) j:JudicialOfficialType contains j:JudicialOfficialRegistrationID ----> j:JudicialOfficialType contains j:JudicialOfficialRegistrationIdentification +- 113) j:JudicialOfficialType contains u:RoleOfPerson ----> j:JudicialOfficialType contains nc:RoleOfPerson +- 114) j:JurorType contains j:JurorID ----> j:JurorType contains j:JurorIdentification +- 115) j:JurorType contains j:JurorPanelID ----> j:JurorType contains j:JurorPanelIdentification +- 116) j:JurorType contains u:RoleOfPerson ----> j:JurorType contains nc:RoleOfPerson +- 117) j:MissingPersonType contains u:RoleOfPerson ----> j:MissingPersonType contains nc:RoleOfPerson +- 118) j:PersonAugmentationType contains j:DriverLicense ----> j:PersonAugmentationType contains nc:DriverLicense + +- 119) j:PersonAugmentationType contains j:PersonFBIID ----> j:PersonAugmentationType contains j:PersonFBIIdentification +- 120) j:PersonAugmentationType contains j:PersonStateID ----> j:PersonAugmentationType contains j:PersonStateFingerprintIdentification +- 121) j:RegisteredOffenderType contains j:RegisteredOffenderID ----> j:RegisteredOffenderType contains j:RegisteredOffenderIdentification +- 122) j:RegisteredOffenderType contains u:RoleOfPerson ----> j:RegisteredOffenderType contains nc:RoleOfPerson +- 123) j:SubjectPersonAssociationType contains u:Person ----> j:SubjectPersonAssociationType contains nc:Person +- 124) j:SubjectType contains u:RoleOfPerson ----> j:SubjectType contains nc:RoleOfPerson +- 125) j:VictimType contains u:RoleOfOrganization ----> j:VictimType contains nc:RoleOfOrganization +- 126) j:VictimType contains u:RoleOfPerson ----> j:VictimType contains nc:RoleOfPerson +- 127) j:VictimType contains u:RoleOfProperty ----> j:VictimType contains nc:RoleOfItem +- 128) j:WitnessType contains j:WitnessID ----> j:WitnessType contains j:WitnessIdentification +- 129) j:WitnessType contains u:RoleOfPerson ----> j:WitnessType contains nc:RoleOfPerson +- 130) scr:PassportType contains c:DocumentCountryCode ----> nc:DocumentType contains nc:DocumentCountryCode +- 131) scr:PassportType contains scr:PassportNumberID ----> nc:PassportType contains nc:PassportNumberIdentification +- 132) u:ActivityType contains u:ActivityCategoryText ----> nc:ActivityType contains nc:ActivityCategoryText +- 133) u:ActivityType contains u:ActivityDate ----> nc:ActivityType contains nc:ActivityDateRepresentation +- 134) u:ActivityType contains u:ActivityDescriptionText ----> nc:ActivityType contains nc:ActivityDescriptionText +- 135) u:ActivityType contains u:ActivityID ----> nc:ActivityType contains nc:ActivityIdentification +- 136) u:ActivityType contains u:ActivityTime ----> nc:ActivityType contains nc:ActivityDateRepresentation +- 137) u:AddressType contains u:LocationCityName ----> nc:StructuredAddressType contains nc:LocationCityName +- 138) u:AddressType contains u:LocationCountry ----> nc:StructuredAddressType contains nc:LocationCountry +- 139) u:AddressType contains u:LocationPostalCodeID ----> nc:StructuredAddressType contains nc:LocationPostalCode +- 140) u:AddressType contains u:LocationSecondaryUnitText ----> nc:AddressType contains nc:AddressRepresentation +- 141) u:AddressType contains u:LocationState ----> nc:StructuredAddressType contains nc:LocationState +- 142) u:AddressType contains u:LocationStreet ----> nc:AddressType contains nc:AddressRepresentation +- 143) u:AssociationType contains u:AssociationBeginDate ----> nc:AssociationType contains nc:AssociationBeginDate +- 144) u:AssociationType contains u:AssociationBeginTime ----> nc:AssociationType contains nc:AssociationBeginDate +- 145) u:AssociationType contains u:AssociationEndDate ----> nc:AssociationType contains nc:AssociationEndDate +- 146) u:AssociationType contains u:AssociationEndTime ----> nc:AssociationType contains nc:AssociationEndDate +- 147) u:BinaryType contains u:BinaryCaptureDate ----> nc:BinaryType contains nc:BinaryCaptureDate +- 148) u:BinaryType contains u:BinaryCaptureTime ----> nc:BinaryType contains nc:BinaryCaptureDate +- 149) u:BinaryType contains u:BinaryCategoryText ----> nc:BinaryType contains nc:BinaryCategoryText +- 150) u:BinaryType contains u:BinaryDescriptionText ----> nc:BinaryType contains nc:BinaryDescriptionText +- 151) u:BinaryType contains u:BinaryFormatCategoryText ----> nc:BinaryType contains nc:BinaryFormatStandardName +- 152) u:BinaryType contains u:BinaryFormatText ----> nc:BinaryType contains nc:BinaryFormatID +- 153) u:BinaryType contains u:BinaryID ----> nc:BinaryType contains nc:BinaryID +- 154) u:BinaryType contains u:BinaryObject ----> nc:BinaryType contains nc:BinaryObject +- 155) u:BinaryType contains u:BinarySizeValue ----> nc:BinaryType contains nc:BinarySizeValue +- 156) u:ContactInformationType contains u:ContactEmailID ----> nc:ContactInformationType contains nc:ContactMeans +- 157) u:ContactInformationType contains u:ContactFacsimileNumber ----> nc:ContactInformationType contains nc:ContactMeans +- 158) u:ContactInformationType contains u:ContactMobileTelephoneNumber ----> nc:ContactInformationType contains nc:ContactMeans + +- 159) u:ContactInformationType contains u:ContactPagerNumber ----> nc:ContactInformationType contains nc:ContactMeans +- 160) u:ContactInformationType contains u:ContactTelephoneNumber ----> nc:ContactInformationType contains nc:ContactMeans +- 161) u:GeographicCoordinateType contains u:GeographicCoordinateLatitude ----> nc:TwoDimensionalGeographicCoordinateType contains nc:GeographicCoordinateLatitude +- 162) u:GeographicCoordinateType contains u:GeographicCoordinateLongitude ----> nc:TwoDimensionalGeographicCoordinateType contains nc:GeographicCoordinateLongitude +- 163) u:IDType contains u:ID ----> nc:IdentificationType contains nc:IdentificationID +- 164) u:IDType contains u:IDEffectiveDate ----> nc:IdentificationType contains nc:IdentificationEffectiveDate +- 165) u:IDType contains u:IDExpirationDate ----> nc:IdentificationType contains nc:IdentificationExpirationDate +- 166) u:IDType contains u:IDIssuingAuthorityText ----> nc:IdentificationType contains nc:IdentificationSourceText +- 167) u:IDType contains u:IDJurisdictionValue ----> nc:IdentificationType contains nc:IdentificationJurisdiction +- 168) u:IDType contains u:IDStatus ----> nc:IdentificationType contains nc:IdentificationStatus +- 169) u:LatitudeCoordinateType contains u:LatitudeDegreeValue ----> nc:LatitudeCoordinateType contains nc:LatitudeDegreeValue +- 170) u:LatitudeCoordinateType contains u:LatitudeMinuteValue ----> nc:LatitudeCoordinateType contains nc:LatitudeMinuteValue +- 171) u:LatitudeCoordinateType contains u:LatitudeSecondValue ----> nc:LatitudeCoordinateType contains nc:LatitudeSecondValue +- 172) u:LocationType contains u:LocationAddress ----> nc:LocationType contains nc:LocationAddress +- 173) u:LocationType contains u:LocationGeographicCoordinate ----> nc:LocationType contains nc:LocationTwoDimensionalGeographicCoordinate +- 174) u:LongitudeCoordinateType contains u:LongitudeDegreeValue ----> nc:LongitudeCoordinateType contains nc:LongitudeDegreeValue +- 175) u:LongitudeCoordinateType contains u:LongitudeMinuteValue ----> nc:LongitudeCoordinateType contains nc:LongitudeMinuteValue +- 176) u:LongitudeCoordinateType contains u:LongitudeSecondValue ----> nc:LongitudeCoordinateType contains nc:LongitudeSecondValue +- 177) u:MetadataType contains u:CommentText ----> nc:MetadataType contains nc:CommentText +- 178) u:MetadataType contains u:EffectiveDate ----> nc:MetadataType contains nc:EffectiveDate +- 179) u:MetadataType contains u:EffectiveTime ----> nc:MetadataType contains nc:EffectiveDate +- 180) u:MetadataType contains u:ExpirationDate ----> nc:MetadataType contains nc:ExpirationDate +- 181) u:MetadataType contains u:ExpirationTime ----> nc:MetadataType contains nc:ExpirationDate +- 182) u:MetadataType contains u:LastUpdatedDate ----> nc:MetadataType contains nc:LastUpdatedDate +- 183) u:MetadataType contains u:LastUpdatedTime ----> nc:MetadataType contains nc:LastUpdatedDate +- 184) u:MetadataType contains u:LastVerifiedDate ----> nc:MetadataType contains nc:LastVerifiedDate +- 185) u:MetadataType contains u:LastVerifiedTime ----> nc:MetadataType contains nc:LastVerifiedDate +- 186) u:MetadataType contains u:ReportedDate ----> nc:MetadataType contains nc:ReportedDate +- 187) u:MetadataType contains u:ReportedTime ----> nc:MetadataType contains nc:ReportedDate +- 188) u:MetadataType contains u:SourceIDText ----> nc:MetadataType contains nc:SourceIDText +- 189) u:OrganizationType contains u:OrganizationCategoryAbstract ----> nc:OrganizationType contains nc:OrganizationCategory +- 190) u:OrganizationType contains u:OrganizationName ----> nc:OrganizationType contains nc:OrganizationName +- 191) u:PersonNameType contains u:PersonFullName ----> nc:PersonNameType contains nc:PersonFullName +- 192) u:PersonNameType contains u:PersonGivenName ----> nc:PersonNameType contains nc:PersonGivenName +- 193) u:PersonNameType contains u:PersonMiddleName ----> nc:PersonNameType contains nc:PersonMiddleName +- 194) u:PersonNameType contains u:PersonSurName ----> nc:PersonNameType contains nc:PersonSurName +- 195) u:PersonType contains u:PersonAgeAbstractMeasure ----> nc:PersonType contains nc:PersonAgeMeasure + +- 196) u:PersonType contains u:PersonBirthDate ----> nc:PersonType contains nc:PersonBirthDate +- 197) u:PersonType contains u:PersonHeightAbstractMeasure ----> nc:PersonType contains nc:PersonHeightMeasure +- 198) u:PersonType contains u:PersonName ----> nc:PersonType contains nc:PersonName +- 199) u:PersonType contains u:PersonSSNID ----> nc:PersonType contains nc:PersonSSNIdentification +- 200) u:PersonType contains u:PersonSex ----> nc:PersonType contains nc:PersonSex +- 201) u:PersonType contains u:PersonWeightAbstractMeasure ----> nc:PersonType contains nc:PersonWeightMeasure +- 202) u:PropertyType contains u:PropertyDescriptionText ----> nc:ItemType contains nc:ItemDescriptionText +- 203) u:PropertyType contains u:PropertyHeightMeasure ----> nc:TangibleItemType contains nc:ItemHeightMeasure +- 204) u:PropertyType contains u:PropertyLengthMeasure ----> nc:TangibleItemType contains nc:ItemLengthMeasure +- 205) u:PropertyType contains u:PropertyMakeName ----> nc:TangibleItemType contains nc:ItemMakeName +- 206) u:PropertyType contains u:PropertyModelName ----> nc:TangibleItemType contains nc:ItemModelName +- 207) u:PropertyType contains u:PropertyValue ----> nc:ItemType contains nc:ItemValue +- 208) u:PropertyType contains u:PropertyWeightMeasure ----> nc:TangibleItemType contains nc:ItemWeightMeasure +- 209) u:PropertyType contains u:PropertyWidthMeasure ----> nc:TangibleItemType contains nc:ItemWidthMeasure +- 210) u:PropertyType contains u:PropertyYearDate ----> nc:TangibleItemType contains nc:ItemModelYearDate +- 211) u:PropertyValueType contains u:PropertyValueAmount ----> nc:ItemValueType contains nc:ItemValueAmount +- 212) u:PropertyValueType contains u:PropertyValueDate ----> nc:ItemValueType contains nc:ItemValueDate +- 213) u:PropertyValueType contains u:PropertyValueDescriptionText ----> nc:ItemValueType contains nc:ItemValueDescriptionText +- 214) u:RangeMeasureType contains u:RangeMaximumMeasure ----> nc:MeasureRangeValueType contains nc:RangeMaximumValue +- 215) u:RangeMeasureType contains u:RangeMinimumMeasure ----> nc:MeasureRangeValueType contains nc:RangeMinimumValue +- 216) u:StatusType contains u:StatusDate ----> nc:StatusType contains nc:StatusDate +- 217) u:StatusType contains u:StatusDescriptionText ----> nc:StatusType contains nc:StatusDescriptionText +- 218) u:StatusType contains u:StatusIssuerText ----> nc:StatusType contains nc:StatusIssuerText +- 219) u:StatusType contains u:StatusTime ----> nc:StatusType contains nc:StatusDate +- 220) u:StreetType contains u:StreetCategoryText ----> nc:StreetType contains nc:StreetCategoryText +- 221) u:StreetType contains u:StreetFullText ----> nc:StreetType contains nc:StreetFullText +- 222) u:StreetType contains u:StreetName ----> nc:StreetType contains nc:StreetName +- 223) u:StreetType contains u:StreetNumberText ----> nc:StreetType contains nc:StreetNumberText +- 224) u:StreetType contains u:StreetPostdirectionalText ----> nc:StreetType contains nc:StreetPostdirectionalText +- 225) u:StreetType contains u:StreetPredirectionalText ----> nc:StreetType contains nc:StreetPredirectionalText +- 226) u:TelephoneNumberType contains u:TelephoneAreaCodeID ----> nc:NANPTelephoneNumberType contains nc:TelephoneAreaCodeID +- 227) u:TelephoneNumberType contains u:TelephoneCityCodeID ----> nc:NANPTelephoneNumberType contains nc:TelephoneAreaCodeID 228) u:TelephoneNumberType contains u:TelephoneCountryCodeID ----> nc:InternationalTelephoneNumberType contains nc:TelephoneCountryCodeID +- 229) u:TelephoneNumberType contains u:TelephoneExchangeID ----> nc:NANPTelephoneNumberType contains nc:TelephoneExchangeID 230) u:TelephoneNumberType contains u:TelephoneNumberFullID ----> nc:FullTelephoneNumberType contains nc:TelephoneNumberFullID +- 231) u:TelephoneNumberType contains u:TelephoneSubscriberID ----> nc:NANPTelephoneNumberType contains nc:TelephoneLineID 232) u:TelephoneNumberType contains u:TelephoneSuffixID ----> nc:FullTelephoneNumberType contains nc:TelephoneSuffixID + +## Facets + +- 1) fips\_10-4:CountryCodeSimpleType-CG - ZAIRE ----> fips\_10-4:CountryCodeSimpleType-CG - CONGO, DEMOCRATIC REPUBLIC OF THE +- 2) fips\_10-4:CountryCodeSimpleType-FM - FEDERATED STATES OF MICRONESIA ----> fips\_10-4:CountryCodeSimpleType-FM - MICRONESIA, FEDERATED STATES OF +- 3) fips\_10-4:CountryCodeSimpleType-IM - MAN, ISLE OF ----> fips\_10-4:CountryCodeSimpleType-IM - ISLE OF MAN +- 4) fips\_10-4:CountryCodeSimpleType-IV - COTE D&apos;IVOIRE ----> fips\_10-4:CountryCodeSimpleType-IV - COTE D'IVOIRE +- 5) fips\_10-4:CountryCodeSimpleType-KN - KOREA, DEMOCRATIC PEOPLE&apos;S REPUBLIC OF ----> fips\_10-4:CountryCodeSimpleType-KN - NORTH KOREA +- 6) fips\_10-4:CountryCodeSimpleType-KS - KOREA, REPUBLIC OF ----> fips\_10-4:CountryCodeSimpleType-KS - SOUTH KOREA +- 7) fips\_10-4:CountryCodeSimpleType-MW - MONTENEGRO ----> fips\_10-4:CountryCodeSimpleType-MJ - MONTENEGRO +- 8) fips\_10-4:CountryCodeSimpleType-PS - TRUST TERRITORY OF THE PACIFIC ISLANDS (PALAU) ----> fips\_10-4:CountryCodeSimpleType-PS - PALAU +- 9) fips\_10-4:CountryCodeSimpleType-SB - ST. PIERRE AND MIQUELON ----> fips\_10-4:CountryCodeSimpleType-SB - SAINT PIERRE AND MIQUELON +- 10) fips\_10-4:CountryCodeSimpleType-SC - ST. KITTS AND NEVIS ----> fips\_10-4:CountryCodeSimpleType-SC - SAINT KITTS AND NEVIS +- 11) fips\_10-4:CountryCodeSimpleType-SH - ST. HELENA ----> fips\_10-4:CountryCodeSimpleType-SH - SAINT HELENA +- 12) fips\_10-4:CountryCodeSimpleType-SR - SERBIA ----> fips\_10-4:CountryCodeSimpleType-RB - SERBIA +- 13) fips\_10-4:CountryCodeSimpleType-ST - ST. LUCIA ----> fips\_10-4:CountryCodeSimpleType-ST - SAINT LUCIA +- 14) fips\_10-4:CountryCodeSimpleType-TC - UNITED ARAB EMIRATES ----> fips\_10-4:CountryCodeSimpleType-AE - UNITED ARAB EMIRATES +- 15) fips\_10-4:CountryCodeSimpleType-UV - BURKINA ----> fips\_10-4:CountryCodeSimpleType-UV - BURKINA FASO +- 16) fips\_10-4:CountryCodeSimpleType-VC - ST. VINCENT AND THE GRENADINES ----> fips\_10-4:CountryCodeSimpleType-VC - SAINT VINCENT AND THE GRENADINES +- 17) fips\_10-4:CountryCodeSimpleType-VQ - VIRGIN ISLANDS ----> fips\_10-4:CountryCodeSimpleType-VQ - UNITED STATES VIRGIN ISLANDS +- 18) fips\_10-4:CountryCodeSimpleType-WS - WESTERN SAMOA ----> fips\_10-4:CountryCodeSimpleType-WS - SAMOA +- 19) ncic:PROCodeSimpleType-IN - INBOARD\_(I ----> fbi:PROCodeSimpleType-IN - Inboard (includes inboard/outboard, stern drive, and inboard/outdrives) +- 20) ncic:PROCodeSimpleType-MP - MANUAL (OARS PADDLES) ----> fbi:PROCodeSimpleType-MP - Manual (oars, paddles, etc.) +- 21) ncic:PROCodeSimpleType-OB - OUTBOARD ----> fbi:PROCodeSimpleType-OB - Outboard +- 22) ncic:PROCodeSimpleType-SA - SAIL ONLY ----> fbi:PROCodeSimpleType-SA - Sail only +- 23) ncic:PROCodeSimpleType-SI - SAIL W/AUXILIARY INBOARD POWER ----> fbi:PROCodeSimpleType-SI - Sail w/Auxiliary Inboard Power +- 24) ncic:PROCodeSimpleType-SO - SAIL W/AUXILIARY OUTBOARD POWER ----> fbi:PROCodeSimpleType-SO - Sail w/Auxiliary Outboard Power +- 25) ncic:VMOCodeSimpleType-250 - (BMW) 2500 Series, BMW; (LEXS) ES250, Lexus; (MDNA) GT250, Modena; (MERZ) 250 Series, + +Mercedes-Benz; (TRIU) 250, Triumph ----> fbi:VMOCodeSimpleType-250 - (BMW) 2500 Series, BMW; (LEXS) ES250, Lexus; (MDNA) GT250, Modena; (MERZ) 250 Series, Mercedes-Benz; (TRIU) 250, Triumph; (LEXS) IS250, Lexus 26) ncic:VMOCodeSimpleType-325 - (BMW) 325, BMW ----> fbi:VMOCodeSimpleType-325 - (BMW) 325, BMW; (BMW) 325Xi, BMW 27) ncic:VMOCodeSimpleType-330 - (DODG) 330 Series, Dodge; (BMW) 330I, BMW; (LEXS) ES330, Lexus ----> fbi:VMOCodeSimpleType-330 - (DODG) 330 Series, Dodge; (BMW) 330I, BMW; (LEXS) ES330, Lexus; (BMW) 330Xi, BMW 28) ncic:VMOCodeSimpleType-350 - (MASE) 3500 (series), Maserati; (ROV) 3500, Rover; (NISS) 350Z, Nissan ; (MERZ) E350 OR SLK350, Mercedes Benz; (MERZ) S350, Mercedes - Benz; (ISU) i350, Isuzu ----> fbi:VMOCodeSimpleType-350 - (MASE) 3500 (series), Maserati; (ROV) 3500, Rover; (NISS) 350Z, Nissan ; (MERZ) E350 OR SLK350, Mercedes Benz; (MERZ) S350, Mercedes - Benz; (ISU) i350, Isuzu; (LEXS) IS350, Lexus 29) ncic:VMOCodeSimpleType-525 - (BMW) 525ia, BMW ----> fbi:VMOCodeSimpleType-525 - (BMW) 525ia, BMW; (BMW) 525i, BMW 30) ncic:VMOCodeSimpleType-750 - (BMW) 750, BMW; (FIAT) 750, Fiat; (RENA) 750, Renault ----> fbi:VMOCodeSimpleType-750 - (BMW) 750, BMW; (FIAT) 750, Fiat; (RENA) 750, Renault; (BMW) 750i, BMW; (BMW) 750L, BMW 31) ncic:VMOCodeSimpleType-760 - (VOLV) 760, Volvo; (BMW) 760 LI, BMW ----> fbi:VMOCodeSimpleType-760 - (VOLV) 760, Volvo; (BMW) 760 LI, BMW ; (BMW) 760i, BMW 32) ncic:VMOCodeSimpleType-ASP - (DODG) Aspen, Dodge; (FORD) Aspire, Ford (see English, French, German, and Italian Ford) ----> fbi:VMOCodeSimpleType-ASP - (DODG) Aspen, Dodge; (FORD) Aspire, Ford (see English, French, German, and Italian Ford); (CHRY) Aspen, Chrysler 33) ncic:VMOCodeSimpleType-AUR - (OLDS) Aurora, Oldsmobile ----> fbi:VMOCodeSimpleType-AUR - (OLDS) Aurora, Oldsmobile; (STRN) Aura, XE, XR, Saturn 34) ncic:VMOCodeSimpleType-C35 - (CHEV) C/K 3500, Chevrolet ----> fbi:VMOCodeSimpleType-C35 - (CHEV) C/K 3500, Chevrolet; (MERZ) C350, Mercedes Benz 35) ncic:VMOCodeSimpleType-CAL - (BUIC) California, Buick; (CADI) Calais, Cadillac; (OLDS) Calais, Oldsmobile ----> fbi:VMOCodeSimpleType-CAL - (BUIC) California, Buick; (CADI) Calais, Cadillac; (OLDS) Calais, Oldsmobile; (DODG) Caliber, Dodge 36) ncic:VMOCodeSimpleType-CSX - (SHEB) CSX, Shelby American ----> fbi:VMOCodeSimpleType-CSX - (SHEB) CSX, Shelby American; (ACUR) CSX, Acura 37) ncic:VMOCodeSimpleType-ENC - (AMER) Encore, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) ----> fbi:VMOCodeSimpleType-ENC - (AMER) Encore, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (BUIC) Enclave, Buick 38) ncic:VMOCodeSimpleType-G45 - (BUIC) GS455, Buick ----> fbi:VMOCodeSimpleType-G45 - (BUIC) GS455, Buick; (LEXS) GS450h, Lexus 39) ncic:VMOCodeSimpleType-OUT - (MITS) Outlander, Mitsubishi ----> fbi:VMOCodeSimpleType-OUT - (MITS) Outlander, Mitsubishi ; (STRN) Outlook, Saturn; (SUBA) Outback, Subaru 40) ncic:VMOCodeSimpleType-PAT - (PACK) Patrician, Packard ----> fbi:VMOCodeSimpleType-PAT - (PACK) Patrician, Packard; (JEEP) Patriot, Jeep 41) ncic:VMOCodeSimpleType-R35 - (DODG) Ram 3500 (pickup), Dodge ----> fbi:VMOCodeSimpleType-R35 - (DODG) Ram 3500 (pickup), Dodge; (LEXS) RX350, Lexus; (MERZ) R350 (Sport Wagon), Mercedes Benz 42) ncic:VMOCodeSimpleType-TAL - (EGIL) Talon, Eagle ----> fbi:VMOCodeSimpleType-TAL - (EGIL) Talon, Eagle; (TLCC) Talbo, TLC Carrossiers; (TLCC) Talbo Lago, TLC Carrossiers 43) unece:LengthCodeSimpleType-A - angstrom ----> unece:LengthCodeSimpleType-A11 - angstrom 44) unece:LengthCodeSimpleType-AU - astronomical unit ----> unece:LengthCodeSimpleType-A12 - astronomical unit + +- 45) unece:LengthCodeSimpleType-ch - chain ----> unece:LengthCodeSimpleType-X1 - chain +- 46) unece:LengthCodeSimpleType-cm - centimetre ----> unece:LengthCodeSimpleType-CMT - centimetre +- 47) unece:LengthCodeSimpleType-dam - decametre ----> unece:LengthCodeSimpleType-A45 - decametre +- 48) unece:LengthCodeSimpleType-dm - decimetre ----> unece:LengthCodeSimpleType-DMT - decimetre +- 49) unece:LengthCodeSimpleType-fathom - fathom ----> unece:LengthCodeSimpleType-AK - fathom +- 50) unece:LengthCodeSimpleType-fm - femtometre ----> unece:LengthCodeSimpleType-A71 - femtometre +- 51) unece:LengthCodeSimpleType-ft - foot ----> unece:LengthCodeSimpleType-FOT - foot +- 52) unece:LengthCodeSimpleType-hm - hectometre ----> unece:LengthCodeSimpleType-HMT - hectometre +- 53) unece:LengthCodeSimpleType-in - inch ----> unece:LengthCodeSimpleType-INH - inch +- 54) unece:LengthCodeSimpleType-km - kilometre ----> unece:LengthCodeSimpleType-KMT - kilometre +- 55) unece:LengthCodeSimpleType-l.y. - light year ----> unece:LengthCodeSimpleType-B57 - light year +- 56) unece:LengthCodeSimpleType-m - metre ----> unece:LengthCodeSimpleType-MTR - metre +- 57) unece:LengthCodeSimpleType-mil - milli- inch ----> unece:LengthCodeSimpleType-77 - milli-inch +- 58) unece:LengthCodeSimpleType-mile - mile (statute mile) ----> unece:LengthCodeSimpleType-SMI - mile (statute mile) +- 59) unece:LengthCodeSimpleType-mm - millimetre ----> unece:LengthCodeSimpleType-MMT - millimetre +- 60) unece:LengthCodeSimpleType-n mile - nautical mile ----> unece:LengthCodeSimpleType-NMI - nautical mile +- 61) unece:LengthCodeSimpleType-nm - nanometre ----> unece:LengthCodeSimpleType-C45 - nanometre +- 62) unece:LengthCodeSimpleType-pc - parsec ----> unece:LengthCodeSimpleType-C63 - parsec +- 63) unece:LengthCodeSimpleType-pm - picometre ----> unece:LengthCodeSimpleType-C52 - picometre +- 64) unece:LengthCodeSimpleType-uin - micro- inch ----> unece:LengthCodeSimpleType-M7 - micro-inch +- 65) unece:LengthCodeSimpleType-um - micrometre (micron) ----> unece:LengthCodeSimpleType-4H - micrometre (micron) +- 66) unece:LengthCodeSimpleType-yd - yard ----> unece:LengthCodeSimpleType-YRD - yard +- 67) unece:MassCodeSimpleType-cg - centigram ----> unece:MassCodeSimpleType-CGM - centigram +- 68) unece:MassCodeSimpleType-cwt (UK) - hundred weight (UK) ----> unece:MassCodeSimpleType-CWI - hundred weight (UK) +- 69) unece:MassCodeSimpleType-cwt (US) - hundred pounds (cwt)/ hundred weight (US) ----> unece:MassCodeSimpleType-CWA - hundred pounds (cwt) / hundred weight (US) +- 70) unece:MassCodeSimpleType-dag - decagram ----> unece:MassCodeSimpleType-DJ - decagram +- 71) unece:MassCodeSimpleType-dg - decigram ----> unece:MassCodeSimpleType-DG - decigram +- 72) unece:MassCodeSimpleType-dt - decitonne ----> unece:MassCodeSimpleType-DTN - decitonne +- 73) unece:MassCodeSimpleType-g - gram ----> unece:MassCodeSimpleType-GRM - gram +- 74) unece:MassCodeSimpleType-gr - grain ----> unece:MassCodeSimpleType-GRN - grain +- 75) unece:MassCodeSimpleType-hg - hectogram ----> unece:MassCodeSimpleType-HGM - hectogram +- 76) unece:MassCodeSimpleType-kg - kilogram ----> unece:MassCodeSimpleType-KGM - kilogram +- 77) unece:MassCodeSimpleType-kt - kilotonne ----> unece:MassCodeSimpleType-KTN - kilotonne +- 78) unece:MassCodeSimpleType-lb - pound ----> unece:MassCodeSimpleType-LBR - pound +- 79) unece:MassCodeSimpleType-mg - milligram ----> unece:MassCodeSimpleType-2U - megagram +- 80) unece:MassCodeSimpleType-oz - ounce ----> unece:MassCodeSimpleType-ONZ - ounce +- 81) unece:MassCodeSimpleType-stone - stone (UK) ----> unece:MassCodeSimpleType-STI - stone (UK) +- 82) unece:MassCodeSimpleType-t - tonne (metric ton) ----> unece:MassCodeSimpleType-TNE - tonne (metric ton) +- 83) unece:MassCodeSimpleType-ton (UK) - ton (UK) or longton (US) ----> unece:MassCodeSimpleType-LTN - ton (UK) or long ton (US) + +84) unece:MassCodeSimpleType-ton (US) - ton (US) or short ton (UK/US) ----> unece:MassCodeSimpleType-STN - ton (US) or short ton (UK/US) + +85) unece:MassCodeSimpleType-tr oz - troy ounce or apothecaries&apos; ounce ----> unece:MassCodeSimpleType-APZ - troy ounce or apothecary ounce + +[Back to Top] \ No newline at end of file diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/docs/LEXS_3.1_User_Guide-rev10.md b/GeneratedSchemaLibraries/LEXS-NIEM/docs/LEXS_3.1_User_Guide-rev10.md new file mode 100644 index 00000000..cecfac78 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/docs/LEXS_3.1_User_Guide-rev10.md @@ -0,0 +1,2612 @@ +![Image](data:image/png;base64,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) + +## U.S. Department of Justice (DOJ) + +## Logical Entity Exchange Specification 3.1 (LEXS) + +## User Guide + +## Revision 10 + +## Change History + +| Rev | Date | Author | Description of Revision | +|-------|------------|--------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------| +| 1 | 10/30/2007 | Debby Park | Initial version, chapters 1 and 2 only (LEXS 3.1.0) | +| 2 | 11/17/2007 | Debby Park | Updates to chapters 1 and 2, initial version of chapters 3-6 and appendices A-F (LEXS 3.1.0) | +| 3 | 12/18/2007 | Debby Park | Updates to revision 2 per LEISP reviewers (LEXS 3.1.0) | +| 4 | 1/18/2008 | Debby Park | Updates to revision 3 per LEISP reviewers (LEXS 3.1.0) | +| 5 | 2/12/2008 | Debby Park Jack Wallace | Updates for LEXS 3.1.1, and additional information on associations | +| 6 | 3/10/2008 | Debby Park Jack Wallace | Updates to revision 5 per LEISP reviewers (LEXS 3.1.1) | +| 7 | 8/7/2008 | Jack Wallace | Updates for LEXS 3.1.3 | +| 8 | 1/15/2009 | Debby Park Priscilla Walmsley Jack Wallace | Expands text for Number of Structured Payload Terms and Match Score, corrects typos, includes minor wording changes, and adds chapter 7 (LEXS 3.1.3) | +| 9 | 1/27/2009 | Jack Wallace | Includes explicit notation for changes between LEXS versions and draft updates for LEXS 3.1.4 | + +Note that this document is for all versions of LEXS 3.1 that were available at the time of writing. Each 3.1 release is backward compatible with all previous 3.1 releases, meaning each new release only includes new elements, loosened cardinality (e.g. from 1-n to 0-n), or type changes that do not impact instances. For example, any instance valid for LEXS 3.1.0 is also valid for LEXS 3.1.1. + +The change history above indicates the LEXS version that the guide was updated to include. For example, revision 6 is the last revision made for LEXS 3.1.1 and revision 7 is the first revision that incorporates LEXS 3.1.3 changes. + +The most recent version of this document can be used for the current as well as any previous version of LEXS 3.1 since the document indicates additions/changes and the LEXS version for which the change was made. For example, LEXS 3.1.1 added a new Intangible Item Entity, so references in this guide that discuss Intangible Item are noted as ' (3.1.1 and later) '. + +## Acknowledgments + +This document was developed through a collaborative effort sponsored by the U.S. Department of Justice (DOJ) Law Enforcement Information Sharing Program (LEISP) and written by the Georgia Tech Research Institute (GTRI), as a product of a project funded by the Office of Justice Programs (OJP), U.S. Department of Justice, + +The following individuals have attended our project meetings, assisted on this research effort, provided input, and reviewed this report: + +Debby Park, Editor - GTRI Benjamin Shrom - GTRI Jack Wallace - GTRI John Wandelt - GTRI Jeremy Warren, CTO - DOJ / LEISP Boris Shur, Chief Data Architect - DOJ / LEISP Sudhi Umarji - DOJ / LEISP / Trusted Federal Priscilla Walmsley - DOJ / LEISP / Datypic + +## Table of Contents + +| 1 Introduction ............................................................................................................................. | 1 Introduction ............................................................................................................................. | 1 Introduction ............................................................................................................................. | +|------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------| +| 1.1 | Logical Entity Exchange Specification ........................................................................... | 7 7 | +| 1.2 | Audience ......................................................................................................................... | 9 | +| 2 LEXS Conceptual Model ...................................................................................................... | 2 LEXS Conceptual Model ...................................................................................................... | 10 | +| 2.1 | Conceptual Overview.................................................................................................... | 10 | +| 2.1.1 | NIEM | .................................................................................................................... 10 | +| 2.1.2 | LEXS..................................................................................................................... | 11 | +| 2.1.3 | LEXS Information Environment | ........................................................................... 12 | +| 2.2 LEXS Supported Operations ......................................................................................... | 2.2 LEXS Supported Operations ......................................................................................... | 14 | +| 2.2.1 | LEXS PD .............................................................................................................. | 15 | +| 2.2.2 | LEXS SR ............................................................................................................... | 15 | +| 2.3 Key Concepts ................................................................................................................ | 2.3 Key Concepts ................................................................................................................ | 16 | +| 2.3.1 | Message................................................................................................................. | 16 | +| 2.3.2 | Package ................................................................................................................. | 17 | +| 2.3.3 | Metadata | ................................................................................................................ 18 | +| 2.3.4 | Digest .................................................................................................................... | 18 | +| 2.3.5 | Structured Payload ................................................................................................ | 19 | +| 2.3.6 | Narrative | ............................................................................................................... 19 | +| 2.3.7 | Rendering Instructions .......................................................................................... | 20 | +| 2.3.8 | Attachment and Attachment Link | ......................................................................... 20 | +| 2.3.9 | Associations .......................................................................................................... | 20 | +| 2.3.10 | Roles ..................................................................................................................... | 21 | +| 2.3.11 | Levels of understanding ........................................................................................ | 21 | +| 3 | Publish Operation .................................................................................................................. | 24 | +| 4 | Search and Retrieve Operations ............................................................................................ | 26 | +| 4.1 | doTextSearchRequest ................................................................................................... | 26 | +| 4.2 4.3 | doStructuredSearchRequest doSearchResponse ........................................................................................................ | .......................................................................................... 27 28 | +| 4.4 | getDataItemRequest ...................................................................................................... | 30 | +| 4.5 | getDataItemResponse ................................................................................................... | 31 | +| 4.6 | getAttachmentRequest .................................................................................................. | 33 | +| 4.7 | getAttachmentResponse ................................................................................................ | 33 | +| 4.8 | getCapabilitiesRequest .................................................................................................. | 34 | +| 4.9 | ............................................................................................... | 35 | +| 4.10 getDataOwnersRequest | getCapabilitiesResponse | ................................................................................................. 38 | +| 4.11 | getDataOwnersResponse | .............................................................................................. 38 | +| 4.12 | .................................................................................................. | 40 | +| 4.13 getAvailabilityResponse | getAvailabilityRequest | ............................................................................................... 40 | +| 4.14 | getDomainRequest (3.1.4 and later) ............................................................................. | 41 | +| 4.15 | getDomainResponse (3.1.4 and later) ........................................................................... | 42 | +| 5 Supporting Structures............................................................................................................ | 5 Supporting Structures............................................................................................................ | 44 | +| 5.1 | LEXS Structures | ........................................................................................................... 44 | +| 5.1.1 | Attachment | ............................................................................................................ 44 | +| 5.1.2 5.1.3 | AttachmentLink .................................................................................................... DataItemCategory | 45 ................................................................................................. 46 | + +6 + +7 + +| 5.1.4 | DataItemPackage .................................................................................................. | 46 | +|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------| +| 5.1.5 | DataOwnerContact / SystemContact / DataItemContact ...................................... | 47 | +| 5.1.6 | DataOwnerIdentifier ............................................................................................. | 48 | +| 5.1.7 | DataOwnerMetadata ............................................................................................. | 49 | +| 5.1.8 | Digest .................................................................................................................... | 50 | +| 5.1.9 | DomainAttribute ................................................................................................... | 50 | +| 5.1.10 | MessageOriginMetadata and DataSubmitterMetadata ......................................... | 51 | +| 5.1.11 | NumberOfStructuredPayloadTerms | ..................................................................... 52 | +| 5.1.12 | PackageMetadata .................................................................................................. | 53 | +| 5.1.13 | PDMessageMetadata ............................................................................................. | 56 | +| 5.1.14 | RenderingInstructions | ........................................................................................... 57 | +| 5.1.15 | ResponseMetadata | ................................................................................................ 58 | +| 5.1.16 | SearchRequestMetadata | ........................................................................................ 59 | +| 5.1.17 | SearchResponseMetadata | ..................................................................................... 61 | +| 5.1.18 | SearchResultPackage | ............................................................................................ 63 | +| 5.1.19 | SRMessageMetadata ............................................................................................. | 63 | +| 5.1.20 | StructuredPayload | ................................................................................................. 65 | +| 5.1.21 | StructuredPayloadMetadata | .................................................................................. 66 | +| 5.1.22 | StructuredPayloadsRequestedAbstract | ................................................................. 67 | +| 5.1.23 | StructuredQuery | .................................................................................................... 67 | +| 5.1.24 | UserAssertion ........................................................................................................ | 69 | +| 5.2 NIEM Structures ........................................................................................................... | 5.2 NIEM Structures ........................................................................................................... | 70 | +| 5.2.1 | Metadata | ................................................................................................................ 70 | +| 5.2.2 | Roles | ..................................................................................................................... 71 | +| 5.2.3 | | 73 | +| | Associations .......................................................................................................... | 78 | +| 5.3 LEXS References .......................................................................................................... | 5.3 LEXS References .......................................................................................................... | | +| 5.3.1 | Attachment Referencing ....................................................................................... | 78 | +| 5.3.2 | SameAsDigestReference....................................................................................... | 82 | +| 5.3.3 | SameAsPayloadReference (3.1.1 and later) | ......................................................... 84 | +| 5.3.4 | SameAsPayloadAssociation ................................................................................. | 89 | +| 5.3.5 | AttachmentLinkReference (3.1.3 and later) ......................................................... | 91 | +| 5.3.6 | Indicating Entities Are or May Be the Same | ........................................................ 93 | +| Building Queries ................................................................................................................... | Building Queries ................................................................................................................... | 97 | +| 6.1 Text Query .................................................................................................................... 6.2 Structured Query ........................................................................................................... | 6.1 Text Query .................................................................................................................... 6.2 Structured Query ........................................................................................................... | 97 | +| | | 98 | +| Working with Attachments and Rendering Instructions ..................................................... | Working with Attachments and Rendering Instructions ..................................................... | 110 | +| 7.1 Scenarios for Interacting with a LEXS SR Server ...................................................... | 7.1 Scenarios for Interacting with a LEXS SR Server ...................................................... | 110 | +| 7.1.1 | Scenario 1: Retrieving entire data items ............................................................. | 110 | +| 7.1.2 | Scenario 2: Retrieving attachments based on search results | ............................... 112 | +| 7.1.3 | Scenario 3: Retrieving attachments with search results ...................................... | 114 | +| 7.2 Attachment URLs ....................................................................................................... | 7.2 Attachment URLs ....................................................................................................... | 116 | +| 7.2.1 | Escaping the Attachment URIs ........................................................................... | 116 | +| 7.2.2 | Formulating the URL .......................................................................................... | 118 | +| 7.3 Caching of Attachments .............................................................................................. | 7.3 Caching of Attachments .............................................................................................. | 119 | +| Appendix A - Entity examples ................................................................................................... | Appendix A - Entity examples ................................................................................................... | 121 | +| Appendix B - LEXS 3.1 Associations ........................................................................................ | Appendix B - LEXS 3.1 Associations ........................................................................................ | 123 | + +| Associations Involving Persons .......................................................................................... | 123 | +|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------| +| Associations Involving Organizations ................................................................................ | 124 | +| Associations Involving Locations ....................................................................................... | 124 | +| Associations Involving Items, including CreditCard (3.1.4 and later) , Drug, Explosive, Firearm, Substance, TangibleItem and IntangibleItem (3.1.1 and later) ............................ | 126 | +| Associations Involving Conveyances, including Aircraft, Vehicle, and Vessel ................. | 126 | +| Associations Involving Activity ......................................................................................... | 127 | +| Associations Involving Email ............................................................................................. | 128 | +| Associations Involving InstantMessenger (3.1.4 and later) ............................................... | 128 | +| Associations Involving NetworkAddress (3.1.4 and later) ................................................ | 128 | +| Associations Involving TelephoneNumber ......................................................................... | 128 | +| Associations Involving Hash (3.1.4 and later) ................................................................... | 128 | +| Associations Involving Document (3.1.4 and later) ........................................................... | 128 | +| Associations Involving Package Structure .......................................................................... | 128 | +| Appendix C - LEXS 3.1 Roles ................................................................................................... | 130 | +| Roles of Person ................................................................................................................... | 130 | +| Roles of Organization ......................................................................................................... | 131 | +| Roles of Item ....................................................................................................................... | 131 | +| Appendix D - Search Result Paging Support ............................................................................. | 132 | +| Appendix E - Error/Warning Categories .................................................................................... | 136 | +| Appendix F - Data Owner/Submitter and Message Origin/Destination ..................................... | 138 | + +## 1 Introduction + +The U.S. Department of Justice (referred to herein as 'DOJ') is transforming the way it shares law enforcement information with its federal, state, local, and tribal law enforcement partners. The vision is to create relationships and methods that allow information to be shared routinely across jurisdictional boundaries to prevent terrorism and to systematically improve the investigation and prosecution of criminal activity. DOJ will achieve its vision by formulating information sharing policies and standard business practices and by creating a unified, DOJ-wide technology architecture that will position DOJ as a committed partner in an information sharing environment of federal, state, local, and tribal law enforcement agencies. + +The strategy for DOJ's transformation is implemented through the DOJ Law Enforcement Information Sharing Program (LEISP). This strategy is the result of a collaborative process involving senior leadership from DOJ component agencies and representatives from across the national law enforcement community. LEISP includes an initiative known as OneDOJ, for sharing DOJ data-from all its components-and is aligned with the Information Sharing Environment (ISE) mandated by the Intelligence Reform and Terrorism Prevention Act of 2004. + +National Information Exchange Model, NIEM, is an interagency initiative to provide the foundation and building blocks for national-level interoperable information sharing and data exchange. The NIEM project was formally announced at the Global Justice XML Data Model (Global JXDM) Executive Briefing on February 28, 2005. It was initiated as, and continues to be, a joint venture between the U.S. Department of Homeland Security (DHS) and DOJ with outreach to other departments and agencies. The base technology for NIEM is derived from the Global JXDM. + +This document covers the Logical Entity Exchange Specification (LEXS, pronounced "lex"), which leverages and reuses work from both LEISP and NIEM. It is intended to provide sufficient information for development of LEXS-conformant exchanges. The user guide presents a conceptual overview of LEXS version 3.1 and describes the LEXS data model, syntax, semantics, and usage guidance. The document is structured to provide details on the top-level requests and responses and the complex structures they utilize. + +## 1.1 Logical Entity Exchange Specification + +LEXS was created to support the primary objectives of LEISP and to minimize the impact of the changing requirements and varied demands for information sharing on the sources and consumers of law enforcement data. While LEXS originated from law enforcement needs, it has been designed for a broad audience and is not limited to use by the law enforcement community. + +LEXS is intended to address two aspects of information sharing: + +- define and consistently describe units of information to be shared +- define interfaces and protocols to provide (publish) as well as search and retrieve such information + +LEXS provides an extensible framework for consistent packaging of the information, with specific placement and markings for various elements of the shared information. The LEXS specification shields both data sources and data recipients from the complexity of multiple interfaces and allows for the multipurpose use of information: for example, a data item created by a source can be consumed by multiple recipients that should be able to understand as much or as little of the data as necessary. + +This document describes LEXS 3.1. The different versions of LEXS were released as follows: + +- LEXS 1.0 - April 2005 +- LEXS 3.0 - January 2007 +- LEXS 2.0 - February 2006 +- LEXS 3.1 - August 2007 + +LEXS 1.0 was limited to support the sharing of unstructured data (e.g., text, narratives). LEXS 1.0 is no longer recommended for use because it does not offer support for structured data. + +LEXS 2.0 introduced a structured data model to describe real-world objects (e.g., persons, places, locations) and associations between these objects. Since LEXS 2.0 supports the representation of structured data, LEXS 2.0-based systems can support functionality such as link charting / analysis and geo-spatial mapping. + +LEXS 3.0 further enhanced the specification by extending the LEXS 2.0 data model in a number of ways based on feedback received from LEXS 2.0 implementation experiences and new capabilities introduced in NIEM 1.0. Most importantly, LEXS 3.0 introduced a mechanism that allows implementers to define customized (e.g., regional, community, domain, agency specific) structured content that can be carried as payload within a LEXS 3.0 envelope + +LEXS 3.1 is based on NIEM 2.0. It also adds a Substance entity, and explicitly defines data origin, data destination, data submitter, and data owner. LEXS 3.1 also adds support for search and retrieve in addition to the publication capabilities inherent in LEXS 3.0. LEXS 3.1.1 added an Intangible Item entity, while LEXS 3.1.4 added entities for Credit Card, Document, Hash, Instant Messenger, and Network Address. + +It is expected that existing implementations of LEXS will eventually migrate to LEXS 3.1 and any new projects being launched will move directly to this version or the subsequent version in the 3.x series. + +LEXS 3.1 specifications can be obtained from the LEXS area on the Office of Justice Programs + +(OJP) Information Technology (IT) Initiative's Web site at http://it.ojp.gov/jsr/common/viewDetail.jsp?sub\_id=256&view=yes&keyword=1. Any updates to this document will also be posted at the same site. In addition, this site also contains downloadable XML schemas for both LEXS 2.0 1 and LEXS 3.0 2 . + +1 http://it.ojp.gov/jsr/common/viewDetail.jsp?sub\_id=245&view=yes&keyword=1 + +2 http://it.ojp.gov/jsr/common/viewDetail.jsp?sub\_id=246&view=yes&keyword=1 + +In supporting the LEISP initiative, DOJ intends to leverage as many of its currently existing or planned information sharing investments as possible. DOJ has identified two investments that will provide capabilities that map well to some of the functions within the LEISP architecture. Deployment of these DOJ investments will facilitate increased timely access to DOJ's law enforcement information. These investments are the OneDOJ and the National Data Exchange (N-DEx) programs. Each investment will be the catalyst to fulfill a portion of the overall LEISP architecture. + +## 1.2 Audience + +This document is intended for the reader who needs to understand LEXS 3.1. It also presents introductory and context-setting information regarding LEXS 3.1, which may be of interest to business or policy managers involved in law enforcement and government. This document has been prepared as a reference to communicate best practices and tips to implementers. Subsequent sections of this document contain XML fragments in an attempt to either explain a concept or communicate a best practice. Wherever specific tag names or sample XML fragments differ from the latest versions of the schema, the schema is the authoritative source. + +As stated before, this document describes technical specifications. Questions regarding legal, privacy and political matters will not be addressed here. There are no provisions for specific security markings or tearlines. Questions about what data can be shared, what data must not be shared and the process for deciding whether a particular data element is sharable or not is outside the scope of this document. Our focus is to understand specifications that describe how information sharing will occur once a decision has been made that certain information must be shared. + +## 2 LEXS Conceptual Model + +To use LEXS effectively, it is important to understand LEXS from a conceptual level as well as the detailed LEXS structures and business rules. This section presents the fundamental concepts underlying the LEXS approach and lays the foundation for the detailed specifications presented later in the document. + +## 2.1 Conceptual Overview + +LEXS is based on the structures, standards, and usage guidelines of the National Information Exchange Model, including NIEM Naming and Design Rules (NDR), and is built in the style of NIEM Information Exchange Package Documentation (IEPD). LEXS, however, is not a traditional IEPD. An IEPD is a collection of XML schemas and other documentation that represents a specific information exchange; in contrast, LEXS provides a framework that can be used by a number of different communities to create IEPDs documenting a number of different exchanges. LEXS promotes broad information sharing since any information consumer from any community that understands LEXS can understand and process a basic level of information in any LEXS-conformant exchange. + +## 2.1.1 NIEM + +NIEM, the National Information Exchange Model, is the result of a collaborative partnership of agencies and organizations across all levels of government (federal, state, tribal, and local), and with private industry. The purpose for this partnership is to effectively and efficiently share critical information at key decision points throughout the whole of the justice, public safety, emergency and disaster management, intelligence and homeland security enterprise. + +NIEM provides structure, standards and methods for defining and sharing information exchanges between and within agencies and domains. Developing and implementing exchanges using NIEM means that the major investments local, state, tribal, and federal governments have made in existing information systems can be leveraged, and that these government agencies can efficiently participate in a national information sharing environment. NIEM standards enable different information systems to share and exchange information irrespective of the particular technologies at use. + +NIEM can be thought of as a data model and a reference vocabulary from which XML Schemabased data components are constructed. These components (which are XML data elements) serve as the basis for information exchanges. In NIEM and in this document, the term element refers to a unit of information which may be simple (indivisible) or complex (consist of other elements). In conjunction with the concepts and rules that underlie the NIEM structure, maintain its consistency and govern its use, these NIEM data components can be reused by information practitioners to create an Information Exchange Package Documentation (IEPD). An IEPD is a collection of XML schemas, XML instances, and other documentation and artifacts that is the electronic representation of the rules governing an information exchange. + +## 2.1.2 LEXS + +LEXS provides a flexible, NIEM-based framework used for the creation of NIEM-conformant IEPDs for information sharing, both for publishing information and for system-to-system federated searches. + +LEXS specifies a set of schemas that establish consistent definitions supporting publication, search, and retrieval, both at a data level and a structural level. LEXS data elements and structures are organized into components that support the underlying actions required to accomplish the publication, search, and retrieval operations fundamental to information sharing. All LEXS-conformant implementations are based on well-defined structures allowing for a common understanding of what data is available and how it is organized. The LEXS specification was designed and built based on input from a number of programs and, therefore, LEXS is not limited to a specific exchange or a small set of exchanges. LEXS has been designed for use by a broad audience. + +LEXS utilizes a generic paradigm for information sharing called the data item . A data item is whatever the source considers a logical unit of information. For example, to an incident-based reporting system, a logical unit of information is an incident report that may contain activities, people, places, and things. To a prison system, a logical unit of information is an inmate record that may just have information about a person. The data item concept provides a single, generic container that can be used to encapsulate different types of data needed by various communities. The data item can be thought of as a collection of structured entities, attributes of these entities, relationships between these entities and unstructured textual information. + +Since no set of NIEM subset and extension schemas can support all communities due to varying needs, LEXS supports multiple levels of understanding . There is a base level of data that all LEXS implementations understand, plus a well-defined extension mechanism that allows communities to plug in additional content, referred to as structured payload , without impacting anyone's understanding of the base level. Since all LEXS implementations understand the base level, communities only have to develop an Information Exchange Package once in order to be able to share information with all other LEXS implementations. Where additional content is required for a selected community, modules can be written to deal specifically with information in the structured payload rather than rewriting the implementation for a completely different exchange. + +LEXS defines a high level set of commonly understood, structured base objects which represent real-world objects such as person, location, or vehicle. For each base object, LEXS specifies NIEM content which provides a wide range of data representation capabilities. LEXS includes a large number of NIEM roles and associations and defines additional roles and associations needed by the LEXS community to provide detailed context for all data. These base objects, roles, and associations provide a great deal of flexibility to communities so each can define their own data items. LEXS groups these base objects and their applicable roles into entities . For example, a LEXS person entity includes a person base object and roles such as subject, witness and victim. In this document, the term object is used to refer to a base object or a role. + +LEXS also provides mechanisms so that sources can indicate that two entities are the same, or may be the same, in order to make local information known globally. For example, a data source may have an incident report involving Joe Smith and another incident report involving Joe Smith where the underlying person is known to be one and the same (i.e. same record in the database). So LEXS lets the data source indicate that it knows that both reports refer to the same person. As another example, a data source may have an incident report with Jane Doe and another incident report with Mary Doe, and through some analysis (either due to an investigator making the determination or perhaps through some form of automated entity resolution) the data source indicates that the underlying person is believed to be the same. In this case, LEXS lets the data source indicate that Jane Doe and Mary Doe may be the same person. + +## 2.1.3 LEXS Information Environment + +Federal law enforcement agencies, as well as state, local, and tribal organizations, often collectively referred to as regional organizations, have a wealth of criminal history and incident information. When two organizations mutually allow for two-way sharing of law enforcement information, with each party retaining ownership and possession of its information they are partners in law enforcement information sharing and each of the systems is referred to as a partner system. + +While LEXS is based on a general model for information sharing, it is helpful to consider a specific information sharing initiative, to gain a better understanding of the concepts in the more general model. Consider the OneDOJ initiative referred to earlier. OneDOJ is the data repository for full-text and structured, shareable, sensitive but unclassified (SBU), DOJ law enforcement data, which serves two main functions: providing regional systems with access to DOJ's data and providing DOJ users with access to data in regional systems. Since OneDOJ functions as the data repository on behalf of DOJ, DOJ investigative components (e.g., the Bureau of Alcohol, Tobacco, Firearms, and Explosives (ATF); the Drug Enforcement Administration (DEA); the Federal Bureau of Investigation (FBI), and the U.S. Marshals Service (USMS)) publish their sharable data to OneDOJ. In this specification the term data source is used to refer to a system that is operated by an organization (e.g., DOJ investigative component) that publishes information to a data repository. The data repository that receives and ingests the published information is referred to as a data consumer , in this case, OneDOJ. The data source publishes periodically as determined by operations guidelines. A service provider is the system or application that provides access to the data, such as LInX or ARJIS. + +In the LEXS model, queries are performed between partner systems. When a user forms a query by describing the information he is looking for, he gets back a list of data items which match that query. The query may be executed against the local repository where the user is 'logged in' and/or the user's system may forward the search request to a partner system that it can interoperate with. The partner system in turn can execute the same query against its own repository and return results to the user's system which then displays the information to the user. In the scenario just described, where a query is forwarded to a partner system we refer to the query as federated . + +Figure 1. LEXS SR and LEXS PD in OneDOJ + +![Image](data:image/png;base64,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) + +The terms data source, partner system or data consumer do not define system types, but describe roles that systems can have. The same system can have more than one role; hence one or more of these terms may apply to the same system. For illustrative purposes, Figure 1 shows how these terms can be applied to some of the participants in the OneDOJ environment. In this context, the term data source refers to systems operated by ATF, BOP, DEA, FBI, and USMS that are currently publishing (uploading) information to OneDOJ, the data consumer, using LEXS. On the other hand, LInX and ARJIS are not data sources in the context of this definition. Though LInX and ARJIS may operate as data sources or data consumers with respect to other systems, they are not data sources or data consumers for OneDOJ. However, both LInX and ARJIS are partner systems in relation to OneDOJ since this term refers to a system that interacts with OneDOJ by allowing its users to remotely submit queries to OneDOJ. When OneDOJ responds, the partner system presents the user who submitted the query with results from OneDOJ. The same applies when a OneDOJ user makes a query against the partner system. Note that in this example OneDOJ has the role of data consumer in relation to ATF, BOP, DEA, FBI, and USMS and the role of partner system in relation to LInX and ARJIS. + +ATF, BOP, DEA, FBI, and USMS are not operating any partner systems with OneDOJ in the context of this definition. Currently users from ATF, BOP, DEA, FBI, and USMS access shared information by logging directly into OneDOJ. + +The term LEXS PD (Publication and Discovery) applies to the interface between data sources and data consumers, while the term LEXS SR (Search and Retrieval) applies to the interface between partner systems. It is possible that a given system is both a data source and a partner system. + +In addition, it must be noted that we have used the term data source to refer to a system that is operated by an organization (e.g., DOJ investigative component) that publishes information to a data repository. In general, unless explicitly stated otherwise, the assumption is that the data source 'owns' the information that it publishes. It is indeed also possible for the data repository to republish information that it has previously received from another source. When a data repository republishes information that it does not own, it is acting as an aggregator and to distinguish this case from one in which a data source only publishes what it owns, we use the term data submitter to refer to aggregators. We use the term data owner to refer to the original owner of the information. + +Figure 2. Data Submitters vs. Data Owners + +![Image](data:image/png;base64,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) + +In Figure 2, system B may be a data submitter to system C for information owned by system A. For a particular piece of information that was published to C, through such a route, A is the data owner and B is the data submitter. In addition, system A may also submit directly to C in which case, it is both data owner and data submitter for information published in that operation. See Appendix F - Data Owner/Submitter and Message Origin/Destination for additional details. + +## 2.2 LEXS Supported Operations + +Two basic categories of operations are defined by separate LEXS schemas which are supported by shared schemas that provide common definitions of real-world objects and structures. + +LEXS Publication and Discovery (LEXS PD) is for publishing and updating data from a source to a consumer. It is currently used for data owners (or submitters) to publish to OneDOJ, N-DEx and other information sharing systems. + +LEXS Search and Retrieval (LEXS SR) is for system-to-system federated searches and allows result drill-down to obtain more detailed information. It is currently used for interconnections between OneDOJ and partner systems such as LInX, ARJIS, T-DEx, etc. + +## 2.2.1 LEXS PD + +LEXS PD supports the action of publishing sharable information to a data repository. LEXS PD provides the data elements and structures required to represent the data and metadata associated with publishing data. The data repository receives and records the published information, generally, for the purpose of analysis, making it easier, faster, and less expensive to share data. In publishing data, a source system submits one or multiple data items in a single, one-way action to a data consumer; LEXS does not define an acknowledgment action. + +## 2.2.2 LEXS SR + +LEXS SR represents a number of requests and corresponding responses that support data search and retrieval. LEXS SR supports requests that fall into two broad categories, data requests and service provider requests. + +LEXS data requests provide the mechanisms for retrieving data from partner systems and include four specific requests: text search, structured search, data item request, and attachment request. + +LEXS service provider requests ask for system information about partner systems including capabilities, data owners, and availability. + +## 2.2.2.1 Data Requests + +In LEXS, search and retrieval of data is a multi-step process. A search request uses information that broadly identifies the target being sought and returns possible candidates for the user to examine further. In general, a search query is followed by a data item or attachment request. For instance, a search request for information about a person might be issued using a first and last name. Usually this is not enough information to specifically identify a single person. As a result of the search, the queried systems respond with information related to any person having the specified first and last name. The intent is that the user can narrow the search by reviewing the search response and then request more detailed information on a specific data item or a limited set of data items. + +LEXS SR provides two search requests. A structured search request looks for specific elements with certain values, such as a first name of 'John' and a last name of 'Smith.' A text search request is used to search for a value in any context, that is, no element name is specified. Depending on the implementation, the text search could be performed on unstructured data, such as a report, or on structured data, such as a name or narrative element. For example, a text search for the phrase 'John Smith' on unstructured data might find a match in an incident report. A text search on structured data might find 'John Smith' in the PersonFullName field. + +The response from either a structured search or a text search can contain information about data items and/or attachments, such as mug shots and documents, associated with the search parameters. A data item request is used to get details on a specific data item. An attachment request asks for one or more Attachments described in a search response. Either a data item or an attachment request is a follow-up query to a search request and uses the unique identifier supplied by the search response to identify a single target in a single partner system. + +A search response may be sparsely populated and data items may contain only elements that are commonly used to help discriminate one data item from another. A data item response should contain all available details and contextual information associated with the requested data items. + +## 2.2.2.2 Service Provider Requests + +For service provider requests, LEXS defines requests and corresponding responses that ask for specific types of information. For instance, one request allows a data consumer to ask for information about a service provider's data owners. The response contains the list of data owners available, including capabilities supported over each data owner's data set, such as whether the data owner supports structured searches, unstructured searches or both. There are additional requests and responses defined to determine the capabilities and the availability of the service provider. These requests can be issued alone, preceding or following any other LEXS request. + +## 2.3 Key Concepts + +There are a number of key concepts that underlie the design of LEXS. To understand how to use LEXS it is essential to understand these fundamental building blocks. + +## 2.3.1 Message + +The message is the basic structure that wraps LEXS requests and responses. In reality, LEXS defines a number of different message structures for different purposes, but all message structures contain metadata, and usually additional information specific to the request or response they support. For example, a Publish Message includes one or more data items plus attachments and message metadata. Search response messages are similar but may also include warning or error messages, identifiers that can be used to 'drill down' for additional details, and contain information about attachments without the actual attachments. Other messages are defined for retrieval of specific data items and attachments, for querying data, and requesting system information from a service provider. The details of the various messages and other LEXS structures are discussed later in the document. The Publish Message in the diagram below is shown as an example and provides a basis for the discussion of other key LEXS concepts. + +## 2.3.2 Package + +In LEXS, the term package refers to a standard representation of any data item used for information sharing. LEXS defines two similar package structures to support data item publication and data item retrieval. Both package structures contain metadata, a Digest, and optionally multiple Structured Payloads, Rendering Instructions, and/or Attachments. As mentioned above, LEXS uses the term data item to refer to the standard, generic, flexible unit of information sharing as it may exist at the source system. For instance, data item might refer to a record in a database. When an application extracts this data item or record and encodes it in a format that is compliant with the LEXS schema, the data item is contained within a package structure. The data source may or may not encode all the information in the data item into the package based on the business rules that it must follow. Conceptually, a package represents a unit of information that is self-contained and able to convey the knowledge from the data source to the data consumer or between partner systems. The data source (owner of information) ultimately decides what information is relevant and should be shared, while the definition of a package in LEXS allows the data source to map such information to a standard format. + +Figure 3. Publish Message + +![Image](data:image/png;base64,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) + +## 2.3.3 Metadata + +Metadata , which is information about the data being shared, exists at several levels and is organized into different structures based on content and usage. For example, the Publish Message illustrated in Figure 3 includes PD Message Metadata and Package Metadata. The PD Message Metadata contains the LEXS version used within the document, the date and time of the message, a message sequence number, and an indication of the sensitivity of the data being shared. The Package Metadata provides a unique identifier for the package, contact information for the individual who can provide additional information about the data item, data owner information, dissemination criteria, and a number of other pieces of information about the data item contained within the package. Some metadata structures are specific to one LEXS component and others are used in a number of LEXS components. For instance, the PD Message Metadata is specific to the Publish Message, but Package Metadata is used in all messages that contain data item packages. + +## 2.3.4 Digest + +The concept of the Digest is central to the power of LEXS as a framework for information sharing. A LEXS data item may represent any kind of underlying information-a warrant, an incident, a customs manifest. The Digest is the common anchor for systems to use to handle this heterogeneous data without having to understand the specific context and meaning of the source. As long as the entities relevant to the packaged data item are represented in the Digest, users will be able to discover, link, map, etc. the information within. + +Even though the Digest provides the common level of understanding, it does not mean that all sources have to populate all elements, or that all consumers have to use all elements; merely that at a schema level all applications understand the Digest. Implementers only need to build one module in order to produce or consume a basic set of data understandable by many. It also means that implementers do not have to develop large applications for each exchange, but rather build one that handles the basics and then additional smaller modules in order to produce or consume more complex exchanges. + +The Digest defines a high level set of entities, each containing a basic set of NIEM elements, and in some cases extensions. LEXS 3.1 defines the following high level entities: + +| Activity Aircraft | Intangible Item (3.1.1 and later) | +|-------------------------------------|-------------------------------------| +| | Location | +| Credit Card (3.1.4 and later) | Network Address (3.1.4 and later) | +| Document (3.1.4 and later) | Organization | +| Drug | Person | +| Email Address | Substance | +| Explosive | Tangible Item | +| Firearm | Telephone Number | +| Hash (3.1.4 and later) | Vehicle | +| Instant Messenger (3.1.4 and later) | Vessel | + +The objective of the Digest is to present the most common characteristics of these real-world objects that can be supported by any (including the least sophisticated) data source or data consumer. Digest-level data objects may be further augmented or described with additional details in the Structured Payload or the unstructured Narrative portion of the package. The Digest may also contain associations and roles related to the base objects. + +## 2.3.5 Structured Payload + +The Structured Payload provides an extension mechanism so that different communities can 'extend' the Digest to incorporate richer data sets without compromising compatibility across applications. Therefore, users of LEXS are not limited to just the high level entities shown above and their included elements/roles/associations, but can define Structured Payloads to build upon the contents of the Digest. + +Each Structured Payload is based on schemas created by communities outside of LEXS. Ideally these independent schemas are built to be aware of the LEXS Digest, that is, Structured Payload entities build on and link to LEXS Digest entities. A Structured Payload may also define a new entity where the LEXS Digest does not provide a foundation. Structured payloads can be ignored if not recognized/understood/implemented by consumers. Exchange instances do not have to include any Structured Payloads. Each Structured Payload includes metadata that specifies what community defined the Structured Payload schema. Consumers can use that metadata to determine if the contents can be processed or needs to be ignored. If the consumer can understand Structured Payloads from that particular community, then the content of the Structured Payload is extracted and processed based on the schema for that particular Structured Payload. + +Since Structured Payloads are based on separate schemas, Structured Payload instances must be valid as standalone instances. While the data contents of the Structured Payload may not make logical sense by itself without the contents of the Digest, the Structured Payload instance must be valid against the Structured Payload schema. + +Exchange instances can include multiple Structured Payloads and a consumer might understand some and not others. Structured payloads can build upon the contents of the Digest, or even upon the contents of another Structured Payload. Some consumers may understand everything in an instance, others may understand the Digest and one Structured Payload, and still others may only understand the Digest. + +LEXS includes a mechanism to connect elements in the Structured Payload to elements in the Digest. In general, LEXS is designed so that Structured Payloads augment the contents of the Digest; it is not expected that Structured Payloads include Digest contents plus additional elements. LEXS does allow for the use of Structured Payloads that are not LEXS-aware, and therefore cannot 'point up' to elements in the Digest. There is also a mechanism that allows elements in the Digest to 'point down' to elements in the Structured Payload(s). + +## 2.3.6 Narrative + +The Narrative structure provides a container for unstructured data associated with the data item. The LEXS provision for unstructured data allows for the inclusion of data sources that are text-based or elements from any data source that are free-form in nature and can not easily be represented as attribute-value data components. + +## 2.3.7 Rendering Instructions + +Rendering instructions are used to display the information in a package in a specific viewing or output format for human users. A data source may want to influence the way in which the information it shares is viewed by a user at a consuming system. Using a specific rendering allows a source to present data items more intuitively to users who may not be familiar with the underlying context of the data. This is especially true when the package contains information that is specific to an agency or community and the data source is knowledgeable about how best to format the content to make it more comprehendible and user friendly. Since LEXS allows for the sharing of heterogeneous data from different sources with different contexts, user interfaces for displaying LEXS data will often need to be very generic, sacrificing intuitiveness. + +Rendering instructions come in two general forms: instructions (i.e., XSL) for converting the XML data in the package into a suitable display format, and instructions to display a prerendered version of the data item (i.e., an attached image or document). The HTML rendering format is frequently the choice for viewing reports online and other rendering formats, such as Adobe Acrobat Portable Document Format (.pdf) files, are ideal for distributing large pageoriented reports that can be sent to a printer (assuming of course, that printing is authorized) or viewed using an Acrobat Reader. + +## 2.3.8 Attachment and Attachment Link + +LEXS Attachments are based on the NIEM Binary element, and may contain data-related binaries such as a mug shot or fingerprint, or may contain binaries or stylesheets used by LEXS Rendering Instructions. Attachments are at the message level rather than the package level since each may be part of multiple packages, such as a message with multiple incident reports that include the same person and his mug shot. + +An Attachment Link provides a mechanism to connect an Entity in a package to an Attachment, such as a person to a mug shot Attachment or a person physical feature to a tattoo image Attachment. + +## 2.3.9 Associations + +LEXS uses the NIEM association mechanism. An association represents a specific relationship between objects. Associations are used when a simple NIEM or LEXS element is not sufficient to specify the relationship clearly and when there are properties of the relationship that are not attributable to the objects being related. A NIEM association type represents a specific relationship between objects, captures additional information about the relationship, and contains references to the objects it associates. For instance, use of the Marriage Association indicates a marriage between person entities. This association contains references to each spouse, perhaps additional information such as the date that the marriage started, the date that the marriage ended, and the status of the marriage (e.g., married, separated, divorced). + +Most associations in LEXS are imported from NIEM, but the LEXS Digest defines a number of LEXS-specific associations. Most of the LEXS associations add relationships that LEXS stakeholders need to be able to represent, but that are not available in NIEM. LEXS provides associations to relate a digest-level entity to a specific message attachment relevant to that entity, for example to relate a person to a fingerprint image or a telephone to a recording of the conversation. There are also associations to link an object in the Structured Payload to the corresponding Digest object. + +The associations available in LEXS allow exchanges to provide context for the data, beyond what is available in the entities themselves. For example, LEXS includes a simple activity entity, rather than all the various flavors of activity that exist in NIEM, such as incident or case. LEXS includes some associations for activities in general as well as more specific associations such as one for an incident witness. Therefore, exchanges can provide a great deal of context for the data without LEXS becoming too large to use. Structured payloads can define additional associations if those provided in the digest are not sufficient. + +## 2.3.10 Roles + +LEXS uses the NIEM concept of role to represent a particular context or activity for a base object. The role object represents data specific to the role and contains a reference to the base object. For instance, weapon is considered a role of an item. A weapon has a reference to the item that is the weapon (the base object) plus additional information specific to weapons, including usage text and references to the activity the weapon was involved in and the person who used the weapon. The LEXS Digest schema defines a few additional roles, such as Informant, Inmate, and Protected Party, which are needed by LEXS stakeholders but not available in NIEM. + +## 2.3.11 Levels of understanding + +The LEXS Digest concept allows data sources to encode a well-defined representation of people, places, activities, and things as well as associations among them as described previously in this document. LEXS also includes a layered mechanism for communities to define entities, roles, associations, structures and elements that are not defined in the LEXS schema. Communities that need additional data not provided in the Digest can supply that data in one or more Structured Payloads. This allows law enforcement groups or projects who are interested in information sharing to leverage LEXS as a base while developing their own specialized schemas targeted to address their own business missions. For example, N-DEx has defined Information Exchange Packages (IEPs) based on LEXS 3.0 and 3.1. + +This layering concept provides multiple levels of understanding by allowing communities to extend the LEXS Digest with community-specific Structured Payloads. Layering and levels of understanding are best illustrated through examples described below. + +An incident community needs to exchange information beyond what is available in the Digest and, thus, creates its own Structured Payload schema that builds upon what is in the Digest. Bomb and arson, and cyber communities review the Digest contents along with the incident Structured Payload schema and determine that what the incident community has provided doesn't include everything they need, but that it supplies a good foundation. So rather than creating their own Structured Payload that just builds upon the Digest, each develops an individual Structured Payload schema that builds upon what is in both the incident Structured Payload and Digest. There is no limit to how many layers there can be and yet another specialized community, the terrorism bomb and arson community, can utilize the bomb and arson payload that in turn builds upon the incident payload. The arrest community reviews what is available, and determines that the incident payload is not really suitable, and so develops its own Structured Payload built on the Digest. The federal arrest community also reviews what is available, and determines that the arrest payload provides a better foundation than any other available payload, so the federal arrest community builds a payload that in turn builds upon the arrest payload. These layers and how they build upon each other are shown in Figure 4. + +Figure 4. Structured Payload Layering + +![Image](data:image/png;base64,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) + +To illustrate the levels of understanding, the diagram above can be used in conjunction with a data element example. + +The LEXS Digest defines a person to include a person name, using the NIEM Person and PersonName. The Digest's PersonName only includes first, middle, last and full name. If the Incident community determines that they need a person's title as well, their Structured Payload would include a PersonName with NIEM's PersonNamePrefixText. So the Incident community can build an instance that represents a person with the name Dr. John Doe. If the Cyber Incident community determines that the Incident Structured Payload plus the Digest has most of what they need but they also need a hacker name, then the Cyber Incident community's Structured Payload might include a new element called HackerName. So the Cyber community can represent Dr. John Doe with hacker name Doc. + +If the Cyber community sends such an instance to the Arrest community, the Arrest consumer would be able to determine that it does not understand either the Cyber or Incident Structured Payloads, but would still understand John Doe. So in this case, the Arrest community only understands one level, the Digest. + +If the Cyber community sends the same instance to the Incident community, the Incident consumer would be able to determine that it understands the Incident Structured Payload, but not the Cyber Structured Payload. So the Incident consumer would understand Dr. John Doe. So in this case, the Incident community understands two levels, but not the third. + +If the Incident community sends an instance to the Cyber community, the Cyber consumer could understand everything in the instance, such as Dr. John Doe. But an Incident Community instance would never include a hacker name. So in this case, the Cyber community understands both levels available from the producer (the Incident community), but cannot get information in the Cyber communities third level. + +## 3 Publish Operation + +There is a single publish operation, doPublish, which is used to submit information to a data consumer. The doPublish operation uses a PublishMessage. LEXS allows multiple PublishMessages in a single doPublish operation and wraps the messages in a PublishMessageContainer. + +The structure below shows a high level representation for the PublishMessageContainer. The PublishMessage is described below. Descriptions for the elements are provided, along with cardinality which is shown in brackets. The structures that support this message are addressed in section 5 + +Figure 5 - High level view of doPublish + +![Image](data:image/png;base64,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) + +PublishMessage [1-n] - container. + +PDMessageMetadata [1] - Includes the LEXS version utilized by the requesting system, message date and time, and an identifier for the message. See PDMessageMetadata in section 5.1.13 for a more detailed description. + +DataSubmitterMetadata [1] - Includes the organization, the system name, and contact information for the submitting agency and system. See MessageOriginMetadata and DataSubmitterMetadata in section 5.1.10 for a more detailed description. + +DataItemPackage [0-n] - Includes Package Metadata (which includes the owner of the data item), Digest, and possibly Structured Payload(s), Rendering Instructions, and Narrative. See DataItemPackage in section 5.1.4 for a more detailed description. + +Attachment [0-n] -Includes the AttachmentURI, the Attachment binary, domain specific attributes. See Attachment in section 5.1.1 for a more detailed description. + +## 4 Search and Retrieve Operations + +Search and retrieve operations are supported in LEXS 3.1 by a number of requests and corresponding responses as shown in the following table. + +| Request Message | Response Message | +|--------------------------------------|---------------------------------------| +| | | +| | | +| | | +| | | +| | | +| | | +| | | +| (3.1.4 and later) | (3.1.4 and later) | + +The order in which these messages are discussed is based on usage. A search is generally the first operation, which is often followed by a request for a data item and/or an attachment. Requests for information about a data provider can occur at any time or not at all. Each request and response message is described below and the structures that support these operations are addressed in section 5. + +## 4.1 doTextSearchRequest + +doTextSearchRequest is used to search for a value in any context, that is, no element name is specified. This request is similar to a Google-type search. Depending on the implementation, the text search could be performed on unstructured data, such as a report, or on structured data, such as a name or narrative element. For example, a text search for the phrase 'John Smith' on unstructured data might find a match in an incident report. A text search on structured data might find 'John Smith' in the PersonFullName field. + +This request includes information on the user making the request, the number of matches requested, what kinds of data should be returned as part of the response, data item categories requested, what data owners should be queried, what Structured Payloads should be returned (for structured data responses), sort order when there are too many matches to return all hits, identifier for this request, LEXS version being used by the requestor, the date/time the request was generated, and the query itself. + +The structure below shows a high level representation for TextSearchRequestMessage. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +Figure 6 - High level view of doTextSearchRequest + +![Image](data:image/png;base64,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) + +SRMessageMetadata [1] - Includes the LEXS version utilized by the requesting system, message date and time, an identifier for the message, the message origin, and message destination. See SRMessageMetadata in section 5.1.19 for a more detailed description. + +UserAssertion [1] - Includes information about the user making the search request. See UserAssertion in section 5.1.24 for a more detailed description. + +SearchRequestMetadata [1] - Includes information about the number of hits requested, what kind of data is requested, data item categories requested, data owners to be queried, what Structured Payloads should be returned (for structured data responses), how long the requester will wait for a response, and an identifier for the request. Additional fields are included to support the request for additional hits. See SearchRequestMetadata in section 5.1.16 for a more detailed description. + +TextQuery[1] - LEXS 3.1 SR supports an unstructured search capability, including wildcards and matching all terms, any terms, or exact phrase. Logical operators AND as well as OR may be specified in the string. See TextQuery in section 6 for a more detailed description. + +## 4.2 doStructuredSearchRequest + +doStructuredSearchRequest looks for specific elements with certain values, such as a first name of 'John' and a last name of 'Smith.' + +This request includes information on the user making the request, the number of matches requested, what data owners should be queried, what Structured Payloads should be returned (for structured data responses), what kinds of data should be returned as part of the response, data item categories requested, roles requested, sort order when there are too many matches to return all hits, identifier for this request, LEXS version being used by the requestor, the date/time the request was generated, and the query itself. + +The structure below shows a high level representation for the StructuredSearchRequestMessage. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +Figure 7 - High level view of doStructuredSearchRequest + +![Image](data:image/png;base64,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) + +SRMessageMetadata [1] - Includes the LEXS version utilized by the requesting system, message date and time, an identifier for the message, the message origin, and message destination. See SRMessageMetadata in section 5.1.19 for a more detailed description. + +UserAssertion [1] - Includes information about the user making the search request. See UserAssertion in section 5.1.24 for a more detailed description. + +SearchRequestMetadata [1] - Includes information about the number of hits requested, what kind of data is requested, data item categories, what data owners should be queried, what Structured Payloads should be returned (for structured data responses), how long the requester will wait for a response, and an identifier for the request. Additional fields are included to support the request for additional hits. See SearchRequestMetadata in section 5.1.16 for a more detailed description. + +StructuredQuery [1] ([1-n] - 3.1.1 and later) - LEXS 3.1 SR supports a structured search capability including wildcards, numeric and date ranges, fuzzy matches, multiple values for individual fields, and the ability to limit searches to specific roles. See StructuredQuery in section 6 for a more detailed description. + +## 4.3 doSearchResponse + +doSearchResponse contains information on "hits" resulting from a doTextSearchRequest or doStructuredSearchRequest. The response may be sparsely populated and data items may contain only elements that are commonly used to help discriminate one data item from another. Response may include information about Attachments (such as images or documents), but does not include the Attachments themselves. + +This response result includes information on the LEXS version used by the responder, the date/time the response was generated, an identifier for the response, an identifier for the request that this result is in response to, the number of hits, the match score, whether the number of hits returned was restricted by a service provider limit, plus information that can be used to request additional hits. + +The structure below shows a high level representation for the SearchResponseMessage. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +Figure 8 - High level view of doSearchResponse + +![Image](data:image/png;base64,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) + +SRMessageMetadata [1] - Includes the LEXS version utilized by the requesting system, message date and time, an identifier for the message, the message origin, and message destination. See SRMessageMetadata in section 5.1.19 for a more detailed description. + +ResponseMetadata [1] - Includes a result code, and advisory, and an identifier for the request this result is in response to. See ResponseMetadata in section 5.1.15 for a more detailed description. + +SearchResponseMetadata [1] - Includes the number of hits requested, the number returned, whether service provider limits were reached for the number of hits, match score, and information that can be used to request additional hits. See SearchResponseMetadata in section 5.1.17 for a more detailed description. + +SearchResultPackage [1-n] ([0-n] - 3.1.2 and later) - Includes Package Metadata (which includes the owner of the data item), data submitter information, Digest and/or Snippet, and possibly Structured Payload(s) and information about available Attachments. See SearchResultPackage in section 5.1.18 for a more detailed description. + +## 4.4 getDataItemRequest + +A search response may be sparsely populated and data items may contain only elements that are commonly used to help discriminate one data item from another. getDataItemRequest is used to get details on a specific data item. + +This request includes information on the user making the request, identifier for this request, LEXS version being used by the requestor, the date/time the request was generated, what Structured Payloads should be returned, and the data item requested. + +The structure below shows a high level representation for the DataItemRequestMessage. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +Figure 9 - High level view of getDataItemRequest + +![Image](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAU4AAAFPCAIAAACtbbCbAAAgAElEQVR4nOydBVhVWffGL6CAEiZhYKBgK5hY2N0x1tjdHWPX6Oc41hhjd3e3YicWKBaKIqUoIKDS8P9x9/zPdwdj1A8H9Oz3ufqcs88+e68d71rvOvcAegkJCRoJCYkfHfopbYCEhMS/gTT827JlS0REREpbIiEh8U2QNm3aVq1a6QUEBNja5qtXr01K2yMhIfFNcObMgUOH9qchVzc3zzhhwsqUtkdCQuKboEuX8tBc5uoSEqqApLqEhCogqS4hoQpIqktIqAKS6hISqoCkuoSEKiCpLiGhCkiqS0ioApLqEhKqQJqUNuD7xqNHd/g/f/6i/P/ypf/EiV2TVMiYMWv58rUrVqybObPl5zQYFxfr5XXPyMg4Vy67z6k/e/aw7NnzNG7c2cTELIk9yQhfX6/p0/u+X541a7ZKleqVK1czQ4bMydtjMuLZM8+oqEhb20IGBqre7TKq/08YN66jq+spcRwZ+e7ixaMPHtyyssqpfF688F20aNyUKT2uXTv9OQ2GhYVMm9bnzp2rn2nA7dtXvLzuxsbGvG9PMuLdu3CGhh/RHVqaNGkZ1Lx5o65edUn2HpMLPj6Pfv99iIvL7ujoqJS2JYWhaj/3v+PxY483b0J1S6ytc/XvP005hf9Hj27dsWMpVCHYEuQ/3SBR/cmT++/evUkue5IRNjb5dYeGf4Hk69fPxjEVLOjA1W/U7/8CS0u8rU/OnLbx8fEpbUsKQ1Jdg7+/ffuyp+dtU9MMJUok/mDA/fs3ixcvb21tIyoQu4QwBjVrtsya1ZqDhw/d3NwusYGIq7t2LW/evIeoQKzLksVKt/0aNZrfu3f9/PnD5crVQOuKwhMndr56FSCOCxcuXaxYOT09vZiY6D17VkdHR9IjTqFmzRaiAnFbiZzZsuUuXtwpUyaLJKP4mD2vXj0/cWKHRptKcCNqX5Q/f+7j7n6pQAEHfX19d/fL4eGv69ZtIzwRtzMn+voGrVr10e0ibVrDJENjuk6dyhcVFREZ+d8fgsbd0CCFHBctWpaPcolCLlGB49y57ZEGZCtYZWmZQ7GHct12sCpdOhNRwvzs3LmMA0pYoLx5CyotBwW9YBFphGOIXayYEzmFt/dD2gwNDWZxubFt2wEMQaNWqJ3qCOaxYzuwpWJjo/X09C0ssrHd2f0ZMmQRVN+3b82aNb8TGUT9U6f2tms30Mmp1s2b55csmRwfH3flygloplDrfRDu+Li47AkIeCZKli//defO5eHhIeI0bVqj0qWrzJy5be3aWatW/Qc+0MvDh+5cKlu2+u7dK9esmQn/RWUSznbtBrVt2x8LdXt53x4S1FOn9syaNSQi4i0VoG62bLnatx9CYs8pKmPdulkMNjQ06OXLgISE+BUrpo0Z8+fixRP9/b01mgRmA68xdeqaT8weN4aEvISoSsmiReMPHtzArNKgGNrChQcF27GHSZgxYwBTrdHm+bAxPDy0W7fRDRt2EPb07TtFoTpigYmqXLm+oPqtWxdGjGhFKsExtmXKlJWB9OgxjtMrV06SJT19+gBNpNF6286dR7Zo0ROXvXr1TIwMDg7E2zZv3l3NVFd1ro4EvXHj3I0bZ52dGx475rtjh3vt2q2IjXBDbBp27fLl08qXr7Vly00qLF58NDj4BcSDHnCpTZv+7DkCyKRJn/oRYBwHjC1Y0JG9+Pr1K/LGQ4c2/fzzoL17H9DmnDmkkXByL9UgcJMmXaCHs3ODiROXV63a2M3t4p9/ji9cuNTq1eeovGbNhVKlqhClhSPQxfv2BAb6zZw5qEyZapjNvYsWHbaystm7d/X162c1ico2BxSCk6NGzT969Fm9eu3IGvB61D9w4BH17eyKnT6918PDVemCyH/mzP7Vq3/jw8yQmOAd8JIkJvnyFdFo1ce5cwednGpu3+5GC3zs7Yv36VMHlyHsmTy5O7oAe7Zvd69evdmdO66mpua4V8UeMe0CxPC3b8PFL0QjOPfrV49emC6a3bz5moNDpUOHNjKZXPX3f0rjuAkuMVFIpCVLJjF16CmmMXv23E2bdv3113WKOlAnVE11EmkiSZYs1pMnrzIxMSfNRi5Wq9ZEXEUNXr58omLFuoQIG5t8VEA0Tp68mhAh2NKz53gDAwNoTJD/dEeEYmrSCFGUHVynTqtatUgEstEmqr5btzFsaKIWp126jDI2Tl+2bI0SJSoQnXLmzDds2Ozhw+fa25fgKvRDgcMoZHmSLohXuvbA261bF1lYZJ82bQNma4136tNnEtv98uXjGq0DImUgolKZq8RzpAdc6t59LNkBJXAeGY9VShcExqFDmy9YMJbPhAldxoxp7+v7GIJVqdKI1qgwZ85w2mS6yDJogc+SJcehK85UsQfKYQ+jQF+0bz9YLxH6ij0fm8CrV08hCv788wjTRbOY2rHjMHwiHgdZgVBnAo2M0nGJiRo2bM6BA48rVarPBDKNFHLAtKj8CbyqB09URyXWqdNa7FSQN28hsvH162dzHBDg7e//JDDQ/+TJXS9f+osKBGeOCTIIAaEGP7FBFZBCsxefPXvEvqQ7ZDanxDpX11O4m7Vrf6fEwaGiRrvjddskHUXQchXKIXEJX9yifcL0gV/+Ke4S/9M+ETIo6DmBlEhOCeE0T56CRD+U//Pnf6USysDFAfEQwoiSXr0maA3779OsHDlsGzfupNHm/1evnoR7PXtOQHsr1sbFxd27d+OXX9rhjBgXJaVKOWP8ihXTf/qpDwfp05uiUERlYY+uK/kEli5NzE26datCnsIp7eTKZUeekiNHXhxTnjwFMGnq1J6oDDxUy5a9cue2e29d/nmZfmyomuoabTCEvZ+oEBjoa2hobG6eSZxCNkIEsfFzGK4Afnp4XENjsy8fPLi1YcPc8+cPE+gMDY1EWPtga9D11auATZvmb9w4T6sL0kBI8bjrH0E+jBcLCXlFui6MR014eibKfownb/984xXAK5EbaxJ/h9H++fNHw0CGUKvWT4rL4NTH5xH/8+HU0/M2vZuaZviK7pKA2Xj82EN3ITiG8xzjdtE++/atoevDhzfv37+ODL9//2mIlC9aph8bqqY6+yBNGkOSc7Jcoe6IhAqXEMNQguQZTas8eaICspbKYit/DrQPqN8RZ5CvnJLiXrlyskGD9tbWNjRuZpZx+fJfFy+e9P6NJNI7dy5n7+IjiPl8LC2z//77kM2bF3zO4PBi7HXSWkW4EqJjYhIfrXNJ+U7h64BoZx4WLhyL1ihatCxeQJSTHg8dOkuMVEB4NPG1ttAawh6M0c3MOUvyfZjysgBAhL95E+ri8gI/K0poCufF/9zF1RYterRp0w+hxOfChSOXLh0rWLAkZqTmd3v+Zag6VycrbtWqD5kkMZadFBHxlkh47Ng2cZV8EvH89OkD5Ci7SqMNjDdunEMlXrlyQpS8D/Ye7YSGBr99G8YuJ7HftWuFi8vuAgUcsmXLRYUnT+47Olb6+edBJKvwnLitfeklAT2stCGIER7++unT+4UKlezXb2rdum0sLLI9euTh5/fkc4ZmZGSMlKWFy5f/MhUueXs/wHck1zs2jo4V6YJs+fz5g6ILU1Pz48d34EQUDpMvLFo07vr1s4R9BqvYAz8Jy0JlKDVfvw5i3sQ8kOHjgkUWALp1Gw2rUSjiKmNhHgjjx49vf/361bFjW3F/rBSZObM6aNAMvA8V3r0LF+4gWcb7vUPVUZ0QUbp0VTbrxIldmzTpTBBgU8L2nDltNdpvg8qWre7ufnn16pnh4aG5cuV/9swTcYhKhKuKMiRLRKba2OQTp2jmnTuXeXs/JCU2MTGjNTwFQa9Zs+7iMTWy8+7da+h5gjanc+eOZI+yHWFgpUr1tCml3vXrZ5ycapL6Zs5seeLEzmXLppIS09H584fwFMo3Ruz7998MUexp2rTrvn1rZ8wYMHDgdDJbuuP09u3LfftO0WjfJoiNjdV8HP/4Gg/zU7FiXTe3i/fv3yKWOjhUQKQw8Dlzhg8Z8rv4Bn7atD4YTIqEV9W1h3HB+atXXRRBjoVIJ1IbNDlukbBMKq4EdhaCORw/vvO4cUvs7IrhFHbsWPLggRvEZhEDAp7t3r0SD1u9ejON9nsTH5/HNWq0MDfPjEOJjo7EHTx6dLtYsXJfl7n8GFA11VGSpUtXmTBh2cKF444e3UYkLFy4dO3araCiqFCypHOrViGHD2+aPXuYKGEHI1DLlq0hlGT+/EXJWtmykyevyprV2to6F2Fkw4Z5ojKcJJRRuUWLnvb2xUUh0j0k5OW8eSMF09DkPXuOX736NzyIJjGRTl+tWhNoMGlSt86dR+IgXrzwJVTywby8eQsRSNm14nujly/9CaRoVCVV1rUHOTBmzKIlSybPnj1cXIVF5NUlS1bmOCLijbFxOt3vn1ANuk3BFoaDNtZofSLH77/GX61aU+1rKpdv3bqQL1/hSpXqc8pMwnD8FBXMzDI0bty5UaPEh3m4Bl17rKxywm0lbkN1DMP4P/+cqJ35yo0adTx0aJMgJ+T/7bctuAlWStTH1PbtB4uXfHCL9+/fPHJky969a8Qc4ouZKFwtHzu74lh48+aFnTtvi+GoE3r+/v6OjqWPHvVLaUtSAOhAf39v9jEcOHfuIHuxVClnIg8Ro3//aRUq1BHVCFnEc3FMoe6bao8fe7DJ2I4ELjbu6dN7ddsnsBcs6ECzSfol1HCXeLOlZs0WRkbpSMgJVuLHVNCutAMJaZMkgsrisTNehh2PNiaK2toWEu+9Ef0IjPb2JUSo17VHvExGQCN3Ff1CJyKbOCZx0G0HIBkyZ6aLEiKXRmhAHtEOikDMT7lyNZKMhXY8Pe/ghrhREAmfhQ0iB4Fmio8TUOwhSnt53duzZyVTTdAWV3EZIkNhnkmpaMfZuaHypQBB/ujRreKYVVAWCISGBjEc8QKitbUNE6U8C1TsqVOntZLqqwpdupRfvHieqqlOSFm58j9svmbNurHzYmJinjy5t337EvYNoZvtktIG/uDYtWtFEqpLfAsIqqtdwJPT7tmz6uFDd3YbYfbBg8TI0LJlL8nzfweRkRFC3Uh8a6ia6ohectegoBfo3gsXDhsaGufObf/TT71Ll66a0qapAqQGlSrVk9+H/TtQNdU12vdJunQZpf1q56KxcXqyWfGDaxL/AhwdK/FJaSvUArVTXcDExEz3GY+ExI8HVb9CIyGhHkiqS0ioApLqEhKqgKS6hIQqIKkuIaEKSKpLSKgCkuoSEqqApLqEhCogqS4hoQpIqktIqAKS6hISqoCkuoSEKvBlP+4SGhr84oXvNzJFQkLi85Eli1WSP6H3aXwZ1adM6nH/7i0TY7MvtEpCQiI5ERUTaZrBfOPmz/3j3JovpXpMdPSIn+ZXKtbgCw2TkJBITnj6uk/c1PGLbpG5uoSEKiCpLiGhCkiqS0ioApLqEhKqgKS6hIQqIKkuIaEKSKpLSKgCkuoSEqqApLqEhCqQSv/kg0/go7j4pH/9W19PP72xmblJZsM0Rl/UWmR04l/2NTZM/5n130WGh7x5mdnMKp3Rf/8mcejboAwmWb6o388Hgw0Jf/kmIvSDVxl1JlOLtGkMv1Hv3wIJCQlRMREsmWFaY07fRoa9fO3PAXOYyczi/fpBYc/fRoTFJ8TnsrLnrn/bXBUglVK9z9waz4OfZc3w3z9XHB8f9y7qTZmC1Vs49y5bsIbYQJ+DiKi3J65vz2JuVaFovc+85cq9E4v2jBnRZn65QrVEiVfA3d3nlg1pOVv8ue9kR1Do80V7xh513QyrdR1ZTGz0u6hwRzvnDrWGl7R3Nkqb7lv0nuyAsQFBT289Om9jkb94vgqUnL99cOyKdhy0rTGob5Npuj5UYN6O4Sdv7IyOiTw977VpugwpYPSPjlRKdYHejaco1MLlH7+29UnAPfbEwBYzyxWq+Zn73u+V17QNPXs0nPD5VH8f/efVDnztN6jF7/qab0J1gYymWas7Ni+Yu5RS8vK1392n19y9Lv62ud/QVnPLF67zXcR2ZNTmk38cv7atX9NpguoKbntdvv3kMs5atzA4PPCBzy14/u+aqS6kaqo3LN8pjUFa5bSFc6+LHkcW7Ppl2f5JpsbmJe2rJKmPBk7QJGQwyWyg/99xWWfOpaen98H22ZFhb4PJCD5f2ycBWuNNZFhaA8P3w5QCxEhsXAwG6yoC/1dPsmfNm6Qm0ax0weqwPUn53O3Ddp1bijYpYONglclG91LYuxDk7sfCYHRsFEr68xXQh+2PDI+Ji/5E8hIY4ov++ke9Y2JsbpLOPDjsBQE/yaVjrltiYqOYkBfBPu/fiLRB3rNM6Y1MP9gy6878f2wR/2GKYiKpwO2Y98EKZFWIFPP0mT42Lo02PYmLj/t0nRRHqqZ6ErBlyxep8/rNK7b+hTuHFapTgsCGtEQMTvPnKGabvXDebIVRwr4vH7vc3BUfH48cOOu+3zZb4ZwW+eDn8xCfhz63CNSP/e5Qn8JsWXLzeV8p+Ac9fRJwN0obcM647aVybqsCGu0WufPkystQf7+XXuzgfNmL5s1WKIv5X3/F9ZHfbbrOY10Q2+55X4+IekMXDvkrGRmm837xMCQ8kIhXu0wbYc8/DpwbL9w5lKSQwQaHv8B+OIZV9J4jq61ylc3HkL38PWLjY3NkzZs9S97Qt0E4nYI2jnCG5IgZs8yYg7sUt0jJ8yDvYrblzdJn5BT3RHbt8/KRp68bksrexiF7ljyMSHEcuIC73tdgAraVLlCNqcNOhAk3nnc/gJiCvfd9buZ5fFEE9lxWdiXyVbz24BQ2wy5dYtAO65U/e9GtpxYqhWT7TNTTFw+Y4ZuPztnlKJ4vR1FmTEnromIiaIpFZCqsMtswHPucJfDsitNxf3wRvcAkEDDyZCtkncmGUSjt43RYJtaX/7k3l5W9RcbsmKE4lPB3r297XXro68aGYYaL2jrRIFfLFqopKjBSVvnp8/vPXjzEqxazdWKeseRLnyX9O/ieqA7YT5CKuM3ysMasUECQ95Grm07e2EHoNk+fmZ23/cyfhXKV6lZ/LCkua0MwTEiId73v8izQs021AexXds+Wk38gEOA2zt71/knWzMGuctvqgwrpiGeBe97XtrosgDkcLz8wpXW1AVCdTbb3wqodZxYbp01nbGRCpo2ururQtL5Th1yWdtTcd2HVppPzKKHmq9CAsLchxKVmlXtwL1krmwz1MWppy/rlOgxqMRPufXrUDIrIplty+taeFQenxsXHZjazomUqlCtUq7lzzyJ5ymq0PKeX7af/hKvpjU0Jd+xgXBtbcHib+YVNMl+9f3LR7jE1S/2EwE6v/e0DBK5Dl9dj9upfLkF1Wvb0dWeAuDPYa5TW+PDVjfC8TfWBjvkrw3Z6xFttP72IqbPNXmTD8dko8M51RrWtMZjKKw9Nwyo8y5lbe6mgaHiGn+iRn1zGGLyDKIRsMLaBU4dEDaIDkpfNLn/g02kwvZEZS0lwdi7RGK2HJSiyq/dOrDo8nW2A2CHHwYAaJVt0qD0ij1UB2H7D8+zvWwboafQymVkyHJpi5/RrOl0sMUuw+/zyY65bTYzN0hmZ3n3qigvG7TIhbBtWE2e0/+LqZfsn4ztwLttOL6pfrv26Y7+zvrumPtRoxZrbowsHLq1lOFnNrfX09JkQPAKrzHhTIdu/M6qDzOaW+Fdc9YNnN4kMMJk1K5GvQqMKXViVV6/9ofqF24d2nl2aP2dxEWeG/tmE3L5u2XZsEZZw3dGZ7JKWVfs6Fa5tkSH79YenaYRbHPJVfJ/qkKdr/bFjV7QjKvZuPIXtwr6h/sJdv0CVuuV+pn38Ov4CqkAYtnv6///VHQTPxhW7Zsuc+0WIz65zy3adXVYkb9mqJZpAPLzPkv0TT93cVc2xmfLz/+x1Itj9Zzd0DaAR1ER8QmJgSacNOBg8dV13mmrp3Jtg9TTgHpGH9mHX5C5rUdrE8/XHZrFfuzUYl8nUAstdbuz0fvGgfJG6n/61IgYGaYQ0CAzxW3v0NwiA/VVKNOEu4iq8xeshdIvmLYer3XZ6oW22IlVKNK5cvBHbfem+iWuOzLDLWaJ6yeY9Gk5gNm49Os9xnTJtlfYTJVVC3K3HF5gQpfCs2z7cgVOROtfuuyiFzOSBy+sI8jVLtoTbmc2tGNQNzzNHXTdTmfaxcP+lNfiyppW688Gf4qeOXdvKEltXsWEJ5u0YHvomaEz7pYRr9AXxYOOJueuPz5refTN+ihXcd2F1ifwVW1bpwwq+Dn8JaU/e2EkAQDugzjjFYTG66iVb4MsY+8YTcxTzsMHjydXVh6ejFwgqea0L4Vwu3jl88PJ6tgeuATO+ZFP/G/j+qK4LZtzcJFP5wnWICX+pREs7xDZeIDo2EjqR/vEh4Oe2LiAey6GoCUplCtZoXKGLkIK4AJI94uTrt0Hvd4H74GOkVa1wkqVFuBJRIR7Mt8yUk3J0Y8FcJYkz972v+77y4lTcSxygF5FDsimhMZ6lVbX+lKBOye4mrulE0q70xYZjR+I1dA147O9B7xhZt0xbIXpXHZpObjmgGbwqLoaMpIQbRCGSBXh44+EZuNS+1jB6F42g0tEynz+riPYr9443r9yre4PxopBpxOwl+yYwUTaW+YmlEVFvif+lC1bHmLIFaxBykRLiQQlTDc89nrqiurFHt/FsWfKggVkg/E5mM0uRdtFgkjyctYNsZQpU79dsung8wYTzgeG4wmcvPJFLMNkqU07qIO7EByNzZrUVAt4n0BMOF7BxRJZz+nPNoWyMHNrnI0gk6pQpWB3ZVdy2vJjDUK3cYFysI5tkz/kV+OihrebSSOLttYbiTRS24yyYn1dhz/s0nlqrdCtRSCPEdgQm+lFSPZmB/K5RsmUZ7T5DE76NDKcQLceBZcacaQ0+8LCalRvcchbJFbnATc9zGu03uizb53caEOz9ItiH8OX36omfDlEtMuagQdiuUJ1YpDwrYlPiJtgW4hE63oetlqRl6EpcJZ+HbPp6Bg98bhLSyQCJWoRWseewlvwQF0OiLuwXyG1lz2aFbNCGDJm4RMhVrsI3KnzmAJGm955dT2dogiW6XeCt2MroKQ7yZS+C3yEgM0AYSCqEHGBi/7FxJocPpEIKQXXUwWP/O80r90ySxeApngd5I7v8Xz3lIwohoWWmHFfv3YfGeHZcMEEYTj55fo+8jA8pmPINRYl8FQmzyw5MsrHIX8y2PGMZ+tNfRM1kZtHAqSP+CHlP76RX4RGvL3kcCQ4LRHBpErO2xMcrZYo3VnQ4G6xRhc66VGe/IXZYU90pwuuxdiR9yMxv9xbG1+H7o3pUdERIeKBuCTN77cEpNsS7qHC2uN8rL1buY7ejrwKCnhJJ9l5YyT7TJK6iwctQ/y+ygYBM3Ptz71jdQjJ2mAkPP3Ej+0/324EkYAsSvREpiVTX17/+4DSyPLHc1CLJ42U6Wn5giu43C4Qs8ZxMnDIPuoEF/iMoPihb3kdsbDTBE8dx/NpWXYnB/sbH5dQqfBKZ9rWHI4Ox0NTY3DqR6nlL2VctV6gWtP9E4/CzQC5HNDypOKeX7x2Pj4+Dt0miOgvKJMBV5lm3HP3FKjMQ2mlauQdMu3z32IU7h+A5egGClStci4Ezyd3qj0MOcBWhXjxfeTx76QLVME/kaDA5UXc8uYrjDn8Xggvj/4jot6IX9kN0zN8eHAjLk5QEBHlvOjlXtyT83evEZ73+Htgpqf6/gi3o6evOghFY2Hzopf0X1xAPybSJdYQ+NOGG47M/dju3kAHCIlIyMnkoQWy58/TqphcPP9OAuLhYYq99TgdHu8rvXy2cp8xXDkz70JH9lDdbIXHKcUxc9OaTf+y5sDKnZX5bbcCh9wRNAiGabCKJ1yBfUJ5O49G496st0WgDFFoAAZyknOgtJHHt0q2J5xWL1iOLRiURCW88POsf9LRvk18/3TItQOw7T64QQh/53oaiH/wmDI1NhoL7SFLOvYVyl+agpJ0zDCfya7+Wv0lScNfb9cq9E+M7rmAeUENMIMzHs1OIIlh56FdMHdB8Bt3hYjYen8M6MkayDzIReHvw8rrPnBzyr9j4WOYBUfn+VRwrgu4zm/rX8J1RPexdyA3PM9GxUUQVEjPUF5KV1KtVtX5sfeFHCQUs4Qdvj0+Mxu4Xbh8qYONApk2gE18sBYW9+HwbtJl2fHxCXJvqA3XLSY8Jtp+vk/8RJsbmtUq1QiYwxtM3d+OSEh+GG6ZDTJJMNqvcUzcSspXdH1/MbV2AYKjRPpLwe+klvINGfJEW/Mz441/+s3kVPZI2jRGRmYBJpq07xtC3QahuQiXzjHxAxZTIX7FJxW70RSh79dp/6J9NDl/Z8I9Uh134CMy78fBMTFyUc/HGypeUCljNNUdmsEBJJpncATthMg796YsHWc2ta5dpo9G+KEWDuHjXBy6INQQO1XJa5Kvu2JxFx19Qf+WhaW6PLyC8cQHHXLcYpTVuV3MIOkt4rnPuBwgbohfCBu4AHxGr83a2T+Aj5RjNxe3sBNy9rjckmHu/eMDOTIXfsafSl41x56xBkkIC8tGrm9FdNUq2IHHSaFWruUmW/DmLEx8UvcQGssyYQ3nRmoBTLK+TiBtxCXFh74JzWdkVzF0KGgies/aoRLpTnk6T79lmL6wbM8nMFXvYGZWLN2IzkQIoFchg1x39/fi1bSKxxBjqG6b97zcuRobpUSJJXuYpkqfMX/TT08uSwZpOk3xJg06pXbqNY/7KNzzP4uOiYiJomThmmi7jhmOz2MSiGtn16sP/2Xdx9UNft0xmlshUnAIhLvj/M53HfnfSpDFkWoQBNhb5iuQtGx0bKfwCgMPIJaSKJvGVe1NCIqHJ5+Uj8eK6wN2n13afW37Z4+jbyLDAEF/UO84Ft0tfpN+kvujkbJkT1Tt9ZDDNglBX3lPAfeS2tE+bJvGFKIia17oQa3fl7nFMYlrEC0hMhVtpG7IAACAASURBVKKJCuYqhQvAg8BhxQCWct0xJnkrhc+DfVxu7Dhwaa2/9oUclELZQjWL5SuPhjdLn8k0fcZ9F1cxIRqtOiiYqyQfaEm/EVFv30aGYxjmoQ4Ez5kopou5tUiURXq5rOwrFK0bHRv9JOAuglGjfYxy7NoW1pQYoxEvOxWoZpjWmBUPCnsuzMPlHbi8dv2xWV5+HprUh1Qa1Ym9RKGRS1vqaf7LjZjYqCfP7xFtmlXqIWYc3xkdE0E+ZmJkKoLSLc9zBByifUDwMwKOuUnmjGYWt59cJrtjh3GXjYXdq9CAk9d34JWRjrgPbmf7wpbCeUqLl+eQCV7+d3V/3gZfwLZbun9ivXLt81gVaFqx27wdw1nU4LDAHBa2byPCyGndvS6RaYtMlQBIAPmpal+lhajod0hchJ/uMD2eulZzaJZ4lJBAkKTTJN8taxI3feI23XBiDnkKAYQ93axyj9lbB+84sxiJjg9CYtAOThD2EocJ9Y75K125e2zX2WWwlyQlOOzFGbe9bo8vEiqFAfY2Dv6vnuA00xmZ4m7IVLedWohiIl/VaB/X4zptLO2OuW6FkHgWjfbbgbPu+5nkxC2expg47OnnzrTANPG8EFbcenSBGUgcDTPwJoh8m3QDLpW0r8LaeQc+jIn9y7MwS/6XnxAnezacKL7FAJFRb+8+dRXHKBcsX7BrFGoFoU7+QnZNg+QINUq1ZBIM9A0iot4durLxWaAn7YsgfOLadtQW8ofPy9cB1x+eYSxkajTIyh66ssEsXUa8WFx8HF7e5cYuPW0vGu1TQLYEpGX+G5bvTImjnfNR1y1ztg0tU7A6juyI62a3RxdYVvHeBN2VLViTlGHfhVXMm3hH4I7XZdwfq2CZKcfXb/1vhlRKdYGzbvuUY9RsVYemLBuaNu//61J2CToW+c0qshEpIdHtVGfUkaubEoW9NlnFHUCAe8+uL903sX3t4VpF0GX/xdUbT8yFFcQT+NO6+oBLHkfZx89DfMTLZAQuBGFkvnfieViPhhNnbR208+xSdtvqUZcIICPaLNh6asHmk/PSG5slvveaLkOrav3rlmkr9v3HAB+I3uInt/BHnzMJWIh/Ieqeu33g8JWN9ILBI9supHdiLP3CXuJzrdKtWjj3Fo+OEJAd64wkuF2770I6w7YuZls+KjpCdzKpsPvcsiNXNp65tdfepkQ1x2YQT3z9ntuqAMK4fa1hpsbm5LSoJI327UDrLLm71BuNv0D1oMA71/1l7/mVW1zmC3GB04TnvRtN5tg4bTrsYUpvPjq36vD0N5FhTCl+R3n8ia+BrvSYx7pglv9PaxHkzCTTUty2AuqjvlN7q8w2S/ZNoAsmGc+bztCkRZXe9cu1F5KNCnQKS296nsMknHXRPGV/qtqPGebqqHaLtpz8A4cotBtzTmLfvHJP9gy91CnTFiFGusH8aLSioEfDCQz/ztOr6D5KnArVmtlrBxOONEj0nnaVJ3RaOezPpsJUPAgSrEPtEcgHtsTVeycoRJEhbZpW6p4r+ZK4ZISev7+/o2Ppo0f9Pqf2wH6Nmjv2/hf+5MP9ZzeSxDeCOfsPHZjkRyCJwGyjkDcvxSlMEy/SUALDxVucTwLuhUe8ZrG5lNncitgVGOInHrfSbCZTC+hElsUpe4t1Tcw8QwPQlgQH8SUt2wiWEg1oRHxRzM57Eezz6v/FG7uQxsWu0mjfAKMFIoDCfCQidubMaqt8qxT+7vWzwIcoXkxiFKT69GKdyeaDL89xlbCPKiZVFj8XgLSmwYTECMrOMxDtKPXFT8USpgjL6JfMZlaL946Dcv2aThMv9qJjX772IyIhTaE0A4c2OE0krpDTEBhFygDFjwADQqKYH3FKOTZAjLj/zyMwXgnRjAivwYjonZQbt4sCItyJtJzFJQhDfiSSMl6YT9jEPGUaGQVrRyPiFLerOz80gmBhmMoDSLyGMj+AdWSKxDFThO9jTYXvJhUS3kdcJR5wI0vGtiGzUx4TUkI1pojFZeBVB2dU3pYT5jFFrEtkTKIbFfPM/tT9wY1vBPEnH7btvPU5lbt0Kb948bxUSnWJZMf0Db3IYhSqS3wao5e3Jq6MaD1f8Tuom0ELG3SoNbxno0kpaloivoLqqVrAS0ikFOD5efcDZD3tag5Oa2Do7nVp3dGZJD7tag5JadO+EpLqKoJPoKciWSU+jZFtFkTHRF70OHL94WmNNh8pnKc0If37/bUZkupqwfDWf8TGxxp/J7/HJsUBpSd3WRsXF0s8Jyd3zF9ZX9/gf/zJ/5SFpLpawDb9Dn5/TWpC4ksBaTVOhWsnJCR87LebfEdIpa/QSEikHvwAPNdIqktIqASS6hISqoCkuoSEKiCpLiGhCkiqS0ioApLqEhKqgKS6hIQqIKkuIaEKSKpLSKgCkuoSEqpAqngHvsMMB0+fuylthYTEN0EGk4xHfnuR4m/XpgqqB4U9f/Jkr7V16vq92RISyYL06SrGJ8QZ6KUw11IF1UGaNAZ8UtoKCYkfFjJXl5BQBSTVJSRUAUl1CQlVQFJdQkIVkFSXkFAFJNUlJFQBSXUJCVVAUl1CQhWQVJeQUAUk1SUkVAFJdQkJVUBSXUJCFUgtP+6SehAZGX3jxv3jxy/7+78SJXZ2Nk2aVLGzy8Xx8+dB69cffPTIN8ldDRpUatzYmYOoqOg9e067uFzLly/nyJEddetcuXJn794zQUGh7dvXq1zZ8V8ZzVdiwoQlL14E58+fc9iw9vr6/40Hvr6BU6eusLDI2LRp1dKlC3+6kbNnb5QqVcjE5Av+ShyTs2PHyaxZM9au7WRmlv5j1eLj41kCQ8M0efJk//zGVQ4Z1ZPi8WPfIUNmb9t2gq1WunSht28j1qzZz9aHqFxl454+ff3YMRzBy5CQMPG5fPn2mDELd+1yoUJMTOzFi+7Llu1atWrvuXM3dVum2vz5W7h0//7TFBna52Pr1mPY+fvv6+Pi4pXCN2/ebdlylPItW44xS59ugVmaMmXFq1evv6jfdOmMbt687+0dAI0/US0iIoo1unTp9hc1rnLIqP43BAeHbd9+4vXr8AkTetSqVS5jRjP+X7v2wJo1B27deliuXFH4b2iY1sHBnnCXLVtWcRf1e/acNm7c4ubNq4sStiz3njp1TYneDx544wJwHCkzsK/Cy5chmzcf7dixgTgND3935syN/PltEhIS/vHeJ0/8PDweR0fHfFGP6dMbp0tnzCQbGX3qb0nGxsbhRuvVq/hFjasckup/A/Lb1/eFubmpg0MBS8vMlCARW7asiYhFkCvV2Iu5c2ezsbFSSmrWLDt37ibllHuR9CQCSsnDh94GBvrdujUR6kDAy8vv2rW7GzYcDgp63bZt3Z49m+FHKCeWUg01AWGqVCnVtm0d0Tue6Pr1ewcOnOMuJ6diPXs2L1Agt2jq0SMf2oEAkZFRJUrYd+/etGTJghotKy5edFu37qCPz4tq1UoXLmxLC8jjihVLcBULDx48T2tmZiatWtWigiKb6RTi7d59SqE6sRR7fv653oYNh5Qh4A4OHbqwf/9ZJqpMmcK0nCmTOePauvU41rZpM2bOnKGVKjkw9lWr9tGRm9vDDBlMe/VqQU4kWsBRHj16affu01myZGAGdJdDd36KFcvftWsTusDRjBw5/927yD//3I7rHDWqE3KDjGnbtuOYx8w3bFiZj5VV5q/eBj8kpID/G9jchQrlJRwNHTqHrYOSpBA6DRzYRnDjgyDgb9x4RDd3ZTezv4nkR45cFCUwLTAwBO9gavoXl9DAw4bNXbp0l7V1FjzLrFnru3efCsnZyhcu3OrcedKzZ89xKBCJakIwHz9+ecyYRahi6uML+vf/jaSAck/PZwMH/n7ixBVb2xxcQmC3bDlS9BIcHNqhwwQyDkZB4tC374zDhy+QdHAJknPX1aseefPmgC3kICgaRXdkz26BtS4uruIUasFwAwODKlVKKsO8d+/J6NELmSgbG+vMmc2XL99DXzdvPqARZiBNGgMmMyIikpqonrFjFzH2IkXyPX8eNGLEH9Onr9JoeY5omj59dWxsbFjY2379flP8SJL5wRe0bj0aa7lkbGyIJZaWmYyM0tIXZmM8Q6BaaOgbpmjnzpP/40748SCj+t9gbm5C1NLT01u9el+fPv9BRrLdW7eu3aZNbfauUg3OkCt6eHjZ2+cyNjY6f/5WQMCrpUvHKBX09fUsLDLxcXW9W7duhTt3Hp84cRXZTwpw5MglUQeGsNGnTOldvLgdPY4d29XR8ed58zYNGdIO5R8e/nbjxl9hi7u754oVeyIjo4OCQt3dH+npJcZbZ+eSREJaEMzctOkIVCR+wmeaIrT+9NOoBQu2EiSXLNlJRL1wYZWJSTqCJD3yv0b7fJEWcA0jR3bKlcua4A9hFizYQvAkcgoL+/b9CRLSzoABrTHgwgU3R8cCxjp/pp3RQa2pU/ug6jmtXr3M2LF/4h06dWqIQDhz5jppTuHCeTGA5J9IPm5cN6o9ferfqdPE48evjBnTFVdF++3b1x80qA2XoP3MmetE4wz87l2vuXOH4WQZVL16FdAIJ09eZQ6HD+/AAhG6e/Ro5usbuGPHSYY8blx3pgv/+J//rMY/li9fHGu/5Wb5ziCp/jewpYgh7OxevZrfvv1o376zyF3CEVuQDS2esYPo6NicOa0KFMgDCQmbxPzx47vjJnSbwjXkzm2NXtXWjyHowUPdFJSWIR6bkhxelBQtmm/ChCVQHV5xCV9DCK1Y0WHp0rGGhmmwjQaJmfPnb4HhFSqUYK8Lwf/LL53Z/enSGZFoIGsPH76IOoCEtAORRo/uIh4rlChhB6mmTFmu0aoMRAcKgnRA/IbDmJhYsnEoRC/CHkaENqEdjTa1Qbw0bVpVsZ+Qvm/fGXwcLgPempunf/36Df4IC5s3r068pVlT03RiyL6+hykhFJ89e+P06etp0qQRaXxUVAxmk2sg+znF0eB3RPuNGjnXqlWO1B1PsXz5bjKF+Ph4RiQM0yTGdiP8l52dzbZtMyA5HeEdqInmR2V86WOCHx6S6n8DG5dQSXRiz5EM86Fw48bD48YtXrJkR86cliIBLl48P/GKgD9tWt9WrX6BTmTm3KXbFFc7dmyIQibdhQB37z5p166ubgXY6ObmySeJDdB10qSehNnZszcQr3AZLVvWgP+k2Y0bVwkJCV+2bFfbtmM1iWSoPG1aPxzEw4fPqLxrl8ubN0kf+0FR4Q40WkeWNu1fKw5tMIAIjNzQrQ9DdB+6EZynTl0xYkSHOXM2YkmfPi0vXXJX7Mc7XLp0WzwJxyudOXODg0KF8rz/3A6X5+zcQ7ekfPliT574E+0RNYoPrVGj7IED58Ux7J0yZQXUFb7mY2DIDBzzkE5KIVT/xC3qhMzV/waoPnny8jVr9usWQlE+H3vqTEghYk+cuBTyJLlEOTxEYSL4kZ1JfIFo2dv7QHy8q/hERV2Kibmi0XJy+vR+795dOHJkgXgMRv4JtbJmzUj0fvx47+nTS7t3b0qYnTRpKcEZ0UEviIugoJO0c+bMMuV3csJzCKn0mMRI0oe4uKui99jYKxiwfPk43QdaSG5ugcOYlORpBSV4JToVLZw6xQy4Yv+GDb+SF+jWPHfuZvXqvfGGc+YMoc6rVycR3pTnzZud5Aj1hLIQNclcxNMHQC7AuJgiJoGpwDzdHEoB8oT1Yp737p1N48+eHezatfGHl0rdkFT/G9hMbJpr1+4FBgYLrQhP2IsPHjwlR1VCYhJMnNiTDbpnz+kk5VCduxYv3gHVdVNcgfTpjWmZxFV8d40mnzRp2YkTV6AW2ea0aavi4uJQsBMmdB87tht6/sqVO5s3HyWjRmajqxcsGEEMFE3RTo4cFv36tUIG086RI5cEpemUDHnhwq0hIWGEd/pSiIQL4CrJMJ5CRHhGTZ4snkTqwtQ0PYnM0qU7icO65WQ6zBVtotjRArQQFvZ23boDe/eeVuKw8DJkKHSxefO0wYPbYYafX6DyNQQuiVnlRspphANFeGNb9eqlhw79mUlgKsh0dH2WRitA+D8s7A35ef36FRH8VCCtYEQfX2H1QlL9byCn7d27xePHvlWr9kIns28QhwMG/H7u3C1EJqpe7OkkdyFriWNt2owJDg7TLc+cOUOJEvY08urV69q1nTTa3YkyF1c7dKgP22kcelMHnUwQQ4prEr/MMyHlhvCwaM2aA9hQoECeggXz+Pu/pNqoUfNJd9etO8hdFhaZIC1xGLaTqVKilf0n4uMTRQgpcdWqpYi9HTpMWLly74gRfyxdukv07uhYAHqcPOn6229rz5+/deTIRXokVSHXEBUiIqKEkCHVX7RoG5lwhQp/i+pZsmSAhAytf/+ZZD2YNHjwbJwFxuMxSaTJzA8ePA+xqYm/IEqjsRlO374ztIl3AvQmKylVqtCsWesZDl5s7tyNuEUxyZaWmTneudOFSWAqMF5fXw+rRO80fubMdVIADMNZXLjgxtgPH76IY/Xw8ErOPfGjQObqfwPca9KkCjuV+Ll+/SGIYWSUNnfubDNm9G/YsLJGq/CzZ8+aPbsF5bo3IuPZwYcOnW/evHqePNkJwhrt06MyZQqT8BOE7e0T36tlE3O7+Ma+bt0KaOAlS3ayidnZZmaQoWuvXs1hJr6DXX706OUNGw5jDGT45ZfOaAREO9saQqKoiclEdeojg5EVZBC0ky6dEc5l3bopw4fPI84bGOhjwKJFo7jKcCjBv4iMGrRoUQM3sX//2V69pkMYQvTMmQNxKFxycChAhBQpd40aZRgCPoUKGm2Qd3Cwz5IlI8fOziWnTu2DI/jPf9bgB1EEQ4a0K1u2CJdKly5UoUJxiIfBffv+hCe6etUD4cPkVK7sOHJkxy1bjpF05MuXs2fPZgRz5oHuyBHs7HLRLbGaIf/66woGiwc0NU23ePHoffvOvHuX+NUdZrdsWQOxwDDXrZs8aVIvcvW2bcfa2FjhvzAA/6J8qSkhoOfv7+/oWProUb/PqT2wX6Pmjr0rFWuQvEbUH2PtdmddavvrLqhQlCHpsfJW3DfCo0c+BKtChfIm+aMXCPVjxy4TfpOkvoTE58+DcDdEyyTt5MplrTyE02j1M4EuUyYzqIsrgVHLl++GY1C6WrXSSjXkNLrgf3mf3M3tIc5CuAldoPy1T9GNOIbJxO1WrWp9sAXUBHrn/fdevLz8SEkKFMitOy6N9tUgwjgti+/5GBrrpftSU+qBYVqn8wsiDPSTM6x6+rpP3NRx285bn1O5S5fyixfPk1H9oyCcEqn+hY7EZn0fkLNFi+rvl4tv7D+znefPX3XtOnnUqE62tjm9vHyXL99DvE3CyXLlin6N3TpASnywXHm0rtE+xvsYzzXadOCD5UncnALcou7qIKCSfNkpkQSS6j8yEM+tW9c+d+4WkZxTbb5d/Kefan5rnSKRCiGp/oMDbbJ06Zjz5xOVXvr0xkT+1JYoSfw7kFT/8QHDxfN/CTVDftkmIaEKSKpLSKgCkuoSEqqApLqEhCogqS4hoQpIqktIqAKS6hISqoCkuoSEKiCpLiGhCkiqS0ioApLqEhKqQKp4Bz6Nftp6tYd97Nc5SUh810jQ/hq+lLYidVB98eAzIeEvU9oKCYlvApPG5vqS6gI5strySWkrJCR+ZKS8s5GQkPgXIKkuIaEKSKpLSKgCkuoSEqqApLqEhCogqS4hoQpIqktIqAKS6hISqoCkuoSEKiCpLiGhCkiqS0ioAqniHfgr946/CPFNaSskJL4JzNNnqurQNKWtSB1Un7K+Y9XqjumMjVPaEAmJ5Mf6pfsuLYrS1zf456rfEqmC6gmahHnzB8s/GyjxQ2Lj5v3s8JS2QubqEhLqgKS6hIQqIKkuIaEKSKpLSKgCkuoSEqqApLqEhCogqS4hoQpIqktIqAKS6hISqoCkuoSEKiCpLiGhCkiqS0ioApLqEhKqgKT6N4eJSaVff12pW+LrG9ip08RmzYYne18bNhzKm7dx/foDr1+/l+yNfxCxsXEuLq5Xr3pwfPeuV82afSdOXPrvdC3xRZBU/3Hg4/Pi9OnrhoZpoqJiOE5I+Dd+cPLt24imTYcJqtvYWE+Z0rtdu7r/Qr8SX4pU8fPqKkd8fPy7d5Fv30bGxcWlSWOQIYOpkZGhuETMDAoKpZxjMzMTM7P0HMDhN28i+D8qKjouLt7EJJ0of/rU/+nTgHr1Kr54EXTmzA0np2LKrwCgnfDwt5GR0dxlaJiWLsRfs+c0LOwtdOWYErowNv6r6+joGC7xP8fm5ib0oqenx3FgYLC5uSm3cIlbXr16jUsJC3vz+nW4qWl6e/tcivExMbG0gJEcGxsb0Qij4zg09A1NGRmlff36DUPTtUfi20HOb8rD09Nn5cq9Bw6cg0WWlpnHj+/erFk1KBce/u706WujRi2gnGpt2tQZPbpzjhyW0GzWrPUBAa/c3B6GhIR379505MiOMOr8+VtQt02b2jR18+YDP79Ahepnz95YuHDbpUvu0C9/fptBg9q2bVuHyo8f+06ZsvzQoQvx8QlUHjGiQ/v29WEdXdPIokXb7t9/yi09ezbv37+VjY2Vvr5+5crdBwxoc/Lk1QsX3CpXdsRC/NS8eZuxpGvXxsOHzytfvvi4cd0w8sSJqwsWbL116wEt4HfGjOlaoUJxGiedwe9w76RJy0JCwhR7UnQRfnxIqqcwIiKitm07fujQ+ebNq+XKZX38+JWlS3fa2uYoV64oB5s3H+3UqWGmTGbUnDt3Exn43r2z06c3JoTu2uXSsWMDqpUpU4Srbm6eRPICBXLnyZO9QYNKZ8/evHLlTtGi+USMXbVqH75g9OgueBDa+eWXBVALNi5atN3V9e706f0Iv+fO3YTzFSs65MxpuWbN/rVrD5QvX4wunjzxP3r0EhQdPLgtnojWRo9eOG1a33r1KpQqVcjZ2ZHW6LFbtyZE9bJli9jZ2TConTtdZs/eUKKEXatWNckmoD3u6ddf+5QoYV+4cN4xYxYR0mmQZqdOXdGp08TGjZ0RDim7Fj82JNVTGNDg3r0nOXNaVahQAqI6O5d88MA7W7asL1+G4ALgef36FQVdiedNmgxdvXp/v34/aRITY6s5c4aKRtDnxGfoameXixBKa3iNgwfP0xpsp4K3dwC34xeyZ7fg/1u3HoobYRqSG8ZytVEjZ2J4unRGt28/2rv3TI0aZfr3by2q0dfvv6+vVq00hZxWrFgCYgtmEpPHj19MCwUL5vH1DRT1PT2f7dx5slix/L/9NpCxUFK1ainkybVr96im0SYjOIt8+XJqtNq+e/epOBRhqsQ3gqR6igFOEldhWuPGVSZMWDJgwEyo3rBh5UqVHLJmzUjQfvEi+OpVD6S4yNU/gefPg1Dvjx75HD584ebN+5S4unpERcWQvUMtMuQWLaoTpXv2nAb9OnSoz//UMTAwIIBv2XK0fv1BLVvWcHQsULJkwSxZMuB6goNDaRBNHhkZpUn0FM+Dgl4/fOiNAucUToqs+9OwsMgkeA4wgwThxIkr+AtOCf5oE3EJ4QDVJc+/NSTV/w28evX6/cLIyGh0OLGxdm0nmAMN7tx5PGPGGpG7Em/54A6io2MI2uKWpk2r4g7eb+rZs+fwHK+BhH7zJvEZW5Ei+a5du4sgd3AoAJ8HD25XoECejRsP+/q+GDp0rqFhmm3bZiAByK6R9EeOXEIUoNKJ+b/80jkoKNTP72WRIra0I1qD/zVrlrO1zYl3+LoZyJjRDL2gnCLylad3Ev8OJNW/OYhXp05dg+3Eao1WbPv5BaJX4Q+yOSQkzN3dk61PXEU5kzAvW7abSNu7d8sMGUxJ2keN6gRPuBFJT8YLn5O0j24nAr97Fzlz5iARdQXIh/fvP4sXMDVNR7NE8nXrJkNpDw+vvn1n0MuUKb2FL+jZszmNb916fNOmI3v2nEacUxmdP25cN8FPGnFze1imTGHl+fynoX3ebsqQESZWVonpvavrXZKIGjXKYkxyTazEF0FS/Ztj0qRejRoNnj17A5kzbPfy8t237yxZ8eDBbTWJ312FLFmyMzz8bb9+rZC4hQrlzZTJjMBOUK1Vq9zhwxcJ4zgLfX19UneouHz5OPJw3fbR21u3HiNEJ/EC3H7kyMVbtx7gU2bN2lCoUJ4OHRpAXcQCvgPSkj789ttajvEmGJY5s7mBgT6nlpaZ0dskAmTstIn0gP83btxftGiU8FZJEB+f4OPznBGhKUQJur1UqYLr1h1ct+4A9MYZrVmzPzo6tm7dCuLBnsS/D0n1b4569SoMGNDm7NkbV67cgbHiO7AePZp17dqEq2jm+vUrbt58dNas9WhaM7P0XCV7h1QDB7ZB5KO606RJXKawsDdjx3arU6f8mzfvEPzW1n+lwSTqxM9evZon4SHOAsYiBLilX7+fVq3aN3XqCj09vaio6BIl7Ajd9DViRMeFC7dCeEPDtLGxsTgRjMmbNzvCfunSXcuX76acJIJQTP3cubNptDS2sbES37FrEhN+fTzRgQPn376NHDKkna9vICk6LdOpl5cfcuPatXtk/unSGWNh4cJ5NVrvRjWaFS34+7/k/4CAV0piL/EtIKn+b2DOnCEuLq6IZ5SwmZmJs7Mjea9QtrCCDBzuQYknT/yI6ihqyKbReoGRIzueOXPjwQNveFi9ehk+lEM/wmPlyo6icQLv5MkIB+cknRI/8SbIZrpo1aoWRD1+/EpkZFTevDlq1iwreNukSRVEBIbBNyiKEChcODFFL1myIEn78eOXMZh2yAuKFs0v1Hv//q2R98pjObQ6vZMgQFQ6cnIqJlpmICNHdnJ19aBxMnzSAcYoHtrjg/BKSuoO5+lLeR4h8Y2g5+/v7+hY+uhRv8+pPbBfo+aOvSsVa5C8RtQfY+12Z5386y4SPyQM0zqdXxBhoJ+cYdXT133ipo7bdt76nMpdupRfm1KGxAAAHPJJREFUvHiefAdeQkIVkFSXkFAFJNUlJFQBSXUJCVVAUl1CQhWQVJeQUAUk1SUkVAFJdQkJVUBSXUJCFZBUl5BQBSTVJSRUAUl1CQlVQFJdQkIVkFSXkFAFUsvPq9+96yV+27mEhMS3QKqgekk75/49FqW0FRIS3wQO9hWS94fVvw4pbwH4tcu2lDZBQuIHh8zVJSRUAUl1CQlVQFJdQkIVkFSXkFAFJNUlJFQBSXUJCVVAUl1CQhWQVJeQUAUk1SUkVAFJdQkJVUBSXUJCFZBUl5BQBVLFj7tM2dDx2cv7KW2FhMQ3galx5nl9jqS0FamD6pfvHlu9bkyWLBlS2hAJieRHpYrd4+JjU/znWFMF1UHJkgXl31eX+CGhp5fSFmghc3UJCVVAUl1CQhWQVJeQUAUk1SUkVAFJdQkJVUBSXUJCFZBUl5BQBSTVJSRUAUl1CQlVQFJdQkIVkFSXkFAFJNUlJFSB1PLjLurEmzfvNm1K+uONWbNmLFu2aM6clv94+/PnQf7+L0uWLPjpatS5etWjYME8fDgNDg6Lioq2sMiUJo3B1xr+N2zdeix37mxlyhQxMNC/du3ujRt/+3lkc3PTMmUK58uXM1n6kvhqSKqnJGBd//4zoUGBArnDwt6amqb38XkeH59Qu7ZT586NihSx/fTtGzYcioyM/keqP3jg/dtva7t2bSyovmXLUQMDg1atambKZJ4so5gwYUmjRs6OjgUMDAz37z83c+ba7t2burs/srLKHB0dExISfvp0nq5dm5QtWyRZupP4OkiqpzDSpTNq0qRKly6NQ0LCzM1NvLz8jhy5tHPnyfTpjYcNa0/JJ+69f/9pnjzZv7THvXvP2NhYNW1a9euN/iSMjY1mzx6CjkCYREXFEOc3bz46f/6WSZN65s9v8406lfhHSKqnMNKmTZM3bw6iujgtXNi2UKG8YWFvkMFPn/oXL24XFBR6+fJtN7eHb99GUqFcuaK1apXDQfz668pHj3z4UDhuXLfY2DiYf/bsDT+/l5RYW2dBGijNCrx69Xr37lPc8uJF8Pr1B3v2bI4refbs+cmTVx898kV+03ubNrWpicQ4duwy3sfBwf7CBbfo6NhSpQqiPjw9fTCMqzSOJcbGhh8clKFh2kqVHMQx2l5fX3/69FV0PWJEx282kRL/AEn1VAcYVapUoRUr9jx9GgDVifC7d59OSEjQ19eDxsePXybDb9Giuru757lzt6hvaZk5Li4eBs6YsQYSGhqmwSkEB4ei2wcMaK3LdshMm9SJiYmF9nFxcd7eAePHL/b1DYS0JA47dpyMjY1t374+dfbvP3vypGvr1rWePw/CO5w6dS1XLuvIyKiIiKjHj32J1b//Pgjz/nE4tIzzwkjcxDecNYl/gqR6aoStbQ4EPFH95csQF5drWbNm7NixQZYsGYjwvXtP37LlWL16FUQk12hDOqSFjUT+JUsSf29XVFQ03sHFxbVRo8q6VCc579atCaQli27Tpo65uemQIXNCQ98MGdIuRw5L/MX587fmzNlIHEZoUB8bChWy/fnneleu3FmzZj++pkOHBvb2uWhh0aJt16/fs7fP/bHArgs0SKZMZt9uuiQ+B5LqqRFp0qSJjIwmekOSvn1bQlETk3SQmRLCO6obSUxEFQ/kOIiPj69YscSiRaOQzXfvegUEvCI4f7BlnIiZWXrcQbZsWQnyJ05cRYeTUeNWNIlPy03o5eDB8/37t+Y0f/6crVrVpBAVsHOni4NDgSZNqmASIfrQoQumpulp4d+cFon/BZLqqRE+Ps+NjNIWKZIPOoWEhK9atc/H5wWSO2dOS04zZzaH6rr1OaUmvF24cBvVcAd6n/ELzaBrRERkYGDwhAlLuIUSZAKxHe0gKhgZGeo+FzQxMYbnHGAG5RkzmqVNK/fPdwO5VKkOwcFhJMPGxkZQGpFM0k563L59PRsbawjWseOE928htR4zZhFpfIsWNerUKU+6jhTftevUpztCDhgapi1WLH+zZtUU10CgTvbf54mf8vDwateubvI2K/FFkFRPdbh9+xHJsJNTMQTztm3HoXGvXs2bN69OViyetysgOS9Rwp6Dd+8iDx0636lTw0GD2lpYZCL9vnjR/R87IjgbGBg8e/a8WrXS4nUaFAGupFevFqVKFUqu4Tx44D1v3ibcVu3aTsnVpsRXQFI9hUFOfu7cTXH8+nX41aset249KFzYFt6SVFtaZoqMjFqzZj+BEcG8efORp08Dtmw5NmZMV67a2eVasmQnjCUsV69ehhybyB8Wlsjzy5dvE7G564Od3r//dN26Az17Np89e/DAgbN69ZpWtmzR6OiYpUt3oiAqV3bEd3z1iLTt7BLHL14Ebdx4OGvWjFOm9HZ0LPDVbUr875BUT2FArb17zxw5cpHjPHmyE2Dr1i3fqJEz9KCkRo2yJOezZ2/47be1zZtX69ixIfwcPnxefHw8V6tWLeXi4jpp0jJi+/jx3adMWT527KIcOSz79Gk5enSX1av3eXo+E73kzp3N0jKzOG7atOqsWetnzFiDUmjSpCqBHX+BDbiGLl0aoyC0zwL0ypUr6u0dIG5B0tvYWCk2e3n54ZUI1+XLF/P2fo630r4ql6gLXF09OMUMTWJun65MmcKtW9fGDVWsWEIm9ikLPX9/f0fH0keP+n1O7YH9GjV37F2pWIPkNaL+GGu3O+tU+Ccf4uLiAwODlVPIgErnfyOj/36DFRUVHR7+LiYmNn16Y66SVEMzHIG+vj6FyPvY2DjIiQKn2tu3ERyYmZmIb9fF43rCLA6Fe0WzUJHIT9eQn8ycRriRXmiZyvRCHW6kGi2jHTjFs1CHyqam6YXZ2ECDVOY4ODjU3NxUfOsWFBRKd8JyLMQMOsWJJNf79t8jDNM6nV8Qkbx/3cXT133ipo7bdt76nMpdupRfvHiedLQpCciTLVvWT9eBKrrM12jfmREHOAXdv34FUXUfmAuWarTvrvFRyuGksXFm5ZRG8BRJOoX24mG7AKTNkMFU12ylXzis2APkX+NKtZDfi0pIqAKS6hISqoCkuoSEKiCpLiGhCkiqS0ioApLqEhKqgKS6hIQqIKkuIaEKSKpLSKgCkuoSEqqApLqEhCogqS4hoQpIqktIqAKS6hISqkCq+CFWPY3eL6P+FD8pLSHxgyE+PoEdntJWpA6qj2qz7EWwjyY0pe2QkPgGmNK1ib5+yv9mjlRBdefijVLaBAmJHxwyV5eQUAUk1SUkVAFJdQkJVUBSXUJCFZBUl5BQBSTVJSRUAUl1CQlVQFJdQkIVkFSXkFAFJNUlJFQBSXUJCVUgVbwDH/jaL/RNUEpbISHxTWBibJY9a96UtiJ1UL3H7PJmGY3TGKQKYyQkkhf3PR9dXBipr5fCCjpVsCsmLvrUmRUq/PvqEmqAYVqnhIR4TUpTXebqEhKqgKS6hIQqIKkuIaEKSKpLSKgCkuoSEqqApLqEhCogqS4hoQpIqktIqAKS6hISqoCkuoSEKiCpLiGhCkiqS0ioApLqEhKqwHdJ9bVrD9SrNzB79rqdOk10du5hZVW7X7/fvLz8xFV//5dr1uzn/2Tp682bd3v2nF637mCytPZB0H6ZMh1dXe9yvGLFHlvbxhYWNZUPw2SwDPmr27e2rj1//pZkMTU+Pv7iRfeSJX/29g74RLVhw+bqDsHJqTP/ly/f5dath8liRrKADcO2iYuL/6K7Dh48X6FC19Onr38jq74dUsUPsX4R7tx5PGfOxvTpjc+eXW5tnSU+PsHFxbVt2zGnTl27e3f7u3eRhw5d2Lv3TMeODZKlu4CAV9u3n8iQwTS5GnwfUVHRISFhMTGxHEdGRgcFhbq5bTY3NxVXudS+/XiGXKpUoaJF831F+69evY6IiEoWU/X19XPlsn7zJsLGxuoT1ahQvnzxceO65c9voxT26PFrzZp9AgKOpk2bKnbd4cMXNm48PG/eMAODLwh40dExymJ9X/j+ovrNmw9evgxZvHh0vnw5TU3Tm5ub1K9fsXfvlqGhb7iakJDAYgQGBl++fMfT8xkHT5/6+/kFbt589Pr1e1Q4cODco0c+uq0RphTXDutmzly3YMFWN7e/4s/Ll69v335048Z9HAqn587dFO0I3L3rxe34F44pp53Ll2/Pnr1BqYABNLh8+e4HD7yTDIQGuXTv3pP3x5gpk3nmzH99bG1zLFkymiFjg7gKdXfvPsW9DIqhicIk4wKLF+9gOO83jt7hXlp4/9KxY5e5xIdJS3JJGZcgBpwX5cHBYThWVE+SWwwN0+AflVHwcXIq+vZtxKVL7kod/Nrx41eWLNnJNCbpjnnGDLEKmCoa55TZZn1FHSRGErWC1uAuNN3jx7665QRwCpOM68IFNxZu1qz1n2PPs2fP8QvKrvgekSr86xchNjYWPiMRt2//jQ2kSdxVaf/zn/6TJ/fC3f7668qlS3exxQcO/H38+O6vX4f/9ttaKkCD2rWdnJyK7drlohttunWbUrduhVKlChoYGLK9mjQZFhkZpaenxzbt0KF+374/wVLBRlomHMFPNzfPiRN7lChhT6G7+6MpU5Zv3fqfYsXy//zzOGgpHAc1+/RpCQcIZRgDMSwtM/Xr12rYsPbcBT9pja0TGxs3ffoqe/tc2Pmx8WKMiUk6hkxlTq9cuTNo0CwPD6+4uDiaZSBTp/Zu1Mh5165E6k6Y0D1PnuwabSIwefIyrtasWVZpiq28c+fJ/v1nYpKBgUGOHAsHDGiNVRrtVp44cSlXRS9YNXv2kLZt66CeOG3XbixaiVAG27t1ayJaCw9/t379wbFj/+QWzCPajx7dhUn72EDSpEncbGXKFOF/poig2rHjRFaTYwuLTD17NhszpqtGK6Pg5MqVe7gybdrKwoVtKVm5cjzjunbt3tSpKy5dWp0tW1ZNItUTJk1aliaNAcsEabdsOTZ06BwcAdOSM6fl8OEdundvKqYCPvv6BuIalHFt2nQEv0YXNMj2GDy43SfsoTKe4skTf9ycnV0uvNtX7t0UxfcX1du3rw85XV09yGnr1x84Y8YaAoWxsSHhPWNGM5YHzkM8wn6DBpXYnYTTQoXyXLmydsOGqQUK5EbK6qZnxBklSjRoMKhcuaIoTC+vfbSzY8fJS5duDx7cFtXw88/19u+fW6FCCRrUbYGdQQvsIY1WtRIT1q6d7Od3mE125MjF3r2nN27sTIMeHtswmxC0cOE2arIpT550XbToFy4tXDiSG0NCPkp1NlavXtPRLyVK2JHr4sJg/unTS7kX8YmPcHG59uJFcJ06Tlev3lGiGSELmYPmx1OIEizfv//skCFzfvqpJve6u29p2rTqxo1HcF7QANfDNK5YMZ5LLi5LUEww5PnzxF/417nzpD17Totx/fHHcCUMhoW9gXsVK5bw9T1048ZGZ2fHtWsPKEGbaT9//tayZbtwtVjI2FkpR8eCQr2/efMOXuF8fXwOPXiwa+TIjuRfomV8GTJq4MA2169vWLZsLBz28XkBq7WzHceNuBVlciIiIvFfWhfmQvszZw7E/lu3NrFD1q8/dPbsDVzYyZNX69QpTyGXOnVqOG7cn8wSB7hdI6O0z54dxN992h6monTpwq6u65gZ9hiq6n/cwymC7y+qs1egMZnzmTM3CDIsCV6ZRRo5slOZMoWzZMkAXaEZgVqITCJA1aqlCxfOy6b/RFbGump3zEziWIYMmmbNqsLhggXzGBsb0SNdQLB/tI2QVbdueSMjQ8ImZEOHL106FjeERmjVqhY72MPjMVGCzAKGwA3K27Spc+fO42XLduu2kzt3Q4Wi7Gyq4accHQvgEXBkVlZZHBzsqVCjRlmISmto8qJF87ML6aJs2aJmZumvXvXA3YiYLIBJ8JDZmD9/hDCpevUy6I4jRy5Vq1a6RYvqxLrKlR0JkmXLFqlSpeSaNQfCw99y4+nT13v3blGvXgUmAa9Hs0ePXqYcV4KgxQfhaOzsbPBlYWFv6V10hxTCK2m0MpvIzCk3TprUi/YpmTdvEzasXj0xXTojLMH7kKHg/sjwWVYrq8xdujRGIhFC7917qiQpHwOEZ2KrVy/NXSwWTp+x3L//lAYZI2xnZaOiYsQDF2ifO3c2qrGy3Eshu+Jj9jRrVg1HkzVrRtQKm4H6jMLH5/k/7oRUiO+P6oBVYS/CFhwzTECVzZmz0dX17q5dv5csiRTXhwZKMomWI0YpzPkY2A38r3Aje3aLIUPasS89PX0+ed/fULmyg5CpxB8UwZMnftbWtcUl9je7DUdAqEEKQioUryZR1hqQC4hMRAEiGX8hjuEtYQfDGBGOjEBNooH4vHbtLv9jNruZScCXsSORmng9eM5OHTq0PROltIneRk2gVpRCaI/CJ9ozOTVrliP64TofPvSGbLALa6lz48Z94iq+QERjrHJ2LimoniOHJf6LIFmmTAfcEDRjUIozRVJNmNADrrq7ew4YMLNIkXy//NJZGSZm4yCyZaujmIe2srfPjVvBcxUvbgfPsYrJQaAhpz897QifP/7YTLBngMps0wVzVamSA7ydO3dT+fKd8Yac9u/fCl+QpIWP2bNt23HWkZ1WpUopsYUQAsrW+r7w/VG9Xr2BCHLycGImcYYSAh36iqwbrQXVk9TX0v4feP4+uEs0/kVgEyguBW1PfOjVq4VuhdKlC0Ew9H9ixf+v+r55sIJ7FUuUR9ZPn/pPmbJi69ZjEABKQyQch1KtZcsakycvJ9gyDzAfH5GkWbav7tNv3ZnBXaK08+bNDl3btKmNOoDwGm1SrdF5CKerjLBw6NCfa9Uqt3jxDrR6nz7/yZs3x8SJPeC/Riu+xEPTChWKL1w46uefx3XqNHHPntmKODIxMSbH1jXP2joL3oqm9PQ+NTnvA0+Hh8X74yN0yynB2n79WuGqUH9IJ/KIJUt2XLiwiglM0sjH7Dl79qZBIr5Leuvi+6M6IZqckFWB6qIETqK7WO8v/Y70E0C9EzyhjYNDgU9U8/DwQrW+X87WII8IDAyZNKmnKCHy3L3rRSQUT+C8vZ+j5MXjpffBiD7oaLy8/EjIly8fh7Bk8xFwSBOUq6gDNPy6dQcPHjzfpEkVRRcobTJ1q1bt7dWreZJmEfYwgSBMxBOaqHHjoWJc5EHcePnybQQ85fgvJIO4i8h/4MB5hMzChSOZ+d27T02YsER5u0EBbqJ8+WKDBrWdOnUFNMZDiXIzMxNlcsT8BAWFZsxoevGiu6/vC1/fQOTYBydHwcWLf40dKV6gQG4WS2mQEI06yJMnO+odn1W0aL7+/Vv37NkcF0ZIIPfW7fof7WF++JBcfNqeVI7vz1d17twQkvfo8SsrIUri4xNQaCwVmxiKurs/gk6kau/fSxi0tMy0c+dJ8aULwtLP7683bZB27NfWrUdrtHJu165TXbpMvnnzwfuNIMvF8yq6YBuJL/mSAOXJzoDMw4bNFbzlrhEj/liwYGuZMoWrVi0FtYi91Hz48Nny5XuQ9J8zdkb68uVrb+8AXBvDZ//p5o1FitiS/+/YcZJB9enTMklUNzVNh3+EQhs2HNJotzLkZIBIZQbOh4QfkY+DOHDgHIwVT78gKj6L6T137hYljHfevM2iQQa+cuWewYNn47bIL0TqK55QJgGN4EQYdatWv5Da4DII9cHBof37zxSTc/fukyZNhpI+kDcxBIzEKXDj48e+K1fuhbS6rZGpCZ8+bdoqUUJe06NHM9zulCnLaQ0ntXfvmZkz14lcCWJv336CLYGRIg9C3eg82tP8oz3UYeCs5gft+V7w/VEdib5u3RT2Yp48jczMnPlkzFiVxHXjxl8RjehDXDgZZu3a/VjsJPfa2+ci1Tx+/ErRoq25kU2jPM5F7O3bN2fXLhfKLSxqDhkyu2nTqlOn9mEbFSyYZ82a/TVq9GG9ydlwNC1bjqRahw4TyNzeT/w0Wqo3bFh5/vwRS5fuEkbWrNmXG2EgW61du7oQvl27sZSXLPlzYGCwItc/DYKMhUVGVDo32tk1I1fPmfO/r7LQMoEdL+DgYK+8gaMADpPVoyPwktyeO3fDZct2QX5MsrGx4oMOz5evCZegUPbsWRWTNm36le3eoMEgc/MqbdqMwZ9GRkbduvUQhdKiRQ0XF1eGoJ2N8TiFNm3qaD4ElmbIkHa4KvQC1KpTp/zKlROYVTE5FSt21X7j1ZZLTk7FyCO6dJlEeYkSbXHKinzr1q0Jy9G27RhWnKvMoShnyEj03Lmtf/99PeVsjOHD5+HpcN+IjubNq23ceFjsFienzv/X3vmFNBXFcXwzsgiK0iIlUl/CokSGMg0rzPJP0pIK0gcpVlFB4IPSQxOqpx6ioCgzelDowSJc2lONehDK3gQNK1YEPoRBEPSiw8rWdzt0Pdy7zS0c+/P7fhh67+49v/s7597v7/zOuXcbPEGKkZe3xuncjrQ/L68OpWL7g2h45cp9NLjJn8wi8xJ4lRD6/U9u3XqopoiRLWNwa8w2oXOD7CcnPyNfxel3u13qVrMtHL+xJ1b9/imoApc+0l2M/GEBm5Cjfvv2Qj0oUlCw/syZw7gsMFqDHpAOzM39hB5KSgo3bdqAPhkxHoPSX79+41rfuDH0YxUdHW0OR6kxyMT1d+LEwbq6SvQqWC0tLTl2bL9Ky3Hp9Pdfbm1tQDbe0lKLuACDKl/F5XvhwnFT7m2AMOfz3cHOSCiczh2NjdVTU1+R7hoDgfLyLZAojODoRimP52RNTbktPEOpio+P+1Gv2tpKhEUcvbi4sK/vEqoDfxDXIJv8/LUYJal6wZmhoetXr/YjLKJnRh3RgDgQatrV1Q6RDA6+xG7wp6lpp6pgc3NNIDAHWerOQ3hofHVrE7u1tTUgvCK+YBWD/Pb2A6psUVFBb+9FBJHR0XE0OxKNnp7HygJcnZh4pM47rKnJQkjRFsrXNquqIUXHqsOx1eXaja1wEmN1nGhsQkjFEB2l1DwfevKnT2+MjIwhQsXvD/r5d+8+Ixj97/WbMuzT09MOR6XPZx5iRaTjvOuI49yusiV+RLTZUzAx+SDRX3dBFqf6ZOtdtD8hgmrqy1iwbkXUgBFs0edU1TMkJpuhAkGbsoODhtaCQbUDltWC1ZRuUB3O6qTJiDIeexJI9z8YxrA8MPDc4+nxeq9VVGzTG0pvAVVczclFaxZVSnfj3/xcqIi+yZgi0Suo0nhrU6hTBsXG2Th4f3h4pLv7LvKj+voq3Yhx+qxVsxo0TlnE93ULi/oTLmUzNV1scpdXv74dWJazlN3qpy9vLw8cf+wdj2dnt3tnb+/NzOvVDWLoISdn4Uyhw4651WxEvxD1IsZyOAos2DSWo/kT0WA0J03GFy1oTFZjCIMRKV4YtSKd0fc3OaYXj/G+qZS+qi+rW2JWUxE9j7O1dWfwD72rPg8fzRNrFXQnI7aq9f14TlaGksFSJzroxiGJzs52ZOZZcGfI4NChPRgORFMgiR9KPUtAB2W6q5wdhHv17IlcKYSNSIgIKHVCRECpEyICSp0QEVDqhIiAUidEBJQ6ISKg1AkRAaVOiAgodUJEQKkTIgJKnRARpMXHXVavWle0OVk/k0RIalm5YlWOPfWfzEsLqT/qfv8nOJ9qLwhJCtB5/N9jkTzSQuqhbwiwp4UnhGQrHKsTIgJKnRARUOqEiIBSJ0QElDohIqDUCREBpU6ICCh1QkRAqRMiAkqdEBFQ6oSIILEnz+12u/fVvTfvnyXJG0JIPPyY+Z7oR2gSk/rps90fPowlVIQQkgyOFp9KaP/EpF5WVoVXQkUIIekAx+qEiIBSJ0QElDohIqDUCREBpU6ICCh1QkRAqRMiAkqdEBFQ6oSIgFInRASUOiEiCD0DPz//++PHt6n2hBCSFAKBWfy1z8zM7N27b3Y2kGp/CCFJITd3+dCQ9y/6q5udBZmfXAAAAABJRU5ErkJggg==) + +SRMessageMetadata [1] - Includes the LEXS version utilized by the requesting system, message date and time, an identifier for the message, the message origin, and message destination. See SRMessageMetadata in section 5.1.19 for a more detailed description. + +UserAssertion [1] - Includes information about the user making the request. See UserAssertion in section 5.1.24 for a more detailed description. + +DataItemID [1] - string. The value of a DataItemID element provided in a previous result. + +StructuredPayloadsRequestedAbstract [1] - abstract element. The substitutable elements indicate whether the requestor wants responses to include any available Structured Payloads, no Structured Payloads, or specific Structured Payloads. See StructuredPayloadsRequestedAbstract in section 5.1.22 for a more detailed description. + +## 4.5 getDataItemResponse + +getDataItemResponse contains all available details and contextual information associated with the requested data items. The response may include information about Attachments (such as images or documents), but does not include the Attachments themselves. + +This response includes information on the LEXS version used by the responder, the date/time the response was generated, an identifier for the response, and an identifier for the request that this result is in response to. + +The structure below shows a high level representation for the DataItemResponseMessage. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +Figure 10 - High level view of getDataItemResponse + +![Image](data:image/png;base64,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) + +SRMessageMetadata [1] - Includes the LEXS version utilized by the requesting system, message date and time, an identifier for the message, the message origin, and message destination. See SRMessageMetadata in section 5.1.19 for a more detailed description. + +ResponseMetadata [1] - Includes a result code, and advisory, and an identifier for the request this result is in response to. See ResponseMetadata in section 5.1.15 for a more detailed description. + +DataSubmitterMetadata [1] - Includes the organization, the system name, and possibly the contact information for the data submitter. See MessageOriginMetadata and DataSubmitterMetadata in section 5.1.10 for a more detailed description. + +DataItemPackage [1] ([0-1] - 3.1.4 and later) - Includes Package Metadata (which includes the owner of the data item), Digest, and possibly Structured Payload(s) and information about available Attachments. See DataItemPackage in section 5.1.4 for a more detailed description. + +## 4.6 getAttachmentRequest + +The responses to searches and get data item requests may include information about Attachments, but in the interest of limiting the sizes of these results do not include the Attachments themselves. getAttachmentRequest allows a consumer to request the Attachments. Multiple Attachments may be specified in a single request. + +This request includes information on the user making the request, identifier for this request, LEXS version being used by the requestor, the date/time the request was generated, and the Attachment(s) requested. + +The structure below shows a high level representation for the AttachmentRequestMessage. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +Figure 11 - High level view of getAttachmentRequest + +![Image](data:image/png;base64,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) + +SRMessageMetadata [1] - Includes the LEXS version utilized by the requesting system, message date and time, an identifier for the message, the message origin, and message destination. See SRMessageMetadata in section 5.1.19 for a more detailed description. + +UserAssertion [1] - Includes information about the user making the request. See UserAssertion in section 5.1.24 for a more detailed description. + +AttachmentURI [1-n] - string. The value of the AttachmentURI element provided in a previous result. The AttachmentURI uniquely identifies the Attachment and must follow all rules for an URI (Uniform Resource Identifier). Note that if the URI is provided as a URL, it does not imply that the attachment is available over the Internet at that address, similar to the way URLs in XML namespaces do not imply that the address is resolvable. + +## 4.7 getAttachmentResponse + +getAttachmentResponse is returned by a service provider in response to a getAttachmentRequest, and may include multiple Attachments. + +This response includes information on the LEXS version used by the responder, the date/time the response was generated, an identifier for the response, an identifier for the request that this result is in response to, and one or more Attachments. + +The structure below shows a high level representation for the AttachmentResponseMessage. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +Figure 12 - High level view of getAttachmentResponse + +![Image](data:image/png;base64,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) + +SRMessageMetadata [1] - Includes the LEXS version utilized by the requesting system, message date and time, an identifier for the message, the message origin, and message destination. See SRMessageMetadata in section 5.1.19 for a more detailed description. + +ResponseMetadata [1] - Includes a result code, and advisory, and an identifier for the request this result is in response to. See ResponseMetadata in section 5.1.15 for a more detailed description. + +Attachment [1-n] ([0-n] -3.1.4 and later) - see Attachment in section 5.1.1 for a more detailed description. This includes the AttachmentURI, the Attachment binary, domain specific attributes. + +## 4.8 getCapabilitiesRequest + +getCapabilitiesRequest allows a consumer to ask about the capabilities of a service provider, including whether it supports text and/or structured searches and the features of each, whether paging is supported, and what data item categories are available. + +This request includes an identifier for this request, LEXS version being used by the requestor, and the date/time the request was generated. + +The structure below shows a high level representation for the ServiceProviderRequestMessage which is used in the getCapabilitiesRequest as well as the getDataOwnersRequest and getAvailabilityRequest. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +Figure 13 - High level view of getCapabilitiesRequest + +![Image](data:image/png;base64,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) + +SRMessageMetadata [1] - Includes the LEXS version utilized by the requesting system, message date and time, an identifier for the message, the message origin, and message destination. See SRMessageMetadata in section 5.1.19 for a more detailed description. + +## 4.9 getCapabilitiesResponse + +getCapabilitiesResponse is returned by a service provider in response to a getCapabilitiesRequest. Some capabilities apply at the service provider level, and some only apply to structured or unstructured searches. + +## Capabilities Common to Structured and Text Searches + +At the service provider level, the result indicates the maximum number of hits the service provider can return in a single response, and whether the service provider supports structured searches and/or unstructured searches. Optionally, the service provider can also report the data item categories that are supported by the service provider as a whole. + +## Unstructured (text) Search Capabilities + +For text searches, the result indicates whether the service provider supports interface control in terms of allowing users or applications to request additional matches for text searches, whether searches can be performed on exact phrases, whether the logical operators AND and OR are supported, and whether wildcards are supported. + +## Structured Search Capabilities + +For text searches, the result indicates whether the service provider supports interface control in terms of allowing users or applications to request additional matches for text searches, multiple values for individual fields, fuzzy searches, date and numeric ranges, and whether wildcards are supported. + +The structure below shows a high level representation for the CapabilitiesResponseMessage. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +Figure 14 - High level view of getCapabilitiesResponse + +![Image](data:image/png;base64,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) + +SRMessageMetadata [1] - Includes the LEXS version utilized by the requesting system, message date and time, an identifier for the message, the message origin, and message destination. See SRMessageMetadata in section 5.1.19 for a more detailed description. + +ResponseMetadata [1] -Includes a result code, and advisory, and an identifier for the request this result is in response to. See ResponseMetadata in section 5.1.15 for a more detailed description. + +Capabilities [1] - container for capabilities information. + +The XML fragment below shows the organization of the Capabilities element. + +``` + +``` + +DataItemCategory [0-n] -Provides optional list of data item categories supported by the service provider. See DataItemCategory in section 5.1.3 for a more detailed description. + +PagingIndicator [1] - Boolean. Indicates whether the service provider supports requests for additional hits from a search. See Appendix D - Search Result Paging Support for more information about how this capability works. + +MaxHitsReturned [1] - positive integer. Indicates the maximum number of hits that the service provider can return in a response. + +StructuredSearch [0-1] - container for capabilities specific to structured searches. Note that if the StructuredSearch element exists, then the service provider supports structured searches. + +MultipleValueIndicator [1] - Boolean. Indicates whether this service provider allows for multiple values in individual elements in a structured search. For example, a search on a person with last name 'Smith' or 'Jones'. + +WildcardIndicator [1] - Boolean. Indicates whether the service provider allows wildcard character(s) in structured searches. This is not handled at the service provider since there may be service providers that support wildcards for one type of search and not the other. + +FuzzySearchIndicator [1] - Boolean. Indicates whether the service provider supports some form of fuzzy search, such as soundex or metaphone. Note that service providers are not limited to just soundex or metaphone. + +DateRangeIndicator [1] - Boolean. Indicates whether the service provider supports queries on ranges for date elements, such as a range on a date of birth. This also includes 'open-ended' ranges, such as a search on a data of birth before a specified date. Note that a service provider may support range searches on some dates and not others; this Boolean does not indicate what elements, just that the service provider supports some level of date range searches. + +NumericRangeIndicator [1] - Boolean. Indicates whether the service provider supports queries on ranges for numeric elements, such as a range on a boat length. This also includes 'openended' ranges, such as a search on a boat length less than a specified value. Note that a service provider may support range searches on some numbers and not others; this Boolean does not indicate what elements, just that the service provider supports some level of numeric range searches. + +TextSearch [0-1] - container for capabilities specific to text searches. Note that if the TextSearch element exists, then the service provider supports text searches. + +ExactPhraseIndicator [1] - Boolean. Indicates whether the service provider allows exact phrases in text searches. + +LogicalOperatorIndicator [1] - Boolean. Indicates whether the service provider allows the use of logical AND and OR in text searches. + +WildcardIndicator [1] - Boolean. Indicates whether the service provider allows wildcard character(s) in text searches. This is not handled at the service provider since there may be service providers that support wildcards for one type of search and not the other. + +DomainAttribute [0-n] - Contains element names, element values, and XML blocks that are useful to specific service providers or consumers but that are not part of the LEXS specification. See DomainAttribute in section 5.1.9 for a more detailed description. + +## 4.10 getDataOwnersRequest + +This request allows a consumer to ask for the list of data owners available from a service provider, including whether each data owner supports structured searches, unstructured searches or both. Optionally, information about supported data item categories may be supplied for each data owner. + +This request includes an identifier for this request, LEXS version being used by the requestor, and the date/time the request was generated. + +The structure below shows a high level representation for the ServiceProviderRequestMessage which is used in the getDataOwnersRequest as well as the getCapabilitiesRequest and getAvailabilityRequest. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +Figure 15 - High level view of getDataOwnersRequest + +![Image](data:image/png;base64,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) + +SRMessageMetadata [1] - Includes the LEXS version utilized by the requesting system, message date and time, an identifier for the message, the message origin, and message destination. See SRMessageMetadata in section 5.1.19 for a more detailed description. + +## 4.11 getDataOwnersResponse + +getDataOwnersResponse is returned by a service provider in response to a getDataOwnersRequest. + +This response includes information on the LEXS version used by the responder, the date/time the response was generated, an identifier for the response, and an identifier for the request that this result is in response to. + +The structure below shows a high level representation for the DataOwnersResponseMessage. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +Figure 16 - High level view of getDataOwnersResponse + +![Image](data:image/png;base64,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) + +SRMessageMetadata [1] - Includes the LEXS version utilized by the requesting system, message date and time, an identifier for the message, the message origin, and message destination. See SRMessageMetadata in section 5.1.19 for a more detailed description. + +ResponseMetadata [1] - Includes a result code, and advisory, and an identifier for the request this result is in response to. See ResponseMetadata in section 5.1.15 for a more detailed description. + +DataOwnerInformation [1-n] - container for information about each data owner. + +The XML fragment below shows the organization of the DataOwnerInformation element. + +- <DataOwnerInformation> +- <DataOwnerMetadata/> +- <StructuredSearchIndicator/> +- <TextSearchIndicator/> +- <DataItemCategory/> +- <DomainAttribute/> +- </DataOwnerInformation> + +DataOwnerMetadata [1] - Includes the agency, the system name, and contact information for the data owner. See DataOwnerMetadata in section 5.1.7 for a more detailed description. + +StructuredSearchIndicator [1] - Boolean. Indicates whether the data owner includes structured data and can be searched using doStructureSearchRequest. + +TextSearchIndicator [1] - Boolean. Indicates whether the data owner includes unstructured data and can be searched using doTextSearchRequest. + +DataItemCategory [0-n] - Provides optional list of data item categories supported by the data owner. See DataItemCategory in section 5.1.3 for a more detailed description. + +DomainAttribute [0-n] - Contains element names, element values, and XML blocks that are useful to specific service providers or consumers but that are not part of the LEXS specification. See DomainAttribute in section 5.1.9 for a more detailed description. + +## 4.12 getAvailabilityRequest + +getAvailabilityRequest allows a consumer to request an indication as to whether the service provider is available. + +This request includes an identifier for this request, LEXS version being used by the requestor, and the date/time the request was generated. + +The structure below shows a high level representation for the ServiceProviderRequestMessage which is used in the getAvailabilityRequest as well as the getDataOwnersRequest and getCapabilitiesRequest. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +Figure 17 - High level view of getAvailabilityRequest + +![Image](data:image/png;base64,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) + +SRMessageMetadata [1] - see SRMessageMetadata in section 5.1. This includes the LEXS version utilized by the requesting system, message date and time, an identifier for the message, the message origin, and message destination. + +## 4.13 getAvailabilityResponse + +getAvailabilityResponse is returned by a service provider in response to a getAvailabilityRequest. + +This response includes information on the LEXS version used by the responder, the date/time the response was generated, an identifier for the response, and an identifier for the request that this result is in response to. + +The structure below shows a high level representation for the AvailabilityResponseMessage. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +Figure 18 - High level view of getAvailabilityResponse + +![Image](data:image/png;base64,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) + +SRMessageMetadata [1] - Includes the LEXS version utilized by the requesting system, message date and time, an identifier for the message, the message origin, and message destination. See SRMessageMetadata in section 5.1.19 for a more detailed description. + +ResponseMetadata [1] - Includes a result code, and advisory, and an identifier for the request this result is in response to. See ResponseMetadata in section 5.1.15 for a more detailed description. + +ServiceAvailableIndicator [1] - Boolean. True if the service provider is available. False if there are problems, such as the database is down for maintenance. Note that if there is no reply to the request, it may indicate that the service provider is down, that there are network problems, that the requestor is not properly configured, etc. + +AdditionalInformation [0-1] - string. This element may be populated by the service provider when the ServiceAvailable is false to provide additional information; for example that the database is down for maintenance and is scheduled to be back up by 4PM EST. Note that there may be cases where a service provider does not store data from a data owner, but accesses a data owner in order to service requests. In this case, the service provider could be up but one or more data owners 'behind' it are down. In this case, the service provider would report that it is available, and utilize this additional information element to document what sources are down. + +## 4.14 getDomainRequest (3.1.4 and later) + +getDomainRequest allows a consumer to submit a domain specific request. This is a nonnormative request message and could be used for out-of-band, non-LEXS conformant information exchanges between systems. Use of this message by no means classifies any system as LEXS conformant and should be reserved for functionality not supported by LEXS. + +This request includes an identifier for this request, LEXS version being used by the requestor, and the date/time the request was generated. + +The structure below shows a high level representation for the DomainRequestMessage which is used in the getDomainRequest. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +Figure 19 - High level view of getDomainRequest + +![Image](data:image/png;base64,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) + +SRMessageMetadata [1] - see SRMessageMetadata in section 5.1. This includes the LEXS version utilized by the requesting system, message date and time, an identifier for the message, the message origin, and message destination. + +DomainAttribute [1] - Contains element names, element values, and XML blocks that are not part of the LEXS specification. See DomainAttribute in section 5.1.9 for a more detailed description. + +## 4.15 getDomainResponse (3.1.4 and later) + +getDomainResponse is returned by a service provider in response to a getDomainRequest. + +This response includes information on the LEXS version used by the responder, the date/time the response was generated, an identifier for the response, and an identifier for the request that this result is in response to. + +The structure below shows a high level representation for the DomainResponseMessage. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +Figure 20 - High level view of getDomainResponse + +![Image](data:image/png;base64,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) + +SRMessageMetadata [1] - Includes the LEXS version utilized by the requesting system, message date and time, an identifier for the message, the message origin, and message destination. See SRMessageMetadata in section 5.1.19 for a more detailed description. + +ResponseMetadata [1] - Includes a result code, and advisory, and an identifier for the request this result is in response to. See ResponseMetadata in section 5.1.15 for a more detailed description. + +DomainAttribute [1] - Contains element names, element values, and XML blocks that are not part of the LEXS specification. See DomainAttribute in section 5.1.9 for a more detailed description. + +## 5 Supporting Structures + +The messages involved in the Publish operation and the Search and Retrieve operations described above are supported by numerous LEXS and NIEM structures. These structures, as well as LEXS referencing mechanisms, are addressed in this chapter. Since all structures described below support numerous messages, this chapter is organized to serve as a reference guide and the structures are presented alphabetically within each section. + +## 5.1 LEXS Structures + +## 5.1.1 Attachment + +The Attachment element describes details about an Attachment. The structure uniquely identifies an Attachment by an AttachmentURI, holds an attachment in binary format, and allows for domain specific attributes. + +The structure below shows a representation for this element. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +``` + (3.1.3 and later) +``` + +AttachmentURI [1] - string. The value of the AttachmentURI element provided in a previous result. The AttachmentURI uniquely identifies the Attachment and must follow all rules for an URI (Uniform Resource Identifier). Note that if the URI is provided as a URL, it does not imply that the attachment is available over the Internet at that address, similar to the way URLs in XML namespaces do not imply that the address is resolvable. + +Binary [1] - NIEM nc:Binary. Attachment object in binary format. + +BinaryID [0-1] - string. An identifier that references the binary object. + +BinaryObject [0-1] - abstract element. Can be substituted with BinaryBase64Object which specifies that the binary data uses base64 encoding. + +BinaryCaptureDate [0-1] - date. The date on which the binary object was captured or created. + +BinaryDescriptionText [0-1] - string. The description of the binary object. + +BinaryFormatID [0-1] - string. An identifier for the file format or content type of the binary object. + +BinaryFormatStandardName [0-1] - string. The name of the standard or protocol used to classify binary content. + +BinarySizeValue [0-1] - non-negative decimal. The size of the binary object in kilobytes. + +BinaryCategoryText [0-1] - string. The kind of object that has been encoded. + +DataOwnerMetadata [0-1] - (3.1.3 and later) Includes the agency, the system name, and contact information for the owning agency and system. See DataOwnerMetadata in section 5.1.7 for a more detailed description. + +DomainAttribute [0-n] - Contains element names, element values, and XML blocks that are useful to specific service providers or consumers but that are not part of the LEXS specification. See DomainAttribute in section 5.1.9. + +## 5.1.2 AttachmentLink + +The AttachmentLink element serves as an anchor in the Data Item Package for connecting Digest and/or Structured Payload entities to Attachments. The structure describes the Attachment and uniquely identifies it by an AttachmentURI. + +The structure below shows a representation for this element. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +- <AttachmentLink> +- <AttachmentURI/> +- <AttachmentViewableIndicator/> +- <BinaryDescriptionText/> +- <BinarySizeValue/> +- <BinaryCategoryText/> +- </AttachmentLink> + +AttachmentURI [1] - string. The value of the AttachmentURI element provided in a previous result. The AttachmentURI uniquely identifies the Attachment and must follow all rules for an URI (Uniform Resource Identifier). Note that if the URI is provided as a URL, it does not imply that the attachment is available over the Internet at that address, similar to the way URLs in XML namespaces do not imply that the address is resolvable. + +AttachmentViewableIndicator [1] - boolean. A flag which indicates whether an Attachment can be displayed (true, such as for a mug shot) or not (false, such as for a stylesheet used for rendering). + +BinaryDescriptionText [1] - string. Description of the Attachment. + +BinarySizeValue [0-1] - non-negative decimal. The size of a Attachment binary in kilobytes. + +BinaryCategoryText [0-1] - string. The type of Attachment, for example a mug shot, driver license picture, audio confession. + +## 5.1.3 DataItemCategory + +DataItemCategory provides information about the type of event or data type. This may be used by service providers to indicate what types of events or data are incorporated in the service provider and/or its data owners, or in an individual data item. Groups may work together to define an appropriate list of categories that can be used in searches among the groups to allow users to limit search results. This element could also be used by user interfaces for sorting purposes. + +The structure below shows a representation for this element. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +<DataItemCategoryDescription/> + +``` + +``` + +DataItemCategoryText [1] - string. Indicates the type of event or data type. This should be a user-friendly and reasonably intuitive string that can be used in a list or as a check-box label in a GUI. For example, this element might contain the value 'Incident Report', or 'Call Log'. + +DataItemCategoryDescription [0-1] - string. This element provides a longer description which can be used to better explain the meaning of the DataItemCategoryText value provided above, and could be multiple sentences. For a relatively well understood DataItemCategoryText value, such as 'Incident Report', no additional description may be deemed necessary. However, a description may be provided if desired; for example, if the DataItemCategoryText value is 'Call Log', a description might be provided such as 'Inmate call log from the ITS system'. + +## 5.1.4 DataItemPackage + +DataItemPackage contains Package Metadata, a Digest, and possibly one or more Structured Payloads, a Narrative, Rendering Instructions, and Attachment Link elements. DataItemPackage is contained in a PublishMessage as part of a doPublish request, and in a DataItemResponseMessage as part of a getDataItemResponse. + +The structure below shows a representation for this element. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +- <DataItemPackage> +- <PackageMetadata/> +- <Digest/> +- <StructuredPayload/> +- <RenderingInstructions/> +- <Narrative/> +- <AttachmentLink/> +- </DataItemPackage> + +PackageMetadata [1] - Contains metadata about LEXS Package. See PackageMetadata in section 5.1.12 for a more detailed description. + +Digest [1] - Contains LEXS Entities and Associations between Entities. See Digest in section 5.1.8 for a more detailed description. + +StructuredPayload [0-n] - Contains the Structured Payload. See StructuredPayload in section 5.1.20 for a more detailed description. + +RenderingInstructions [0-n] - Contains Rendering Instructions. See RenderingInstructions in section 5.1.14 for a more detailed description. + +Narrative [0-1] - string. Unstructured (text) content for the package. + +AttachmentLink [0-n] - Contains information about a link to an Attachment. See AttachmentLink in section 5.1.2 for a more detailed description. + +## 5.1.5 DataOwnerContact / SystemContact / DataItemContact + +DataOwnerContact, SystemContact, and DataItemContact share a common structure which includes contact information for the data owner or a system or a data item, and includes a person and organization to contact and their phone number and email address. + +The structure below shows a representation for this element. Descriptions for the sub-elements are also provided, along with cardinality which is shown in brackets. DataOwnerContact is shown below; however, the structure and element names included in SystemContact and DataItemContact are identical. + +## <DataOwnerContact> + +- <PersonGivenName/> +- <PersonMiddleName/> +- <PersonSurName/> +- <PersonFullName/> +- <ContactMeans/> +- <OrganizationName/> +- <DomainAttribute/> (3.1.3 and later) +- </DataOwnerContact> + +PersonGivenName [0-1] - string. First name for the person to contact regarding systems or individual data items. + +PersonMiddleName [0-1] - string. Middle name for the person to contact regarding systems or individual data items. + +PersonSurName [1] - string. Last name for the person to contact regarding systems or individual data items. + +PersonFullName [0-1] - string. Full name for the person to contact regarding systems or individual data items. + +ContactMeans [0-n] - abstract element. Can be substituted with the ContactEmailID (as string), or telephone numbers (of TelephoneNumberType) ContactTelephoneNumber, ContactFaxNumber, ContactMobileTelephoneNumber or ContactPagerNumber. + +OrganizationName [0-1] - string. Organization name for the person to contact regarding systems or individual data items. + +DomainAttribute [0-n] - (3.1.3 and later) Contains element names, element values, and XML blocks that are useful to specific service providers or consumers but that are not part of the LEXS specification. See DomainAttribute in section 5.1.9. + +## 5.1.6 DataOwnerIdentifier + +DataOwnerIdentifier uniquely identifies an agency and a system in an agency that owns data. This identifier is used in DataOwnerMetadata that is part of PackageMetadata, and in DataOwnerInformation that is part of DataOwnersResponseMessage. + +The structure below shows a representation for this element. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +- <DataOwnerIdentifier> +- <AgencyIDAbstract/> +- <OrganizationName/> +- <SystemID/> +- </DataOwnerIdentifier/> + +AgencyIDAbstract [1] - abstract element. Can be substituted with ORI or OriginatingAgencyID, both of which are text elements. Specifies an agency identifier such as an ORI code, for Law Enforcement agencies that use ORI, or some other agency identification code where ORI is not appropriate. + +OrganizationName [1] - string. Specifies the name of the agency that owns the data. + +SystemID [1] - string. Specifies the agency system where the data resides. An ID or well known acronym for the system should be supplied rather than spelling out the system. + +## 5.1.7 DataOwnerMetadata + +DataOwnerMetadata provides information about the owner of the data, including the agency, the system in the agency where the data resides, and contact information for the data owner. This metadata is included in PackageMetadata and Attachment. The PackageMetadata is in turn used in PublishMessage in doPublish, and in SearchResultPackage in doSearchResponse, and in DataItemResponseMessage in getDataItemResponse. + +The structure below shows a representation for this element. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +- <DataOwnerMetadata> +- <DataOwnerIdentifier/> +- <DataOwnerContact/> +- <DomainAttribute/> +- </DataOwnerMetadata> + +DataOwnerIdentifier [1] - Uniquely identifies the owning agency and system in the agency where the data resides. See DataOwnerIdentifier in section 5.1.6 for a more detailed description. + +DataOwnerContact [0-1] - Provides contact person, contact organization, telephone number, and email address for the agency and system that owns the data. See + +DataOwnerContact/SystemContact/DataItemContact in section 5.1.5 for a more detailed description. + +DomainAttribute [0-n] - Contains element names, element values, and XML blocks that are useful to specific service providers or consumers but that are not part of the LEXS specification. See DomainAttribute in section 5.1.9 for a more detailed description. + +## 5.1.8 Digest + +Digest contains LEXS entities and associations between entities. The Digest contains the information that provides the base level of understanding in LEXS. The Digest is included in the DataItemPackage which is contained in the PublishMessage for doPublish and in the DataItemResponseMessage for getDataItemResponse. The Digest is also included in the SearchResultPackage contained in the SearchResponseMessage for doSearchResponse. + +The structure below shows a representation for this element. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +``` + +``` + +Entity [1-n] - abstract element used to represent high level, real-world objects in LEXS. Can be replaced with any LEXS Entity. If there are multiple entities they can appear in any order. LEXS entities include: + +EntityActivity EntityIntangibleItem (3.1.1 and later) EntityAircraft EntityLocation EntityCreditCard (3.1.4 and later) EntityNetworkAddress (3.1.4 and later) EntityDocument (3.1.4 and later) EntityOrganization EntityDrug EntityPerson EntityEmail EntitySubstance EntityExplosive EntityTangibleItem EntityFirearm EntityTelephoneNumber EntityHash (3.1.4 and later) EntityVehicle EntityInstantMessenger (3.1.4 and later) EntityVessel + +See Appendix A - Entity examples for entity examples. + +Associations [0-n] - container. Contains all associations for the data item described by the Digest. Associations can relate entities or between entities and attachments. If there are multiple associations, they must appear in the order defined by the Digest schema. LEXS associations are categorized by entity in Appendix B - LEXS 3.1 Associations. + +## 5.1.9 DomainAttribute + +DomainAttribute provides an extension point for element names, element values, and XML blocks that are useful to specific service providers or consumers but that are not part of the LEXS specification. This element can be used to capture data such as region information, system id, and purpose code of the query that were addressed by explicit elements in earlier versions of LEXS, but that are not included in LEXS 3.1 since they are focused on specific systems. + +The structure below shows a representation for this element. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +``` + +``` + +AttributeName [0-1] - Specifies the name of domain attribute, for example, RegionInfo. + +AttributeValue [0-1] - Specifies the value of domain attribute, for example, SEA. + +Domain [1] - Specifies the domain to which this block applies, for example, OneDOJ. + +any [0-1] - xsd:any. Allows the inclusion of XML data for complex domain-specific content that can not be represented using the AttributeName/AttributeValue construct. (For usage of xsd:any see W3C XML Schema Primer Section 5.5 "Any Element, Any Attribute" at http://www.w3.org/TR/xmlschema-0/#any.) + +## 5.1.10 MessageOriginMetadata and DataSubmitterMetadata + +These elements uniquely identify an organization and a system and include contact information for the system. + +The structure below shows a representation for this element. Descriptions for the sub-elements are also provided, along with cardinality which is shown in brackets. MessageOriginMedata is shown below; however the structure and element names included in DataSubmitterMetadata are identical. + +``` + +``` + +SystemIdentifier [1] - container. Includes information specifying an organization name, an organization identifier, and a system identification element. + +AgencyIDAbstract [0-1] - abstract element. Can be substituted with ORI or OriginatingAgencyID, both of which are text elements. Specifies an agency identifier such as an ORI code, for Law Enforcement agencies that use ORI, or some other agency identification code where ORI is not appropriate. + +OrganizationName [1] - string. Specifies the organization name for the system where the message is being sent. + +SystemID [1] - string. Specifies the system where the message originating or being submitted from. An ID or well known acronym for the system should be supplied rather than spelling out the system. + +SystemContact [1] - Provides contact person, contact organization, telephone number, and email address for the system originating or submitting the message. See + +DataOwnerContact/SystemContact/DataItemContact in section 5.1.5 for a more detailed description. + +DomainAttribute [0-n] - Contains element names, element values, and XML blocks that are useful to specific service providers or consumers but that are not part of the LEXS specification. See DomainAttribute in section 5.1.9 for a more detailed description. + +## 5.1.11 NumberOfStructuredPayloadTerms + +This element is part of the SearchRequestMetadata and provides a count of search terms (i.e. the elements or attributes being searched for) in an included Structured Payload. The purpose of this + +element is to give service providers that do not understand one or more Structured Payloads the information necessary to calculate the match score in the response. The StructuredQueryMatchScore (see section 5.1.17) represents the percentage of the search elements that were matched in response to a structured search query. In order to calculate an accurate match score the service provider needs to have a count of all terms including those that were ignored because they applied to a Structured Payload that the service provider did not understand. There is a NumberOfStructurePayloads element for each Structured Payload included in the query. + +For example, assume there is a query with a Digest and two Structured Payloads for community A and community B. The query might be sent to a service provider that understands A only, or B only, both A and B, or neither A nor B. In order for a service provider that does not understand both A and B to calculate an accurate match score, the number of terms in each Structured Payload is required. Assume that the Digest has 4 terms, A has 3, and B has 1. If the service provider understands A and not B, the service provider still needs to know there are 8 total terms in order to calculate the match score. Since the service provider can process the Digest and Structured Payload A, it calculates that the Digest has 4 terms and A has 3 terms, and uses the NumberOfStructuredPayloadTerms for B to determine that the total number of terms requested is 8. + +Note that each search term is a single element or attribute that describes a characteristic that distinguishes the object of interest from other objects. For example, if the search is against a Structured Payload person to find someone with a 10 inch scar, the person entity provides the context for the search, the element that indicates the feature is a scar is one search term, the element that indicates it has length 10 is a search term, and the element that indicates the unit of measure is inches is a separate search term; three search terms in total. If a unit of measure uses an attribute rather than an element, it still counts as a search term. + +The structure below shows a representation for this element. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +<NumberOfStructuredPayloadTerms> <CommunityURI/> <NumberOfTerms/> </NumberOfStructuredPayloadTerms> + +CommunityURI [1] - string. The URI that uniquely identifies the community for the Structured Payload as provided in the Structured Payload Metadata. + +NumberOfTerms [1] - positive integer. The number of search terms in the Structured Payload. + +## 5.1.12 PackageMetadata + +PackageMetadata provides information about the data item contained in the package. The PackageMetadata is used to describe the DataItemPackage which is contained in the PublishMessage for doPublish and in the DataItemResponseMessage for getDataItemResponse. It also describes the SearchResultPackage contained in the SearchResponseMessage for doSearchResponse. + +The structure below shows a representation for this element. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +## Prior to LEXS 3.1.4 + +<PackageMetadata> + +- <DataItemID/> +- <DataItemCompleteIndicator/> (3.1.1 and later) +- <DataItemContact/> +- <DataItemDate/> +- <DataItemReferenceID/> +- <DataItemPublishInstruction/> +- <DataItemStatus/> +- <DataOwnerMetadata/> +- <DisseminationCriteria/> +- <DataItemCategory/> +- <DomainAttribute/> +- </PackageMetadata> + +## LEXS 3.1.4 and later + +<PackageMetadata> + +- <DataItemID/> +- <DataItemCompleteIndicator/> (3.1.1 and later) +- <DataItemContact/> +- <DataItemDate/> +- <DataItemLEXSVersion> (3.1.4 and later) +- <DataItemReferenceID/> +- <DataItemPublishInstruction/> +- <DataItemStatus/> +- <DataOwnerMetadata/> +- <DisseminationCriteriaAbstract/> (3.1.4 and later*) +- <DataItemCategory/> +- <DomainAttribute/> + +</PackageMetadata> + +DataItemID [1] - string. Unique identifier for the data item. DataItemID is unique for a given service provider. + +DataItemCompleteIndicator [0-1] - boolean. (3.1.1 and later) A flag which indicates whether the package includes all available information (true) or whether more is available (false). If the indicator does not exist, it does not imply either complete or incomplete; merely that the data owner either did not supply the indicator or does not want to indicate completeness for this data item. + +DataItemContact [0-n] - Provides contact person, contact organization, telephone number, and email address for the data item. See DataOwnerContact/SystemContact/DataItemContact in section 5.1.5 for a more detailed description. + +DataItemDate [1] - date. Date the data item was produced/generated. + +DataItemLEXSVersion [0-1] - string. (3.1.4 and later) Specifies the LEXS version used within the Data Item. This version could differ from the LEXSVersion element used in MessageMetadata, for example if a LEXS 3.1.4 message includes a LEXS 3.1.1 Data Item. + +DataItemReferenceID [1] - string. A human readable unique identifier that is meaningful to the owning system. May be the same as the Data Item ID + +DataItemPublishInstruction [0-1] - value from an enumerated code list. Indicates the disposition of the data item. The values and their meanings for dissemination criteria are shown below. + +- Insert - Package content replaces all content that corresponds to this DataItemID. If the data item is not already in the system it must be added. +- Delete - Content corresponding to this DataItemID must be deleted. If the DataItemID does not exist it is a protocol logic error. + +DataItemStatus [1] - string. Free text field that shows the status of the data item such as Valid/Invalid, etc. + +DataOwnerMetadata [1] - Includes the agency, the system name, and contact information for the owning agency and system. See DataOwnerMetadata in section 5.1.7 for a more detailed description. + +DisseminationCriteriaAbstract [1] - abstract element (3.1.4 and later). The element is a placeholder for substitutable elements DisseminationCriteria or DisseminationCriteriaValue, which are provided by the data owner to indicate who is allowed to see the information. For publish it provides information to the service provider about what can be returned as the result of a search. For search or get results, it provides information to the user so they know the criteria for sharing this information. Note that this is different from the data sensitivity included at the message level. Substitutable elements consist of DisseminationCriteria (described below) and DisseminationCriteriaValue. See DisseminationCriteriaValue in section Error! Reference source not found. for a more detailed description. + +## DisseminationCriteria (mandatory prior to 3.1.4, substitution for an abstract + +DisseminationCriteriaAbstract element in 3.1.4 and later) - value from an enumerated code list. This information is provided by the data owner to indicate who is allowed to see the information. For publish it provides information to the service provider about what can be returned as the result of a search. For search or get results, it provides information to the user so they know the criteria for sharing this information. Note that this is different from the data sensitivity included at the message level. The values and their meanings for dissemination criteria are shown below. + +- White - all users are allowed access +- Gray - the data owner has full access; all other users are provided pointer (i.e. who to contact and how) information only +- Black - the data owner has full access; all other users receive no information and no indication that there was a hit when performing searches + +DisseminationCriteriaValue (substitution for an abstract DisseminationCriteriaAbstract element in 3.1.4 and later) - complex element. Provides a mechanism for domains to define dissemination criteria when the enumerated values provided by DisseminationCriteria are not appropriate. DisseminationCriteriaValue includes a domain element to which the value applies, and the value itself. For example, one domain might use the values 'red', 'green', and 'yellow' to denote specific criteria, while another domain might use the values '1', '2', '3', and '4'. This complex element allows any domain to utilize criteria values that meet their specific needs. + +The structure below shows a representation for this element. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +<DisseminationCriteriaValue> <DisseminationCriteriaDomainText/> <DisseminationCriteriaText/> <DisseminationCriteriaValue/> + +DisseminationCriteriaDomainText [1] - string. Provided by the data owner to indicate the domain that defines the dissemination criteria. + +DisseminationCriteriaText [1] - string. Indicates who is allowed to see the information. For publish it provides information to the service provider about what can be returned as the result of a search. For search or get results, it provides information to the user so they know the criteria for sharing this information. Note that this is different from the data sensitivity included at the message level. + +DataItemCategory [0-n] - Provides an optional list of data item categories that apply to the package. See DataItemCategory in section 5.1.3 for a more detailed description. + +DomainAttribute [0-n] - Contains element names, element values, and XML blocks that are useful to specific service providers or consumers but that are not part of the LEXS specification. See DomainAttribute in section 5.1.9 for a more detailed description. + +## 5.1.13 PDMessageMetadata + +PDMessageMetadata includes information about the version of LEXS used to generate the message, the date and time the message was generated, data sensitivity, and a message identifier. This element is used in a doPublish. + +The structure below shows a representation for this element. Descriptions for the sub-elements are also provided, along with cardinality which is shown in brackets. + +- <PDMessageMetadata> +- <LEXSVersion/> +- <MessageDateTime/> +- <MessageSequenceNumber/> +- <DataSensitivity/> +- <DomainAttribute/> +- </PDMessageMetadata> + +LEXSVersion [1] - string. Version of LEXS used to generate this request or response. + +MessageDateTime [1] - dateTime. Date and time the message was created. + +MessageSequenceNumber [1] - positive integer. Uniquely identifies a message from a specific application or service provider. This element may be used to indicate the order of processing for PD messages, for auditing purposes, to track messages for troubleshooting, and to tie results to the originating request. + +DataSensitivity [0-1] - string. Information security classification level (e.g., SBU = Sensitive but Unclassified. Note that this is different from dissemination criteria, which is included at the data item level. DataSensitivity is required per business rule for doPublish requests, and can be supplied in doSearchResponse, getDataItemReponse, and getAttachmentResponse. It is not applicable to any other requests or responses and should be ignored if included. + +DomainAttribute [0-n] - Contains element names, element values, and XML blocks that are useful to specific service providers or consumers but that are not part of the LEXS specification. See DomainAttribute in section 5.1.9 for a more detailed description. + +## 5.1.14 RenderingInstructions + +The RenderingInstructions element is used to display package information in a specific format. This element contains either instructions for converting the XML data in the package into a specified display format or instructions to display a pre-rendered version of the data item. + +The Rendering Instructions include information about the rendering method and a reference to the associated Attachment or Narrative. Optional elements include rendering parameters and a description of the rendering. + +The structure below shows a representation for this element. Descriptions for the sub-elements are also provided, along with cardinality which is shown in brackets. + +``` + < RenderingParameterName/> < RenderingParameterValue/> +``` + +RenderingMethod [1] - value from an enumerated code list. Enumerates possible rendering methods. The values and their meanings for rendering are shown below. + +- XHTMLStyleSheet- XSTL Transformation results in XHTML +- PDFStyleSheet - XSLT Transformation results in PDF ( XSL-FO ) +- HTMLStyleSheet - XSTL Transformation results in HTML +- TextStyleSheet - XSLT Transformation results in TXT +- RenderedBinary - Attachment was pre-rendered into a binary +- OtherStyleSheet - Other Stylesheet Transformation +- Narrative - Narrative element contains pre-rendered content + +RenderingReference [1] - reference to an Attachment Link or a Narrative element. Note in the case of an Attachment Link, this is not direct reference to an Attachment itself, but rather to an AttachmentLink located within DataItemPackage. The type of rendering is indicated by the RenderingMethod element. When the RenderingMethod indicates a stylesheet, the referenced Attachment is a stylesheet that can be applied to the package; RenderedBinary means the referenced Attachment is a pre-rendered document; and Narrative indicates that the Narrative element in this package contains pre-rendered content. + +RenderingParameter [0-n] - container. Optional rendering parameters for XSLT provided by name/value (string) pairs. + +RenderingParameterName [1] - string. XSLT rendering parameter name. + +RenderingParameterValue [1] - string. XSLT rendering parameter value. + +RenderingDescription [0-1] - string. Description of the rendered document. + +For more information about working with rendering instructions see section 7. + +## 5.1.15 ResponseMetadata + +ResponseMetadata indicates whether the request resulted in an error or warning or success, provides additional information about the result in cases of error or warning, and provides an identifier for the message this is the result for. This element is included in all results. + +The structure below shows a representation for this element. Descriptions for the sub-elements are also provided, along with cardinality which is shown in brackets. + +<InResponseToMessageSequenceNumber/> + +``` + +``` + +ResultCode [1] - value from an enumerated code list containing Success, Warning, and Error. + +- Success means everything worked as expected, and the request was handled exactly as provided. +- Warning means that the request was performed, but not exactly as provided. For example, an element or attribute being search for (i.e. search term) was ignored because it is unsupported, or a different quantity was returned (user asked for 50 and responder will only return 10 at a time), or a search option was ignored (user requested exact and responder only does soundex), etc. +- Error means the request could not be performed. + +Advisory [0-n] - container. Advisory is not used if the result code is Success. However, if there is an error or warning, there must be one or more advisory elements to provide additional details about the error or warning. + +AdvisoryCategory [1] - value from an enumerated code list. Provides a machine-interpretable error/warning message that can be used programmatically. For example, if the Advisory Category indicates that a service provider was offline, a client application could report it to the user so that the user could retry the query later, or the client application could automatically try the query later without user intervention. The possible values for the AdvisoryCategory element are provided in an enumerated list and are included in Appendix E - Error/Warning Categories. + +AdvisoryText [0-1] - string. Free form text describing the warning or error. Since this text may be provided to end-users, service providers should populate this text field with user friendly messages rather than technical jargon or stack traces. + +InResponseToMessageSequenceNumber [1] - positive integer. Uniquely identifies a request message that resulted in this response. + +## 5.1.16 SearchRequestMetadata + +SearchRequestMetadata provides information about the search, such as the number of hits requested, what kinds of data should be returned as part of a response, data item categories requested, roles requested, a count of the elements and attributes being searched for in any included Structured Payload blocks, information specifying additional hits, and an identifier for the request. This metadata is used in StructuredSearchRequestMessage in a doStructuredSearch request and in TextSearchRequestMessage in a doTextSearch request. + +The structure below shows a representation for this element. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +- <SearchRequestMetadata> +- <DataOwnerIdentifier/> +- <MaxItemMatches/> +- <MatchBeginAfter/> +- <MatchEndBefore/> +- <ServiceProviderSearchID/> +- <RequestedData/> +- <DataItemCategoryText/> +- <SortOrder/> +- <TimeoutDuration/> +- <NumberOfStructuredPayloadTerms/> +- <StructuredPayloadsRequestedAbstract/> +- <DomainAttribute/> +- </SearchRequestMetadata> + +DataOwnerIdentifier [1] - Uniquely identifies the owning agency and system in the agency which owns the data. See DataOwnerIdentifier in section 5.1.6 for a more detailed description. + +MaxItemMatches [1] - positive integer. The maximum number of hits the user (or application acting on behalf of the user) wants back in a response. Note that the service provider may override this value if the service provider's limit is less than the number requested. + +MatchBeginAfter [0-1] - string. See Appendix D - Search Result Paging Support for additional information on how this process works. + +MatchEndBefore [0-1] - string. See Appendix D - Search Result Paging Support for additional information on how this process works. + +ServiceProviderSearchID [0-1] - string. See Appendix D - Search Result Paging Support for additional information on how this element is used. + +RequestedData [1] ([1-n] - 3.1.1 and later) - value from an enumerated code list containing the following values: + +- All +- Aircraft +- Activity +- CreditCard (3.1.4 and later) +- Drug +- Document (3.1.4 and later) +- Email +- Firearm +- Explosive +- Hash (3.1.4 and later) +- InstantMessenger (3.1.4 and later) +- TangibleItem +- IntangibleItem (3.1.1 and later) +- Location +- NetworkAddress (3.1.4 and later) +- Person +- Organization +- Snippet +- TelephoneNumber +- Substance +- Vehicle +- Vessel + +Query may request a single type of LEXS entity or Snippet for responses. If a single type is requested, it is expected that this entity will be more fully populated than would be the case if the response included all kinds of LEXS entities. + +DataItemCategoryText [0-n] - string. Indicates the data item categories that should be returned in a response. + +SortOrder [0-1] - value from an enumerated code list containing + +- Date +- Relevance. + +This element specifies whether the most recent or most relevant hits should be returned first. + +TimeoutDuration [0-1] - number. Numeric element that specifies the time in seconds within which the requesting system would like to receive a response. This element would primarily be used to convey a time period past which a response would not be useable by the requesting system. The time period specified excludes time for connection overhead to avoid the need for time synchronization between systems and thus should be slightly shorter than the period needed by the requesting system. The service provider, if capable of supporting such functionality, should cancel the search and return a timeout advisory response within the time limit specified. It is suggested that the search query should be timed out by the service provider prior to the time limit specified in order to allow time for canceling the query and returning a response before the period expires. Requesting systems are ultimately responsible handling timeouts and need to handle cases where the service provider cannot honor the timeout. + +NumberOfStructuredPayloadTerms [0-n] - integer. See NumberOfStructuredPayloadTerms in section 5.1. Provides a count of the elements and attributes being searched for in any included Structured Payload elements so that service providers that do not understand one or more Structured Payloads have a count of terms that were ignored for the purposes of calculating an accurate MatchScore. + +StructuredPayloadsRequestedAbstract [1] - abstract element. The substitutable elements indicate whether the requestor wants responses to include any available Structured Payloads, no Structured Payloads, or specific Structured Payloads. See StructuredPayloadsRequestedAbstract in section 5.1.22 for a more detailed description. + +DomainAttribute [0-n] - Contains element names, element values, and XML blocks that are useful to specific service providers or consumers but that are not part of the LEXS specification. See DomainAttribute in section 5.1.9 for a more detailed description. + +## 5.1.17 SearchResponseMetadata + +SearchResponseMetadata provides information about the number of hits and the number of hits requested. Additional optional elements provide information that can be used in a subsequent query in order to get additional hits. + +The structure below shows a representation for this element. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +- <SearchResponseMetadata> +- <StructuredQueryMatchScore/> +- <MaxItemMatchesRequested/> +- <NumberItemMatches/> +- <ServerLimitIndicator/> +- <MatchBeginPoint/> +- <MatchEndPoint/> +- <ServiceProviderSearchID/> +- <DomainAttribute/> +- </SearchResponseMetadata> + +StructuredQueryMatchScore [0-1] - positive integer between 0 and 100 representing a percentage. Service providers should make their best effort to answer queries the way they are asked. StructuredQueryMatchScore represents the percentage of the search elements that were matched for a structured search query. A result that matches all requested fields is a perfect match, represented by the value 100. Match scores for structured queries where the service provider had to ignore one or more elements or attributes specified in the search use numbers less than 100 to represent the percentage of the search terms that were matched by the response. StructuredQueryMatchScore is not applicable for text search results. + +For example, assume there is a query with a Digest and two Structured Payloads for community A and community B. The query might be sent to a service provider that understands A only, or B only, both A and B, or neither A nor B. A service provider that does not understand both A and B uses the number of terms in any ignored Structured Payload to calculate an accurate match score. Assume that the Digest has 4 search terms, A has 3, and B has 1. If the service provider understands A and not B, the service provider still needs to know there are 8 total terms in order to calculate the match score. Since the service provider can process the Digest and Structured Payload A, it calculates that the Digest has 4 terms and A has 3 terms, and uses the NumberOfStructuredPayloadTerms for B to determine that the total number of terms requested is 8. + +Note that each search term is a single element or attribute that describes a characteristic that distinguishes the object of interest from other objects. For example, if the search is against a Structured Payload person to find someone with a 10 inch scar, the person entity provides the context for the search, the element that indicates the feature is a scar is one search term, the element that indicates it has length 10 is a search term, and the element that indicates the unit of measure is inches is a separate search term; three search terms in total. If a unit of measure uses an attribute rather than an element, it still counts as a search term. + +Again assume that a query has two Structured Payloads, the Digest has 4 search terms, A has 3, B has 1 term and the service provider can understand Structured Payload A and not B. If response data matches all 5 Digest terms, and the scar search term, but not the length and unit terms from Structured Payload A, then the match score is 62, calculated by dividing the 5 search terms matched by the 8 total search terms. + +MaxItemMatchesRequested [1] - positive integer. The maximum number of hits the user (or application acting on behalf of the user) wants back in a response. Note that the service provider may override this value if the service provider's limit is less than the number requested. + +NumberItemMatches [1] - string. The number of matches found, as opposed to returned, by the service provider. See Appendix D - Search Result Paging Support for additional information on how this process works. + +ServerLimitIndicator [1] - Boolean. Indicates whether the number of hits was restricted due to a service provider limit. True means the number returned was limited due to a server restriction. + +MatchBeginPoint [0-1] - string. See Appendix D - Search Result Paging Support for additional information on how this process works. + +MatchEndPoint [0-1] - string. See Appendix D - Search Result Paging Support for additional information on how this process works. + +ServiceProviderSearchID [0-1] - string. See Appendix D - Search Result Paging Support for additional information on how this element is used. + +DomainAttribute [0-1] - Contains element names, element values, and XML blocks that are useful to specific service providers or consumers but that are not part of the LEXS specification. See DomainAttribute in section 5.1.9 for a more detailed description. + +## 5.1.18 SearchResultPackage + +SearchResultPackage contains information specific to the results of searches and get data items, information about the data owner that provided the data, a Digest, and possibly one or more Structured Payloads, Narrative, Snippet, Rendering Instructions, and Attachment Link elements. SearchResultPackage is contained in a SearchResponseMessage. + +The structure below shows a representation for this element. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +- <SearchResultPackage> +- <PackageMetadata/> +- <Digest/> +- <StructuredPayload/> +- <AttachmentLink/> +- <DataSubmitterMetadata/> +- <Snippet/> +- </SearchResultPackage> + +PackageMetadata [1] - Contains metadata about LEXS Package. See PackageMetadata in section 5.1.12 for a more detailed description. + +DataSubmitterMetadata [0-1] - Includes the organization, the system name, and possibly the contact information for the data submitter. See MessageOriginMetadata and DataSubmitterMetadata in section 5.1.10 for a more detailed description. + +Digest [0-1] - Contains LEXS Entities and Associations between Entities. Note that the Digest is optional here since a query can specify that only a Snippet should be returned. See Digest in section 5.1.8 for a more detailed description. + +StructuredPayload [0-n] - Contains the Structured Payload. See StructuredPayload in section 5.1.20 for a more detailed description. + +Snippet [0-1] - string. Snippet provides summary information that represents the context of this data item in the responding system. + +AttachmentLink [0-n] - Contains information about a link to an Attachment. See AttachmentLink in section 5.1.2 for a more detailed description. + +## 5.1.19 SRMessageMetadata + +SRMessageMetadata includes information about the version of LEXS used to generate the message, the date and time the message was generated, data sensitivity, a message identifier, message origin and destination. This element is used in all SR requests and responses. + +The structure below shows a representation for this element. Descriptions for the sub-elements specific to this element are also provided, along with cardinality which is shown in brackets. + +``` + +``` + +LEXSVersion [1] - string. Version of LEXS used to generate this request or response. + +MessageDateTime [1] - dateTime. Date and time the message was created. + +MessageSequenceNumber [1] - positive integer. Uniquely identifies a message from a specific application or service provider. Used for auditing purposes, to track messages for troubleshooting, and to tie results to the originating request. + +DataSensitivity [0-1] - string. Information security classification level (e.g., SBU = Sensitive but Unclassified. Note that this is different from dissemination criteria, which is included at the data item level. DataSensitivity is required per business rule for doPublish requests, and can be supplied in doSearchResponse, getDataItemReponse, and getAttachmentResponse. It is not applicable to any other requests or responses and should be ignored if included. + +DomainAttribute [0-n] - Contains element names, element values, and XML blocks that are useful to specific service providers or consumers but that are not part of the LEXS specification. See DomainAttribute in section 5.1.9 for a more detailed description. + +MessageOriginMetadata [1] - Specifies the organization and system, plus contact information for the system, where a message originated or was submitted from. See MessageOriginMetadata/DataSubmitterMetadata in section 5.1.10 for a more detailed description. + +MessageDestinationIdentifier [1] - container. Specifies the organization and system that an SR message is being sent. + +AgencyIDAbstract [0-1] - abstract element. Can be substituted with ORI or OriginatingAgencyID, both of which are text elements. Specifies an agency identifier such as an ORI code or similar. + +OrganizationName [1] - string. Specifies the organization name for the system where the message is being sent. + +SystemID [1] - string. Specifies the system where the message is being sent. An ID or well known acronym for the system should be supplied rather than spelling out the system. + +## 5.1.20 StructuredPayload + +The StructuredPayload element is the LEXS mechanism that allows communities, projects, systems to include base object, roles, associations, structures and elements in a LEXS message that are not defined within the LEXS. Communities that need data not provided in the Digest can supply that data in one or more StructuredPayloads. + +A consuming system that encounters Structured Payload elements does not have to understand or process every possible Structured Payload. All LEXS-compliant systems must recognize this tag and its existence if it occurs, but do not have to process the content of the StructuredPayload element. The 'processContents' attribute associated with 'lexs:PackageStructuredPayloadType' is defined as 'skip' in the 'lexs schema'. This implies that no validation is necessary; the element must simply be well formed. + +This element contains a metadata element that identifies the community or system that defined the payload, but the rest of the definition within the structure is entirely up to the particular community or system. + +The structure below shows a representation for this element. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +``` + +``` + +StructredPayloadMetadata [1] -Identifies the community or system that defined the payload Version of LEXS used to generate this request or response. See StructredPayloadMetadata in section 5.1.21 for a more detailed description. + +any - xsd:any. Used here to represent a Structured Payload defined outside of LEXS. The 'processContents' attribute is defined as 'skip', meaning that no validation will be performed; the element must simply be well formed. (For usage of xsd:any see W3C XML Schema Primer Section 5.5 "Any Element, Any Attribute" at http://www.w3.org/TR/xmlschema-0/#any.) + +Note that since the data contents of the Structured Payload (the 'any' above) are based on a separate schema, the contents must be valid as a standalone instance. While the data contents of the Structured Payload may not make logical sense by itself without the Digest, the Structured Payload data contents must be validatable against the Structured Payload schema. + +## 5.1.21 StructuredPayloadMetadata + +This element describes and identifies the Structured Payload. The CommunityURI and CommunityVersion are mandatory fields used in combination to uniquely identify the Structured Payload schema so that consumers know how to process any Structured Payload instances based on that schema. + +The structure below shows a representation for this element. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +``` + +``` + +CommunityURI [1] - string. Structured payload community Uniform Resource Identifier. Each community is uniquely identified by CommunityURI. Value must follow the established rules for a URI. Used in combination with CommunityVersion to identify the Structured Payload uniquely. + +CommunityDescription [0-1] - string. Description of the community that originated a particular Structured Payload. + +CommunityVersion [1] - string. Structured payload community version. Used in combination with CommunityURI to identify the Structured Payload uniquely. + +CommunityPedigreeURI [0-n] - string. A Uniform Resource Identifier that uniquely identifies a Structured Payload schema that this Structured Payload is built on and links to. Pedigree number attribute indicates community pedigree order. The LEXS Digest is assigned pedigree 0, community receives pedigree 1, and etc. The value must follow the established rules for an URI. As an example, Figure 4 shows how the cyber incident community can build upon the incident community's content. In this case, the cyber incident community's Structured Payload would populate the CommunityPedigreeURI element with the URI of the incident community to indicate that cyber incident community's Structured Payload builds upon the incident community's Structured Payload. In this case, the attribute would be populated with the value '1' ' since the incident community's Structured Payload builds upon the Digest. For communities that build directly upon the Digest, such as the incident community used in the example, the CommunityPedigreeURI element would not be provided since the pedigree is just for documenting Structured Payloads building upon other Structured Payloads. + +## 5.1.22 StructuredPayloadsRequestedAbstract + +StructuredPayloadsRequestedAbstract is an abstract element, which can be substituted for by the elements StructuredPayloadsRequestedCode or StructuredPayloadsRequestedList. + +StructuredPayloadsRequestedCode can have the values 'All' or 'None'. 'All' indicates that the requesting system would like to receive any Structured Payloads that the service provider can return. 'None' indicates that the requesting system does not want any Structured Payloads. + +StructuredPayloadsRequestedList provides a wrapper for one or more StructuredPayloadMetadata elements. If this list element is provided instead of the code element, it means that the requesting system does not want to receive responses with any Structured Payloads except for the ones specified. + +When providing StructuredPayloadsRequestedList, the StructuredPayloadMetadata elements need only contain the CommunityURI and CommunityVersion. These fields in combination uniquely identify the Structured Payload schema so that consumers know how to process any Structured Payload instances based on that schema. For the purposes of identifying Structured Payloads to be included in responses, the optional elements, CommunityDescription and CommunityPedigreeURI, do not provide any benefit. + +It should be noted that requesting systems may need to take into account whether they utilize Rendering Instructions when specifying whether all, none, or specific Structure Payloads should be included in responses. For example, if a service provider includes Rendering Instructions that the requesting system may want to utilize, the requesting system may need all Structured Payloads in order to utilize stylesheet-based rendering. Alternatively, if the requesting system will not utilize Rendering Instructions, or will only utilize Rendering Instructions that are not stylesheet-based, then the requesting system may not want any Structured Payloads that it cannot process directly. + +## 5.1.23 StructuredQuery + +This element contains a structured query, stated using the LEXS Digest and Structured Payload entities by supplying field values for selected elements. This solution allows implementers to leverage tools and constructs developed for processing XML instances that utilize the welldefined Digest and Structured Payload constructs, and provides a straightforward means of validating the contents of a structured query. A simple query looks like a response or a publish request. There are organizational elements that sit 'above' the Digest and Structured Payload elements to provide modifiers (such as fuzzy or greater than), as well as to allow queries to include multiple values for individual elements. + +The structure below shows a representation for this complex element. Descriptions for the subelements are also provided, along with cardinality which is shown in brackets. Section 6.2 provides details on the requirements for structured queries and examples for how each requirement is handled in actual queries. + +``` + +``` + +DigestQueryStatement [0-n] - container. Provides a wrapper for the Digest elements being searched, their values, and any modifiers (such as 'fuzzy'). This element may not exist if the search is only being performed on Structured Payload elements. This element includes a single Digest element with a single value; if multiple Digest elements are to be searched, or if multiple values are supplied for a single element, there must be multiple DigestQueryStatement blocks. So for example, if a query is for a person last name and first name, there will be one DigestQueryStatement block with the last name, and a second DigestQueryStatement block with the first name. If a query is on a person last name of either Smith or Jones, there will be one DigestQueryStatement block with the last name Smith, and a second DigestQueryStatement block with the last name Jones. + +DigestQueryField [1] - container. Provides a wrapper for a single LEXS element with a single value. + +QueryMatch [1] - value from an enumerated code list containing + +- fuzzy - approximate or loose match +- exact - equal +- ge - greater than or equal to +- gt - greater than +- lt - less than +- wildcard - value includes one or more wildcard characters +- le - less than or equal to + +StructuredPayloadQueryStatement [0-n] - container. Provides a wrapper for Structured Payload elements being searched, their values, and any modifiers (such as 'fuzzy'). This element may not exist if the search is only being performed on Digest elements. This element includes a single Structured Payload element with a single value; if multiple Structured Payload elements are to be searched, or if multiple values are supplied for a single element, there must be multiple StructuredPayloadQueryStatement blocks. + +StructuredPayloadQueryField [1] - container. Provides a wrapper for a single Structured Payload element with a single value. + +StructuredPayloadMetadata [1] - Provides information that uniquely identifies a Structured Payload, including its unique namespace, a description what this payload is for, and a version number for the namespace. See StructredPayloadMetadata in section 5.1.21 for a more detailed description. + +RoleList [0-1] - container. Provides a wrapper for requested role types plus an indicator as to whether the supplied role types should be included or excluded from the response. + +RoleInclusiveIndicator [1] - Boolean. Indicates whether the role types supplied in the RoleTypes element(s) should be taken as an inclusion list or an exclusion list. So for example, if the RoleType is specified as just SubjectType, the inclusive indicator set to True would mean that the response should only include people who have SubjectType roles (such as Subject, Suspect, etc.), while False would mean that response should include all people except those with SubjectType roles. + +RoleTypes [1-n] - value from an enumerated code list containing all role types defined in the LEXS 3.1 data schema, such as SubjectType, WitnessType, MissingPersonType, etc. See Appendix C - LEXS 3.1 Roles for the complete list. A query may specify one or more of these types be returned in responses. For example, a user may only be interested in who has done something and may request only SubjectType. Alternatively, a user may want everything but enforcement officials and may specify EnforcementOfficialType. + +## 5.1.24 UserAssertion + +UserAssertion describes the user submitting any request that is done by a user, or on behalf of a user, by an application. Note that requests that come from applications, such as get capabilities, get data owners, and get availability do not include a user assertion. This element is included in StructuredSearchRequestMessage in a doStructuredSearch request, a + +TextSearchRequestMessage in a doTextSearch request, a GetDataItemRequestMessage in a getDataItem request, and in a getAttachmentRequestMessage in a getAttachmentRequest. + +The UserAssertion should be included at the transport level (such as SOAP) as well as in the SR schemas. The information should be available at the transport level to facilitate its use by web services, precluding the need for such services to 'dig' into included payloads. The information is also available at the SR schema level to facilitate its use by service providers, precluding the need for higher level service (such as the web service) to pass the information along separately to lower level functions that may need to make data decisions based on user information. + +The structure below shows a high level representation for this request. Descriptions for the elements are also provided, along with cardinality which is shown in brackets. + +- <UserAssertion> +- <UserID/> +- <PersonGivenName/> +- <PersonSurName/> +- <ContactMeans/> +- <OrganizationName/> +- <AgencyIDAbstract/> +- <DomainAttribute/> +- </UserAssertion> + +UserID [1] - string. Username or userID for the user on the originating system. + +PersonGivenName [0-1] - string. First or given name for the user making the request. + +PersonSurName [0-1] - string. Last or surname for the user making the request. + +ContactMeans [0-n] - abstract element. Can be substituted with the ContactEmailID (as string), or telephone numbers (of TelephoneNumberType) ContactTelephoneNumber, ContactFaxNumber, ContactMobileTelephoneNumber or ContactPagerNumber. + +OrganizationName [1] - string. Organization name the user belongs or is assigned to when performing a request. + +AgencyIDAbstract [0-1] - abstract element. Can be substituted with ORI or OriginatingAgencyID, both of which are text elements. Specifies an agency identifier such as an ORI code, for Law Enforcement agencies that use ORI, or some other agency identification code where ORI is not appropriate. + +DomainAttribute [0-n] - Contains element names, element values, and XML blocks that are useful to specific service providers or consumers but that are not part of the LEXS specification. See DomainAttribute in section 5.1.9 for a more detailed description. + +## 5.2 NIEM Structures + +## 5.2.1 Metadata + +NIEM's Metadata defines information that supports the actual content of XML instances. The metadata feature provides a mechanism for attaching structured properties that describe the pedigree or source (ReportedDate, LastUpdateDate, CommentText, SourceIDText, etc.) of instance data to any component of the model in any namespace. LEXS extends the NIEM Metadata structure to add an element called LogicalIDText which is discussed later in this document. + +As shown in the XML fragment below, a Metadata component is identified uniquely within a message using an 's:id' attribute. Other components of the message refer to the Metadata block by specifying that identifier as the value of an 's:metadata' attribute. Any number of objects can refer to the same Metadata block. + +The example below illustrates the use of Metadata to mark the drug entity with a specific SourceIDText (Drug111). The Drug object (Drug1) references the MDrug1 metadata block indicating that Drug111 is the Source ID for this Drug object. + +``` + Drug111 -------------- +``` + +In LEXS, Metadata is especially important since the SourceIDText element is used to indicate that objects are the same, and the LogicalIDText element is used to indicate that objects may be the same. This use of Metadata is described in section 5.3.6. + +## 5.2.2 Roles + +A role represents a particular context or activity for a data object. The object to which the role applies is called the base object. Any single base object instance may have multiple roles for a given context or activity. For example, a single person may take the role of "ArrestingOfficial", "Victim", and "Witness" in the same instance. + +In XML Schema, a new role is represented as a XML Schema complex type. The type contains a particular "RoleOf<BaseObject>' XML element. This element represents the base object to which this role applies. The LEXS Digest defines several roles in addition to the NIEM roles it uses. See Appendix C - LEXS 3.1 Roles for the complete list. + +A role may be specific to time, incident, or employment. For example, if 'Billy Bob Guy' picks up an object and hits 'John Jacobs' with it, the object will take on the role of a weapon, and 'Billy Bob Guy' will take on the role of a "subject", and 'John Jacobs' will take on the role of "victim". For example, the weapon role applies to an object, and may include a user of the weapon, an activity in which it was involved, and a description of how the weapon was used. Consider the EntityFirearm shown below: + +``` + Big Gun 123ABC4578 NOM P R true 9 LAV +``` + +The same firearm used as a weapon could be represented in the structure: + +``` + Big Gun 123ABC4578 NOM P R true 9 LAV +``` + +In the above example, 'nc:RoleOfItemReference' is of 's:ReferenceType' and points to the 's:id' attribute of 'nc:Firearm' that has a value of 'Frm2'. + +The following structure shows how additional roles can be represented for 'Billy Bob Guy', showing him as the subject of an arrest and incident, as well as the user of a weapon: + +``` + Billy Bob Guy 987654321 Big Gun 123ABC4578 NOM 9 LAV +``` + +The 'nc:WeaponUserReference' to 'Billy Bob Guy' is included in the Weapon role through the 'Sub2' pointer in the Firearm entity. Additional roles for 'Billy Bob Guy' as a 'j:ArrestSubject' and a 'j:IncidentSubject' are included in the Person entity. + +## 5.2.3 Associations + +Associations represent the relationship among objects. In both LEXS and NIEM, these are called association objects, and the corresponding XML types are association types. Figure 21 is a logical representation of some, but not all, of the associations in LEXS. + +Figure 21. Associations Among Entities + +![Image](data:image/png;base64,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) + +The loops typically represent associations between two different instances of the same kind of entity. In other words, if person X has a relationship with person Y, then an instance of a person object representing X will have an association with a different instance of another person object representing Y. The loop signifies that such a relationship between two instances of a person entity is possible. + +LEXS includes a large number of NIEM associations, and defines additional ones to meet the needs of the LEXS community. Communities can define additional associations in their Structured Payloads. In general, associations link two base objects, such as a person and a location. However, some associations link to roles. + +Some associations only include a single type of reference, such as the NIEM FriendshipAssociation that only includes references to a Person. For these associations, instances will contain multiple PersonReference elements in order to represent a connection between two people. A FriendshipAssociation element could include a large number of PersonReference elements in order to show that a number of people are friends with each other. + +Some associations include specific semantics for reference elements, such as the GuardianAssociation that includes a reference to the person who is a guardian and a person who is the dependent. Again multiples are allowed, so for example a single GuardianAssociation element could include one guardian person and multiple dependents. + +Some associations include a number of different types of references, such as the NIEM TransportationAssociation that includes references to a conveyance operator, conveyed people, conveyed items, and the conveyance itself. However, just because all these different references exist, instances are not required to use them all. A TransportationAssociation instance might just include the operator and the conveyance, or perhaps even just conveyed people and the conveyance if it is not known who was driving. + +As noted earlier, many associations provide additional context for the data, such as IncidentWitnessAssociation which is much more specific than + +ActivityInvolvedPersonAssociation. Exchanges should use the most specific association available in order to provide the most concise information to consumers. While additional associations may be defined in structured payloads in order to provide even more concise context, implementers should keep in mind that the information contained in the structured payload may not be understood by all consumers. Therefore implementers need to balance the need for precise context with the compatibility of exchanges. In general, digest associations should be used where feasible to provide as much interoperability as possible, and structured payload associations defined only where no digest associations apply. + +LEXS also includes several associations to connect specific attachment types to the appropriate entities. These associations are provided to support user interfaces that may need to know the kinds of attachments available in order to make decisions about where or what to display, such as a mug shot versus a crime scene photo. The following Attachment-related associations are available: + +EntityPersonFacialImageAssociation can refer to a mug shot, or driver license photo, or any image that shows a frontal view of a person's face. This may even be a waist-up image; however, the purpose is for facial identification, so this association should be used with care. + +EntityPersonSMTImageAssociation is used for when the image is of a scar, mark, or tattoo. + +EntityPersonImageAssociation serves two purposes. One is to support systems that have images connected to a person without any way to determine whether it is a facial image versus an SMT image. Secondly, system may have other kinds of person images beyond just facial or SMT images. + +EntitySupportingDocumentationAssociation may be a PDF or MS Word file representing a report or a piece of evidence. + +EntityCrimeSceneImageAssociation provides a link between an entity and a crime scene image. + +EntityItemImageAssociation links an entity and an item image, such as a picture of a vehicle. + +EntityAttachmentLinkAssociation provides a mechanism to link entities to Attachments when none of the other associations are appropriate. + +The specific Associations used in LEXS are listed in Appendix B - LEXS 3.1 Associations. + +All NIEM and LEXS associations include information (defined in schema using appinfo) that specifies what objects may be referenced. For example, the FriendshipAssociation includes PersonReference, and PersonReference is defined as a reference to PersonType. This means that the PersonReference element must refer to an element of PersonType or of a type derived from PersonType. Validating XML parsers will not catch errors in references, so implementers must ensure that references are used properly. EntityPersonFacialImageAssociation, EntityPersonSMTImageAssociation, EntityPersonImageAssociation, EntitySupportingDocumentationAssociation, EntityCrimeSceneImageAssociation, EntityItemImageAssociation, and EntityAttachmentLinkAssociation all include references to Entity elements, such as the EntityPerson element. All other associations reference element inside the entities, such as a Person element. + +Below is an XML fragment which includes a person entity and two organization entities. In this example there is an association between the organization elements and an association between the person element and one of the organization elements. + +``` + Bubba Johnson < lexsdigest:EntityOrganization> Westside Renegades Gang Snakes Gang < lexsdigest: Associations> 1967 1973 +``` + +The XML fragment below shows an example where there is an association between the person entity and an attached image. The association references the person entity and the attachment link; the attachment link refers to the image attachment using the AttachmentURI. + +``` + … … Bubba Ray Johnson http://www.xyz.org/LEXS/examples/mugshot1.jpg true Mug shot for Bubba Johnson http://www.xyz.org/LEXS/examples/mugshot1.jpg Mug shot for Bubba Johnson image/jpg MIME Mug Shot +``` + +## 5.3 LEXS References + +## 5.3.1 Attachment Referencing + +LEXS utilizes Attachments for two purposes. One is to contain data-related binary information for one or more entities, such as a mug shot or fingerprint. The second is to support LEXS Rendering Instructions, such as rendering stylesheets or prerendered views of data. Attachments can be a part of a PublishMessage or an AttachmentReponseMessage. + +An Attachment is identified by an AttachmentURI. The AttachmentURI uniquely identifies the Attachment and must follow all rules for an URI (Uniform Resource Identifier). An AttachmentLink is a structure that contains an AttachmentURI and other descriptive information about the Attachment, and is used to link an Attachment to one of the LEXS image/attachment associations (such as PersonFacialImageAssociation) or to a RenderingInstructions element. Note that if the URI is provided as a URL, it does not imply that the attachment is available over the Internet at that address, similar to the way URLs in XML namespaces do not imply that the address is resolvable. + +In the PublishMessage an Attachment may be part of multiple packages, such as a message with multiple incident reports that include the same person and his mug shot. In this case, each incident report is represented in separate DataItemPackages, each of which uses an AttachmentLink to refer to the mug shot Attachment. As illustrated below, within the DataItemPackage an association is used to connect the entity to the AttachmentLink. + +Figure 22. Data Attachment Linkage in Publish Message + +![Image](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZwAAAHdCAIAAACmJ1inAAAgAElEQVR4nOydBXwUx/vGL+7u7u5KEiBICBKkSEtxKAVKcSltgQq0QAtUcSkt7gSCBoKEBAsE4oS4u7sn/+du+O/veoEQIHqd7+c+sDc3O/vObObZ593d2xNoaWlhUSgUCr8g3Nzc7OvrW1JS0t2RUCgUyrsjJCTk4+Ojrq7OCggI6O5gKBQKpQOYNWsWUk/hiooKvPFxm+5hNby7Q6JQKJR3obquctPRz4iaCZMiC12n4a5TujUqCoVCeUfKqoogamRZsHtDoVAolI6FihqFQuErqKhRKBS+gooahULhK6ioUSgUvoKKGoVC4SuoqFEoFL6CihqFQuErhLs7gF7P4Rtb911a10YFT9vRQ5w+Guw44d3a/2Sze0Jm5KTBS+aNXicqLNZGzfiM8L2X1tXWV88b/b2dUV+UBEVc3HPp+/S8+N3Lb9kYurV/o89Tn+zldOqz0ess9V3eIezknOcYlntRV7Ds7Txx9oi1OqrGr6u8/tAnAaGnsaAsp3FhQ+I7bI5CYaBO7X1pbGqAjuClpqAjKS5DlvEy1LDEp1gIeHr6q30fLfxj6Lu1X9dQi0awlTfWbG5pbmisq2+sbW5uJiVNzU31nNVbWprfaqOkKbya33JFBmyxvrGODMWz+KCEzIg2Kl9/fILUrGuoebfNUSgM1Kl1DB5WwxeM3Wiu68hTHpP6eNGfwyprykLj7oQn3rM37teVUQ1yGIdXV26xNQICAtlFKaHxgbZGHjBirSsc9P+5sblRUEDwnQWUQuGGOrXOxUrfddvia0KCwi2sFogaUw7n1dzc1Lp+CxxOc9PrHnKHcqyIV1NzYzsDQGuvFAsUMk298Zl6aIRUfgfd0VDU01DSRwqcX5rV+lNsOiwhGP85mQ1sTwB4tR0tU62NISKD3M4GmYF63S5rHSQzSmj5dWEwu/LdRpXSBtSpdTo2hm5wK5gcEUn3SUlhWc7J29t0VI1He3wCh8JdOSU3NuR5gJ2Rh7meE89HNXWVoSmPnyUEYRl57seDFokKi4sIi7axaUwY/8fHIal9bXxkJRVIIeZedV0lpITEIyYi4WQ6AB5TXEyKZ4sszpSuqau6E34+OTsGb0217exN+ivKqAoLibSz+1oqhvj30fMb8IwWuk7soeAiMvlBWEKQiLAYPOyTF7d51iUzP7c4HT43qzCZFMIUWxv0wSo8TSFOKAh8H3krK6U4vv88jA86yN1gQ1N9Rn7C07hARmSHOn+sp26GweRpEJl7VW0FwnueFkpKdNVMvRwnYNM8JzcxSsidMdTZhSl4a6nn7Gw2SEpCFrsyPOn+nJHfctdHZbQcnxkRFHGRlDiaeDqYeIqJiAsKCrVzVCltQEWt6xAReilAxRX5mHswcZjJempm3HUuBO8/fuuPwY4TFo7dyP0R5syqPRPCE4Lh+CAoDY31R2/88unIbz4asEBURPx1WwyOvIwNpea++PvL+8j+WOyzbI0PY65/sXscxAJzWFxUElqAcn118+9mHCB1GDD/4zPC911aB0niLv96yq4xHp+0sV1ubAzchISEn8bfTcuLL67IU5JV5/4U4oLc81Ofta88aVhUnnv54SG/+wcy8hMx4YUEhZqam9CjKUOWTxq8RF1Bh1GBuoaaL/dOgIiQ8WEH31h/9eFha0O3FRN/lxSTJtWgjBfu/XUt5FheSQbiF2AJNDTWocERfabOH/ODppIBo2vVtRW7/L7BsQfL2ApUCbsAy9t9v5o8eOn0oauYwwkOEi/Sn205uTg6JQRvsXUMsoWe8zTvld/9PR0SJiUuM3PYV0zlhKzIv678eCfsPOlRc3MzAnAxH/ypzzd2Rn3bPkpR2gMVtU4H04P9n4CAlYErd7m0hByPorXB2bu7MQnlpZXFRCUwYaKTH5VWFh7y3wwX9uGAz9vvmyAia/ZPwnRSk1WHNRjlPvNs0B5MVwgf5vCfi69w+xq4ObykxGVV5bUEOCauoqa0tq7q5+MLMAnbH7yWsiEECJsoKucVNfQLtgW+hkc3WRybGRIbsOP8aoSkIq+JNFZNUSe7MBU+C1qTVZAM3TfQsCQydPj6VuimsLCokqwafBzWhcQICAreCD2F1VdM/A0DhcJbz85CQaBxaNDdari4iER44r2swpTrj0+ggys++g0jTLa+5+J3p+5slxCTkpVUVJRVdTH3Qh2ofEV1Cdo00rIeYPcBqZmUHfPnuS+xORlJeQkxaTMde8h3Ss7ztX9NhjHkNl8QOJi+Hw7NTs9PwIY0lfRhY/NLstCjiMT7G47MXTVpG6Jq7ZcpbwUVtU4EZgF6gVnUxDkXI/P/CeC7McBuzBSv5eTOjIrq0vWHPnkQ4w9RQLLD47DaAHJQ11Dbx2LItiXXSMm0oV8Ehp3fePSzzIIkJFAf9P2Uuz4m6nTvLyYMmC8npYS3+y//cOL2n+VVxeeD9y8Yu7HtW0wYIH8aSvppuXHF5Xnc5VW15TBWyIthWnlEDXIQk/r476ub4CW9nSd+Nnq9uqIu+eji/b8PXd8SHHXZTNdh0qDFSDPRjm/wXojjMJfJG+ccJ9WwrZ0X1iZkRiLLTsqKNtWxT8yKgqbjAICsH95QUVaN1IRvOnHrz6uPjsD9oZtQSQwv/DJME2p+OWk7qbZk/GaEtOXEYvz7OPZWP5uREEo4xMDwC0nZ0Vhx0bifhrlOJq5w68klVx4dRmDcnSosyzl28zcomqW+y7xR37tZvrwgHpX8CDE8ibt9P+qqibYdDiHtGVXK66DHhI6hpr4quygVZoT7dTfCjzNh/kDSoaVsML7/vHduH3Pmm+n7mXvNoDVfTd5ppe+SX5p1/cnJ9reDRAnJEYwGUwJh6mPpPdlrKVxJXEY4T31o3HjPz4iigbmjvjPVtiOTmdXun+xB2HCpyPiyC1Mg9Ey5b9C+qtqKqd4rWp9Lqqwpg/OCzvax8J43ah2jaGBM39kTBy1UllW/8eRkXkkmSq48PFxdW4mF5R/9ylSDZk0dstxAw0JBRqWwPJcpx1tjLRs5aSWmZKjLJHvjfqgJYSU5ZkDoKVTDRhlFI+iqmuLQggXY5CKOQIfE3rwTfr66rvLTkd8MdfmYyXPhuQY5jEN6y6wLmwZHFhB6WkfVeM7IbxlFI+Mz22cNDk6nA3fCsrV9OYLyRqhT6xhIpvbKj/CHjrzpp7mn3qd9TGORf9siSXFpR5MB2GhyTkx9Y107TZOCjCr8AgwLbAtUTFJMBu1As+aP+QEv3sjFZWCymIyMMNT5Y9gfZFhNbzP3dFVNkPHBXkE+DDWtWJzT8FHJDxsa6xyM+3NPfgKyPKTY0G7YMfzLY/GwSoDyaWSOJZUFEAt5GRUhjizuu7x+4sCFijKqUEmEjQ2dWfecWQseDWNYUJr9MMYfxxhtVWOYROwdxPbrggvc7UPH8S/PgBPfLS4mhWUkucRPZeYnFpZmG6hb2Bq6I0/nrj/Za9m1kGPMlc3K6tIbT9h/A8pyGnZGHjw9MtSw0lUzRY9g+pDa84w55a2gotYxiIqIS4vL8pzbkhCTlhKXwbQc3/+z1rewvRV2Rn2FBf+1szCFvJw+PHB1Q3lVCRQKx/n2tDNj2KpfTy+PTX86+Uc7JH3Ig2D3kPLA+EhJyHKfUAPW+q4m2ravbIft14Te4o/HSNNaQ1EvKTsmtyRDX90cohOT+iQ6JQR6ivHhuewI4K2CIi9BzlJzYuFfcovSuD/VVDaAOWJxjCfih84iDYci+AbtvRC8f2y/OZAenz7TpMTlZCTlGIGAqlob9IlMfnA7zBcvRxNPD+sRGAGoDLovLSnPfTILulZdWwEjjH/Jtgpgih+fQNjckeQWpxdX5Nub9EeorYeI3a//t7PkCikWispyzwXthRpyV8ZhDz4OC0hO4VKpqL0PVNQ6BhztBzuMV1fS4y401LCElrX/LH4bQBRed72/qrYcaVo7RW2Yy+T4jAhYlXJYoZQQcsEOyuLjNg2+z8N6OI+udRTIsCBeUSmPID0Wuk5I7kLj7kAspgxZLvJ6j1lTV/Ugxh/qRuSgNRCa+oY6KXH2BdlfTy1Lz4+vqC71Dd7H4lyC6Gs1Akmlt/PHumom6Be6Cb2Dp7vy6EhJRT6CIffHYN8Nc53c19rHTMeBufiI4wQihGg+TwtNzo5Bxg3ZEheVfF0kbwRuOiWHbRshW/svrycXnSmdARW1jgHJiKfdmPe0Y20A5VJhab7yI4gmcyqnPSwez76DAdP18sNDzc1NOcVp8Honbv35INofn3aersGgKcqoIeUc7jIZ6nDr2VlYEns40NeLPrTPxdwLBgqG6JUV2LeDicuwOMePnctuIN2DCY1LD6uoKS2rLErLi7sTfv5uxMVVk7ahJmlwxrAv3SyH3o++FpcRhmYh7vklmfsv/4Dc8PtZ/8Cc4uCRU5T23T8zEjMj5aSVYDCxLlJ17FxtFaOo5EeQy3foPnoBLwxxRJoJw0juaGuNkaZVJ43/fwcqau8LBAUuSeX/b3poD/j7Zq8ipwFbwZ22NDTWS4rL4CNkQ8xpJm1lQySe0CBtVWPuDBR6VFVThspaKkbwcSz2TSOCCKO+sVZI6KWnExESgUlBhAIclweXAXOE9MdYywavUe4z6xpqkFK9SA9LzolBnhXw9LSmsj4MC+yMqoIOVhFqZQ/FRMWNtW1aZ1s8IBikdQhPSkKOlKBZWyP3rILkjIJEpHU4DMhJKZrq2JGkT0qM3XGmWVEhMVtDd1kphX7WPkNdJvE0Xt9Qm1eS2dLSrK6oi8Sf9AvxD3edAr1GohefER6T+hiuEHkc+S4HhAmdLa0sbGlp0VE1+WSEPdrJK8mIywgPDDsPq8sZiuOGGhbSEvK+wXsx1PbG/bAW2oQMvdxuYx2L821/Jk700drAVVZCvrGR9z47pKXoMjYnwTnkiAqze4Rd7GDiOXfkt63v8oO2llYVYdfT3PM9oVc/3xdMJ2QoyIPa/6Vxcr9SJDv9uctdjuwpNu0pPiosz235/5MxmYXJKIGv4T61jKmSXZR66cHBpOwYmAgNTtqLABAG3EdT08tT+A1NDel5CVi9hXNSH3bvfPC+X04tTc19QSrAFIzpO3vFxN8mDV6CatCCLI6DaGpuyi/JwKv11YC6+trEzCjIcdt9RDCFZTloE8pLSmBPoEGpeXH3oq6cCdwFoZngOV9K/KXkVdVVsBO9nJfn9WGRUDk0LhC5J/NdAob4zIgDVzfsOL+aODi8PRu4a9+lddAsFueYAVeFxr/4+E97k/5hCcE4JKA8Iz/x1J0d8KRJ2dGkHTUFHU/b0d/N/NvWyCMtL/7a4+N1DbUoPxrwK1Yx1radN3odo2jsfVGQdOvZOfYOKssl373X17Cob6wPjPBDIXdmivFBSCiEc6zhnJITFhbFEQu9vhd1GYU8PcLePH7rjy0nFjFXYCnvDBW1bgAuQFZSobA0++bTMwmZkZBFJEGYRVceHoa/eOUqd8LOY5Lg4M/iKBosxuk7Oy4++AczH4arndtVklXHFsMSgvZe+p7RNSgsmi3i3PRA7rPtiC6+GnfLYTCeIc8DHr+4qSirZmPo/rob6BVlVfvZjERmej/66uHrW5OzY8hUr6mrgiT5Bu/DgMDxNTSxbxBBGnvyzvarIUfPBO4sqyoiLTQ2NSRlRUenhLCvPnNcJ6xcZNKDqyFHgiIupucnENvF4vg16B08VF/rEST1U5BWwb+1dVXYL6ROU3MjctK74X7ku035pZmwnCzOtRQn0wHYlt/9A4HhFxKzonDsQeMX7v116PoW7pszEMZghwnwblgRCSzZ7yzOdyFScmKP3/wdexPSxr5a2uqyCeWtoOlnNyAtKe9qMQT6EhRxqayyyM1qGA7mj2Nv4e9bW8XolV9vNtCwOHh9M3I6I00rVIChw4EdR353q2GOJp7t3/QHfT+FDYHvExAQGGTPfoAHJiSMw92Ii3JSSh7W7K9Vdlg/W2GgYYncKp7zGCIklW3ksBAXZH+DHSfcfnYuIPQUTJ+rhRe0pqg8D4II86WlbDB31PcYLhbn26BuFt63w3z3XV7P4py8Y3HuHOTcZxNka+hBfqgbW8dwYetQHMiHg0l/GQl2AHBPT+MD1RS0x3jMluDcsTHEeSJUxv/JCS0VQx0V9mPgahtqYlIe45CDTB+qSu5TM9S0gjTjoAKdehQbsPPCGnyKFyTv9jNfrJuaE8vdKTVFnQVjN+y68A2z35FsIuUMjbvzNC6wqanRp880N8uhb3WGlNIaKmrdACY2kiNoE9zZgxh/vDCXMHnG9psjIix24tYf0hJyzDVBVBYSFMbMiUi8f/HB3wWl2SzOxQGoj6PpgIkDF/I0DkeD+UyW0Y6oiLislCJzMh5pJrZ7LeTos/gg8lxGFkdBkK9hE+P6zWUagY9oY3aVVBS0nW4jj6uqKWffCsc5kU9QkddEzJAVmE1bQ3dxUUnmI56vT7E4923MGv41uoCOY9rfjfAj5bBd8DsTBy2EQjHn1BeO24RDxfPUJ0TXWOyzgcK2Ru4Q7oEO48hNy9BQd6vhGED4qZDYAP/HL797AGU01baD8GFIhThnLT/0nF9eVYy9s9vvW1KHXCiAyEJM/766iT3IHJ/F4pwrHNt/LuKEQUPLON4oyKhAMbE3vzkwlfsQJSos5mI2eNG4n3yD98alh2G/k3LO/YCmdkZ9fdymv/LpTJS3gora+2KmYz+u/1wcn9t/fpf9x20+2ETbFgkLyTdlJRXtjDzgTRKyIpF22Rn3JRkQGOU2Q1/NrI+FN+bnvagrKbmxnBbEBzmMI1f0GDCXPKxHwNQwD+Qw1LTEXK1vqFXhSiqneC3DFELKk5YXR0owIdE493etUOJq7oUeKcqo8gQPvzPSfYaSrFrbF0YgiJjYkAmeR8jBKrLvTWlpsdJ35b7uib5gGIl1YtBVNZk/ej1SyND4wBJO6g1MtO1sDNxgx7g1UUvZcM3UPchVMaSkRERI1FzPqY/FEJJ7Eiz1nJH/pubFwcFlFiSRQmTBFrpOnAd1vDyQ6KqZfj/zH8goGiQl2EEYcHQHOSxajkl9gkMF06yn7Wi0gPHEqMJuIxi0hggF/p4m0CLArVM4xkCL8TeDOJkza9jXDiaeUF7p/7+oQnkfBHx9fcePH79y4h+TvZZ2dzAUSi8jrySDc9pOBnrHk03HZYTN/Imdy/v+EAfX2U0B/lcoqyryWqE8YcKEs2fP0gsFFMq7k5z9/KD/z9t9vyIOmptLDw4i94RPpIrWxdD0k0J5d2SlFCTEpJ/F3/UN2lteVYyUU0RYtLAsJ7c4/cmL2y0tzSPdpnd3jP85qKhRKO+Ojoqxl+OEvOKMyw8PxWdGGGtaiwiLkRs+MguTR7hOHe3xSXfH+J+DihqF8u7ISilCueSklIIiLpZUFgRHXa6oLrU1dFdT1BnuOmWUxyyNf38dmNIFUFGjUN4L6Br0y1zXsayqKDErqqqm3FzPSUxE3MbAjf7mQLdARY1C6QDIHb/kN6Qp3Qu9+kmhUPgKKmoUCoWvoKJGoVD4CipqFAqFr6CiRqFQ+Ap69bPHkVWYnJ7H/g0OBRkVXVUT5ikXkUkPqji/i6ylbKCjakJ+rKS5uSk9PyGnKE1MRFyH84tNpHJlTRnKyyqL5KWVddVMmB86yi9l/3RufQP7UWKuFl7koRTk19uyC1NZnEdZME8fqqotRyTkyYv66ubct1xFp4SQ50Q6mQ1kvgfe1Nz4OPYWi/1cNhnur8fnl2QmZcewOI9+RI+Yr20/TwtFhFhQV9RFkCSYlpYWBJNVmCLMeWwv83X06rpKlBeX58tKKaCnzJf2i8pzESR52pqDSX/mW+4Z+YnkK+soQTkTTGFZTkJmJHsYVQwRDFMelxGGxlnsK5ge3E8WeRhzHf8KCQmjMvcv9VF6LFTUehzXn5zcdWEti/PshwVjNxpr2ZDyn08sjOf8Lues4V+jnDzvu7ah5uzd3Sdvb8PkXzhuk0+faaQy+xfXL6x9/OKWh9VwVGZ+POHR8xs7z68hj4QM/KOU6EtjU8P54P1HA9g/mgkx+vvL+6QydGG33zfkCTk8jzz4/czKiCR2tWubsxglramrWrxtOBZMdeyPfxPGVEYLG46wH2rkau6FYBjRRITkN4w/HrR44diNREpaWC0XH/xz0P9nOSklFJJfqwM5Ral7L60LirgIhVo4dhPz8I+n8XfRDtEv3x/jGZ26GnJk/2X2j/6hBOVMME/jA9f+xX682uwRaxAMU47K5Akfx78NN9W2Y8pJjxDbonE/tX7QE6UHQtPPnouUhCz3k+zlpBSJl4GDYwrh1MqrittopKa+qp7ziGoCDA554A8cHPPDdNBH8twkfCTL9TPyYiISRGgkxaS5n/MDBwdT1sZGEVXl/z/Fm7sdcTEp7nbgCsmTb+HguB9kxDy99pXAlHE/8Jr9zDiOVZRlj8//bnZV4Dw0SVBQiPt3ixsa64nbbYOK6hLuh6CRhy+hZXkppdevROlBUKfW4zDWtPbhfAu6n7WPkqwaUz7CdaqWsmF9Yx35gSVSiEmLXAz1MeW0lQ2ZyhCpPpbeyvKayrLq3DoCyzbU5eOi8jz4F+Y5lMitXC2G+OQ8Rw7rYPy/TA0WDG4RwoqJbabrwJRDsOC5yMP7xUT/99NH0EQSOcJGHSbNNNKy/tBzfmF5rrPpQFUFbab+IIfxMpIKUCg3C29Rkf/9UJ6Goh7aYf/MMNfvA8hIyDubDUKb6Bp3eggnO8Tpo8zCZHRfhkuRURmNsJ+mqe/KFDY01WN1EiR3j4CT6UDSLOQVoiwo9HKEJ3stS8mNRUJtZeDKovQG6PPUKBRKr4c+T41CofAtVNQoFApfQUWNQqHwFVTUKBQKX0FFjUKh8BVU1CgUCl9BRY1CofAVVNQoFApfQUWNQqHwFVTUKBQKX0FFjUKh8BVU1CgUCl9BRY1CofAVnfjooebmpsTsaPzbeZugUCi9Dg0lPbnOfDhdJ4raL6eXnb6zo/Pap1AovRF5aeUbv+QJCnRWmtiJolZYmo1/Bw5cICws/sbKFArlv0B4+PnCwpTGxnrupzp3LJ3+5NsxY36UklLs7K1QKJReQU7Oc4hap26CXiigUCh8BRU1CoXCV1BRo1AofAUVNQqFwldQUaNQKHwFFTUKhcJXUFGjUCh8Bf2F9g4gJOToK8uFhERlZVWVlPRlZdVF3v5Ww+bmpsrKwtraCnl5TVGuX1l/N2pryzMywouL09XVzfX0nElhQ0NNfn4i2pfqzK+tvJGKinzEhn9f+am4uKyioq62tp2AgEDHbhdjGxHhJy2tYmU1rGNbpnQjVNQ6gL//ni4gIAhpwPTgLm9srBMWFjUw6GNrO9rUdKCYmNRbNVtennv79jYREQkvr2XvL2plZTlo7dmzc2iNEbW4uMB79/4aPHiJqemA92z/fcjLi796dWNCQhDEq7W8VlUVaWvbenrOt7EZ2bHbLS/Pw74zMvKgosZPUFHrGISEhK2shtvbj+UuLC3NDg+/8OTJSdgQODVzc6+3ahOu6vr1LWhTUlK+Q4P9HwgvLMzX3X1GJ7X/ttjZfdBaX0JCjj17dhbCp6fnBM/bLYFRehFU1DoGODUNDYvWVsLYuO/Fi9/BH+GlqWktK6vWLeH1FrS0bFqPIcYtKuoKRA2+0sVlUrcERulFUFHrXDQ0LJ2cJqalhcbG3rS0HMpt5bKzYxITg+vqqpgSY+N+yFVZ7FNdtUlJ98PD/bCcn58YEPAr1BCfKinpo6SoKDUx8T6SU2ZF+BesqKJiKNDuJx+UlGQkJt7Lyopksf2aH7YCQcEmSJ4Lj5mc/KCoKA3LgoJCKipGaF9GRpVZPSsr6vnzGyhUUtJDO6WchxdISysjsVVVNampKU1JCSkoSG5ubuTu17uBTRgZuT9/HlBQkMgU1tdXc+KPYkrExWUgf+gFFrhX5xlnQ0N35Juv2xaqIfKMjDBsFGEzxjAnJxabq60tZ2q2bqexsT4/PwH7urKyEG/l5TXRAux2cvIj7HoExtSsqMjnHh9sy9DQA/Xffmwor4CKWqejpWWtp+eCBIpoBMAffWTk5aioy9AFNTUzUVGJkpJMSJW5+ZD+/ec6OX3U1NSQmvrk6dMzqFxYmHz9+maIo5qaKUQtMzPi/v2/4fsaG+vwtq6uEitCTUxNBw4f/jWqtfNsOlTs0aOjmPBYhg9CjuztvQKSBFELCzsfGxuAV1NTo4KCNmITE5O2tPRGfo3JSVbHnDx79gtki9A7dA1agHhQDc50yJAVMTH+aASxYUq3tDRjrdGj1xsaur3zGPI86KW2tuLhw4MPHx4uKEjC8ELgCgtTIRDIT729v7C2HsGMMyJBis2Mc1LSQ1NTT0vLYcOGfdl6K2jnxYtb/v4/5+Q879v3UwMDdsBVVUXR0dciIy+hEWVlQzExKSh4YWGKmdnAfv3muLhMJutil0HObt78LT09TEREHK/m5iZz81BEGBHhN23aPkbU0A6igkZjfMjwCgkJW1h44+XgMO6dh4jCQEWt01FQ0IGHwkJ1dTH+jjHz4S9gvjBbPDw+wQwUEZHA5I+PD3zw4J/S0izU19d3trUdDaW4enWDuro5JpiUlAIcEKrdu3fg4cNDpqYDIDHKygaY3kVFKTdv/hESchSSBOETEhJpT1RYF3MS0xjbRU4nL69lZjYIHgcz1t//p7S0p336TLOw8EIwkL/nz68HBu7MyoqGc9HWtmUaSUi4W1dX4ej4IToId3nv3l9Q2/r6GsQJIdPUtEJ3EC1cqrCw6MKFl95tANFIXNwdiCN5C0MElYH0CAgIjRmzXkvLtr6+KjMzEjL64sVt6A4iRHdQEwoVHLwP8TPjDLd16dL38fFBEF8jo77cW2loqMHq169vgdDb23/g4TELisNiG73nN2/+jmFxdZ1ibe2D3QcZIjsL3VRU1CXtwDhfu7YJLWDXYGAhagkJQVAu7B3urW+PnyMAACAASURBVMCj3bmzA+NpYzMKe1BV1RiWGWsFBe2FocMW9fVd3m2UKAxU1DodKIWEBPtMP2YX5gZ0B5McE9XJ6cMRI9YwZ9lw5I+LC4QvQ94HUwNFsLHxgahh2gwcuIDUQdYJHZGTUx8wYD4mGLMJGIdHj44gY4XRa6eoweXhBcuA+WluPhiei5TDduXmxrm5TR89eh3Jdk1MPA0MXFlsCQuGy+AWNRZLAO5y0KBFJONDBzHPo6Ovjh27iSmEFv/112SoybuNHqY6TFljYy1niAaz2BliRUDAL1BzSNWgQYtJNROTATIyKjhsYCggOhA1jh2+1NBQ17//PC+vpZKSCqgGxcHIQ0GuXt20ePEV7g3BR0OncLyxsxvt7b2SMVYYH3TK1nbU8OGricyRdjAaSIfRL4gaBDE62h8airEaMWI1/kUdHR0HjA9UlXsrGPCMjHAcsXx8vsEmkNqTEca/MOY4JFBRe3+oqHUdVVVsp4YFaISUlKK5uRf3k+bgiaBrjx8fb6MFHNgHDlwkLa3E3JNBwPx5+vSsoKDw+9/JFRbmC/uG7IwoGotzTg0KC2lAypyREcZdWVvbDtObOYeFTBA9gnzY249lCmEDIWrt3DokNT8/nrsE2RyEA+7M0/Mzcg4Lqaiz88dIA42N+zHV8FZT01pRUY8pgeHKyYlF1unsPJEoGsHHZy1SQp7bBqGDUJ/09Gc4kCCBRb+Yj5DSIq9Hds99ShHqhp3FnOODOcW6EhJyMF9EoVicc2pwfKmpj2EzmRVxVIBZw2BirIiisTgHGAw4vHZy8sN2DhSlDaiodQOMLWJxTtjDGTU3N2KmIb9re0WkoniRZcyNvLx4qCSsR0SEH5QIs6j9FwpeCeY2XAmCgRxggfujgoLkxsa63NwX0DWOB2EDr8Ft3KSllYWFxaCAPKfq2w/mPF48hTCSSNacnD4ib6FfcFJkGRYpLy+hrCy7pqYc6R4GBEaYfIRDCMZEUVGHJxiYuA8++BEHAKYE5u7cuVWwz5KS8vC/Ojr23PVRwphijA820dRUj1W4r1FgQ7DJEDWedTE+eDGihhQVo4phhKVlsmlCXV1Vc3MT/gaga4aG7m8xZJRWUFHrOjDbkUuSZRzAw8P9MPGgTVAl/EGXleVg4Y1fPKiqKoJzQVJWVJSK+vAIyLOw0NTU8P4RIirMTyxcvbqR8REEyAf+rakpw6xmRA16ISYmzdOItLRKO1Pg1vTpM43bfxHgm5CUcceDzmZmRkL+8vMT0HeiX3iRIAkYT+4ry9zo67tyv0XNJ09OYqGlpSU7OxrjCXXmrpCW9hSHjYqKgsrKAs5QN0KesMAcQhoaaqFxCJLb4rHY+ivNLamog1CxcPfuLhERCe6a5PeJOO1EU1F7T6iodTqFhcm5ubEsToJJZkt4+IXg4P1wFjIyKurqFrKy6jY2I4WEhMl1ujaawpR49OjIgwcHYdCUlPQkJRW1tXU1NCygcUgb3z9UzFvMWBbnnBFEE5Oc+1MVFWMVFSMeRehYkLv17z+37TpwOk+fnrl//2/4HVlZVXl5bQODPkgSy8vzMIBMterqEm6NawNRUUlsV1fX8eHDg9HR15DkclvpqKgrQUF74+PvSkkpYGfJyKhZWQ3DsScy8lJExEXudiBMbW8Ruw+yxeKoKvYgcmruT3HAk5ZW6t6vdvAHVNQ6HWSXmZkRMjKq5AwafEFIyNEXL265uEyytx+rpKRPTlrhsA8daVvU8Ont29tx8PfyWmpg4IapJSmpICurhnUx994/VBUVQxERMRb753IWNjbW8ogai2PNmHNt3QUyTRjJ6upSb+8VGATkjHjhgJGSEoIUkqmGNPN1WXBY2HlhYVHmLl8cVAYMmG9oyD5hd+vWH6Ghp1VVTTQ0LFmchBEmLjY2wMFhvKPjBGVlA+StOIrgX07W/1LU0JqysiFsbEZGOLnwSoCtrqwsYt4qKGgTY+vmNh0bJTepcYPknUmfKe8MFbXOBXMvLS20oCDZ3HwwyU1ycp7DYsjJabi7z4RB4M6qnj0713ZrhYUp8H3Dh3/dp8/0zvjulJ6eM0mLqquLeRxZUVGar++XWlq2Pj5rO3y77aelpRm2Nzf3haamdb9+c7kHAT4I6SHz9VsJCTloBLJ7ZOg8jVy8+K2oqJSamhl5S+7yQ31X18lIP2NirsOQ4rAhJaWEAxLSbRyQkBdbWnpzn4nj3lkYNOSeOFBB1Li/EYFBKy5OY95qadmQSxb4qzAy6gspZD5C7nzo0Cf4q5g48Y/3H6X/OFTUOgD4BSEhoaqq0qSkB9zllZWFcXF3srIira2Hw5eRgzAmgLq6OY7zHCvUzGKxRQ1vAwJ+FROT4dz++vJ77wICQpyWRZBdkjtXxcWlUYIUBqLDzOcXL25jOqmrm5aVZXMO/mKvDFJAQEBOThOrI41iCiEBKKmtrUCbxPd5e38RGnrq0qV1I0asIae3kFVBiG/d+hPJKVSFrIheYEUIAfcmICIwOMipea7Boqao6L9OIfEAZYcBZP9sWpvVSD9IzHJy6k1NL9M3KEJOTiyGmmMk9chxAiMGfYGsREVdZrFGQqeIvULvUA0HGBhnpKhoSlXVmHQEBm3AgAViYlLp6WGQNju7MfCtamomUB/kvM3NzYKcc2jw2jB0nBFwxS5jcQS0X79Pa2vLs7KikJZCLuHXcnJiIHx1dVVM98XFZZFcI9sNDt5LvixMTj4iyBs3tpaWZjO3jFDeBypqHUBKyiNO8pgWHf2vHBBKgZe+vrOr61QTk/7kIgAyTWhHdPTV8+fXyMpuQwaKpAkWo6mpEdnfs2dnkd2Q1aE+mGDR0dfgznBgh7PT03MJD7/w+PExuD9r6xHFxenFxRmlpZmYsVlZMZmZUVOm8GY0DMgloXoIlfvOfkzavLw4f/+fkRFbW/u4uc1wcvoQynju3JdlZbkwDmRVmKCCgiRT0wHMDfQNDTVoCvaTexOY+ZA/+BqetBU12/aV0E2k3qjWt+/stoca0qyoqGtq6hkYuGv//klI+nCogKajXEJCHgqClBD+F8cGBN+376cQi+Dg/RAXjmwJ1NdX5ecnIPVDfg1RQ7+wUUHBl+f7IcpGRu6wgbdu/R4czH7ik66uIzQ0MvLypUvfBwXttbUdlZh4DyPT1NSAnfX48QkVFRPOL9uKInt1ccm5fn2rr+/X2L/YcWgc6SrEKyEhiOkX9hq0289v7fnzq9EFcqmhrq4SRz7obN++c9ruPqU9UFHrAKAFryyHKuEojcQEx23msiZm17BhqwwM+jx+fDw+/m52doyxcV8bm1FmZoMw8zE9/l9K2GeOR4xYffXqRnJPAETHzGzgiBFrIYiwA7BO8EQwBcOHr9bVdVBS2ltZWdTGZUfYBCRZsIHct3dCKOFfgoL2wJjIy2tDlWRl1dzdZyBRevjwUHr6s8zMCDiLPn2mYlpidagnWRGmBr3Gdrk3Abfl4DAePpTnGi5qtv3YJeigldUwrA5b1EY1AuKBJGEYoS9PnpxQUNDBiNnY+MCXcb5je4sZQBwe4DcTEu6GhByDn0Xv0C8vr+UWFl7k3lpYNsSmoKCFvB4CREbJ1XUKjBX6zhGvRuSh6OaTJyehTUhOjYw8IEzYERA7DB2zLXTQwWECdnRCQjD5XUtsAjVxTMKmmeChdzhsqKubYe/DgGdkhEHQsRccHSfgCMEczyjvg4Cvr+/48eNXTvxjstfSjm36yz0Tbof5/vZbEd//mDHPLV0MUCjMPZ6L9wRkTCUlmchP8TeNpANDRDIgNIWpwny3GUavuDitvDyfnKGH6mFmVleXIgNCzoiJhBKIETaEEtgHzPDX3X8L/4UVsV3M23+fiioqLExFORI6bIKRxZKSjKqqkpqaMngNyCvC4757A54IK6KQOwNFI6gPv4P2ue+YQ6fwto3cCp3CiuislJRSe546h7Qd9TF60B0EjM2R6zBIANFHCAf3JQKEyulLMYYa0SI/ZWLGmCDpw4CjBe4n1pF2sONQjvbRL+St2Bzny7BakpKKZACZfsF85ebG4oChrKyPwMitJGQcrlz5EYeladP28VzVxf7CAGIrcNBYCyFhv7yx43zAtm0jYmL8H+yo6dhfaC+rKvJaoTxhwoSzZ89Sp9YBMHeftR9MIeRNrS918TQFywMvxpzSZnGmCsxU60cYMZbhdWDq8tx+RYCOvPKxt9BHvF7XGqSntfqgU698mOUbxwed4r5f/41ASqBceMEwcpdDF1pLA+Jk7ljmAWPyyth42kGnsCGebbG4+gXVe/r0LDJZb++VVlbDmfGEz83ICGdu5eEG++uNu4zyblBRo1DeFzhlHGaQn8JsQnDJs0yQq9648QsK7e3H/fsLs5TOhYoahfK+IFE1MfFUUTFKTX18+PAckt42NNSUl+dpaVn36TO122/u+09BRY1CeV8EBAQ0NCxmzToYGLgrOfkhPBqLk2C6u8/ECzaN5ztnlE6FihqF0gEICYno6jpNnPg7MlDy/SchIWExMWm8qKJ1MVTUKJSOAeLF/YwjSndBf8yYQqHwFVTUKBQKX0FFjUKh8BVU1CgUCl9BRY1CofAVvfvqZ2Fh8uPHJ5jn4VAolA5HUFDY0/OzXnRht3eLWni43/PnJ/v18+ruQCgUvuXy5TM6Og5WVsO6O5D20rtFDR7N0dF93Tr6sFAKpbMICwvtXckQPadGoVD4CipqFAqFr6CiRqFQ+AoqahQKha+gokahUPiK3n71s7dSW1vT+qeCWZwncwkLiwgJCb3upwbeCmyioaEeTYmIiL65dlfR3Nzc2NjQ1NTEYj9eUQT9bV2nvr6OVJCQeMXzwV8HVkGX33P0MGKNjY0YMWHh9s4OznabX9kRStdDnVr34OPjaG4u5eyswf1ycFDx9DT+559taWlJHbKVjIyUlStnrVz5SYe01lEkJDxfsGAiuo/Xrl0/Q+N4KqBk7txx1tbyqAD5a2ezUJYbNy6cOnUgLy/7fcL76aevsN0rV063s35VVaW/v+/+/b+9z0YpHQgVte7k0aP0mJgy8oqIKNy9+4yhodkff6w/dGgH8Sl8DPwUrND9+7fDw0N4PoqIeBIXFyXAof0N3rt3c+fOn4KDA6qrKzs00jeAUKHRYWGPunKjlDag6WdPAcnLoEE+Gho648a5P34cjKliaWlPPkJChHQMIMcRFRWTkJBqnRnBL9TV1aKmtLSsmJjY61Ih0hQ+RXrF/IhvTU11c3MTWkC5GBtxntWhsFAKGChsHS9UBlhgWmAaqa6uQsKIFt6Y8KKn4uISWVlp2dkZjo7u3B+Fht6HnDk7933y5B7PWgie86qHJpJgsEAiRNdIYosYUAcBEE3EW4xbZWUFqd96cJBs1tRUNTQ0YFRfl+0yjaBZ9E5K6uWvBWKL6DhppKqK/Sk2wcSDPYJIUMJpWYp7uCidBxW1noWysuro0ZMePQpMSoqDqGFulJeX3r9/6+nTB5GRoaWlxTY2Th9+ONPOzgXiRSYtpk1+fs7Bg9tDQx8kJb2YPHmui0s/D49BUlIyPI1Dtm7fvhIV9dTW1rlvXy8FBSVIQEFB3tmzh4qLC65dO6empung4Obk5DFs2FgyOVtaWiBnUVHPzp07VFZWihVdXfujck5O5uDBI/X02L9tjEaKigrOnz+KvO/GDT9Pz6Go4+4+SF1dq42eqqioW1jYPnhwG7k25j8jglg+d+4wBgHC8ezZQ+5VSkqKkGCGhYWkpCTIysqRXtjaukAyUlLi4fgQAKL9++8/BwwYhiMEFKqgIPf48X3ouJ/fcX19E6ini0tfrIXRY3EkqbKy/NmzR76+R7Kz0xHwqFEToV/cG0U8GKLTp/8uKyu5dOmUtra+s7PHrFmLVVU1EDNEGe2jWmJi7C+/fIv2R4/+GJt78SISRyZYzoiIx9hlWlp6I0d+hL3Wo05u8iv00NGDgIJgPkDF8KcvI8P+RaL09OR165auXv1ZYOA1MzNrvJBezZw5Yt++XyFwZK2bNy95e1tfu+aL+ezlNerSpZMrVsz855/tEDvuxuEjTp786+efv4Y+KiurQdFY7Pz37pQpXkeO7AoKuvHJJ0vgVi5ePLls2TR///NkLQSzZ89WbPHFiygYMcjNmjXz169fdvjwrvj4GFIHxmrGjOEHDvyBRqZMmff8efiGDV989tl4yETb/TUwMNHXN4Zkx8SEM4XR0c/QEUdHN6KqDOjv2bMHN25cBb3Q0dGHoJ88eQCpemTkE6gqNCUjIwUKBQFCBxEtXFJISNDYse6IGYO2dOl36MuVK2eWLZuOUEmbJSWFyFgXLPgI0oMxhzT/9tv3GE/u7SJB/vDD/hg69O7zz7+Cpzt2bC8GHNku9C4mJgzKhWpYF1tBGLBsFy+eWLJk6uHDOxEDBBQfXbhwbOLEAQis9QlESodDRa07KSzMLyzMY16ZmamwDJhUsDADBw6HTXv48A7kbMKEGadP3920ac+uXae//HKjurr25cuncnOzWBzz8v33SyQlpXfsOHnjRtSvvx7csuUAcstTpw7AkTEbwkyD6v3zzzZ4sRUr1ru5DSDlhw7tgLv59tvfrl0L++yzVVevPkP7qLx27ecsTg6FSbt792Y3t4Fo/6+//M6du+fj8yEsm4aGNpQRdaAju3dvQTBr1my5cuXpwoWr/fxCvv765+Tk+AULPm67+9bWjrA26DX3qX2knEJCwnCp3KYGsnX58uk///xxzpzlFy48+uWXf/btO79t2zG4p23bNiQmvhg+fPz48TNMTCz79/f+55/LX331E5wgRhJ9+fnn/devR86cuejmzZjffz8MIwZTyeLYNKwYEHCxX78hJ07cwgsNDhw4AkrEbBcHhr17t9bW1mzYsOv69YhPP12GpuAiUX7o0E7ILraLtVCzb9/BaH/58nXYj8+fRygqKv/0015EglAxaNOmfY6jFIwehPW9/2oob4Cmn93Jjh0buacuBAIWiZNgziJvkSXBQMF/YYqSOmPHTr1+/cKtW5fJ6XCYAszSBQu+RmrD4px9d3buu2DBavgIWBuyFuYk7AwST3l5RRgWeAdmi5jPyLmQrjK2CDP2q6/mkuWKijJYGy0tXcRAMk3MVSRocXHR+IjUQSSpqQkffTQLWae4uAQpxFuUQy+QFyNNa2MESLNoAUFidfx79eq5IUNGI1TuanV1dcjyoPVLlnzLFBobW3h6DkM5Ej1zc5vWjSMFRmYK00fOuzGbY3r3+HEQ/nVx6a+pyf6tdQwXRBMKC2NF6iDLdncfOHz4OBwGmDNxa9duxTEjNjbilT3CDkVejJ1oY+PMFGpq6jCDQ+lsqKh1Jw8e3OG+wIe516ePJ+YVbBqL/cORCmPGTGJx1I2kcpjzcAHcaR3S1ZaWZlfX/kw7EhKSaAEvFid7xb/I15C1IUmcO3clpih3APAvpBFYLWSX5eXsec582tTUCFVSUlIl8RBMTa0waZEzkrcJCc+LiwsNDEzT0pKSkuJIIVyJjo4BAkPqh5StjRHQ1TWE6UNmB6mFcYNSQGUg0Dwn7MvKipOT46ZNm4/ctrKyghSSax1wRnl5Wa9sfNiwsXgh787OzkByD1t39+515lMcDFJSEiDT6BFTCAlWUlJh3kIEiYxiHIjJwhA9eHC7jR5hdWg6p2Yp2VNIP+G4mcMApbOhotadLF68lnv2wi4h7TIwMGFKGhrqMzJS79y5ijSQxTmvhHnCfRcbNKWhoQE+pY27H1Af8wqzF5IBTbS3d2U+wsSOi4uKjg5D+0ipYMEgoMynFRXlN274OTl5tNEFhIfZe+TIbmSRzLzlxMM+swFdbnsEOKKmExJyF9rE4uSeyDSRRXIb2JaWlhcvompqqo8e3RMSEhQZGUrK0ThzFfKVQM7QX3QNL6TSWObuHUFRUQWba7MR9ll/P78TZF3o4xvPFRYU5GLM4R8TE2PxFgGjBGaz7bUoHQUVte5k9OiPyQWBVwJFw3zYufOnZ88eGhqaISODqRk8eCRyH2Ziy8rKv/FGAXiHoUPHQvXOnz96+fIpQ0NTrMXiTNcbNy788su3UA1jY3OkV2pqmnPnrli6dBpZES2Tmm/ExMQCLfBcN9TR0YeFbHtFZWU1ZJHIVRMSYuHUbt++qq6uzSNViBx9RzBID9Egk4kTLCzsjIzMX9n4lStnf/75KykpGVTA6traet7eY778cg53Hc6tIa+9IglZRDq8detaHG+MjMyEhIQdHPp8/PHsZcumv24VSPzZs4egv8g3sb+wIrJgtIMjU9tDQekoqKj1XAoK8iBDSLgmTJgxefJcTH4WR4m4L89BoSBGycnx5JwaAeKCFElLS5fc1WFn57pixfqsrLTU1MR79246OroPGTIakw0ebd++X1EBQjZx4mwiJSUlRUw7cJGwdXB5sCeamjqkEElccXEBU0ddXQtb6d/fe8yYydynjdBOSUkhtPiN3XRzGxAYeO3p0wdQLjTu4zOhtZLCTAkKCmEEvv32XzfuwxsiMVRQUG7dLPzU3r1bpaVlFy5cjQEkZ8RQn0fU0DUk5sOHj39lbDB3u3dvRk46depn48ZNIx2E7WqjOzgC+fkdhwOdNWsxkn3SF+zHhw8D3zgUlA6BXv3suWAG5uZmwYlAcYiisdiPIX1ErnsSMJ/hQXbsYF+yJCXwd/7+vitWzLx2zZeUwAxiWjo4uE2aNKeysuLSpVMkgc3KSoeD6NvXC4aRMUdXrpxhGodaeXoOy8nJOHFiP0m+6upqg4MD8GLqeHoO1dMzgjfhScqOHNn122/fc0vk69DXN4ZDzM3NvH37CtrHFluLGvqIakifyf0TBOTLDx7cIU62dbP37t2CRKLXPj4fEkWDIUX2ylSAZOvoGGAEoPU4VJDC9PRkzgm4lyCnRto7ZswkbsnmHqLW4AATGxvp6Og2YMDLjmDoUlISamur3zgUlA6BOrWei5iYOPQIFiYo6EZzM/tbUzk5mf7+57nPiyMbQtaG9C0o6DqSHcxbzJ/t2zdAAvr1G8LTIKZZTEzY1atn7969Dh2Rk1OAX0tNTYiJCVdVZed0hYX5hw/vZOpLSkoNGzYWcxhGQ0VFzcWlH+Y8BC4uLprcz8HieCiYRAilr+9RL6+RZOa/eBH1558/WFraQ1bIDXFtgKbMzW1gIcPCQtzcBr4yHxcTk1iw4OstW9Zs3rx68eK15NooRPn48X3wTRBlvJWWloFOwZCiO+Likkg2EQyOAegyObWXl5e9ceMqJSXVpqam0tJiNDJ06AewvefOHcYyegGHi448fHiH2S7KkZwiKcYgk45AsK5dO8cdGxQT1TB0UEwYNCT7GFtYPJhl7BEW50Qh9LqiohwS39TU2PZoUN4fKmo9F+gIfBDm5LFjex49CmRxvBuUAuICh1JcXAh3Bq+xaNEazDckknBbzc3N0B01Na2PP57t6tqfXP2sra3BihALMo3Dw0NgrDBLISWDB48MCPDbt+8XIkawZs7OfaF0sBsQJlTAtPziix9R4eLFk5BCNIVPkZPC4NTUsM+gkdRMRETkypXTUBDSDqb0wIEjpk//HNranp56e38AY4U+9uvnxVx8LCrKh0Yju9TU1BUWFh4xYgJ8040bfj/8sILkwlBMGM8JE6bb2/dhsR2fCRTW1/fI/v2/Yi1ki+hsQMBF5I/EqcGOeXgMEhAQuH79AhwfJN7IyHzJkm9R/+DBHcjWyRNNoIDMjc0YbQzRmTMHt2/fCIlncXJPaCgUCptAYo5o8YLbDQz037jxiw8/nIn648dPR0KN7RKnhjYxGjCbz5+Hk+9UUToVKmrdA/7uCwvz2v7SDCQG0xIywSRNZmbWXl6jMK8gSVColhb27emYUUgA4SaSk9l3VJiaWqEOOUMPIcN0wmSur68nLUCzPv102cOHgVBA6NGcOcstLe2gQeTrB/37e2NO3r3rD4kpLWVnjoiQnJuPjn4WFfUUaoLG4RYvXz7d0PDy+Rk2Nk7wJk5OHkw7MImDBvm8TtEgwUOGjIYeaWi8PE8H9YQKW1jYjhz5EXPB1NDQbMaMBcxFQ2jKvHlfIA1nvhCKxNzW1hkSTzwUxAV5oqKiCtI9LEMH585daW5uGx8fTXJzSBj0FzYTWgNbhxKMLQ4biorKGGHsDgypo6M7DB0OJORsIPo1f/6XqAD9IhuFUg8YMByfIuclt+licBAnuR1PQUFZW1t/ypR56upayGrJKhgxBGllZQ8rKiEh1b4/EMq7I+Dr6zt+/PiVE/+Y7LW0Y5v+cs+E22G+v/1WJCWl+Oba78TNm78JCr7YsmVfJ7X/HweTNjT0Puwe5iRzUg+S+scf65Hkrlq1Eclv90ZI6QI++KCfp+c3VlbD31y1HWzbNiImxv/BjhpREfEOaZBQVlXktUJ5woQJZ8+epU6N8lpgcNLSkpBYQcLgaOA+OHfh3ysvL4N9a/v76hRKd0FFjfJaJCQkyfexHz0KRG6LVBQleCHb9fYeQ86CUyg9DSpqlNciKCgI/Zo9e4mTk3tmZlpxcYGKirqVlYOWlm4b9wxTKN0LFTXKG5CSkvHwGNzdUVAo7YXefEuhUPgKKmoUCoWvoKJGoVD4CipqFAqFr+jtFwoEnjwJXrVqbneHQaHwLRkZSZho3R3FW9C7Rc3J6UMBAYFX/tQ5hULpELy9bY2M2npQaE+jd4uagoKOl9ey7o6CQqH0IOg5NQqFwldQUaNQKHwFFTUKhcJXUFGjUCh8BRU1CoXCV1BRo1AofAUVNQqFwldQUaNQKHwFFTUKhcJXUFGjUCh8Re/+mlReXtzDh4dZLPrdTwqlsxAUFPbyWiol9YYfpe459G5Ri4q6kpZ2bfDgEd0dCIXCt5w9e9DIyKOjfiKvC+jdosZi/5Ku86pVG7s7CgqFb7l37253h/B20HNqFAqFr6CiRqFQ+AoqahQKha+gokahUPgKKmoUCoWvoKJGoVD4CipqFAqFoU7nhwAAIABJREFUr+j196lROpUXL6KePXvYulxRUdnCwk5LS09Y+OWfUHNz88mTf0lISI4bN63LwisvL62trZGXVxQVFeuyjVJ6OFTUKG1x//6tH35Yrqmpq66uxRQmJsZKSUl7eAzu29dr1KiJYmLiLI6orV79mZqaZpeJWkZGir+/L+TMx+dDFRX1rtkopedDRY3yZjw9h44bN5V5+/x5BHTtypUzDx/eMTW1srZ2FBAQEBQUXLr0OxkZ2S6LKj4+5ty5wyYmloMG+XTZRik9HypqlDejo2Pg5jaQeYvloqICVVWNAwf+2Lbtx23bjiPrhKitWLG+9bqFhXmlpcXGxhZttJ+Tk5mWlujs3I9JZrlBgpmWloQFMzPr9+0J5T8AFTXKu6CkpDJjxsLHj4Nv376alPQCZg3p53ffLZKVlf/yy02kTnZ2+rlzR+LioiorK6ys7AcPHllSUoTCIUPGaGrqkDphYY9u3PBLSUnIzc2ysLCF9nl5jdLXNyafVlVVBARcvH//dl5eFsygpaW9g4Obi0s/BQWlq1fPnj79D9aC5P3663eTJ891dHSjZ9YoLHr1k/LOKCoqu7r2FxMTCwkJauZw5Mjus2cPkU8hN7t2/Xz8+L6yshIYPWSsu3dv3rp17a1bl4uLC0idS5dO/fLLtzdvXqqvr3NzG4Cae/du/f77JdA4fFpdXXX+/LE9e7akpyfb2jrr65s8eXLv11/Z9fEphLK8vLSxsbGurrakpBBhCAoKdddQUHoU1KlR3h04JgEBQSSYPOWQG1/fIzBZ7u6DPv/8K3l5RQgZJA8lzAWH7OwMKCD+RdIKj6agoIy14L8gW8eO7fnmm18hVVA0KSnp77//XUNDB8J3/fqF7ds3wNw5OPSBoWtoqP/rr99h6z79dBlM3CtTV8p/EPp3QOl4IE937/pDiSBYurqGKFFT04QMcd8dcvPmxRcvIleu/NHbe4y4uATrZUq7APbt2jVfiFpDQ0NGRgrUSkZGDuqJCqNHf2xt7SAmJo7WUAh9hEGTlpbBJsgVWAqFRUWN0hkgN4yMDHVy8iCKRjAyMsersrKcvA0NfQCLl5qa4Od3nHtdOTl5FF68eHLQoBGLFq05cOCPuXPHmphYjho10cbG2dHRvUt7QumFUFGjdDwtLc3V1VU8hdra+njBnZG3tbXVjY2NR4/uERYW4a5WU1PV3Nycl5ctLS07c+Yi/HvmzEF///MhIUGSklK2ti6zZy+1t3ftop5QeiFU1CjvzvPnEQ0N9ZAYAQGBN1YuKspnLhEwbN16wMbGqVVdAfg1tKmioj5r1uIPP5yZmBgLaQsNvX/t2jlsysfno2HDxnZQJyj8BhU1yjsSGxvx4MHt+vo6V1dPHlFTUlIdP356cnIcXoaGZqQwMzM1PT1FXPzlyS9jY4tHj+4qK6tpauq+sv3y8tITJ/arq2t98MEUNGhv3ycnJ3Pfvl/S0hKTkl50atcovRp6SwflXYiNjVy0aHJGRsqOHSdlZOR4PpWSknFw6JOWlnThwv/OlyF/fPw4iHlrbm4rL6/4ww/L09OTudc1NhZzdFTDQnFx4ebNq5Gfstg/aCQoISFpaGhqYmLZguS2ubkT+0bp5VCnRnkz9+7drKurZd76+R2HnAkKCv355zGkga3vpZCSknZ3H6SjcxCShMzRyMg8MvIJGuE2dGPGTILXO35838KFH8+f/+WgQT6RkaF//vkDPpo/fxWLc7/I1Knzsa1Vq2bPnr1UUVEFy6jv7NzXzW0Ai6N0SFTj4qIPHPhj3ryVWlp6XTEWlB4PFTVKW4iJiUNcXryIZE7wE9zcBs6atXjgwOEiIqJMIWrKySmQZViqPXvObt++0d/fF1kqssgvvtgAgeO+qe2rr35isSXyBGQL5ktYWAT6iMK5c1ew2JdBFZYt+15EROTs2UOXLp1CiZCQsLOzx8SJs6FreAsdDAi4CDN46tQBvF28eC2S2U4fEUqPh4oapS2mTZuPV3tqQo/CwwvJMhSqvLwUgrhhw66ff95HCuvr67Zu/YbnTl1IGF7nzh0uKyuxs3NxdHTndnNKSirffff7nDkroIwsznc/+/b14l5906Y9Xl6jkOeOGjWRKhqFQEWN0vEUFxds2bIW6eSmTbvJnWWNjY1IPx89CtTRMSC32nIzYcKMNlrT1NRB+vm6TyFqHRIzhW+gokbpeJBIqqpqwJSdOLFfQIB9MQoyd/LkX1lZ6Z98sqTtJ3ZQKO8JFTVKxyMvrzh58py8vOxnzx5euXKmqqpSRkZOX994wYKvBw4c0d3RUfgcKmqUTkFLS2/9+m2hofdv3bqck5NhaGg2duxUc3Ob7o6Lwv9QUaN0FpKSUp6eQ/Hq7kAo/y3ozbcUCoWv4HOnVltbc/36+aampu4OhPLWCAuLjBgxnvs+OAqlPfC5qIWEBK1bt6R/f8/uDoTy1gQG3tHQ0HZx6dfdgVB6GXwuai0tzebmFhcu+HZ3IJS3xt7ekX7Hk/IO0HNqFAqFr6CiRqFQ+AoqahQKha+gokahUPgKKmoUCoWvoKJGoVD4CipqFAqFr6CiRqFQ+Ao+v/m2a4iKitq+fbu2traCggJTKC8v379/f319/detlZmZefXq1Xnz5tXW1gYHByclJc2fPz8nJyciIsLMzMzAwOB1K37zzTd1dXXYHOch/aysrCxRUdFx48Y5ODh0aLcolF4JdWodQHZ2dkBAAJTFhQsbGxvoWhtr+fv7QwpZnAdhGxoaOjo6sti/C1f+7NkzCFwbK165ciU9PR3tkw0NGjQIurZu3boO7ROF0luhTq1jEBcXNzU1dXNza/3R/fv3jY2NY2JiHj58qKura2trCz2Ki4uDqKWkpPj6+sKXwaxVVFTk5eWdPHkS5WVlZQICAhA7VVVVCwsLph2UYHUsq6mpQc5kZGRY7K+CtRQUFCxduhS+z8fHp6amBs4Rdg+NDBw40NnZGXXy8/NRh8Wxh3JycgggJCQE8aAy2p84caKICPtn0pubm7FuaGjovXv3pk2b5uXF/kEAtINCaWlpMTGxo0ePoqdTp06FCnfV0FIobwcVtU7n+PHjz58/R2aqrq4eHR29Z8+e69evF3JoamqKj4+HNkGwXrx4sWnTJvwLpYNkpKamJiQkQEEWL16spKSUkZGBFT08PBiNY4CoIWmFKllbW2Phxx9/hI+zt7eHkKHZESNGIMNNTk7eu3cvdBPyCjWEtdy1axcUFpvevHkzvOGWLVuEhIQgZ3B80C+4zp07d168eHHlypVIdY8dO/b06VM7OztJSUnoHQT666+/xia6ZTwplLahotYxQHTWr18PpWBKXF1dP/nkExMTEygINGLOnDmwctXV1d7e3tAImCNoRFhY2OTJk6FK8GtoQVNTc+bMmRCaPn36wHNBxSAlKIeoxcbGQpLQmpSUFBqH9sHTkV87h72CYKE1iObly5chZF9++SXkr6Gh4dq1a3BkiASODKsMGTJk+vTpkNfly5fLyspC7OD4oJJQT7QDhYWAuru7z549G+IVHh6O7PjSpUsDBgxAF1Aybtw4VIYi79u3LzExkYoapWdCRa1jgFFSUVHR0/vf7+kic4SWkeW+fftCLMhlBNSEC0MOKC8vLygoiFWKi4tJNYiUgYGBlpYWtEZDQwPSFhQUBBsF+UBqKSEhAW8FP8ViP1IpBAks+TU5R0fHoUOHLlmyBIr56NEjaB8Sxrt377I4WSe0KSAggCShWB3CymL/pKYcWoAUIl+GVNXX16NZCCjaPH/+PLSVxTnThxiQokLU8NbS0hLZKDLQSZMmBQcHY5UuHF0K5S3gc1ErKiromsfXKCsrY7Yj12NKoFBwQ2QZNgo68rZtenp6whbBo/n5+UGD5s6dy4gmNjR//ny4JyxjK2gcAgRxhKI1NjZGRERABPERzBrCIOaOGySP0FwIFrLOAwcOQBaRbJITeUTRWBxRg4SVl5eTt2IcWJyrushP37YvFEqXwZ+ihol969al48f3V1aWi4p2xRVeSICioiJM1is/hfqQ2y/eCmiHubk5FApZJPydkZERkRUWxwY6OTmRCwU8IAldu3bt559/Tt7CLaIEjXDX0dHRQaY5Y8YMiODhw4cPHjwI2UUijAw0Ojra2tr6bUOlUHoO/HZLR1pa0ubNq93cdObNG//4cdDUqfO6O6K3o6SkJDk5mXlraGiIlPDUqVNKSkpIb9teF37t448/TktLO3PmjD0H+KyjR48mJiby1Jw3bx6MHrmWumbNGhwDcnJyIJFWVlZ79uxBhZqamjt37oSFhfn4+HR4HymUToVPRK2hof7SpVNTpgwZMMBk166fCwpyUbh8+TpFxTcIQUcBJYL3Mf03p0+fJp9CmCorK3lWcXV1hVHq06dPVFQUU4hcsrq6+ttvvz127BiLk4HCrJWWliLfNDExaTsGISEhCNmiRYs2bdrk5uYGPZoyZUpSUhL3LcEEmDKEhMY/+ugj/GtmZoa14CXxLxJeKB1WXL9+fb9+/VCTZ92MjAxydwiF0jPp9elneXnphg0rz507XFxcyF1ubm4ze/aye/cCuiAGPT29hQsXti7X1dXFv2PGjIF+MSe25s6d6+LiIiAg4OXldeTIEaR7LS0tQ4YMsbS0xKeQwmXLlvn5+ZEbdyUkJMTFxZF46uvrk1vJwLRp01DCXIXgBmZt+fLlgwYNQgvQOGgWto6msDnIk43Ny5/dhFpBvP755x9YOQS5dOlS5LMonzBhgqOj44EDB9AOrBwEFymwsrLyBx98AKtI1tXU1Jw4cSK54ECh9EB6q6g1NNQ8fXr2zp2dhYXJrT/FHN60aQ/Sq64JBh7qhx9+aF1ObrmAmkCPyJVKsGrVKgSGt/gUIgLRwafQNXJBAx9BSuzs7IhmwRbl5ubCc3Gf51qwYAEE65WihmYhQ+7u7uR+C7RMTsMZGBhATBlZxIK6ujrUk/zOFnPiHyHBGK5btw6uDe2TAYTewbgx5wSx6XHjxpGLsBRKD6T3iVpmZuS9e/tDQo5WV5e+rs7EibOdnDy6LCTM8DYuCBJpYyCXLAmiHHjqQ0pIa+fOnYNWNjQ0IJ3U0NBgKsC+vW08KGm91ivbIbLIXQI54+kCc72CQumB9BpRq6urCg09GRy8PyUlpO2aCgpKq1dv7pqoOhUnJydktWZmZsgWGaNHoVDapneIWmDgrvPnv66trWhP5TVrtkLXOjukLkBfX3/OnDkCHLo7Fgql19A7rn46Oo6XkGjriRcMLi79PvpoVieH03Ug9aOKRqG8Fb1D1GRl1RctuiQm9oYb2YWFhTdu3E1VgEL5L9M7RA1oa9t9+ulRAYG2Ap4zZ4WZGb0bnkL5T9NrRI3F/gblB4MHL3ndp5qaukuXfteV8VAolB5IbxK18vLcZ8/Ove7T9eu3SUryfnObQqH81+g1otbQULtz55iSkgzOO96zZt7eY4YO/aDro6JQKD2NXiNq//wzIzX1CVkeNep7ZeX/PU5aQkISNq2b4qJQKD2L3nGfmp/fN0+fniHL/frNGT36e2fniZs3u9fUlKFk6dLvtLT0XrOqQFJS4pw5c7sqUkqHkZmZQS9kU96BXiBqjx8fv3ZtE1k2NR04depuLGhoWMyde2r7dh9ZWbm5c1e8bl1nZ48FC9iP1umiWCkdx9KldjY2Tt0dBaX30dNFDV7s5MnFLS0tLPY3q00+/9xXUPBlzFZWw+ztP1BQaBAWFnnd6tLSsrNmLe6iWCkUSg+gp4va9eubq6rYj/AXE5NetOiypOS/Hg1mbNxPUPBFN4VGoVB6Ij36QkFZWc6tW3+SZS+vZWpq9BleFArlDfRoUbt8eX19fTUWpKSUhg1b1d3hUCiUXkDPFbX8/IT79/8myyNGrBYXl+3eeCgUSq+g54ratWubmpoasKCoqDto0KLuDodCofQOeq6oJSbeJwuwacLC9FGrFAqlXfTQq5/waIWFKWTZ0LDrHszNQ3Nz89WrZ+vr67orAAqlW7CwsLWwsOvuKN6RHipq+fmJzc3sO2YFBAS78aJnSkr8F198MnTosO4KgELpenJysqWkFA4evNbdgbwjPVTUcnNf3n2mqKgrIiLeduXOA05NSUnpwgXf7gqAQul6zp07t337vu6O4t3poefU8vMTyIKCgnb3RkKhUHoXPVTUVFWNyUJKSkhpaXb3BkOhUHoRPVTU7Ow+kJfXYnGuGNy9u7u7w6FQKL2GHipqgoJCAwbMJ8v37u1vaKjp3ngoFEpvoYeKGujffx65Pa28PO+XXwaUl+d2d0QUCqUX0HNFTUZG1cNjFllOTX2yaZNrZmZkt0ZEoVB6AT1X1MDkyTv69ZtDlktKMrZu7dfGD69QKBQKq4eLmqCg8PTp+ydM2CooKIS3tbUVe/d+uG6dZWDgzrq6yu6OjkKh9ER66M233Awd+oWqqvHff0+rq6tisW93jj1xYtH582vc3WeKiUnKyXVbYMuWLSsqKuIuERUV9fDw+PTTT9tYKzQ0VEtLS0NDIygo6PTp09988426unp8fPzz58/Hjh37urUCAwMPHDjAXYJGhg4d2qdPHympLv1hwJycnDNnzjx58oSn/PPPP0ff37YdaWnp2bNnv67O7du3UWfTpk0KCgp+fn4o+eCDbvvNsB9//BG7Cd10dXUVFu7ciVNdXR0QEJCdnY3NtVEN46OsrGxpaYl4Pvnkk6+//trMzKxTA+sV9AJRA/b2Y1etunf27BdxcbfJo71ra8vv3NkuICCgrKz+yy/fOjt7ODq6y8rKd2VU58+fd3NzmzFjhqDgS8MrJCSkqanZxir4M92zZ8+kSZMgakZGRra2tmJi7Ishd+/exSRvQ9QSExOhhjNnzrSzY38jLysr686dO5A5CCL+pju0W2+gvLwcclxVVbVkyb9+WNrAwOCt2pGVlUX36+ra+l5tQkICRO3bb7+FqEVFRbG6T9TS0tKwu9FrCwsL7ILOFjUcHeXl5bGX2672559//vDDD/irwzLmhaqqaqdG1VvoHaIGdHTsly+/mZPz/M6dHSEhR5GKsjg7sqAgZ/v2DSx2ripoaGjm5OQBgcO/RkbmXRCVoaHhiBEjGFFrTXFxcU1NDVwVeYtZkZ6ejn9ZHKs1depUCQkJUi08PLztbeGvHB5h8ODBLLam14qIiPz2228PHjzQ09NjzNqxY8cmT57MEw8O+1BMaCjZEAJQU1ODqvK0f+XKFXd3d0VFRZ5yxH/16tUJEyZwF+ro6KDjrws1Li4Oa1lZWSFI7vL6+vqUlBTiJhBzv379eH4TB92BTGNU2x6K1v0CsLrYqJPTv36rJTk5GQeDIUOG8PQLo43YECFPm68bH3hqBDx9+vQjR47AiXO7Y3QhOjoa+5HHJb0yHhbn+FRZWQlxJMczBu5xhmjCg9vY2HBXCAkJwd8A91YQKtQWRzX0ZePGjZB+7o48fPhw5MiRrcetdTt8Rq8RNYKGhuWUKbvGj//5wYODgYG78vLimI+am5sTE2PxOnWKnabJyysaGJhoaenhpa2tr61NFjD/ZbogTvw9rVq1SklJCdMbgUF3li5dir+5rVu34qMXL148evQIuoCpcujQIdi0nTt3lpSUwLkgF0OeBRfGtIPkC+vytC8uLm5vb4+pVVZW1tTUhJLVq1f7+/tjkqM+PNRnn32GOY8jOfwFNpSamgobaGxsjM0hJMyB/v37o1lsEetu3779xIkTmB4yMjIODg67d+/GH/2zZ89mzZqFePbu3YutbN68GS2sWbOm7Y7/+uuv8FYFBQXoNeY5bCk2RDqya9cutAlrhrmKccC83bZtm5yc3Lp163JzcxHqxYsXMdsRGyps2LChteIQ0DgiGT9+PBQwIiICIoipC2uDMcRBDsZ54cKF8Cw3b95Em7GxsTiEYCtMv9AC+oUxh6ZAxCUlJSF548aNKy0tPXr06I4dOxAhYsCxgbRDNnrv3j1ILbaLRv7++++VK1dii9hccHDw/PnzoUc4kJB+mZiYQDWQq0LUUAHagcre3t5oJCkpae3atRBZ7DJoFlJLyDp8Ft4ieURGj3HGvsB+8fLyOnnyJORvy5Yt+fn5GDqMKjqCyhiW9evXoztQWPwhIcjFixcvW7YMg4DAHB0d0ZEFCxZgqCsqKvCHh46gQmFh4b59+1AfyQ36zt3OO/+R91h6magRxMVlBw9e8n/tnQdYFMcbxo/ee+8dBKliQ+wVGyh2jSWW2GJsscQeS4zRaDRqbH81lthQsRfsoqIIIl2QohQB6b3zf+9GNheaCAd34Pyee3iGud3Zb+d23n2/rficOjU3NfW5srLKq1fPc3KyuKfJzExHJT7clfhFkaISjdPU1JWVlZOWlpWWhjjgryznr0xlgV3+7Lv1sCHu2LGDeT0lhjE2U2zc2P4gWz169ECGiGHzxx9/YJNawQHihS0YowibKfQF5mXkyJERERHY1FCD7RuD/MiRI5gGCgUNYrEv2esGVaqy6Lt376ISO3wo0dKlS7ERw6ZBNzGiMC/awfCGWGBUY8PFqEAuc+zYMWdnZzT+4sULhP3kyROIGpQFZYxzbP2wURiiGC1nzpzBWoSEhCDTvHfvHtqBPfHy8mJEDckgfCITDAYtpocqHT16FPZz1KhRWGsI6+jRo+Pi4jDgf/31V6gYifn7779HO5AtfEVMKxbn6emJwY+RiZEMgYZCrVq1qsY+x4+CvsWIReTocAx79C2GMVYHCo5KWGDEgxaQJ0JloGjYwVy9ehUqD1EbP348ZAJ6B/WBZCcmJsJMQQjQ1f/88w8Cw7zoH9LOd999hyVivfBLQe+gEegHCBx2GxA1dDJWsEOHDgiAWS+UoafQdPwcEMdt27ZhrwDlRagLFy5E0o2V1dbWxsqiw6EyqBk7dixWB6FCaLBLwxpBCrFHxCaBpaNnIHAQJug4jOfatWvxa6JzsFHBb+L3wuwIBj80fgKsI373wMBALBQqjH0VfiZoK2LDjhBdtHz5cvwW+PbgwYPx8fFU1AQONTUTDY0SbNX42SIiQvz8nvr7P8PfmJhIcuitCqjMysrAJyTkVf2Xgi0Ym3iNXz148ADDnvkXGyJ20SRrgC3CqO7SpQskD9sopAEFDABdXV1ID0YaORQCMP4hTNg5Y9OHVYEFw9YMYYL8YQeLTZ/kKRBQjHkmtcTYxm4fO3zoC0bd+fPnycE1Nzc3WAAoIzZu/IvsDKMRows2AVNiT47U1dXVFckjCQDGAVkthroZB9gE7MBLSkoQFZaFf5GIITAMA4xnyBw5nIRh7+fnx6w4VgdrPWTIEAgBxhLJg6Dp0EEWx+agl65cuUKagj+FweHuRsQzaNAgzIiQMIGamhr6gTjQGoE2oW/RPsrQ0MjISPQwGkcM8FbwTYaGhtAOxE+ihSKgSxHz0KFDoREQuF69euHnwC4H3Y4J0tLSoBfo3m+++QZzIR7sG9Cr6Bn8HEg527dvb25ujq969uyJfQDiHzBgAJkRlVDGzp07wzmiTagb/CPsJFYB+oh5sdWh/9EaZAXbEklIoaFGRkaQPPxS6Jlbt251794ds0MlSzkwh+1cXFywpticSOcgNSadg40N08BmokCmxFIgaohtzZo1/fv3R2vYePCTYctBkJgdQSIkdBQ0EftRfIX9JXGvrQmBvqSj/nCEw3r8+O+2bTty//6bV68+njzptWXLwXnzVrm7T+zYsZu2tn6DD+4ih6rtK1gAaERxJfBW06dPZ0LCEomJY6ycEIfaVoHF2S6hUxge2NVD1DA8mMNS2L1jG/2JA9wWdrPYdrFBQ1yQtpCj1wDTY1eP2ZlmSQsY9hg2cCgYHhhO2PmTJWJK+DVVVVUyMawcs0T8S4QDBXgBKC+TEkLgirkgJ3wxciABHh4ekDZEsmzZMnIegAg6yUNRgM7CGHKvOzQI9dBoZMpYOjnRWQdM3wKMVWgZZIi7e0k91BMyjSmxUjCqUChYPOhF7969yWTQCDgdFucIFFL+9evXYzWZPmRx9oIAs2D8T548GT0AlYetw8ToN6wvjM+NGzfwk+HXgRHGvNC+ESNG4IfDbgP9/Msvv8DnYnHoFjQLvSarQDoZOw/IPZpCP5OQ0M6PP/5IDgsQSJ9A++ATUcAPx90V1Y/nIgakC6Q1LA5NMRuDIQcyDWaEzW99isZq6U6tNpSUVLp27VulEju3pKT4uLjYhIR3+KSkfMjLy8WnoAA5UG5+Pj7sQnZ2ZpVH3WITabbIYcoWLFiA3TgECxKJzQ6pHPkKSgEfQU4UcEM2UMyFIcpUwhRUmUxZWRnJlLW1NUYXVAb5GswISSfRM4yxxQCu0eTWB1ghpDmwPNA4DCdYBgx4FudcHmmZ7FdQgNdgUnsUIAdbtmyB3UMmBSdCku7GgLQOHYJ4ILIwodACJGtMJLBy5PwMfA05uAkJQO9h/GN6phE4R/Q5HB9MLmQR3QX3im6ED4XDQhqIf5H4Q49g2JHNweEGBwdjRYYPH/7s2TMks+gBZH9I+pBro+eRbjP6wlClc/BbYCtkziHgt0AAUDRZWdmRI0fCZCGjrHvdMQu0kpSxuDoMb2uldYpajWDXTc4b1DaBj8+DdesWpKYmMzWqquplZSWQAF7FgK0NGxmsTfWNG46PFKBHSBPu3LkDF1bF0dQIUlr4LIxAjF7seNEOktbqO3AkREhDMCqgIBjDSEDgJpKTkzF+/P394fswL8LDcmvzkp8FAxhrhxGOAQyPBv+IrIrFfmdrHzhEpKIwL1jE9evXN2/ezBwyQxjQWbhIDF2ICEwTYmhYAAxv376F4sCpYR8AvUBg6HD0DPpKRkYGUo4AoCZIFQMCArDbQFcjZmwhMNroB8xC8kpICWwjcnY4MhglJmC4TuSwUBlIGxI6aBbsM7QYqwnbiF8Qffjrr79CTJHhYr0wC9qHLL579w5eCfqFnkdfQSLxW0Nhof5oB79FWFgYHC5+dyIbU6fbAAAgAElEQVR2CAO/GsLetGmTvr4+TCJcPPeaMpsNA8JGByLJxdLhT/HjVj+j3br5ikStDmDcNm788caN84xJkZKSnjVrab9+rt99V9eFUTBT5IAFU4OxVNtpOxb7ib5J2dnZSF6QpEDamHp5efkLFy68fPmyTZs2yHGmTp3q5uaGjBLD6bPBY5YhQ4Z4enqiQYyQoKAg7MwxI8YS92SwJ5CYyMjI2bNnY3OPiIhQV1fHCMf4hO+A0qERWAmMTHIyEWaqyoIwCNFIHZFg6egQZGqYDKMXawQJy8nJwZjEiN2/fz/EF+q5YcMGhIfEkMyFsWplZYVFY+QnJiZCRBAk3FAVi4F4arOQ0CBoKPcVEhAmjP/Lly/jp0FIEE3M7u3tjWVNnDgR6wiJgbisXr0assXiHAxFDLt27ULAEyZMgOKcPHkSHYuMFYEhneTWBfwuMHfIT93d3dGlgYGBWC+sMhaEnxVqgozy7t272BJ0dXWhm5gX8WCJWBY6AVPCjW7duhVzIflFhFji7t27sStCnzx8+BC/Djzjq1fsw76YxtTUFOaX7IHOnz+P+vbt2xOfiwaxjugWNE66CD8cfj5ywA5BQnmh74sXL8Z6Vb8kEJFwH7xrNbS29flSCgry9+zZfPDg74WFn4Yr9rFDh45ZsWKrlpZuZGRoHfPCXGA7Rp7IXWliYrJ3714MEiSt2HZJJbYwbIhIr7CdYa4rV65cu3YNA6xnz57Y9FmcY+rY/n744YdDhw5ZccAQxQhhLsLC8OjUqVNtu9xvv/0We3vsn//66y+MVUwJJ4JNFsOSyURgNGbMmIHBg/wIegHlhSux4IBxhbExb948DCFI2/r169EatIlciECA1GIwY1xBB5GjES2oAjk9B7eClcIwW7JkCQbh+/fvMT3G1YkTJ2CRkFtB4+BrMJZIO0hUMQ6PHDkCawOvBG8FTYfLww+B7urVqxdRKwRJRA3/ohJfkYVCmuFSoQhweZBCNI41Recj14ZSw2FhhzF58mQIDUY1Wli4cCGcFEwctAMTI2AWZ6cyevRoKALCgBXC6js5OY0ZMwadgJ6HWGP1udcUBu3o0aNYBfxduXLl3LlzUcaPhZzXwcEBYWRkZKAfkN6iqZkzZ/bt2xeVMHTYf/zyyy+QEvxGP/74I7neDT8K0ljsirADsLS0hK/ESkG8yJE1WD9YPHKRLXqVHI4gbhpqi50ZPDi6Dj8WBBQTYLnYJg8fPox6bABoedKkSYgHXc19dS45nQWjV+NP2aIRwu4U2+Li0X+M61P1YqhGsnTfiHuvLmzfniYj01Tu986d7cLC4b/91sDnqV+69M/mzcs+fIhnaqytYXB2dujw6SAaRG3KFJe4uPc8iJULuBVs4tVvb0LqgW0aiZKfnx+2V2ydw4cP/6KWoU1Dhw6tO3/ErhvDu7qdRNqIAanQ6PvOMLSQ5Fa5spQAL4l1r+3aWpIL8/DQNZYFX4w9CjmCRoAtgj+CP0U/w9VChrAvYfoZ/g5uUY1DPZcChYLthVBWWS/k0TDm0BFyEoYB/QOxg/8iCSZ3O7C3zG6sCpBXdA7mqlIfFRUFEa/utrBXgCxir1nPteCGvKPg2LFb5F83t67du69q29alAU1VZ9eugSEhN5/uLhDn6btHsvLS+ixSxaiBK/9KnVpY2OtVq+a+fPmEqVFRUV+yZOPYsdMbfESp/mDnX2M9FA3DHvvYhIQEmBGYuy9tmZwErJvqA4PQsAFQHXJ+rUYwjOu4W4Axtryixn6GNMAZYf8BUYPowMtw97Mihy9aCgSlxjvVlDlUr6+tf4jXq20ptR3TqG0W7Jx49YO2OFrJJR1fxKFDO1xdOzGKJiYmPmPGokePIseNm9EMilY3nPsi3sIsQJ6YDIvCQ1avXg1rc//+fW9vb/zcU6ZMof3cyvi6nFpa2sfFi6fcv3+dqenZc+DatTuMjQXlPjhkMVu2bElJSal+byaFJyAb/e23396/fw9nVPfTBygtlK9I1Ly97yxcOCkl5QP5V1VVY8uWg337DuVvVNURERGhitbU6Ovr8zsESlPxVYhaaWnp1q0rDxzYxlwd1qPHgB07jqmo0Ee1UCitjdYvanFxMfPmjWPubBcTE1+yZOPMmUv4GxWFQmkiWrmoXbp0asWKWbm52eRfQ0PTP/88ZWv7xWcVKRRKS6HVilp+ft7q1XPPnz/GXIY+fPg3mzb9JSPT2i41pFAo3LROUYuOfjNtmmt0dAT5V0ZGbuPGPe7uE/kbFYVCaQZaoaiFhwdNmNCPuS8dySZSTiSe/I2KQqE0D61N1F6/9p00ySUzM53FuVtw2rSFy5dvFhUV++yMtZGdnb1x40beBUihCDqhoXXd8iz4tCpR8/X1njJlMDktICIi8uuvB0aPrvX1a/VBT89owoSZMTGpPAqQQmkBSEmpjxs34vPTCSqtR9S8ve/MmDEsP5/9zHtYs+3b/3ZzG9fINiUlpZYv38KL6CgUSjPRSkTtzp0rc+aMLipiPzBPXFxiz54z/fvz7a23FAqFj7SGG9qvXj07c+YIomhSUtKHDl2iikahfLW0eKcWExPh4XGYPCVVRkbu8OErnTv34HdQFAqFb7RsUYuO9vH3f0Qur1VQUPr77xsODp34HRSFQuEnLVjUoqKevnp1gSiaioraiRO3razsPzsXhUJp3bRUUcvLSz94cGx5OTvrVFPTPH36nqmpJb+DolAo/KelitrRo1MyMuJYnDdQjB07LTDwJT78DopCaYVkZHzkdwhfRosUtTt3dgQGXiFlbW3LZ89C8eFvSBRKa0VDw05TsyWlQS1P1GJjfS9eXE7KlpZ958+/zfcXC1AoFMGhhV2nVliYffDg2NJS9muA5eU1p049QRWNQqFw08JE7e+/p6Wmst8+KywsMm3aCXl5Hr9UjUKhtHRakqg9eLDX39+DlF1cfmrTpg9/46FQKAJIixG1tLR3Hh6LSdnMrLur68/8jYdCoQgmLUbUvLy2lZSw7+6UlVWdPv2UkFCLiZxCoTQnLUMacnNTnzw5TMqDB69WVKTvoKVQKDXTMkTt3r1dxcX5LPYt6ypdu07ndzgUCkVwaQGiVlSU9+DBHlLu1WuuuLg0f+OhUCiCTAsQNW/vg3l57HcOQM569ZrH73AoFIpAI+iiVl5eeufODlJ2dp4qK6vK33goFIqAI+ii9uLFP+np71nsq21F+/VbzO9wKBSKoCPoonbr1lZSaN9+tIqKIV9joVAoLQCBFrXYWN/ExGAW5/lCAwYs5Xc4FAqlBSDgovaCFHR17XV17fgbDIVCaREItKi9e/fpuY+Ghh34GwmFQmkpCLSoxcZ+EjUDg/b8jYRCobQUBFfUiovzk5LCSdnQkIoahUKpF4IranFxr8rLS1EQE5PU0bHhdzgUCqVlILii9u6dHyno6NgKC7e8x45TKBS+IMiixhxQc+RvJBQKpQXRIkSNHlCjUCj1RUBFraKiIjk5gpT19dvxNxgKhdKCENBjVZx3RH16TZSIiIAG2RRkZMRXVJSjIC2tKCkpTypLS4uys5NZ7K4QQ72YmBSpLykpLCjILC0tFheXRj1z5LGwMAf12DFISSngQyrLy8sKCrKKinJRlpCQkZFR4WokC4tAWU5OjWkcZGYmYC4UlJX1mUosLjs7icU+gSOF6Zn6/PzMwsJsFudhKlgoQq1sJJGc8PlvMKWoZ3Fu6UXkzOOkEAbawV80jnqmEYSNevQM+gT1pBIriNXEynKCkZSTU2ciRD15TrKMjLKEhCwTJCInryJTUtJlHp6MdcSaoiAqKsH9Kh+0nJ+fQRqXklIUFRX/7M9HEQQEVy+woZNBQh4P+ZWwcaNDbm6qsLDIsGGbBgxYRirfv/ffsqULi33OxGbYsF9sbYeQ+oiIh5curXz3zq9Dh7GYXlXVmNR7ex/y9FyBUe3mtmHQoFWkEs16eq588uR/KHfsOH7atJOkPjr6GSaOjvZBec4cTzs7NyaYzZs7kdG+f38FU5mUFLZhgz0K9vbDZs++yNR7eW27fn0TCu3ajUAwGhoWpH779l7EdA8evNrVdT2pTE2NXb3aDAU1NRNM3L79GFIfG+uLICMjH9naDkU9c9b7+fOTqM/LS3NxWY6VIvJdXJx35cq6e/d2sdhvgO23YMFtMnFc3CtMHB5+F+VvvjnQrdsMJshduwbGxQWg8McfmYzC5uSk/PSTAQomJl2WLn3CTPzkyeGzZxeg0LatC4KhGUNLQUDTTxZH1EjhqxI1BnFxGaYMT0EMFAYzt18oKysmTqo2uLsOjYiLM41IMPVwQ8QQwY8ICYkw9RynU8GqHSyauJ7KdsRJO2icux38jsQTwR5yBSNUuUYiWC7XGpXgU8dCS0oKYNCYZmpsBGGQXkIk3DYfBpC44NrAt8SxVm+Hnn9vQQjuT/V1ipqurh1SJwwhM7PuTCWyPNiilJQII6NOmpptmHrojry8poGBIzwat04hh4KtwPhEXslUSkrKmpv3gC+TllYyNe3K1MMrGRt3QSejEWVlPaY+NTVaS8tKQUGrSoTQEXI+GkvJykpkHp2ip2cPu5STk2xm1o07LbWzc8Us0F8Li95cwcg7Oo768CEEi+C+CBExy8qqoH11dVPuRxyjQbSPnikqymMqoTgWFj3Dw+8gweR+X6KSkp6JiTP8F7JmdXUzpj4t7R3WkSgvdJCpRw1ZI0yfnh6HRZN6dHXbtgMzM+NNTZ3pazFaEEIXLlxwd3dfPPqPcX3m87bppftG3Ht1Yfv2NBkZ5QbM/vPPNuQRHTNnnmvXbiRvY6NQKHxh166BISE3n+4uEOcy140nKy+tzyLVESNGeHh40PSTQqG0KqioUSiUVoUgi9qnawuoqFEolPojyKL26WQZ99FuCoVCqRvBFTUNDXNSiIh4xN9IKBRKC0JwRc3Kqj8pREc/JdfBUygUymcRXFEzNXUm9wmVlhaHh9/jdzgUCqVlILiiJiwsamHRi5RDQm7yNxgKhdJSEFxRY7HvuRtACiEht5jKioryN2/u8ykiCoUi6Ai4qLlwHtfBvmUnJeUtCoGBV3/+2ebgwbH8Do1CoQgognvvJ1BVNVJTM01JiUT58eODsbEvIiIekK8yMxPp7XgUCqU6Au3UWFwZ6O3bWxlFY3EeL8OfgCgUimAj0E4tPz+TPM+Lw38egwNRs7EZzOI8VfHjx6hmD41C+YqQllbS1bXldxT1RUBFrbS0+MGD3devb8rLS69xgvfvPzm1U6dmpqaGy8kpNmN0FMpXREVF+du3wXv31vWcO4FCEEXN1/eUp+fK1NSYOqZ5/96fFMrLS9as2eri4t4soVEoXx15eblWVnL8juILELhjakVFuY8e7a9b0UB6+jskp80TEoVCaUEInKhJSMjOn3/L3n5Y3ZNVVFTQcwUUCqU6AidqLM4j4WfNOt+16/S6J6OiRqFQqiOIosbivCVk4sSDgwatJBff1ghzroBCoVAYBFTUCG5uG8eM2cm8n7EK1KlRKJTqCLSogV695k2bdrLG98gmJb0hL6ylUCgUBkEXNdChw9jvv78qKVn1pHJ5eWl8/Gu+hNTM5Ofn/fbbCgcHtcmTB9U2zaNHt9++DeOuOX36UF4ez55D1727KQLgVWs8pKyszM/vaUhIrbbd19d78uSB8+d/U6V/uPnrry1YwfovdNGiyatXz01KSvj8pJRmpwWIGovz/u1Fi+5xv02S8JVkoEVFhU+f3ktPT42ICL548UT1CdavXzhx4gDugT1woENYWGDdbyP+IjIy0hAAr1rjFRUVFQ8f3pw40eXlyye1TVNaWpKVlZmbm11aWlrbNA8e3MAK1n+5aC03N6e8vK5XI1P4RcsQNWBg0H7JEm8VFQPuyq/hXAGGIhTt3buoOXOWq6lpenj8Xc+xVNtksDZ1DG8WRykwzeeiquv6ctIC16vUPz/LZ6NicdaoSmBCQkLt2jnVPVd9OHPmQVBQRo1fVXBo/CIozYYg3lFQGxoa5kuXPt25cwB5yTGL49Ra/Q1SGOxPntyVlJTq3r1/YWGBj8/D4GB/W9v25NuSkuLs7CySZmZmpqemJktISGIyKAiSsri4WF1dA1lZ9gOEi4uLcnKyc3KyUJ+e/nHIkDHi4hIKCkqiov9uA8hz4UGio9/AlJmaWmpoaMvJKQgL/7vnI41kZaVfu3Zu9OipUlLS8vKKzLwFBfnS0jKYJjIyNCXlg5GRmb6+sbS0LBaKr86ePTx48CgFBWUVlX8dN3QKS/z4MQlWq7i4eMCAYWgTs4iIiFQuLktEBDGKooXQ0Nd5eTlWVvaamjroEEyAb+/evQrlyc7OxBIRLWZvQCenpX1Ej2F9WRzx/fgxWVxcXEpKJj8/Fzkm+tPIyFxeXkFMrIZju6TnMQ2+5V41Cr9oSaIGFBW1lyx5vGfP0LdvvfFvQkKQhUVXfgfVtGBQnT59yNa2g5NTL0lJ6cuXT1+9epYRteDgV3v3bn782AvlrVtX3bx5sX17Z4zz6OgIDM5x43pPnbpg7tyfMOQuXfrn5Mn9aA1yACn5889NenpGq1Ztw/RkrGJgHzmy6/LlUyUlJVBSiBRkdP78NVA3IjHg0qVT584defs2HJ5p795fBw0auW7dTkgJvsKMR4/uHjJkNHJkb++7UFsowsSJc0aNmnL8+F8PH95CEr1jxzpI0uHDV9TVtVgcd/bmTdC+fb/dvXsNaigqKnbgwLZOnbqPH/8dVhD/Pnv2YOvWlYqKytAUX9/HKSlJaATNrl69fdKkOZgAa7Rz53qs3V9//Xblypm5c1e4uY1rQCcvXjwFWk/MGhTZxcXewsIa63LrlueHD/Fo39jY/PvvV/TsOZCIaZUfaNmy6S9fPnVxGf7770cb9itTeEgLEzUW+4EBigsWeB04MDow8EpJSWFRUR6/I2pCoD6HDu2Ac/nmm1n4V0lJpU0bm/DwQFgDDHXU6OsbTZgwEy4GujZ06Bg3t/EwFBiQmzYtgajNnr2sQ4euyNHw7YoVs0xM2qxe/buZmRUE686dK3//vfuPP35et26XpaUtHNCff268cOE4RAFSlZWVERj48ty5o9u3r920aa+qqgaJZ8OGRSNGTBo5cnJWVubx43sfPLh55szh6dMXkm/Dwl6npCS6uLgvX745IeH97duXIGewljY2jrNnL4Uc/PPPwcBAX6jYmjU7MH1i4vuFCyfBZk6cOBsqpqysdu/eNYgvjNvy5b9aWtqRZhF8YmLcsGHjYdCgp1eunEYY3br1w4rgb2zs24sXT/Tr59qnzxAsqGH9jKVD1Lhr0Cz2Db17D9bTM8SeA84UPwQi7NixG/dk799Hr137w+vXvq6uYzdu3NuwpVN4S8sTNSAmJjl79sXjx2c8fXqkoCCH3+E0IRA1OBQ1NQ1y5Aj5EezDrl0b4UogBKhRUVGHfXj06DZGfufOPfBhsV/EZb9nz2YMvzFjpsrIsM8aQ7MgAYsXrx8wYDhpGfXPnz+COEJZIGrwRM+e3YcuTJu20NCQfR4Q2oQk9MWLx/ApTDwQ0GXLNrM4aa+Ojv7s2aMePLjBiBro33/Y4sUbSBaG3Bb6JSsrB0UzNrZAjaNjF1fXTvHx70gLxAfBDE6btoDM3ratPcT6xIl9WC4jampqmuvX/9m1a1/yL+I5c+Z/0N8lSza1beuwcuVWuNd27TpDVnjY88idV6zYCtuIcr9+acjBoWvoK+5poqLCjx79E+o/dOhYeF7Gz1L4S4sUNRb7tSwikycflpNT9/M7xe9YmhCkQvhAa5APosBi3xsrmZub/eTJXXf3iTIysvVsZ/jwb5Akws4g40tP/0i0jPtg2Zs3weHhQWPGTCOKRpg3byXqlZRUmRqiaCz2fkUcw77KUqSkpJHSMseVoHqysvLImpkWYBWxUBhJFud4GZJHTIAkl6waQVlZVUxMDMEwJ1uRIGtr6zETmJhYIPGs54o3GCgpUTQWxyDj35SUD9znfxMS3iE1Rv9gBX/8cQN+l6YOiV94ep7EXz+/c46Oo/gdS71oqaJGcHf/9e3b1vz2PGSIFRUVMTGRW7b8RGrIwXgkaG/fhtnZdahnO8hAMXFAwIvgYH/MGB8fm5b20d//GZJZZhrYQPg+7rl0dAzwqX+0Wlp6BgYmVSphGCEK1SeGCY2OfgNdZlaNkJOTlZOTjSDruKxMEIDPJQWocys+PZqfn7du3XwUDh0ap65uqqfnwO+IPk/LFjUW5xAbv0NoQpASQo9gZ6BBTCUyx/fvo/38ntZf1ODL9u79NTo6Ii4uRlVVQ1xcQlVVHb6JexqIGiobEy3yTfisL5oFngvLDQ39z0XUUEak21paugi4MfE0Nc7OfeCg8UNcv+4xevS3zeAfmx/sQeG4sVstLy87der7pUtrvR5QcGjxotaKefHiMcQL2dns2cu566Oiwo8c2eXtfQdpaXVnVCO//77m0qVTGHhjxkzV0NDh5EoVhw/vjIgIYaZ59y4qIeE/x4xSU5MRAOybrq4hL1aoBiCCK1duCwx8WaVeV9cACxVkUbO0tJs79ydk3HPnjvnzz43Ikc3N2/I7qCZh6dLNs2ePZLE3vKfPnv3t5DSZ3xF9Bipqgsu2bauEhYUXL97AXMBBgJCFhwc9fnz71Sufeoqah8ffcnIKCxasJddSgNevfUNCAsTEPpkLmCxYQvi4vLwccm4B3LrleePG+QkTZnIf0uIVIiKinTv3jI2NfPMmiJzfICDrvH37UmFhftMpKU+wtLQ1MjJHz4wdO33//q1nzx7+6affWuW5gh49BjDlCxeWOzgMl5SU52M8n6XF3FHwtQHf5O/vY2pqWUXRWOwznmqOjk7l5eWvXj3nvrknJeVDfv6/F7g8fXovIiKUua+goqKCOY+ZnJx46tRBOD5mYhsbR3x8fb2fPLkHXUMNGvf0PJmQ8E5HxwACxPMVhFv8/vsViH/fvq2JiXGkEoqGNPnkyf1RUW/q2U5s7FtkRnCUdU8G1/n8+cM7d65U+Xz2NobPMnHinLZtHS5fPo3WGtmUICMmxj4Tkp2ddPnyWn7H8hmoUxNQIDoYq05Ovap/JS4uYWxsoa2t//z5Iz+/p337DlVT01RUVD5z5jAy1kWL1sNEwMHdvXt1w4ZFXbr0XrToZ3i03bs3LV/+Hbm6DSO5oCCvQ4euUBMIHGosLKynTp2PhHTHjnUwHVhEYuL7vLxczIisivs8aR1kZaWnpqZUqYQsQky5r1klZwBgatq1c4INPHPmf0uXTiN3JqSlpcTFxfbr5zpgwGcefcwAj1lcXHTz5kUIupvbOLi/Gid7+zYca4f1qlLv5NRTVFTui05KJCUl5Ob+62eRQa9Y8duECf22bl1patqmypHKVkO/fj9ev76Rxb5Pdk/XrtO1tQU316aiJqBgzA8bNgFCU+O3GDkTJ85+/NiLyI2b23gkj2/esO8eIzWLF6/X1NTJysrIzc2GR/v22x/s7DpcuXIGX0Ff4P7s7TticEILyP0AqHR27qOlpefldSkmhv32aORWgweP6tq1L9EjV9ex3DaQxVETd/eJ5PoMYGhoNnDgCO7rPCC7/fu7YQLuu4vQDuM9paVl5sxZDmm7d+8aqbG0tBs//rsOHbqRhFdDQ7t378FQDXKnF7PuaMTauh15gChW88cfN0ZGhkKwhIVryP6g+L16Dax+AQqBzIIMizlFW2W9CPgXlTDOZIKePV0QEuIn3zo4dF62bHNg4Mv09FSTeh0PaHkMGrTi+fPjaWnvyspKTp+et2iR4F51IHThwgV3d/fFo/8Y16fm8dNglu4bce/Vhe3b02RklHnbMje7d/f//vtZre9tUjBQyBy1tHRrmwASA82Sk5MnAz47O5PcAYrklPgRJFwlJex7yEkjkDbyqBzIJblHsqioEINQRkaWuX+Tux2gqqrO6FH1eMg9ksgiyRlPcu8n4mHcEAwaJBWNc/sjtIMlcosUaYeUxcTEEBtzzRdz7yemZ+5RxYJQyd0I/oV1YtarSkeR+1Xxt8ZuhCZCHBEn1pr73k9mvQhIybOzs7Au5NpAZM3YeSAA5iAaJsBSsPqMg2s1kLdJ7d9f4e9/fv/+kaRyxozT7duPaUBru3YNDAm5+XR3gbgYL6/sy8pL67NIdcSIER4eHtSpCShkgNUBbALjFADGG7c2sdiSpMH9L4ZuFYnEuK0umtXbqS0eUVEx7tmrxMPiuL/qd0p+th1uoIZVLp2rcUHQMuI3a2/kM/eZQ54YiawxHkgVt1pVv/KuygStknbtRlha9gsLY99o7OHxo63tUHHxhjw+oKmhJwooFEp9GTt2F3kMdUZG/LVrG/gdTs1QUaNQKPVFU7NN794/kPKdOztSUiL5G0+NUFGjUChfwJAhaxUVycHHotOnf+B3ODVARY1CoXwBEhKy7u6/kXJIyM2AAE/+xlMdKmoUCuXL6NRpgpnZp+fKnTu3SNBe6kZFjUKhfDFjx+4WFmZfO5GaGnPz5q/8Duc/UFGjUChfjK6ubY8es0j51q3f0tJi+RrOf2gN16n5+DyscrE7hULhFUVFNWeXrq4bXr48m5OTUlJScObMgjlzBOXgWosXNVvbYUFBd4KC4vgdCIXSaunR47vqldLSisOH/3Ls2HSUAwMvh4TcbNvWpdlDq4EWL2rdu8/Bh99RUChfI87O0x49OhAb+6KiouLMmflr1waLiPD/SZn0mBqFQmk448fvIQ8FSE6O8PL6nd/hsKGiRqFQGo6BQXtn56mkfP36puzsJP7Gw6KiRqFQGsnw4ZvJk3iKinKvXl3P73CoqFEolMYhI6Pi4vLplWBPnvwvNfUzTyFuaqioUSiUxtKr1/dKSuznNZWWFl++vIa/wVBRo1AojUVMTHLw4E9a9uLFqfj4QD4GQ0WNQqHwAGfnqRoa5iz2M5bLL11aycdIqKhRKBQeICws4ur66bGRQUHXoqL49tpjKtgqsGwAACAASURBVGoUCoU3tG8/Wl+/HYvzQoyLF3/iVxhU1CgUCs8YNuwXUoiMfBwcfIMvMVBRo1AoPKNt2wHm5j1I2dNzBV9ioKJGoVB4yfDhm8krWePiAnx9Tzd/AFTUKBQKLzE2drK1HUrKly+vKS8va+YAqKhRKBQeM2zYJnKXe0pKpLf3oWZeOhU1CoXCY7S1rTt2HE/K165taOaXGFBRo1AovMfVdT157XFmZsK9e7uac9FN/pDIkpICfJp6KRQKRaCQl9dwdp768OE+lG/e/NXJabKUlDyLc79BUy+6CUVNSIhtA5ct0226RVAoFMEnPz9jyRJN5l8hNk2YIzahqLl3/664tLCs2c99UCgUAeF9ckT8xygURIRF2pn3EBOVQNlS31GMk5k2EU0oap0s++HTdO1TKBQBJ7cgy3WlcXZeOsyNkZbV0rF/NsNC6YkCCoXSVMhKKUwZsIyUPR8fTGuWh31TUaNQKE3I2N4/KMtroFBcWnS6WU6DUlGjUChNiLiY5Jhe35Py+Yf7Coqa/L3jVNQoFErTMqrHHCkJGRSy8zMuPflfUy+uxb/M+Cvn0evLZeVlIsIiRlpWeuqmpDI9J+X1W/Yj+uSkFY21rIj5B2nZSdGJobkFWZrK+sbaVhJiUqT+fXJE9IdQFDCxPufhpaCopAATJ6W/R1lb1dBCz+FT49nJmDgnPxNlO1NnZTl1Uh+X8jbmQyiCERYW7mHnxkSYnZfuF/EQBQ1lPSuD9kz924QgzIKCjXFnVQUtpv5pyM2iYvaFjYjQQMOCVCJm3/B7KMhIymFN1RS1SX1GzkcsNCsvHTXG2m2lJWRJfUJqdFRiSFlZqaFmGyMtS1JZUlqMiRNSY1DGErFcUp+Vl4Y1zcxNRdnKsL2Gkh4TzPMwr/zCXBR62LsJV16FAK/hE3obBWV5dTsTZ8zuH/EI/+YVZpeXl6PPVRQ08YukZCRUb/DrRF5GeajTlLMP9qD8z90/Rvf6XriFXtJBaQZWHBpXWJwPhz932KYJfReRyrfxgUv2uaNgaeA4x22TU9sBpD409uXeSysj4wMHdZ6I6ZnBdj/g4h5P9vOXUTm58rBuVm7a6Xu7rvkcQ3l4txkrvzlA6t/EBaCRsHd+KO9ZcJs5wf048MpuzxXFJYWiImI+e4uZCGOT35BgXDqO3zjtJFN/+clhbN8o/D7Hk1sENx6bnpLJloPZbhumDVpFKhPTYkkjEKk5wzb1dnAn9VGJwXs8VwRF+/RuNwLBMyL4JOg61ggqM2PImplDfyaVBUW55x/tP/+IfTloT/th22ZfJPUxH8L+urTKP5ItTIjQpfL+HrDl1PdQfBSwRsIin8ZhatYHEgzWHT0AQST/qshrkgPh3W2HQtcuPj5YvcGvlgn9Fnk82ldeXpaYGnPXz6Nf+9FNtyyafrYGsN9TqnRMQFRUXF5aCQV4MRnOZdwEDHJigmojPTvl30ZExBQ4L3NEI7JSCkw9GpQUl0YBixAT+fdqI0U5NbL7xdhmKsvKS+HU6g4epg8eivkXK1K9HVFhUQUZFRbnAI2clCJTn1+YA02vo/G07GSmLCIiqiirym5EVIL0DwGZkRTH4mE10T5Tj8jrfsJESVkxLCTzL5qV5JhfNFhSVlLHjF8hOqrG2JGQ8nGvbU26LOrUWjZuztMwtCTEJO1NnJlKbRXD8X0Xwu+Y6djqq5sx9UgVsWHlFmbbGHWWqszUAFJL927fVVRU6KqZMJUY4V1thxSWFMhKyney+vd6QzTYv/1Y5IDqijpaKoZMPQKAoSsqKTTStGQqkY4hJXTvPhNla8OO3JHbmnQp5Nw/h+wY2ifG+qSPI3vMjogPQBrraN6TmRhKh109cmE9NVMT7bZMvYKsirP1IBtjpzb67bjFzlTHxs15Kto3qMymWRx1drYemJH7UUpcxrHyQYYAa9HXcRSyYxV5DSTgTH1+US4MRRZHlLnTJfQMWSMtZQNIKjJZ8i+aragoKywptMOqFeWLcy40ZY4JUCb2+/H+qwvYzEJjfeGL25l1b6IFCV24cMHd3X3x6D/G9ZnfRMugUCgUMO23rq85L2RBhr597mUetpyVl9ZnkeqIESM8PDxo+kmhUJqJif1/JAXvoGvvkt800VKoqFEolGaih50bOb1eXlF+wuv3JloKFTUKhdJMCAkJTei7kJSv+RxPz0mpe/qGQUWNQqE0H0OdpijJqaFQXFJ49v7uplhEk5/9DIx6Si53pFAoFNDLfviFx+zLHj0e/vXtwJ+Yi8B5RdOKWnZe+vRt3Zv/dTIUCkVgkRCXgpAVlRRk5qZefnJkVM85vG2/aUUtvygXimZs7OTsPLVJF0ShUFoEd+/uTEwMHtZ1uifnLVP/3N0xssds8p5QXtEcF9+qq5t27Tq9GRZEoVAEHH//8xC1cX3mX35yuLyiPC7l7YMAz14Ow3m4CHqigEKhNDd6aqbd7VxJmefP7aCiRqFQ+IB7t+9IwSf0dlZeGg9bpqJGoVD4QGer/uTajtKyEq+XZ3nYMhU1CoXCB4SFRfo6jiLlmy/+4WHL9CkdPCAl5e2OHX1q/EpWVtXUtKudnZuRUUcJrgdj1JPCwuzoaJ/S0mITky4ynAcBNYbYWN/bt7fGxDx3d/+1Q4dxpDIjI97b+2DPnnPluB5e1PyEhNy6dWvLR87r1KogJCSkpWVlbz+8W7cZPF9uaOjt48dnoDfQJzxvnFI3Lh3Hn3uwl8W5mjUp/b2msj5PmqWixgPKy0vT099LSsqbmXXT4np2DYiKevr48QEfn2MDBizr3n2mNNdjvOpDQMClM2d+6N37BxubwY2Ps7S0KDs7GaEWcp7mSjhxYmZk5MNOnSbyV9SKi/Ozsj4gtk6dJigoaHN/VVFRfu/erpiYF/Hxr8eN4/E16CUlBVhofv5nHvpGaQrsTJy1VQwT02LLK8pv+Z5iHlDaSKio8QwpKYV27UZ0/O9jTsvKSh8+/MvL6/erV3/W0bH5Um2CDOXnZ6IR3l7Iw01BQVYR+10YFU3U/pfStet0Y2Mn7pqKigpDw46HDo0NCroGs6ara8ev2Cg8p3+HsUdvsj0yMlBeiRo9psZLRETEREUluD8SEjJ9+y6ElpWUFPr6nk6ld4x9DhER8Sp9KCYmaWXVD9JWWJiDDJrfAVJ4ycBOE0jhbUJQdGIIT9qkTq3JERYWsbd3i4198eLFP05Ok1RVjZivbt/eeunSauY2MllZFVfXDeTIUXLym8uX1/j7n0f55s1fb936rW3bAW5uG/Q4L0BBU5gxnfNWFIK5efehQ382Ne1a/8D8/M6hkZQU9jP4165lZ80uLstcXdcLCQkjpNDQW9evb0LSh3oZGSVHx9G9en2vqdmGmf3cucXICqdOPSYsLIp2yOEwI6OOAweuaNvWJTr62ZUrayM4byThXq+GISYm1bfvomfP/ua+5S4xMeTy5dWvX19hajQ0zHv2nNuhwxgZzrO/Gbj7WVJSzs1tY8/ab81JTY3GqgUGXkU76A1VVWNSf/fuzkuXVmHnRP6tsZ3s7CQfn+OPHx8key9b2yH4ya5cWRcQcGnJkkfcDvTtW2+mf8TFpe3shvbvv+QrNKEm2tamOjZQNOy0YNbmDNvU+DapqDUH0AJ5ec2EhCCmBo5j9+7Buew3GAkNGbK2oqIsPPxeVNTTc+cWJSQEjh37p6ysqplZj/j4wKSkcGVlfaSfamomCpy3LmF8Pny4F2mpgUH7Nm16x8e/Dg+/++bNfYyQH398YML1XO+6wWaEjDgnJxlNGRp2iIsL4MwrhMH/++89o6KeiIvL2NgMUlc3Q2xIov39PTDw+vVbXDl7eXl56bVrG7EW+Ojrt0tOjoCW7d495Pvvr+7b546vTUy6YPTm5KRAoIWFhZ2dpzWsA5GG37mznVuqEN7x498lJYVBKaysBqSlxaIT8O+pU3OVlHTsKt/kgn3J/v0jMzLiST+jHewhMI2398FVq15VXxDE6Pz5Za9fX9LSsurRYzZRtHfv/P76a3hmJruRwYNX47dAh2C9zp9fEhf3auLEg2RerKaX1+/4KCsbODlNLisrQUgHDoxBPToKvc0sZc+eoUFB17HzwM+HnkdrL16cgoxC90eM2NqwLmq5uHQcv/viTyjc9D1FRa3FAF2Ql2cfho+Le21k1ElSUh76VVJSBNlauNALTgdfDRy48tWrC//73wTs1TFNp07fwAWIioofPz6jY8fxwyp/bHg3iEtBQdbSpd7ce/5582QwYiMjH9df1Nq3H43Pb791hUB8++3f6pVvMwgLu4saCOicOZcMOC+1g+o9frzf03MVHKK2dlsYMaYRaC4MC8a/tDT7FQFr11rCY0LXLC37LVjAfo9cXl763r1ukIAnTw43TNSgCJBsFuc0qIgIu6/gCmESsehu3WZOmPAXmYw4rNevLyPNh1gTPcJk0FYLi17z598i/Qy/uWKFYVZWEvxUFfOYlvYO1g+/AhQN+xWmJ2NinhcX58MFz5t3Q4Lz/spBg1YFBl7Zt28ElIizXuxbm0NDvYiiQT27dJmCmuDgG56eK/P+e2Up+vbNmwdYkUWL7pFFDBrEPjRx4sR3/v4X9PUdO3QY24BearkM6DBur+fK8oryxNSYwKintiZdGtkgPabWrMCFFXDeP+TDefXcwIE/YZySr6BfZmbdkL7V3QKsRGlpMdRB+b/nv9EUvACGX+ODvHZtg4SE7OzZngaVr+mEYHXtOmPw4FVZWR9SUiK5J9bRsbaw6EkUDRgbdxYVlYB8zJt3jdTIyChPnnyk/kuHfBQW5nB/IKYwSvA1ioo6RBYzMuKCg29C+pHXMzNCxfAt4mFqYIfhXkVExGbNukAUjcW5yObbb4/n52e8+O+1URzphP96AkUbOfJ36CDzla/vKdiufv1+FKt815SwsIiZWXfunQqkPCDgooKC9oABS4miAWvrgVCoKqeVvby2I4edP/82I5po1tFxFGQUUXHb+a8ELRUDm8qe5MkFa03r1PIKs1mcTbBJl9ISWbnSjyljOJVx3qhWVlaKRDWD8xLc2ujf/8f+lQ96R57ImbECM0ILYGSMK1/Q22DQJlwVRArqUFLy7/v0xMWlVFRgcD4gx0TAjEbY2w/XqHzbJoDRgN3AaG/w6do//uhXpQZNwR9B0aZM+SSO5uY9d+789G46SDk6AX/gyIqL89AVzIzv3/ujW2DNxLhefAeNs7Lq7+a2AQ0ylXDNPj4nrl79Gd+6uq5vW/mmVMKSJY+ZMqfPizmzFGprWzEX1qEeOxtFRW11rtd3AQeH4UFB17Ir39SHybDjQQfq6ztwdy9yc01NCyJqaAd7uC/qtJYOMlDyQpY7fud+HLMT+4zGtNa0orb9LPv1um/ePHz37qUB19u5v1rExaUZa8axJNkYk0hFo6OfYWRCTTAOlT73Qm8MiaKiPAyquLgAzIKxAUuCAk8u+4iIeMDijNhLl1ZX+QrpHot9gOkl7E+bNr1JpYaGefWrguGhhBr6Cm45OTUoC3cNeszFZXmVQ/LoN6w4+iEzMx7rjswxLS0WegHZ1dW1JdOU1fLyTUh2//5LuGtgnIl3Ro4pI6NUUVFeJX7iH1GPRWBx0CZkkeh2+cqXk8LAIiG1s3OrImr4l7t/MHtpaREKV66sq7KIzMxE0g5E0IGnT60QfPq1H/372QWlZSXpOSk+YV5duI5vNIAmFLX07GTfN/c4xQru/edXCIYfGWDt2o3AzpzFPtKUdvfuzlu3foMScXyEkJSUAsaMpKRc3U1B0SCCDx7sDQ+/izYxu6ioJFrA7IUcX9xIIK8s9oH54ufPT5aWFlb5FnIgJaXIbXx4DtJek88dVUEnIA1/8eLUixcnoQUiIqJiYlJIe7E/QB8yk8XHv+Z2Q3UA44kOhF2KjvaBZVNRMVJRMWC+zctLf/BgD34sLJf5sbBVS0rKV2lHVlZFSUm3jgVhp1XKeXMzgq+xe/ER57wr+qtCUVa1o2Xfp8E3WJwMVHBF7d6rC+QkOjY47LqbbkGCT3DwzcTEEIw6YtOwrz5xYlZg4GU5OXVkUugcfNWt2wwMHk/PldhR19FUTMyLc+cWIwc0N+9uatoNA0Bfvx1auHlzM3b+jQ+VjCike7NmnccIrD6Bnp79Z0WnqUHSh06AqdTWtoY5UlbWR8JrYOAYGHj10qWVzGQQoBrdK4QvPz8TfpDZhSgr6w0evAaShP4PD78DH6qgoEVyQGjQmTM/IKeGgzMz62Fi4gQF7NFjdlFRLiZ+WXknNn5Z/IjkmCP3hS/Y8XBfhoIsnoQ0e/aFd+/+PQTBoKZmXCX5/UpABkpEzSfkViObakJRu+vvQQrkioSmW5CAg806MTE4KyvJ0LCDrKwqi3MAG4YIY2Pq1OMYJ0znYOvPz8+ou7WHD/ciAezVa96gQSuY3IeHmHPeiy4sLAKtrCJeBQVZGRnxGPk8X+gXAUlKTmbnaG3bukyYsI/bUmFvwZ0TQPJgY2HWuC+nALm5aVevrlNRMezd+wdSA6W2tOwDo4e9xbVrGx4/PohmjYw6ox+g7FFRz/AbTZr0P0vLfszhHvxY3Kc18ctqaVnBNlYRtQ8fQjkX7nyC7MBQwMRVbpxAnB8/RktJVXV/XwmdLPuik/FLIQNNSI3Wqbw8sAE01dnPjJyP/pwLCwH3ZtcqIXdcq6oacixABvcHW3lk5OOkpHBknZ06fYNpWJxLB5CkWFr21dGxZhQNe/6EhNcJCUGqqkYiIp+OE8MsoGXIH74lNVJSSqiBlZCW/vdITXZ2UllZMcZSldFbLU5hBQVNzC4mJsFUwpKghnOsnT0vtAwjXFXVOCjoKpPPYr0wgH19Tx88OMbb+9NlWbA5mLHK8S+MWA0NM0nJ/9y6T/qHXGRXG6KiYtj5YbLPHowrLi7A+mJKmBqSy7M4CSl8LhEFzjEsdq/KyalpaFhkZMRlZiYweWhRUV5ycvibNw/evvVOT3+PvuX8dibkUGbHjuO7dPkWMhQSchPfYsUzMt6j09q06QOJZBStuDgfv9T7968QAzF0WDt4Z/QJXGROzseSkkJ0KTotLi4A5pdZLzSiq2uHf1+/vszswNDz2GHAzh84MObmza/0vnoVeU3mhvagaJ/GNNVUTu1+wMWy8k/7THKJVisGGyV2yNLSikh/ONd5/guG2du3j+EgHB1HWVsPJEdhNDTMsRHDrwUEXNbWbguBw/hBfnr//p8YBgUFmfiQ2SEZWVmJSFQxei0semLgSUhIYxGPHx/AINHVtcVIxuDx8TkeGHgFo/flyzMuLstrj7MchhGhlpQUMZVQruTkN6Ght5GRQVYQzIgRW0+fnvf339NcXX8mbgJD9M2be97e/8P+SV/fsXLGHDRV5WA81hQ2ivuGee7+qaMPS0tL0AlQf+6DYjWC1BidhqXHxb0OC/OC4UJXpKXFQmWCg6/FxwdKSMgRCXNwcI+KeoofBeYLOR2UGo1/+BD29OkRxGljM1hd3QyB4WNq+unqCmhThw5jk5LCnjw5IiEh6+w8TU3NFDoYE/McPQy5Rxeh/xHnnTvb0fmQP6JN6BlHx9Gwdc+fn4SGGhi0x2+NuZAjQ/s4Z4Q+rdfQoWvPnFlw9OjkYcN+IReOQJGxMdy5swOz1P8yw9aHjbHTh7R3KARGP3P57z3UX0RTidpdPw+u/1p57gnpIW40NvYFPtxfiYlJ6ejYtG8/BpkLM6qRh3buPDEg4NL580swJJycJsM4yMmpI5+SllZ6/vxEVtYHMiXGBuZ9+fLsyZOz8O2wYZt69pyLgRQZ+QimycpqAEYRfBCWPmTI2mvX1tf94i4xMUmYDkzM7aQwtmF8zp9fCnmCIGIRsJCTJx/x8PjRy2s75BXygbVQUtKBlDg7T7W2HkRmRKhoilyMygCjpKysV+VhJCIiopiy7mQZdkZRUQdiRLKzukGXQnBv3952+PAkrJGUlCL8kaFhe1vbodCFhIRAJJhkypEjt8E9QY+IM0JfycioQMu6d5/ZjfPkVawaZy2gg4XkBAgyxC5dpmIHExJyy9S0G+dC6AmvXl28fHkNdjmdO0+KiHiIHNzKqj8U0Nv7EDlrCZCtu7v/5uW1DTLq53eOrBQyXGguuXi4cjLnKVOOnDkz/9GjffBl2L1h+8HuCuoMPe3YiMHc0rEx6nzb9zQKwQLo1LLy0vw4VwZ8JcjKqrq6bqjxK2z32L2TQ2ncDBy4wt5++PPnx9+988OogJTo6TloaVli4GFsM1kVhl+fPgukpBQgXvr6DhifcAqDB6+Ji3uFYZOTk2JvPwz1SGwxMDi309d1fZOysgGsh43NEO7LazDq1NRMnjw5DDfBXI5gbNx54UKvFy/+gcuAj1NQ0G7XbgQWxH25iY3NIGTKOjq23IuABAwatIpzUOnfPRl0BP1T96ONtLWtEAlGuHI9HqoFD4V4EHZY2J3o6Gfy8hoODsOhzlguIoc7Vlc3ZSaG3LdrN9LH5xj6EPmjoWFHiBRzbR36HLFBpNDzTILcvv1oiDjaYXG8Z//+S+zsXGHBsMeCCyN34BK3KCurRtYLuwQYOj09uwkT9iHlJLsl6Luurn1ItSPfSEIXLrwLf43fEQYTQtyx4zi0iTX67Lq3Ymwqr7KMTAgsLikUb+hJdqELFy64u7svHv3HuD7zeRXcpSf/23CM/fooBRmVLPbObeK33x7jVeMUigACFUMuDN+HjJJ7H5adnXz48ETkodhJQE/5GKGAsGvXwJCQm093F1TXrNKyku7z5Ys5jww4tOSx/Zc8nQE602eR6ogRIzw8PJrkRMEdjvdmcR5D3hTtUyiCBuew4/2LF3+CoWNOd0LRYIGTksLMzbtXd+uUKoiKiLXhPISG1bhzBbxPP7PzM3zDyTW3rK42g2/5nuL5IigUQUNOTo3cIsZ5gEo6EkwW5/EeL1+eFhIS7tTpm7pP/lIINsZOgZzLv4M4fxsG70XNO+haKeeMGHJPO35fpUmhNA8SErJt2vR2dBwVGfnwzp0dhYU5LPZVL/KamhYdOoxDTorMlN8xtgCYw2pBMYLk1EJiPp3+c2o7oJE3plIoLQgtLashQ9YgCf3wISw39yOLc5rIwqK3kVGnKueIKbXBiNrHzMTkjDiNz90HXSO8F7Wwdy9JwcqwA88bp1AEGWVlfSenyfyOogUDFVNX1EnJZD+oJjDqWb/2DRE1Hp8oKK8oj4h/TcqWlVdpUigUSj2xbnQGymNRi/kQWlicz25XSNhC34G3jVMolFaPdeXDL6ISghvWAo/Tz7DKBw/oa5hLS8hm57Ffp5iQEHzjxi+8XRCFQmmJpKZG1z2BirwGKeRU3iz4pfBY1EKZA2qca9ZlpRTERMXj4l7hw9sFUSiUFgpkoY5bX2Qqn1KXV9DA5wPyWNTCK51aGwP2ATVEf3pNILlJlUKhUIC+uplw7c9i+VfUGvrQU16KWo1nCQw0LAy4nmFPoVAodSAj1VhR4+WJAnqWgEKhNBLZSqcGMSn/3HOoaoSXohbLeTEH0FU3lZaQrXtiCoVCqY505TPWKyoq8jk3ZnwpvBQ1YtOA/H8fp0WhUCj1RIbrdTYNy0B5KWrFlc9TFa/Hc/4oFAqlOlISMsztlQ07AcpTUat85ZcYFTUKhdJQZCoz0FzBcWoSTfleSAqF0rphMlD+H1OjTo1CoTQe5qG4BUV5DZidOjUKhSJAlJWXfkiLJWUNZX4/pYM6NQqF0kjeJb0pKS1mcd6obaLdtgEt8FLUSCicaJrqHckUCqV1E5kQSAq6aiYSDXpcMC/VR1vFkBTC3/vzsFkKhfL18DYhiBRMdWwa1gIvRc3erBspRMS9bthpCwqF8pUTGf/JqQmEqLXRb0ducSgrLw2IesLDlikUylcC49TM/vue7PrDy6d0CAsJ2xo7+YTeRjkg8nGXti48bJyHRMQF/HJ6WnlFKb8DoVC+DHvj7otG/snvKJqQ3IKs5Iw4Um6wU+Px89TamXUnouYf+Yi3LfOQ+I9REnLF2//4gd+BUChfQEBAxIFdXvyOommBTauoqGBxbpbSVTNpWCM8FjUHs+6kEBrrW1xaJLA3gSoqKnTv3o7fUVAoXwBnsLdyUWMenW2s1VZISKhhjfD42gtro07kamAo2s3nJ3nbOIVCacWUlpWcvruTlK0M2ze4HR6LmpioeDebIaS8++JPOfkNfHUChUL52jj/aF8i514CEWHRcX0WNLgd3l8lO3/Eb+SSufSclL8ur+Z5+xQKpfVRWJx/+Pqnd84NcZqsr27W4KZ4L2raqkaTBywl5fMP9zFXnVAoFEptnLq7My07icW5m/27oWsb01ST3M80xWU5pI3FuWBty6m5TbEICoXSasgtyDp+eyspj+g+U0OpIfexMzSJqEFrF4/eQcoBb70PXdvQFEuhMERGvj937s6JE9dTU2s4iFlUVPzmzbvQ0H9fIpudnRcR8b7GiRvG8+fBWHpcXDKvGuQhUVHxMTGJpaVl/A6EUivHbv2WnZ+BgrSE7NSBKxvZWlPded7Dzo25+Hbf5TWbTnxXXk63qqZi716P5cv/nDJl3enTt8vLq76AJzExdcOGQ0ePXmVqnj0LPHTIE6OdVwEcPnx54sQ1/v7hvGqQV2RkZP/1l8eFC/fy8wv5HQulZpIz4k7d+3TSc2yf+Upyao1ssAkfp/HThH1aKgakfPHxwXm7Bjb4RX6UOggPj71+3dva2qRTJ+vdu8+UlVUVtaSk1JMnb8DNMTVQHwEUoKagoKDowQO/t2/jqFMTTGKTwqdv7UYeBikvozyp/5LGt8nji2+5gaIdXe6zcPdQckHd8zCvqVucd867pqms33QL/Qq5dOlhWlrW8OG9hIWFZ8/e7OMT1K3bp5euYiQjJQwOjkI5PT07MDBSWVkhNzf//fskfODXFBXl9PU1paTY10h//JiBSkyPv+3atTE01NbVVedeUHFxCb5FW2TqLgAAD99JREFUJou/mMvS0hDTVAkGKS1m9/UNNTfXNzbWwWTkEkpIrZ9fmIGBlpycNL5NSUnHQtu0MTQ11UM8aDAo6K2YmKiVlTETDwP0F/kjmnVyssG32tpq3PFgdj09zdLS0tevIzMzcxQUZG1tzTQ1VTABuiUkJDovryAlJcPXNwSL09PToM/FEhyCY57P/3NwVl4a+Xfm0HWyUgqNb7YJRQ2oyGseXPJo5aHxDwI88W9UYvDkzZ3mj9zav/0YURGxxrR85MZmIy1LW2MnZXkNHgXbIoESQZvk5GR69HCEKIiKiqxbd+Du3b/It/ApV648On78OsphYTFbtvzdsWPb5OT0O3dewLwgL4PSffutq5GR9r17vtevP8E0mAXyAe0wMdHt3bvDuHEDSFPI45DbPn0aiBmTk9OgHfb2FlOmDO3R498bMx4+9Hv69DV05NEjfxsbUwsLw59+mmJmxt6HFRYW/fzzge7d20lLS54965WY+FFGRsrJyXbMmH6IATUvX4YifgeHNpMmDe7Vqz3RtaSkNA+PuzduPImMjCspKYUhhQgOGOA0bFhPfJuVlXv+/D1IHpb14UPqixfBUDGodv/+nb/9diimhJpv3XosNjYRwpeWljlunMuUKUMkJMSb9yei1MyT4OvLD4wmHk1YSPh791/H9JrHk5abVtRY7Ed7S22ddWGHx+JTd/+oqKhIy05ac3jiTo8lI3rMGtl9VoMlycvvbERcAIvzJDlbky52Jl1sjbuY6Fijd3gavqATEBARGhpjZ2cGsdDQUO7Z0/HqVe937z7AE+FbyAQ0BbYLkqGqqti+vRXq1dWV8W96epajoyWSVhkZSQz+HTv+CQmJglhAICCNT54EHDrkicTN2dkOAgelQ7MQCB0d9VGj+kKPMAHkEr5MSUkOzogEc/LkTUzv4GDRubPN+fN3jx+/hpA2bpwjIiIMz3j7tg+0CXYJqgSNe/Ei5J9/bsKgoQaLQCPPnwdDv9AgYoClYrGPFZ7bufPU4MFdv/lmoJGRDuTpyJHLcGQwa1DnoqISxIww8BcK6+raAzJ3587zffs8tLRUv/1WVU1NEZHAn2J6Z2d7yDS1aQLC1Wd/bzw+o7SsBGX4mzWT/jeo80ReNd7kogaQgCwatV1PzXTbmfll5exnY0DaDlxZd/TG5r7tR4/rPd/SwPFL21RV0CKiFv8xCp/rPsdZnJfQ2Bh3JhpnbdSJ+62orRWoAHzTqlXTYJ3w78qV027ceHr48OWff56JfyUlxQcO7KKoKHvgwAULC4OFC8eTuaAOGRk5U6e69e3bEf/ev/8SHg2264cfxiIhRU3v3u3h17y8nnt7B4wf7wIHtH37CUjkhg2zoZuYoF+/TvhZkfk+evSKETWo54IF46Aj4uJiKE+cuPrkyRvr18+CqLE4uTAc09y5oyBqRUXFt275wIjFxSUNH97zu+/cEf+rV2+WLNkJowf7CVGD8p46dQuKtnr1dAgfFoedIlR17dr9O3acPHXq04WaqIeirVv3HTQrJwepqMb27SeR6g4a5Ixkdt68MTdvPkUwixd/o6zc+reHGkF+l5ga+yH9HeSju+1QfofD+vvWlt0Xf2JuXN8y04O3T/RpDlEjjOo5B4pzwuv3u/4e5MHfxaVFEKMbz09YGrR3MO3WRr+dhb6DoWab+rgtiFr1yrzCbJ/Q2+QxIWgExg32DQJnZ+qso2rM8zXiOxCFly/D2rY16drVHvqFGvgXc3N9WCQianUAEZGTkyZljPm1a7+DwBFFA9AODQ0VbHbkKg0Yq7CwWPg4omjA2Fhn0aIJsH6dO1szbcLEdepkDUVDGZoiJSVZ5SIPWVlpKBoKyAEhsggV2tqnT0eiyLB4ECakt8RPHTzoiaRyzpxRmJIcmMNfpKvQcR+f4Pj4FNKmmpoSosKMKGON4PJg06DCeXkF5FsSz9cAvMKHtHeJabFJnL8oQ8hQzi/KJROM77OAj6KGzenh60tQtKBoH1KjKKu6c961toYdebug5hM1FucpkhunnVwwcpvHw78uPD6Qns3e4rGqobG++JBpJMWlTXVsLPQcIHCYXlfVWFJCpvrTPmoUNW7KK8oj4wPxOf9oH/5FnktSVPwlprcVgNwNWWRZWfm6dfuhIKQSKRjE7tatZ0Q+6gNSVHyePg2EwYFry81lywHyOPIt2o+N/QC9cHRswz2XnZ05Ptw1KioKdRyxguzCAFaphACZmv7nSkukn+SAGpJKCNPu3WfJMcHKYMqggwUFhS9eBHfsaE2axSz1XNNWADbsj5kJbMFif9j+i7iwpPT3xSWfuWylzZenRDwBIw725djtrbFJ/55z11Yx3D3/lr6GeR0zNoxmFTUC9GiW6/ppg1bd8j115v6fYe/8uL8tLM4PjnmOD3clbDNsqpS4jJSELArSErKZealftFAI6P1XF/FRV9LtZNm3QryCB2vCb65ff4IkETlXeHgsdz0czcaN/6u/qCUmfjx48OLt2z55eYVoCtIjKSkhLy8Lo8Ti6EhKSrqoqIiKimJjokX2am1tWqVSWlpSXl6mjrmg2sXF/9kJwUXq6KjJydU1V2ulsLjwm02O5MBLA7DUb25Ryy/MOf9o/6m7f6RkJnDXO5r33DT9n89ak4bBB1EjiImKD3GajA+8qF/Egzdxr968fxX/MQo7ouoTQ+lz8jMb+cwPK8MOE/ou7Os46mHApVsROxrTlCDw4kXI06evHRzajBs3ABaJ+6uzZ72gUMjjqpig2ti37/yePWeHD++FPI4khpCw/fsvvHkTi29RRjtFRSWxsYncc2VkZAcHRyG/a9PGkGdrVY2FCycYGGhy10CyRURE1NQUIcFNt1zBRFJc8sgSvwuP9u+/sjYj5+MXzQs3YKjZ5vPT8QKMYpiyG89PICfjHrbCQsJdbQZPdllmZ+LcdEvnm6gx2Bh3xoeUoesR8a+JwIW/949JCmNeu9dg0I897YeN77vQ3rRro4MVIHx8ghISPk6b5jZ6dL8qh8ChNTBx3t4B9RQ1pLEKCrITJw7u2tWeHNRncS4WIQVhYWG0n5OTh+SUe664uOQjR64YGWnPnTuaFytUFRMTXX//8IqKCnNztsiSyvLy8qCgqISERHNz/a9Q1Fic7Xlkj9kuHccfurbh7P3dxaVF9ZxRTkoJiZGaojb8kZqCtqqiNg+f4ZpflBvJHrkBEZxPVGJIUUkB9wQwMQM6jJs0YKmxlhWvFlob/Bc1bqQl5SA9jPqUlZdC5tFfBexPHnchKf394eubPtuam/PUsb1/aJVnCUJD2WcJ7ezMyFF2bsaPd9m06X+HDnlOmVLrUeGkpFTuez/T0rKkpCQYRUPj9+75Mt+Ki4uRQ/io7N27A4tj065d8758+eHs2SNlZCR5uWKVQKwfPPD7+++rXbrYMmcwXr4MW736L0jboEH12tXDXbbKG6RkpRQWjNwGddt5fsmDAE9yJrFuUjLjt52Zz/wLwysnrUQEDkrH/iiw9Q5ipyirWlGBPi7H37LyMnaZfPBfxb+VeQXZkQmBRMgSU2NqzLFYnNs5h3Wb8U3fRepKujxb/zoRLFGrgoiwKPoXn+pfFZcU1iFqWioG0LJhXae31qs6nj0LDAx8262bg4WFIaNEDDBoY8cOgFm7ePE+kkpSCTu2fv3Bfv06OTmxX9ITHZ2wa9dpDHjUGBvrQK22bz+J9BPSxlG0l9raaozqaWqqrF8/a/Lktb/8coSc0IQZPHXqlqOjpZtbjya6nBXBdOpkff/+y2XL/kQBq4lRtWPHP5mZuRs3zq5nI+rqygjv8uVHZmb63bs72NtbMKavFaCrZrJ11gX/iIe/n12I/OaL5oUOZuel4xOdGNIUscFR6qqbDu48cVTPufLSSk2xiNoQaFGrA3ExSTlpxepH2WyNnZBp9nZwFxZuPdtudS5devj6dcSiRRM0NJSrfyssLDR0aLfTp29BAiBqxsa68+eP27v3HFQsL68Aoubi0uXx41fQizdv3u3Zs2zhwgnp6dk3bjxBJeY1MtKZNGlwnz4dbGzGBgZGsjhObciQbufObUG+uWrVXhbnAH/fvh2nTx/GXKT2WUpKSkNCoqpUwiEmJKTo6Px7P1Zs7IfMTPZLY2VkpLZs+WHfPo9jx65dv+7N4pgLPT2NpUsnMUr9WRBn27bGWIutW49h3a2tTVuTqBHamfc4sdLvyrOjez1XpmZ9qG2ybrZDCovzP2Ym4pNflFMfc/dFSIhJmehYW+jZm+vam+vZmenawaPxdhH1ROjChQvu7u6LR/8xrs/8z08uSIxaZxXz4dNRHkhY33YjIWfWRp0+O+M9//O3InbcqXwwQEskPj4lPT1LS0tVWVmhulMDOTn5MTEJ5Kg/DA40KzGRfVxZRUUBCgJ9SUpKQwqJGn19TSR3Hz6kYpqyMvZd3xACWDNZWWmYOzk5aeYGT+65xMRElZTk0RoK+BfCBHnClNynMsPCYjCLjY0pxAgxhIbGIFMmtwqwOA9EQmsYWrCEzKVkaCcvr1BXVx0xkBo0i8lIYGgHUUHHybcknoKCIkTLLBfKhUr0iaamKrl2DyuekZGDFtTUlDBvy72p4OFD/7nT9vy9tNZTnwVFeUdubj7ptb3K8SwW50qpR7tymCtAP6lbVmIq5y/KUMNPNVkfyJvIhdhgH8f5CIswf1EpIiyCv+JiEgYaFuZ69hAySFg9rzBtIrLy0vosUh0xYoSHh0dLdWoszqUhEDVZKYXh3WaM6TXvq7pPHsO+yt3mVYAYMR4KG6OqqiI+zLdQIogLoy8szvVi+FRpBHrE/W/1uRg4l1lUjcfS0ogpIwZr6/+88QyCS+7lqtJOlRroZpVzu1XiqVIJf0cuxGWAaDL3wLdupCRk5rhtHNF95q7zy26/PM3txcx17bgVBxqnp26KT43tlFeUC3E0rckjbhpasKjZGnfpYefm6jyVXy6XQhFANJT0Nk3/Z2zvH7afW8hcu/9Fl9229BuoW7CozXajD9SlUGrGxrjzkWXPbr74Z/fFn5LS37fR/4rectuCRY1CodSNS8fxvR3cj3ttszHqzO9Ymg8qahRKa0ZcTHLaoFX8jqJZadnJM4VCoVSBihqFQmlVUFGjUCitCipqFAqlVfE1niiQEJd6+PiFsmJffgdCoXwBpWWlpjo2/I6iBfA1ipqz9aDLG6PL6MuVKS0NBVkVfofQAvgaRQ0021NQKBRKM0OPqVEolFYFFTUKhdKqoKJGoVBaFVTUKBRKq4KKGoVCaVVQUaNQKK0KKmoUCqVVQUWNQqG0KqioUSiUVgUVNQqF0qqgokahUFoVVNQoFEqrgooahUJpVXx6SsfzMK+C4jz+hkKhUCgNo7A4nymLqqqy38vtHXQNH/6FRKFQKI2FqJlQRUWFr69vRkYGv+OhUCiUhiMiIuLk5CQtLf1/rIEOVlyQ5jkAAAAASUVORK5CYII=) + +The method of associating an entity and an Attachment is also demonstrated in the XML fragment below. + +``` + … … Bubba Ray Johnson http://www.xyz.org/LEXS/examples/mugshot1.jpg true Mug shot for Bubba Johnson http://www.xyz.org/LEXS/examples/mugshot1.jpg Mug shot for Bubba Johnson image/jpg MIME Mug Shot +``` + +An AttachmentLink can also be part of a DataItemPackage in a DataItemResponseMessage or SearchResultPackage in a SearchResponseMessage. In both of these cases, the linkages are similar to the figure and example above with the exception that the referenced Attachment is not in the message. In the interest of limiting the size of these messages, AttachmentLinks are used to identify and describe Attachments, but the results do not include the Attachments themselves. A getAttachmentRequest operation retrieves an Attachment of interest using the AttachmentURI to identify the specific Attachment. + +RenderingInstructions can also refer to an Attachment using an AttachmentLink as shown below. As discussed in section 5.1.14, the RenderingInstructions structure contains a RenderingReference element. If the RenderingReference points to an AttachmentLink, the referenced Attachment is either a stylesheet or a pre-rendered document. In the case of a stylesheet, the same stylesheet could be referenced by every package in the message. + +Figure 23. Rendering Attachment Linkage in Publish Message + +![Image](data:image/png;base64,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) + +The method of associating RenderingInstructions and an Attachment is also demonstrated in the XML fragment below. + +``` + … … http://www.gtri.org/LEXS/example/XMLViewer.xsl false XML Stylesheet for XYZ packages HTMLStyleSheet Pretty prints a message http://www.gtri.org/LEXS/examples/XMLViewer.xsl XML Stylesheet for XYZ packages application/xml+xslt MIME Stylesheet +``` + +## 5.3.2 SameAsDigestReference + +As discussed previously, LEXS provides a layered architecture where the data contained in a Structured Payload builds upon the contents of the Digest. In order for applications to be able to connect XML elements in the Structured Payload with XML elements in the Digest, LEXS provides the SameAsDigestReference element to link elements. + +As shown in the figure and example below, Structured Payload objects that build upon Digest contents are defined to include the SameAsDigestReference element. The SameAsDigestReference is a LEXS-specific version of a NIEM reference. A NIEM reference follows the definition of an XML idref , meaning the XML instance must include a matching id in order for the instance to be valid. Since the content of the Structure Payload is an instance based on a separate schema, any idref pointing to an id in the Digest will not validate. Therefore, LEXS defines the SameAsDigestReference as an XML NCName, essentially just a string, so that it can refer to an object outside XML scope of the Structured Payload. + +Figure 24. SameAsDigestReference in Publish Message + +![Image](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAawAAAGuCAIAAABDYqXwAAAgAElEQVR4nOydB1gU19fGl957B5EmTRAFUcQusfcSSyxJNGqMRpOYRI0lGpNo1MSW2HtvsTfEggUVBUUQpPcmvff2vezNN9n/goi6sJI9v2cfnb17594zd7nvvGdmdkaqpqaGRxAEIanIsv8qKyurqqrEGwpBEESzISMjIyvLF0A4wT179vzzhiAIQjKA6O3duxcCWKt9fn5+cIKWRm2VFFTFHRhBEESTU1JWGJP6AtI3derUfw3g0im7nKy6ijEsgiCI5iEw+v5na7uzZWnxhkIQBCFeSAQJgpBoSAQJgpBoSAQJgpBoSAQJgpBoSAQJgpBoSAQJgpBoSAQJgpBo6NdyIia/KLu6pvpVn0pJScnKyMnJKuBfaam32QOh8dKyosrqSiV5FTlZ+dfWL6soKS0vrqmp0VTV5fF/JYm3KEQAqkoab9o71sVLSUFFQU7pLYJn5BVlsdt2YDQU5ZUbaKq6uqqkvKiishzL8rIKqCwtLfPW/RJEvZAIipiJvzi/zE7AAhSKzV4AvcPsrayqUFZUc7Rw69NhVDfHQca6Fm/RfmZuypZzS0LiHs8e+auH8+jX1j99Z/tf5xaXV5T676jVHWjK1nNLjt/a7GTVde+C+2/a+5Eb63dcXDFn5K+fDFj4FsEzRi5tU1CciwV5OcXpg5dOG7zkVTWjkp//eXbRw5BrWO7faQL6NdG1fOt+CaJeKB1uEuCVujkO1lbTZy8jHXMXm15YkJWWfRJ+e82xOQe91kGYmj8wKZ4UhBiRqCtrNX/vQmAETt3ZWlVd+aoKIXF+0MHmDImQQMgJNgmT+s6fNXxl3XI4uLXH5uLfO4HnbUw7jO4xs5kDgzrPHvELXs3cb12YUy6vKAuJfVzvj9ZhnBMzorLz02GikRc3f4SEhEBOsFlxMO88pf93SAMzclNSMmMbOHrYeNAI9EIkTYFaYaosa/ytdmu7fiuFcrHupaygWlFZ9izKp94KQdEPAqPumxnaGmi1em1rZRUljekUoaJmYwLGeDayJuu9pKyoUQG84ZeFL6KRm0a8NeQEmxsLI/subfvfDbyQnpOEl6F2a8y0wtJ8yIGKorqCnJKUlJRg/az8lyyHVZRXFiyvqalmpylSs+JfZieY6Froa7VCCw2fLcGkKikrLCkvkpORV1fR5soxM4vLChEDsvWCktwObbprquoiGPRb7wkctFNQnIOaEYmBasqalsYOinJKb3TiAl20t+q689JPZ312Teo3X0Za+E8RG5WaHd/X5cOUrDhsY72NQHqKywpgJy8+3D+m5+fSUjLKiqp1z7RghEsrSsrKS+LTwqG5rrZ9jHTMZGXklBRU5WUV6h0f7KUeBF9FkBZGbRXkFOvdNKTzRaUF1TVVF+7vyy/OHtf7S3k5BTlZBYg7Ghdqlp2hwjeenBmLL91Ez1JFUQ3xo7zeccbXURtJWZGX/4kR3aZh01Afu89GDi/ReEgExQYmFZv5mO2rj37xMOTad+M3De82Tfl/7+o44Hsj/OnPGfkrUmyuEJMKax3y+h2TPzM3BSWwb630rL4ctbqb42DMWCEl5ag9MXJ+qdCJEaz7NOLOniu/BETeQ0gy0jKV1ZUQjr4dx04fsszSqK3Q/C8uLYx7GbZs7+SwhKesRENFp3eHkR/2+sLWtEMjdRARtreqvZcRtOlFnH87yy6Cn0KUkzJjcgsyWhvYQDvqro4K+cU5R66vP3BtDZpSklfZeXGFtpr+p4N+GNJliqqSBqeqsF2xL0PP3N1548kp7FGgONvOL6uqrrQx7TChz1xsIwSIG9XkzJj9nr+d89mNrYA+omstNT0P5zFQ2DYm7bhNq91vleR5+h3bf3V1em4yK8TXgX+drXt83H+Bu8MATgfRbHpu0hXfwxce7E1Mj2KFnew8pg1acvrudkQ1uMsUfL8GWqb/blpR9oFra4/cWA9lxLe59dwSfU2TTwcuGth5IjaNTpGLFhLBZqXWEZSXsFMi+LPW0zTGgrGuBbt+BSZRuXH3tc0tzDx9d0dqVpyyglq3doNhFZ9F38dsXLRz3GeDl370wVeswcYAjbj//MqGv7/Nzk/TUTeEkupqGCWmR0KDbj09DbFbPeMEAvu3fnUV5HLf1VXQDhY/Jm1Bce75+3sy81K/HbcBstWYfqFcbc07YXshNM9jHgqJ4PMYX7+wmx1te6NOROKzuqs/Dr2xcOdYGCWIFAZhWNdPIShlFaV/nll46cH+HyZt5xpMzojZc/mXm09PQz4QMMQ6PPFZUnpUdHLwyoOfycjI9nedwOxzRl7KyKVtIDEQU0MdMxjV6/4n4cjQMlRs7ug12B+wNqOSn2O/hSDhgjFc3C4nrygbO5LwhIBNc69ADVlhTmHGSe8tEGvszLTVDWT4Eob9B1qAm667adgdfr99NGQam6amrNXfdTxEGU4W39GVR4cXTPgTY9KYESYaCYlgkwBdqFsI+UB+5/n4qO8LL7gMuf9NxN6IvKKsotJ8JGszhy53semFEiSM284vvfH075tP/3az79vBukcjr0PMKUgPiLqXkhk71P2TOSNXMV3j8X3N4et/YLYHRN5F8iiYjGPOY+Z/MeIXSA+Prwhrjs2BIkApIJqNFEEe/xKZCR7z9l5ddenhgfEecwW924t4P6jJmJ6z6j0gCO37+dB0poAbv7zkYN4ZhR/3/9439Pqxmxv9wm7tvfrrmpmnWPIIhcUewlS/zfyx67s6DmItxKSELNs7JTI56MStP3u1HwERRKfwgBg0MwMb6D58H6rNGLr89J3tuy//fC/okqWRw5xRq1AB36P3s7MJaZFKCirffPhH/04TuMFZsnuid8AZ+OgnEbeZCKLZ4BhfpoBI7TFoGEyUY5P3XV0N0ay7aT/um4K/H4zw+jkX2pq5ohAeEMp47NYmGPZD13//aepB+Xf44yGEoBMjTQLmAHyZ0Cs47vH6k/OP3twIrwH96mz/wbt0gVk6bdBipoAAU2vW8JWQv4T0yL/hXHKSGtkOTGVSRjQWYAN1NAy58in9v4OZwlSEcHMXPDLkZRWhDkwBWSTMJUUmBfmHezd+E2SlZdtZuvP4x7+4zBrAUSJtxDyHciGquiue8P6zqLRARVF93awzTAF5fEnt6TTsy1GroU3QYlg/Vp7GP/aKZFPQHVsaO0B2YXsz81+y0xQ1NdUnvf+CnA3p8jFTQKCurOXhMrqf6ziMQ1lFSVbeSxTCI8NLQqeGuX/q7jBQcPfw6/Sj+Ebg9GEe/+k9O/Gy7yGkxl0dBuILYgoIsMvBDgDNCm0adjzws9i0P2afYwoI0EUf51GfD1uBBexy7gZeaPwgE6+FnGCTAFs0eGH95zRhOlrr2wzuMqW9Vbe3bh+Tyq61S2f7voKFSKudrXvWXluXFFRYktfIpqSlZNjRK6TAyONM9Cy54/qQg0UTt9adqPJyCqN6zBAs0VDRbqXfJiIp8I22AjuDtuauSKuLSwuCYx9xcgbNgophW1yse9a74oUH+7AK/FHda2v0NIw9nMdc9j14P/jKILdJvNqHisnCYyZmRMWkvoDqKcgrQcRhZh3MO62cehDDyB28Q76McTtzbycUClHJ83/YY2Zg+9WYddAvQ+3WrBq0u1/Hca62fTycR3PGmYGobE2d4fS5EqTY8Obmhnb4xoUuj+/mOOhe0EWh3dXZezuhoXC13GhwIICe7Yd7+R1/FHq9b8exjRhgolGQCDYJcCV1ExZMRezJLYzsPx6woLPdO9lATGYusxPEVK8NzAtmO2ZjI5vSVteHibsrc+FWwJkX8f6wqIPdJkMakK1jltbN2SEf8CnvErwgSgqqH/acddBr3bXHx5D8QnTgy8ITA5ALTxu8uN6DX0gYa/jeDdsIBRHK+uEi2YkUtFNVXYkxb6VrCWVPSItYsf/Tbo6De3cY2d6qq66mMTQFvXOrS0lJQ1V3XvopJTN24s8dPuz1BYYChhHfo4qiGvJurgtoGZMz7pR6eUUZC+n4rc0BUfe4mjU1NZV8E43tEjq5z9rRUNUR3jReDbdpQvXhQ8vKay+XqaquYpv2BgNNvBoaxyaho00vJEpChUbaZkhqxBJPA2io6HS06e0XdismNSQjN8Xz8VG8Wutbt2/TDV4VHxnrmgvON4jF2N6zRdU7JMbRwg0LsGDIpu3NOuYUpMenRRhotXrVL+SuPjqcX1R7PuHk7S14varlguIcpKIQGmTc3R0HexbnFpTkwh7ihU/7u46HDg7vOhUZNzOGUEPkpyFxj59F+SAYqCGqqatod7Dq1tt5VPd2Q+ATuR0bNCivKDsyKTAw6v6z6Pv4l13NJ3QJS0lZYTj/rE7tTqvO30NdLtY63EIsHL25Ea9XVcsrzErPSeYya+IdIREUMVpq+tU1VUjlJn7wdePXgiXR1zKRqu8QLcrlZBTkZOQFK2uq6tZ7nQQK8VFtU/9/vhLZNzLEiqqyf2rU8JAPooLgz+Y62XlYGre98eTUNb/jGbnJ8C/llaWPQ28g7UIy+OXI1XZmLkwH0Zq+pomsjPCliLVXMiqoodnGXMimo26opPDP3R9gkWxbOxtomyLFjkp+DhHMyk/LykuFBYMQs/qKCspomXseLLrQ0TBUkFfExqLfV/WCyJlfQ8Y6f9wGCNkhr3Xogl0HHhjzAAs3npycM2JVL+cRqoq195KAWVs94wT2B6dub4lMDuLXrIEtDUsM8PI7MfGDrzrb90XAFZXlKNx1aSXqSNeOs5SWuh6LBIIOewgl1VStdY5QxpSsOH7wKlir7iWc7HvHv2x1tmkqSmr8M8iv3DQkE6SAIoREUMTAyGAv/Ua/C4atKCrJx1qQKkw8oUv8UI65UVH176kJ+IvsgvR6u8Csw0c5BRncFMLcy8hL+beyVO11eWjTUPufWYRJi/wREja21+zxfebmFmYic4xLC38Sfvtp5J2nEXcX7Rq349vbxjrmrLX03OTKqnKhfpHEFZcVNHLDs/JfFhTncidb1JW1B7hOQEZ82fcgnHJovL93wNlJ/eZzx/tKy4rRMraavYWrKizORRg7vvV2se4lNFxMwTnFqa6uKq8swza2s+iyYc5FHv/aFATwPMb3buCFmNQXy/d/spy3b0iXj+EEYQDRGnYJ7g4DEGFQzAMoMsYhIumZf/gt6J22uoFdaxdEuOHvb9GOTasOo3vO1NUwMtaxMDOwYbul3098hfiZ1CrIKcHSIvj4l+FYS+gIJve9Y9NYFgzdzy/Kxlewb6HwNUN1N40QFSSC4ictJ4ldLxaRGOhk2VVNWZP76FXnNzBPopODq1zGCCaqmFQoxEeYnI2/TRbM0RXfQ/parbo5DobFgJHEC9MVqeKVR4e3nluSmhVf7xU/ogLbO8ht8vFbm2Ga9nv+BmGyMe3Q2a7vq+p3aNNdQ1UHyn7d/6Rzmx5SUv/jiJHz3nl2HomqnVnHwW6TMbbIfyHr3Z2Gutr0hk5BxXi1JyUGzxq+cvSPtviI/RyluqZ658UV2N8g80UXiAp1UI5xeBhybcOp+Q9CPDtY98DqAVH3EtOj2pi0Wzx5u62ps2DvEFxsCPdWWVHNxbon/s0vzknKjBESweiUEGyFYImLTS98cXlFWdf8jtUVQXyzd4Mu4CtGgt/PddwbDTLRAHSJjPiByWIHyGEWsgvSuN/tYkbtuVL/nQ7yay/KvRuZFMTdggULofFPnkTcxkdtzV0FlbRhUjJjz/rsOnz9D7/wW0I/la2sLIc0QBcayDpFgrKiKsQFewLEH5caCm9lqt+mgfrQPnlZxb/vbBMSEQxCVFLQQa+1p+5sxfjw+EcGIYJHb2689vhY2v+eaqi1ovyhZkf6amqqT9/dcdL7r6cRdwQvCcIIIE3WVNODrVPgJ/v8nVaunoYxUmPBH1nj+6p78Qoy/SFdpiRlRN8OOAsp5L6v4tIC74AzMSkhQvVdbfugWShpdn6aYDn2Q/CeB6+tw6bBojYwOMSbQiL4XsDukHor4IyX3wlMGMwW2JN7QRcxLV91z1E4JqjAizh/TEi8sADX9izKR11Fu5/r+LrXtbwKOJo+HUbBfTwOvfEi3h8LrMHaCxtjH8GKtrfqqqSgIrptrQcVRXVHyy7oFFlqana8kY4Zdz1KvYzu+TlUEgnswh1j4R9ZwFB/bP6aY1/Gp0VYmzh5OI9BTZjKLm37w4v5hd18HHYjuyCdVcaC7wuv4rJCDC8yZag8Xp3tP0DJydtb8BGriTbhlK8+OhwYdR/y5My/ZMfK2AHDezfoIoQV0bIGkWLj+1qye6LQ96WjbtjfdQK+lKeRdzefXoB2sNfB68iNDefv72X3VRRkXO85RtpmyMoX7PgQfwOscXwp/uHe6099k5gRZd+6Y0+n4aL+BiQaSoebBJiCN6rv4TImKiX4RZzfjovLbwWcRr7j+ehIVXVVH+dRTIy4mjAmFVW1R4UgAbeenob7c7GpnZlPI+7GpIZoqenNGPKjrWmHxnfd2sBmRPfPMLt8nl+G13CydGeXTN8LupSek6SqrDm6x+fcWZTyijLu33ekTODoIRLwgZ0+Ou+zp6g039LIoatDPVf/CALhXjn14KJd40PiHo9c2mZ8ny95taYv99LDA7BRrfSsBrpNcncYwCp/4PIh9ito/OeD07s6DDQztOXV/mLkBfwUKiP5tTd35R9YlJ7cr/ZIX15R9uLdE5wsu1oat80vynke8zA5M9bCyH5Y10/Z1cvuDgMx2refndt7dRXGje1vwhMCsK6OuoGDRWfvgLM8vtNkB+9sTNvPGvbTrssrL/sePOezm0WF/QrkDAFAEAU3Daq9asbxBdvHQNDH/Gg7ptcsHj8RvvroCP+iRZtBbpM72Xm8+/gTHCSCIgZ5KNxEYnrkG60Ft4JE6cj19ZBCZFtpT06pKml0aNMdU33hzrEaKtpq/y9Dtac+8tOQPI7pOQvu46T3lsu+h1AuJyOP+sPcP+3hNEzwOj4ks1idy2exAFeCl6pAnY42vWcOXXHg2pqEtAjf0Ov/rCir0Mnug9E9Z7rZ9+PO+WK7IIiY+ULxY36iF201/cYci0QiKS0lIzRESBtHdJt29fERc0M7plMcigoqCFhZQVVK4JLAWrGYfmzpnknIK9kIAASAdaFlvdqP4GpCpKb0+666uvpu0AXoVHDcY1aupaY/vOvUSX3nM58LHUSW/fO0w8iIn8f6hiY8wYuNA3Ttw15fcNcnG+uYzx75Sw2vBu7sUegNVohh6e409COPr1AeEvtYQV4pMimQXeeIrwPKhd3JFd9DCemRlZXlGC5XO4/Jfefv81wtJIIAX+5vn59asvujsvKSfzdN3QAOFJvGjlQSIkSqpqbmiy++2L59+94F9+u9tyXxRlx8sL+4rMDBvDO7/O1Ngbljx7kwE5CmSUvLwAZGJAVyt1+FwgbH+Gblp7Wz7ALLg4/YwS/kUPCPgtf0MiISnwXFPERrXDzIcGFJIA2wSEKVkY2+iPdjy631bZys3IWui0a+jHjgFtnpBUEgoGGJAfio4UyWxz8/i5AQD/ezMEZaTiIcFtsuwXJoTXRKcL3xAMQTwumaql7/ThNe1S8SZ9g6uCr2dkCnj+q9zQRcPKpxd7Q2M7DFLqreBu8EnmePUuDVnj+ZxsQUEwoaGpUUhK/DupUTu0+ajLQM0mRoH3ZgyKANtEyZf1y2dzIsntBdZBisndB4f/a23u+LeGsCo+9/trY7pG/r1q0kggTRhEAla3+SrKDSxb6f0PxC/v7zwc9uBZwZ13vOZ0OW1vsraaKJEBRBSocJogkpKSt6Gnm31s4nPls6ZZeqkgb7qTL8+OHrf+AjeNsPOn5ICihG6OwwQTQh6ipaSPDlZRWeRflsPrPwacSdhLQIvI7cWH/23s7i0oJBbpOE0n+imSEnSBBNCCzeqO4zEtIiQxOeeD46cuH+XlYuJyuvpqzlattnZPfpQkcDiWaGRJAgmhZLY4dfPjtyP/jKlUeHuXPBRjpm/V0n9Go/XPBJL4RYIBEkiCZHTVlzYOeJeIk7EKIe6JggQRASDYkgQRASDYkgQRASDYkgQRASDYkgQRASDYkgQRASDV0i05LILkhPy07EgoqSur6mCfcAs7yi2ifvsPs/25p24B4/gpLIpCDe/z8bhLskraSsKCM3ufbRvf/bDohNDWVPaxNsp7qmGvWz89Nf1Q6Pf+Gb4P0IuHZ0NAyxilA7bBO4p4jw+PfcxybUbSenICMjL6WqqlKwHR7/NgfRycENtKOqpKGvZcLd3Y9rh8e/OQV3U36uHXk5BT3Nfx+9UlxWiFCLSwuF2uHxH9zO7gMm2E5VdWVGbgp6EWqHeP8hEWxJeD4+uv7kN1jo6jBw9shfuVu53Am8sOXsYsx/LN/emMvdzyq3MHPKqto7tRhomc4ZtWqw22RWHp0SvPXcksdhN4XaAUv2TIzgPyBNsB3I2SGv34/f2vyqdmpXnLxT8GHEXDufDlyELtiTLbl2sOxm32/L1/8+n/fC/X1bzi2u2453wJkt55ZA5QXb4fEfas427VXt9HQahvrcY9S5drDsu7Wce9Yw104rPSvU7+86npUjeGza08i7Qu2A77aPTkiLEGqnqCR/39XVp+9uRztzRq6i29+3ICgdlkTgENmTm/Cv4PNDyitK2fNzeXyXx5WjkNk6LLBH34oW2CjuSVIVlWWCd/kvrShhDyGqjef/72VfU1PD4uHVusuqN72FbWOoqCxnIaFx7p74PP4QcWEIDhFMLnvqJv/RTm/wmC1C7JATbEkgT7Ru5YQFEz1LwQQNyZelcVttdX0sCz6MXEZaltXXUTcUTNAwk5UV1PAREmFBBUnNjufuBpicGaOrYcTSvdrnnFWUoj7W4p76xuM/oxKRWBdm8GqfX/w/P/8yM7Bheip4o3/EpqdpzG0CV55XlC3Fk2LlEOXCkjwu44bDMtVrU65VWlz27+Pk+blnMquvrWaQnpPE3YMAg8DKjXUtBIdIQ1XHytihoKT2dvaCD6hDgs/qw+SqKf37YBYIGd7io9pH/Qk8ciQ5M7a2ZfnalhPSIxzMO7NyiCAiR33YZ/bsYKKlQPcTJAhC4hC8nyClwwRBSDQkggRBSDQkggRBSDQkggRBSDQkggRBSDQkggRBSDQkggRBSDQkggRBSDQkggRBSDQkggRBSDQkggRBSDQkggRBSDQkggRBSDQkggRBSDRNfj/Bx2E3HwRfrfn/+1ASBEE0EikpqW6OgzvZeTRpL00ugmuPfRn3MqypeyEI4j/J/eArp1a8aNIumlwEyyvL5OWVZ88+39QdEQTxH2PLluHlFaJ/doIQzXF7fWlpGXv7vs3QEUEQ/yW45x02bS/N0AdBEMR7C4kgQRASDYkgQRASDYkgQRASDYkgQRASDYkgQRASDYkgQRASTXNcJyhRFBZmZmXFv+pTJSV1FRVtZWUtKam33P2UlRVWVVUoKqqL6hKqlJSQiopSU9MOXIM1NdXFxbnV1VVqanoi6eJdQBiJic9e9amcnCLGEy9ZWYWm6D01NbS8vLhVKycZGbmmaJ94HyARFDEBAWcOH/4cc1JJSUNWVl7wo4KCDGiNvX0/F5fRrVq1fwsdLCrKDgy8UF1d6eIyBkoqkoC3bx+dlhaxcWMuAubVKmBNRkbMkycnVVR0evb8XCRdvAsQ/VWrXKFB6uoGdT9SUtJs27Z/x45jray6yssri7z3PXsmQoLXrEnW1DQWeePEewKJYJOgo2MOndLXtxYsDA6+EhXl4+m5+tmzczNnnjQysn/TZkNDr1+58ouNTW8np2GiC/Z/qKoqv3t3+4MH+0eO/LWJungL4PWGD/9ZqDA19cXz55d8fQ8mJQWOGbPW2rqnWGIjWjokgk2Curq+g8NAa+segoVdu35648aGW7c2Y/ZevvzztGmHmudXQf8BkP5j9OqW29r2PnduSWzso4SEAEtLd0paibeARLBZ6dv3G2ScFy+u8PM7NmTIMkEzWFlZnp2dUFFRkpOTxKs9eqihrd1aVVVHTk4Jb8vLi4uKsvLz05ALl5bmZ2bGlpYW6OpacDKanh5VU1OFTBbL0AKsqKFhpK5u+KYRZmREFxfnVlVVpKdHok3kmFwmWFlZVliYlZOTiKwcbzU0DPX1bRQUVARXR2DV1VXoHfGjBcQjIyOrpmaAUBUV1bCN2Irc3OSCggxVVV0trVbveDjP3LwzXshY09LCMThokJVjiBBqRkZUVVUl3iIeVVU9xFC3BdTEsKMyRlhNTU9T00RFRUfoOIYgNTXV2CgMO9qENP//yNRuF16sHV7tXtAA44am6uoyRjgtLUJKShojoK/fBt8vAhAcZwYGGX8JaLOiohRDh9wCAy4tTRNW9NCYNjd9+84PDLyAvPj27b8++mgLj38YLi8vJTT0RkiIJ2ZyeLg3CvX0rBwdB1lYuCH5xdyGcPj6HgoLu4m5ER//5Nq1NXJyihMnblVW1kJJSkrInTtbMVuQaGNdzKhWrZxsbT3c3T8xMLBpfGzQr0uXfkpKCoI03L+/F52amDgNGvQDj6+AMTEPnz07j5Qc3aEEzsvNbbKDwwAdHTNucj55cjIxMbBnz88LCzMePTqCeDDJsRVubpPs7fti6548OYUNTEh4igjt7D5wdh4NFWtAdBoGOsLO3kAviotzmAgmJz8PC7uVmBiAvpgkmZi0MzV1RgzoS1lZk60LoYceBQdfxQur5Oe/bN3axda2T8eOY7FQr6nENxURcef+/T06Ohbduk1lIlhWVhgT44vvDuPG2uHVqnMnfHGuruMFT6pg7xIdfR/7P4wMZBS9dOr0kZ6epZ/fcW6cGdgcf/8TQUGXkpOD8P1ihJ2chjk6DkbKL7TXId4dEkEx0L79CGRw4eG32Vu4Px+f3bCHcE+Wll1cXcehMC8v9eHDA5gJHh5f9er1BbwAHFMNHx7fj+DFVsdU9/b+E+bCxqYXW7ekJB/tp6S8gMGjJecAACAASURBVI8YOnQ5LGHjY6uuRss1EDXIK9cLFBANenquiYq6B0FhvaSmhp46NT82dlz//t8bGbXlPCl00MDA+urV1Sye0tLC2Fjf8+dDoRSVlaUQUOgyXE9ycvCNGxsgUpjhWlqmbzeShYWZeGEBDTJ1g6uCjj9/fgV7grZt+zN5zc9P9/U9GBFxe/LknVBttm5mZsz580tRE37cxqb2eCKc7+3bW7Oy4kaO/NXAwLZud5Dv48e/zMlJHjVqla6uJY+vpBiZCxeWQfq5dsrKiiDBXl7r4JrRFKsJHjzYd+7cYuyrMCwY5NzclLNnf4BwQ4thITkRhAJil4Y/CSUlzTZtumNvhy/08eOjCHX48JUuLqNZckCIChJBsZGaWnurSEyGrKz4R48OQ+Y6dZowePASpghI8a5eXQV/gYkHDwUzhY+QPZ07twQWA1OLO1t658426BGcwtixf8A/ogQO7vLlX/z9j0dHP4BtdHIa2siQIGSffXYYXdy7txOGaPTo31g5IrxzZzsUEEZp4MAfrKy6ohB+FobU3/8k7NigQYvxL9cOeufiQTDQSlSDgWrVqv2oUavhcKHO3t5/3b69JS7OLzMz7u1EEDsPmDhYMwwdxII1gj0H9i7a2qYuLmMQlYKCKo9/GdCuXRNKS/OeP7/ERBD2ys/vBGQF2zJw4CJ2qzeYcYjU06enYbiQF7N1OeAuoYAQSrTcu/ccVoh2QkKuQQEF2ykoSMeXcvfuDli8bt2mMRHEXgrDBQXs3HniZ58dwd4FdhgDFRh4/n83qhQD6+OzB3vEfv2+xZ8EFjCG2AM9enTowoUfIbUYRjqaLEJIBMUM/xhTlIKCmr19O04BgalpB8wfzJzXtgCHaGbWkVNAXq0tMunTZw5EFnaypCTvLaKSkZHnjqDBBkKqYKOQvvXvv4ApIK/Wzw5H8GfOLAwIONOjx0xBEUQAXDwoR84LEYRTa9duCBSQV3u2VwfLkZH3kODDLr02HhjGoKCLzPTxai8PVILFg2WDXrx8GYa9gp5eG/YRslFt7dZQ8N69Z3MqBqM6ePDi06e/h2CxkrS0cB+fXTChyNy5m11iAbYOpgw+DkImKIJ4e/Lk1y9fhjs7jxI8b15dXSkjIwvPiy+La0dNTR/mHRqH8KCScIvIiG/d2gRDh+x46tQDvNobx0ubmbl+9BEsfPhLgVuv448hLOwGPu3efQayaXbdEsZz4MCFhYUZaBCDZmho1xTXA0ksJIJiRkpKSl/fesSIn/HnLmiIMOHz89Mac9Jg2LAVPP4xRK4E6VhGRoy8vBKmHzLQd4wQkSCfhZ5iTgqd7+7QYSQsz4sXXlANiCYXLQwjFw8KoUq82nMFhhBrbl3Uh19rdAwZx4/P5a5CV1RUhwpA7+ABzc07d+kyxdi4LfvI3f0TR8fBUDdBmUBNDY1/TztgWLKzE5F1wq5CvwQ7grJraBhin8Sd9ODVHmQMgt/ETsXCovOYMWu59JbHv3anY8dxDg6DDA3/TZ9LS/OZ9vFq5bukuroKIgibCes6aNASKSkZgdV1YCqxaVwJTH1U1H20Zmnpzh2+5PF1ENk9TC6co5vbJBJBEUIiKGawz8eOHToIQxQV5YN/md/BFMXbzMwY5D4NtwBvhZw6Lu4xZh3cB49/AB65W3p6BOaYmprwNcZvSllZIRSQx8/Qvb3/FPo0OzsB/0ZE3G3bdgAnggYG1rw6QC84v8Z/q6OkpFm3Wr1glKChgie7YdOQ2EJJIRYWFm6cZkETefz8F7qckBBQVVXO4x/sg7hw68IdJyXV/goFGgrXJtiRiUk7vIR69/JaB/8FLTM1dRZUQB7fk8Kzs3P6ycnBublJaBzfICx8UlIgKmhpmcjJKRYUZLDz1IgZuz1udWiZ0H4Fq8N1IrCAgNMsSI6YGF844vBwb3TXyHEjGgOJoBjIy0uBbHG+D+KFv2wkjEiF0tMjc3NT1NT02IXWjTkVmJub/PjxsdDQ68hbYViwCnQTy5WV5aINOyHhCaYlFLbuR3BPyAobXh1yg2Tw7bqGYsIsC5ZA9fT126BcqCYEKDj4SmDgRdixyMi7FRWlGGdYTkgYVweFOTnJje8dexTobFycHxbwr7l5J8FP8X0FBJxBHs0uKqqpqYLzhUYzJ8jArkLw7WuBaN6/vw+b0PhViLeGRFAMREc/qK6utLXtzeOfGIFJYRemwNS0azdEVVUPmmJk5ACtfPBgf8NNwYBcufLrvXs74FDgKaysurEMEd7twYO9mEuiihnNwnKiZXaRoBDIK5s0QUPj9vb9GlPz0aMjnp6/SUtLYzA9PL6SlpbR07PU0bEoLy86evSLt+vdxWVM9+7TPT3XQFUvX/550qTt3DV9SLTv3Nnm47MLXhWZtZ3dB3zDawWN9vRcjRSYVdPQMHqjC7mxt7Cx6c1dACCEYKpOvDskgs0NrAQsA4yJu/snPP6RddhAFGLSwuwgv+MSNJiL17YWFXXPx2c3FHDYsJ+gqpqaJqwcefTz55dEKILA2NixX79vhQqTk59DFg0MbN+H63iRBT9+fATCNHz4yo4dx8JNc2dRESdXTUlJ3dS0va9vPS1gW2AkMzKiu3SZwmW+AwYsMDPrJC+vsm/fx3Dc/v7H+/adzz6C9bt3byd8H1TS1XWc4JFZ7IS4ZYgmc8pRUT6OjoO5jBjfPoxk3TCUlbXQmlBinp+fhq8Vfx50qaBoEf8f7n8MTBX+yUrLuulhcXEOTB+sCvbzBgb2qMbjX5+MSWtr26dNm+7IuQQrwxsqKqqqqxtwh9JlZRVNTTvwr/uT+v9qedbWPU1MHNzcJnHrIvPKyorHBIM2sYNiDYDcWfCkAY9/PtfCohNW594i1LKyQkxXhCSY0kJZfH0PYnJCBdh9aBQVNayte7FzmhwoRwva2mZCXbOW5eQUG44QdQRPPTcAJAmpKL6CDh1GGhraceWI0M/vhJGRI/wsj++kMGioIyMjL5TeRkbeCwy8gAF0cBgEEYQfV1LSREIN2YLR7t//+5CQq7Gxj4OCLrELj5D8Ghm1NTKyx/iz8z8MNCstLYfIy8tL2Nnhzp0nQQGDg6+2bt0RTp+/bnVmZmxY2A32B8NWNDS07dx5IkY7IeEp+z0JKy8uzkXSjUJ8pz17fs42hBAJJIIiBmlXRMTtjIwo/PXjr1bwo5KSfJRHRz+ESenZcyYzKUijkOthlfLyYjgXuDlIHmZLQsKTZ8/Op6QEm5o6OzuPYS1UVpbyfyIWYWBgg4mEmYzkCzkaZPTevV2Y9ubmrmFhtyC1mFohIdcw2zE/nZ1HNxBwUlKg0IU4hYWZaKS0tBBqAslr3doFid6LF9eePDmZm1t7RpVdPZOfnw6zGRLiCQWHkDF3U1qaFxl5x86uj2CDEHpsoOC5Tq4jlPfoMaPhIUUdoVtRvAojI7ucnCQ4aH//Ezk5iUhOY2IeQoMePz4aGHhRXl5RTu6fnF1Hxxyp/YMH+/LyUrBF7Nzuy5fhfn7HsWLPnrPYNqamhmDA2QXqAF9cdnb89evrsRZ02dKyC/xvWlo4VtHSaoWEXVVVB14yJsY3KOgi/i0tzbey6ooXKru7fwyPiTHEX4iFRRcEkJ4egS/6xYvr2OFxyTL2SdidIPXOzU3OyoqDGWR6Fx5+++nTv7Et/J9I07QVJTSaTQKmop/fsbrlsHvDhi13cfmQS7Xw1+/iMiYs7Cam6+XLWZAVyCI7sQgBQuKGFI+7kg6WDakQ7JiX1zpI55w5F2FPPDzm3ry58cqVX3R0zOBK4EHKyjDNOkNcoIzsV1wNxCl0wB6z2s7O4/r1P+LiHuflpSJ3gwjCkvTqNRvqHB19PzExkB0Rw9TNzk50cBgwcOAiiDK7Mxiszav6QlQFBelcsg+xaMw1jA00WBe4JHf3TzBcPj67oc7waxgrWFp0hJTW23szNhabDMGCKnXt+il2Knfv7oCfZSYuOzsB7qxHj5n4qN57KaKwe/cZ8fH+0dEPbt7coK29Hurcu/dsb+8tN29uCg/3hgXGrg5jjhFzdBwE+UYw7GQuVG/o0OXInR8+PBgaehN2HsOLPRm6u3ZtDdcF9lvYacEJQrjxtcKEsoOtkFoFBbWBAxciTaZfjIgWEkERg+lU9xcampommJ/4azY2dkDyJXj1H7tOcOTIVdAXeDpMV6SWmAawAKgMT/fs2TlV1X8mpImJ49ChK1BSXFx7dgJeEtMS0xsa9Pz5ZR7/TDGsH1I5iGBlZRl/lYZOyMLB2dp6GBuncUf0WOo6duz68PBbvNqDU5r8akr8A47GcC4Q2aKiLB5fo+E97ez6okfOyCBs/hXRgwV7gXbDWyFUpJ9coaysPFxPt26fCeatdcFuAOMplLA3gKvreAgc7NvLl2EQIBUVLcQDKYErhGpjfLj7LECGIED4auAcoc682oOeDhYWbqjP/dAQXhuVBRN2OMQhQ5ZhJ6GiosO/patO9+7TUR++D9qHMdfSMnF2HoW9HYb0wQNTRM5pFmQRY4jBQWxZWbHYS+npWcHLC4ogj3/JZ69eXyBrxq4xMzOGFcKuYpzt7fsK/Y6FeHekYPW/+OKL7du3711w3+n/fwwgQoYvscwuzNy0SVJO9kMg4I+ECpWVtTBPGr5NAPwC0jEeX5hQmR1Wg3uCX8CyoDFJT4+CU+DxJy2nPtztl+XlldjvXjEhsS5EreEfpWFCVlSUQrwEf4lVWVnOftWHXEzoMmy0yXqHPvI36n8u54aaoILQtY3wXyhEUix0HxdIEjpCIw0cFsRacGro5Y1uv4hvAT2yS/P496+VYnepgA6iO8ELazDs/N/V1P59QnD5wfzrs+C/ystLBMeZH1JlcnIwN878Rkq5H+dgxNAIs2+wsRhVdmo4LOwWxg27K4g+5LKgIANjjvGEaT158muk0l9/7SW0Fex2O2yZf8ZZ4o4Dzpunpqumf/7XaJG3HBh9/7O13SF9W7duJScoYjDB6l681hjYZbdChUh+kVgJFdYt4fF/ZidUAuFACvbafus1YtDrug2+Kh5BkO0KXX7M46f8gicNOLhz2Q0AEak3koap+y1AB9Fd3R4x7ELXPwtS720UYPGEQoKI13ufLsHCW7c2ZWXFwSGOH7+Zu/C7rKwgJOQqQkV53dXrDZgQOSSCBNEcQBBfvLgOw6iqqjds2IqamuqkpEBf38NxcX7a2mb13jKWaB5IBAmiOfDw+Cox8Rn/PpJbIH9IzwsK0tLSImDYP/jgq3qdMtE8kAgSRHMAJzhu3IbwcG9IIUTw5cuwjh3Hmpo6d+o0Af+KOzqJhkSQIJoJdv+F4uKcoqLs0tJ8ZMEyMnLcIwEIcUEiSBDNh5KSBl6NOWFFNBtv+QhwgiCI/wYkggRBSDQkggRBSDQkggRBSDQkggRBSDQkggRBSDQkggRBSDQkggRBSDR0sXRLIjExICLiDo9/h04rq67c/VpSUkKiox+UlxdhuVevL7jbW/Hv1LSLx7+/k5VVN+6GMfn5L6Oi7ufkJAq1w+M/qKiwMEOonaqqCv7tVJ+9qh0e/8nlxsaOddsxN+9kadmV3Xeaa4fHv/Gi4C2v4+L88FHddpKTn6O8oqJUsB0e/3bzDx/ub6AdXV1LdktnoXZ4tT/jncduASvYjpKSBjbNwMCGlefmpqB+bm6yUDvg4cMDxcU5Qu2gZXwFyclBQu0Q7z8kgi0JKODJk9/wah9fOxCTnxOvuLjHFy78yG4i3bXrVE68SkvzWX0tLdNRo1Zx4pWVFX/nzrawsJtC7YDr139nIiXYTmVlWUDA2Vu3Nr+qHSxPnrxTULy4dgYOXGRp6c4eisK1w6sVu36C4hUaeuPcucV124GynDu3tKgoS7AdHv/W/GzTXtUOewwAJ15cO1ju3XuOjIy0UDt6elYjR/7KiVdmZoy391+RkXeF2gFXr65iDyQQbKe8vPjJk1N3727nt7OKRLAFQemwJFJWVsieaVtSkge3yJVDEbi77bMHrjP4T4NK49VauXL2bHhRx1PEPWO3pCRX8OHiBQXp7JFPiId71kdNTXVBQRpbhrAyXyZaSksL8Kovnn8eo87ju0WuHEEy58uPp56nkhLvLeQEWxKtWrWH++Dx7ykteK9pQ0P7bt2msTsbC96/Wl5emdVXVtYSvD+oioqOo+Ngc/POaERFRYsrxwTu2HEs9xg8rlxaWtbMzBVuSF5eSfChcerqhtxz3RCSYKiuruORFWLBqvZ25f/YNxkZOWvrnqxlwZu5QkFatXJioerrWwt2DWOFTausLMcClwtDDeFSWX0dHTP2IAGGmVlHVo4GBe2biYlj9+7T2T2xuRyWx8+CWX3ugfcMvHVyGorg1dUNBB+eV1lZ2rnzRCa7gv3KyMhbWLhhQDDmDd/Km3jfoNvrEwTxntI8t9endJggCImGRJAgCImGRJAgCImGRJAgCImGRJAgCImGRJAgCImGRJAgCImGRJAgCImGRJAgCImGRJAgCImGRJAgCImGRJAgCImGRJAgCImGRJAgCImGRJAgCImmZd9U1ctrTXT0PXFHQRASjZVVz/79F4g7irenZYtgYOCZHj26tG3bQdyBEISE8uLFMx+fMySC4qR79759+w4TdxQEIaFcv37Bx+eRuKN4J+iYIEEQEg2JIEEQEg2JIEEQEg2JIEEQEg2JIEEQEg2JIEEQEg2JIEEQEk2Lv06QaDaystJTUhLr/UhVVV1f30hZWUVKSoqVFBcXxcZGaGnpGhubNmOMvNzc7JqaGnV1TRkZmebsl2i5kAgSjeXcuaMrV36jq2ugqqpWXl6GEiUllYqK8oKCPAsLmzFjPh40aLSOjj6rnJgY++WXE0aPnjJ37tJmizAnJ+vo0Z0Ib+TISRoaWs3WL9GiIREk3oyhQ8f16TM4OzsDy6amFtnZmSEhAY8e3YE+ZmamzZ69SF5egVf7e1Lbb775ydHRuTlj8/G5ceLEni5deg8ZMrY5+yVaNCSCxJuhp2fYu/dAwZIBA0bGx0fPmvXh5s0/9+07zNHRBYXS0jLt23fS1tYVrFlUVJCe/hILmpraWlo6ENDKygosyMnJC1aDi6ysrMSChYV13QCQaKelpUhLS1VX17B2uHI4wYqKCjhTLGhr60lL0yFv4vWQCBIiwMzMyt29d2xsxObNv2zbdkpGRubly+SNG3/q3XvQiBEfoQLEDkLp7X01IMAXb9u0se/Xb3hgoF90dNj48Z/Z2jqydp4/f5KSkujlda60tITHd53QXFfXbuxTKCP08fbtq/7+9w0NTdAFa8fauq2CguK9e17Xr5/Py8sODn56/PjuYcMmwIfKysqJaUiIFgPtKgnR4OExRFFR6dq1szU11XiL1PjKlb+Dgvx4fAV88SLw99+XwSrC/VVXV1+/fuGPP348eXLvnj0bw8KCWAvQxN9+W/Tjj1+mpiYhpy4szP/xx7nLl8979Oguq5CenrJhwwqsmJmZDvNYVFR49OjOn3/+FqqHT2NjI5OS4pkTRElUVCizkwTRMOQECdHQvXtf2DHuLTJZGRnZ1q0tsVxQkA9xvH//JhLnzz77xtjY9OnTh8eO7Y6MfMHVz83N3r59bUxM+NixU2EAbWwcEhJiYAmhkmvXLt6586yGhhaU1NPzTLduH3z//S9t23ZISorbseP306cPomUHB+cPP/ykvLzs0KFtdnbt5s5d6uLShWwg0RhIBIkmJysr/d6960hdp037GgqFEqTJxcVFMGt4sTovXjyDJezevd+0aV+xI4nm5m2gmEFB/nfveiGJ7tVrADROWlpaR0fPxMQMFVq1Mh8/fpqengEUs6qqUlfXwMLCRklJ2cjI1NLShhSQaCQkgkSTk5+fi1QXNtDe3okrdHR0sbZuy4kgVBJJLpxjREQwLCQrrKmpgZZB++Ac+/Ydhk9VVNQePrz955+/tGvnCkeJ17x5y8SwScR/CBJBQjSkpaVUVVU1vj4UTfA66uDgp9BK5L8+PtcFqyUkxKJZdpE2LN706d+cO3dk1671vXsPLC0tgSXs2tUDCbKRUStRbQghaZAIEqIBZg2WzdTUopH18/JyCgryhArd3HoaGBgLFUpLy1hZ2WIBifDkybNsbR2jo8NKS0tv3rx469ZlX987ISEBkyZ9jnT73beCkEBIBAnRcOHC8eLiohkz5kOzGlM/ISFG8Ed4HTq4BQX5wx6OHTtVSUmZK4+JiUhOjocIVlSUYzknJ6tdu44eHkOysjI6deoWFvb87NnDf/99oEOHziSCxNtBl8gQIgAy9OjRHROT1sOHf1T3EmVNTe2OHbvGxUXBuHGFAQG+oaFB3FuktNraevv3/5WTk8kVVldXHzjw16ZNK588eVhRUfH8+ZPNm3/29r7K47vCLl16jxs3zcXFHXk09LeJN5H4z0JOkHgzIiJCPD3PcG8fP76XmZkWGOinqamzcOEqdt5WCGPj1p988uWGDcu3bVuTlBSnr28UFRV2/vzRrKx0ro6DQwe8vLzO7969Abo2cOCo+PjoS5dOXrnyt5mZlaOji4KCYqtWZikpCceO7ZKRkenZs7+8vAJy4RcvnrVt20EwDUcXUFsYRmvrtnSOmHgtJILEm+Hjc51dnMxITU2EC+vdeyBkrkePfrKy//xFRUWFVlVVIoHFsqKikofH4Ly8nD17Nmzd+puysircIpRLTU3jyZMHrD6Wv/xySUFBPtJqb+8r584dQf3o6DCo27Jl69nv55DwDh06DsoIb+jn54Ouk5Liy8pK0XX79p1QAVZURUWN/7OThDFjPmnd2opEkHgtJIJEY4EGjR49RbCkVStz2DeImrGxqbl5G0HFgfsbOXJSly692Fto3MiRE1E5JORZQUFep07djYxa7dixjhNBYGfXbunS3x8+vA0Vq6yswCr9+4/s1s2De660lpbulCmzXV27+/v7IDuG/Lm790GibWlpg8r8FpxWrdp++fIpeEzYRrqbFtEYSASJxuLq2tXa+n9OPigpqUB9OPcnCHLer79erq6uyeNn0H/99euECdO7dvWwt28PgUN5SEgAEl5X127sVyUMJLBQz379hrPf3qGaqqo69ylEzcDAWEdH38nJlf/j4hr0zuSPoays4uzsZmpqXl5eBkvI7mdDEA1DIkg0FsgKXo2sLCUlxV27V1VVFR4evHr1Qvi4ceOm8vi/LD579jBs4Icffmpk9D93XVVRUcWrgZahuUI3pxFCV9egkUESBI9EkGgGDA1NkNhu3bp6zZof7tzx1NTUfvDAGzqooaHduXMPPT1DcQdISDQkgkSTA9WbOfNbO7t269YtuX79ArLa4uKiYcPGz5jxrY2NAx25I8QLiSDR5CA1VlPTGDBgZJcuvauq/rm9lZKSMpJruu8pIXZIBIlmQlZWTkdHT9xREIQwtB8mCEKiIREkCEKiIREkCEKiIREkCEKioRMj7y+LFs3IyEgVdxSECNDXN169eqe4oyDqh0Tw/eXkyX3r1q3T1NQUdyDEO5GTk7Nw4UISwfcWEsH3mvHjxxsbC99pmWhZJCcnQwTFHQXxSuiYIEEQEg2JIEEQEg2JIEEQEg2JIEEQEg2JIEEQEg2JIEEQEg1dIiPRHDx4sLS0VEtLKycnhys0MDAYMWJEA2ulpaUVFRUZGxsrKiomJiY+ffp08ODBcnJyWNDW1jY3N29k715eXllZWbKysgUFBSoqKvhXXV3dysqqY8eO77JRBPFGkAhKNN9++62lpeWoUaNSU//9aUpxcXHDa926dSsjI2P8+PEQQahhbGxsdXXtI0F+/PHHDz/88NNPP21k79u2bUM7vXv3ZkIMQYyPj8fyrl276OpIotkgEZR0BgwYsGjRorrlJSUlmZmZqqqqUKWYmBhNTU0zMzO8zc7OvnbtGlybqalp//79Ue7u7g439/Dhw6tXr6KOg4NDu3btwsPD27dvz5qCqkLg1NTU6v76BRL8+eefoyn29u7du3379r19+/bEiRPxFl0/efKEV3tvak00y+pAr9EaFvLy8tq0aQPfGhYWlpubW1VVZWRk1Lp1a+7BTzU1NQ8e1D7NTklJycXFhRUi/oSEBB0dHWwC/C+3XSIdVKIlQSJI1A8U8MSJE8h2kefC66GkX79+SJN9fX0fP34M+Xj58qWTk9Pz58/37Nlz/PjxFStWQHSgjzB3GzZsWLNmzYIFCzp0qH1aJupcvHhx5MiRrq6uDXdqYWEhJSUFOUNTkNEDBw6EhIRYW1vDIQ7lo6urC107cuQIKkP44GQ1NDR2794NIwlNRKGbm9vHH38M1YPS7du37/79+506dQoMDBw4cODYsWOhmKGhoYgN7fD4Msrj/ywH6TzpoMRCJ0YkHeS2PwgALbtw4QKPb9+gd9evX4fKwPFJS0vv3LnT39/f0NCwa9eujo6OvXr1grlLSkqCfausrIREQr9sbGyQ3uItxOvSpUtcO9BBmK96A4Cz8/HxgfGEYC1fvhxWrk+fPniL5BqSCqOKlpEdb9my5eTJk6iPHmEV5eXl8VGrVq1OnToVERFhb2+PapDCTZs25efno9qyZcsOHz6MOrCW8KQIfvv27Ty+uHt7e6enp0McO3fuHBcXd+7cuZSUlOYbceI9g5ygpJOWlvbs2TPuLQwRckzurbOz87x586CD8FCQFbi/YcOGwWQhA502bZq+vj5X87vvvkNaDWWcPXs2fCJ0k2WyUBk/Pz8kyHB5dXuHqv7666/wdG3btn3x4gXaR7OQNoR05cqVmTNnsmAgWOgRKonG8RYJLOwe7BuWkRojw1VQUIAt7dGjB7Jm5ulgTtEyrCKWYUiLioq8vLwgsrzap98Zwv1NmTKlsLAQ8gcNxULTjC7RAiARlHRg3GbNmsW9RfJrYmLClrGAVBQKiGX82/iEUV1dHRbs8uXLLHGGyiAbrbcmmnV3d4eD4/GlysjICCkzcmG4y4qKint8WE0IpaKiIhwcltX4sHJIc54rXwAAIABJREFUIXJ2pNtI3hEw/KCsrCz0Do1MnjyZiwepNAoRD49/iJD1iC3i2iEkFhJBSQe686pLUt7oehdBZGRk4OBg7o4dOwbF0dPTg9TWWxMiO2nSJO7ECKO6uho5soqKyty5c4VCRWtCLUDdrKyskpOTr169Cu8J11leXs7OoiAvhuljDcIJwi3q6uoKngcnCB4dEyTeAjgvaErDdWC13NzcPD09kdg6Ojoiw218+9LS0iNGjKiqqiooKPiYz5gxY+DmwsPD6xq3gwcPQtdgPBcvXrx582akxugR+islJbV161ZWBy4S2bGysrKlpeUbbSkhCZATlHROnjwJo/T8+XOuxMzMjB1KexWamprnzp2Dv5sxY4ZgOdqB9bOzs4OEIdNs165dTEwMctgJEya8aVTOzs6wgWvWrIGz69Wrl7+/f2RkZL2XcMMDHj58OCAgAGEjiUb2PXLkSCT1P//88/r165Fuw2wiCw4KCqr3SiCCIBGUaMaNGwe3VVhYyA78MZA25uXlQeMgK1wh8spBgwZBULAMdXN3d4c8jR07FpIHjYPooHzt2rUQwUuXLkGtWEbcs2dP2LpXHRBEjoz0Fmlv3Y/k5eVnz56Nj5Dhbtu2zcPDY+rUqR988AE+sre3R4MGBgas5syZM6Gz8fHxMIDwiQcOHOjUqRM6RTliiI2NPX36NCL//vvvIY6oj9R72LBhnDPt0KEDTCsSf5GMJ9ESIRGUaH744Qf2Yw9BZGVl4fUgQ0OHDoWasEJ2VTM7NwIRbN26NTwXlFFXVxc6yA7VwRj279+fCSJAPgt9gQ4KnkQWZNKkSUhaBfWXA+VGRkazZs3K5gPNQjXks/gI+gvl4taysLCYM2dOZmZmeXk5RBAaxy6WxiZMnz4diTB6QbTciR1oKDwmt3q/fv2wYr0xEBICiaBE0/ChOnZFMQP2kDNfynwgUuwtd9YYUuLk5ISFsrKye/fu7dixIzU1tUuXLo1pvy7QQS0+VlZWguWCp4a5duptSoOPoJ/l8U8NC55dIfkjSAQJ0VNSUnLt2rWIiIjffvsNtlHc4RBEQ5AIEqJHXV194cKFX331Fcwjlx0TxPsJiSAheqSlpRtOdQni/YGuEyQIQqIhJyjRFBUVVVRUiDsKMYOEvd7LdAgJgURQcgkJCXFycqp7iYykgeQ9KCiIu18hIWmQCEou+fn5FhYWoaGh4g5EzNjZ2RUUFIg7CkJskAhKOnT2lpBw6MQIQRASDYkgQRASDYkgQRASDYkgQRASDYkgQRASDYkgQRASDYkgQRASDYkgQRASDV0sTbw948ePz8vLMzMzS0xMNDY2TktLs7Gx6d+//4ABA8QdGkE0FhJB4u25devWkCFDZsyYUVJSoqiomJ+f/+jRo40bN1pbW9Nz3YiWAokg8U60bt3a1dWVLdfU1CgpKe3evfvZs2dMBMPDw318fLAAn4hqenp6WI6Njc3NzY2IiCgsLHRwcOjYsWNYWJi/v391dbWCggL3xHSQkpJy9epVHv8G+lidPRU+OTmZPYI9JiYG7dja2qKFus8jJohGQiJIiIzy8vKEhITKysri4mKkyceOHdu0aRMcopycXEZGxvTp02fNmqWjo3P27FlIXkBAAOps2LDh+PHjXl5ebdq0gYYG8Vm7di2s5aVLl3766ScUamlpId0eNWrUggULIKawn1BGKCmELzU1taKiYt26dYMGDUJH4h4AokVCIki8E0+ePPHz84OitWvX7sGDB5AzIyOj4cOHwwNCxbCAZFlKSgqatXfv3uvXr0+YMAG2DlZxxYoVTk5OMHdLly7t06fPDz/8gGrXrl37/fffIYLweocPH3Zzc1u0aJGMjAya3bp1a6tWrb777jtNTc3o6OjOnTtPnTpVVVV15cqVBw8eRE3oo7gHg2iRkAgS74S3t3dgYGBpaSmMGPLZrl27QqfU1dXT0tLg6fT19Vk+C3sIN3f+/HkXFxfkvIMHD4aKWVhY8PjPwDx37lzbtm1hGKdNm8YeUgyTGBwcvHjxYvak448//hiyGBISAusnLy/fu3dvGMMOHTpIS0t37949Li6O7oVDvDUkgpJITk5OZGQkfNm731H1888///bbb9kyJAlSyJ6HWVVVlZKScvLkyTNnzrBPIZRIbMvKynj8x2aypwODefPmFRYWIvPF8h9//DFgwIBt27YhC9bT0/voo49YHWVlZQ0Njfj4eOgde6uiosKeiQxJRV7MPR+ZIN4UEsH/ONCXSD4RERHcQlZWFnLMZcuWvbt2QM5e9fBiW1tbWLn+/ftzJRAsiNeLFy8Eq8HWderUqaKiAllweXn5kSNHXPnAS165cuXDDz/kalbyeceACUIIEsH/DrBaUVFRQpKH/LFuTWjf/v37raysDh061ETB6OjoIBdGDsvOCCckJPz444+mpqZfffWVUE0nJ6cJEyYsXbr0559/LioqQs5bUlICrTQzM/P392ci6OXltWvXrqFDhyLdvnHjRhPFTEgmJIItGG9v72fPnnGSl5iYiCzytWtBAfft2zd58uSHDx82XWx2dnbdunVbuHDh+fPnsXzr1i0pKakxY8bUfRTn1KlTV65c6ePj07NnT2xRcHDwL7/8YmhoiMrz58/39PSEVbx58yYsZ9++fWFgmy5mQjIhEWzBQDLgnt5oFSjg3r17P/74Y5EE8P3333fu3LnejyB20LJRo0Zt374dGt29e/eZM2d26dKFfdq+fXsNDQ2ukaqqqrKysp9++mnFihVYy83NDeWffPIJEu2TJ09iM+fOnevh4dGmTRu2ChJtAwMDtuzs7JydnS2SzSEkExLBFsw333yzadOm/Pz8RtaHAu7evRviIqoAFixY0HCFjh07Io0VKhw/frxQyaJFi/Dv8uXLBQvV1dVH8RGqLPSbvA58Gh8zQQhB59RaMFpaWnUPsb0KZKPQI+SeTRoSQbQ4SARbNjCDcEyvrQYF3Llz57Rp05ohJIJoWZAItmxgBseNG9dwHSjg9u3bp0+f3jwhEUTLgkSwBZOdnT1r1qx9+/Y1UAcKuHXr1pkzZzZbVATRsqATIy2SmpqaHTt2LF26NCsrq+Gaf/31F4SyeaIiiJYIiWDLw9fXd86cOU+fPuVKNDQ0ysrKSktLhWpCAWfPnt280RFEC4PS4ZZEenr61KlTu3XrximgtLQ0SiIjI7///nuhyps3b4ZWNnuMBNHCIBFsGVRVVW3atMnW1nb//v3cXQ9cXV0fPHiwd+9ePT09odPEqDx37lwxBUsQLQkSwRbAnTt3nJ2dv/7669zcXFaiq6u7Y8eOx48fsx9X8P73msENGzbMmzdPPLESREuDRPC9Ji0t7aOPPurTp8/z589ZiYyMzKxZsyIiImbOnCklJSVYmZnBP/74A3IpjmAJokVCJ0beUyorK2pqanr27FlYWMgVdu3a9a+//oIrrHcVmEFkxw4ODs0VI0H8FyARfB+5f//m0qVzqqurOQU0NDT87bffXvuz3zdSQBUVlZiYGO7mphILxhlDIe4oCLEh6RPgfQMGcPXqhXv3buLOfsjJyc2ZM+enn35qzM/j3ggnJ6f09PTy8nLRNtvikJeXr3uDL0JyIBF8j4iNjfzyywnBwf9eAOju7r5r166my3Bp8hMEnRh5Xzh1av+QIS6cAmpp6UhLS//99990jI8gmhQSQfFTWJg/b97E776bWlT0zxHALl16eXoGCp38JQiiKaB0WMwEBDyCAiYkxLC3srKyX33149y5S0kBCaJ5IBEUGzU1NVu3/rZ+/fLKygpWYmJi9uefRzt27CrewAhCoiARFA/p6alffTX5wYNbXMnQoeN++22nmpqGGKMiCAmERFAM3Lx56bvvpmZnZ7K3ysoqy5dvnDCBbnpKEGKARLBZqago/+WX7w4c+It7Nqa9ffstW45bWdmJNzCCkFhIBJuPuLioWbM+DA0NZG+lpKQ+/XTukiXr5OTkX7VKXl6esrJycwVINAn4EsUdAtEQJILNxPPnTz75ZFBWVgZ7q6Oj9/vv+zw8hjSwira2btu2bZslOqJp0dc3FHcIxCshEWwOHj70nj59ZGHhPw8I7tbtg40bD+nrGzW8lp9falVVZdNHRzQ5MjI00d5f6Ltpcjw9z8ybN6ms7J9738+atWDRot8acxkg6sjKyjVxdAQh6ZAINi0nTuxZvHhWZWWtoYOo/fDDms8/F74PPkEQYoREsAnZtm3NmjU/sBPBsrKyq1fvHDduqriDIgjifyARbCp+/fX7nTt/Z8sKCop//XW8f/8R4g2JIIi6kAiKnqqqqoULp586tZ+9VVVV37PnQpcuvcQaFEEQ9UMiKGLKy8vmzBnv5XWevdXR0T90yNPBof4b4hMEIXZIBEVJYWH+Z58N9/W9w962amV++LCXhYW1eKMiCKIBSARFBhRw3LjeISEB7K2NjQMU0MDAWLxREQTRMHRTVZExf/4nnAK6uLj//fc9UkCCeP8hERQNO3asu3btHFvu2bP/0aM3NDS0xBsSQRCNgURQBDx+fG/t2iVs2dLSZvv2v5WU6K4HBNEyIBF8VzIz0+bMGc/uDq2srLJ9+2kVFTVxB0UQRGMhEXwnqqur58yZkJ6eyuP/Ku7XX7fZ2jqKOyiCIN6AFn92+OrV05GRL8TV++3bnr6+t9ly+/ad09JStm1bI65gCKL5iYoKFXcI70rLFsEuXT6LjX2Ymhomlt6zsxNDQ/+5JFBVVUdZ2fbePfFEQhDiQ8rNbZq4Y3gnWrYI9ugxEy+xdJ2ZGfvrrx15vNqbI6ioaC9e7K+jYy6WSAiCeBfomODbUFlZtmPHh8XFObzaQ4HSU6ceJAUkiBYKieDbcOrU/ISEp2x54MBF7do1dJd8giDeZ0gE35iMjOi7d3eyZTs7jxEjfhZvPARBvAskgm/MtWtrq6tr7xStqKg2ffoxpMPijoggiLeHJvCbkZeX+vDhAbbcs+fnamr64o2HIIh3hETwzfDy+r2ysgwLcnKKffvOF3c4BEG8KySCb0BRUfa9e/8cDXR3/0RD4zXPzCQI4v2HRPANuHVrc1lZIRakpWUHDFgo7nAIghABJIKNpaysyNv7T7bcqdN4XV0L8cZDEIRIIBFsLHfubEM6zONfHT1w4CJxh0MQhGggEWwUlZXlN26sZ8tOTkONjelWMQTxH4FEsFE8fHggL++f+2UNGrRY3OEQBCEySAQbRUiIJ1uwseltYeEm3mAIghAhLfsuMiUleQUF6c3QUVJSIFto3dolPT2yGXokiJaCurqBoqK6uKN4e1q2CG7fPiIuzk9Gpsm3oqgony3cu7ftwYNdTd0dQbQUqqoqLSw6f/21t7gDeXtatghWVpZs2XK8b99hTdpLdHSYh4c9W7569amlpW2TdkcQLYjr1y+sWbNK3FG8E3RM8PVERf1zv2g5OXkzszbiDYYgCNFCIvh6uKcomJlZycjIiDcYgiBEC4ng60E6zBasrOzEGwlBECKHRPD1cE7Q2tpevJEQBCFySARfT3R0OFto04ZEkCD+a5AIvoaXL5MLC/+5PobSYYL470Ei+Bo4BQSamtpijIQgiKaARPA1mJiYSUlJseXExFjxBkMQhMghEXwNSkrKuroGbDkhIUaELaelpezatX7kyC7u7mbca9WqBdnZmUI1q6qqQkICRNh1AyQnx2dlNccvEeuSkpLw449zp0wZcP/+zVfV+fzzMYLDxV69e9scPLg1NDRQtPH4+fmg8eXL54m22bpcu3Z25Ej3deuW5OXlNHVfRF1IBF9P69aWbCE+PlpUbUIB//rr1zVrfggM9FNUVDQ1NS8tLYYK7NmzYebMUS9fJnM1fX3vuLjoP3p0V1Rdv4rU1KQFC6avWPGVYO/NSWVlZU5OZnp6amlpyavqZGamYZSEXnFxUStXfjNhgseyZV+KMJ6yslI0npOTJcI266W4uAh/D7m52dXV1U3dF1EXEsHXw4mgqJxgTU3NpUsnYV5MTFpv3/63t3f4yZN3AgIyvLye29g4+vvf37r1t6KiAlb5wYNbJSXFMIMi6boBkpLi4uIiy8vLEF5T9/WO3L4dER9fw72ioyu2bDlRUJB39+614OCn4o6OaGGQCL4eMzMrtiAqEcRExXSVkZEZP/6zAQNGceW2to4bNx6ysrI7eXJvUVHtw0xgRiorK3i1LqkCy0wKsVxRUY5liCNMBJYhWyjES0i/oGh1XRUMF1bMz8/FR1iXFaI1VK7mw3WE5bqaiNW5CiwY1EEh/kXMaJCzM2x1aBOCRF/1aisLBmkgF8lbgJHs3r3vtGlfZWS8PHbs39tboEc0i96xsdipIAbBfUm9gwNQiI9e1Re2FxWwUdhY9tXU2wI2ChYS28VGVagCShAY18j7v9f5b9Oyb6DQPIg8HZaXV1BSUtHTM9TR0cO0FPwpHnRw4MBR6uqaqqq19yZat26pv79PVVWlt/eVwsL8Dz4Y2qaNPZYxu6CVJ07sxXzr0aNfr14DIKxZWRl9+w4zMmrFtbZz5x9ZWekLF65WVFTi8UUhOTn+4cPbPj43Hj70HjJkLPQd/2pp6cJ+HjmyIzExVlZW7sCBLdLS0u3bdw4I8L1z59rYsZ+2amXOnR3Cuvfv30QkXbr0grLcunUlJiYcYYeFPUcM7u59PDyGWFhYI9rg4AA/v3unTu23s3OC5x0xYqKNjYOysgoXXkpKIsKA1cUWzZjxbceOXaHubzekcnJyMNHQlNDQIFaCkYmKCvX1vfP06cMnTx6Ym7eBULZr19HNrZeSkjIqHD26E9s7e/YiHZ1/Hh6N8UlNTdq7d6OFhc2kSZ8LdYFvChkrQg0JCcCwYBv79Bns7t7bzKyNrOw/8wiSh406cOAvKO/x47vx/U6c+LmrazdnZzcNDS1WB0GGhQU9fnzv3LkjhoYmH3wwDBpdU0OJsNggEXw9nAjijxXqw/01vzWQjG7dPrh589LNm5cNDVtZWtpApNAsxBGffv/9r1xNKGBycgKMA0yotLQM5rCRkSlm4I0bFw0MjOHIoFnQF8wxT8+zEREh1tZtBUXw9OkDMTER8+f/xEQQc+/bb6empCSYmJhBgu/e9UIKfPHiiR9/3JCWlgL5KCjIh/xhkkO/oLboCPMZC+iLxQagKSjU1zeCCMLv3Lt3/cqVv/EWgqilpRMY+BhzHiZo795Nf/+9X0FBUU1NA8oLfUT6v3jxWogLCyY6OmzevEmQIVNTC2zU6dMH9+zZqKKiyj59U6A+UDqMhra2LnuLIfr996VlZWUo0dU1QEj+/g82blz52287R46cKCcnj13aiRN7zM2tP/poOlZka23duhqbs2zZ+rpdREQEr127xM/PB6MBGX35Mnnjxp8OHtyC0cNQsBauX78wZ854bDL+ZhwdXfDFYbv27/9z3Lipixb9hjHEiJ06tW/XrvXYsWlqamdmpv/55y/46vGn9RZbTYgEEsHXw6XDPH5GDCV69zbhiTp37nHnjue1a2fhgKCDXbt6QG6gaPBlUCJW7dw53/Xrl2/fvvazz76ZMaP2We+wKjz+oXToznff/Yz5Bil0cHDW1dWHDDVwJSMSz6+/ngLRmTNn8Zw5P6AE+rhq1fewJAhj3rxlxsam69YtwfSGCmMCowLMjrKyqrW1PaeA9YK0DpYHkxzOCMFACuElMflhAL/9diVr6vZtz02bVmL+u7n1bNu2Azbwyy8/gg7CiH399XIe/4jkL798d/XqaTu7dm86mNgzhYYGQgQhT5Mnf4GSyMgXhw5tha/85psVECAe/0zU+fPHIGSenmc6dnS3tLSFMcQOACo2evQUJmEYIoyGoqIyXLBQFzC2Z88egWkdPvwjxIyRQSG88+bNPy9b9uWRI17Gxq1RsmPHOmzaxx/PZnsyjMalSyfnz/8Ee47w8GD85cBx//33AQzRp5/O/b/2zgSspryP4zeSJdlVEqWQFilFC6JIxJRMgyKGNCSRrUgY22sGjYimGWlQkRhiLGFIliK8hSyNpaxRiKSoRu+3+5/nvHduSW7lVuf3eXo855577v/8z73O53x/Z0Vsx+8VFfUbZMr2fhBSgST4aaAbqAHbcIHwOuIqkSBcAO+gIsPqij+swCgbUXXa2Izo338IkgUyVDkfh3SwChkamlZ8jihaMSPENGZAAPNOmTIPJV75jvskSFXwuIPDOG5GWBykG1dXL2ZAMGDAEHhk8WLP6Ogd2ABA4tAW4hIzIMCywwvIlRWZI0pyLAv3EtEVOkPetLMbgxlhDPSHDnTvbqynZ8imgR81NbUwEpEQ8RBjUNGrqqpdvXrp5cssJFCMwcDdu6l9+w7ENyM2x9u3byLMYnNoa/s1MyBAqr1w4TSsincVFVVQFGMpkLK5LI8fERs2bKhycl6je/ifg25fu3Z50qSZzICYBo6GGQ8c2Pm5XztRVZAEKwQK2OTkRAxERm7h1vZKAg+ieoVVkS8Q0BCFsKpERoagpEKAsrV1LMdN8vIKomVvRUAkQd6xtrYXHYlQtnp1SLNmLSRcBiFYmbW1e3AvX7zIYlp5+fK56Ll7MAI0AQv8/fffCQmxMjIypqYDxNrR0elRkcJw3bolcDc7yoF2MPemTRXGjZsKubAJDAx6//rrPkHJAxjyEN7ZoXYIDpkR3zlTHoC7b926dv58HDslHgNNmsh//fWE0nPEEmVlPUXiFrt0EnESP9/Jk4eMjc1lZRWCgqIEwn2LmPjFi0xESwgaEmQTo88oolGbI+2KZnYzswEVtD9RHZAEKwS2+UyCFy7E3biRDHdUSbOtWrVBUYw/gTDOZGU9O3HiYHR0xJo1ftAuyknucEQ1AR1U/kbZEIeycnvuJYyTm/vm6dNH27ZtZId3OFA4nzp1pKioEOrHonGRSrSdikgQNW9eXi4Ug2GUnxYWNo0aNRJTKoyDIhTfKqp+dv45FlbspD8bG4e9e8P279+BDRv6gwFseBCWS8/x/v27f/113d7emdtBXCYoupOSzj958jAt7bbwXILi588znzx5wNSJ7Vxq6jXEzE6dxJMmIUVIghVixIixP/ywANt2bOS3bAnw999amdawZp48eRhxABGA0wRShvBfA5SNR478jlSCzML2VdUuYB/8YblQCbZtqyz6FtuTUMnqG8BZYgIVIyPjUVRUKLYo79+/Q4mKidGf+vXroxQVnQybH1S4586dQK2akVFyqHrQIDsVlQ4Sd2z9+mWnTx/DgLp6ZwMDk4YNG+IX/PvvooICyU8AIqobkmCFwHqLMLhhw3IMHzgQuWDBj9y1dBKAuiw0NMDQ0BTrp7a2vuhbsAZG1q8vyw4KV7BBVHkIWcg7yEef1ROUrqdPH0WkKvM5LajpIBEI5bN03Lx5S/wpKiq7uLhz+wQZiGYtW7Zp0ECuY0dNdr6O6Lvv3uUjC39W/z8Giu6tWwNRJs+a9T1K3fbtO8rLK8CJR4/uE5uyV69+168nQ3+Ib/iVHRzGltkgGoFJkQcx2ccsie3Wrl2hHTt2mjt3RYcOnfT1jTEyNTVl375wNkG7dqrI3TExex8+TGPxn6gJ0MnSFWXCBA8WYQoK3m/fHlSZpuCUXr36IpVAQGLVH4yDivvdu7x+/awr/hQ9GAoTo8aEtriRiYln8vLeci+trIYhkpw9+699T5DFTz8tQfAsswiFrVBsJicnip5UfPLkofI7g/UffygexRwHF6xevTA29jC6YW5uCQkignH3pIBtb926VlXX/6LD2CSgdLW0tO3aVRcGxMibN6+WviLQ0XECFjMs7GcsF75D/C5lNqio2E5FpSN+MiwXNxLF79mzfyK5m5tbNWzYCIVwcfGHvn0HDRv2DTNgYWEBvmF4kE3furUitgpYUiym6Bf+3/+ef/36ZZUsOCEBJMGKguj31Vej2XB4eHBlrnDQ0OhqYWGDoBcR8cuqVT6RkSHQEP42b/5pyZIZKSlJfftaGxj05k6ixpS3bl1FkPnYbWzk5Zs2aSKP9So6egfMAvchlaA0E70XA0rRgQOHX7oUHxKyDu1AE5hmx45fULpCE1zdiiyGFpB3BMIjFRDE/v07EH6x6t6791dg4AqxirI0CE3ofH5+3qZNqzCvzMwMtIbNRlDQDxcvnkHyhWswO09PvwcP0r7/fmZc3FFsV+LjTwYHr0ZnJP5WS4PFZOdOI/BiEdDz7OwXly8nPH/+/7yppaVna/v1jRvJ168nDRniwJ04LQZioJmZJXyHH4uduI5Uu3q1L4bhTUNDE2yHUP7LyNTDN4wvSiA8jWn37q2//LJGtB0dHYOePc2OHdvPfgVodNeuLdgW0ikyUoTK4c9g8uRZe/eGIcK8eJG5b18EOwFNApAasL6hnfDwn6OjI06dOsIyZm7uG1jAwmLwzJmLuX2F3bp1R3RCTkEGcXOb87GoYm1th9UyLi4GeRCxBes5QhASB9Z/NgGUOnv2svT0O3DN4cN7GjdugmkwO8SWceOmwqFY//EHU6CQhCwmTJjep89AI6ODx48f2LjxP/gIuoeejxgxFr4uZ+nQ8siRLvDvnj1bMS9UoJD4o0fpmN3kybP19XuxsyBdXb0aNGgAU6PGZMdD8EFT0wGvXlXBDQugdXt7Z3xp3t6urVq1YRfM2dk5YS6wrZhxbG0d8WsKBMUY+FiD2B6MHj0pP/8tNjP4IZSUVPDVpaX9hap2xoxF7AxtU9P+UDxkOnv2hObNWxQWFuJLwM/XrFkLdnanoOS+vFr4X7Rhwwr89EiR+FEePbrfqFFj0QtpiC8MSfAzwGbcxMQCAQrDoaEBEktQIMyVDg5jYbT79+8gOLx58xoj4QINDS1VVXXhbsF/YiDKq507T5w+fQyriopKhyZNmiBFIk2YmPQXbRBj1qwJjY+PffbsMXuJOIb0l5eX27DhP9dgoAxfvz4iKyuDLULjxvIYg8KN7eRSVVVzdZ3Vo0fvnJxsrKswFDrp7f0fGxsHiBU3hbsNAAAYLUlEQVTJV01NEwpTUGimrt6ZhWKowcnJDcFWXf1fhymwIN99N2f48FFXrlxk/YE60aaWVndubcdnx4/3MDIyR/DENgA9QSiDKOFEjPzY9+buPj8l5TL6UP7Xiy/Qx+c/SL6pqdfwsmXLNpARvo2uXXVg9nbt/rVTDyKDvLBNEttPp6ysOm/eSmPjfzqDTcukSTONjfuiTfZ7eXktgW07dFBnO0wVFJr7+2/FIqen3xYID3Yj0SsqKmdnv8QXyE65x5Lip1mxIujChTiW69EmyvaEhFj0qvyTQ4lqgiT4eUya5MUMgjoLmcLc3ErippD1sGZ27tzNzOwtO9sD6wDSEHe5CAM5Ar7r2lUP4/Eu6lOEPsQWtp+LA5+FR1RUOqJuZZ+SlZUdNOgrpDA5OTk2DcSKtR2u0dMzYi+xoqJB9i7WTwODXlpauogwDdFco5ILbLF+IvX062eNdjB3dtXtxIkz2GluWPlhFkiwdJCBMvCHLrH+oD1MI3bGDxpBjamt3QOLhnfRAZiie3dj7jy+0lhYWMNKnzyxEcvOLg1Ez4WLJofFwUjoFVsysd4eOrQbkdnFZZrYCT3q6prjx09ji8zAVoF1gP1ezZo1FztehO8W3xg7rx5fL7vCkl0ZyV1fjMXES2wn2J5WCF14pEijfn1ZyS4ZJCoJSfDzGDzYHisqu5PCypXzoqMTOIlIBtaiT67ScAcruBjlOAJvib5bZrKAcURbE+sMd2avaCNi7Yie6It1u5yLqcX688nO4Mss//uEQSp+hg2mbNXqXxOXbj8l5b/+/otRLItess0o86f55O/FbSo42NZLbDKIWNTFpb924otBB0Y+D/ho8uRZbBjrz7Jls6XbH0JioqJCzc3VHR37ZWZmuLv7lC9rog5DEvxsUDehiGPDYWFBMTF7pdsfQjJQF2OTVlDwfvp039IxkOAPVA5/NlhzAgN32Nj0YBeQzJvnqqfXU1VVXdr9Ij4P/GrnztGTswhKghLRtq1yQEAYO4KRk/PKw2P0x24yTBBEDYckKCEWFoPd3X3YcHJy4qpVPtLtD0EQkkHlsOTMmbM8MfHMxYtnMbxlS4CZmWWZV+BKzPDhRs+ePanCBglpoaSkcvDgJ660IaQFSVBy6tevv3Fj5NChBi9fPi8uLp47d+Lhw0mVuQeJGDduXImJiVFULPtCLqK2kJmZOXToUGn3gvgoJMFKoazc3t9/q6ur3YcPH7KzX3h6OkVFxYk+OKmS6OjoqKioVFVrhFR4/Fg6z3EmKgjtE6wsVlbDXF3/OXPw0qVztHOQIGoXJMEqYP78HwwNTdjw5s3+a9cukm5/CIKoOCTBKkBWVnbTpl0tW7ZmLwMDV1AeJIjaAkmwamjfXi0i4jjnweDg1cuWzZJulwiCqAgkwSpDV9cwMjKWuyvnli0BixZ5SLdLBEF8EpJgVdKtW/ddu2K5uzRv3x7k4+NWXFws3V4RBFEOdIpMFdOli05UVJyTkxV7nEVkZEhRUeGaNaFidwn88jx9+tTf33/EiBF9+pTxSMnyuX379rp164KCxJ+s8uzZs+joaHl5+XHjJHkW8/v37+/fv9+kSRNV1X89Qzk1NRXN3rt3T2z6SZMmGRkZcTfmqyaeP3+enp5ubGxcrXMhag6UBKseDY2u8KCKSkf2cs+ebV5eLuxJ4VLk1atX4eHh8IsEn23ZsiU+Xmabx48fP336tGRdevToUUBAgIKCgtj4J0+eQIIZGRnCsy+zmzVrBl1evnzZx8fn0qVLFX8InwS8fPnyt99+CwsLq75ZEDUNSoLVgpqa5u7dcWPGWLFbqO/fvwN5cMOGHdWdYqqJNm3aLF++vMqbzc3NTUhIgOaaNy/jlqIDBw4cOXIk9AcJ5ufnv3jxwsHB4cSJEz179uTulV3l5OXlpaSk5OTkVFP7RA2kVq6TtQJVVXVWF6en3xEI7+EODwYFRdWE56mfOXMmJCSke/fuiFcPHz5UUVHx8PDo37/koSVpaWlRUVGxsbEwlKDk7tkr+/bte/369RkzZpw6dUpQ8ji6LF9f35s3b8JNOjo6os0eOnRoy5YtmZmZgpIHP1m7ubmxy12cnZ1Rg9+9exc5Di+nTp2KMYiB3377LQpt/ItqevLkyWKdRJncocP/r0FUU1Nr1KgRjMn2sSYlJWERrlwpeUQnqmk4ukuXLg8ePNi8eXNBQUG7du327NmDuaP8t7Gxad265Kg96uulS5eiG4KSZ+91X7t2LQp55Mq5c+dqamru3LlTUPI81QJU6IjtEyZMmDJlirn5R592QtQZqByuRlRUOsCDGhpa7OXRo9GurnavX2dLt1cCYdG3e/fuAwcO9OjRw9bWFj6CO+A1vLV69er9+/dDIvAUNASRIRx17tw5Pj5eUPKU99eenp7Hjh2D1CDHuLi4P//8k7V5+PBhGLBhw4Z2dnaWlpZoZN26dc+elTzcEqqFfSCviRMnvnv3bvHixdeuXcOUXbt2RS2MdrS1tUt3EjJCJ4ODg2HkiIgIWBitjR8/nsXAUaNG3blzx9XVFQJt0KCBl5cXfIrAiKXAR/74448hQ4ZgKdasWcN6CPfNmzcP84UWe/fuvXfv3jlz5rB9FOgYhKivr29lZQW/o/aH39E3/PulfhBCmlASrF6UlFRQFzs5DWQP7T51KmbIEIONG3eW80C1LwNC0KBBg2A0GRkZxCvUgDDI0aNHz5075+fnN3jwYMQuiGbDhg1IW9yxFAgR4oNxpk2bVq9ePT09PcQogfCoS0xMDF7iLXwQ8QrpLDAw0NHRUUlJSVDytLkR8+fPb9GiBVpGZEMURR7E3GE6jMdHSvdw48aNsrKy8BSsV1RUhE9B0PgXHcZbysrKYWFhqKOhMBMTk0WLFiEbwun4YK9evRBg0Rl8ytvbe9++fQYGBvgXBTW8jHfRJmIvFsHFxcXMzKxp06a6urqrVq2qX78+Ng+GhoZv3ryZOXNmmb0i6h4kwWqnTRulXbtOOTsPunmzpHZ78uTBqFEDZs9eOm3afLGnr31JIBEoAyoUCEvXxo1LnnMGx8EynTp1gq3wEhZYuHAh1MD6CXdcvHgRypg1axaLY4hLcI2g5DHnD1NTU8+ePbtp0ybWPupKWJU7HAThoiaF1OBEaAt5EA5FDETjaLDMHiI8IvdhYMmSJdu2bcPwmDFjWD+PHDmSmJjI5Uc4Fz1HJ5kE0X+Yjh2OR/eQ/tAZpFEU13gL8VZQcpuy4SjAT548CQmiV3Ai2y/56tUrLBqi5cd6RdQ9SIJfglat2uzde87Xd+q+feF4WVRUuHq1b0JC7Pr14dzJ1V8YKIO72w3WeW4Y7hBVM4pW0U8hW+Fd7rgEhplroCH4ztTUFLWt6PTcTj2M/9yDQrAVKlMMrF+/Hu2jUIWsWYlaWFiIcNqv378eE6ypqSnWK7Y4bJj1nFs0trxoR/QlwU9Igl+IJk3kAwLC+vQZuHjx9Ly8t4KSoxPHbWx6wIMYKe3e/QNccOPGjczMTEgH7oAjEJ1CQkJsbGzYu8hNyEpBQUHu7u4CYRWM6SE4TIx3UQK7urp27NgRWQ/5Cznrk3PElGxe5UzD6t8LFy6MGzfujz/+UFRUtLS0RDxE8Q6x4l106dKlS23btmXTo0EoD21iAPkUi4NhTHn16lVUu/AyZoqqXyC0fzkdk2JOJ74kdGDki/LNN98ePHhJW1ufvczKeuriYrN2rZ90zyLE3NnJd3Z2dkZGRiiBg4OD09PTx44dizIT4uO6hwK5Z8+ea9eujY2NhXdQ/KallZwDhPJz6NCh8fHxMCb0h4F169adOHECH2cf5DKXGA8ePMC8Xr9+/clOzpgxA/M6ePAgmrKyskJPMEfUxX/99dfs2bOnTZt2+/ZtNiVGent7HzhwYP78+RgeMWKErq4uBAozoufXr18/duzYypUrUf9iAoEwJHJzgfigy4yMDJTb79+/l/w7JWoPJMEvjaZmtwMHEseNm8rtaAsMXDl69ICMjEfVOl8ktVatWrGd/ahnW7RowVW1WVlZubm5rFxdvHgxAt3SpUuNjY3hMtikcePGV65cYWeZoD795Zdf0PNRo0YNHz4cIcvJyYntPhs9evRXX30VGhqKmGZvb3/q1CkoRktLi33q5s2bnEnRFNu1hyCGwIU5enp6inYV49E9sUrcxcVFW1vbx8cnPz/fxMRkxYoVSHnjx49HDk1ISIDjHB0d2ZTy8vIQ9OTJkyMiIpydndldndElTJyUlITuQe537txBV7HI6ADsyfoDYEZzc/OHDx/OmzcvLi6umn4LokZB5bAUkJNruHLlz+bmVj4+bm/elISgixfPDh1qsGZNqLW1XTXNFNWir68vuxpMR0dn5syZ3bp1Y28NGDAAtmrfvj2GO3fujBB38eJFaFFPTw/TQ0mIh5AOm1hNTQ3v/v77782aNevSpUt2djaTabt27VavXj1y5EgkQbwcPHgwpmQfQVKzsLBg+93w7/Lly5EcBcIjGJGRkbdu3VJXVxftqqamJsrtrl27ii3Czz//jFkzjyMYIqImJyfjJVrjloUtDt6FGbFEeIsrkyF0pEK0gHwKD7IjJOgPxnPbAwgdftfQ0EDhLNomUYchCUqNYcO+0dc3nj59THJyIl5mZ79wcxsxceKMhQvXVMcJ1chWWPPZsJoQ7q12QriXnYWIfdzV1ZUbRqJ0c3Mrcy6mQsRGQivcMFLkxIkT2TDyVz8hYtOjMyjMSzeuI4R72UtImd3QE1J6fFchYiNR4Iu+VFBQQFoss1miTkLlsDTp0KHT77+fc3Obw44MoDQLDV3v4GB+//5daXetVoJAh/SnrKws7Y4QtQmSoJSRlZX181sbGvpH69b/VG1Xr16yte25dWugdDtWG0Hli7Tr4OAg7Y4QtQmSYI3A0tL2yJFkU9P+7GVubs6SJTM+fPiQnJws3Y7VLpo2bdq7d29DQ0Npd4SoTZAEawpKSio7d5708lrCnVSM6tjOzs7Dw6MiZ5AQBCEZdGCkBlGvXr1Zs74fPNje13cqO1ry999/BwUF7d2719/f39nZuWpnB8meOXOmoKCgaputdcjJyfXr149OjeYtJMEah66uYXT0+fDwYD+/aWzM06dPx44dGxoaCiGWPrgpMZcvXx48eHAVNlhLSU1NjY+PNzIyknZHCOlAEqyJIJW4uLgvWeJpb2+/b98+dge9EydO6Ovre3t7L1y4UOxEYskoLCxUVVW9evVq5Zuq1Whqan7sghaCD9A+wRpNYGAg3Medtfv+/fvly5fr6urGxMRIt2MEUWcgCdZ0LC0tEdbgPu7Srrt379ra2o4aNerJkyfS7RtB1AFIgrWABg0a+Pn5paSkDBkyhI1Bgbx7925tbe2AgIBqffAQQdR5SIK1Bg0NjSNHjsB97CJfkJOTM2vWLGNj4wsXLki3bwRReyEJ1jIcHR1v3brl5eXFnU6YlJRkbm7u5OQk2eM0CYLnkARrH02bNmU3ejExMWFjUBFHRkbq6el9++23pZ9ZThBEOZAEaysGBgYJCQnBwcGtWrViY4qKirZt29atW7fvvvvu4cOH0u0eQdQWSIK1GBkZmSlTpty9e9fPz09BQYGNLCws3Lx5c5cuXTw9PTMyMqTbQ4Ko+ZAEaz0tWrRYvnx5Wlqat7c3e3qcQHhG4caNGzU1NefMmZOVlSXdHhJETYYkWEdo3br1jz/+eO/ePdEH5ubn5//0008aGhoLFizIzq76h76j9G7btm2/fv2UlZXNzMzat28/bNiwHTt2VPmMCKL6IAnWKRQVFQMCAu7cuePu7s7dMj43N/eHH37o1KnT999/n5OTU4Wze/HihZub2/Hjx9PT02NjY1NSUuzt7dnDjKpwLgRRrdC1w3UQJLKgoCAfHx+Uydu3b2cXxr5+/Xrp0qWBgYEokJEWucK5ksjKynLBEwMmJiYrV65MSkrS1dUVCE/fOXjwoED4OBFLS0t2huONGzeeP3+enJyMLvXu3RvjL126BId++PABLcybN49rHDV+eHjJk5rbtWtnZWWFSIthpN1Hj0oeSgXVoh1DQ0O0UFWLQ/AQkmCdRU1NLSQkZP78+XDfzp072cPeXr58uXDhQqRFKJI9dKkKycvLg84EwiM20NOGDRsgxA4dOiCTwlzTpk1DVQ6dRUZGnj179sqVK5AgHP3NN9/ExMSwp7afO3cuMTFx9+7dSK/btm2bMWMGym3EW3jTwcEB9T48iIn37Nlz69YtjH/y5AnS6K+//urk5MQenEQQnwuVw3Wczp07h4WFXbt2bdSoUdwzzrOysubOnfv1119DQ5V85PGpU6eOHj2KQhuJb/HixfARPDV27FhI6vTp0yjDUZtDYampqRkZGfv37y8uLkZIhLwwfVFRkbOzMyIhZHf48GHYDRMgPAqEdw+D6dBJDFy9ehUTI/fB6QLhTV9g2ylTppw8eTIzM9PT0xOKhwor/10R/ISSIC/Q1tbetWsXbAJPHThwgN2bi4nDw8MjODhY4pYR/ZDC2HDjxo1tbW1Ra7PGb968iRy3aNEi9u79+/dhuj59+mAYH1FVVWXj+/fvj+Idgm7QoAFqYXZrr7dv36anp7u7u7NphgwZAo0iJGIkXg4dOnTkyJHsBMkePXq0bNmSYiAhMSRBHqGvrx8dHQ1tQYWIXUyFhw4dqkybCGvLli0r863s7OwTJ06g8uXGwMUwndhkXl5eSKPh4eE5OTkbN260sLCArzFeWVlZ7MGbD4VUprcEURoqh3mHsbExEtm5c+fMzMxkZWU3bdpUHXNBskPZu2XLlgwhjx49SklJWb9+fekbWUN2SIKPHz9esWLFggULzp8/j0/JyMig1EWdy6bJz89/8+ZNIyHV0VuCz5AEeQoM6O/vr6amVuZjzisP1KaiooICFvqDzqC2SZMmrVu37tWrV2JT2tjYwH2IeC4uLihyoU6YrlmzZhiIj49/8OBBVlZWVFRUREQECuePPW2dICSGymFCctq0adO0adMy3+rSpYutrW1AQAD0p6qqmpSUpKioOHDgQLYjD5qrX78+m9Lb29vPz+/+/fvq6uppaWlIfKampkpKSmPGjPH19b18+XKPHj1u377dvXt3a2tr9pGGDRtyN9ERbYogJIAkSEgOJKWjo1PmWy1atPDw8Bg0aNCePXuQ8kaPHu3g4KCnp4e34EHkxObNm7MpEQCLi4vfv38fEhIydepUZD02mb29ffv27Y8dO3bv3r25c+eiimfHUvDBnj17ogX2cSMjow8fPnBOJIjPhf7rEJIDf5U/gZaW1sKFC8VGcoGOY/z48fjXzc1NdKS8vHx/IWITIyeKvuwqpOJ9JggxaJ8gQRC8hiRIEASvIQkSBMFrSIIEQfAakiBBELyGJEgQBK8hCRIEwWtIggRB8BqSIEEQvIYkSBAEr6HL5nhNQUHBlStXpN0LKYMvQdpdIKQJSZC/KCkp1atXb+jQodLuiJSRk5PDVyHtXhBSgyTIXzQ0NNjd6gmCz9A+QYIgeA1JkCAIXkMSJAiC15AECYLgNSRBgiB4DUmQIAheQxIkCILXkAQJguA1dLJ0jebMmTOtW7eWdi+ISvH8+XNpd4EoD5JgzaVv34FLl66Udi+IKgA/pbS7QHwUkmDNZfv2o9LuAkHUfWifIEEQvIYkSBAEryEJEgTBa0iCBEHwGpIgQRC8hiRIEASvIQkSBMFrSIIEQfCaWn+ydGLimby8t9LuBUHwlGvXLku7C5WldktQV3fY2bNxZ8/W+p+BIGovOjq20u5CpajdErS1XSztLhAEUbuhfYIEQfAakiBBELyGJEgQBK8hCRIEwWtIggRB8BqSIEEQvIYkSBAEryEJEgTBa0iCBEHwGpIgQRC8hiRIEASvIQkSBMFrSIIEQfAakiBBELyGJEgQBK8hCRIEwWtIggRB8JovdGfpt29ffpkZEQRBfBbVLsF6MvXevXsze3br6p4RQRB1j3rNlat7FtUuwXHWc/68vLu4uLi6Z0QQRB1DRkbG2nhUdc+l2iXo2N8df9U9F4IgCMmgAyMEQfAakiBBELyGJEgQBK8hCRIEwWtIggRB8BqSIEEQvIYkSBAEryEJEgTBa0iCBEHwGpIgQRC8hiRIEASvIQkSBMFrSIIEQfAakiBBELyGJEgQBK8hCRIEwWtIggRB8BqSIEEQvOb/t9e//fhqsYCeBEIQRN3nzuNr3HCJBOXk5PDvqgh6EghBEDyCqa9Egp6enjIyMgUFBdLuEkEQxBcCBpw+fToGZOhhmARB8Jn/ARUIFNwXvx/uAAAAAElFTkSuQmCC) + +The following example shows a simple person in the Digest, with a Structured Payload that adds additional data for the person. + +``` + … … John Doe http://somewhere.gov/new-community 1.0 strawberry blond +``` + +As shown above, the lexsdigest:Person in the Digest has been assigned an s:id of 'A', and the new:Person in the Structured Payload builds upon the Digest person by adding hair style information and referring to the Digest person through use of the lexslib:ref of 'A'. + +There are cases where the SameAsDigestReference may be needed in other places in the Structured Payload. For example, the Digest allows multiple alternate names for a person. So if a Structured Payload adds content to an alternate name, such as a name prefix, the alternate name in the Structured Payload may require the SameAsDigestReference so that the name prefix can be unambiguously tied to the correct alternate name in the Digest; it is not required if the Digest only has one alternate name since in that case there is no ambiguity.. The example below shows a simple person in the Digest with two alternate names, with a Structured Payload that adds a name prefix to one of the alternate names. + +``` + … … Billy Smith John Doe http://somewhere.gov/new-community 1.0 < new:Person> < new:PersonAlternateName> Sir < new:PersonNameAugmentation> < new:PersonAugmentation> +``` + +## 5.3.3 SameAsPayloadReference (3.1.1 and later) + +As discussed previously, LEXS provides a layered architecture where the data contained in a Structured Payload can build upon the contents of another Structured Payload. In order for applications to be able to connect XML elements in one Structured Payload with XML elements in another Structured Payload, LEXS provides the SameAsPayloadReference element to link elements. The SameAsPayloadReference is very similar to the SameAsDigestReference described above, except that it contains two references: one to the Structured Payload and one to the element in the Structured Payload. + +Note that the second Structured Payload may build upon an object in the Digest, in which case the second Structured Payload should use the SameAsDigestReference. So for example if the second Structured Payload builds upon a Person in the Digest to add a new identifier, the second Structured Payload should use the SameAsDigestReference to indicate that the new identifier builds upon the existing Digest Person. The SameAsPayloadReference is needed if the second Structured Payload builds on content that only exists in the first Structured Payload, or to unambiguously build on content in the first Structured Payload. + +As shown in the figures and examples below, Structured Payload objects that build upon the contents of another Structured Payload are defined to include the SameAsPayloadReference element. The SameAsPayloadReference is a LEXS-specific version of a NIEM reference. A NIEM reference follows the definition of an XML idref , meaning the XML instance must include a matching id in order for the instance to be valid. Since the content of the Structure Payload is an instance based on a separate schema, any idref pointing to an id in another Structured Payload will not validate. Therefore, LEXS defines the SameAsPayloadReference attributes as XML NCName, essentially just a string, so that each can refer to an object outside XML scope of the Structured Payload. + +The first example shows one Structured Payload building on another using the SameAsPayloadReference. In this example, the first Stuctured Payload adds an IRC Address object that does not correspond to any LEXS entity. The second Structured Payload builds upon the first Structured Payload's IRC Address to add the first use date. + +Figure 25. SameAsPayloadReference in Publish Message + +![Image](data:image/png;base64,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) + +``` + … … http://somewhere.gov/new-community1 1.0 xyz abc http://somewhere.gov/new-community2 1.0 2000-01-01 +``` + +The next example is more complicated, showing both cases where the SameAsPayloadReference may be necessary as well as a second Structured Payload building directly on the Digest. In this example, the Digest includes a person with multiple alternate names. The first Structured Payload builds upon the Digest AlternateName to add a name prefix. The second Structured Payload builds upon the name prefix in the first Structured Payload to indicate whether the name prefix is honorary and builds upon the person in the digest to add a hacker name. + +Figure 26. SameAsPayloadReference With SameAsDigestReference + +![Image](data:image/png;base64,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) + +``` + … … Bill Smith John Doe http://somewhere.gov/new-community1 1.0 Dr. http://somewhere.gov/new-community2 1.0 true The Doctor +``` + +## 5.3.4 SameAsPayloadAssociation + +There may be cases where a community wants to use LEXS, but has already defined their own schema for data representation without utilizing LEXS concepts. Since Structured Payload contents are based on separate schemas, such a community can use their existing schemas to define the contents of the Structured Payload. In this case the Structured Payload will not build upon the contents of the Digest. However, the Digest can be populated with data elements that map to data elements in the Structured Payload so that LEXS consumers can still gain the benefits of the common understanding provided by the Digest. + +To support this use case, LEXS provides the SameAsPayloadAssociation so that Digest contents can be linked to the corresponding Structured Payload contents, for example to indicate that this particular entity in the Digest is the same as this entity in the Structured Payload. + +This association is included in the Digest, and is similar to any other association in that it links separate objects. As shown in the figure and example below, the association references an object in the Digest, a Structured Payload (since a package can have more than one), and an object in the Structured Payload. + +However, in this case, the SameAsPayloadAssociation exists in the Digest and refers to an object in a Structured Payload. Since the Structured Payload data contents are contained in an element defined as an 'xsd:any' in the LEXS schemas, XML validation will fail if the SameAsPayloadAssociation uses an XML idref to refer to an XML id in the Structured Payload. Therefore, LEXS defines each reference in the SameAsPayloadAssociation as an XML NCName, essentially just a string, so that it can refer to an object outside the XML scope of the Digest. The SameAsPayloadAssociation is defined in the LEXS library schema so that it can be used in Structured Payloads if desired, for example if a Structured Payload needs to point into another Structured Payload. + +Figure 27. SameAsPayloadAssociation in Publish Message + +![Image](data:image/png;base64,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) + +The following example shows a simple person in the Digest, with a Structured Payload person that includes the Digest content plus some additional content. + +``` + … … John Doe http://somewhere.gov/new-community 1.0 John Doe strawberry blond +``` + +As shown above, the lexsdigest:Person in the Digest has been assigned an s:id of 'A', and the new:Person in the Structured Payload includes the same content plus hair style information. The new:Person element has been assigned an s:id of 'SPA', and the Structured Payload itself has been assigned the s:id of 'SP1'. The SameAsPayloadAssociation links the Digest and Structured Payload by referring to the object in the Digest with the lexslib:ref of 'A', the Structured Payload with the lexslib:ref of 'SP1', and the object in the Structured Payload with lexslib:ref of 'SPA'. + +## 5.3.5 AttachmentLinkReference (3.1.3 and later) + +The LEXS Digest includes associations to link LEXS Entities to Attachments, via an AttachmentLink. However, there may be cases where a community wishes to provide a more granular linkage between an Attachment and a Structured Payload object, or when there are objects in the Structured Payload that have no corresponding Entity in the Digest.. For example, a Structured Payload might include a person's physical features such as scars, marks and tattoos (SMT). In this case, a person might have many SMTs described in the Structured Payload with Attachments that are each an image of a single SMT, but since the LEXS EntityPersonSMTImageAssociation links the Attachment to the Entity, there is no way to determine which image goes with which SMT. + +LEXS includes the capability to link individual AttachmentLink elements to objects in the Structured Payload. This is accomplished through the use of the lexslib:AttachmentLinkReference, which is incorporated into Structured Payload schemas in the same fashion as lexslib:SameAsDigestReference elements. (Note that the lexslib:AttachmentLinkReference discussed here is distinct from the lexsdigest:AttachmentLinkReference utilized by the Digest associations. The lexslib:AttachmentLinkReference is of type 'lexlib:ReferenceType' which allows an element in a Structured Payload to refer to an element outside the Structured Payload, while the lexsdigest:AttachmentLinkReference cannot do that since it is of type 's:ReferenceType'.) + +Attachments should be associated with LEXS Entities using the various Entity to AttachmentLink associations (such as EntityPersonSMTImageAsscoation or EntitySupportingDocumentationAssociation) in order to provide consistent context for Attachments. lexslib:AttachmentLinkReference provides additional granularity but should not be used as the only linkage for an Attachment. + +The AttachmentLinkReference mechanism is of use in Publish messages so that Structured Payloads can provide detailed context for attachments, as well as in SR exchanges so that users can better determine which attachments they want to see in order to avoid problems of forcing a user to review all attachments or to determine what attachments to retrieve based on description alone. + +A Structured Payload object may refer to more than one AttachmentLink, for example if there are multiple images of a specific SMT. Multiple Structured Payload objects may also refer to a single AttachmentLink, for example if one image includes two SMTs. + +The diagram below shows a Digest element with an EntityPerson who has two SMT images, linked to the Entity via two EntityPersonSMTImageAssociations. The Structured Payload includes a person that builds upon the Digest Person, incorporating two PhysicalFeature elements. The Structured Payload PhysicalFeature elements are in turn linked to specific AttachmentLink elements in order to indicate which image is for which PhysicalFeature. + +Figure 28. AttachmentLinkReference in Publish Message + +![Image](data:image/png;base64,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) + +The following example shows a simple person in the Digest with two EntityPersonSMTImageAssociations connecting the person with two AttachmentLink elements (the Attachments have been left out to simplify the diagram). The Structured Payload includes a Person with two physical features, each linked to a specific AttachmentLink. + +``` + … … Bubba Ray Johnson +``` + +``` + http://somewhere.gov/new-community 1.0 lightning tattoo, right arm cross tattoo, left arm http://www.xyz.org/LEXS/examples/smt1.jpg true Lightning tattoo image for Bubba Johnson http://www.xyz.org/LEXS/examples/smt2.jpg true Cross tattoo image for Bubba Johnson +``` + +## 5.3.6 Indicating Entities Are or May Be the Same + +If two different packages each contain an EntityPerson with an identical value for Social Security Number, these two entities might represent the same real-world person. When entities have attributes that match, these entities (and thus data items) are only linked implicitly. Business rules can be used to determine when entities from separate data items can be determined to be referring to the same real-world object-for use in a link analysis chart, etc. + +To preclude consuming systems from having to re-discover (or fail to discover) these links, LEXS provides explicit linking mechanisms that allow data sources to make this local information available globally. In addition, many source systems store data in resolved/normalized tables, where the creation of packages involves de-normalizing (duplicating) entity data across multiple packages. + +An issue with the explicit linking of entities between packages can be seen in the publication model. There may be ambiguity as to whether the source system intends for the linked entities to be treated as distinct for display and update (within their data items), or as the same entity (i.e. if updated in one package, must be updated everywhere by a consuming system). Thus there are two distinct kinds of explicit linking: + +- Where the source system effectively stores a single record for an entity referenced in multiple packages, wishes to have the entity data be shown identically in those multiple data items by the receiver, and wishes to be able to update the entity in all data items without having to send updates for each and every one in multiple packages. Some of the DOJ component data sources are good examples of this. +- Where the source system effectively stores multiple records for an entity (or multiple variants of the information for that entity) and needs/wishes to preserve distinct views of the entity in distinct data items, but somehow knows/believes/thinks that these multiple entity records all refer to the same real-world object and would like to make this apparent to the receiving system and its users. In addition, the source system is willing/wants to update the different entity records individually. Systems that perform entity resolution on data contributed from multiple sources are good examples of this. + +As a result, two separate linking schemes are provided in LEXS: one to handle the case where entity records are normalized into a single master table and an update to that entity means an update to every data item that references that entity (hard-linked entities), and one to handle the case where the entities are linked together somehow, but entity information is stored separately for each data item and may be different in terms of detail or actually conflicting and thus must be updated independently (soft-linked entities). + +The first (hard linking) uses the concept of a "source id." All entities with the same source id should be (effectively) collapsed into a single entity record in the receiving system, such that any update of the entity within any single package updates it for each and every data item in which it is referenced. As a corollary, all representations of the entity within a single submission (snapshot) should be identical; otherwise, the results are not deterministic. + +The second (soft linking) uses the concept of a "logical id." All entity representations with the same logical id-but distinct or omitted source ids-will be preserved as separate records in the receiving system, and thus the receiving system will be able to show different views of the entity for different data items. Updates are interpreted individually-the entity is only updated in association with the updated data item-no other soft-linked entities are modified. + +Note that in both cases, the entities have to be of the same kind, for example both people, and the information must be from the same data source. In other words, consumers must not treat matching ids from different data sources as explicit links, nor should they treat matching ids for different kinds of entities (such as a person and vehicle) as explicit links. + +The table below represents four person entities, each in different data items provided by the same data source. Based on the name and social security number alone these items could describe the same person or different people, however, the data source provides explicit links through the use of source id and logical id + +| | A | B | C | D | +|------------|-------------|-------------|-------------|-------------| +| Name | John Doe | John Doe | John Dione | John Doe | +| SSN | 087-67-8945 | 087-67-8945 | 087-67-8935 | unknown | +| Source ID | ATF-SID-765 | ATF-SID-765 | ATF-SID-789 | ATF-SID-888 | +| Logical ID | ATF-LID-700 | ATF-LID-700 | ATF-LID-700 | ATF-LID-901 | + +The Source ID and Logical ID values above indicate the following: + +- Person A and person B are considered to be the same person by the data source since the SourceIDText value is the same for both. +- Person A and person C are believed or suspected to be the same person since the LogicalIDText values match. The data source does not know they are the same since the SourceIDText values differ. +- Person A and person D are different people, at least as far as this data source is concerned since neither the SourceIDText nor LogicalIDText values match. + +Hard links, soft links, and implicit links are all between entities in distinct packages, and these packages may even be in different messages and/or message containers. Using the person entities from the table above, the links tie the John Doe entity in package A to the John Doe entity in package B. When these John Doe entities are hard-linked together, then they are by definition always identical-updated in sync and displayed identically for all data items. But the entities in the package do not exist separately from the packages and they are not published or updated separately. Operationally, data sources still update a data item by providing a complete updated data item; it is just that other data items may be implicitly updated as well if they contain a hard-linked entity. + +LEXS 3.1 uses NIEM's Metadata construct to implement linking using the elements SourceIDText and LogicalIDText. Metadata elements are contained in LEXS Entity elements, such as a lexsdigest:EntityPerson. A specific element, such as a lexsdigest:Person, states what metadata applies to it using the s:metadata attribute. + +The example below shows the case where a single data source provides three different packages that include John Doe entities. The John Does represented by Person A and Person B are hardlinked to show that the data source considers these people to be the same record. The John Does represented by Person A and Person C are soft-linked to show that the data source treats these people as separate records but suspects or believes them to be the person. + +<!-- Person A--> + +<lexsdigest:EntityPerson> + +<lexsdigest:Metadata s:id="MA"> + +<nc:SourceIDText>ATF-SID-765</nc:SourceIDText> + +``` +ATF-LID-700 John Doe 087-67-8945 ATF-SID-765 ATF-LID-700 John Doe 087-67-8945 ATF-SID-789 ATF-LID-700 John Doe 087-67-8935 +``` + +## 6 Building Queries + +LEXS supports both structured and unstructured searches. An unstructured search, or text search, is used to request a text value in any context. A text search does not constrain the search to a particular element. A structured search request specifies both the value and the element with which the value should be associated. LEXS provides a broad range of query capabilities that are described below. + +## 6.1 Text Query + +LEXS SR supports an unstructured search capability, including matching all terms, any terms, or exact phrase. Logical operators AND as well as OR may be specified in the query. + +A search utilizing AND between all terms is equivalent to a search on 'all terms'. A search utilizing OR between all terms is equivalent to a search on 'any terms'. The ability to mix and match AND with OR, for example to perform a search on '(Tom OR Steve) AND Corvette', provides great flexibility. + +Some service providers may support the concept of 'all terms' and/or 'any terms', but not allow mixing and matching of AND with OR. In this case, the service provider can respond if the search criteria included nothing but AND or nothing but OR, and would return an error if the search criteria includes both. + +If AND is mixed with OR, parentheses must be included in order to state precedence clearly. This is a business rule and is not enforced by the LEXS schemas. + +AND and OR do not have to be capitalized as shown here, but this capitalization does help with readability and is encouraged. + +Unstructured search strings may request exact phrases by including the phrases in quotes, for example: 'give me the money'. Phrases may be mingled with single words, such as a search on Smith AND 'give me the money'. + +If a '*' is included in an exact phrase, the '*' is interpreted literally. In other words, the exact phrase 'Tom Smith*' would search for Tom Smith with a literal '*' after the 'h'. + +Note that stop words may affect the results depending on the technology and techniques used by the service provider. For example, the word 'the' may be ignored by some implementations, meaning that a search on the phrase 'give me the money' may also match occurrences of 'give me a money'. LEXS cannot control the underlying implementations, so users will need to be made aware of this issue. + +Wildcards may be used when specifying elements or attributes to search for, using the '*' character to indicate 0-n characters. The wildcard character may appear at the beginning, end, or middle of a string. Wildcards may appear in more than one place, such as at the beginning and end, or beginning and middle, or even beginning, middle, and end. + +The search criteria for unstructured searches are supplied in a string. No validation of the contents of the string is enforced by the LEXS schemas. The following provides a sample of acceptable unstructured search criteria: + +Tom AND Smith AND Corvette (Tom AND Smith AND Corvette) Tom OR Smith OR Corvette (Tom OR Steve) AND Corvette Smith* Tom AND Smith* 'Tom Smith' Smith AND 'give me the money' + +## 6.2 Structured Query + +LEXS SR supports a structured search capability, including matching partial, exact, range, and multiple values. Note that there is an implicit AND between different entities and between different fields of an entity. There is no support for an OR between entities or fields. + +Below an overview of structured search capabilities and principles is followed by a discussion of how the structured query mechanism works and examples for how each capability is handled. + +## LEXS SR Structured Search Capabilities + +1. Query can be against LEXS Digest and Structured Payload elements and attributes. +- Query may be stated against objects and roles listed in the LEXS Digest, including attributes. +- Query may be stated against data listed in the LEXS Structured Payload, including attributes. +- Service provider does not have to support search on every query field listed in the query; service provider makes 'best effort' to answer queries. For example, a search specifies Person First Name, Person Last Name, and Person SSN; however, service provider does not support search by SSN. Therefore, the service provider should execute search by First Name and Last Name, dropping SSN field. +- Service providers should ignore unknown fields within a Structured Payload query, as well as entire Structured Payloads that are not understood. Therefore, LEXS SR query statement metadata provides information on how many query terms there are for each Structured Payload in order for the service provider to be able to calculate an accurate match score. +- Service provider should be able to provide information on what query fields were answered, or ignored, during search. If a requested search criteria for the field was not supported, but the field was still searched using different criteria, the service provider should report this information back to query requestor. (For example query specified 'fuzzy' search for PersonSurName, however, exact search was performed for PersonSurName). +2. Query supports partial searches on text fields through the use of the wildcard character '*'. + +3. Query supports intelligent search (or 'fuzzy' search) functions on individual search fields. +4. Query supports exact dates and date ranges; includes support for 'open-ended' ranges, such as a date before 01-01-1970. +5. Query supports exact numbers and numeric value ranges; includes support for 'openended' ranges, such as a weight larger than 200. +6. Query supports multiple value matches for single field, for example last name Smith or Jones. +7. Query allows specifying multiple entities and uses implicit 'AND' between different entities and between different fields of an entity. For example, a person with last name Smith and a vehicle with model Corvette. Note that queries are geared towards finding data items that match the criteria. So when multiple entities are included, this means the search is for data items that contain ALL the indicated entities. If the query includes two people, that means the search is for data items that include BOTH people. + +## Structured Query Statements + +LEXS SR structured queries are stated using the LEXS Digest and Structured Payload entities by supplying field values for selected elements. This allows implementers to leverage tools and constructs developed for processing XML instances that utilize the well-defined Digest and Structured Payload constructs, and provides a straightforward means of validating the contents of a structured query. Simple queries look like responses or publish requests. + +An example of a structured query is shown below; where the query is looking for a person with the first name Jane, a fuzzy match on last name Doe, and strawberry blond hair. + +``` + Jane exact Doe fuzzy http://somewhere.gov/new-community 1.0 strawberry blond exact +``` + +## Only one query field is supplied per DigestQueryStatement or + +StructuredPayloadQueryStatement element. So for example, if the query contains two query fields, such as PersonSurName and PersonGivenName, there must be two DigestQueryStatement elements in the query. + +Note that the DigestQueryField and StructuredPayloadQueryField contents can be validated using the Digest and Structured Payload schemas. + +The mandatory element 'lexsdigest:QueryMatch' indicates the type of match to perform, and includes the values 'fuzzy', 'exact', 'lt' (less than), 'le' (less than or equal to), 'gt' (greater than), 'ge' (greater than or equal to), and 'wildcard' (value contains one or more wildcard characters). + +The remainder of this section provides examples of how queries are stated based on the various capabilities. + +- 1) Query can be against LEXS Digest and Structured Payload elements and attributes. Query statements may include Digest and Structured Payload sections exactly as with responses or publish requests. A query could search on just Digest elements, or just Structured Payload elements, or a combination of both. Attributes may be included as well. + +A service provider can identify the supported search fields by examining each DigestQueryStatement and StructuredPayloadStatement block. The service provider can easily make a decision whether or not to support the requested match function by checking for a QueryMatch element. + +The query below searches for a person with a last name Doe from the Digest and hair style 'strawberry blond' from a Structured Payload. + +``` + Doe exact http://somewhere.gov/new-community 1.0 strawberry blond exact +``` + +The query below searches for an item with a value of $100. The currency of U.S. dollars is provided as an attribute in NIEM. The item value element and the currency attribute are supplied in separate DigestQueryStatement elements. Note the use of 'xsi:nil' attribute for the DigestQueryStatement that specifies the currency code attribute. + +``` + exact 100 lt +``` + +- 2) Query supports partial searches on text fields through the use of the wildcard character '*'. Wildcards are supplied in the value for the element itself, and the QueryMatch element has the value 'wildcard'. When the QueryMatch element is populated with 'wildcard', service providers know that the value has one or more wildcard characters in it and to do whatever processing is necessary to handle wildcards. + +The query below searches for a person with a first name that matches the 'Jan*' pattern, such as Jane, Janice, Janet + +``` + Jan* wildcard +``` + +- 3) Query supports intelligent search (or 'fuzzy' search) functions. + +Fuzzy searches are stated using the QueryMatch element with the value 'fuzzy'. + +## 5) + +The query below searches for a person using a fuzzy match on the last name Doe. + +``` + Doe fuzzy +``` + +## 4) Query supports exact dates and date ranges. + +Ranges on dates are stated using the QueryMatch element with values 'lt' (less than), 'le' (less than or equal to), 'gt' (greater than), or 'ge' (greater than or equal to). Open ended ranges, such as a date later than 1-1-1970, are stated by supplying a single value and the appropriate QueryMatch value. + +The query below searches for a person whose birthday is between 1-1-1974 and 1-1-1980. + +``` + 1974-01-01 ge 1980-01-01 le +``` + +- Query supports exact numbers and numeric value ranges. NIEM 2.0 defines a MeasureType that includes both a 'point' value as well as a range. This + +allows most numeric ranges to be stated using NIEM terms rather than having to state them using a LEXS construct. There are a few numeric fields that do not include a range such as engine quantity. Even though these fields are unlikely to be searched as a range, the 'lt', 'le', 'gt', and 'ge' terms can be used if necessary. However, the NIEM range values must be used to specify ranges if available, with the 'lt', 'le', 'gt', and 'ge' terms reserved for cases where the range cannot be stated using NIEM elements. Note that both the NIEM range as well as the 'lt', 'le', 'gt', and 'ge' allow the specification of an open-ended range, such as a person who weighs over 200 pounds, by just specifying one 'end' of the range. + +The example below shows a query for a person between 180 and 200 pounds. + +``` + 180 exact 200 exact LBR exact +``` + +## 6) + +The example below shows a query for a vessel with more than one engine using an openended range. + +``` + 1 gt +``` + +- Query supports multiple value matches for single field. + +According to the LEXS Digest NIEM restriction schema, lexsdigest:Person can have only one nc:PersonSurName; therefore additional values for the same query field are put into separate DigestQueryStatement blocks. The example below shows a query for a Person with first name Jennifer, Janice, or Jane. + +``` + Jennifer exact Janice exact Jane exact +``` + +- 7) Query allows specifying multiple entity objects and uses implicit 'AND' between different entities and between different fields of an entity . + +Queries assume AND between all fields and values. Each StructuredQuery element groups query fields for a single entity. (Note: Prior to LEXS 3.1.1 only one StructuredQuery element was allowed.) So if the query is for data items that include one specific person, all the person query fields would be contained in a single StructuredQuery element. However, if the query is for data items that include two different people (such as a search for data items that include both John Smith and Mary Doe), then there would be two StructuredQuery elements; one for all the query fields for the first person (John Smith) and one for all the query fields for the second person (Mary Doe). + +The diagram below shows a query for data items that include two different kinds of entities, a person entity matching the criteria of a first name starting with 'Tom' and last name 'Jones' plus a vehicle entity made by Chevrolet. The diagram show how the query fields correspond to fields in a possible match where the left side of the diagram shows the query, while the right side shows a Digest fragment from possible match. The query contains two StructuredQuery elements since the query is against two different entities, and the first StructuredQuery element contains two DigestQueryStatement elements since the query is against a first and last name for the person. + +Figure 29. Query Against Elements of Two Different Entity Types + +![Image](data:image/png;base64,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eUXfxJj5AmFicjow41PHDg4P2yAmOiaBy+O3tzYNDfR1tDVjLFZGTkEwEPja7GEASwbGnJKeXXXuFPPJJIUgtVVngX/nFUwgiOB/vm9aWmbe+TMnKIJKSsmARkGMzWo+dmhPT3f7zPIlEZExekO0SCz5D0sbxShG8SNHeG6P/gQKwwQ4RrCwIEl4ScRDIT4i/BH2169rJHk865o16cBHt26NvOEG0803K1etUr77Lve66yyzZ495663gn/7E/sMf7EVFadu3pzzwAOsvfxmOiEg8dSopPh5/4w0XirL375eSJNrd7R0a4vl8hUCMMCxgMpECgfbQISoujmhqchkMor/+lV9aSr79NpqZOWXHjsCaNdgf/2grKZH94hesxx9n/fKXtiVLSv72N9/69dxrrjHdeqt69uzy7du5y5ebV69Ofvrp2Ndf59x5p23KFMljj+meeor90kv23NzUAwdS77wTBz6t0+GbNo1ZtAirqvKw2cHjxyUEIbXZfG63r7VVvGEDJZH4KyowmSzv4EHg6GR1tS8+PnfTJgKY1sGDwwUFiscfHw9Fvfyybfp02c036/74x+hXXjEDd1m6VPXhh9yFC0233z5u3Trfhg3clSstCxbk//OfwRdeYP/2t7bJk8Xr1skffVTz3nvDwP7Xr5etXas8dMil1xO7diXNmpXc2upls/2VlWKSlAQCvt5eLoczoarK/s2LNxgAiw1P+IUBVoZhwBWR4UlZJLTVABMwhBCOTxyxbhsIaDg8cmXL0NCQx+MpLS39FqlgrHLy5Mn77rvviygUNf7iF2kPPwzKibzrLsuSJbK77lKCcsBe48Zlbt2a/uij7NdfH05KSjxyJHHtWnz9ehePF9PQEB8Tg27Z4rVasa4uUA4KymloYHM4+adPUxERwba2gEaT88knxLhx5Ecfkampia+/TqxYgf7tb8GJE0s/+CDw0EP4r35lmTtXcf312CuvsFevNt94Y/HTT/t27uTOn2+64QbltdeWvfUW9+67LXPmxL30UvSzz7Ife8yekwOuqL33Xv3HHztjYxPOnEkET965083hBA8dyi4tRQcGvOA29fUSkhRzOIG+Pi+MANavp5KSiN27qejonK1bM6dNQ44ccefmFrz7buCmm7AtW2ylpbJ77hn/u9+x7rnHvHixcsUKzVtvRT37rOnOO1Xz5qm2bAGvBnca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) + +The diagram below shows a query for data items that include two of the same kind of entity, a person entity matching the criteria of a first name starting with 'Tom' and last name 'Jones' plus a second person entity matching the criteria of last name 'Doe'. The diagram show how the query fields correspond to fields in a possible match where the left side of the diagram shows the query, while the right side shows a Digest fragment from possible match. The query contains two StructuredQuery elements since the query is against two entities, where each StructuredQuery element contains two DigestQueryStatement elements since the query is against a first and last name for the person. + +Figure 30. Query Again Elements of the Same Entity Type + +![Image](data:image/png;base64,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) + +## Processing and Composition Notes + +- If multiple values are supplied for a single field, the range operators 'ge', 'gt', 'lt', and 'le' must not be mixed with 'exact', 'fuzzy' and 'wildcard'. +- If multiple values are supplied for a single field, the operators 'exact', 'fuzzy' and 'wildcard' can be mixed, for example searching on a person with last name 'Jones' using 'exact', 'Smith' using 'fuzzy', and 'Williams*' using 'wildcard'. +- If multiple values are supplied for a single field, the range operators imply an 'AND' (e.g. greater than 50 AND less than 100), while the 'exact', 'fuzzy' and 'wildcard' operators imply an 'OR' among the values (e.g. last name exactly Smith OR exactly Jones). + +## 7 Working with Attachments and Rendering Instructions + +## 7.1 Scenarios for Interacting with a LEXS SR Server + +This section describes three possible scenarios for interacting with a LEXS SR Server. It provides a recommended choreography when using the LEXS SR operations described in detail earlier in this document. It is not intended to be exclusive; additional scenarios may be supported by LEXS SR clients. + +The scenario descriptions pay particular attention to attachments, which require coordination to ensure that they are managed and rendered appropriately. + +## 7.1.1 Scenario 1: Retrieving entire data items + +Scenario 1, depicted in Figure 31, describes a typical interaction between a user performing a search, receiving a list of results, and selecting individual data items of interest. These data items may have attachments such as images and rendering instructions. + +Figure 31: Scenario 1: Retrieving entire data items + +![Image](data:image/png;base64,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) + +Scenario 1 consists of the following steps: + +1. The LEXS SR Client collects the search terms from the user and assembles an XML document that is passed to either the doTextSearch or doStructuredSearch operation. + +2. The LEXS SR Server fulfills the search request and returns a doSearchResponse message that contains summaries of data items that match the search terms. +3. The LEXS SR Client presents these search results to the user and allows them to select one or more items to see more detail. +4. For each item that the user selects, the LEXS SR Client assembles an XML document that is passed to the getDataItem operation. +5. The LEXS SR Server fulfills the request and returns a getDataItemResponse message with the full details of that data item. The message includes AttachmentLink elements that specify the URIs of the attachments that apply to that data item. +6. The LEXS SR Client parses the getDataItemResponse message(s) to retrieve a list of attachment URIs for the selected data item(s). It may not need to retrieve all attachments for a data item if not all of them are intended to be displayed. For example, the Client may choose only show certain kinds of images (such as mug shots), and provide links to other attachments (such as tattoos) that are downloaded separately when the link is clicked. + +It may not need to retrieve some attachments if they have previously been cached, as described in section 7.3. It then assembles an XML document that is passed to the getAttachment operation. It lists all of the necessary attachment URIs by specifying multiple "lexs:AttachmentURI" children of "lexssr:getAttachmentRequest". + +7. The LEXS SR Server fulfills the request and returns a getAttachmentResponse message that includes the attachments embedded in "lexs:Attachment" elements in base-64 binary format. +8. The LEXS SR Client parses the getAttachmentResponse messages and stores the attachment files in a designated location. Special attention must be paid to the location and identifiers used to retrieve these attachments, as described in section 7.2. +9. The LEXS SR Client identifies which attachment constitutes the rendering instructions and executes it to generate the rendered data item (including attachments) to the user. + +## 7.1.2 Scenario 2: Retrieving attachments based on search results + +Scenario 2, depicted in Figure 32, involves retrieving attachments based on information in the search results, rather than downloading the entire detail of a data item. A typical example is when a search returns a list of people, and the user wants to take a quick look at the mug shot of a person rather than download the entire data item. + +Figure 32: Scenario 2: Retrieving attachments based on search results + +![Image](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA5cAAAOSCAIAAABvOrMBAAAgAElEQVR4nOy9aZAlx5EmFpHnu+rV0XV3Vd8X0N1oAI0GARAcYMjlDDnkUlrN6M/uyGS2+0P6pV8rM8lWpl/SvzWZyUz6t5JMNrszq7WReAxnOTyGJEBwQKABAn3fXV33fb0zzwi5e2Tmy1dXHwCJqu50VBde5csjMsLD43MPP7iUkmX0VFMywDz9x+Zh55u+4VuctQsJGs43NFRuOkMdpjeS8fdwWGt9mVFEqn9E/KdG3fuIvSSpkzPaDZSe+MmYbJwp29GuH0T1HqJ9LrP0C24jBKIv94hwy2g7UgP96HJJ8E2s8rtpWEa/ZzK+6AZktAuIZrOQgnH8JBhqNpxxDf7eE5KetyP1hGTqcCaxPgvxdkwgCOICgyRHOQf+UX9o0RqR0RdN8byQqdHT0hOBlBM0ZNBM4TD9eUqX3dNTpoVl8e1F8oJaizn3hnDLaBuSTI0sLVWcp79AAYVjnTq4p5k5ox0pQ7HPEm2W2iTiJcKRlpEylAJ+dE03UQzwXT796QUAgEsFVNN22V3e8r1CW2gIUv3Cjod/XEf+CRmOgh5D2Kzzv1jajF/Tx+kTqiKJXSoiIRDwca5pe1kVSUFY5FERChRy+FYgHQjQSk3y3S/cMtqO1AiHaHMROKiwVJE0Ar7dYLGQqd8ZPZWUodhnhraax6jOwrKlIfALOW3PcS6Y5oPkp51hY9cbMVHxlgihkk0iBWTxz2yR+pxIqr6MWUjSZ+AREQbQ87phwRFfmfZ4ZADJuv6LpUgj3WH9JjSH5nRErORtJFAxEWTH2tsoNibqBBkSXpc8YmF10FCm5y+6hRk9GdEg8pDxgAkdRxM9RKQAfmeJXTb9vwzFPsWUodinn7aW1Gpuy2h6u8Jv+h5iP64L+oqHYYDIdg8I+rSEMjTN1DRD15RY+8LatPdp87gnXmUyFNS5MpCCGzqgniAUwEKhBF1Cy3zOdgmlnZs3kxb52Ujye6YNdykMTTd0+KXvSYeCLX39AezoOnAlMGcQglALEqmQKbl7l5Kdw4AFFjeYrhmgP+sSRBMD7g1DtLtr+o6u0Rk9JZSh2Gea0HCm6SDfZxcXJmamao4jNA4/kkvLskDqc7EHZj5uawvQyLGlg719I4NDXR1leDn9i27Y00pkb0VznWWatKnHlmtrE7NTK+vrgkkAQV90AzOKKPIo4BuPwgEYOzwcChkIAfDO9y3D7O/tHRkc7urs2nOW2G3FFFc2abFSWZtZmFtZW0M4K0MduDQzxu5lIl8RAYza39s3OjDcU+qEMdXIV5/WtR04IqOnijIU+4wTAlZfhnMLC1du3phbXvLIzhZyZtqWCAL2yMHpXxgpX/5AmFzTOX/u5KlCsVAslqI9URXHGr8Dj6/Y7S/1hVJ7/E9EIu1AqTqUQADAVocFk/Mzn1y/MjEz7QWBbpob75LRF0I7bkWovBOgcGiSiyAMHLdULD53/GQO/tfZYTJ9D+kiG7eMok1kNfnJaVv4CyvLIOLGJsf9MAQpx40Mxe5tQhTr+bZpnTh81LTMYrGY00wlo5T3SHRa+zzgm7kloz1OGYp9pklydCoNhKg5zZX1taX11QAgoc4BvRqeFfjB7k/EBosxLLem1HR0j5V1pxlg2KqmnAKZhLfZc3alL562BrI8StYWqhwFTCB/GAb84fjeWr22XKm4wpfGHsI/TzNF3uHKr2DTui38AL41NcPUdBmETr1R95zBZs0LQ/lUhO9LReQdwbgOMq3qNJbX1wT6cAufyb3hL5XRNoRuMIGwdWOgUXMCX+BaJn0RmlwLRKhxNMxuyKeWQdinkjIU+wzQNitSHN0vVACEJ8JAwuxnQuM+RvXSbo3c9c5j9HYaJSkVJMvQM5NQrEy+zujxKW3M2PCFsnQIGSUwYkyXmoaOKKYG6s8OvpgZ/Z5JjYVyKtiUrEBD+7rGdV1nOg9dzWPCk6GPVz0lih8lDaS8gRoosxoIB9xd0rQQA4NQK8sQzd4lLrlmAQ9zXKc4yXzJ1HBjpoJNhvYMwj6tlKHYjGC+65qhY64SnTNdwyUNxb9oA7APnf2f3ZH+0QFnu6lQCHR0AymGHm9CUKawkJKvUG6djD4baZt25TSytkJPk7mbU6YbBp0fogMKj6Lfn2y5eAKlY4cH/Y5UmC0t1Vt++7gt+VzX2Fa+KR79lvFR1PV0HeaJj/NfAsZjpi4NHmgSd2NwBPf+cs9x/mMiDUzAArBVqh/ohyAM4WXlZ/EoeFzW2vlBO9/tcxmKDTbJHU74/Y/8E0h+kjQodkDW43GuJd9xUsw2Xbf3GTqjrSlDsc8QbSWmlMrKAZdgvi3OKboryo0uQsoBqrYXufImpeWNx9HqUmVplfFndZ5U7rbtbqjp31scpK3q6G6cxUio/Zw4oQJPGkPPRbsrHKCgNKWLSzQkUyJTfaviXFpso8pE20MpGk4WJ+NVJKnfhVS+lZzSjPqB73k+2vK5ZDGc3Wa42SaWaHHUznyyxUG+/SOQo9Rob3wuPYnLR3zEhoM8YkUeN5gT0ybFA7a4UKo1N/rNIq/NDezN2hh75456nAYL1WCe9Ik6qIkw8EEDDHVD0wC5itiYxePsy7uftFQehhYjqD+jXqBMWxi+ToQmWMA9AlPE8R2ZZ+eD8jGEG136kLvxbUZWtk2lxxKqWz8iFuCJMI8FbzL1+Jbz4iF9wnc682ENlmoGsZS8ad1NbpzsqnWYIBY+6qCJ+T4tVTieMNjRkPI0D0R3SY5n9DRRhmKfFZIpMclihBhnqEfpEJI7QQgiPqTc0VLqaMzg6loRiTaOOZaShHyqXgKjHLOJ8MO/WKgl6wPn7b+3PMjpbjp58CVSP2mvAgwihlKSpQQV3U5KLQiEaRoqs7mp6aZEO8zmzObqr1YKlkyoPYySHmrrM8kMNHnoKkeBpRu6pnPgGNyd3nwp3/R708FoUB/CJ5sP7vwILb75hueqlZwmxSPxZ/og+VPiZ1KfOEH56CsCSahQpR4UnaOcXhJ0KDc0OKqN3HYwruX70N7b+hxOCh6jBkd2x7ip0TTC+UKtgslu4ugBsDWk0PfCtEj6UW/7u0WY/laATIDvkUtNYFFkVxkKoRmGjkqYaL/Zw7uUxYP4WMKNbR7u9kfwhAM2nSNJ5Ma3edQJJRPmkdHNceudtYQ5w2lL5/CIT5Qwl5GE32KW8U2vlj7Ioyn8GPyZ/KnatnVHxfNis9hH1AosrJs613TJTUysJQ3daJNXm/cUJNt0KKO9TRmKfbZoT0/hbVq+p99pz5MWGzw++xjwbT7svB4m2Hqbu233/WM8YkOrtrzJhpa0NMZtG/awlv3OaPt5pFCN1L6wpv1OaDO+/Yx3eyz+fJQb/o5oByZk2/TCZk7eDbTVZG+9XCJ/Mu+xZ5MyFJvRJuJbqbDsYcu4bPvzswj67WToxuO8/btUGx59Ccno0Wlzfyb93PbVzovn9jd/svFqM7Omjj7KEv64T2wZy3hUMSRptox/yzSXb8XKG7YB2k7ZFIPVxtWpl3rofm1kkdv0mul+lun7889NG/mCaVO38w1/8PZee8x7PzmjbiPpHt6KJ35kaqQ3wFO54ba87bQtBfWGP7fV7to8ALblT3VQa7tuW9owRzZ/8ZSwbkZPRBmKzWh72sq+lPbRagmyDRLo8WND1KIrtrqsrRWZoNrdtFvGZwNC/F02K3mIUC4KvK1i1g5Pbl3INx7ZcJnyP97Of4JtBS92y0DsYvriu6hNn9jaaPzZM37ITYJ88wmKIv/x2N/ssYgnXBr/yXbkT5bGnXyL18zEfkaPSBmKzeiRaKMCHEu6LaxxTxTezFnLc7eNdgYisv2cjPYy/S6G8fO9p1Q/G/Y1UxhUbliud7TFRhSfnPaKbN/YiCDCY9GOTcjoyenJ+nPnq3baffo8bIzpLQK5pWkzBaP5zm3ahp6MS6NHbXBcTzcgE/sZPYwyFJvRo1Fq30vbcLydlDgTD9tL2vLghk23hxrUsl2kp4e21GF22T3V3bTEdBQjzrQ7gdxwduqvFq9ytuEsuen45gdrqZX9kTwKsoX+c6dNOsbnddvfyUilROe2bBazb+vclCNK2o7LN7EZ28RvT0ZqEyO5xaPso6i5EH6Gh2b01FCGYjN6OEViJba/tinJm6VvWqHf0ZUq/VtuNhKw9mvkxgMZ7Wp6gmX5yYZ2uwdtQoqf1wOZjIq08/gWLRTbromlYatMW6pSU6jNCrW9j+QOM4htM6Eyejg9WTc9Ad/s8KDN/iSPfu0Ot9wUnLAZwraZTlMnPa5jQNvNH7+1km/lNLyJjzPJn9GWlKHYjB6VthNQO+z5PDrJTR+2u3NGu5w+Xyz6ZE/8QjDc7/Shvze49YzQM8ulCe1o9/+sd37EzbdkTcnEfkZPTBmKzWhrkilTE0vr3zLaTk37FfDU/1pW1ceVRlsasTYcykxMu56eeBGST2Zz2tIbL0nivvns1vNSvx/ncWl9LrEhibYzUq2Kf29IgCzjr6ICDLzt4BYtl4/H+xkU2Jk+S/88LqPuwKXR3fims1sPi6TuY9EWngObXnjrHvg8XCbkpt87H9ypSZnYz+hhlGVYy2gb4lhjXQjJOTcMzI4e+j4T0jYtTDMehpQ1PPqRIqqMA/8PpXA8lxuapuuw8gZhAD9YUgEIE5FLrsFXGvzF8P4h1zUsfovFWDj86BwvDXwffoQQjuOAHNN1PZUVvEWS0MNnD+PN6PMkudOPoeuwbgNHWKYFH3CUQ4GZ18NQ+L5tmZqQwACYhh2ZKQxc19A12zBBVPmuy0JhGkbo+cVCAU8IQvjMhMhbFpfSqddN4DpBBangBkFoAKtpGlwCXAR/Akd5niepWBH8CWyHzOZ50BLfceERyLaqbHEQuk6zmMuJIIBmWLqBlVlDuKFmaboBXO/50DZ4CrYHTrBMYF8f5oiU0JjA9eBCON/UdEvXA9/DO8ON8d0DaKFBhUUQncKLw1xQZV+l1Km1Tr0BLbctCyZdgAW2pIRZomNpErgYJglcAJMiENCRgQedGAZwdx+LrUoBs5SK2GExZhoQjaYWTk86AS40TZPzZxvobs+iOnQl15qNBkoerkGvaQy6XIN+xQT7HMUWsJltmsDMmtKY/AD+BC7VaUCB/eB3KV/QaIkF5gFe9T0XWAJ+kLuEAGZG7vV9uL8qnKGRQgODqREDYk0R+gSc4HtejqYAcJRGFRw4cE0QmPA91c2DeQGXC7qbBnwFI+15MDWQvV0PWg4yHG4Gc03Q1IAmwVUG1+BHEvtZpolPD1BcQ1M0Q282G/AbDpDQ5pR8A5cDEM2cq0p1eBwaAgzG8IPA/tMYvLxm6pJLXwSMugC7QwR+6JuWgT1IMh8YFToMzxdYSES9Pk55eAupashti+AzsZ9RQpktNqNtCQUPrMRMyVKQMugNCFKSEXKlykWbjVP4h2mZShyBgGUEgoFAEKPRgcqBScIRIKVx1Q9DdQdYPHCBhw8o6FCCwf9DkpcICNocvVrPiihT1ncJ7ei+DPwQ+BLVGQJzGi5nyF249HIN2AZXNmA70HYA2iL4wtEnACE814PF2zIMxAGce44LTBIizkC1B3gSVuuOUsl3PeJTBmuhYei4ekriVYkLMH6k26o6q3ChAYjUMPOFYj3Eh8Iazlh0DqzbISFdQivYSKz7BPA3xOJHBiJtjSpBqccFCu7AEafRNOm9ADH4oYsLvh9Kg5ZdwBOkxsFXruvk8nl4Ecu2QfmDS+HPer1umAa8CGp9vm/pJk48TQN1DnVAENmmAe3zHAc6E+eVacIkcl1XC4NCsVBZW6cn44vDyTbWM0JYFVVpwokMCAdJytb8fQZphzcnhRtwFY2+QeX/ogrZqAdYlgUQMQDdiY4wHBETuA/lG0BJXc9ZltN0YLCdRiNn2zA0TrNp27ap5Rr1BnwA4UmcbLq+V8jlG82m1MkOwBDJklKHM4WRyGWk4Nm64QHqlajqM+RSl8aYQzNIJ0F7AT4dyygisuQyqjKrM+RbQTqSAspS3VxKlK5eoGrpAr9DmxXbw7f4+tQeNB/E8FR1AmBcmlBwHh0X+MrQA03HYVQojHTPUKN5h7eCE7CcIlfTHJYEz/dBiYIZpSo2k0anR2eCEDBMKSMOpVqM2CHbDl4m9jPKbLEZ7UAgdwAHKBUZraQaGlCbjQZ8Ng0jsR4xhU2T7VbJLdNyHQcWVzgM4sogEAwnGMq4oES/hgQCD6Q/ABq1cQYi1m00AcrkTBD6OshrWMXR1gUgIJTpcNr0T0a7ivgOLndSIt7SNFjLAa4Rg5GJCGsFI1O5aHkFZSY2T4aoMsFSDTBNmTZRiQJYqWmNWo2T/DJw5Zde04EPpUIRkJ+BBjMeeh6wU+gHABOb9QbcU1l6bMtSTzTI5EaWMIn2LcNAkAurqY+IRGcM4Mjy4pKywAFqBHwMjIp2T9+HpRgwBAARPN31UB8DEEMmOo6A2y3m8zqWdRahB+cH8CyAMog/kNsRA8GHjkLx+VOnOopFjQx4LBC4sIchvEvOtHC1B6SOJltGuJsUSKUxUuOhLQpewTmWaXKyF0qctvCVHxLekoTdWxNFAQuEx77CSRltJp9sgV1dXQGRjFEVI/wH6gSoXtCJMDow9AFtBQCTgOri0Z/wA2wA7FqtVJStHYQhsZbMGRYINLhWklEfuBSkHPFVCFoQsARuXcHQBCFxJm5ZoAoSCmBFYGMleOHOIIQZ2VzhTEnGXZwCLup1ZPrkLN4lg5HWaNsBRCheQvtdkiyyoBAi14XCBuaRsl6pSpojcALwueu4tmUj2NV1BeGVuRS1PiFxV4RkOJMRS+GEjdxiJE/ZkpVKoBGKBUJTrzJb0BwEHtdotsJMgR+diofDtDI4mTJU7uWUoM8kf0abKbPFZrQtoZZvKPsrSir4ELguyI6hwUGQkvNz81xHJV4Jr8h/CbdE9aH+wQcTDxAoEGwNvCAQKB/zZl6gio7bW7DmggCN1l3a70TZDTLL87UghBPcUMB1sBLDQ2xU0BHFtmUyil2m5E6x3RntIlLmnO7u7lKpdPPmTRbbnIBw4UTMKo4fPdlwGyIQyiwEkELD3Xd0UJmZmQb+6e/vr65Xmk0HACKPeS9v2d093SsrKybXLd2wc7mezm74DV82PQAYDWBlz/MrlYqeLwBMZWjItIADATfDymrbuXKxI5fPI5L2vEazDmwMfDk3PTMyOAyAplGvhx3CNEzcHvW8yvq66/nKNgYo1S7k1WcdQDnXLMPCHWTHyVl2ubunkC8AP9crNbSVViq+79XqdUC9Rw4d/vY3vlWrVG/fuQNv2tnZ2VUsQ8OqtVq1UkUQYCHECdBdAdGPZtkC0QIajYuFQrPRlIGoN/DMfKEAd4BuKRdLcErRypsWIux6rYaGXsAxNFFCUgzIdoYTKsMB2xHw58GDBy9fvgy8kWhZtCMfAic8f/J5wGmgKYBghBOoqxHIwYfllaXlleUjh48sLi3VPL9RrQHTA3PCSAE3HxwZnV+Yl6gmoa411DcAI2LrlmYabuChj0AYrs9VQCqWymVkfs8ToYTBAtnY2dEBEwc+A1aGy3VTB34GZlhZWc5bue59vXAQGBhbz2WtDmxVbQLiBnGq66jtQftEnLqADLEsCIu5HLxpsVTy/aC71KXbhkem1mq9ChA8Z5qAVoFbDJ0pgzSwTD6XA1CO2iYykQmQH9oATSI3DC7pGRZ5oMH3khx4EFjruoz3AwxCt6hQgV7KeSFvh65nCIb7IgDC/QAUL1AR4XZKhSCj8yaxn1FGMWUoNqNtab1aNXVYknXa2ELpAdp5sVh89fyFtbW1malpDgs3Cizaq2XKMoti7s//s3/6H77/H27duVVbXQdJB0tsoVAE6e/UGsonTwulQ9p8MQcS3o7kNRkeBvb11ev1SrUOC3dXqSMIg4W5uYGhIXLYCjfEvqgYMs62StSS0e+d+MM2dxCYWdboyGhvb++dO3dg/VOmWUM5s4rwwPDIP/sn/9SVrhbCMouudYi9WIBud4z/7N2fLa0tHThwYHZ2dv3SGkA627JkEPb27Hvx3Dk7Z//whz8EFuzt6j5x6tSRI0d6unotZjd4c2l1aXV9DcDiJ59+0gQ8GqBFFn77ZN/aPzR89OjR0dFRQAnlfBkauVJdGRsbQ1y4uv6Nt/749HPPe76P7WFyzV29d/v2rZs3H0yMV2v1YmeH56PPQ8620cgkI8fxiftjXZ1dh44eOHXi5Oj+ke7O7rzMr3mrgKcByH566dP3f/Ob6cmpvLSdagOwDkCHF06d/ZOv/8n/8e//T0SiYYh+rrSKl4vFpusCageQZNs2AAJABo5oAm4ydb2DToY7wPwod3ZCT64sLX3nj76Tz+X//Q/+H4A+aP/2PK5zmGg24uBQQ4uzyEDsdgT9NDg4eOrkqWtXr3rk6KwUb3Qm1vWezq7/9I+/U+oqATC1mc0I24H6BUIy4MHFSxevXL3y0osvgUL18Ucfra2vl8vlXLEAff76hVdLheLP/n4B7rKvv/fgoUNnzp6Bm/YV+5fqK+vNiuu5wNirP1+trK1DG3CbQrkx+CAZ5XNnzwJLw8TpLnbbur3irKyurk5MTFy5cuX8ufNf/cpXhYcGY5e7a7U1wMq3bt2+fvPGytpqoVQ0dFM5SMAsU6BUOc+MHDp0/MSJ4eHhcrmz2+pZ9ldWKqsLi4vXrl27vrjclHWY0x3lDuEBtBUqOqK2Xi3l8oC9Yfa5XgNhaA6hM6iTgYQj2AgGCJmiIYBRqT8tBN+eh8ZdxjwS9YZuAHzGtwtFMVdwYFb6Ie3NGIEIV9dWdWi0bUNrWyGP7PMJPsvoKaMMxWa0LRXyeYCwnBzF8Ico8PyiXvA1F/0apS7QRpZAFxXhJXLMrK9WvHqTnKtCv9HUQiH90NJ1FgLgDA3LKhgWLtWC1VbWmo5jGmZHoQBynOlB0bI7Sx2whNerVVhsc4aF+03ZorunaEu1QqOdxO5C50BHHwyo77rwg1oNut/pgY+bsMuNpR/84Pt379510Q6kw2JGTrQhqE/VajVfyNumeezIkamJiVqthssh492dnQDmPrz4YaNWP3r8+JlTz3uB/x//5m+m5+bq9cbIwdHB4aHePnwiPEa52VkGOibqQpaKxRPHjgHUeHD//k/v3KlVa9Ce3r7e48ePd3Z2wreB7v34nb/7yU9+Au2BI/u6uk+feu74kaOw+l65cQ1wMNzNaTYBifvooOoB9IaJUyyWvv3NP+nv7ZudmfnB978/Pj6es3Nd5fLBgwcBhXeWyl2lMvOh8brnuAh8TYOAtb88v2DncsD8aEIjD3J4x5Kdz+kmbvViMJvPYDYFAuPb0F7NGugvEezr6VlaWgKgUC4Ui3m0DQvfB6TT1d2NUZdCg9YBgID5C4oj9Ovvlx12KW3JpTrn5XxppHuYkYdJslHOaFeq2Wg0ReM3P3//4sUPgVvQc5RzGJSuzk7Uf1ZXAMCVCoULFy7cv3sXxsVznEa1CorW8ODQxfd/s76yAvj13IvnAL++87NfzM7N1ur1nv6+gcGB/sFB4AEYR4khXFH0Ie4z2LnXXrkA+BUw7q/f+dXy8jKwLnDE4UOHXnnllZWFJc7EpWu//e7/992FhYXunm6A4IePHB7s6/Nc56PfrvhNVydXbEllAlS4WOC4L7300oHR0Waj+c7Pf3H/wQPE6JYxMjpy5vTp44eOTI2NO44DiDcP4jcQMFMBZZKF1WDAe/k88JIboDdrY70CPdPTu096Xuh40OKcnWeGhZ0GHI7OZ1rQRI8g5eAauC66wMIcyXVA/ywuzLmaASgfJogpudd0AGvnDBO4WGqMQivacnJllNEGylBsRtsS7qAxqRyzGIXrcp1hkAFGi2Dgl4bbPRR7wsmFiVykZChh+W3Wagz9AWxd02GhhRsBq8FxgwK6q6trsMpa8LVhMvKIYhzXZxC0AEoWF5dMywS1nOHWXtEP0bWRfAP5hiTzGe1O2s41FoYedwlBk4HlSpltItWHzFmwzgEasEtryyvLi4uC7EaS4qaL+YLTbOia5jva7PTMYG/fyy++9N67v2rW60cOHRoeGFhZWJyfnrF04+yp5wDVfXr50sTkBNe1tUoFbrq0uNjR1em47trKaq6Qx/t4fuj6gGu7O7uH+wfv3Lt7/eq16dkZeFYuZ6+urMxOTZc7O8du3w1f+wPmYwYDaDs0rL5WMQR7+w/e2j80dPnalXqtZpeKoeuJEJ1ncrmcib592ujwfsCyY/fuXYPbTk87jWaQ9+DyxfmFe3fuQktWlpb3dfcAWHHrzWa9AW//6aXfrqwsVdbX95kmpk3gHOCsqRtuoxlqnnIohF7tKJdLpRLAYi5w9qF5G38xp1bf14k+FQC1GfkDw7xzPCfoCAC6GuiTYOGeCblqZIbYyBF/KzZFuO94BjeazSa6SJFjKAUmYpIWkFc5YTXXajCUjusAxAxE2KzVnUYDVHHoW8u2picmR4b3Hz14uF6twaAP9PW//MKLcM787Bxgyr6e3sD1r3x6+eqN6/C4pueurq1OTIwDvwE2nZ6ZUeGPlm3nQEAaOqjxz5967r1f/erW7dv1eh04Yd3zoEnLC4tT4xNT09Pdf/BVmQ/nZmfhrYCXbl6/Adz1xhtvPH/85NXLl5sAN5WRU9eVryrMPhDpRw8dXlpcunL58sLSIsDKSmU9YBI4//7tOyIMnaYDbAbSfm1xCQQ/sA9aSdENV6ytLueHhjz0A3YKhSLXjXq9Nj81U+7qAgHebDro7qDrMF9kEAK7Qn/WGw0Q9sDJ8L75fA7u49Ybbr0O3VXKFXIaJuUAYM0xuQgG+IKqgPEUho41ICk0gz0sS1dGzyxlKDajbSlypCNXJyXtMVa66cCiGKBI9w0S7hoAEKklMRB4hLHGes3ixuGRAyMjI329feVcx/zqAoATWNEXFxdNroHSv3///q6uThDKa2vr01OTUxOTING+/vbXPpuUA5IAACAASURBVL10yfW90dED+/eP1Pz6z37xC8A36Lqgb513JXOK3SukEl35GHsUqoxX6FoXcRGaFUM/tDUbljQRhOh2Z1pog4G1XNMpvw9y5Prq2vjY+KuvfSlv217T6e/tM3Xz4scfzs3MgkI1uG/wxu0b01NTtWoNVtCOYhEAK6zNsPzDcmhbFlyFMI7cS01NL+RyAJEnHoyP3bsPq3U+lzeY7gJ+qdXX19YxSwDXAe82KBYNM1fp4eLcPDCkbVphgIZdDLqitAgYB4NBNp5VKL784ouNSu32zVvA1YDcLXRndG3bdhwH0IZyUUQ8ge+OjjSAEob6B08dO3nj+jUAIrl8DiDs0NDwoYMH4UG+6y0uzN+5exdA81Bv3+nTp4Xr9fb2HTx4sFxCB8rl1eV79+5OTk7mTeulsy8cHTloaGbhPy+4oAGa4Qe/vTg7P1evh7ilS1PFp3ROXHt2LbI7xCBSCB86PQMX6DHB8ZBSYgVobtcwup9SVqmIKICbNmWOw58gBGXpzq3bF86/Mt87B8y8f2i4q1z++5/+dGF+HgYdtCYp5MSDB41q1crlMIRR192Gs4yOrTlgddBDNIoowE0uTNxmD3UPriwuE05lgCYFsKVpAtSbnpzEjSxNB1i8troKehEC0EZjfW0NZkpnsSwp84bAfHahRnZjnWmAL4FX+8q9c+MzMGvWK5V8RxEUJx1jyJyg6WAKGskcyQf6+/ePjAwNDsJDl5eXJyYm5ufnC6b98tlzy0hLw8PDB0YPwFz+5NNP9o+OrlXWx8bGEOzCDPf9ckfH8cNHgfNv3roFvTo6ONTd3T0wMAANQZ+0mRlYDqQIXnvzDdBCYWUZGBrsHxzwwuCdd9+t1KsiZLgVs4MhNpP7GWUoNqMdKPADkNIYrkKpjmDdV/mGKE0r2Wh1XTnYoRWWRfliMRKMhQXb7tvXc3j0IMjleqUmmyHI4qMHD60vr4LiPzQ8fPa5MyCD1lbWcjlr/8BQ3rRrq+te3Tn33BlYQ2bmZ3Wura+vr9ZWMfeQZXKehabuJdpypJSLGxkC0ZOZkmEZKtewWqpUSLXXxGBtrhnSw/gPM4e7kxiDrxlweb1am52ZWV1aPnzwkDfkwUoJetH4+DjlDwJ4ibmHCrk8QBC4v2mZGJqtYyoupklY+wF4WrZFvtxRbDWwKKXg0OFkHVQlyTCQXAoAsgY3dG5gRlbXKxSKmESZc8syAZg6zSY8zCrmEYKT73ichw7jeE4cO/6rX74zOz2jwKtOWXLhA5wAGhqcnDNyZAmU6kL4tod8FX70d7bjukahePTwEYAI8BWAWhDTzx0/Kbzgzp07RSt/+thztbUKJloWgOlXGaVTOHH0mO+4szOzMI/gTJ+Lxfk5mLEiz6GpFIRkqQoLaUOs3DA6zwilDXrtrpY8ygaI5moAZ8qCySluT1J2YUHnYIII+JPrArNraVYur+LxVRI3p9FcnJ8HWAn4D91L8gUAbWP3x+D+eYCtlJLWQm7D/Xa4A6Z9pR805ZomKkgC4/rRJ9bHxBxBGIBWY9u5Bnl1A8Q1MTYxCH0BbYD7qDQF8AOguWDl4Ac4rdGE/xxmqDyzIQ8DruuoLZIDNxyBx+dyuWql4tYbqC3qBiUmBligAZgulUqgEeXyBZhTbqPZWSqfPvkcoO21tdVjo0f39w/dvX8XOquyvq7rhuu4QwODpUJxbmpmrbEGuBwdD+z8/v5BuL/FtFKhdO70WXg05uQy9P6e3nKh5NWb05NTp46cWO/unZqZBpnfqNZd3EjwcEVh6M6hMh5sLfmfIZbNaFvKUGxG2xKaWFlr103likfXKFg/pSbjYgeCchVh5QL4EVyJm3wuf/LYyUKh8PEnH4/df2CY2sjIgWNHj9Sr9VK+dGBk1DKsa9evXLl8raur/Nxzz4O4f/7kcxd/8wHACxCIi0tLswvzC0tLXuibhZxtYngCJpBRFbfb8wXyDNvuKqKxEJQkJz1SUWJzGi/MAexj7jRe4MBmISa2pIUKfVfE6ROnBvft0w1dJaDQbVhtbV/4a6DVrK4CPAVMcOXSpdcufAkW9gcPHty8dcvx/Xw+D+BtbHq8o6v84osvTk9PVyoV5bjih0HdbQa0MCI0sU3MTx9y1/NWq9VKrX7i5CnbyjfqNeBPwLuWaTTqDadaA6yhSiEAu9qWpeumbeinTp6CeQAsCvAib5kBBUtRgDa+kG1YgHS6O8oLs3P1Wg1NnrDIA242dMAOpm3BwwWVJgBO9oSPk4lCXnzPhymEWcaCsKeza3RwGNDzJ59+Mj8zV84X3nrr7aMHDi0vLvmOZ2kmQJDFxQUAtcvLy/CIQwcPvnr+lTff+PJf/sW//fAf3j86csgLvP/7L/4vljM7+/YFQtilAsAm8hEKVfqtVtWDJFaSPytaYizRoj+TF4+KbJGfBiOJB+OC+RzwKOXqZ5h6GL47sH9/4+w5OBF1e4pYpZIuolqtLiwuhLQjf/Xq1QsXLozsH5memrpx8yY30fPbC4OJ2ckDo6PAol0PuhwXOBejrnxAivAJNSKtVqsxisYDDQdYpdKsX39wa/+hQ5ptAearVaugRwGbVSrrTbdBWYsZAN+eUifzJcDVrt7ewwcOG7oxNj7meG7eKuj0CqHKwcykjzVo/LtTY7lS4YUXXpiZmp5fmIdXgNlUbzQCD7NfdXZ2Hj1ybHhg6Pr1mzduXncc5/jxE+dePHfyxKn3fv0uIG5YHFbW1icnJ1fXV0EBbDRqJ06eLBWLHcUiIHhQ9YDDe7u64QXWV1YB0R4+erC7VL5+4/qNGzegGw8fPgxMC7rZvVu3c5q1Goi5ubnpudnF5WVYR3wRdHR3Mt0IuTRUuq1Y7PO0BpJRRhmKzWgHIicqNAig7h5ichadcg3Sai2VG2zk1Ej7o5RQG+OwdGYuL610Fbpdzxm7O1avN3I5697tuzev39A1/cUXXxrqG7p86Qqg2GqlDje5duUaYJmTJ47/w7vvBSy4+NHFm/dua5YpNc0FoFDIOzIQzEiFkcUbgnF5xizv8e4hBQVCUjkiZxRVIgPEjUA7EBnrhes4JuBCTfcYpWFDowsH5BpK/0+/9Z+4XpMKJum+EA5zLaPgcv/v3/l5pVbN83xldf3e7Tt/9NYfljvKFxc+vDd2H7jFEUHDaX5y+dJX3nzz5fMvHzt6dH11zW02i8Xi5PTUxPT0Wr2KuewRUBpeSEU5NG1uZfk3v/3tG6++euTw8XplvbKyFlLKz/EHD5gLMDIEnu/t2Xd49BAAz45y977urnMvvDg+MX5/bAwmASAPI28rUIhbFhxfxcJ9UB3gJmbfhHmhc6OQ8zECzGCAnylrJiZnyFkNeDlTIxMv5nuHq+vVKvTei2fOevXGpUuXACXAjPPW6+/94pff/s4/7t/X6/je/Mr8d7//PcxwT+Ff8G98YgL0xv/yz/+LjlJpfnZOuL6p6QZWHDGrlUqxXLYMg4roBSamgNYwa0GqeFfkccijkkjPQiJZFTjF2pOPRp9JMwfJlzPtWh3jtzT6wWRt9SbzMB7gzddef+mFcyDqsKYaV4FTQmrik8uf/OznP8vlcjDE4+Pj519+ebC/f2py8pNLl0BIYYoJLm/fu9tRLr90/uWzZ8/evnkTVH3P9xeXlyamphZWlkHZWK9VC+UOeCIWp+NsrdH48Tu//NpX/9HRUyemJ6aWFxYtrBmgAVNPjk14jmNwvVwsnTh0bH292lEu9u7rhzuvNiufXrqMxbfCsGRbjMprgZSWwJswywL/g99efO2VVy986dXaqcrYnbvAfsAk83Pzs7PzoC6aunXo4OEb129euXwFFD3A3zeu3eCS//EfffPjjz72WXj5xrX33n/fD0PTNj2/1tVVvnPv3oWXXgIdb/zBuAqlOHniBBqhx8ZKpeLRw4c/+fjjG9evA+dDL9+sNaQXfPMb3/zhd78nRHj12tWLFy8GiLBDmMuFzjJAad2EmaMHvG3UtLiYMwYOZ85kGWUoNqMdCANxDM3CHTUT87RgmKoPB8nTCj56sGLrlpkz8oZhBhicE2A6Fc0ECZPPFarNSn9//5nTZz744IPp6dm+vj6s4OX7XaXOoX3Df3nlrxrNJkAZp9lU0a+lUmltdd0QRhiKSrUKsqzYVS6US4B6LAAKhi6ULs5i8PoIqZ0y+v1TZCIhq7n6UaSjnQiTvdsUkFSwc2bObjabRgFDAH0szhna5bwTev/r//a/3L9zB8tWMVZzGvsG+mDdy3cUa406YMWOYtGw0LZUrVRLRWSPUOOd3Z0APuxifmxifPavZw+OjB45eKir3HlgZBT46suvv3H11s1f/PrdBzNTmmHhLmqzDgwmmLYCwPWjj6cmp3qKZcCIfV3doyOjB4ZH7D/82ve///1333svdMJvfPUbX337a54ILCMnmf/v/u1f/Pr996pOwyzlPd/jltGzr6dWrXIhMJMAmpkDp1kHpJHPF3TbBOhcr9e7erphJjUaDZw7YeB4bjEsdhhljHXjmtt0apUq5do0y6WOgb5+WO8Br3Ah4biBEes9BOs5YHDpMYCtpXJH3+CAKlMK/yqVSl+533PRtxKABbqtI/IyAFNbpolBlrhBi8u+aQJiMXEibx68HdxFn1LabNFDi6nrhAy9mTuKJYbFYz2lr4MmnS8WNY3/zQ++/+O//2m1Xi+UioWOEgiyQIqurq4CJlrxYMgGBgbQuo4u0RZ0N6bX6CzpDM3803OzMz/8mw8/+OD5U88BxgVUNzo6+tprr80vLf7opz9+/8MPBkdHisWCRzUXNCwLYt66d3929i/3Dw2NDA0Dl/Z0dPZ0dn3z63/047/90Qe/+Y3wxbnT554/9XzOyjHyvfnuD7/7y1/9crlRQRQrRKVeK5RKFqqIMgh8M4cJiGfm5374o78d2Nd3YGj/cN/AvnJnd6n81mtfvvjxJ3//i1/qTDt1/MQPvvu99ZXVeqNh21bo+IuzC4eGDi4vLGue5qOXirBzuabvdZQ7YBouLCzWqnXoj3wuB3K9mMt3dpTv3723MDN7/NhxUAVvXLu+tLBgEu/5tk2Fc8P+vj7btF3HhTmiwwuUijxnhTL0PReY3rQtSnjcxpjqs1A5T36fvJLRrqQMxWa0PSl/PaYQCe38+r6qSQhyPAeCLWeDkPUcNwgFCCDbsuE7LBpOFWtATL/55Tf/7J/86Z//6T+DZXtxZf7Xv3n/zp3boPKPHhr5n//H/6niVotGIeToS9iRK6wuryRPNk3MBA7PAsAhkrq1X1hHZPS5kU6FZdHaRcExsOQDDjABbHENuGi1WsnphRqoNoHPKM2WVSyYxQIAsEqjni8VAUmsN+qD/X0HBofdMFhaXRkcHj548MC1mzfK5XJPT093VxcgtoXFxanxSXhMKV8Avn3zK1/ZfwAA7ejY9BTmD6rXNQyAtiwDzae19cr8/Pw6X56dmg5dT5NydHjkjdde/8pbb3340Ue+8H74kx/++Kc/waRvxcJbb/+BVcgBJqg4dcwhamPtzQaGVGuYq0hgIiFAOkzjdj7faDZMgNadAFUDVbhIVdy1TSuH6UdhpnBQDmE5B2je2dXhSQc65s7t2zaz/uzbf/rtr/8JbVNj0g/dMPOl/L0HDxpuhZt6X38fNMb1Payfq2N5ZwABjJb2aq1Wb9QpNA4r34V6VCkUfTAJ8wJKA9SF6UjNTP5vQTAuiJykoEh5HUuvwSEqNBiGsl53YVBUkCK6UTGpsm2USkX4AIAPOn5waBBg2Zde/RLc7dad24DwLrx64fKNa5RoIiiWSsB3wDYff/QRI09ZTKJ88MDREyfOnjl7/8EDEHT1eoNhMm6DY904r7PUAWwwPTk1OzklQdgK1tvdc/7ci6fPnrl3757jux9+8tFf/dVfuo7T0VE+f/5lM2+B1vRgYaaju2wbBu6KYKpESSmtJJoimm4un9dCsby8vLqweE3ygJ5y5vnTp8+88Morr9y4fmOwe+B/+G//FaOSN47vwP/Lpc6Q+RbWwkG9y200LUz+LTCFCHrjVAGkdh4+DArkBx98cOHtlyvr6zPT05X1CmDiEweO/av/7r/HCswMPWoCFsCKoQv92pWrMH0wAk2i/RtfWdcxGRgsLlhsOYOpGT2EMimW0bYEyyDmpAa8gZuXVNcbFuC8hT6xXBo6FYblQb6YN9AtDCuFYhFO22j6WDf81s2ba6trv/34Y1CwO7u79u8ffvXCK6BhB74/Ozv70x//ZHxqvKvUZViGIINdE5ZhlFncJx9Hs5CTOqY+AKzsiVATFAaTybTdT1uNkfIo4BiCgvF/Adb7ce18DpQTVX8Va2RixD+XXDdzdq5UwAqcnBXKHQ2nyWwTQKJuYgp0i8HB0pfefOM3v/r16srK8VMnz75wdnZhHgsaU5wYbpwHgdTgIhtw8MLc3DvvvvuNb3+rt6+PUUX3WqNh5XOuE2hMswyzs6sL0IfbcDB/rePyQPiuB0z4L/+bf4nAlOnLiysPJibyxcLCrRt+4H3ljS+fPXvWup9bqa1j1vdCHppvwWTBKvPo7Ot6Ljxi/8j++w/Gqo2aHcAEMaBJ8CwAr7Bmu2EIgBIhNAttGwvHA/4AtGRKI3C93n37/ND7zcX3r1y5AlgBFDnQ4arVqmGbk7PTx46fkByL10MToQNhpqiUC6XOjqZ0cnkbHW4lOmNAS/ApOTTGAk6CfyLOa5aVn1WOLptz9nHyH5VBCOoBxW9h2W3QbQCuoVDi+upqFUViEKKSYFkuaPagq1CRAvgN0Bb4VqfUG4ePHpkYn7h06dLQ0NCXv/zG/clxdBIglQJOAM5BnvewVrC/vr5WrRQ6Op5/4SwMzPLiYr6jCFqQibZbGzQc4I1atepgdW4M4YLhVrm9Xjh7lvYlOCgud8fuA+Z2JyfrbvONr3z52PHjy43KSnU9CPxCsUCevpKjTwHWLi4Wi1gat97ArTAvALQo4T2aTe8Td+TAQVAIoSuWVha/973vrSyvoO8v5gqQwHJwq0azCXCzVCzmbDug6soG7ZAwP1xaXBrs7z918uRHFy++/PLL77///tLCog5vGvjr1fX/96//GjOFuQFl4sKuAFALLeEGFj6B/oR1BJYALPrIqbycxkUW05XRwyhDsRltSyC5Ah/hBeZ5xZgHjaF/mLa6tsqk6O/rn19ccOoNEEMgyDzX8QK/WCwN9Q8sLM7X6zVYMFeWl9dWVzmu9IWTJ08eOHAA1tK1tbXp6akHEw9u3rwJosqmzEeUSdTDZEYgK2ElgAXYNNC3UoSYn6hR0wTWKPyiuySjh9OGNSbx/cAdbco9zCnWGwOsuJYHYBpKX3pUpTjs6t4HQNaj+rOYCcrQ7VzODXHvG05XbovFjtLw/pFao/5gYnxuZrZY7jh89Ojzp08DOzWdZldnF1bnEgLYxsPEn26xVELXUcxkzJqNpt1R8MmZ1LJseE6gcmYZhg942kDbPyAYWO2hNdVmFTQoWlk1FVZYKJVmZucmpiZHRoaPHD3SuH1zYWW5e6DPsi2Chmg+Flq4tLx0/fr1/v7+Y8ePAbZwPA+NrprWqNXLxSLiXeE2sRQI4ijLsDCIB5MTAfrUHMfp7e1dr6wtLC08GH8wMzODYTc5e2VtFd0AhDh85CicBrMSUD1gWOgf9EuXiAYAiYMyiVVwDZN+DIZeDXkq+km+mzTNTHSpyH0BnLGbSG0xsQ2/lc8lJb2mugOBxLSlGgJHPxBG4ASgeuVDjXlUPANrVWBnm6AnAId4vkdY1gAse/78ebhobn7+/thYKMKRg6Nnzpy5/+BBvVIF1cM2zeraOkBYTMHme6B3WTwHAA4+L6+vSkqnhXEAxBiO20QlxDSFBco8JqwNsKYwmlQd33d8z0XXBR/40waI6bmLqys379w+dPzI2bMvfHTpt4vLS1i+C4sPaGiORSmOni0UrQittXSq8Yqxj3BnIero9AIfQxDR8HP71m3XdUGAg3Cu1mvoxQv4lwW4i0F7+jC/KM2cYVs50LWWl5YPHTh47oVznZ2d9+/fB/ANj2406pPTE9PT0/Pz86urqzAF4OkqnRmhVUpxQz+cZr3KDk715eSz5+SS0eNRhmIz2oko/WsIiIKp2oChAIE5Pj5+6MCBl1566cbNm9Mz05ihHeO7ZHe58+BBEJ5Hrly+sl5ZP37iBEio2dnZWq0GeKKBKTjrrueBZJ+dmzv34jnHdRcXF0FUlTs6enq6YQ25d/+epKLbgGnMMLTyOTT/ErUSlLejpMy/f/eQ3DQcPDZ28TiVRLI4wbLse56p2b7rqsTmcA6s4k7QoJhxNGgBPoDlGQAvmmwtA8vAGsYQlSb64IMPYU2FxQ9w3r6+vueeOwWsWKlUDh46GHh+tVJ1G82FhQWv0Tx06NDg0CBgjqnp6XqzYRbzOmZwR7wBbSrk8/uHhr16c2p8HFAmrOe6zbs6O0+/cPbGvVuVRg1wIcJBspwNDA426tU7d+/aOburr3v0wIG1BrJ0rlTwPN/gGnl+B24QXLl27ctvvHHi5Emh8fHpSQCyPuX4LJVKfb190M7bt287koqFkMOMYm9Ywk3LqlSr9x+Mjezff+r555quAye7vj88vH/fQN/i0pJhWLCyY+x5R1F1Js0+7F2dmdBIuEmtUbMLuZHRkfm1FXRaCDDFkkEZSKWm46YtRmyGmU1rQ/K+JCs2BZKi9o5+L6aGKa8A/3u+22wWTNuHr2zM1OJTol/AiDIFi+FDoVg8febMxYsfzi7MOb47tzB/9/79l19+GWtweN7Q8FBXuXN2emYe08fqBpOljtLg0FC+WJyamfZct3dwQOWLxfENRd7KHz9+3Gk2F+bma+sVUMwA4PZ29Zw4cQJ4fq2yDnoh5ujWNSfw7FKBmfqDqcl8V/nwyaOjB0Zxi4MSIhoUDqiSKkBTR0dHTG6sLS+vLa14jgMv2NVTPnL4CLzU9NR0pVp5MD7+8iuveCCxZ+dCSkjXPzjQs2/frbu3AWrC5A38oIhl6opMqXCWDiIdVLh6vf72V/5wcmJybX0N+B5WgUqtNvZg7NUvvXr50mXAxPhShcJQV2d3d/elK5cF8i4qioEMoVdhCgSEaDXKqMDSoyPbBi6jjFiGYjPagTDpD+48coUjVcEfkEqTk5PdnV0nT5ywbbuvr69WBTDBCqVCT19vf39/wcr99OOPXc8/+fxzPT09d+/eXVlZsU27b6BvYXlpaXVlbnFhcmb6tddea7ju/Ny853r7evcdPnIIJOHU/KzjO7liAXT8UAoT0xSgmRYUfXJBi0RXq+JtnA47A7K7hGRqJDQV7R4jBWVT0dHvjVl5++jhI4EfGjlMQYWw0jZrjTosn07QfP7EqX3lLhM9Nw3X9zA6qQAclLs3ft+wTFhogR9u3ryphaxYLK2tr8/NzY4cPHDs+PEbN24cPnq0v69vdWl5dmpmsG8Ai4F1dw0MDy2uLN28dZPimoVJgM5xmpZmDQ0NvfrqBeEHt3q6F2ewnAG0pburu7ev7+LHHwPQcHy0clGINwJAO5+Ddt4bu3eq8PzxE8d9Lq/fvQ2TgpZxjXQwraOzDPBifHJicHjo0JHDADertboIxIEDIzBlenv2TU1N3b5zB4vWCkyajxkKaBUXXMC1AG6u3rje29939PgxaO3i4pLreCefPwmo9NLVK2bO8kTAyZgNyJhhplsNoDYAiLwNAB33ZCfmpwo95VdeffXmnbvS4rOLC3AmdDJu2qqKqS7lKHiGqx4oUjm2GG/TvtANw9QN2zjz3BklfLC30Zc512zUx+7f94V/8PCh1fX1RgNdp0BeBSw0TSufzy0uLS4vLx85cqThNG/eurW0sgzj1PDcsYnxly68cvAgqFgeYMHjR44dOXx44sFEnXIgFAqAe4uO68BpeaL1WhW0OCV5+/r7X73wKih7d2/fWVpYDF3fMHTg6uNHj7/33q9W1tbsfMGyc8B+1Xq9f2gQlSJTX1pbyc+XRg8eMGzr9t27TcDfWgHYI6D6eR3l8pmzZ7tK5dnp6amxCb/uwIt3lkuHDx2empi+fuvW6srKnfv3vvnNb0IPzM7OgloIrTp89DAocnPLi6g1SdysMzBtHHahRhKbG9patXL/wYPv/PF3/s1f/Bv0YEDmFDBl7ty7+61vfQuTvuXzbtMBRfHAoYOjo6PXbt0IQ4GbcjmbUaQioljPpVg6zM6b9n5ps8tmRWkzIspQbEbbkpBYrBIkpqHp6MxI2ZB0XQNV++OPP5qZnj59+vQ/+trXuopduoa+sBOzk5evXLl25erSwkroB/NLi4BrX3/zy8ODw3ktf+3etR/+7Q+vXr1qWdbE9NTSj/7j22+//Sd//O1CrrC8vjyzMD02dt+0rbszY7AkgKTDgt2aBssMRlubGF27NVRVK1AmznYTbRiNJJTYdd2iZRvcHB0a/ef//F8U9CLDnFzS50HDb45PTXz4wYdmYP7Zd/5MSF9nmsFMlSrSZYHG9B/94sdr9dWCnfv4ww8BZtRr1UIuB+htfHyidwCW78F79+8vr6z09vZiyNfIweHuIcnEvcl7k1OTd+7emVtYKJU7VJlQD2t4Gp7vLSwsTM/M9O/rfe3118tmByDJhlO/f+/+j37y49m5OW7qHrByGALKAPzqBF6+UIDrAcEATu0Z6INl+P7UBLwX3BbuBqA5b9l5w3gwP//uP7wHaOb4iROvvHJhsH8oJ/OVYH12frZWqSyvLGMe+0JuanUGuF0z0GGWmdrM2oInxb7BgZnF+Z++84tXXj7/lbff6u8fKPD81MrMrbu30fCm8eXGyvD+YYzcClWFMxNWejf0Z6sLoB4AmALw3dnT88LZc2+/+fWpyszP333n/oMx0DY5BZeVcgUEZ8azK/zTKUfTabaSPLKA80D+/Nf/4r/SJDrjUxZszIdWqVb+9f/+rxtN58Xz5186f8Hkpoa5N5jHXPgAQ/nRpY+usgpA9QAAIABJREFUXbu2f3T0k08/XatUvDDEbXvDaLgOHAHoBmi1sl4BjHvo8JFzZ15UD5ydn7l7796d2zdv3b0TSFGpVAzlymyabtOdn51bWljo6+19+eWXO+2OnJlbq65evXn13fd+BeIUQ6+EWwuape7OvOjo6e9dWVmFy4FVGndunzl7ulwuw42q9RrwfI4GHSTq3BrofvOlI8Ujx46dfe6FbqssZHD15pUbN67fvz++Wqs4IgAUu/RX/+7rX//6q6+/3lks1+r1samxsckJzPVWWeKW1tnTDd1TbzbyxQKW/whBH9Mcz70/+eD6+M0bd2+jB3DOhA70RXhvfPzvfvaz8+fPv/H6m+VCR7VWfTD94MqN67ptz67ONwI3XyrC6iIYFaGl8hzo3U5GlPSwpfWNzCKbEcPVPyuo/dSTmvxxZm8thfnQB4zLhgjev/rJz/7h3dn1FYxopggQzAlAe8Am7q5xzIoShHCJidGpTa/pooMj3USVQqDS3EJVe9c1G3XoEF1aLRu3jOvNps65H2KMNgjTQISAG5bXVrvLXbD2U1NEvVGDy48cOTS/uKhZBgBZjMUxDCtn65ZKKt5GqXyxHGO/QmlKdv70ubcuvH5s/wFDcl1QRFi6VvqGDJkss+I+jDZEviQHZRQaI3XuMvbhzUs/+/DXd2cmBO5VRpvcMt4OVFkeMcArCCsrqybTcpZdrVYlWRA7OsuGjWjVcZzlpaWuzi4Ly1IxDAEDltMx2F+3TV+gTuV6LjBJZ0fH6vLKwL6+ZqOB4IJcqHOA3mZmMFgEdS3cNG3UaqCKdXZ2rq2tATiwiwUyZAq7A538AO4FLqb3Aii8OL8AsBhwA4MDnheil2ooQuEGfrmzDCAVmLZrXw8A2WazUcrlBOad8wB/A8ytAwNrvNxRxpJOrmdwrZDPe4CF63VMjckZ6GaarjtNBxNpWViHTNU4yOdyAwMDs9PToCdiglJN6yiWZudme3p6oHOg5Xks14QBNPVqLV/AjAcw5TB8nrNGs1kslewcwBI9n8vDPdfX1/d1d09NTlq6qSa4ZmhO4Hd0da3VKqZtQz9DS8IgyBmWqyadTiCN0Wi6QV43zh479db5158/eNxi+t6w0245kVXdDcrMAAMEYstn7Mb4vXcu/sOl2zdCXe3hoPCLpGJ8reLSwHEljI6dCz0fetV1XPI/tmljXqxVK8ASKkhL0ga9pmNJDOAZjOFDvwO/o6Oj2WyaZEzFVAaM2ZYFl3R1dWGd7UIBcG2tVjM1o1gqAmMEmLtYKHu/F/ggJ4dHRqq1GrSrVChB62GdbmJ5LeW2S7mVNQ5tg/vArAE2AKRcqdfgbiC9u7u7sXKGwBJfwMeUVUbDErRUhBbEKTTMazpYAcQBsAr6IcfaypJZ1KogEJaZA24EBjYNo1QqwaUApqGHc4V8vVav1Kr9g4MwE6GpuVIRWJpqK0rbMCgVIxXkE2JledlpONAVOdvCm6MHMHYFOmnQJoDrOmq92DfYPz03C8tIV08P9KoJfF/Iw6wHQAy9p8fqlnJJStYv9PMW3ObG6UNHv3r+9XNHT5lCqtJrih9oDdtKwGcy/+miZ1cdz+jRCDVjSjSNfvecSs/CighfAJAVFCwiYkCDpHzzDXJkFJovhec5EpR0U4O1hGolGoW8FUrpcQHquyP8UFOXSwPQhKZXGnUTYCsluAQwgiUTqVgi41snKMj8YncbbYl7468krE/CC5qOgzmHRcgMrek6WuBjHjchCsUiHHSZ0FT2eao92QAWgh+ODtOMinHAUlkqlyUA05yNQc14rkBDbwmNuwACYH1lGKIjAQ7Xmg0dvRMAayD75Q1kKowjDALy+g4r1So8HYAdJn+lCvK4FhL75W0DYIEB63AhD4wNp2P1WnKbNDTyLRUC9yoAKglcm3E5l8zxPCzdTEltYfr4AEtAcwuxpqjwPVL5mGFboGMtrq5wy8S4cRLFjcArdpUDLs1CDtsPQNz3MCTO4A6mHkNLKlVE4/D6FibSgocbIdXQA7xbq9cB2uIeCqVVgteH14aXwmT7JoYcwWvqiKsCmKaSPcMGDN7+uV25xRA9HbNG+C6m0IJvAW9FebVIJ3FovzsyBEqMTkTzIWZX8dStAMIylQJB46YdFcWAbwAj5vN5GMGm66IFN/S99TUsFKNR0Qw0O4LOhjkpgGds5DRNBTdh7gvQ0ymnMtZKZKTgm7irYBfyWP5N5x1dZcO00BcLwydhqmD4FSfmYCg/MWKMUx6PkCrlqjZjYYUgwHgtLOHhwYzTcWcf98HyRgfcIoCJyaQwOHBU3XGkoXV0daJPi6nnKP0FzISQ/LqBvxnmrpNeCGjWN4t5mDjofW4YuHRQTg5QyUI8wSMdQKI3kanXnGahVKLSEir3MeaFcJymIB/lZFwY1ZFUq422eRwzelYpQ7EZPYxU7ChGnkR79xhGipk8BYd1WNcociBOdY/VwFFgCaoRT4HbGJFuSFXREcPAMRc7pfuxjDzF+UTxqSYlBmKY4UvHcB8l1FAaR7JqCz+oVLqcjHYtpY3hsKrB8hWA6IE1DCCg+hrLXjHkGwsrHfC41le84RslLaa0BZrKlYEV7TlqOmplM6QWSGHlcrhCY9EjtMNhtD49FUvWY+0OTBLLKVgbl/OQXENpXccsVLSQc9mGapRHON5HRdvg8zSy8VCVUsyhAcfiTU9OTqqK6Tmqc/B2PNQCAOtkBkNOJjgTVevCWzHdNukGCGQkZhjAWyFMVmnDAMlLAMmq9in1FrZHBwSjUeYBnfxcGSZvMtDBwLLI5KZFMIt0P07WOOpHqYBXtvwztRPVLlKUXZbkm45+n7pu2TaMvlA9hrFxlBiORY5MWxMxKfJYwjak/5NGhuW7BO0q4HCT6MSNJDqHwsooSSxFX0XXovaG3xiUnAs5lsQxRnOpx1HD0KOUruX0mRIISFID9aS6ouJ2xWbqc+RVQt6rUdtRf8MwRegFU0Uc4rYaKm2AtvFCjZhXNVXH2lrEXcSDOk1iKkOOnSc0NbOpKB90HVo48IV0DsBZS2wfVPfRMm1GacCoK6irlN2Et9VrTP0vcybIKKIMxWa0PW3YrVP7dJwQBuABbopQl3qoytBGJ6LUBa0fEC5Xi6YmYyxLpLdArFpPZXw5CFw0FKEg1BQaJomma2rt3zJxYKttGe0+4u12cnJx48A5wB/4DwZbRnEbUhVTTWL1ZORKuxHF8gh3Yi1kzCyLP/BPI/4xMImQBNQo4sLIAFLUGkjakKZM+4zQJBmlKKaK7ovXkwalktq2Vk6tjaIvFPzBzLMaJVeIgAuPtgvIrqasb5xirwRNErq7jDxcCPDy6GyFYiOVLJ4XMkaxBAkU+6veoeeibTlCSATEVcNxBwQRg0iup/bqnCksxbPZ0k68zRar3DEJ35ECgFqXTiGuigM5Cqm4Qu+WXcljtKiGnqz+CrEylY8CVDdQ3oBv0N4rojGOklQoLlL2SJ1Ky2jKbk/MQScIUm8IxSrmYVFoFbE0TiwtzqsNk0t5KSSxlVFTCFQbukqNEbU2jqAiHcvAnQiFhCMfBp2jdR+bq/ZDlD7JqaQtTiulS2qRkxdMcl2LdvN5/BTVSHwhuireCYhSc0SzO5H5au6QrrCl3M88YjNKKEOxGW1LW4ppLLaOqy5VAQpxd0oJ4vgSJaSsILbFRktxDHOVbYulUKyMfyGK5WoVUHINBalUElkZELaHrJlfwW6jCJGmlhqK9CfzjEkLvBCRKwmut2TiSozuKVthC8WyaGlTFiX6CnQbrguuxV64yowpIxCH7KXsVbR+oiWVsmVqKhulRqajyLc74q+I17QE7fEUJY8Nw7i5ZEFTr8Zj0E42VqYMrnRfgNU6vSMBDhajBxaDYgUkFJiKJkoyb5hy5jExP2hr3wGRg55ga3UTwj0EJYRsoWACz2j9UuUl6NHRuGQTJqZWsBdxLcodyv2GkAvgnlC7RWS4pc4W7W4Ibe4JSiNS+kzMaTi+ggzv9JVO9lERc6lMbqFO1TXFa5HlnkJqJYskIxnp8VwtVoEUvFYYV11Cv2WkIUZcpLCuArhcGTuj5HaUHyNthmD4OF19rZxQORVq0DBDLmYjlnFLiak4ObFTiE2kEmjKMV29Vmsua7h7QrNUTb3ojVnLL5lHE6E9L/iWjq1yk3jJ6JmlDMVmtD21tGX6K/kAQk6JQoyG4CyVPQDFJ5rJDJ0kWtrmqk6ITFaMpY/LOBxIi/zylUkjjh1uu8FG8546sE3+goy+OFKrVzKIPD5KnIG+JbSWs2hoox3b5Or2QLLUYhWFbkQBioKstkxEig+iYZU4NQaDWsoQpTSiNNvRnbgKf0mey+PsrVEDYodskd6TIKirs8hsKyMzHvkg0kpNIIZstXhUi05grRzusavkxs8sei+ZvAI8WI87IjqYIOr2zolNeizqYrxWUvewKDWttsNGeEYROFXIkmyihPZw6KVobRUQC7OYw1OJ/+gOXMSjLNXGlDoXQR6BQhU1p/b66X4R2mQx8yXBSTSyGPevHAIMZffXowinGMVGJ9NuBktuxWLdaIP0VOgz5QCGSF1E/jDqe4l8rUVqGHwSdBCnD7a0ldoiwuuth4aRQhoB5IjT42cpf3OE4Xg7PcHtjPiTpf6MX4rzDXM/o4y2ogzFZrQt8fY/0uJEKNSJxq4Ib7ZgB4+NZ2rBZSnBpE5Ir7vJtzzePY7MHol5Vya/OM8Sau0BShZ1lSyWp8LAwxg40nqurDes5benaYlakua9TStZZMCS5D7bwnuxsVPGOlDie0d6juIwGQUjcsS85JQQoVJ1XoJZE8iajoKS6lXICZBWeIrJidooFT4IRRhxdWx4xe1Z5G+MkuExz0ctbt12EyVrOY8dWUWMa5OXbWtdSuFk0YZskmggMla3YHhGbZR0ieDRzpEe7RzEcI21gTbG4ioe6jP9RJ4GsQYuYzmp9gTSKpqMRFki/VQbCNQm3IxOAag6icgHhakIgRbkjEzqXCqVJX4HZBOuCoYr3xyWZpLkvEiV49Ftk/CD5O2SWRYha7V5IZX1N5qzTCZ9QqldyfSq7MTJY5IHJysCTzbY6BvNiIvapJk549KMHo0yFJvRYxPml2GxKUsdikxcUeiDTMm2TRf/nhqZ0RdOfKvRlumD0eKdfNzG13DDHR6ZhRRY3dCI2BVXLf1bOIqm27MRPqfbs1VbZXR/GW2ytp+opU5r3Zonf2+dhSP+7iGUbmq2M/EEtKGTU4FfaGAUKQjLt7mExewtUn/u4ESb5v8t2tOyYrZ+xwI2enTCpY8lVjfceUP7Nz4ypoR7eTIHN0ySVmtk8mqtHYMdQgofhb8zymgbylBsRg8judEQ27IItWxYkRAKYwU+OY++i1wGZeu6iFRGvzYozLZBEO2Pb52W0W6lLVCscixtT9KpOIT2RDfhvmhTsu1GKeUpWsh5+8HkDtG6yXcCvhtawuKdBL4DE3IWs3wctkj2JZHagki9GuORcbi1k7DhriIGvBtZO9UwvHUUW8bbtrC3eyPy3Uiswq2e2sbym1FEZEJXG+PJjr/gLYN9mxU0PmlLOCvYw4i38TFP0renuV2xcBxW2PpepjhiSxQYmd5bbU7F+206M2U6TUz2Ccuo1AMa52zLO7ReAsPEoianXySKQWvDwclr0Lkqe1i7Khsj6bZtGbbVm2b0bFOGYp8t2lLUiviDTP0oaknJ9lsoV0b6mrfddxsTrJZ6+oabbTRsJAu42m1LtVXK9h3R5AL6W2y68wbaBJDSN8loE21arR6uPsiNeQl4ssSqZQwDPFo3i29IyXjIAUDbGjfy5HSl9qRbosVrfNpUltiKeCszkjrCtRaDxQ6wqQZvZBLedpy1FLYkpLF1BfnKRlqZgiVaFLNOLoYyXrJj39zkzm1WruRzy6Wy5ZyR7MamruYpwJ10k2oiaZWp14gij+ivMN3B6nikSPA9OSXkFrbSbU7kbdyXcGHrlNiNIz1QvG14Wn20ha6WPkGlkOOUJSIRgBsv4DzKUBElMsCPQnGayqHRwnfUKBFjO5GSme0NaeNpVTBWPVmSoZQnvqtx7oS4K1TWLJ5EZSlvryggkbKDsa17mBuAYbmWiumNuzLmyPiGcf+rhpHfhExOam/8Zl6UsdqY1h7a9NyHivRM5j9dlKHYZ4B4+1LGItOOJBtDSN6KvghZnIgHvvFlaOkmUxk0W+AzErQ8tWOkllSWwA/JW2uJTsUbqaCXqWPia5Wrpd29NWWOaMGdRCDzlnyO/bR43Axa33lcvYtSa2M1+5CRXr9Bg2/JSCUEH47Inm2SbR83rDC07Ci3Ngy1VnhIJbAUrXKA0QCpe0SjJiiYhL6N12KporpUKiKenJniunRkn2I7Lls8ELstRpzJGW/tE6hkm9FaH1u1IljNo1M2vrhUJjHBhIEZWDEjvSCLq6r4SqckDdDobaLVWWvtmqrGJACE5kvLwstTyEjGqCpCToTRZRyGFp0T23i1VrvTuFomXS2ir2KXxTDufPRBplGU2GI8X9VC01Uq/zAAKYAxPKIFX3Y7ydRv1ioUx9pRSqKGYJENStkgWDIQLPGhjlmRR2NBbKMO8iR1sUjGNPFFSbOr3MCfukosEUFFxaixFEvJsehuykFLasn3ke9orBu2XpM4IjLwEypVpbCwaq5hUIGxMEqrrDiHMoCgAomvEpK3tE6TUCQANnrFKCotilNoIWeeQO8ExfPkHVpHMLWBIFedlA9sy0841UXRPxnXiOR6a42S6Z5J4fNE4MerQJzaWaPaEEL5A6vzsVYFV6ydqHtti8LWJo2M9iRlKPbpp82AjSwvKNxC+oEPmJidMvmBYMOCjVKYmAtJJkG2G+f/5s8KTSqBq6JaVIZtL/RDLEqOFXF8weNQgc2BJvHKvfGByZ9aKs930gB4YkiYXDdMGfghZf7SklUqroOaeKfFq9emTsloK5IxPmgzSEkyFJEJVETJnCQXGM5MyXc27nint9JV+Qyi9hKnyfY/S5iDxctdm8PoRttM8lslDtr4HW/bCYgTbW6w96QbSy+FZHAdlkZa/vFGumHgNInvGdt424q8b0OtUB7ZYvKoGe0zK37ftgapc/TN020TWtPSl0d5CVic3TaCKvSCnMO7qOSc0Qk4fFF6px3eZNdR+0SWKSzJo5RSnNBcGIBwoEJcWBfDVLV348Hb2piqpUdIJndvGyC+6TeLXT7imFfVGNnigfSZbKPcY7ETiJ48nNJURKfL2LdBi0tYyUBS+mTmui7WK0ZLQZLQECV4SLgdK4QQEte4ZhmW7wUpKN8uhlnymm3dHGXs1pKL2s5Q7Yy1Ap6+flt+anH2trT52ngyqwciZFb55kRiW2FtA6q6TuOt4duxTRntPcpQ7DNKMiWTVeEXThWuEQCqPOq44D9JnT9OCWWDMOBUcpNhmSON8mVrpmmKULCUPEn2ynbCAA8lEYbwPBboQt2cCjdhSdNQ5cr5TDd/5ikt/NUHTHQqlYWR6xqm3tHI/gGjAEumZljpy7dQR7akz7CupMd359ukv23bGY1NNckPfB16Prk6cFMzUOsLAhYSoMWSYRr73SyFn/2eyYSKM+jSmp+UJaPpCZ9MCgxH420oqFgVVk4zTMB3Bmcb9ZC9RZFNTlM+zmSOVP7LJBowiQSWFzb4hrD8bagNeD7CBXzLz9tf+EhtoJNEzJ1q8jE1yqGEaUeJvLgqAG6ZBlafIWUTBDswMry+F/iCMh5wrD0reLts3wBYt6SHStEnZt3HW1+SD6CaOK7guqQ1RaNUIKl1ZdNdP4eVJqPdSBmKfdYp2pSRlJkwCFWSS12ieRYXuc1brjuSjO1oqt6NKliP+1xEkjKxaBt9EVPXJm16rFfAyouIwkGGm2iXiGyEAG4BNz/evTJ6FFJOJTIVmEcZTHUqiyU3AMTdSomZOal2mzRZZTVWW7Sg2iFElxIVJRYVm03vX+9OkqlG8siW1p4kAfdaKKyGSwtr6ZImEtWDftoIRhMkg4UVz3RDE1ipNc7tt/spGUrBW7sUCbuCohJI2iIw9BDENhba0nBPSuA2gh6/YSgV1MN/buCDYhb7jyGls+NtMLLuUqI5i0oXi4qUtDX5kdSTjJ4SylDsM0rxtAewibuJJucWSHmmqfKCnBvRovcE0oDwjUmZKjV0jtW5briOA3cK/CAuH7p9s9hjPhRjsam+qA/iG4uQG5qqWrsnVqhdT1uPBafaQyFW5NQM+pvBQJuGwXQWsNSG+S6nbbwT0AQLqlwQ2obZdF2BHpFYfgmYC2NY2jdM9wDFATrJn4w2XlT+WtA8ANtp8KcIPbXtvscptecdEQybCf8ZWCzVRN8Q0wuCvQHXUsQ3QUxyHtDR45XSJKPbROALwwjIsYrMrhgnAMq8qaFXt9ru930fd/FTGxEbH8H2QM/Ai8CImlLZYJnSqqEHQE9JUvBueVlGTxllKPYZo8ThiatwHE7FWaTJNQsWbqFSngCWDWPnvccrNEBbXYhwANHEZRAFLBqa5JZhsgAWylBEgSabLkxZGh7vnTDXvGR+iM5nAXrJcqzUjRZaQQaJxzQoZ/SIpAJdcEsz8H3hB8LDMZCGtvvD3GXaWilbuCcKaqGKXrhTiRYwjLgxLIOZpgqKDES4+0sKJS/IWFwbIdmDJn+QMPQj53VVnCrAKc/FnlFAdiYyM9Jr0/thUGEoAs8PHD+QAdmh9xhYjzy/k+FRGb4EBeXG2+iA4cgZRhhURRf+Q18Cx7M4mqBBPJJ4lxy34IOWWpPyi414ZvdzAPmKwFjCi4HkCX20PiuNegMH89QlGT2VlKHYZ5RURiRNZWARQhfc1gwQdjLAHUauqe3FxxZmCsWC+m///+ydCZQdRb3/q7r7brMvmX0mezJZSUIWCGEPaJBdREQBeYoIInnI03NAff4V9MjTAw8fqA8XxIV3ZBFkDcgSZAlLgmTf90yWyTL7cpde/t+q3+2ansnMJIRkMjOpr5zYU11dXd23b91P/+pXv58cUDDK4HfRYoaTTPJYBsZWih9z8DipPL2OQCIdk+vgB9mS/XalLG6YZs/LBvr/MN2fRSYdP+O57dj4TRE3nHG8CFmUqrJ/ywuEZvMTHPmeo3I3rkF4v3pexLRSrg3ww+9lezweDoUsEVC0v+c8Dji+y0TRPqCT65D49ot89oYpcuSKTw23I2KZYeEfy6Tr7ABxjT3Ux5DOceoKdybTYyHDEG7Ajhc+RNTd/iX1uHr+33TdhsgKZvjuv57JTXyIKTtlWOLtRMyQmGHPSxi2Z5lczLs5TCbWDRnBJHXBzIuHE+a2P0j+YLhOSvpxyzvgijBfrJcxX2uQSlPsiSs5eHlybHNjoXBxbgHeaBN2SqTMFt6xfmjPjwmXIsqB55qhkCco1qa1CI0H6rxUitlublZWVkamcXAs6yDafvwzAmQxloUYL8zNC4k4Mo64hI5ABfo9/GjKS2elpAgWgufwmRYPGZLEAyRCthn952738tEHvQzVWnVVX9Kea1liXVd9Y0NLWyuw3U7ZZUXFeNkD4/aji+xBanLDcDsA3fPT1ifx4iecb0zhVWQ7hsOyrEhRdl7MCgmL7EBivE7qGEb8PAJkg46EQoX5BVXlFUlPuFJQGNd+Pi50WqgX+Jep9y7Xk6GIPVq+ZoVDPGTV7NqZStl4x8SoXjKkuC0jG1/VcDgsFu+68pF2A44JBwVWUyb8fi4RSC5lZ8VixYVDMmMxCn2i591OQGmKPbHlgmIF/2EgmFg9bmhVVUoGEcDQKAyZ6vf8YzXJhW0UEOnKSLT4r6m16cDuWi9pe447orxq1PCRhtfJ1JMOhuL5IVc+zhnFr7IIASp8pEDkpXkFedk54tdLvJqno9V0054e6j6BBBhQREZpA7LMUHFh0fjq8RWVlcyTC/tYf3lvOEyK7fJOJYz76bAF3ObemvVr12/a5CZtYMGU8ZPzwjGwbf+n2G4jMChjW9KzhSEWrxyuWMWOX4IIswpzcvNjWQb5/AyI70hvneQUutSVcUYLcvPGjRxTVFQMvkvayZDHjQFFscx//Qi+8xtuOp0XwboZDTuMJZpb9+/bZ3C3KD93+rhJhPKWabqC3sWUQodfGeu0wdTp+uDaPrFk5GMWDoWG5OUPyS/AGxmxvHAhO9590+pLaYo9oSVXrPJYKFJVVlFZVuF2nrfqduq/d5FHgfS68mRTgAC3Zv+udStXNTc3p+zUmMqRZ06f0+2yMe4/jh/rjHQuWyyxRqt2iJkhbMh4CMG1Yl2TH2p9HHX9wfMTUVLQ9bBhFucPyc3PE9YgZpmdD+mf6mXmVH4LPPVFiLNkoq19x7bttufm5OXOnjKrODMnzHj/n7lULML9NzkjYItNeCnhAS+vw5RvleBZbjsyAVn/v7iuUt91N1Di0RuJ5+KdvDCvMCcvX8aWNmxmA9mtbqIx9VPRR9nlieXSoyBYB1eXZO7mtetaD9SbzKgqKD5l8rSsaBb310L4bXkqbjdnHQ+KWj3W/ynW8yOduyK7hFjgYYiYNCkmnEZCwcSPPcG61qCRptgTWzw9lgUzf6oN4+NHKSA4cEQaFVemgjEizIzYZuOBeuyNmlbUAGV2NMs7/9aaH5+b3XQ/Ddlhi1qQK7oG7Jxov5dcEpSO7C5WkMjCkEQfehUZEOtDDqZYNffg+j+TeEGKsVDI5l48hV/JVrch5OJKxX8DC/QOduAx5OCfdq9M18H/rAHwyfWqLt3Hg2oxg2yZlswJ7Mp3Lct/UAeEvINMpEETQzq3m4j+60aYkWxp57Z4EXPa4nnRTEN6rgu7ezp/g4gZF7ZCvVz7gKBYXFcqcB9wdWZIRKoeKJ+p1tGSptjBr16+1bwjL006agHvTLEfL0KBP6CI2D3y10JwgIgY4GSEI3Yy5SVFKgTL5+ODdQSztDL6PFdRD30O1u5Rn0ydF/l2/ViCd5erV6C0acfoPF/Zb5WQMPvyAAAgAElEQVSG7oPkkSeM61oiFwgX2ZgNnmmFHc+NRTPCXDzbxkHehP1cB3+R07ga8BriXs/xiQaOePDfwHNKb12K/KzOq5r6uZSnb5fVXUHfADkTYmDIjUYjIZEpkUWskJdKGaFwhNbs+aEMwqbV9dr7P7ceJJPT26b4TClZZPpDH4DXovVJpCn2BNDhfauVJ1xwCuYIRnnup1WkIAcu8yLhyITqcalE0k3Zhbl5Bi2aDvatO/fEj3FG3zDG/cnTrvaY4D3omFb7BKc8kdTNHeoMtryzw0YQI/q7evhqGBSjKZ3xihXl5Y8fORpPdCgigMCgCdm+7elRVI89H1iX9HG+yDRvbgTGtyNwlzru8joPzvT/ruvI2TRDpdour6z0DJE9uby8XLpUuHKlK/ejwPBDvuIPlNvCu/scu/fo1mg7eKUpVqtDBy/p+LiLVblv2uE+3GD4zI1lzpg2XbgYOG55UYkRtPJ2niQ7grWxvLPNuKdfpoEyLvdPdQ+ygf83DtrVT341ujEk++Xd7/DoiUpb8x3HMTkfVl6ZGc2g8HMRygbX730Hu15g71+AQfH1OPQlBhaVklV2AHyIh/wquR6YVdgLXC8lDAd87Njq8opKy2V5mVmGadJ+Tz7Z9PbV1aDLDhr2DyrpnzJ8Zu007HeeR9Ia9OL9P3y31pHrCD7bwPf+CBarSuOVJzwJaA2pwRzDoNVXMpmCWEtiydUkndwSiXuOlGK7ppLsqZGDfQN7qawl1dMDwA+q4fk7+tWA0jvFHnwVgd1CSTvFRFgtggDD9uwQD5nS57qfPziHO7sa/LyC9vV+fnlK3X6Re7rqzqOE2++vsUsHD16uBzm2zF9gGinPSXgYbsO2tEZIx1/PFGEaXEPGY5AHdlouoNwSuty8/h9pi3f2Fe7mXbrL3evhC641CKRtsSeGuh3re/4mB1d68cCGF8AC3kOhrC1XG4hVB9xlXsp144kEkyNvRihEoWR7OvnhnCJY2LXHh3F1h96r9fGVfk68NBjxI3p4ej/w8AsPeYoOdUc86Xd7xbKpZDKVAgA4zMmOmabvFnvcr6L31gKfymF9gkF2GTDfj8PsaLczP/34+ex2hOyJ2Ll/OfS61ZaIuzJ0WtQwMyKRLg256g2n13t4ZB3+JDfq456CD6CnVOtYSlOs1jGQI4yxItGlXMDeHG9etnKF4zhuyp4wauzIiqHHu39aWr1KhpHnlmlYls3crTXbN2/dij9NyzxtxmwrEhmUP5/dQpJWf1NPn47BRBYrm7FVG1bvO7DPclhFYfHUSZMt3xCrpTUopSn2BFDPlphD2mh45w1+GIVCIo6NyE4qM7Z7LW1tHyxenEgknGQqLyN7eMVQLleYdjGNHNzm4Zy308TSwf0Oyut5l1ZnHfLB6OZeBoo+7ofY/Sd7pAceTmH3j42/W+10RIwCb+fePR+uWOpwLxrLOHnqjIxIxOiu8b6/ikN8Ew/HBNv5Uzs8o21/Ve+97/JxK3N6v3w+ux2lOnYFroXybHsi3Ro3he8W27hx45atW0CxyRGjpo2faIYsPzIsHXaQt0h3g2cfPJ+fsDC4q8dPfmA/0FqHJU2xWr3p4yJfegAUDkoiv5OIssW5a3u799UyufQ76YjcYGaX1umwI+JLDaXHWuoOH84vAmf9622hp1703jvx1Ap3WM8RF2O0J5IHmhtTrhNua3NcL8A//VeH373+9pH1mfr/5XZ8NF0KOyTz0XrplVsyBQBvbmxqbm4Ouay1pdWyQjjCcRxDxtAWx4rsAI5pWT2FKhgQadu63Bnez9zxtfpSmmJPAPEj/5U6gtHMo8xOIneW5xoySgHjIABuGGHL9AwZR9ZvV71e06jEj/isXU1t3fRK7hTLGdvb2yORCMZwbKux3bZtQ8qVsqQ5OZVKocQ0Tc/PVsUIcYDmUthAhfSPhEHw7qEpHI5/mbSUUJuJRAInxTbaFAkhLQtHWfK3JN1DOYtNlhXsUi0nk8loNIo/0SB1WHWS+6JeoUQkFPX7SZU9+SZBhdRDknDwkC2IyJLyQHUV1DiTR5kqwYFs0ZYdS5/UE6mG6RR2MiWasiyxjsTzUnYKl0ZNdXxEvPvfzfTpfKsS7g/dNKpMt0W1QKdLZw6TPeyp2YMfje53BH79aH0hNe35mYFEuGPGkq5roxt2KuiWN8g0+K6ok3hXa/MAuN7O7rwdHfYXwqZdRcmLW/zrGcwApXoi9TdLeS4zTJfCGHjyC0ijs+t1evZ5YOztciItrX4vTbGDWmqs6nYa5liMVp1mfXwMYV44HHZkVk9XDrke6zQKf6I41YeagSM8TSMR81xfhHSKWdFNxU8Eneizp3KU+xsiU7ePiURUjvzNYJILCRwJEJlPja40fgSDgagGVTdUYZBBqRHCYkWi6TvqbyiAo7MosDu4JvXBlAp2gODVka7Mis7lh5au0Om8dKDESeoY7hLr+J2ln1OmGg+endqnO9ylsMudgcDuxPrUW3X5wf58oswWvLs3O0Wxsg+ck40HKABAN/H/kXB4IP3AH44Vnffy10BTt73v8jEPClgLjp9Cvg+AKc2xlmmJ8U4kszJTrm3xdLhYfIXofbdjzPEbVMFkB9ItOZxHdyBdj9YRSlPsCaA+/iYLVMGoKDCHstGaJi8vKmlPJuyUHbFCnVKCcd9X6xOdsbedQTsftoGqmZmZioQAUsSIZCVlPnqCokJSiiYJp2wpFjCyMuEGLOyOwvHXcZTdFBvMB01Ui8ViBIg4kJgMR9EZmW9lDDKosp6iHXSG+E9xG8EoC5CiMs0GPwdls0Q76BJOFzS+YhslKEffWltbMzIysAvnwt5IJEK3JWhMZT64qzPSXlQLR3zil7+M9AJAZ1HGXTRIl6Don/qDm0zXQsKxKGxvb6fD6RDu//Qq/qaP42M8JN2qB6860bI4u2kx7nA7Mxopzi8EH2RFM0IoZQMtydWA6uxR1oC+dp4O+sEOQkxln8XXzKBZJpEYmScZK8zLa2jKx9/ZudkpzwbDWoZp4GvqpkcDmmgK+gkP6JukdYJLU6zWsVKawzjLicZmT5uesG0v5QwrKo14HZlmHWkGOKZjKKiIDHjEoMAjQkCM5mQLBLHF43GqiXLUQXlWVhaToKaYlVrABqiLOBVN4d+8vLwuhtKIFDba2tqwC4xIBkuCNkJesoxSCfNn2xWiEWLS2VFCYEfEib3UATqdImz6ZWK+jZNoFYdgm64LR1E3iKTpnuAoIvWQDOZPHVBt4gJxiGoZ5SgBVSsOxraiVWpQYSs5Y6g7g0ZwT1QP6Si6LsXKyikC27hp1AfljMF8HFeWJLo5Cug/lrzARtBOZ/iFXvop9cKMV5WU2SdNBb7iPsZClv7J1+obKZurEvcLOx5g8d3hpkhsIOri/6tHj8kvKMCuosJCfGFcJlciiPdjNsDevrS0DkM664HWUVbH8+SKd39XrPJ2E05KBi1gEaAAN9VQ6vK0GaHLxO7RFSCVbH6yU+6+ffvy8/Ppz6CrKFkflZFPWQTJKMsCrqvk24pCMCIxJQExtUaIiRJQLEoyMjKI8IgCUZ/ssoAzstcy325KjdA0vTL9tra2ZmdnK7svbXTBWbJrkpctKtB0PMhPLOMwTbRAKEzAissfMmQIKqN7+BOdoZ7gKPLWRVOoSa0RKapbRC2QEwKdl8ylykWY7hJaZvL1IL2AWl472Z6VUbmLiwVhPdonr2J1sXQJ6i51cT9Q5R/3kQicu/PMQNo661FWDtuxPdNIeo5w7GaG69mZ4Zglsh4MmLQAWgNXHYE0/GyIimJpigR/YizA02hyDAsO3r9ZJBR37JT8buBBDZmWeBPjhpluIfD14R2ZZwzW2dyrH26tgSNNsVpHWR5TU84CCVyZu0uu9Ra//SFPJu5Slf2B+dhRbEImXCCLHQhp9+7dd95550033TRz5kxyh0W5svYFDYrMt3SSjRB1yECI7Yceegigduutt4K6gMhAQMK49FSddOtU5lUmLZHUGcI+z/fBVUhHHIzuESayAKIxn1zVei8cq2yTip6xQTBKl0lE6AWWRqme0KmDV0f2Whyu+qyIvwsg0s1h0uOCVqeRaZmcj6kCQS31iniaHAw8fyVWF8NzUCgnXw7m+xmrW0cOCcxf+oZy6jD5zn7cp6Iniu3wMZCFKZm7C5jgiEdVUGxU5u4alKu7tPqbOiiWdaZYP/WhIXN3BSmWR8Ip7tnpMBoiZAHqhpimWK1BK+1RoHW05THHlat2XDG/5Xpua6J9284ax8UOp7K4tDi/UHkUuMd+ubciNiIwcN77779/7bXXAkXeeOON1atXf+UrXyGGU6ZNqqyokfnLkpSNdsuWLa2trQRYQb9b5etJHKzqcz8MAjWiTJhAYZAxnYs4m1aGkdOt8mFA32j+na5IRTYgVqbzEikSULIAN6Pkv//7v2fNmjVnzhwy4irvWyJaUDj5xZIBmPmWUeoD4SmBKVlJqdkFCxbgfeDrX/862mlsbEQLyg6tukH3Qa3HUr6/6qMJvjPQqwKuSLn/kjctES0LxG0IOgd3sc5+cqUXhUu/WGFyNQ2Xsz379u45sM/gBs43buSYaCikbbFafSZal3pQkVCnNN74clhiHcLm7dsaW1pwRG529rDKKpNpKtUazNIUq3X0RW/8IuaSjFLU2N763keLE6mUnbLPnDm7oKDQUA6I/uraYyc1F08MFIlEAIVkwMN2dnY2P2hdv4q0xXzSIr9S5juVKt9T3jn2k2qHzKLKDtrc3IwTMYliTOIXIK++vh7wR/Sm3HaVGZIFvB3Ukizmr68ij1XmW1jpEggBCZGD9uOcnBw0S4bVYD/JA1gdEnRaoP4oG7DCSlVn+fLl69evv+mmm+iGUCNMuhzQISpig2J9guYgs7KA94XyqcB1EVIrc7jynfX8wF7qXEc8lcQDJi4lZeLy5IyCSDnPzRS3t+6pWbpyBcpj4eiwocPDgmK1tI65Ovg1YChN/6seXHybyLnbEGtq8QCv2bBu264aFA6vGlpVUW5xiw6Qq7s8/f6lNcikKVbrKEsY+WgtVNqFy2tPJldtWJ9wbNDHhOoJKZm4KzgH/EljFPQqEM/OnTtrampAjWTRBO1RPwsKCqqqqkBg+/bt27ZtW11dHcrBfBUVFSh/5ZVXiouL29raUI46KBk/fnxw8hoUGI/HFy1aRI6nYOKSkpIxY8aghVdffbW6urq0tBTle/bs2bRp0znnnINTKwsl2lywYMHVV1+tYG7Xrl3Lli07//zz0b2VK1eiSzhXbm4uOjN8+HBUQA8PHDjgSOG8U6dOzcjIAE1iu6ysbPPmzXv37sXhtNqMQmiRRowYkZ+fv2HDBtyHkSNHrl27Fh1Gb4dJgXTffvttXNru3bsbGhpAvSjEIWDEf/zjH5MmTULjBIuo+fLLL59xxhloavXq1ejw008/jfILLriA+biJi12yZAlawEZjY2NWVhbOOHToUGLZ999/f//+/WRhxc3HvSosLMQ9wcVu3769trYW2yjHhcyYMQMHop9btmwBshNV41agMwTK6Scn8PrxydUxgSt4gOPRtblYgHigsXHDtq2O52ZGYgkxp6A5QKtP5Pkge5At1nct8EQULZcC4wmTAb4YO3fv3rJtG2deNBTmYr+B/WrYSvv2GNopRmuQSFOs1rGSTHzAZCwY1tzWyqQ/oSucsTzlocXlGttOnrGdF9J+khU8JLAU4AlYCfACJAGwmpubmbQ4glMBalOmTHnjjTfAZxs3bgQhARnnzJlzxRVX3Hzzzeeeey5qgkFx4OzZs6+77rpx48aRNy0ZCIFff/rTn0B14CowJfZedtll55133u9///t58+YR3r311lvAxFmzZlFAAJoo37p16w9/+MOLLrooMzOTpvLBo9///vdPPfVUbDz55JP4F8eC/04++eRbb70VPId21qxZk5KiFWCjR49+5JFHQLef+tSncC24LnQAFKti1gIisfHzn//8qquuAsT/5S9/+epXv/r444+3tLSAYnHU5ZdfDnL9+te/jlOsWLECmJudnU2XP3bs2Pnz599///1gR7KD4qhrrrnmzTff/Nvf/rZw4UJ046677kI3cGdwUjJvf/TRRzfeeOP111+Pm4mOgcKB7zgLOobLee6559577z2cEZXR/qc//WmcCECPQjS4dOlS9BZvDvikfvzjHwNwcb34XHBegCxuL8Ad5wJhExMfHG72E8kPFps2bovcXYxydwFcE3ZS3lKZuktLq+/VTXzjTnvwryMS0ZrxZMJ2HcNjGCdCpgxL4tieYYrZMTneOrZthUN91nEtrWMqTbFaR1mKO4UNQKzrclJMrHk3I+G21lbbdkTqAbHsID0r67gYe72QkQ59ZVhdV+qoFfFHxivAIDAQ6G3ChAmgsX/+85+vv/46GSnJpAf4u+22237605+CnMB22Puvf/0L5TRrDyAbNWrUjh07Fi1a9Ktf/eruu+8eMmSImscvKip69NFHyVi4du3axx57DHVAh5MnT8Yhe/bsAdjV1taC2MhzlGbD6bzxeBwgqEJZAUwTiQQavOOOO4B93/rWtwoKCgCFoGTsevrpp3fv3j137tyzzjoLVIeL+s1vfnP77bejfUAh0PO+++4D1JIVVgVkYNJ7Ac1SUIVmKRyIs4CSgbPPPvssKJNChv3kJz8pLS3FGV977TVgNLpBUQ7I8YAM2GTI+dnPfgb4Xrdu3f/93/9Rt5UDAJMBxQCg1157bWVlJcD0pZdeAj3j3uLAe+65B31ra2vbvHkzLuF73/seLgdYvH79erww/Nd//Rf24v7feeedaG3ZsmV4uwBD/9u//RuO/fDDDxcsWIBu4D2E7hhuYPC8n1SdKMFj6cBbhng6feddy7SOSoBjLa1jJvkc+ysnO7nc6BcwrcEo7d+ldfRF4UKFG2U6laeEVNvJjorQqSbjFuuY0LJEqFO5rAqsYKXXSAFQ6qSowU8SSQNkmZubO2XKFIBXVlbW7NmzCRzJLxYbjY2NoDqcq6mpCaz5mc98BgDHZKAo0OS0adOArdXV1SeddBIAC8AHmlGRsNAmRQzIyMgYPnz4iBEjKLrW9OnTAa979+7duXPn9u3bcawKGctkYFpa/wTWVICOQpx937596C04tb6+HnvR23vvvReNv/LKK+A5NEtnx+Vs3boV1XAsIHvevHnkdaBuFC3GwunQH0q3i8Jx48bdeOONQ4cOxSkA1ihB31CzvLwc0AmEjUajuN7x48e/++67OBEulkIBoB0KoCtysMlPh+4Pk5RM6RLoJQTC7br66quB4Og/LhzQuXr1avoQ6akgp4WpU6fiT1A13hnKysrOOOMMNIiznH/++RSbbM2aNbiHF110EUW6HTlyJO4J8FfF7kU7BNlH/Gx0Ee/8H3lvOyL1rMNdbHM8wEd3MZmW1uGqZxcA9cRa0tqaEYuJr4wVioTDKVe8fJqGpSa4hMdXSBtitQaPtC1W6+iLSMqVrgKmYeREMyePGWd7biQULssvCHsywJvwL/S4ZRoUfVOuqUqlHAy9oMnXXnvtjTfeAA/dfvvtKgHBkXUGKEnBnlQJIImMeZQUoKqq6j//8z8/+uiju+++G1Q6adKk008/ffTo0dibk5NDMQTwL7Bs9+7d6BuREy2o37JlCyAMlNba2nrgwAFsEKHOnDnz0UcfBSMyaesFGtK6KBUwQbnD0rIt4n40iDPOnz9/yZIlDzzwAJPceboUrgIlTz31FGEl6q9cuRJUh87gEFA4yonngrkGCHmDGcLy8/OxAWTPzs6mSLFkHMXV4dq5zNGAowDT1AhBOQVAwDXS8iwVkIH5sbeI7SisAcoLCwspBkJYCncGB+LwN998E7cL/N3Q0IDOUw4FgD7oH4fQsSihDwh1XnjhBXLzYDIgQ01NDaAWXUJXUYIWUJli3B7Bg5G2vcrQb74Pt3RowfuUK3LN4/XK5J7leXhoJ40ea5pWZjQqFnZ5eomMVp9I5e5K/9Uhf+aAe47jyYkv5r93jRw6PBwJo0ZVWQUTHlyuKRcqMn8GKdiCltZAl6ZYraMvbnCTmcKH0BUDaH5WzpmnnAaKDZtWaX6h6fmJSmlYdgUzYAtEuWvXrn++9eby5cvBOps3bz7llFOCTqhH1hm0AACipABqST4lkiX6Adidf/75xcXFRFfow9///vdvfvObdFKaSSdnAPyrIhXQsq1HHnmEWigvL6+urgZUAS7J0wAoBsbF6fLy8vCnCjvg+cmuQOc4HY5VkVZRjhbOOOMMMOWmTZsOSP35z38mU+7UqVOxQRkBcMi8efPAuK+88grFAVBZr4IxWbvkC1DRXnGWSCRCqbMouAHFYcCf8XgcTaHPyjOB+swDOcYUxVI5RVegq1MhxpR1VsWF+N///d+WlhZ0deLEiWBl3L13330X1ZRXAH00KlwDDh82bBiwVRmYsYF3DIrwwKRhWBmzj1jBxF2EsOncB9gWH7IT4sbooSML8wrFU23wzHDE1Ayr1ScKpulSAQq6FErfARpIMSq5pmVOGDtuaNUwFGTGYia3Or48OneX1mCUplitoy1pW2UmkythBK5mRGKjho90ZAhuI+W4jmMZpscp2Dz+9err67Zt2Uor319csGDd+nU0cU+WOeKzIwbZUaNGNTY2gpnAqfX19cuWLQOoeQGzBPaicOzYsbNnzwbI/vWvf6UZcIisjwAv4BdaGD58ONhUmR5ra2tff/31K6+88oILLigsLARx7t27FxRLbDdhwgSwODDr1FNPVQGqgoGugLbr1q1Dr4BlO3bswElRra2tDRtlZWVg1n379j377LOvvvoqxRmYNm3apz71KdSnEFrAXDJ5qui2KiKVImbqJ0GhynmLywFAU9oCxaY4V2ZmJnATYI2LBZRjb25uLu4Y7g/KUWHJkiWE2kTDqIBd4F11ReTGgH9xVHZ2Nq59//79uKKKigr8+/jjj1988cVnn332yJEjcciiRYvonoD+yaqNa8SBeAzQB+zCTZg5cybqjxkzBh1Ar7AL+EveujiQjMdH9pB2WLi8jqWFHckM/IDGnu2aIWtIfkF+fgETUJ4Mm2FDQ6xWH6tnXwIlT05wccsqLSrukvWgL3qopXWcpClW65go6MmaslMNTU0YSi3DiBlmRpgSk/JUIlHf3FS7t3b50mVvvfHPd999d+u2ba3tbQqJADfKTnnEvHLuuefu2rXrlVdeKSkpaWpqeuutt1T8fDL0gpxeeOEF8CuwCdQFQASA0hz6hx9+SG4AOHDnzp2XXnop5YwlQESdyspKcBXar6mp2bhxI+qTmRBHgYnffvtt1Jk1a1YweSxdDmj4pJNOAslRlgScHccyGc0KZAw8raqqAvmBjIGzOAVgDqRLXhaUFxddRbUuiO/5qVyVTZQ+CEW6Kq0Xec3S4TjknXfeQR+IO3FDTj75ZByFSyC2BpJu3759xYoVRLEQbubatWtffPFFECoukHxkqc3m5mZ8lJRlt66uDvQJjseBuFeohhJUABPjeulTxlnWrFlDQbjwqrB8+XJQLE46adIkUDI4Hu2TkXjbtm14J5k4caKKONsljcInl6f+L+2SId61Wttbm9vbDG6C0ssKij3T1Bir1afqIeuB16VUmAa8xuameMrGrkgolJuVxVmPEKylNQikKVbrmEhE2RKWLcMzjebmpreXvJtynFg4PKV6wvCyingyEW+P19UfeG3hwqefemrJB4sb6+pDlpX0V+oEVynxHrKVHqYuueSSv0oBQ8eOHTtnzpyioiJiIKAktsGFkydPfvLJJzds2AA4+8xnPnPFFVdQ9IBnnnnm8ccfB1Sh/KKLLrrzzjvJLSEzMxP8NHLkyJtvvvlXv/rVQw89BP4DLgP+CEbR/rhx44qLi8Ft1dXVFMyfSZAlL9URI0Zcf/31v/zlL//+97+jNfQK6Ax8zMvLGz9+PEXaQjnanD9/Po666qqrnpVauXIlKBCM+5Of/ASkiPq4Ctb5tYHSEBBx4tSlpaUFBQXoCTCd7MpZWVk4lu4DKgCLX3rpJYA44BItX3nllegbeB1X95vf/Obee+9FmzNmzABNvvfeezgQjQNMQb133303Lhy9wlFkH8VRra2tTz311KpVq9DP0aNHf/azn0WDOCMu5MEHH8QHgTq4J7jM4cOHoylQbE5Ozptvvvnqq6+ik3PnzsWFA4jxoeCm/fGPf/zFL34BYgbUXnzxxTiKvEFQk1LpqlxfH/sRlf/yQDBONVErsx64woHADDmcbdu5c82m9ThLViwj75Q8w4geuYOLltZhi4LFqtwH3Wc98KtySwTTSjK2at2a3ftqUVZWXDpj2rSwznqgNajFjxgOtLS6FT1PwiQpYmsbKZNv3bvrN398OGGnPNe77FMXTp0wcdP69a++9PJTTz+NDWFw9QzPEXY8bphWOIQSSvV0wQUXAGKAOCyQx/UI1NbWptxGAVtNTU2FhYWgH4qQhfbpjIR9lKartrb2tNNOu//++8FYxG2UMYGcOBOJBKU5oIj9MRF6IawcT8l3dtu2bY888ghI8Rvf+AbaB2sSddE3jnxA0QHlCUDZa/Pz82muPx2cnHOcBSX0L1mRaSkYuo1z4VrQWm5urrpYqkPtUwox1FEesbir6C1KiH3RFHD5xhtvBDeTbwP3k2nhQO7n92J+ejCIysmrAf2n1AwqYRho+N///d/feecdFcmBSXaneALoNsVVAKfS/QfdYi8ujdaZYRsw/Z3vfAddwmsDnYUiahG5kj2bnAoohS/+JQP5kT2o3GNc5UM2mEsg64lVMthIMifJvX+++84/F72dSCVjofBNX72xIrcwAsI9smdRS+vjyDsodxeTr1tuxx8YPaWDrMjQ4YFiH3ni0fWbN+GQ8aPHfP6zV0SNsIUBgYnkB7IV3tGI34bR5RQadLUGjrQtVusoy4+fZVI+Txloi7W0tyVcu/5A3W//+ON0MxYAACAASURBVPtEU+uOTZv3bNveUF+ftB3hy+V6IlKBaYKYTLEo3CPaA9A8++yzQb/PI+gPmqKV9UR1YLW6ujqUEHpiA4XEnbSsnsnYBSCnxsZGEB44SUV4ZX4WVubHTKAD0QK4igyfypH3jTfe2LlzZ3V19RNPPEFLxFQyW+I2nCI7O5sqK2ZFoeoM1aR8udhLS7jwJ3gOFEjYR1G0yDcAFYLb5DZA8RmoHbpSsmIq7ty4ceOOHTteffVV9JwWTtFVkHMCOTyko6VKO65CScJ93B8com7y+vXrUee5554j6CRTOjrQ3NyMNulOUn9aW1txFYTIhKRoH3i9bNmyAwcOvPXWW7t370YhPiY0iEPo9hJM4y4VFBQo1j+yB5UOM/wYBcAChwuQpUUwJjda421WRrRs2NCN27c0tDSFI5HWRMIwTL1ERquPFMzd1XmRV0fuLp4ODou6wk7AjZbW1ngygXezeDwRMsKoazs2nls6mL5HVsjSrKo1OKQptjf1/gM56CcVj+zyaQkREZIjsh4wk5lAquaW9vWrVh3YsSvZ3NrW0urEk/4BaSOfJ2GJ4vMTI27atOn+++9XpHJkN5z7iQAIyzIyMsBAYhyXIWMVG1Hjyl5LgaUee+wx1A8uxldtUq/IeAliU/67KiwAIAzloLp//vOfni91FXRegjPl0kpBZFVnlI1WRUhQbq9EqEzaVqmOAn21+krBsQoXQLiprpHOgssEO/76178OHk7cTKdT1mL6dFQkLwq5RdCsbjKgtr6+/oEHHiDMpV4RtQft0Ey+Kqhcsp4frgvVcDg+oL1794Jf6b2C7knwgUSvgMhqqdwRPBUdj4cnkiGLvEfkUWBQ7E302UwlE0bImnP+3Mwh+Uym+cyIRcXdG+xffK2BLBlaww9fQBG4/D3yuaVstVpag0WaYrWOvtLAJ+MWGXLwDJlmNBSORQQEOCIgjBdYmOCjoYBIM2kLt1ECqczMzOzsbGK7o9i9YOzYXnTqqad+krOMGjXqkxzeZ8IdLi0tPeLDu8zm5+bmlpWVHVyNHBgOKXziFNG2D9Rhiw1SrB+mABzLYxmu4YkMGYYJdHVSdiw3ytPGMQ2yWn2rnp842uP56RLDoZAplyXiPd127bDw7+4UL9Ywu+ZH1NIauNIUq3W0JXPDeBTVX/oamiYfkldQkFeQNSfiTpuVaG6trdm5deOm7du3t7a1yil1YG/a2KbyAgBeR4wY8bWvfU1FVtLSOopSfrFGIOuBS/Fi8aLluKFw2OZeXknRvsb6zTu2pmynJK8wxA0NsFp9pMPIeoCxUvArE6BqypexosKilrY2VBZeN57tgVoxwgYolsZYbY/VGhzSFHvk0gvjupc/cZ4eND0vOxqbOXmKFQpz1xtdNbwwO3f7tq1vvvHPl15+ad369Qfq69pb25LxhOPYzPFCkXSm1mQymZ2dffHFF2dmZpK7qpbWUdTBq7vStli8ROFZTAq/Xpu7ccfevntneVFxyrazRVaxkKENsVp9onQ+uYC6ZD1gMhqMeCCBqa70iDHYuNFjhhQNQY1CkVHFdMXyBFNnPdAarNIxCnqTvjm9qBe/WNt1TMMEHDiuY+MehixbrJyRy7oTSdPj5A/a2ty08O03X3jxxXfeenvrli1iuRLjKcdWjX/mM5+hdULKpVJL66hIvmCJDeEX6y/VdgKp6g25bptJ62yKezLZLjjBjjDpiTzoneK1+oG6LOviimL9TAZ4Rh3bNuRiRBeDrePwSBiPa5esByFmmB4d3vHY6hgFWoND2sSldfQlFiSJiVdaAuXK7N40h+WGQpblpZcuRaPRuXPnzjn99JXLV7z04oKXXn5p5cpVlmmBfYPM6skUqbQY67hdktbgUqdXIn8BjMEDPoYg1kTCswxuWcxMu7vIWL+OEYqYGmK1tLS0+oE0xR6hThDT4JGZnEJWKJ2VXvpjtbbH12xcm7BTIdMcWT60OK/As5MABTMUipqRUDgyaeKkspLSCz796X8tXfriggUfLP6gqakpHA4DcynEfSgUOuLg9lpahynOAxO42BBZDyzX4Lv31u7etxdf+LBlVo8YTcmT9bOo1TdSWQ86Fwm5gRIZ4oU7zF27cWNdUyOOyc/LGz1ipKX9CLQGtTTFah1tidXd3JHBp7gI6uQ1t7e9+9GSeDIRi0RD4XBufl7IFGYvz+SujIiYnZuTm5MzfOjQUWPGTDpp8vLly999992VK1eihZaWlszMTOYn8Tre16Y1eBT0i+2yukuEy8DTFgLCGknmbNq5Y/HSDx3HKcjLKyurCFthbYvV6gN18GvPubs4ZUlmNJUgVnet3bR+647t+GPE0GEjhw0zjDAdoHN3aQ1KaYrVOsqiMVLEAZWBB8Cp8VRy0/atCdeOhMITxk9wOJNBCTxXBpiX4UTFpK5lmuXl5cWlJSdLLVmyJBaLUbB9HaNAqw8UdEP0DBErzmEijnxdc9Pmmu22bTfH2xJi0fcJMQ+jdfwVzHoQVDDrgSFDGeNBFY+rKNyzd2/Nnl14SLMzskwuknSIkC9+4FiKxi1ix2kLrdagkKbYDt8AZeoT65NkoPVe3AZOBI8CtYhFZZaiZAF0ZyhiS3pM9GP+q0yndGx6IYLntSUTgFfHSzgiuYzpeC6aMKl9SgcgQssaTIbZz8vLO/vss2fMmJFIJCj9LLkTaFus1lGUssUSK5A7gf+EgQlErDhHTi0wsYFHliVSScsMca6zz2r1uYK5u7rbw8RIC5Q1k6mkgzHZE2nALUMkAiSbggzGJWIauI5j6AzKWoNFmmKFKAEmhdan7Jrt7e2Us/REoNWeRHmeKIETpWJqa2vLzc1VCaUoT6kYKyXaulJEsSI2lqRYgxZ44Zcfv/+iRRO4avqBtwU9GMJcQGOqWPIVidJInSXF/PLjcwu0ThwFKUFwrXiOHS4zHeHdjHGXcwwL3DO0m6FWP5anRksuom+5HYHhTuDfMq1BLE2xjNKyx2KxhoYGwBlFJw2FQvX19ZQe84QVgSluDm4IgHLfvn20kUwmUU6pWckhgAylplSnFsT6A9flTnYsI24nvZSNNwYZskCtC9dEoNVfFAi05YnH1jDwKmYz2zKNWDjiel5ORob2iNU6PjpU7i7I4kaSscxoLGxZ3BNJClNuyjLCpmF1rFqUWWmOcV+1tPpOmmLFtxoICyB74IEHXnnllVQq1draGkx8fyKLLNOUUgv8escddxQWFlZWVubk5FAYAUA/iJ98DEgCbYXF1SCTgMG8zHD0lKknpxwHCFtVVByRaT9pVHV4EB20tI6nuP9yRW6G8gnmYW5UFZXMnDwFUBs1QxngA52BVqtvdBi5u1wxhYgRVzy5ZB0YM2p0ZraYxSovKRPmWOaanTPQBlvQ0hro0lkP0t7uYLL58+dj47Of/ayev+4i3KL169f/6Ec/Ovfcc6dPnz579uwRI0ZEo1HwK14AIpEIcJZ8D5gEX3IzpKSyDvfaUol9DXUi64HHCrKyc2KZ6v6ml4R7naFA336tY6xAOOKO3F1MRdryRIYD/G27tmcaDW0tzW2tXHi+uKUFRWHTNPRKb61jr47lhl7nrAd+wgIx2dWR9QAPq8NC1t6m+rZEEntj4Uh+bi7q4E1MZz3QGqw60W2x4psvY0KZpplKpUaPHn3ppZeSjyz5eh7vDh5nJRIJQ+r999/Pycmpqqqqqal5/fXXJ0+ePHHixMLCQtyrZDIJlgXUkjsB+cWqX3mD80goUjykyOQhk/NQEBr0aKnVz9Rh9qIHWD6u2ZlZGZl49TJcz7bkou/j2EOtE1E9PHGdiz2ZhJYX5Obn+Lm7DPLq0tIavDrRKZZJkFVrkoTPkGXRHDo7MQIR9C4yVBPNA1WvvvrqFStWvPvuu/v3729vb58yZUp5eTl5D+MGhsNhcqWVr/zpRTC4lUk7tbf+gLi7rleYnZMTy1JOsT2vu9XSOg5Kh9mStljx2Bvc5ayxuamxpVnYYrlbUVSGV14Nslp9qh6yHnQqlmFePObtrzvQGo9jV0Y0WphfYDA9wmoNZp3oFCtCm4dCjY2NjhTzo+uj0OvsRXQCCncgEokopm9qapowYcJJJ51kmuYrr7zy2muvJZPJmTNn5ufnkzEb1XDfZPRXbkljlohV5HmN7S2Ll36YclzmONMnTskakcV8FwJX+8VqHQ/x7t6gOoLFytc3Q3h3Ww53tu7asWbDeiBC1AoVnDXEEhSrH1qtYy4KFqtyH3Sb9SC9JXN34cFMMrZy/dpdtbtRVlFaNnvmLJNbVE1nPdAalDrRKZbJMFsygp5DE+LkS8D88FsnMsWmUikKtoVbQWHI8NsOZr355psrKir+/Oc/v/fee3V1dbNmzaqsrCSTNtXviDIrZrO8pva295f+K+HYzHGLS8qGjxgFCgjGMtCLZbT6g+TjKoFBrvNyuOdwlmTuzv37/rV6peu52bGMM+ecnaWfVq2+0WFkPTAw4sqsB6jrygd405ZN67ds4h5LxROnzphlcINmFtNNeoqI9WOsNRikKVZERQWZ1dbWAtqY79ZJq/JPZISFQqEQwDSRSNA27ga2KUDs3LlzCwoKHnzwweeff56GxbKyMpSjPrnJyuXdnFsiMix3jYaWZha2wlbIw5AbCGl0Qt9frX6mQO4uEdQYG7ZYA2PajtuWjNuOk3Js54T3MtI6PjpU1gPxuIqsB0ZrPJ60bYyzyUQqLNPPOq5tGmbatut5jm1bYR1sS2uQSFOscCEAv6pMXcqUOGiSRQWjhhGjU84CKrQsC//iDigLNBUCRvEvJYBlkmJzc3NRSOm7oClTpsyfP/+FF1545ZVX2tvbzzzzzMrKSoAsOWZkZGSYpuERy8qgso7jeqarA7xo9VMFvQQop1y6OLCsWyOsVn+X/+RymZ82+BOWXrCon2GtQSVNsUK0PknBq/p30EhN8TPpMgHQJNuqusx0YIHA5VOIBgrgoFLO3nPPPcy/XSgB1G7btm3VqlX79+9H4XnnnQeQZb5vscENl3HXc1zmZoQj7SLrgYO/eGdb7KC60VoDV34eWrktAsYacj2Xw1x8A8JWyDTMzEjMGFwjg9aA0WFkPRDxtpgXCYctPLIeC4Us202FuWVQYA1/pUeX3DRaWgNammIHvwIJCdOESs4SlNGATKfEqRRUi+ISMIm27e3tqByJREpKSr72ta8Batva2lRKMxwFbJ01a9bzzz+/ZcuW+vr6vLw8wcqcR6JRJpvwuIsxdfSw4W2JBHPc/IysEEZbf3WXp5FAq9+oIySn+A6Ir4MpInF6Bdk5IyuHokJGOBoxDZ31QKuPdBhZD5hYfcuMdIoZUae8pDRpp0CxRUVFjud4GO8NHsx6wCXFapOs1uCQptgTQkGnAuJXJi2mXfKTqYyyFLFBpZZFHVDsHXfcodwM6EBsoAQbmzdvxr9AXoAsSBe/9bFoFAOnaYnwmjnRjFOmTk/ZjuGxquLSkCdyd6XPKK1fmgi0+lheYKPDj0Dl7hLpYLiIWsRci/FhpeUi04GkgZgVMrppT0vr6Ms76D1fZT3oeIBd16Dwxq5Y4gVAHTd6bElJKXbl5eTgRcwVK75M8RvAmR5rtQafNMUOfqnEsASpzPf9DXrKErmmUikK+0rGWlSgdVqJRAKEinIQKnYpCy61EwqF8CfqtLS0tLW15efni92ey6SFwDKtnMycSeMncG5a3AhLOFDSQKDVr+SHMeKM7FXigTcqSspKS0op60GEh3TiLq2+FAXN6PaRM6QhgCp5clw2zPCYEaNsP+uBqbMeaA12aYod/CIHANAnrdMKFlIIArBpZmYmkasKOgZCxS4cQh4FEEUnALNSoTLHku8sKu/fvx+7ALvRWBSF5ErL1FI5Wm4gI8KoEVlnPdDqV/LU/3dsUcy49P97nOZ49TOr1Yc6nKwH6ZLg/Jq/oZ9WrcErTbGDX2rlFmGo8u6nJVwUowAMCk5VUcYoagGtAEsmRUpusCn+zcrKUkZcbFAdMvHG4/H29naKtAXZyZQdtS0vxDy3Kd62et1aEfyFsbFVI6pKyngAEfQAq9XfJP1iZdYDy3K4u6Vm+7adNQY3wqY546STY+GwXpWo1Wfq5UnzApW4aZimkWJsxdrV+xrqsG9IQcH46uqQnvHSGtTSFDv4RRZWMrLiX+JRiu1KJdnZ2ShUPq90FGXiVRZcZYhFa2pBGHkUkI8BiJb8DWQdWicm9rrca2pvefdfi9sSCQzH0WispLTMVA6I0sHL0Eyg1bfqKXeXq0LGcvFwuniL49722t0fLPvIY15WNDZxwuSo/AZpaR1rqaxdveTuwlirVu8KtwLG1m3asHn7VhwyeviIcWPGGIbO3aU1mKUpdvCLUJVJpwKCy5qamg8++GDVqlV1dXXl5eU33XRTVlZW8BBllA2m7yIaJj8BEvkV0GIvIGx7e3tra6sgWjLH2rYlBlUzlXK37qpJeW7YCrUmEraEVxXrRY+pWv1EbkfuLpmSnnu28B/gLe3tuw/sw7coFo4kHdfTz6xW3yiYuyv41hXI3cUNsa7LlZ5ajhyd99cd2Fd3AEg7JK/AlLnAMSYbvGNGTrjPWqYeerUGh/RcQ2/Cl/+dd955++23KReAWtS/ePHihQsXMhoRZKGK9k/rqJRjEtk7qQLtIiMo1UwkElSBCqlx2qDDu7RGDaqmgpEHgt0LLudSx65bt+7ll1+m1V2vv/76okWLwLLowIEDBx5++OGGhgZyLaBQr3SICkdALZPNNXhSFoh+QGeMx+MpX8lUClclV8oYCbEtQsV6wmDQaVjW0uoX6pL1wOB4VmWeOQNPve3YKTsVT8b1Q6vVb+VKF60Ufoz8yTfLsJgwwrppK6z0B1OhErW0BoE0xfYmfOH/+te/PvbYY8SONC+PwmefffYPf/hDsFDZO5m0fdIGlSupw4n2UAGo5/pSXKiI+eANda5gZ4LsG6yj2iT76+bNm0He1NQLL7yQnZ196623/s///M8NN9zwj3/8o6WlRXWYBdiUDLHMD0dAPgbMT6BATgXqLOR+QNZZyqjA0/m9vUhIBI2nWDB9+xlqaR2egu9V8jWNe2TxEhnoDC7y1Vumpe1XWv1WZKI1pY9BOiK4tNKmFyPK0ZgPupw+Wie4tEfBISTmYiTGtbW1gfxUplYyrzY0NGAbSAqAi0ajMalQKITKqJlIJFAtEongkIyMjAMHDpBPan19fWtr67hx4zIzMxUOYgPtgCYp0QAawYGoj8qEhrTKCoegG6iDBvFv0MRbUFBAvUVNmtnHLrRAbq/nnHPOrFmz0PKePXtAtHPmzEF5c3Pz0KFDf/vb35aUlKDDaAdt4nA0jj+zsrLI/ooLwRUx6ZOAptAHdK+nO4ZrCUuFrJDJDc8Vc16FufnN7a2e7Zqe8CWgf2XtY/4JamkdpvxgsfIlzXUBrhYzbG7jHSw3Mwtfp+yMDMvgelGiVh8pmPWAd/XhTpdJSKWH0pKzB9lZWZmxDLyD4cco5SZNI2yZgdxdeBkjh7E+vxotrWMhTbG9iayYTM6t5+TkMH+pPpMWUyDgunXrHnjggQ8//BDoNmPGjM997nMXXXQR6POxxx5bvnx5Y2MjykeNGvWVr3wFLVx99dWnnXYa6PCll14aM2bMT37ykxEjRtCaKjTb1NT0zjvv3H///atWrQIjnnvuuddee21+fv6nP/3pW2+9FbvWrl2bm5t7ySWX3H777dhAB/72t7+hMvgSx6J7N9xww9ixYwGd77333qOPPrpw4UJsT5gw4cc//vH06dMff/zxJ598EsCKPuzatWv16tU/+MEPLrvsMjR+4YUX4hIKCwvffffd119/vaamBhSLNr/97W+PHz9+y5YtTz31FM61bds2tINTfPnLXwYQ93TTBHDbKds3Bhsey4nFZp88vT2eAPgPLS6OBKYAHJ2EVqs/iavA8l76KQ0zXlVUMnPyVBFK2bSiVkg/rlr9R66YPeOm/J2ip7d61Jic3Fz8WVpUwuWSLz3Eag1iaYrtTTTzokKoJhIJ4CZZT4GetbW1d911F3Dza1/7GuqsWbMGJYC/BQsW7NixAzg7bNgwEOGSJUseeeSR+fPnt7a2rly58vLLL7/00kuj0ejQoUNNKVo7Bax88MEHP//5zwMccSIA5YoVK04//XQchb0333wziHbnzp0bN24EIgOX33//fZxrzpw51dXVLS0tixYteu65566//vqVUjgQvSLbcGlpaUNDA2AXJx0yZAgAF7z7hS98Yd68eUVFRWikvb09Ho+//PLLAOXJkycDUsHfoPAXX3wR3cOJcBVA3oqKCoDs0qVL0SWKzNXDXWNpdwIm5mEt08yNZs2aMt2VKbuyozHD7RhT00OvllbfqqfcXekN4UNgCmcCJ4Uv6PDKoSUCCAz8HQuF9LoYrb5RME2XClBwcCFV9YTdwLHC1sTq8aNHjUWFMH6luNWxgkHn7tIajNIU25ts21YbFGmV+Uv+gZ4gP5DrJZdcMm7cuLy8PDArcBCw+Je//OWWW24BDhZIgSB/+ctfXnfddThw6tSpZ599dklJCXnKojIlykqlUiBRQCo2qqqqsrOzUQfnAizi33POOQeompOTM3r0aBzy+OOPX3PNNU888QRQFQ0CLkU0AMu66aabgM6gYTDo3LlzJ02ahHKQK4UaQIfRPaDnzJkz0dSIESOmT5+OKwJkE6ODmwHK6DZZiHNzc7/zne/MmjVr//79gHIcOG3atPLy8rFjx6JvwQQKXSXjbrvkWSg5VViys3MpolaYlnf50mOqVr9SR8p62pLesbFINByJUO4uU6wJ14+tVt+qhyeuc7FHpJqVkRn1c3cZOneX1mCXpthDi/wKMECAxohrKWYqCPVLX/rS9u3bH3nkEXDnyJEjwZTgxaVLl7700kugQ7JWbt26FRRIoamGDx8OSCUIJpdWlYCgsrISDLpx48aHH34YNDlq1CgAJSgWu8aMGVNYWIhDQJaZmZm7du0Cm65YsQIYjbNTCyDULVu2AIVxuqysLJCoCimAFiijAeqjhFxayQzMfJdcXBpOjdM1NzeTUyxAFhcCaAa81tXVvf3226tWrcKuiRMngpvp2J5EERtczwXvG64bd+3dtbUpx8VNLMkvLMjOVR4FOneXVr9SOjqn8IuVmecM7nJ2oKHuQEODwQ2DeSMqhxmWpUFWq091GLm7ZOxDw2Perj27m9vb8AhnZWaWFZfo+S6twS1Nsb0J5AdeBNuB/8gvFlRHa/BRXlxcfOuttz755JPgv7Vr127YsIGYDwxXU1NTX19POQJAhHPnzgWAqlBW5JOAFghnaeE/APeaa65ZuHDh6tWrQb1os6mpafz48eSJS6v+8S8lgCWYrq2tZX48Aey99NJLAbvoKiAYp0MdwGswzitVpiCv6gLRIP6ltWj79+8HCpPvBPaedtppZWVl1dXVYPR33nkHF4h2cKU4BKfoBWTl7z0FOvRs5ja2t76/7MO2RJw57uypM9A3zw+56XLtF6t1HNRL1gNG+Wc9sbqLGZbN7a27alasXY3vXzQUKi0tF/O0+qHVOvaiMVTlPug+6wFNEXKK8s2TjK3asLZm9y6UVZVXFhcVmlxnPdAazNIU25vwxR86dOjWrVtXrVo1depUgkJwHoaLkSNHokJDQ8MNN9yQkZGxcuXK3/72t8888wwodtiwYd/73vcmTZpEtlhg5d69e8GshI9Erir2FtloPT837Je//GVsk0X2vffemzBhAhqhIKx0OH5BMzMz8SfOcvnll8+bN49CE6AOuBlgXV5ejv40NjZSbAS6EBUIVqEnBeRShthkMllZWXnBBRdcfPHFaBDHogRXB+Jsbm7Grttuuw2VwbL33HMP7gCFO+jppkXCYaJtA33mvDXe/tHqFS3xduZ6w4eOHMOYGch6wPSSb63+oY4wxtIVxuOew1mKsT31dSs3rHc9NyuWcf45TpZ+WrX6RsGsB0EFsx6YBvCUIhpS2o6tO7Zv2LIZI7vAVk/YFMiCkW6S6hr6RUxrkEjHi+1N+MKffPLJOTk5CxYs2Lx5c2tra3t7+0svvQTCO+WUU3bs2PGDH/xg6dKldXV1FMQAKiwsvPDCC5966qlly5ahvLa2dvHixQ8++CDF3lIBVlEf3EkBECjr1dq1a++//35UplQIFBEWJwKPrl69uqmpCS2AlTdt2nT++eeDU88777x169YtWbIEFXAicPZPf/rT7du3T5kyBWdZtGgRztLS0oKzkNsrWYJVHgSiTOoPhdaaPn36rl273n77bbSGAz/88MMHHnhgxYoVb7zxxuOPPw5yBc4S+4akerlp6HxKZqR1hEHLYK7R0NLcbqccjLdGOkOSG8z2qaV13MXTi2bk6hmDmSZe8mzhWWjifTOeSrQl4g0tTY4OeKx1XNTzWKnevmyR3YC3x+MpRzh1JZOpsBlhnDuu7QWyHqj1Hlpag0DaFtubAHmTJ08Gm65Zs+aZZ54Bkg4ZMmT06NEnnXTS8OHDgY+nnXbaj3/8423bthUXF2P7mmuuyc/Pv/322x955JF77rkHTBmNRmfPnv2Nb3wDGIptcqgFU2IcATgyaRMlxMRZxowZ893vfnfPnj2lpaXnnnvuJZdcQg4Jf/rTn1COFkaMGEHlQM9LL7309ddff+KJJ77//e8DgmfOnIkSdO/0008HuT788MPoBg6fNWvWt7/9bVwF8xMTsEDUazIJZ2Zm4lquuOKKhQsXPv/88/fddx/Fkb3zzjuHDRuG1kDkN998My4HHbjssst6CbOlmu2SygG0bHJmWekcClpaWlpaWlpan1CaYnsTIAysOWrUKEDq1KlTW1paQKLg1Ly8vEgkAiK88sorQY0NDQ3hcBjoWVlZCUoDj37uc58D1KI+8BRkCRZEaz/4wQ9GjhxJs/wqJxZwlpxTy8vLL7zwQiAvkJTCY5WUlICesevGG28kX9isrKyioiLsm5MQUQAAIABJREFUwoHYOOeccyZOnEgmUnSpqqqKnHdBuuPGjUOvUF5QUICz49h58+bNmDGDEow9+OCDOB0K0Q106Te/+Q2YFY2feeaZYPT9+/cDnXGZOBANTpkypaysDH2jhV+4G2iTWLzbm0aLycLSqcCQWQ+Y4WXHMloTcS/lMMc15BSAglk9raXVLyRnb9PvdzLrgWFwE6+dDI86j4bCrulmRjNM7VaodVzU83On9pjccJkXi0RDeGQ9hiE45SQjRsgwAlkPODd7iTCjpTXQpJ/m3kTMByajSKsq1SrN+IMsq6RoST7KiVCxAQAF+dGSLOyNx+OZmZmnnnoqk3bKLvxHy8UAkQBK0Cfz0ZYOR5sTJkzA2VWoBDoKmFgmpdqhuAc4BMxNgbrIBxclyWQS2AoqpSuaNWsWSqgpcOqnPvUp8r7Nzc0lL1tqTaThlhkZ0LcxY8ZQOYU+OMR9ExNbkgmEr5YXC4cnjqlujbd7tjMkOyckc3fp1V1a/U1cZT1IxygQSejxiBbl5lePGIXvUSwkAuNx7cit1TcK5u46aCWiLOGemPJihny5MmUemaqKCso5izHfw37mhrjBAhRLc3HaM0ZrcEhTbG+ixU+0rabCack/bVN8ACJFdZSKJ0B7gX20l5ZnBUWFlD+WLLIUbYDOm0qlCH8pQlaXuXg6r+pDl9TYKrGtqhmsFuxzcMmX6jxtU4wFR+SGSV++2vZ69g4U3rfkTCBzduPic2OZp06bnkw5uHFVxaWWTH+Qrsz0klmt46Cesh74SWhl6g6Bso7F+fCyioxI1JAJkmIhS/vEaPWNKMFBUF2yHog6GGvp5cv18D/D4uPHVFeUV3rMy8nKwkPrUV2d9UBrkEpTbG/iASnuJDBVAQeU5ZL4j/4Mh8O0wgmFkUgkIyODwlfRmioVHIAF6JAKVfsij2syiWPPO+88wxcLwDSdiPqmsFLxaJBig5EQ6HDFxFSNAiCQny4JJRThSxEw85dtkS8E74U9JQDQaIl6lmFkRGKjR4wWfzIe9rgRAGANBFr9Sn4YI5m7C7JdwzSKC4sKC4dQ1oMIDxn6zUurD0VBM7p95AxpfE1XA8Q6jmGFh1VU2X7WA1NnPdAa7NIU25togl5N5avoVGRepY2gIZNy1TL5K0guB2BBlIBfY7FY0CjLfIIkTAw2gsoUPSAajU6dOvW+++7Lz89Hy8TE1Ig6kWpTnT3YoGJWwlbyhaDKVJMuISsrS7VAPW9vb0fPFeyqbuMqVPTZHtdpeWkop/xdlMcLRO7KMZdbIcOweEddIc0EWv1EHZMEgekCEU3ZTmEkACaEY6bBdPourb7VYWQ98Eu8RDKRdERs2JBpREORYH0trcEnTbG9KRQKEbGp9LMHi6b+mT8XTyGogHGRSERN2aMQJeBCMoge7B5wsGgqH5ULCwuVBbRLBWWgJQX/JEswmVfJW5fyGgBDmUz0RdGylG+DsgTTVefm5jIfXqknFJyFDLTKs6onCUdh/Oc6tusw12lOxpetWhFPJJjrTRw1dkR5FQ96FPR+I7S0+lz0lRBrYizL4e6Wbds3bd+KP8OmOWfGqRkiG61+brX6SL08aV6gEjcN/Ergp2jF2tW1B/ahrGRI8UmTJoX0jJfWoJam2N5EpBgsobl+BaNk8iSDKFk6hdHRdQkcKeYreRGQeTLoXEsbyibKpClUkWWQFIk+1Z+0V1mIKZMt+BKnVtjNfHilbtAh5OfAJIwSfFM7aJ+MysojAtsy3qsdFqtZTGVyptMRVfcUMhaNZMRikXBExCiQQTcb21sXfbi4ub3Vc9ysrOzyiipT+RJIBy9DM4FW36qX3F0q8YHHmcN5gnvb9+1ZvGKpy7zsaMa0qdOjkUhv+Ze1tI6SOhZh9ZK7yzTTPlrCkVusq12/aePGrVtQUD1y1OQJEwxD5+7SGszSFNubFP+piXtK6Bqso0LAEhES8GEjHo8TOBL5kZOA8nwNLpkKsjJIVKS8ktEGyEEWNaPRKJPG1GDAV6JV6ltwrZVyYyU+VoTaZXUXnVS5CkA4NUWuJRbHNjpPaB7M+6W8KXq5b2KVgU/T8lrcXftqE07KNMx2ydGen7tL27S0+o9UJg7xSy9T0tti1sBoTyQONDXgC9USbrVdPX+g1VcK5u4KvnUFc3dxRis2UJd+ruqbGhtbmvDkNje3WEYIdSmETpqKpeOZGbL0Y6w1OKTnGnqTWiNFKV4J/pSxUy35AvPRnDstk2LSqkoMSkxJAKq8VBV0qlgBVNLU1HT33XfX1NR4gZAoZDFVy7MIfwmmlag1SiRL0Kl6ElxGFjxEATGF01Iet+rUNPAFTdHqQHVnerppFHpMmJ9ptbfHU47tMgHC3NBDp1a/VPCNir5uwrgln1+POa5r4+3OTun4RFr9VtKbWwzdru8nZnKTbLRiN+Xu6nX01tIacNIU25vIJkqz8ESrZCJV5kkydjLJpoRuNBGP8kgkQocQzgKCCTFZ50FEGUexq7m5+b777qutrVVLxJT3AlWmatT+c889t337drVETAUTSK+s8sspWpYyvlJNivlKxlqyvFLNYIgDglG6TBX4lrLjHs59E4fIGIaiJ5xFrLAgZa8jJKe2wmr1LwUzfMo1iVyGivOY+ApYhhkyTDzG+qHV6rciE61lWmSxMA3DcR2m4jBiKCZfNZ1AUWsQST/NhxDos729nct8VKA9WshFsEioh72UWpb57qRqop+wj7ZRjXZRs2RMJYMl2ThVhoKgaywK0bhlWcoKqxwYvvvd7y5ZsoRJZCS/W5wOnSSCxIaKY0DODMEOEwqTlZf6piicuJYMtFRILEsdwOUcbKPtIi4zNYi1Y6Yl7AAuoJmXFRUX5uTmRDMiBgpF1gOD/tMsq9VvpLLKCX7F99Hjloe/vIxoZEheQXHhkPKikhC+pDpgvFbfiPvRYfGf4S8gICJN7xdhYmWcY5HYwJK/Q/m5efRfdk6O7aWArqZhct6xJEP8IuhxV2uwSPvF9qa2tjZybK2vr1dxUvEncWG7VCwWo0CwTFpkgY/Nzc2NjY20qIv4EtWI/MDEaBPHFhYWoj6aZX7graBrLKU5ILNucXEx2UHJe5WWlFF2WTRLJwLp4qj9+/dTBlqUUCwC7M3MzKQOUEQtdH7btm2UKRfdppxhqN/S0oLO4HA0RZ64aA3XjjqUugytUbAwgl3yoO32pgkPChGhIG0SBqrmxDJOnTY9nkgAhIcWlUQCWQ8cmuY6xp+jllYXHSrrgbBbyafUizA+tLjUOWmqwY2wacZCln5ctfpGh5n1QCzxEu9WEmc5qx41Or8gDzWKhxRxw3CFs7epsx5oDVZpiu1NQMCNGzc+99xzTz311Pbt2ydMmDB9+vQvfelL48ePX7169ZNPPtnU1ASYq62tveCCC84///zc3NwNGzbMnz9/z549gEIA4rx5877+9a+DWU8//fRvfetb69evf/PNN6dMmXLvvfdiL1p47LHHNm3aVFFRcdVVV1155ZUYal5//fU///nPixYtam1tPfXUU//jP/4DpwNKUpeAhuvWrbviiisOHDhw22233XHHHZ///OdvueWWP/zhDyBRYGtGRsbs2bPPPPNMbF9zzTXozNtvv/2vf/3rwgsv/H//7/9t3rz5q1/96kUXXfTee++hqzNmzMDhe/fufeCBB8Cyn/vc5y6++OKioqKlS5f+7Gc/W7lyJXqOPlxyySVz585lcoUZk8bdnhBWiJNXIZOJuwzLNHNjWbOmzhDLZDwWM0PcC9bV0up3krOuMiiHbRumMaJyaEVZOcfz6znRUEhPIGj1pXoJqq1CbQiXWDmHZkRCk8ZNSLkyCY7BQ+InXk8daA1maYrtTWDKBQsWgPZuvvnm4uJigONHH33U3NwMKFy8eDFo7wtf+EI8Hl+zZs3OnTtBfkC9ysrKH/3oR7TeC3i6bNmyRx555MYbb2xoaMAh5513HjCxoKCgra3t17/+NU5x0003oR3gL9onOyu4GeAI0ASV4kT3338/gDI/P1+5tw4fPhxtXnfddV/5yldAq6gG8M3JyQEH27YNUN66detbb7110kknrV27Fq2hqeuvv76srAyHg3FRgjpXX311NBpFl8CvZ5xxxg9/+ENc1xtvvPHyyy/j7HfffTeQGleNq1i+fPm2bdtwXlypyklLURd6uGssHaDAjw4jPBzCEYqoZdGSGV+aBrT6lTpS1geS11umJRYmytxdOuWB1nFQD0/cwcV4OMPiRSudu4sHQFdLa1BKU2xvArHt379/3759oMxZs2Y1NTWNGDECEPniiy8CEL/4xS9WV1enUikg5kMPPbRy5cqzzz47MzNz+vTp5HswduxYHA6gpDxYoMM5c+YUFhaC/8CFCxcuvOWWW0455RQcTvEBdu3ahWoA07POOqukpISiItxxxx0U4gBkzKQdFK3Nnj0bPDphwgT06rXXXgNbA2HHjBmDdvLy8oDdS5YsmTJlSiQSQftUmaIQkGvsOeecg7Ng7969e1944QWcbtq0aYlE4s0330QfcDpcMuqDg2OxWHl5uYpvQCvDDnnfOrIeOA53nXY7tX3nzqRt4/iqotKi/ALlUeDqZV5a/Unp6JyeeBUTroSm4XK2Z//e2gP7DS68C6tHjo5aOgmtVt+pI2pspyKh4EpbsWjLYg5zt+zY3tjSgiNys7OHVlSaTI+wWoNZmmJ7E5gSpNjY2Pj+++9v2rQJBAkSBdjt2bNn8eLFoE9gH5PQtmjRotNOOw0b9fX1q1evrqmpaWlpAYYuXbq0tbUVvOg4DqCwtLSUWm5ubt64cePo0aOHDBlCMVkVJoI+KyoqUCcrK6uyshIczPxV/8Sg1ILaRoV33nmnoKAAnUQLgF1s4Fhi33HjxqGfKpUu/Us9wUlzcnJCodDMmTPJ+RUIDkgtLi4G127duvXRRx8Fvo8aNQo4ToFs2eFFaUFN05DJxjhGVa8p3vre0iWt8XbmuGfMnJ1fUGAoB0Q5vOoxVquP1UvWA0YRizxPrIfhZorb23bvXLpqBf7ICEeGVg0LC4rV0jrmOpysB/htoIBwTMSEMfAAr92wbtuuGhwyrHJoZXmZxXXWA63BLE2xvQmcd8YZZ+Tl5X3wwQcffvhhIpHYvHnzddddByStq6tbtmwZBQEgCyiQtKGhYeHChSDXAwcOtLW14XCwYDgcpuitKhwBxQFAZcoQS8vF6IwUl4CgUyWJpfl5tENRtKiQyUAHZBndt2/fihUrqCmUAEmnTp1K4Qho0ZiKooUNijlAC9SokFaA0bFQeXn5VVddhav46KOPcBXr1q0Dc8+bN4/Sz3qd09UeLOzCz7xYDGca3BRrZ9sSyZUb1rYmErjy8dUTUsJflgUtujqOvFZ/UEd0ecED3OOeLV7D2P7GhvVbt7iemxmNJUSGev20avWJglkPggpmPTAEnoq3LsYd+Rq2Y9euTVu3ooIIDCf2G9ivxtt0ABxDz4FpDRJpiu1NYD4Q3syZM88++2wg7PLly+fPn3/66afn5ubOnTv3u9/9bklJCZM02dTUBG4DSv7ud7877bTTvvGNbxQVFWHXX//612effZaCGKgMtBhEsrKyKioqwIgARJru9/y0sRRrlgy0BLgqTZea2QeJRqPRuFROTg669/Of/xwkjUKKO4t/a2trUQ2HEP5SQFkWyJhAUW/pSrGLAh0QcA8fPnzUqFE33ngjQBZX9M4771x66aUqRG4w1cLB8vwstcKnAKMnhkuXN7e1ppgHunV5Jy8CPY5q9Rfx9NLvdNoPU5i1HJlmDs9xwk6K2ByueKSPd0e1Tkj1vMhLmWsdz2XcjCcTtusYnliMGzKF6cF1bM8wZTAuuQjMtq1w9/nDtbQGnPTMWG8CkD399NMPP/xwTU0NLW+qqqqKxWLjx48fMmQIdu3bt6+lpQV7H3vssQULFtTX14MgzzrrrBEjRuDYV1999R//+AcwFJwKpqOErhAx5XXXXff+++83NjYGl0kRRHaxd1J9Jl0XKHVCa2sroHPv3r11dXVDhw4dM2YMOrlnzx7URGf+9re/oT/B9ATkd6tKVDYvlVlXhblFHbD4XXfdtXHjRoLaHClcmvATkAG2ekFY1WFCZOV+gFNZphUKWYahU9BraWlpaWlpHQVpW2xvAoRVVFQsWbLkhhtuSCQSRUVF06dPB6GCZSORyBNPPHH11Vc3NTXl5+dfdtlls2fPBr1dfPHF9957L/gSFSZOnFhQUABOZRJAVUIB4OOwYcPOP//8559//pZbbgF3lpeXf/aznz3vvPOoJpldcUaiVUJMMuWSn0BWVhbO+Mwzz/zxj3+84IILLr/88kcfffTb3/72li1b0BRaRiHqg5vb2tqoQSApNQgEp/wF5JkgssO3tADNGxoa0OfMzEwAemFh4U9/+tOdO3eWlJRUV1efccYZuEZKRUZ4TdFzu71plCECCodDqCTCGRpuTkZGS7zdTaSY7ajY8un6ffRhamn1KkosR4+j5zL5dcMbW5zZlsljoYhruVmxDFO7FWodF/X83Kk9FjeSIklHNGRa3GMY/5NOImqETcOiFJGMsh6EtCFWa/BIU2xvwhf+5JNPBtWBSskACYQFJoIsJ0+enJubS9liQWwoLy4uxvYXv/jFWbNmxeNx1MGBhImo+fvf/37kyJGUN4X8BMaOHXvFFVcAEEGW+LO0tBTICDIePXo0KoA+cSA4+KGHHiorKyO7ZpAdL7zwQgosgP7g7F/96lf37NkDyszJyQF54xCw7+9+9zsAd9A1Fp287bbbUJ9iZp1++um/+MUv0FUKwoX+oLyysvLaa6/99Kc/XVdXh9bA7rQoDZgLeiZX2t48CphIOi/TeHsir4zLMiOxaRMmt8Xjnu2U5heEZeBYOt7lOkaBVn9RR9YDEX1TrpZhPMSN0oKik8aO5waPhsJRIK125NbqG3FJnoGgb0oqdxd+YEQQQ+ktQNaBEcOGhyJh1KgqrxC5vZhryoWKimKDLWhpDXTxw1lyPohFTpxgwebm5m9+85sTJky46667ghXAhQSdYEHUUSlelYcoJWtFC0SZwQStaiEXZa+lzFtkyCQvVZV1ltJ0UcItJleVUVwtvEwTENPHpPLQ0hlVAi1y2CenBZVbCzxKecIor5g6b319PahaLfMiMqbu4VyoCZxVGWvp6qiHqAOKRWUcyPyUY0z6D1x22WW7du0Cvg8fPnzkqJHlFRVA8ryc3IysTDMSabdTe/bVphzXcL2S/MKC7FxliHU5jcSdoUATgtYxlhfY6ghgzNNBM9IvYJzbHp5avr+pvq6xUaxV5O6w8qqIaelIW1p9oI7lhl76bV/l7iLnMPzp2jaeRnAqfmpsPLiWuWNfbUt7O/ZmZsRKhhRjsA1zw0y30PHYqkYYvbwFwiDoEVhrAEnbYg8tWswEwgOMqhdZZRxVfEnVQHuU6JVyxhLIMsmjLBCmSvEo+arSGixVKJb5+/XJaEpYSQuziIaJTalBagSHqNNRBwhVqW/UOErIQkyFqgXib+Ayue2qCycKpwsB3fYenSAtj1EMMGlEwPDKY+FIVUUVk8m+wx43Au9NerTU6lfywxiJGAViy/HwllmQm5+bm0dZD0Jc56DX6nMdRtYDMeo6LressuIS2896YErQ7YseamkdJ2mK7U0U34pJiyxN1lM5rV4ihCV2BP8x6dJKIQVU/FcyhSqyJMsrk9hK8VwJQMkgSjG2qGVyPMCJKMKAgktqjQi1y5otElCbKlC2WLWkjGy01CyTv9MqAC35OVCSBXVeXJECcTovofyhKVbeH2HKdfE/8R8uqam1BRvcYznRWGY4qproJbmillbfy1P/7z+aHmdt8fbWeLsEWzeUm2/g1Uw/s1p9qR6yHnQuptAxXnNLS7sc/CMhKzszizM9wmoNZmmKPYRUuIDc3FxsAA0tKUI9ZYslbgMXUghYEoUUwAYFsSLTplgyIufolZFVLfwSgVFCIaJbKk8kEuQ8IBdLdVhz8SdF0VKWVNUfJgMOYBs9QSFxJ5pVlQm1qX1a+EUcjDp0FTgRGXrJXYGAmAIUqI6xgEfBwXIB+SIokYhMhD+aEq2Ll38UTySY606pnjh66PCO3F3aL1breKinrAcqdxe+kAZe4ayQzZ2tNdvXb9mM176oaZ512plGxNQPrVYfiILFqtwH3Wc98KtyS6SZwe/NivWr9+ytRVlpccmMqdPCOuuB1qCWptjeRNxJVkyCPLK8qr1MzubTdLwKyEoYStsKeclhQEVapfX+1BrhILkotLS0ZGZmtre3o5Dm99va2ohHyYmWwguAYolEsY1ycqhVWEm8yyRboxHVYRWtlv6kHAe4usbGRlwdaqJN/Ikzqohg1JTqJP0Z6nWJq/A9iMWiErvBAbjmxrb2RR9+0NTe5jlubl5B1dDhaKsjCrfOeqDVbxRIfMBkvFiWZN72fbWLVyzF9zMrI2PWrNMyIse7l1pavjDGGh0zCOK/DRs3rt+yCVvjR4+ZPmXq4cyeaWkNXGmK7U0ATcAcGTIpNJVa9kRWSVp6hV0UexXlqpoiPybNmcHgrGTdJL6keX+a2SeoRU1QKbklACuxTaZQ4mlUQAmdmoymZIUlQlWRvMh3VnksBAlbOdSS0HJ2dra6ZDK40oEKcxWv/3/23gPMjuJK/67uvmlyzgoTpFFOKCeSQIAJRpiw/B3wA7Z3jdf72WYXh2+9f3YX7M947XUOOAAmr0k2QYABiWQFlAPKOWsUJs/cezt8b9d7b03PCAG7O5JGo3rNM+5bXV1dVbfV99enT52jHCE+wBCruuG4cvGsaXqOd6TxeNx1wmhNeNLzN1VT27S0+o5c+V8qdxf+BeGfqoE/ZtK2Wzra8CzbmYzbrn7m0jpdCubuCr47CObuMtQ6BMNf3WWYLe1tHfFOoG1nR2fYjKBu+gdCNiZvzlY4pC9jrf6hc51ilY0zuApKSH5V9k4yXHAtlCohEfYgvxMPCTKf8kNVddRJgw0GDajqo/KpFdLK28O3VaS9XYMtsxG1EeyekjIGq84E21EWXOURoQ5X2RPUUWiK8RZoWvaMVICXeDLpGNJFQRsGtPqmgk9UhsG4RFyh6PkRC3wPb7XwUUurD4p+B/69V27jimUErpSXd/r36BwPTKTVz3SuUyy5LR4HZSXdtJQ/APFO8RkPUVG0RNpzVCXfUgf2OEWQYvlRlfQwavZ4+8+SYHIvJfVaP0ilwQ4EwVcp2L0eOHuyA3uMKOj/oGKHsUQ52qYaxx/GKzDcjEgk7jp+DsRAyBgtrT6koK0r9WTor+dyBG4IRtgKAQgyIlF93Wr1WZlAWJno28Il6/n3atu1I36EuG7xYk+WsEZL62zUuU6xFBdR0ZhKZg3GsRInAJ/XPXz0OSjlkMC1YlyyJug7YVn8zzdRC8Nz3ZBlVVcNbOvsEK6XFYminuWlw8ufu1Oo1eeUuib5DxyPZ6YVEoZt2DmZmZUlZdiVGYtFgATakVvr9CiY9cDouRIxVcZYjTLqsWUYjhAlxUUt7a34XFhY4Hi2h+sYUBugWItRxk/3YLS0TonOdYqlRwEILCYFeKUHao93Lj2AVVOsCs5AiuXisMzMTBlxzPO63LiE6Rm5scyp487r8GMUeAOKSyOeUMsRHPma69ydR60zJC+w0eVH0A1keZW6EWEMLqs0xvm+NGHDygiF9eWqdXrknfCcr7IedF3ArguElVHg/GLTFMPqhhYVl6BGcUGhaVqu7+xtyVeKQt9rtfqfznWKNWR+gby8vKampkQiodZCcZvrus5lWj2ZuMQN/MrIYkx+lkwm8TEa8Zdwe1wNJkTYsgpz8qZNmoLJPjHrgX6zpdWnlA5jZApLOhT6IZPN6qqBA6sGMOtBzAhb2rlb6zSKETPe95IzpSGAlVLLtqKR0cNG6qwHWueOznWKtW27tbWVUQXwF/AKGsvKyopGu0XT6QGymmuD4ReYmLeoqCg/Px8bKmBCUIYw9QssLS0tLS0trV7UuU6xoLHMzEyAV2dnZzwef+aZZ9asWcNEr6ygAghonShmTMAErlixYujQodjAkwBANhaLRSIRywq5npd0nLZk59adO+KJpHDd2qpBVSVlXVkP9Eovrb6krqwHjr/K0whZtuHtPbh/3+GDpmGGDHPM8FEZ4bCpzbFap0sq60H3Il9uoMRftGUajnA3bd92rLkJF3Fhfn5tdU1I+xFo9Wud6xRLAcWys7OvvfbaIUOGJBKJ1tbW9vb248ePYyMYu4CVT4xUdW4KDwBAVYYmqKmpAcXm5+eDX3Nzc/2sB5FoKGQJ07CF19TZvmTVivZ4p3DcaCRaWlpmiq7VXZ7c1hOqdTp1stxdbmpDpks2hGuYScPedXD/sjUrUZ4ZjQ2pq4/6FKuldcrVxa8nz91lyHAEvky/yBFi45bNO/fuxnbtoMHVgwaZZoQH6NxdWv1SmmJ90cXzwgsvHDt2LMi1ubn50KFDDQ0NjY2NnZ2djuMwhpQKj6oicJ3pjp9JMV4Ys3lFo2DT0qKiopycnKysrFjUXydnMsytYSQS9pad2+NO0jTMxo62pL+WNpW7SxtitfqOAom7/OUyruHZfqQt43hry679+xzXBcUm/GCc+prVOi0KZj0IKpj1wPTx1HeLFX6AAhQeaDi058A+0xO5GVmWgXut/8aMgWOFCpFuadOBVj/RuU6xdIelR0FGRkZ+fj7trB0dHSAzfIzH43ZaimJ7pHI9Z0UbNiYQ5Ap+zZbCNPq5Z/0pkkG3cbt0jeb2NtcUkXDE6Z6JRkurr8hIvRlIxR8xTJnKyzOFCXBN2EnbX9Hoh+I70x3VOid14ruD7nuEn+YAKGslEglHXqdJ2w6ZfshI/0Wib1CQP1sys6KkWC2t/qBznWKF/BfO1K8AVpArOAwEhhLcC5qbmxmswJFife1RQKksu4xTlikFhKVfrJCxiiwZ+0WmSURN830cvLRNyaN4AAAgAElEQVS0+oh6ZD0QqY9eeo24IQPGn6HOaWl9RHX5DPRc1KEfwLT6ozTFpkQgo6OnkK/Lbdvmwq8TKVbbYlVIXfpXYN6iaYXDYcwbs/Jid9wPH2/nZWZ1JONOwhaOQ6dYhQP6gUCrjyjg38KsB6af9UDYIcvP2uV6Xi4ubP0Eq3VGdPLrTu0JGWZCiOxYRiQUMjwRiYQTbiLDjFhmKJhcOZTO+6il1Q+kKTYluroqlg0u6jrZ6q5zmWJFIFGtsshSflpa4VlGqgJoNSeWOXX8efGk7SbtgcWlUT8VQurO6xjaNVarr6gr64F0M5SRoo2IYQ4oKZs0eiygNmaFM8EHOneX1ulRMHfXCSsRZYnh2jb+35KGFVoHhtTWZWZn4WNVeQWuYFe4VvcMtMEWtLTOdp3rYaTo6h7cVsZXfuRfTbE9RHIVAZZleggqHMXTv2X6uwxwansy3nD8mF/NFUU5ubmZ2coQ60qGNXqsl9GEoHWK5QW2DPXBSKVK8lzPz4RkGLYfcMtobGtpbmsz5DqayqKyiEytrC9SrVOtriUEXuppX+Xu4q+Rn9LAtnE1glNdz7XxIxW2DjUeb4/HsTcjFi3Iy8fNFk9iVqqFQB51oytQlym6hUHQd2Cts0iaYlMUq8CUUsyqCntQ7Dk+b5QC+h5YH4qETcPkHROcmvQ827e6+jELwr6zbFcLXvrGrClW63TqZBSb9otN1UjaSWGZwATHv1TTubvk5a4vUq1TreBC2G4Umw4J5+fuUhTrOrbjGNFI0vB65O4KC02xWv1W2qNABDmMeOpnnObbcCnlA6qlRCt1kGLVLHnSlOUZclWsb34VCTvecPy4X80Thdm5uRlZyhZ78nW3WlpnQCrrAW2xMt6WaGptbm5tNYAKhltZXO6HkNPXrNbp1EmyHnQr9i9XfyntkWPHlC22ML/AFPoOq9Wfda5T7Pu6BwRDEHjdfYm0qKA7QQ95fr4u20vzqSO8xvbWpauWJR1XOM7EUeOya+qU8dXVfrFaZ0Iny3qQjjHvv30xTcswQ47h7Nq3d8PWzUCEWCh86flzQj7F6otW65SLQV1UaJf3zXqQ2pK5u3BhJoRYv3nD/sMHhfSLnTZpsmWEWE1nPdDqlzrXKVZJOQn0eEXeFXKnO9qe49bZD3arCFup68r1c8l4zR3ti1etiCcTnuuVlJZX19SprAeUXiyj1RfEF7UMrCVM4RieY4iEcPceObx8/VrX83IyM2fPuCBbX61ap0cfIeuBaZmmzHrgyRdf+G/bju2bdmw1PJHo6Jw6cbJpmOmXZLJJTxGxvoy1+oM0xX6QTmaC1SFjqR4032NaXH+dt/CjbXlWY0sz2BZ065n+rdboblfQ0uoLCrghGtKTUNi+96BlO25HotN2nCT+d24/vmqdMX1Y1gP/cvWzHpitnR0J2zZBsYlkRKafdVzbMq2UbdfzHNsORXSwLa1+Ik2xXdJg+t9S0C+2h1KxHXxLgiksGbvANEWqcj+ZZMayoOc0NhilgTneotGomhxOBR0wKNuPjCNCoZDvepFMYoPl6iVAa2trLBZDeVIqEonwcBzINnkK1RRdt1GTheyMOrWQ7h/4iA4zfhwbVM7ffBRBI6jAv6zDNv1MwnJc2GY2EB6FEtZn/xlNWYWqOJ1fRK8peG36Y1BOMV3msHP8DYzW2SB15Qr1bzy9hwE49DWs1a+kKVbrf6iTwYq6dVrC8PxYRX7UoqxoLO45nuP6weS722LPTuQRKqyYYILHdKHyGA6GuaCIfaTeRCKhLNkM66YOBDiqw8GI3FYn4kZbW1tGRgbZVKRzT6jAcPyoviCci+dFa8zfwZ6rRB6owNZUn+PxeCr0bzrqXLAnRjrxhzpFVxDKHj+cZ5G4iDsVo8APGGvK2Fq2wHwakVDYMi1cxuZZOjqts10flvUAtxLTT5vsRSOREC5ZT4TDIdtNRoyQ2T1erGlZJ21LS+tsk6ZYrd5WYMWcdB5wcVMdWl3TEY87STs/MysshJVe3eWdtUhAkusBc/xo2zY3RBpngYmclWQyyaxmntfdTS1tE7Wk/Ld+aesmqVSkba7KyquYmIWgzGDMOIWbwfWLUCQSoQW3h72WqEqjLJriEIIVjEDKOu6lOTkVmCLQsdMz/6dCXcGM/KcBORXCcA2vMCenpmogKmRGY1E/kbJ25NY6LfoIWQ+E/y/Uz9Bh+oYDgbtGRWlZPJkAxZYUlzie4/nJv2Xcw/Q/ZD4wa5OsVv+QplitU6VUilrDyItlTR0/0XZcoNnA0vKw5+fuohxp/TobiYDc1uNNOoesHAwUPgL78MsRDodBsSjBRo8X8cqdQBlEVVNCugSgJgEXG2hNESSRt8d5iZ6KsHkuHIVy5lcTAbMuyuk/oM5LzwEOk6NQFlw2zm6r4Mqqn4p0+768wEaXH4HK3eUH0jb8qEXCBcgOKq8M+1k8QANGLBQ+O0aodfbLO+E5X2U96LqA8ZTr0yxw1l/iBUAdPrS+rKwcu/Jz80zTcv0VX5Z8SyLOznutltYHSUfv1+plecrxyvXvwK5p2sKz/TupaYl+kvVAIayiN6BhD3xUTBlcA0fv0h5xytgU/oJulRFUWUC53dnZyVf82E4kElu2bBk+fDjdBpRll5zKNmlx4YkIoOySMuvSPMwuZWRk8BB6u/JAZc0V6eQgCprf1+Z6dhliddYDrb4vnfVAS+tDpc0KWqdDRv+KUsiMxEC6iBQ9WUXAGEkqVfWJnpByGFB7lf8rGsF2c3MzkRGVwZcKNLlyq7W1taWlZfPmzXPnzj1w4IDysgV90qmAoq2Xy7PUEjTCcTwe7+jooGsBO4OW26VoZCX+cimYkA6yBGu1hkzhNeEbQh309kQ/YC0tLS0trVMq7VGg1dvyhO3YqXXdfihDt6m9ZcPWLbbrerYzdGD1wLIK5VEQjLp1Fin43lytkepyOAuYUWmvJe+ykOu68JHGTmXTJQXm5eWxGuASNQG12KArAhrJzs6mKZSwq1rDLmBoWIpxBri3s7Pz6quvvvvuu6dNm8a+0aDLcAfkWvzNyMggB6uFZdjGebHNbqNBnAh1srKyOKiga6wyLXMgaOQ0fx29qHTuLtdzZNaDUMg23B17d+/ev9c0zLBpTRw7IQMPAP3rqUyrL0tlPehe5MsNlPhZD0wzKby1G9870ngcxxQXFg4bWh8W5tl3h9XS+sjSFKvV+wqZqTWwMuKmaOrsWLTi3c5kwk7akWi0rLzCUg6I0sHLPNtAVr2gp8GS6/dpvyT5qdBaNJTSFZV71aqp1tbWnJwcGlMVETK0lnKHBV+yAp0HWAHAGovF1OnYIKCTgbFUCDD8PX78+ObNm5WhVAXPYgXF2W1tbeBjGm6V4ywIGGdRqYZpcsZRKBdpGsZefFSmX9Gd7/uyTpa7y1XvcA35yhXPCYa3+9D+JatXoiwrFhs5cnQs7TSspXVK1cWvJ8/dZfgrt6T8sAT+gtpN2zZv370LH+qqa+rrhvhrFIXO3aXVb6UpVquXpVw5XRmjAASUtJ0de/ck/TQIoqWz05bwqmK9nI33VLUqS5khDxw4sFbqyJEjZWVlo0aNOu+88/Lz8/fu3fvee++BJumKOmXKlNraWhy1Z8+ep59+GpUxUag2cuRI1Acp3nvvvdddd92+ffu2bNkybNgwbINZFy5cuG7dOmwUFBSMGTMmKysLR61Zs+b111/fv38/zj5kyJBLL700Ly/PSMfPQoXdu3f/+Mc/bmlp+c1vfvPyyy9Pnz594sSJOKqxsVFIvB49evSIESPQkwcffPCKK67YunXrtm3b0MOrrrrq8OHDP/rRj2bMmIH+Hzt2rLq6Guc9dOjQ4sWL4/E4ytFbMO727dvffPNNjAIQjHFNmDBh6NChZ/ar+d/I7crdJVPSG55t+CmRWjo6Dhw5jIeDjEg04bjeWXnNap2FCubuCj51BXJ3Gaa/rsuVubv4Cqbh6NHDR4+AYgvzCiwjhLr+U6uRerz078yOY4ass/PWq6XVU5pitU61fJ7tiHeKSMgy/HdbJ96Tzzqp4FYqKtbbb7+9cuXKtra21tbW5uZmwN/AgQOxsWrVqp07d2ZmZoJiwYuoiaNqamrwuwIcBCCiBOUgTkDq+PHj//M//7OwsBA4CzSsqKgA/oKMly5dCvSk5ZUhBTo7O1esWIFttICTgnrR2qc//elgaC20TBfYpqamo0ePohsoB8UWFRVhA5yKA7EXmPvb3/6W9mPURMvoG/b+5Cc/wTbKGxoagNSrV68GPaOrOArVULmkpOTJJ5/E4aBzdAN9wNDq6+vP9JfTU8E0ELRq07rspUHAN2EJkboyPUbN8KfQkZYt7LcdJ+H4Phj4a3u+64U2aGn1QbnyzVbStvHEZXr+HSBkpgKSyKtaLuKS/wpMoUPGavUTaYrVOoXymIfWcP38h6YVMs7axE7vJ+V+Cr586623AHOf/exnR4wYAZ577rnnwuHwsmXL3nvvvcmTJ1955ZWov3jx4kcffRREO2TIkOrq6q9//ev0YV20aNEjjzyycOHCCRMm0CXgiiuuqKurAxTi8CeeeAItoISmVlRYt24dWotGo9ddd93gwYNBmX/+859/85vf3HDDDdnZ2ZxhtDx06NB77713/vz5d95556xZs9D+a6+9NmzYsFtuuQV4umHDhmeeeWbBggWTJk0CAaPZ66+/ftCgQfQ3oOcrOHXevHkY4/333//iiy/ecccdf/u3fwvAveeee0DDtbW1r7/++je/+U00DgR/5ZVXCPRWn4mpzocN5T6htkHevoOv6YfSMvEFyicqT1lhReqzJ+SPvSFfKvjuv6Eovh3heDperFafFHNzmdLHwIdWw1+WYKpghvTX11kqtfqXNMVq9bJoZLVBeK4r/AUy/n8FOTlxxw6boajpm8IskTIFpBfTnGUhuAFqIFewIFAvPz8feAQ2PXr06ObNmysqKiorK//+7/8eOPjwww+D+crLy/EXvxxlZWUHDhwA44J3AY5CcjCOqqmpwVErVqwAthYUFFx99dUAUC60amtrA2j+y7/8SyQSIYrhWFb75Cc/iZaxDbodO3bsfffdhzYzMjKUq65yXWWft0l96lOfAvWiHWDc8ePHm5ubQbGoeeuttxYXFzPmAKMcAIiBsOBanBrAinOB0XEgTo1j0TH0p7CwcMuWLVVVVeBdQDBqonuxWOxMfjcBMVIvV5sxAhqEWVq/fj3mPCcvNxKOgE1ZFz/sIcNwDcORFljLMx3XjxkbEmZmOBY1Qx3tHfmxzEwzqtN3aZ0mBbMeGD19uFNlMg4sn71Cfu4ukZOVnRnLwLNZRmYs6SYsM4IbQVfWA9MMmSqylpbWWS9NsVqnVri95sRik8aMjyeTljDK8gtC8m0XlboBuynrlquO6duiSQ8wx49AWDDlW2+99dxzz/3rv/4rKPaWW24BjIJQH3zwwSeffBJcCHiKRqNNTU0TJkzA9qZNm16VOnToED42NjbOmDEDBAneRTVmzxISc7mWC0ypwl2hEACKCgy/JdLxX9EN+gAw7mxHRweJVkjsbm1tfeGFFxYtWgQAFTLzAvaik2gK7MsFavyLY1GHEWqxS1k00RPGKMAG/s6aNQvnfeKJJzDG3NzcSy+99Nprrx03blyfCrlFhOUaO87e7t27v/71rwO7P/PZW2ZMn4Gf/IxIVPhPXOkEtET5cDQsjISdNCxzYFnZ+ZOn4ecfNTPCkT5/eWqdQ3J9P3hcpDLFifyvvm5Ibl4ObqnlpWX+Kwj96kCrX0tTrFZvy/Ns1/HNhlZI+M6FIjcze/a0mcL307ILMrNDosuYZaRefaXusum0rWem4x9daj0+8AhgCrarrq4uKiqaM2fOgQMHVq5c+eyzz5533nmFhYU3S6ECyA9EiFmpqqp69913f/e73w0bNuzzn/88kBetPfroo+BXIXGTjptCZjEAaObl5TFXgkJY5p4lcao4tSIdxkuVs05OTg4KgaQAzSuuuOLLX/4yrbxAZ7RWVlZGjGYgWHpHYFDgZuYbUwm6sIvJEVT0WTQ4ZcqUESNGgI83b9780ksvAcpHjx7NEAd9ROrlKS3ZGBG+iy1btmzYtBH/jRs77pKL58y54MLq2lpcdQxA5r89CPnrvbEZsUzXFIOrBhYXlYRkaSwcOutCamidpQqm6VIBCk4sZFXPj03ihCKh0cNGDq2tR4VIGPeCUFeGa527S6s/qg/93mj1GxGijHT+mHAoXJRf4CeKc91IF7L6MtPRYs+u3F30ZwX8RSIRAB82Vq1aBVgcOnToxIkTAYKPPPJIR0fHgAEDuBgLbBeNRsGLy5YtA0QeO3Zs165d11577ezZs1F57dq1KFEmTzIoQ2uBg0eNGoXGJ0+eDJxlbi0uVFIpu4JeblxGhp4IaYbEBj42NzeDYisqKoYMGYJe1dfXl5SUNDY2Ll++HMxNrwP8JQGrdF/4y3ZQQjJmQC5WQDubNm1at27djBkzxo0bh12YBOCsyrvbF8TkEaRqlWIXHzEb8WQCvW1oaNi0cePCV1+dNn3GtOnThtQPzcnNFXIFDP7iGaLTToYzYlmxzFgMBG/aTtw0zpJYYlr9SSf5J9W92COp5mRlZaTvvWbgFZeWVr+Uplit3pYBNjU9x3UAZCAty0wmkvsPHbQ93FJFeX5hQXae4oCzNFKBSpcFYgPFgop2794NqluyZAnfyAM6i4qKpk6dio9vvvnm0qVLQavgJxBtVVVVZWXlmDFjVqxYsXXrVgZkBVEBc+lfCxxULFteXv6xj31s/fr1wF98LC0tHTlyJKrl5uaCI8maaBmHFBQU4G9OTo5aw0RNmzaNgbqA1GPHjkVPcF46D2RkZAwbNgyVs7KycCy9BYJRDlRYXPIfY8HS1QHb7e3t4O/33nuPngygZAyq7yztCkqNSHG/nfSTdB4/dvz4kaPbNm7CQJYsXTIaEzR+LGa4oqzCdZNcIIMDGluajzU3+mnqbbt2UDWgvi8OUqsf6yRZD4LF8tnXX7CIm21rRzt2ZWdmlZeUmuIsvMNqaX1kWXfdddeZ7oNWP5O/JJYvvv3135bZ2NqycPHbO/bs2rN/L/CruKhI1mJUebmZjsB5tiw4YHQCvv0X0rzX1NQEEj106BDAFFx7ww031NXVARxBeAcOHNi8efOWLVuAsLNnzx4xYgSIMz8/f+XKlTt27AAgjho1CjVBtxMnTjx48OCcOXOwlzSMllGOZletWoXKOBdgEXwMakRTTPSVSPhmRWzMnDmTFlwcRW8HdLKwsBBd2rVrF4AVhxw9epRxYYnatByjBRyL1oLODDt37pw3bx6zhTU0NKDwsssuY68wovr6etAeQHbjxo3oGKqdf/75IGZsnMkv5gRxQkTaVQMbzc3Nv/3tbzFjKTTHJeq4hxoOr1m3duWqlbv37G1ubZFGaCOWmRnJzPRC5sbtW99du3L3/r2HGw7X1dRGwmFTh9rSOvVisFgjfYcMZj3ocg7wPFOGhvNfbJkGHjGXrFq2ftOGvfv34l/2wAFVIX99rR8dJrUaocudq+t+a/TY0Be31tkjI5jtXUvrfy+FQa6MUeCFw7sPH/z5A7/uSMSBC3NnXzR57AQVo0AeICw3ncqLJX3+HqoMe+rNPl/0q+ys0WiUxlqQk1ojD+ZDOd/gc36Ygkvl31JptMig4EtUy8jIAFSptK4q9ZeyLwoJsmg8JyeHqbl4CtYRomdgHdSh3VeZWrl+X0g6xwYO5yiEhD+6KDD4AF0LOHBagplpjAG2lJND3xE9fWmW5gzv27fvmmuuwdOCb2f1vQkdK521S/gPXQa+sPohQz79yU+NGT9+QHV1dmH+opXvvr10EepkRTO+9nf/T2lOTlgY2q9A65RLJe7q/q/KM1OusZ6MrWH6Sbn8/DKO8PD49bvHHty8Yzsu7hFD6v/PDTfFzIgp37qa6YhyfrACSb7K1UDFLNAUq3XWSXsUaPW+mBFA+HdVkRT+Yq+m1pa4a3d2dL761oKVK1cAW630TRO30pCbSkJ7tsQoIP+B88B2+fn5zc3NXPlEQMTepqYmupBy1RQ24vE4l1uRbgF/zAfLzLGsE2TBzs5ObKDZjo6OrKyslpYWoicRma3RfZbEiZZRk9ZZhiYgugnJuCghoYJEsZ2bmwvq5UBwFForLS3FBk6KM6IOtsHEqEMERAmHwCVfJG8hv2jUP3bsGAbLMFvMoHsGv5qglKuxkCNl9DHMJL2Qpeu2p3xaLAA6hiZcJ5nYsH79t/7fbxrR6Iixoy+/5qpIbpZnGuFIpKWjDRX6FqdrnSM6ufeVYl3bc4VhtXd2Jh0bzIp/jhHLD2PiOEk/Ync66wHuF6FI+LR1XEvrlEpTrFbvK2j8Y6BtEIBpRA4eOLBy4ZtN+w8BVw3FAm7X+7KzaxkCIYl2U1pGU0mh0uUibZk+Uaz2vuXc6NFm8OPJ2ulxUtUUPwYLexxFhlaxCIIDCfbqZGMJHiVOMP2eWQFbwdxcvkZbLC3H6TwIqWq+Wctx5DtWz39Fa1lhPCp0dmxZu7axpWnouDEDagaHksmcrOy+/4ilpaWlde5IU6xWL4sQQxueMA3Xc2wnGRIG2CEWigwbPjI6bJTpChUyFthgnm22WK2zQqRq5nEQaXNsR0fHiy++6O91vWBoW08aupnaCKV2IpGfV1A+sGr05POKB1S6luHbsOIJy+tLkK517ujkl53aY/lZD7yMaDSMZzZPRMLhpJOImmE/+YzKeuCHQNS/+1r9R/pq1uplKfOd4ItaYeZGM0cNrU+67uDSiuryqgEl5VZ6OZcr65he91u0xgSt3pAKdsvIaIbM33vo0KFXX33VDwoWsoz0ApeQadky4CZqRjNiFeWV0yZPHj9hQsXggZWDBx1rbT5w5LAVspKd8TCP0Zeo1mlQMHdX94tO5e7yfL/2VAhuS/jxuQdUDuB9taKywsN+4YYNUwQoNvVq5fQORUvrFElTrNYpEXN54/4KQs3Pzp0+cQrun3YyObCkrLygWK2MsaUngel2j1GgEUGrlxQMFsZVdPv27YvFYm1tbQyuiZKwYcltLy8vr7qmesTIkRPGjZ8xddro0aMz83KNkLWv4VBD49FIJGLHkxmRsKkxVuu0iAkOguqR9UBIP9eUQ5brA6tpGSOG1ldWVGJXbnaOiWubdXXWA61+Kk2xWr0tDzdT6SgpDM+xcWuNRSJDampDZgQ4EcYtN7g8xuQR6UPPQHe1+rkYHYzuBEIGVYBkgAL/159L7jJiGaUVZaPGjJk1e/asWbOG1deHhB+rwfcu8ERZUUlhUREgwMLhIh27S0vrtIhLC973kjOl8TVVzXM9xzGtSPWAQXY664F19i030NL670lTrFbvy48/ZaSCbZuG4XheIpmwhYuf/5AVNgKB8Zm7yzC0R4FW76vHcjTlBSu9C/w0s5ZpRkPh0qLiKZOnXPeJ62ZfdFFxSXEimXSSdigaEXItmOdDsGP7fGDanhsO+/4vGmO1Tqs+QtaDdIkXTySSvoFWhEwzFo4E62tp9T9pitXqffmxohxXyDe4+NPe0bZ87SrbdaPh8LBBtQNKyo2A8VXfYLVOnRiOwHcGkAF6aY7t7OwMWRbQdOiQIdd9fN51H792xMiRViTsx4LwPD/grmnGE/FINOpHkDXEhq2bdu/fW1ZenujoGDd6TG4sy9BZD7ROlz7gSvMClQzLtCwzKcS6Te8dOnoEZaXFxWNHjQ4LHdpYqz9LU6xWb8vAXdOwZZxOFxhhmY1tbW8uWZRwHZSHLgwXlZaY6awH/l3YTWU90DEKtHpdQaspY2zF4/Hi4uKysrIbbrxx+vTp5aVlpcUlsQw/87xr+Fegn0/OMkOxqCNEe7LDCEX2Hz3yzsp3wQixcHj48NGevkC1Tou6FmEFUhKk/qolX5alknJ5wsMFvHnb1q07/Tx/w2rrxowYaZoh7vWdY/xUYPrq1epX0hSr1cuid0AqF5Trv5O1XedYS5MIW8l4si0ed+V9tCv5YcCjQGeO0epdqfwUQsaOxcf8/Px//Md/rKmpGTV6VElJScgPVZDCANdzHXllmtKrO+EmDSvU6SSTwok7dntrS35uboeLCzhbX6Nap0NeGmS9rqgE/Jta5uWvQJCxOGRdW4ZuPtbU1NjSBKRtbm4JGWE/H7jrmAxTIN1s/OwqIUtfw1r9Q5pitXpZjG0k6C0gYRZ3VttxjJBpWLiXmv6ahEDsGP8/U1Os1ikUcxzwySorK2vevHkFBQVMX2Sm1nt3y4zkyaQcvu+sjLTpSTMtdialQ+2p6CHAghHBmPyMeS7U3mC24X4sldJZpLN+cCOk45t+NMlwBKbjr6n1g8P4yT5M/6WXlwpjICnW9eMkB1OAa2md1dJ3B61TIpKsKdHBEw4owknaNHEZaXjV0jo9sgILCrFdVlYmuq+M4csAg0lpRepRLGSYSUOEcKwrXNvxgcD1IkbYPAUgq579QB5M8ysCq9POBYQV3Sm2D+aB6/uiidayQvJO6z+80QqbmkYVL9bUnrJa/UeaYrV6W9JuZOFG6YfcErYMYVhRVNoRj9vJZNT0f58tL73iQP9IafUZ8Zr0iFCu64cxEIZt2JnRSHFegSe87FhmSL5d6PULlxmAsRGLxTo6Okypk6Up7n9ShmfOgzKci7Rv0jmqYNaD7oFcVNYDIePA0sEgJNPOFeblHcvNMzyRm5tje8mQEQl1z91F2/Y5cWFpnQPSFKt1qsQfYNw+c2OZ0yZMTCRt17YHlZZFva70s444IcyWltapVyD/cdflZ3QDWV6lXlQYg8oq7LHjTcOMWFZmOHQqqAps4ThOEo950WgikQiHfW8HGmhBeJFI5BScsw9JpaXgR0vG5OXY6WhxZrt3pvSRsh44/k2UVgMZ2VDU1w3JL8hHjdLiEjwNuEL6D+isB1r9VOfKs77WaVPX9SRjFuKnKeG6nXZcrvh/+jAAACAASURBVKE1MkKhqBlSt1K6Gxo6A63W6ZUX2FJx34SRhgbfFuv/v+3YnmV2usmEYxvAWs/JiWWG/Deyvf+qm8tubNsGwoLbwLJC5mhIda1fv1tXP0OcBDoHK/v0OU2xIuW2rRyxSLG0XftxXWwbV6NlmK7rRzUW0XAbpk/ati3TkPFivYhhWqkWuq4i1Yjgw1sgDIK+A2udRdK2WK1elxegAv/X17LMmBXjIq5wEBr03VKrj6lr2WFgAWI4FDZDIT9TsgdiME+FQYuv1M204vG475grgyr0+rn6oMDuQC8MNhaLAV651o2uBWe6a31DJ5mGE4txcUYjYSuduysdzEBLq99KU6xWb8vzA2zh/30XLdNwPbct3rnnwD7HxQ6nqqSsJL9QeRS4eqWXVl9SKjon/WLx2GWZriEOHWk4fOyIH1/DNOqr62KA2lNgi+Xbc5BryhVHijFu+z3OMg8wBptIJCKRSDgc5mxQ53iMgq6osd2KfAVzy/pLE0P+QsSde/c0tbaiJDc7Z2BVlSX0HVarP+ucvjtonSKlVnybfjBD8GxTR+vilcvitp/Yc9bEqQUFhaZyQDRYX0vrtEpZqHqsmHFTG57vZehH2LRsw951cO+q9evAkRnh6MCqwRGfYntfdAMlxQLjWltbwXZZWVn9m1+pZDIpZEBf27bj8ThjjZ3pTp15fZSsB3gCMLxUsm9TmLYQG7Zs3r1/LwoGDxhYVVkeMnTWA63+LE2xWr0sfw2sdGhLOXUZXkcysW7zhrhtu44zbMiwpFzyFQxXqPPQavUFdbkh4pcebGB4tiGABQ1NjZt2bgdiZsUy4o5zKnJ3GWmlYi173urVq0GxU6dO5Uqv/q1169bh79ixY4nv+Et3gmCItHNRwawHQQWzHpgyb7Lvx+WbDPAYtnf/3m07twNtI2bI8Peb2K/mMeWqYep3YFr9RJpitXpZ6mfYD64tg24ZjtnU1iZCpmVanmkEvQj0fVSrr8hILf1OhSOyTD9/sl9mAVzjyYTtOI7ruKdmOSxX4kO2bdMv9tlnnw2FQuPGjVPv0wl2JF1UO3DgAHOS9VBZWVlmZiZtmSdGnFX+psEwXmhnz549lZWV0WgUhYlEAijZ1tbm+FkejKhULBZDs8GeqG6rQtUHlbBAnVfVP/FYbDz88MPY+L//9//m5eUpQyzKm5ubjxw5opoF3WZL9fAx4FhUiNkTB6hKevTzQ6PS8kC1yEwd29DQgD4UFBQEG/ngdoJdPbFXH64T3x1034O/jucKw+qIx5OOY3oikUyGLX91oOvYnmkJGefY81eB2Uz5oaXVD6QpVqv3xbg5Lu6r/IUz5Cpj0wz5AXTO0eXGWlofIHCkiqiFfywZGRkAWWyD2IT8B8W0XvgLkgNcAmEvu+yyHTt2OH6gJd+JFse2t7djG/h75ZVXqpb9dKMBiyYhFVQqAvi1f//+CRMmvPbaa/iLnqxZswZY+fzzz+/duxcdGD9+/OTJk2fPnv2xj32M9Ts7O+mqiy4F0VYEIBLbHR0dqEbDquoDzq54HWQspDsBoDk3Nzc/P1+kEwWj26jz1FNPff7zn8fHrKwsVBs+fPiNN954/fXX19bWck7UufCRrgg4EbqHXWyc1dATdEMFfCCdc0rRAtkd28rszVAJ+IgpxV5OMhv0n2Vc984776yurv72t7/NPqAavrIP8N9l++wAV/Lxi8BR/5vLRktLS1OsVu+Lv1Ke8LMeOJ7rGU5eZlaHnXCTNn4E6BSrYFabY7X6hLqSdPoGKyHpBzzVKUCBZkY46obc7IxM69S4FXI9k8q2CioiLYHMQFHkLS7eB6KhcllZ2WOPPUaEAnGuX7/+7rvvJpsOHDhQURrtnbTvqqxgOBxUR2jGNlpubGwkboKrXnjhhbfffnvo0KEvvvhic3Mz9oKYF0kRjkGchEVs44xop6WlBZSpjLIoQR38JdiRbpNSqI9jFbJjF44FHaqsswr18BfbGP64ceMeeOCB48ePA5dB7QsXLvz973//b//2bzwEw8RYMF7UJ2Wiz9gmubKHmDF2GKNDTZSgZXSMjwQobGtrQ+Nk1rAUB3L48GFaW/mlcPYgPyeW48SlsI3G+R05Uvw21TfLQp5LzQMaQZv/PX+Jk193ak/IMBPCy4zFwlYIDxP4ehNOPGZGLAY37J71QEurf0hfzVq9LfUz73oSC7zMSGz8yNHxRMJO2uUFhRE/eX3qzusaOkaBVl9RV9YD+QRmymTJYcOoKCgaM3S4kNE3YyHLOAWO3GCLnTt3Ahzfe+89ENugQYNWrlw5ffp0lIOl/vznPy9duhS8hfKZM2fOmDED1FVfXw94QoXS0lLg3ZgxYwhzQDFw0u7duwGjaIpr/HHUsGHDdu3a9de//hWHDxkyBM2+9dZbRUVFVVVV3/jGN8Cdd9xxR3FxMeoMHjz4tttuq62tFRLCsAvn4it7tPzGG2/s3bu3qakJp66pqUHLhYWFIMUnnnjinXfeQWXAGSD4kksuAYD+8Y9/PHjw4Pjx41999dVDhw7deeedI0aMWLNmzfz58zdt2oQGR44cefPNN4Nf9+3b99RTTy1YsADVMEwQ84QJE2hjRm9FOnXwihUrcHYiLM61ePHi7du3A0PRVHZ29g033AB0xiEbNmzAGVetWoXZwACPHj36iU98AmdBOYYJoETnQaVPPvkkpuhzn/sc+o+zg+bppFFZWTl79uz8/Pxt27a99NJLq1evRvuYEEzypZdeCobGJOTk5ODUAwYM+M53vqOCSKCTmHk0hTHiEPT88ssvnzhxImr++7//+0033bRu3Tp80fgK0FVURsdwlpNiZTB31wkrEQVjbfuO2oJZkWkdqBk02HcY8MTAyirhB4V1LblQUVEsb9E6/pZW/5CmWK1TJd5zQ8LIy8yaOmGi4xtm3YrCYssV5on1tLROo06Wu0tt+nGL/JgFdsg0BlcOyMnK9iNtGV5GKGydgmsWGAq+AZzV1dWBqICntGIeO3bszTff3LNnD3gIJQDZjRs3YuOiiy4Cq9FbgEZW1ueKKNQH7QEHgYxoHLwIeMUGgAmNP/DAA8DWl19+GQgFXszNzT3vvPOAvKNGjRo4cCBDJezfvx9sitaAuXl5eXRF7ejoWLJkCTgb3Ixy8B8gD4UAMuwtLy9HC+gJSkhyYGLwH+qDPtEyaBLnQscwUnQSlTEElNOLt6GhAQBdUlKCEvQf7AjWRLM0c6ICxo4OowR1OEXLly9fu3Yt+oZJa2lpASkCjkHPIGxAPzAd4I6a4FoMdsqUKWgB8/C1r31NraVbv349unrNNdegS5s3b0aX0CwORAcwIddff/1jjz0GRAbWoxEMDc2i/eHDh2MGMC3AdPAuXz3RCRitAeXRAcw87cR4GqFd+dlnn500aRIGi15hjPSa+OBoDME0XWohQY9C6Q4sd/rByVwrZI0YOnzggEGokJ2ZZRmhgBOuzt2l1Q+lKVar19Ut6wF++zOjGYMHDMKmJbMemAEjgL6navUppcMY+TEK/C3HA0AV5ReA/5j1IGyETgUKrFq1CrR37bXXgm8AagAp0B7KQZMgs6uvvhrYmpOTgzoAsldffXXOnDmMqMq31YAhfCTRxmIxsCNgd+bMmZdeeikqgLQefvhhHH7jjTdOnjwZgPjKK68sXrz44osvnjBhQlZW1m233faLX/zi1ltvra+vf0cK6Lxhw4b29naQKBgUmFhbW9vc3Hz//ffPnj37ggsuQD/RNzT14osvfvzjHwdKojUQHigQDIc+f/e738VwMARw28iRI9EysA9g+uSTT8bj8SuvvBIsyJf7dABAN8aOHQvCAzK+8cYbP/nJT9asWYMK4PhHH30UI8VRwNCCgoLx48fTMIyzY2gYJhpH39DtX//61yDLZcuWHThw4Pzzz58+fTpaZn8YxoteAXSWZW4wdAC4j15hXBgC2se4Xn/99ddeew0Ui4maO3fu3/zN3wDBQcn4mjC9n/rUp9DDAQMGfOUrX6HXL5olFuMLWrRoEbAYreEUqI9OYjLRE1TDMwO6hwcAzAk9PfCl8Hv8kDVeHyHrgT8jjmuEQpVl5XY664FMf+C+/8FaWv1CmmK1elsy2Kbc8Jji2Hbslo52v8j1cmMZmeGo0VXXl2ZZrT4iT/1/+tL0DNHR2dke7/QXJnpuODffNHo/fRcIaefOnaCciFR5eTm4EGTT2Ni4du3ae+65B9wD6gI7ZmRkAO+EfNcPMmPKK7q3Kj/LdevWgWJnzJgBoqLv5r59+wCjgELAKIAYzDpx4kRwJJqlA25nZyftndOmTQMaPv300wsWLAD/HT9+fMiQIYBmuoQ+//zzF1544Z49ew4ePAjGxV50hv6s6Crqox2cEf0HfXI5GgaFNtXC/G3btoH/hg4dChzkSi8hHxvQMbRMp9hJkybhXGgwNzcX57rvvvswQAwBI7rpppvwl+z49ttvg4bBoKjJvLUYLzoAdgR0gmJxCq4MwwZtzDwX0Z/9oTMxQBNj3Lx5M6YU/cfoMO0oR+fBx9jGSDHzV111Ff1r6cGsyBgb7DnoGRAMVEVlnAjDxIxt2bJl6tSpqINHCMwt2qcRXWW1+PBIBSfJetC9mI14LW1t8aSNXZFwKCcz0xD6DqvVn6UpVqv35d+XhbzFmqYjRGNH64rVKxP4sUzaY+tHDBlU3ZW7S/vFap0JnSzrgcrdBeQxLcsIhW3D2bFv95Yd28E9USt0/vTZZjTa6xdtR0cH35Jz8RY9CoRc0Q80LCkpATKCUfLz83NycsBVQi4h4iolUBRKGAeA0QPQ2ssvv/zGG2/gcNTMy8tDOdCQYbPmzp3761//Gh9rampQAYVqtRZq4h9vfX39N7/5TcAWUAxcuGnTJkDe6tWr77jjDtT81re+RdMjbZkFBQWYGdDbc88998477wDHgYDYhb/kM7UcCkMANDMUADbIvlwWxrVZahEVIxKgq6DYkSNHglZRfvfdd3MpGHqFplAHoPz9739fLWIjj+J0hw8fZuQEFYEL46LtU8j1VVwHphwwMAno9t/93d9hemnxxS5MAvZ+73vfe+KJJ376058eOXJk9OjR119//dVXX41+4lvgzAeDDOAjOobD8X2R2tEg2udaN9rLUc6zozKXnX1AYjbeRZUT6/tnPUhXNUIAcwPf97pN7x08cgiHlJeWTRw3PqKzHmj1a2mK1ep9ha3UdeXiZi285o72d5YvbU/E7aSdm5c/cFA1fjC7onDrrAdafUaBxAdCxosVCeHtOXzw3bWrACDZmZmTJ0/LlLTUuwJ1gWaAZaWlpSqUVUxqwIAB9BNACXgIOAhIamtrA8apTK1AJb6dRzVwGHZ95jOf+epXv4oNEC12oQJDAeDjI488gjbBuLW1tTNmzGAHuLheyPAIbIF8NnHixMGDB+/Zs2fr1q2MkPDwww+PHz8ee2l2JVj/0z/9E+htzpw5IF1wLc6FbUAnYwIQYdEm6rMbOBZDRglpD+UMGnDizGCAGCyO+sIXvvDAAw+sWbOmrq4OXaI19Ic//OEFF1zA0AdoCqNDf+hQSxszA1qBQdkTIjVbRh+AkrTLTp8+/Z577kHLKtAsI52Vl5d/6UtfwqmB6Xgw+O53v3v++edj/jG04uJixaNC0jPpFsJgyabYhY6BobGXgcBEOqoaNjB8Tjg69j/ObYFnLbPrDYL/3+ZtW7fs2IatEUOGnjd2nM6CptW/pYN3avWy1NsxP+uBNHd4rjh8/Hhze3unnbA9D7+WjpH6z9VLZbX6jNz0f/5Fa1m4Pm0/R4eZsO3m9ram1pYjjccd95Q8c1VUVGRnZ69cuRKss2vXrhdeeGHdunXYLioqGjVq1KOPPgrABY299957hw4dAlkCIvkyWqQtjiqmLPhp5MiRqPD222+jpKqqCuw7f/785cuXAwcBo8uWLfvnf/5nVNuwYcPRo0dxIEAKZLZ9+3ac5bXXXvvlL3/57rvvAtTAediLM6LZsrIy0NiNN964Y8eO5uZmGoxBh3/4wx/QMWAuKowbNw58DJT89a9/jV2K0hh1i4uZRowYgV5t3LgRnaFzqpChrGgrVT4GIh1XFSciLGIq5s2bB0Z86aWXcAoM+dprr8VZGhoaMHVoB6D51FNPoW+YHzSOgWDgu3fvvvfee7dt2yZk8F304c0338S4MIrHH3980aJFaKewsHDMmDGbNm1qamrKzc1FZ7Zs2YLZQyM/+9nPMBVCWlXZDYbyRVMYFxoXkl/pG4CmMHyAL2abnV+yZAkq4+tQ68lonyZnc0EYmj1pyC1Gf/Pkf6lLs5td1pM1ZEQNP6yh7flXZ0tba3tnR2dnR0d7R9iMGMI/qeelvGNxodjJpKfvu1r9RdoWq9XL4iu8VNYD34PQdyJ0XEfgd8oKGaY2DGj1SQW9BPznMC/9lgCM6D+SOZ5rO/Yp+vEneAFewWE4eXFxMXGnoKAArPanP/0J6IkScGF1dfWUKVOCAVbBQ7SMZmZmMqPB1KlTsQvYCkoT8p8kQAp8BphDyQUXXHDeeecB/oCeqMOQUldfffUTTzzx/PPPYxus+cwzzzz22GM0oIKwBw4cOGzYMOz64he/uGDBgoceegi8CxRDZ+rq6tCZOXPmoHHAKzoJ0MQhBFOGreUSfjryXnzxxTjpH//4x/3796PxSZMmXXHFFSpFFvrPgLJM7gBaJfnRtopuoD5wc/HixZiEm2666a233sKMgT7J2YBRTMX06dPRwssvvwzexUyi21xNNXbsWMArOv/www+jBHNLFgfB33zzzX/961/vu+8+5keorKzEiRjkFXMC3kU3MK5Pf/rTaB/9xAyDhr/97W+PHj369ttvp1EZGj58OGYGk7xw4UIho96C2mfNmoVmcSD6ic6oRw56x/Zi9Fbyrc/TchtYzQhcKWYNpE/rrTNqaZ1xWXfdddeZ7oNW/5SMtumn9m5sa16xZqUfrcATI+rqq6sGMq6hcvMye1i3NOhqnS719ItN2bj8vPSG/OgIb/uenbv27Mb1mxGJzZw8PSsa7fVgWyCk7OxssA5orLS0FLwFYgN6YgNEyHD9ICogI/gJ5XyBTh4Ca3LlvqJGtMa32EDbWCxWXl4+c+ZMHIv2URkcCUorKioS8qX2oEGDAFg4KZrCKXDGcePG8QU3CA/UNWTIECAd7bs4EICITqIyTgFoQ8s4HUCQGbBQBz0HGaNB7AIs1tTU4FhyG7kc3AZkRyPkXXQM56qtrUVragEW+llfX4+mgKFAfHqvolc4HG22trZiF45l2gJMDhgd7QDQVWgw+suiwyh8/fXXMa6LLroIe2nuraqqAsoPGDAAR6F9VOMSN+wqLCwEsoOS0T2V5AxtApHnzp2LvSjB6RjpDP1BO5afldCgyRklzImAuR06dCjawSm4CA8Tgo5hAukEwrAS/703/uqmGQgia6RcvGVoOEOsXLe6sbkJc11aVDx29GhmnvXjxKWr+X98H1rD695q14a+A2udPTL0Y5lW7yqYpNz13QrdPUcPP/nnZzrjvl/sZedfPHX8RMtLh5eXt0vT0xFktU63Ur/pXtcli6vRlZE4wYbCdQ3Tcg2j07D/umzJkhXLUSErFvv09f+nIDMrJHo5kzJjvtLoyFfPXM7FVVAisLKea6qERCtiUHNzM5gJ1MjF8spNk1xFdiQ5cUURzYGoA5TELr7rV3lfRdpFga+52Yjqp8rayl3qVbhaR8Wx0CSMyvQuBUnz7bmyQdKrFdv0CiXkMa6qkF4EAG6mGWNNhiBgWAA0jqPUKNgyp4X5z5RPAnPkotnLL7983rx5X/jCF5QbMa2/NOJygZpKVMs2+ZzAtGecQ86DWiXGIfPpginWVOKuHsl46U+MbgOF+UWrTMJqkk/Gsqnf54AXgUhfqOrSkYYAg09cCSGefPHZ7bt34cKuq6658rLLY2YEX63Psm6XRTbViPpae5xC34G1zh5pjwKtUyXeynH7z41lTp8wMWE7+E0YVFoeCYSMdeRNVd8ztU6zTpb1wEwXeqmr1IsIY1BZpRjnmoYZNq2MUPhUXK4AGoYy5ftloBVzARD4hPQc5S71ap6pRPGvLDc3l4ylAqByL1fuqwSwJDOCFNvke3bsAmNlZ2cTB4luxC+j+ztotqYa5y4inVpor7pHLwJmF2OhQl61xIrd8PxcqRGiNnAwJydHlRjpdKnYRVsvqZEIS6xX5+U0MgZCMJmWkD61WVlZTAZL91ZWZkwGri3DUfQW4LyRhgm1LGQkMibdDY6Cng9sQc2VWiXG1jDVbFx1Tz0b8NnjfSm26+VAWj2yHgj5xAWE9f22ZK5E9GhYXX1RUQn2FBcWGhiID6uWznqg1V+lbbFavSxPZT2Qd1X8FNjCs/07aSrrgRW44jwjdWPWHgVap1OBNwai24vV9KoZ1kjaSWGZtulbuZj1IGaE+Q64dy9SMpliNcbbEhJx1EJ4FaufdEuuYiE9ShnHStka6SEAwFLrh3gW1GSgAH4kmGJvS0uLkHbTII0JCa+qk6l5CvCZGgL7j0IcztNxqT6NmqzJFriKi+v3hfRb4OhwIKthr1ovxWyxPJBMjzpBk7MaBZE3iIPKXP2jH/3ovPPOmzZtGsN4cS8NwGpm0Fu6F9MErgarZr6HAytnEnvxFKHORXMsaypjrRo1I4vhjBxIMGDCSSk2EBLOUBSbzmSAgzHpoFjLAHY7tuMY0UjS8HpkPQjj3suFYoHLVttitfqHtC1W63RI2wC0tD5ANBOSqIiwNNfxnTuNpsqH0ksni1LQphhLvRAnn9FhIEhIqMlcADyp8hwQ6cBP78tVpDH1Op4tk6EVTarX7rRZEl7ZGUWx9EllH9QpOBCVPoD5BXiWYB1in0JJbqgl/yLNkcpsHCTsefPmgTU5q6qQ/WSUAJE2uKr4r3ww4JTS5q2WoKm/TKbA+sEYuqoFNZ/cRS8L4r76srS0tP430rZYrV6W/xPrSu8618Mt3DWN5s727bt22q6L35zB5QMqiku6PAoM6VGgbbFap1cns8XyBa7n+sk8feAwPNvw9hzav//wIdMwQ4Y5etjIjHDY7G2/WGWco0dsNB2Slu/ZRToWFWFOecoSiVQ1dRQtssoBQLkK8CNtvYoRWdLa2kozoQjYXJWC/qbqjblImxvFCS/Q+ZKdlKZOQfOqwl/VYPBYbKAnfPmuxkskpTupMjOrdhTZK/cJ1T3l8BBMOatsz146mxeNozxQ4a/ay27wMUNxp0obGxx+j1MHt71A5jBVTZnDg0bZoLp8ttOGUuVRoMyoHm2xbAr/WWLDzm3Hmptx1oK8/Nrq6pAwIkBobYvV6qfStlit3pfJO7VpeDJGQVNn26KVy+LJhJ20L5o2q7ikRC3xpoNXzxgFWlqnWCfL3eWmNkAo/s++a5i2Ye8+uH/5mtUoz4xGh9QNjfoU29v9kUzDbb5YpyGQSbxUktKgm6xIpypQrEa3SyKR4jxWC9px1ZIv5VFKc2bQQBskSNU9Qy6WEumlYyLNZArpgiNSy9REOksWX7gHjcpBO6uyXDI3gSphl1SH2QjnQXm4qlN76dVUyqGWU8F4Amrg6ijidQ+WVcbj4IjU/Is01wZP6qXXgSnIVuNi5R7eFwrcVWvvf1UIlU0u/fGE3F34YlKPYTKIIfq3ccvmnXv34EPNwMHVgwaaZiR1Sp27S6s/SlOsVi/Lf3dmSJuHQXOEiCeSm3ZsjbuOcNzxreOSMhwM32L2un+hltb/WIHEXf5yGdc3xApbGMdaWnbs2wMIyorG4n7ag96/ZmmWo7h6XXGP8hxQvqo98gKoFkTAE5Q4pVoQgUVaPQy0DALAaADBaiJNyT0Yy0iHgBVpi6OyO6ohCOlfC+RVhkzlaxs0l/YAQY6I9In+q4hUylCqxmukIwaoDij/YCPgK6ymRVlVlR8trc6cZy+9covn4kc1yeoRQrWp2ucMB58ZjLQvbDDmg3K3ENLxQHGtWpB30stCpZ/tUcVQDrKeYfp4KhMf+CYDFB44fGjP/r1A2+yMTNyKDRlB1jS6nJv9j5Y2HWj1E+ncXVq9LPVb5Uqbhm8icM3Wjo6kY3uW4ZmGF8CFE+/PWlpnRkbqzYB8Y2v4zjDAA+GZAoziJexkPJlo7Wx3P8wFywss6FFv/73uQuHRo0eXLl0aj8eDRke1l2H/VbDSIDzRUqtW/ZOumMJUIWCPNlXULZbTtKn6JtLWXC/wDl2dVLnD8mMkElFWWyV65SqMU2/51YGNjY1LliwhPavX+iIdX0xRIyFSwaKy1LK3anJE2ldVdSDYjghEGWN9zPPx48eJmxw+pRrkXxq/FZuKNGdzqoOdVAeqcjrs9vAKUBNy4gXgBVx46SarusFjU9PO4/yYha7nuAxjnLplpvbIzfRd1PVjGxrxRALNOX5GDDtkhoVPuW7KCkt6Tj8VaGn1A2mK1ep9pd768TYtb9X89ZK/LvqS0+qTCj5RkbJSiMA3CvK/j/A2Fhc/2JSkwhCwQfwinaD83XffveWWW0BXxC8vHaNASK9WLvNHO+C/hoaG/fv3Hzx48NChQ8eOHevo6HBlyq59+/YxqJaCPC6QUuDVg5/Imjw7AwIY6ZVhADicRXXSk54JXjqoFimNnqleYJmXErvEyAM0Q6rBkkrXrFlz0003ERM7OztB8AcOHOCIMLSmpiYOXEgAVbStSBfzwOEoPFVTTZMqOZ6Urxxh6fyA0914443ogLKSMnsC9qIb6MPhw4fRjZ07dzIRg1on56WjzxrpNVvKtOylTb+cH1bjrLJjjF+mHJ3dtNTFpSLmsoRfHKcLG+hVa2urf+W48hvB6eykcOwUxarnE+G9XyLZLp+BlNOCeu4Kbmtp9RdpjwKt3pd64Yjbdly4nunkZWa1J+JO3MYvGxN3KZjVr7W0+ogC/i2ezHpghoRhCztk+Vm7AFY5mZnWh4Gsgh4jsHaebCfSjpthqZaW+EmhvgAAIABJREFUlqysLJIQQQ0oxkVR5I9ly5Y98MADCxcu5HqvcePGDRs2bOrUqZdeeilQbM6cOQ899BCjR/GVPQNXMb4VNtAUI0aRRONS2MVCci2PBcZNmjQJJxo1ahRHEQw928OhE7sYHlVI4GY8AQ5K+bNyL06kDiTDAcpffvnl+fPnL1++HKyGlj/5yU9WVlZefvnlODWREQCXnZ2t4C8WizFuAMpRPyIlpMdwsGU6RYhAeghyLdFZpB0DaEwV0uHh85///EsvvcT6RUVF6MDtt98+ZcoUlZsAbeKkjEqGkSrHBpwIjx/Ym5OTw1MwDC07HErLlWnV2GcVCIJ5ywwZ34CPK0JauPnkgxnD4wT6gG92xowZtuOTcTQSNSxTBiqUeZFPuABVQcgwMdrsWEYEF5WHZsMJN5FhRiwz1BUU2TBCOjaCVj+Split3pbydUstcRDZ0Ywp4ybEE0knaQ8oLonKZF2s5BjaNVarr6gr64F0M5SejEbEMAcUl04cNQYEFAuFM8AH3VIlnNCIdGMNxhwQgeVQtJiqUABqzZCKIcVgTCh87LHH1q9fP3v27FtvvRW7aDgE/G3duvVjH/sYPnZ2dnoB10+SFqPDsifMJsXWUBklpEPVT7UEClyl7MdMHECiIk+D5Ix0OCpsoDLPy6VRYHE0SzulihSGY5uamsjobjrDAgb+q1/9CnWuuOKKz372s9gLFjx8+PBf/vKX0aNHjx071ks71KIpdpgdQAvoAxe6Ke9SnJE1FXDTGsp4t8qTlQNEazQ/c4ycEAwZDP3pT38aGxgFpvfxxx/H3ksuuUSt3+JSM5UBmFOHbQzZS6+l40nd9Eo4dgMHolkVpUutusO0sJAIqwIUEMrxESNFZxh6TD0IGSmrbVeMAVdWDlkh15FL0+Q7LloHhtTUZmT5zw9V5RWGH4jAlXsNEfDTENqVS6u/SFOs1qkSb5YhYeZnZk8ZP8m/hbpuUU6e6XYZYk2hGVbrDOhkubvUJhDI8FnWtkyjumpgQV6BIdfRAJGsD7xm1cIgL73wiAKaLFy4cN26dbt27QKjkNKEzDXwVymUZ2RkXCRVWFi4YcMG7JoxY8bgwYNNmRz1wIEDtbW1+fn5qHnnnXceO3bsu9/9bllZGRirqqrq/PPPX7p06Z49e2677bZNmzahEIjGGKVo5+GHHy4tLb3qqquw/fTTT7/33nvNzc1oGZQMvvyP//gPINc3vvGNoqIisNHUqVO/+MUvsnuArT/84Q+AtnHjxmHj5ptvnj9/PoAPJDpnzhww2eLFi7dt25aTk4MR0VQMPMVRCxYsWL169aFDh8BhOBcjxWKYl1566bRp04qLizlRaGrAgAE1NTUgv/3797/yyiueTECA+jNnzpw4cSKaBc/dc8894F00ixOBdwGaAwcO/NrXvnbBBRcAhZctW1ZRUYH+49gXXngBZ8HkFBQUjBkzZu7cueg8JhOdxLRgmEOGDLnmmmsGDRqEyhgvABpfB6Z33759mKUjR44Q5UGTTz31lCejkuGokSNH4qToGID1jTfewKh37tyJ6cVAMOff+973HnzwQfQW3wKNuBjyvffei1lCIb64FStWYKT4LjBjGBeGgAGuXLny1Vdf3b59e25uLro6adIkjhTPCXfffTe+6Gs+/vGbbrqJGTcYAs53M+BzC6NGpC4z+YAkfWGtsDWyfkT14FqUZMSilhHq8o/Wubu0+qM0xWr1urp8rwwZdSsWiZaXlqrcXWbACKDvqVp9SukwRmlscDw/hXJ2TlZ2NnN3heWi7w9pRL52Dy6iBwYtX74cuANOBX7RqxUUAtbZKIU64Cocgm0cCzjDX4AUDgFlgn7y8vJAezg2EomgECj25ptvAqHKy8vffffd9evXl5SUgNtwOkDkqlWrwFuf+cxnVFDYRYsW1dXVATHRjR07dqAyAA5/0TggjxAJFEbJ22+/rZwf+Hft2rUgKoA1qG7EiBHgSPQBJQ0NDWvWrAGEsZ3du3ejG4C8yZMnAysZgBaQDfACaKolaygHYtJLHmfEiDBw9BCDWrJkCfqGw9F5kDpGgZ4A+LC3uroa5wX5gcIBx5i3O+6447nnnkP30HkAOuYB7f/lL3/ZvHkzpgvNYjYwRjoNY7YrKyvxES2DlR955JHPfe5znBz2Cu1gOBgjzdVgWXQG7IvOoASHgIAxxgkTJgCR0QEMCg3icPTkT3/607/8y7+8/vrrqDlr1iwvvYjt5ZdfBptickCr6ACGiaPQf3wFQhqn/+u//gunRjuojPaxPWXKlKFDh3Jm/A4XFvpuDHiQ4usBaXZVF5/reVa3QHHSDUaEigsLe+Tu6qV/HFpafVGaYrV6Wx6XyvpZDzwZBCZuJ441NXGlRmF2Tk4sy+yq60uzrFYfUSo6pw8EnpGKtyWaW1uafV9G3xZbWVRmWh8EsmrpTzAlAbjtmWeeueSSSyZOnAj0BMk9//zzr7zyCsELvHLTTTcBX5qamubPn49dw4cPHz9+fEdHB9iIMFdRUQHGqq2tRWUgzje+8Y0//vGPn/rUpwCmP//5z1944QUcfv755wuJR3whziCpnsxHRZdNsBQaBCJffPHFubm57B7g6fbbb//pT3+Kvzjv3XffjWpeIGIXTctceIQ+XHnllfiLcvAcSBqcd+2112LXzp07wXNvvfUWCPvRRx/FiC666CLAN8DxxRdfRDkaRAlg8bXXXqNvK9gUZDly5EgQJzBu6dKl06dPv/rqq3EuwOgTTzyxYMGCSZMmYfhf+MIX6B0BzH388cdfeumlL3/5y0LmG0ObAFmQa2Nj40MPPXTVVVddf/31IH56/dLxF2eZO3cuOLKtrQ0z8J3vfOe6665DBZwU3ws9ffEd4eyYYUwdsBUMilNffvnlOAWQGsSMmvhSiPJz5swZPHgwZgmwe//999NxQvmQ8FmCLrkge7D+tGnTMC7S+e9//3t0Cd8XevKtb30LXwcOxGMGvggUfulLX/rNb35z22234RAZZyDpJL2MWFQu5kq5oHStrQteeTKwBmodPX68PR4X0hZbkJev33dp9W9pitXqfXkpK5R/Y3WE19zR+u7q5XHHdpP2xJFjh9XUibRfrKv9YrXOhE6W9SAdY96nONO0DDPkGM7O/Xs3bt3s+8Va4cLzL/ZJ5eQXLd9HqyhRQi4/AiEBvIAmJSUlgJWcnBxwFcqBg8uXLx82bBgAC+UgS7DL97///ePHj4OTSktLwVKAWhwOSisrK7vsssvAVQMHDjRkii+wINPGoh3Qm0inMFAhouiuqoKVHjlyZMuWLXfddRdOpHwuRSAALa2SOMqQycBorUxIoRxHAWFVUgYA5bJlyy699NJ169YZMt4q8BddBYuDz2699Vb0Ct1GD9FhHI7e3nzzzQsXLgT+btiw4eDBg2i/vr4ehTNmzAA4btu2DaC/evVqdn7v3r3sBrbBvpgTRhhAO3gMoCPvzJkzx4wZw2nHhGB0aBCgD6xETaYoA9aDPlEekwKn4tRcXIXJx0nRYRx7ww033HLLLXV1dWgKowB6YqoB0wxhdvToUXQM1d5++23UxPfFdWaF0lzqpvM+qGBeCv23bt2KicK3icOFdCDZvXs3ujRu3DhcBmgWJ0IjIGZcEhgsTqHCI+Brazx+fOOmTXV1tYV5Bf4qN08G8cWXaZlhS0YRTl/Qhu8ibACc12/esP/wQSH9YqdOnGQZ8lfe0FkPtPqnNMVq9bL8X8dQOBUlR4ik4TV3dixauaw9Hsc9uri4tLqmzkpnPaA+aLGMltbpEnN3pQJrmcIxPMcQCeHubTi0bN0acEpuZubMGednfqAhVqTjrYr0+i0hvUv37NnDd/GMe0/6RAWQJQq5+AnsBQJrbGwEgQGzzjvvvIkTJ6KFfVLAICAgNoChwZhfQZMcX6Az1iy20Yiy2XFh1oEDB/Lz81XHVD+5OIxOqMRftMC1aOgVkJGrtdAg422hz6hDD1GRjpCFcrreQuXl5WgBAzHSEW2xDVC7QQqVMUxAMIj2d7/7HSoAUl988UU0qDyGSb2ohim67777gJsbN25kCKri4mIVx0AFwEIngcIq2xmDNjQ3N6Pnah0b+l9RUYFTcFkVUPurX/3qzp07f/azn+EhATODcuzFWRYtWgSoVUvocPjs2bPRyU2bNmEaAZQkfswJjsLQOHzUxzZKOOH0CX7mmWfmz58fl/ZRjmv48OGA729/+9t/+ctfMDQceOGFF37iE58gyzKOAcaFmoDm2//27z5x3XU3XH/DuPHj8/Lz/SVulinXH8ovLmSZLmNoGa68gLdu37Zpx1bgbby9Y8p5k0zD5Jfc7WoxhL7pavUPaYrVOlXyYx3KldDCNY41N3uW8O+nfiT5Lvurvo9q9R0F0nAYwrSwYfsLayzbcTsScdtxko7tfFjETTrFcttNpzYFpPLdOqFQpEMZCGlGBVjQxAiEOnr0aElJiYpdxRfiAwYMAHsNHToUJIcKPQL+0/gHSOJreppFuSofh6NQASsOBMZx7bw6lueinZL2RcbMIiNyHT1ZDWwnAuCL+hdffDH4TwWWQk2MFD3s6OjAYLlUH4X4iP6oJA7kWkzIzJkzp0yZct111x06dAjtX3vttd/85jcxIUY61S24H2AK0Bw9evRnP/vZqqoqwOtbb731i1/84tixY0BJnpqGT1RGl3pEh6AU2nI+OUsMAoBG6urq/uEf/gFMOXbsWK5Og2bNmvWDH/ygoKCA4QLomIH6+C4YFYG4j7+0lKOQgQjoqgH4Rq8w1fiInn/lK1/B4SpyGepjnjF84OyXv/zlzZs3P/bYYyBdnJSTjA7435H0bGkBBz/19NsL3sAkzJ0798JL5tTUD/Vtz51+PArLMFWSWttP4GW2dnYk8KTkiUQiGZHpZx1/kWJqUaJ/teAijOhgW1r9RDoEvVYvywtkx2EuGS6N9V94hXDL1eCq1ScV9BKQD1+e4RkquJEJNsVTGJ7BHP+/k0hZPYMIRf/Ij3/848uWLWtoaACm/PWvf3366adZZ9KkSfv27duwYQOqHTly5E9/+tO0adPAati47777uEyKZjkuiq+uruY/MXDt3r17QUvKhYCno6MCwPHdd99F4eHDh3/+85+vWbMGuyorKydPnrx06dK2tjZGM0U1UiZwbevWrS0tLQxTwDp79ux58MEHmTJA5W6lry2oFLQ9fvz4VatWobdoGfwKGsOBILCrrrrq1VdfPXjwYHNzM7rx+uuv89hf/vKXDzzwwMqVK3EiUu/69etramqKi4sHDx5cX1+PjxgpWsNsYBvTggFifkaNGjVhwgQQJLq0ePFiHAtmZeYztoMpwkdwMED/wIEDtEDTQVn5dXAUpE/l8sERoQ8A2bVr1/KLQH+As5h81CwtLUU1DA0jxbEY8vLly7dv346O4XvEiHgW9JmLwDCZGOBvf/tbfNcYCwaFuV2xYgUwvdRf5CrQ7Lp163bs2IG5xTygEDNJyOaTA0rwXR8/fly6YgvbsY83HUfJwoULfvyTH3/9n/7p//vudxYvWUyvCTxY8dv3Ukm5DJU6LmVxV5dicFtLq79I22K1el+pGJmGhZuo41tk3cxoLOE5wpGLZrrbYvVtVatPyGN2rtQnA5eqbXuWDGnkp6L3ISwSYSjW7pTao5nAqhtFTqCia6655p133gEAZWRkAG6OHj1K0+B1110HGALboTL4Dzx0+eWXA9c2btwIrAS0Pfnkk7TggnXGSAlp3wXVzZ8//4033gDtgXuCrpkjR44EUf3+979/6KGHcDoAHxATuwYOHHjllVe+8sorzz33HJgP4AhWGz16NCqcf/75jz/++IIFC0DAOPv9998P9gIa5uXlibTlUqRNyPw7bNgwcDDID5xKzq6qqgKUo4V58+aB1b73ve8x1BcTHPCl/65du9BhOtrivGC7OXPmoA/oJ8n7zTffROP0pkVrmLqrr7560aJFOBGtwrQQNzU1iYBJFSVoCqNbvXo1sBvtMzrYrFmzaCilfZfOvjR+q7RntG3jXCB+wCUOxAzMnTsX38sPf/hDhs4tLy9Ha7m5ubfeeiseMH7wgx8A9/ERx9IEftlll4Hgf/rTn6KHGJdyscDXhL+gWAwN/ccwq6WwvUGKfUPn8fRC4z2+ixdeeOGtt97CwPH0z0UGtuc0tbQ0t7bu3rd3/ZaNK9esHjFqFA6ZMG58aVGxJFjHAgoLNyMSNeWFHA6FbDcZMUJm93ixpmW976WrpXU2yrrrrrvOdB+0+pfSAcdpBnCF157obGhoyMnMysnIGlE7ZGBZechLp++SLNCTZTXYap0u9bzwuNxQxoPzoVAGvz9y7GhrS3Nedk5Fcen4kWMzwxHLMEzjfSS6e6kSK/keH1AIcgJ7gZyAj6NGjSorK7v44osrKyvBLs3NzSBCIOOUKVNAliAkHAicwoFtbW1sra6ubvr06WBHnos8ByyrqKiYOXMmGEuk34SQXOniifPOnj0bZIkDx48fD97FP0acDgdie9CgQcBE0iQdUkFd6FtLS0trayu6gf6AJlGCPgPmcCI1KHSAjHvs2DEAIlpA+zgc3cbpMEyQOirjFDi8pqbmwgsvRMd4iMrCAJ5Dm2BE9gF9ZsRWTA54ffjw4egemBKn4Go2epSi55MnTwYTY0JQgXOOxtECxtXY2MjsD2i2trYW1WbMmIHzkneZ2hczj9mrr6/HrJJr0TiolMyKLwXNok2mCGYghbFjx2KDgQ7QGZxu6NCh6D+IE2g7ZMgQzAnXZoHmwZcYEbqHcjTL9WGYEwwZPR8xYoRKMoypw3ShPsr5sMHnBxyCOe+Mdz751FMi7a7teG5HMnH02PEdO3eA1480NBw4cKC9rS0S8j2hMeTORJxLu3DSAZWVtTXVIUOGmUgvBDNSgWb9/wVDInbb0HdgrbNHhvdhbl5aWv8tdcWTd/01sbYhmtpbt+7cnvTfxDq1VYOqSspUyFhHvuMyPE2xWqdVAdIURuDH3DO6FTrCX+C16+C+vQf3ozDR2VleWBIjxb5vswFDLNd4qY/cALhwwRBzO/E9MgNa8dU22IjLv/iymy6eQsIH874CtmixAwZxDT5fndPVFceiUGWjZTABQ+bfQiEgiblweQqVnUH57/IFvZBWZNAk+Jjd4PIvrgBT8Z54LLvHt+F8r61yifFFP1OwBudHmaixofxlRRrBgWKGjMBgyGBhat7AjnRvZSpdhg9jZFaVg1ctU1PeyUwDxmy0pFhOHT6iEaZM4+zRTKtmgLZblUiMPr7sP63RnIodO3bMmzfv2WefBd3ye0RNfFNAWPzlhBgqBZdcYMc+86ScJX4pdGjmIZwTdOnF+S9+5atfTcXg7lqXlY5nbJqZsdj0yVMuuXjOiJEjq+tqQ1mx4x3tcQf3XZGfm1tbXRPy88/hKlHPaOlr1egKJGsGGxf6Dqx1NklTrFYvy1NZD6TzgGuatvBs/4aZynpgBa64lHuBplit06uTUWzq2vNX1fj/b3sOQCHhubiG21rb3n7nzTdfWxAyzJBpve9FSpLj+iFGWqXbgFqDBY7kNsHu2LFj4CQCGVEGampqQmFubi4wqLm5OSsrC7yVn59PKuIqIto+2/wotoZaxcWFWThc5TVFay0tLahTWFjIle9MDyskp6IO6Y0WYpSrIFbsJxec4RAci04qqsYhNCJyjRd6yBhYQlIjYRHHksw4cAXHjOHKBsl2aIpv9uMyjAlf02OwRGS+/afhWa3QwlG0hvKMdAlANXInV6Sx/67MXkurNjYaGxsBiDgQ58rLy6NPMFpgMAHmleX3yJRd6Ax2oWX2meV0/GAPUedXv/rV7bffzm+c1Mtt7EInabRGIfkVp2aEBF4n6AzNrtgguzOUAb4v6Wftbt669elnnkndU5n1wJQuAXx4SCRM3FRxNXpeVnb2hRdfPOPiC666bl55ZZVE3VTWg7Bcq6gpVqtfSlOsVi/rfSnWkdG0TE2xWn1DH0Kxru/ADQzoiHeakTCIAVh64OCB3/zmV7/68U8BQ4b3/n6xfF2roE3ZLPmRUEXTJoAGzISmSKWsIKSZECUMWSDSb96VsJcWO25z7byQcaCITUJmPUA56/RwcgBj5eTkNDQ08CN5i5ZRkJaKKkAHVtJbj0ZoxQwOjcEEVDV2hrhJzOV6fMA0dxHxVYPoEsNUYRdNrXR4pUXWj/nvuyNH0B+1Hks9J2ACSa60dxKveRaisxomPnLqGMkVR2GWyKamH2bV4igYR4xG2agUOkMapgGbE6KEQjQLPK2oqGB8NJEOsKUM7SqoGZ83eAo+cnBlHhFcGbxppkWhf1X44bOEjb4xoK+Txs70xYfanuPiV1z6vZquZeSXFD361JPTZszUFKt1jkiv7tLqbXn+olr5u+f/gLie29TRumnrFhmWxhkyYPDAsgrlURCMuqWldcbldf31086HYlEg3t5DB/Ye2u/HToqEr7v5b5zOhOF6HxDehaRFuqJNlFyCDWArbZDEU9oOQT/EF2IQ4AzwpJwHCD0ibcgkJNGeh5p8b85dhComKaBPAk5XXFyMngNSsZf2Rdo7lSMBD6fZVUicohtAUVHR/v37aUekCRZU19zcjP6TF4mM/z977wElx1Wm/d+q6u7p7omapBlJMwqjnKMlWZbkKAccwcYEY8BmscHA7rcc/F84H+Fwdg97YDmwwO63mAWTnBYwNs62HJBlybKClXMOoxxmNKm7K/yfe5/uOzUjyZh1z2iQ72PRVFfdunXvrZrqX7313vflS3myNV/ro/zhw4exIw6Nw9EGia/oFGqgCZMYR6AkWXLqFXpEQzLJFVtpjgV8Y3dtyUbNhw4dwlY0ho8N2pOBUE40ZJ2MZkDiZyRd8DoD4jIMGYMMoDz9Lvg8gLFizCx6RGB3enRwEp7ImX5RJ9qMlTx3fIChwZV9Iazr5w1sQkm6z6IBOByfYbQfBQ20POPYa+fOnYteX9TJr/oylYkPHBmUIBAoLSuKFYwaN+aSKy5vTbWv3bQODUlgzYgREfEXUyYbGf0Ny1CsUf4VsbNzYFXETdHU3rZk1fKOTNrN4Pe4oH9NrZOL8RaoGQa2AVmj3tW5cnfprAeWTOaJ69NOW+62fbveXCUnmFuJgjvvursoGuP0xHOJzKeDBug1ZBq+Rucceb4uJwiKnNsoEwqEqyL+MpGBUOCoCVIbSoll2lLLTeQ8GjK5L1MbAOzCDrt6K50WaETEXhqnRAiUSXJsIftCP1Rti6XvL3mRDgDaRM3gUDRF09FWA3d4cNgkrtEjiXqAemwGa9ZuGNp1WI8h26P9bunYQNJlMbZKw65QlnIukNppA9aNob9st0jArBaV8OywqULZaDF6DF5LV1c6+LJ+crkeBD48hCsUiob5PPDSSy8tXrSIB1V+LDLqi6tSfKNQcWmpm85MmjDhisuvGDlqZNWA2rqhQ19eumjN5g2xaGzwwEEjGobZKmSsyd1ldKHKUKxRnqUneeCXRzKBZWVcb9f+vWl8C0RzR7ur4FXHejH3VKM+Ir+TYi1bBBnf9WWQDetUa8uBI4dlwq1EYtjI4dVFJdHg7LO7hMIR+gNoQOFKPZGLX/UMLW2IJavpnAgiZ9gj2HGGvn43LULEo2sjHvGIOmwCDY0ETQIo35iH/QQYn58+mpo46R1LpGNJMrE+qMi9rNdTu8Iv/TVKho2+mnSJiZx0pTcRVa1Q2giRm0BGO6iejsaBoilUp9jVewWhuLaWCsVF/GXXGBRMs7X2PSBDhyE4PEss3BjWrB0AUBWt104uGIBOJ6Yr14kquvlM68ZruOfjjYbaLZs2OzauDU+Fzgj4iZ2j8YJkYeGs2bPHjxs3ZeKkiRMnDqyrc2IRKxZPvf5K4+FDjmUXJwodKyLDxMlktrbuAobejjjm1mt0YchQrFGeFeTk4z8ZatO2Aqs9nZaWBDm/K5whydxHjfqMurq24Pr0Apq8ABm2bwnP91pTHZ1pDc5VTWijhjmSija46vn+QqWVImDpwroqbTgU6k20yGXb0hluRYhWNcJq1Mt2JLSSC7QLagimiE1sDI2OtNfqBuhQA2wAHWQ1i+vadC/CFKt5MTw+4UgFncPetbW8kwhlKCU+hodR5IzB4RpECKP51r7b3A89PjwL2tpNr+Lw2HZrsAgxqMh5srIA83Lp7pNHCanaSZeHI3yH66fCVl7abqUTAlmW7gMMAGdZ8WRhZW31yDFjRo8dO2vWrDmzL66urAyUj2xG+GhfJIpbreO7KvSBHcmOj4wFozqunh8UxQpOIJNxYtBrX1oZwpeckVFY4ZuPfkLWnjwi99Yi/OAa/vPvuYYZijXKvwL948NlEUQjUd8WjmVukUZ9VeHnKnX1Rp2oawUu4xoJ4QIv1Byad3YzxP06HmdyBOGcLby8/hPQEaa0n0C38t2AOFxh2Ch75o5hkfnCSWu77U7R15ON0T85LKD31bGrziwZrq1bU7vVpqs6s4A4Y8T079+ZvcAmPYBndj9cP09Ht8NpTwl9dH3WdDv1Gq1wA/QyF3SF+li6QLdfcZL3WXcRoROhMtAKbQt37GhJcXFFZeWQYUOnXjT9squumnPJJbYjA24pVwHBbF1AXeltomzGjpqWYDN7YgiaLeWtIT99ae1HMRwGy8LvnnbOyEhLv3XR8TqCXHo8/eCqMVe/gtDPbz3XMEOxRvlWLjeMo0xZMsaWFZQXF7elUm7GxW3VkZtyHgXmhmnUZ5T11ebvvbw7S/9t13KjkUhxotAPgqJkMmJbuck1RkY9LIsxjOV8voryylmzZl1zzTXzL7ts6PCGQEcTkG4GFi/KiEr0VZwsTBTEsSaeiLtBxrGiEcdRSQ5y1tZotL2j3XKkD0QsGrP51BGJBBnvvPbWqE9LO8mEH4fCeKo9i8J7hR/VekiGYo16StmXg5YoiSdmTZmeymT8jFtf3b9AdM6M8UyMAqO+pFzkN2mZfdFDAAAgAElEQVTV4lUaE1Z9Vf8ZEybjhh13nEQkYi5Xo14TLsWi0uLrPvCBD3/otqlTp1ZWVkaiEc/3AlvGjZVhtKTRSxKpyF29I4YPLy4pxmJt//5dkSL3FsFSoRLcDK20KoJYqjCZtIw7gdG5Rcsr44dwTdgVXuRmlOoXOPSN6YWGmXixRnlW2NVOOhdaVofnNrWeZmDO0kSyMBbXlzbf0ZrcXUa9rL+UuyuX9cB3A8c+nWpv7WhXvgR+ZWm/qO3YZqa3Uc8LF2bjwcY169bV19UNrKktKiqil4KchhgEGS8Ti0QDT/oMOJaKq+B7IhY50drSTpfraLS4qAh4G0WBIJtaOfuLb1uooQ1XtW3HolFUF0XNgcik0yDibv4nRkZCmVoZOgNXGlPrMVScyFEsA6fQfyAMlj3NsoZijfIsk/XAqO/rL+XuypbIuBnh2K4tU9HKqPKBG7einN5vLlKjnpaMVOh5GdeVUWzVVZeNF2HLa9bzfTxQyYADWYr1UNgqiGWkM7e8PO3sW6+gG8VCHelUrKAg7Wak/3ckEvh+Jp2xaa21hHlGMzqrOLeSKaAZho8hWTi/U8cWpFf6WZ3me0Lmkcso35Jpj9T8RF9e0fhoz6QOHzsq89B4fnVZeb+iEruzrJS5ZRr1EekpifIZTGWr9y1xounkiaYmW75wDQYPqLOdiIkjb9Q7AgxYdjTwpE+rrefPqQiGZ5kL6NjA1INHDre0t2FFUTJZXVXlZPcQ3Qq3t7dx9rgMKCZES2uLzBAeifoqvEyvdM7ob0k6nB9DXDOsB6PdMT01IxzrKM5EW9HztlhDsUb5V6DiGhIIPBE0tbUsW70i7bpexp05aarKG5TL9GkZv1ij86BzZT3I5e6SPmBydpcdcS1vd+P+DZs3CduOR6PVVTURSbHmojXqcTEDojKgSiMArkCHyTgAsYGaYtjpmchoC1ZaiI3bNu8/2IhtdQMHVlaWR0Qka15VdQBbhYqM+/Krr5xuaZExttQs8taWVltGQnCAsL55Q2t0hpjBhAHvGB6EGT2Ki4vxWVdXV1tbW1ZWxrgEGnl7IXaboVijPAuXbNSJZEOjS04NWtPtK9ev7cikPderG1Q/YvgoJ5T1QJgp30Z9Q+HcXcIWnhV4lsgI/9CJY2u3bsave1EiecX8q4rM1WrUO1II68jJWxG9RuTCF1q2Iz8d5eKqgmwxbceuPbu37toJJA08X8ycreaVi+wzWqD+z/dTqdR3v/vdfQcOFCYSGZXsjTVbYWcbI6OQdNxrsCxtrrgM43E82kfXrl17zz33zJ07d+zYsZWVlTq0Fq2zOrteD8lQrFFPST7Tqyvf8pyTp5uZ9SCw5a1Wm7IMDhj1FVnZfMiKYm3LsVScuMAWEdeTXjHSQxHPYcZMZdTLwn3UV9MNZQ4ZW8GEY1k5LO18gSBkZlrLaevowIVqB9JUFlXpZ3HlOjK0rI2LvDN7cCTyf/7hH+74xCdKS0qUy2zWpCuEuS8bnVM6RiwjwuJaWrZs2S233PK73/2uqakJX8eMGVNSUkJjrU6z3KMU24OhaI3en2LEYzyu4Vc/619lZectyrCF58zcaWRkZGR0hnDPtB0BDsjHzZOZhDuUkslkYaEMhKxTJStvAvOcZnQW0eFVhLK00M4KZm1tbf3xj38MhH3kkUcWLlx49OjRU6dOtbS0HD9+PJVKkQdEjoCxrJNa6wR470XGFmuUf/G9g51N4+n7ll+USKQ8V7iehce4zsmzUuax36hPKAhNzs5mPbDw1OUJz7Gtgkgs6viF8YRtpm8b9ab09Xbu605vkZEKRBCPFcj3XioVbdpLxe2YtN2ylJqx4EQifjrl53Lw9mz7jS4U6cTRmmVJsdFoFCQ6bty4mpqap59++q233gLFzp8/v6GhobS0tL29HdiKh6Vu6bXzKEOxRvmWnpaYTQIeJKLRsQ0jO9JpL+NWFJVE8QeQCylvZncZ9R1ZOutBNkaBHRGWZ4nK0rKRQ4bikk5ECwpkzk/jyG3UK7JEELrWus1EFIy1reZiZfNvqTwydQMH+iqGYW1NTSATdvlRSwXRYrDYIHBUOM/gbEYwyzLhN4zOLlpSs8mM1CVEB1luTSQSM2bMANE+99xz69atS6fT2FpbWwuQBcIy6Vc4XQLryQvXGoo16lk5wipNFM6cMs3zAuF5df1rIoGkWCowoQmNzoeC0IK+AK3OJLRq9rdEWS9qWYNrByZiBbaa24BHMmO8MuodBSKXhiMnK7ey8wKWyWXUw5ekWd92rNHDR9XWDMCmkqJi25IxB5TRIGBqZV/NH5c44mdDe5sZXUbvUrSn0gqbyWR0di6GyigoKJgyZQrjyK5cufLZZ58F144ZM4Y7ci/unl+vFUOxRnlX5xWqsiLaRYnC0cNHCunbJbMe2KEL2ACBUZ9SdtKhjBSrpiO4wAK7prK6qrKKWQ8KrKhJ3GXUmyJpnvWSs5XxNVsskO96bSc2tK6eWQ/AunaAZzE3vIt2TPS7usAG3YHZyKiLmM5AW0+ZAQFrSKi8nKLR6Pjx40tLSxOJxB/+8AcQLVPRVlVVoaR2P6Dy5WBgKNYo38qGcyHNyhcHeOrPuG6g7rmWHVFOWrqslLl7GvURdb4kCL0ucD037bmg2CDwYgWOLeeKm2vWqBfVzXRlnX21WhOkpZVM3nsjthWL5jJ0MPpGDls9Tr1ltNmwYcw8oBmdW/QEYIwCpinGE1FHRweWjxw5EsmpqKjopptuOnTo0AsvvNDc3IzC8XgcFBuLxci++TXHGoo1yr9wi2S8boFHNCGa2k+v27TR9aQRYMyQ4UMGDLLCHgXns6VGRmdRoG7V8nErEvEsf9eevbv27bUtO+Y4s6ZdlIwVGGduo17TO1xpoVz1Mqis49gZIdZv3njk5DHLsvtXVo0bMybSlUxpUeMkcSOjdy/O62LMLPoS0JiaTCbnzZv3wQ9+kD4GEMpgZYvS5s2bsaZ///4oDIqlU0F+A28ZijXKvyK8RpU9yxWiub1tycrlHemUm3GTycLagYMc7UugHLxswwRGvatz5e7ydQYvFT7Ws6yUFew9cuittatxORfFk5MmTk3ECs5Lm43eb8raAnKf4RjbnaEL9Pwa6cgtQxtu2bF9x95djmWNahgxbvRoW85NUDswMXjOnCZyfrEie4TAvGEwegcRQEmuaZUpw1EaPHjwt7/9bebxoniBRSIy+dE3vvGN5ubmo0ePaous9qzNF8saijXKs9Rlrq5jddcMLMv1/P1HDrrSvUC0ZTLSkSt0tzQ3TqM+Ir8zd5cMcRxYgSvfGlhtHaljp054ntccK8hkJ9MYGfW8ghzIBl2fuqzcNC+ZwcsKcrm7XOVseLLpFP45tt3cfBoIi7LYrnghiyC0mQVn8UcwMjqniKe4eKLRKN0JGPA1FotNmDABa1CANlq6yZJ6y8vLjx07dvLkyUQiUVZWhk+Up3esMDEKjPqmtO+2nARryWwzVmCnM66IyKwH8tsZ92Qjo/OvsJeA+rn3swYqFVPG9/DPctPml9+oz0qBqe3iUgUiuB6Aw7EkvnpuxrFBGbay12KLJ5nDtj2+I5aZwCx1vw501ntOAiOaSA8xK2vz1dhBnwT9NezmSK9HHB27c18NPaiT0fI5GYhT3bGJvpLhQE48LmGIxWjb09Y+Ha1Jr2RhlgzjkW4qbYRAKK5n27geSqVS8XicWan0ZHz9Gp3TmLieB9IcpolN+2l4aoR1Yd0jbmUKABbgIOsB1LWhhvAurCqdTrMlfHHPHXUH2UIdzJWt5VFYZ3hAdOXsLIuxp2yeHiW9S5g79XnR7QyfBSyzkVyDgW1ubi4pKWlraysuLs5LpoOwDMUa5V/hWIRqyS+IRV1lQbAMBRj1TYWfq5innq9h5esEgR9erIxFoua5y6jPiiZaiYm5OVte4NnyMUwoxM1SiK0cE+W73SBr7s1G4eL0L4WPQBliTZhLyEaazAg0GiWzbchBoc7PxPWsjSs1Juqq9KZuqKRjOZGqhWI1kaMoFta0pFfqJoVbq9ewa52DluuFp6RhN9w2DbssTxbn7truqDmPu5M4uV50pX+Cpi7PY2nrj94UxnR2PNzBMFZyDTmVK/UIs5jukT4KOTvcGB09gA3WHq66JbptrF/kPAp0S0i0LIP1PATWYLjAr+3t7cBZDIum2HzFKDCRjozyLdwlGVTDicjffuFbjlVTXlleWFwUjcdsG09OkUA46p/xiDXqO9JZ5XDPtjzfDqxIIC/gREFBRUlZVb+K2orqiG3Caxr1lqxcdFgZNCs3gSAXckAQW1VwY1tlp6UFsl9JaWlxCf4VFxd5gQt6jUQjVs6AYCkzG8BCLsSiuEn7MuSsxA6ZDSGUQjwWi7lKRBP6IRBBNBeGmUY7TVIFBQW0F9KqF7Y7MiQ+gYzhRYWyUJJ7tPkQLcK+uhittmxM2LIY5lq+4Nb4iAOF33ET9XAg4FRHRwd7imrJ6EVFRSJn9WQNKIYFhovSIKh7LXJYTBwMT5jDGkCbrk1baiFpIFe+oWwD99XjQ2somI+d0rSqB0FjJbqpCVVHDNDLPE1ETMIlqyKp4ysOrR8MAmWHZrNZM4RiXMmq6MaKhdbWVqxBS8I8rWlVW9Y19WJlWimjxD5q5cUoa2yxRj2l7BOkJUrjiVlTpqdws8h4g6tqCkIhYz1l7jIga9TL+ktZD6RNSl2lQYGw6qtqMhMm4zaOn8dkxGQ9MOolvausB5IgLb4rkBewJUY2DC8tK8Ptt7qyypJgGkhzLIgnh79EMfKEhGBld/Bz1khHcSdBBMVIS6Q6oE9hYaFQmCIUjIJLOGWH5kmCmvZ6bGpqSiixqShAr0pUgn3BeawNy+FIokKRE3mOfgVCkTd354Eoodg6bAc9cuRIVVUVqyKtshiWsZLMSlZDq5qbm7GcTCZRACXJiNhEwitUYvOypmtFoljAvmEbMz7RF4yD7iY+S0pKdAE2BmWKi4vRANTDESZWsj0YK3z269dP453GX9aD3TXWh8dTIyYtpiBgNA990fZOtJ8F5KOLAnTUj5ZwTDh06CmfK7QZFXuFTbzaLwLdxCbUb+XyHRBnW1paMJJkWZ47VK6dFlJKmmVpetfG8vf4Z2Io1qinxGvTEXZpsnTmlOmcQwsICDsVGH416oOy1A87FvDjYzv20EH1A2pqscoPvHgsal4gGPWm3mEKQed7ARmeQFndCqITRo8d5cnJW4588eV0m8UVaHLKzhwL1GRcaZaLOZIU6VEAgUIIK9ojVr9GP3XqFL4CaFAAzId9i4qK9Bx28goOAZLDLmQXMiIKkwhRmDZarNEGV1ZOky1ERMOOqHD58uUPP/zw6tWrjx8/fu21137ve9/jvrS8ohiOsm7duk984hO/+c1vxo8fD0J9+eWXH3roIaysqKj46U9/OmnSJNT5/PPP//u///uzzz4L2vvyl7988cUX33HHHXq+EYmKCBgo115uIgsS2dlIoqF2wAXAkQIJgixPm7eejE9bryZjFANu0n4sFPXS+rt58+YvfOEL//Vf/zV69Gjmp2CAKpGzQIfhkvBKJwfaocmjpP9AJX0lpouQ74T2o2VJPrHgK0CZZ1ynM0BJrIwq8StPByvUuI9NvAAw7FhTWlqqz6PIeYPwouqJEG+GYo3yrs6XBBYzfDh2wkkI9dorGghDsUZ9Vp0p60PJ6+WvrIweL3N3mZQHRudB57jizlyNi7MgVuDIuyw9Ec7uAGPlrnD+X9Y/0om2tLSsXLXyzWXLtmzZcvDgwbKysjFjxowYMWLKlCn4JGaBYwAuNNoJBSuakzQ5adMgX7jrmUDYN/yGmqwcdkggKwOPLO28a1lo1YMPPojG3HPPPdXV1bW1tTwWDqRpksy9d+9erET9QNglS5bMmzcPu6B5//Ef/3HTTTctWLAATHbgwAE0HjyKDqJmdkrkXCD4xp+zxMjZtMWyF+EZWjQ30mypY0gRKNF+HBTV6gj/hE4UZteIidiRY0VS5HgCbdeuXatHSeRs1WHPBOIgK9emVmyi1wctrCJniNUOG9puyn7RP5jYjeUCJdTD0UCPePo4LNoez4Fi9+l4wAbcfffd99133+TJk0XIa1bkprVpK3vnFagU9gz5X8tQrFG+FQjPV3clX77f8gO/NdWx/1CjtA543oDK6qqycu1R4HedGm5kdH6Vjc4pZyT6uMcKx/YtceT40SMnjtvqte2IwcPiEZOE1qj31Bk1tssqqbBdS87acrDG33Ngf3Nrqx8EJUWF9QPrusXkZKzOrHMtrXoKJqKRiJvJvPrqq1u3bQXBXHzxxcePHy8pKTl16tTy5cvBPXV1dYBXlGxra0MB7YiJZT0FnuxF4yWxicZX4k63ify5ZluacbU5U2c65bv4kydPLlu27P7777/iiivKlLME30fTnUDPgsJK7Wm6ceNGtBwIO3LkSGDZkSNHhgwZIkIwp519dTwBbTfVJk/alTWvi5whk2u004XGNT0ri/xNi7JeyR7Rxsy3+fqlPIvReImxQi90CzXc07KrcZajzdayHu0yG+ZaVIsuaHMy1vNcsLN0Y6UtnMytx4dl2Auu1LVpXtehEvC5ePHij370o3TJJcViGYXPnEunFX4qeC8yFGuUf/H5HgyAPylP5u5qffPtFSk342XcS6bN7Nev3NFzwbP2ACOjXtU7ZD0Q2STKgZwvYzmu5e4+eGDNhvXSly4WGzSgPmZcY416Re8m6wHoyaJzt40L1naF2LR1y96D+wM/GDyobtCAARERkeHiFC9YOYwgWpFC7EjEwROaZbd3tL744osVlZW33nbr8OHDaSjdsGEDiLB///4of+LECXxtaWlhUKqBSmCjxx57DHy5b9++Q4cODRo0COD45ptvzp8/H8SJwjt37gTKzJw5E5/r1q0DknLWf79+/caMGZNMJp988sny8nK0ZP/+/QDla665Bp+tra30Oti7d++vf/3rPXv2AKYPHz6MHo8YMQJlCEAoAPLG8qxZs0QuIeoLL7ywZMkS1IAFtOTmm28WysGXNkgdVYpDcfr0aRx38+bNqLyqqqq+vr6hoaG6uppsSsY9duzYjh070AZ0B81Gv6ZMmVJaWopdDhw40N7eDmIuKCgAKKP76BEO/atf/Yq8jq9Dhw4dP358IpH47W9/O2HCBBTGQGHorrzySozeihUr0Mfm5mYUwNDV1NRgYdu2bRjPxsZGtBB1oma0SlMvhGcMDPu8efMA6GgDysydOxfrV69ejdYSgtHUUaNGodc4CqrCJpTE2FZWVqIvN91005o1a9DT6dOni5yD7xNPPIHhHTt2LM412oDBoV158ODBOAR6tGvXrt27d6M2VIurAtcJjvLQQw+h/U899RRGCV3AIxCN7tnLOKce+jMxFGuUZykXAofvD9REhKA9k1q3ZRMo1ve8kQ0jMzJsgQhbCEweWqO+oM5IxpYKcyyzHsjkc0ebTm7ZvUN6gMWT13qeyXpg1EsKZz0Iq2vWAyuX9cBTj2H7Gvdv371T+EHUdjh5y/c9R2ZHyMbU4lxy+cwWZOX6ajqRbR09erSyqpKzr/iye9KkSRMnTiTtrV+//tlnnwX3AKFQw4ABA6ZOnVpSUvLVr371X/7lXxqVgEQA3AcffBBgCtRDyddee62tre2iiy7avn07sJLvx8HBYCNUC6r7/ve/D2wCJAHmwJFgOzQGaEi3UTDZG2+8AUgCxYKhwcRz5swBxXKWFWr43e9+B6KaNm0abYToHXANlIYannnmmYqKiltvvfUHP/jBZz/7WSBXODCtpebj46CPP/741q1bm5qaUBidQuWcIqYTrq5cuRKsjN6hI0BYjA9KguHefvttNAlfwcGgvcmTJ19yySVgVhwaSEdLJ3gOa1A5RuArX/nKZz7zGYwPqho3bhy4E1D43HPPsbWoGUfEobHL0qVLMUSoFsOFA2GU7rrrruLiYisXBw0c/I//+I///M//DCZGJRh2nCYQLU4QgyrgiEVFRSiMM4jCf/7znzGAqBD9AsU+8sgjKI9PbMVpEoryUfl//ud/3nbbbbW1tZs2bcIDgFA+0BgxDB3aj3ON1uJwIGwUBohfeumluAaefvppgDvajFOM0cMJ0q4LNAMHZ5OO+fAeAddQrFGeFeiYeQHj+DmWZze1toiI7dhOYFthLwKDA0Z9RVZ26nd2Zq9j+zKGBtY5ANeOTNr1ZOIDL6/xuo2M3q3OPclLm2u9wBeW055KZTwPaJvJuFFb+URmPDWbS70oV66ffEdcEI3J18Fy5r6ckJ6MJyZOmrRn754nnngCWAkMBauBnMA34MUDBw6AJgcPHnz77bf369cPpAigef311z/+8Y+jNnDYpz/96SFDhpCf5s+f/+KLLwJ9yGfYCyvBTAC1j3zkI8OGDQP8AX2AjyA8uqLOmzdv9OjRqJkzqABzpB/A089//vMxY8b85Cc/AXh961vfAneG/SnBSWgkmBgHwtGBbt/4xjewfOLECTCZyE2BYqRSodxMaZTlu+8tW7asXbsWjHv11VejtX/6059I8AzUhcYAoMFzgPh7770XxIbyzz//PHZEF9asWYN2fvKTnwQ4YuWKFStQFdiurq4OAM239suWLfv1r3+NvqMjQrk93HjjjePHj0ebMaTY1NDQ8NGPfhRDh0FmewCOwOWPfexjgFeUwSiBoT/0oQ8xCADhjw4GYMebb7551KhR6PWOHTsefvjh0tLSO++8E08aeORYuHAhTiUag9MEvrzlllvAzagZzxWPPvoo4yFwBhsdgukCi0ai8OLFi3Gy7rvvPhwL5VEVCqD7Dz300Oc+9zmcBdTz8ssvnzx5Ei3HlYA2fOc738ETiFDOFayWz0v0MznTNVbk3Dbe41+GeTNmlH9l49Llop8Imc5TKiLvJuaSMzIyMjpvAjcAUGxayJQ1NxFPJBNJLHz27/7u0vnzly5d+vnPfx6wBejBwpIlSzo6Onbu3AmaAUsxzhTYCwsbN24UChPvuOOOcePGgcywsrCwEJQG1gRjgerwczBr1iywIADosssuq6mpwRoA7pQpU1566SVyzOzZs3EsbGLQAx1JNByMCTyUSqX4lYFOKa7HSpAczZ9BLkcDEUrk/Hc5z4kBDfRQoCpQ4+HDh0G9ALIvfOELwNnwcGFHVIIyIDZ8nTRp0v333z958mS+u7/tttvQZqyfM2cOKtm6dSsji3FaG3aklfTo0aOsDcA6bdo0lkGFf/zjH0G3GEy0jV6knCr3mc98BsWAqqB8PBKAKWkax+DoaWcQwBTDiNrQIzQGtAqoxbMH+o5HAvA0zh249pe//CUeEjDIqAGnnnOwtDjItDrTVg1A37ZtGx5XWADlccrQNRRDA1paWsD0OAo4+6677gqfDn2+ONQ6nNZZETZfbgbGFmuUf5FZZewXZR7wLa8kWdjhpv2Mi+dfHVueMuZYoz6hgF6DXPaFmrASsawO4eEHMR4t8CN+USLpmGldRudF577u9JaIZadFkIjHo05EWH4sFs346QIrKh1fmc1LzUkHAx07cVz6cdkWU3rhv/aO9ng0Vtav37XXXjf74osBnaC6lStXglpAWvgKCgHdXnnllZwhBJY6fvw4EIpmXRpQaX0Eh40aNWrfvn2gusbGxpKSEuDUkSNHQHIf//jH+eaaTgVNTU2RnGh5BUuxKqtr7lYGBGAMLL7o5ydwCgDH8FW0UDIsP0W+ZAEelxXq/KgoA7bDJ2jvV7/6FYrdcMMN1113XV1dHZoHOuSEqptuuumVV1559NFHf/zjH5eXlwPlL7300vb29t///veLFi2ycslyDx069NnPfhaQB+B74403Vq1aBfbFKO3Zs2fYsGFoGJ0o9Lwr7AWQBXzztTvnVGHAKysrGVaWLIitmr/ZI2ajiCtxchUDtb799tugZI2MOCKqamtrw7kgxwcqwYGVC+Mapkwnl8AWW7HjU089hdr0NCx07frrr0cvvvWtb7366qv33nsvnlgA6AsWLABt86lA5/piUFjGxCUWd79iQ3rvfxmGYo3yLX1d+szhGRTGCiaPGdeRTnsZt6asHH+Ods610LdMjAKjviIr9y9Q87w4HyZqiZp+5eNHjMTNPB6NxgEExpHbqHfEPLKhoG9aOndXIB211cyunHVgSF09JzANGjBQ5fYKHNsRfjapslCmU1uxISjG8z1HYWIsGkMlHamOgnhBXUkdJ603NDSAZb///e/v378fYDd48OAvfvGLoFKAEQ4BoqqtrSXDWbkoTkLZ8wBP2LR+/XpUggVSZmlp6Yc//GHUSWgjuTLaqMjRqhXKaht2mtQpuAigQD0GLiUq6SQIDL+lc0fpCnXIUj01nhP2sfugQYOA5ugaSH3v3r0rVqwoKyu7/fbb+Z6d5UeMGAFoA+8eO3Zs586dTzzxBMrjKOPHjwfR6gQHaM+YMWO2bdv205/+tKqqCuWZB+u1117DSobWCnJpHUii2Mr3+Br1UC04WORCH7AjHDEdkozjQNLlUwQn6mFs77rrLnC25nW0DfCKxoO56SDBOmnZpecxmm3nsn8xiCyKgU1vueUWVMX5bfhEl1Hb3Llzhw4diucTcO3q1asxFKNHj9bp2fSpZIzbnpvRFZahWKOeEq/fiLBKk0UXTZ4mn6t9r7a8yvG7OrIYHjDqdf2l3F3SidCS4bbciG0NGTCoOFmE33hbBIlI1DHXrFGvKJymS08k6LZSgYPa6KtEshFn3IjR9YPq/UAUFSZsC7fbICIsMh1LZUOKBoFPKhLK6mmJltbWxa+/7kQiw0cMr6mpAcrg89SpU/369QO+YHnevHkDBw6cMmVKMpkE1gBtwVs6G5aOESvUW/g5c+YsWrSourqac6qwy8yZMwFAwCCsBDk1Njbu2rWLBMbd6Z3JFhKzGPZf5LgWh2Pu0x07dowbN+706dMrV65EJWgS0RZNFSEIDnJpb8PemTqDAFf+us4AACAASURBVDEXNLZ9+3Y0csiQIUDYxYsXo2FEN9TPHFdg0NbW1lGjRoHtli1b9thjj508eRJDgTaMHTsWRw9UAIfdu3ej2fiko+3FF1+Moxw5coRmYPqJhs2QGJMZM2YAnbEAxNdRF5gJQoTyfjFnb7hrHCUrlJOCkRP69++PkQd9ohJGjcAmNBJ9BG7iUQQrFy5cyLC1GMzjx4/zEQXtfP3111kelaBrYHf0F23DsGPAaZF96623sBIVopsYFuxOMzCeRjBcTU1NWNABa0UIbXtOhmKN8q4uWQ/w258sSAytH4xFR2U9sEOXtKEBoz6lXBgjGaNALnkymmZFWXlZWT9mPYhaEZP1wKi39S6yHkhY8HwrEhlQU+vmsh448rmsa7ak0BRxGSlW5qKRubtknG/P27p164mTJ7dt3wYWoY0TcAaamThxIqDtsssuW7NmDSCP77UBdv2UtNVQGz7BMWCpRx55ZMyYMQBEbAKl3X777Xv27Hnqqac41x6706+AEUwZiDTsRslX3kwkiyPyPfXIkSPRpD/+8Y9oCb6CyY4dO8ZZRDwuF3R39Xtznc9Wz47iV0DkSy+9tGnTJpAfqqqtra2vr2d0W6FgFwQJhkOBjRs3guZRfvz48ZWVlQMGDMCmpUuX7ty5E3Uy2BY2YegaGhoAfEuWLEHLsR69tnLZvLT1FMtVVVUf/vCHV69evXnzZia8HTRoEMYznCtLM73Otav7lb0GFNFiEx4zMOZoJ8aHga7a2tqwMHv27AULFgCsn3zySZTBsOMsg2JRP2AUJIr1eK5AYXQEWzFQGGTgKUYYJdFl5o9Fp/BwAtJFd9B9ACtqAOzSlRkdX7VqVXNz84QJEwDT9I7Q/rs9KkOxRvmW8rJSC9LOJR8lPbelvZ1figviiWiB1VlWykCBUR9RoP8/d2mCBdpTHe3SmcwWgRctLrMtk77LqHd1jqwHXVfz7XnQ0taayni4gqNRpzhZeNYrVZGcfLtAg6UkNluU9ZPGvNVrVm/YsAH40tLSArCbOnXqBz/4QeCOpWKygnUWLVq0ffv2ioqKK6+8EmsAWAAXeqySqBjSf/To0TNmzJg+fTq4kHlKb7nllj/96U+PP/44CA81T5s27Y477kBjOC2MMWhp1iVEahstvVdp0J03bx7WP/roo8888wxq/shHPjJ37lwAJY4O/gMFcvIZmBv4RaoGPo4aNQrgJZRXA5ZpHUQLQW9Yg7688cYbu3btGjx4MLASLEjkZYYFlBw6dChwGVR69OhRNOPrX/86KuHrePA0GoPCOBwag4FCRzBiDz74IDMCYIgwCAcPHsSwYHgxUIw1BqH+66677je/+c2zzz4L2EVjLr/88uuvvx7jxiBi9DooKiq6+OKLwwkU8ImhwADyAYBoiwZcffXVoEzUBtDECF9yySV48GAIXkDw888/f/r06ZkzZwJqf/7zn6OSG2+88cUXX3z55ZfRPIzYnXfeeeTIEbA1eoe24WQ99thjqLl///433HADrgTsgseSxYsX008a7cTg0xP61ltvfeKJJ0DkuGyI8syLli/n13eQ1dPGXqP3m6Rzt+dmwxzigcy2jrc0vb12dRp/bBl3wsjRw+uGaHOsp3DA7haB0xCCUc8ri6mhYJxM2SlUNKLA823Hwa9oxvI2bd+6bfcu6ezlOPNmzS0sKIgIE2vDqDcUnJH1QKgL1dezD1zXFjKtnFwpgrQQS99efujYEdyHa6r6T58yJSbk3C7HD2x1tQN62js6Tre23HrbrZ/+zGc+9rGPoSZG+I5YjrLqWWk16x9UFORyQXFKENCqtbUVgKJzWYlcei3Sp1ARA/AVJduVwDdM7kW0PXHiBN84g4ZBOdgEiORKnd+LBlomlOIkLazp6OhgrIAgl7gLX2meDCf64gQjtpbvtXEgUCDok8ZOBiig6ycPF3Y/5YwxvUaoeVR0GGVwAOxFeypwEOvZNT0aWIkKmZ5Xt4EJZiGMJ2ARREiPW46thnVGV6DXAVFSGzJx6MbGxvr6en0s8jFqYB41VILzgiOS1Lv5BHNGFy3r9NnYu3cvsPiVV16ZOHEiI0JwZNBIjj/nZ6Mlx44dQ51WKM9WoMIU0K9D5BxUOEQ4CmrAUfBMInKuzLjA8FAElMcTwvDhw+vq6tA1PG/gpOhK3qOMLdYo/5IzZJXwhOiKoLmj7Y2Vy9vTKTeTKSktq6sbgj9EfRcMTNYDoz6jUOIDoeLFirQI9h49vHzdavzsFCeTF02flVSvU42M+oJAYXbnGwT5b+vO7dt2yawHoxqGT5s8mRO8lAut8qqVkbwDQA+Aw2O6UfpWqp1lkmVbukuStE6dOgXKZNYrghfgAyuBKQQXnZKUdEgG0oCFwjoDKukHtWE96+GUL0BVWVkZZz4BpxhnCjVw2rt2IQUWa9MsLb6cBc8ZTmyAftuOBoenGaGq8vJyzZqoHDseOnSI7+4ZFxajQdcITgLTPcJQoP6mpibsiF5rUGa0ARQmt/ErAZdtYywt7IgGkH2xsra2Vs886zyDuQQBZH36BnATvSNQ/4ABA+iHILq4hPgcLktFGcMyc8aGbZ/yoUU9S2hcRmPQKawEc3MMae1GAbQZJ0so6zWD5oI4GbAsUIHDeFz6kxCOScD4ytxjIHU6h5BQWaCHrnwtQ7FGeVbnY3EgpwwEthV44sjJ455yNcQfJScUZAsbfjXqM/LVv2zuLvyM4RlM5uiw05lMU2uL53vtqQ7XN89cRr2lcO6urpO8OnN3WZzgJcu6ygR3uqWltb3NCoTMAiBjbFiuSitg5SrLZNIxxVuO7URkTK7O5Enynu3LfF9EK0AJbXI6BAGghF6tGqQ47V2oaUkkTpQB03BeFE2b9Fgl9zCzFN+Dk485YZ8RAwIVp0nHlhI5myjdZ8MOuNqxlQ0LchFPWRVbEqjJ+CIU6EBblzn7nlPTmCuBbdNTytgGlmcyM4wnDZ88BIuR4Yi87Cw7InJz0djOsPVa5AIycAC5rKdqWbkwWBocuTsHU/eUhQnxtLPqqXV60DgIus0a9zlRjB4R2h7MT54CVsgR000lj2rrKU2wRFV0kxP+yNycTkfv3rxYW99ZhmKN8ix9d5PzBaQHoXQixOOtiNiW7WQnzRgZ9TWFn6jkL0ngZ98S4A6OX3Yfd2jXc40DllGflfLmtmW6GflF+sUwAlcWbrQlT3Gq+qdS0ijHwizKZldmQ1yRafQseB2/ichFadzRBUhOnJiv6Yr8RMsfoY07snLNamFE62x5Lhp/2MrIAuQkfVzRNWJXN6dMXYDkSocEXV4HEGAzdBtEDtBJzFxPVwRWxUZqhOUyAVpHSw3XFm6tXqPbpnsXbjzJUs/u0mTJsTqzs3qBTQ1XiL0qKyt//OMfDxkyRNcjQmZv7Y2goZ9nqluzdU9Jt7TN6wOxzWFYp+giEp5+995lKNaoR2SpJF3S0VDeMv1EQUFG+NL/NQgsY4I16oMK27qyjmXymcsT0lMw4kRkvNhYgblujfqswKO+CGSSA0kYQBzbDdyYdBOwsrFnNZyd8TRGS62VvTt3AaywHZHL3SyLIoRf3Mo33dqeqqvSa7qVD5fRPCRCzBSe7R7GNb1erzmzbWc2knvpxli5EFfdagiDJsE3XEB/7ba7XlnQ1fXozIaFO9LNZtntqz4L3cbqXEEAzrSA6h2xqays7O677w7Xo5H0rLucdUjDLdccr9d3a6fuaU9MxDIUa5RvhS5YX7kX4hmyrn9tezrlZdzCaAzXnBPkAnMaKDDqM8oFi1W3Wt+3bPm21bXcokSitqIKCFAUT8Qc22Q9MOolhbMedI2LobMeCBrn1DRFx7I8ISrLK5pbTgd+AFjxAy+Q13HEUjm6yKgSfcz1a9RbIoLbOXUzkL93GYo16ill/estqyReOHvq9LTrBhmvvqomFgoZ6+VeYRkZ9ab+UtYD+ZOvrtIgJqzB/WvFpCm2ZUcdJxGJmsvVqHcUnPGc3y3rgVCerLZQbw1UrkTbFqMaRpRXVMgXx+XllsoEbuNa9v1s/I2uJkYjo56W9sHoocBbhmKNekrZbIfCKissvmjK9GzWA8Y26lrGyKhPSd5obTWPxHVtxx4ysL5uYB2zHsTtqG2uW6Ne1DsE1bb081ggcVY6bhZEJ4weq7MeROSzWJd3uCzWw002Muo9GYo1yru65O7ik5eMqc0JBV1DwxoaMOpT6gyeEQ6jYdFd0NL/zlfzjN6nehe5u3JrLHWBWiI7/cASZ/rAGhn1ooJcGjZOF8u7a6yhWKN8KxAeo2n5gbBtP/BPd7Tt2rvHDWTE7cH9B9RUVGmPAt/M9DLqS8rGmJf3XRViJuK4VnDg8MGDRw/bluPY1vgRY+LRqC3MS1mjXlI2Plb3VVJ+aA2jNHnC37Zr58nTMrVSWWlJw5BhkW4pZXKT1o2MekdWKIKYVh5x1lCsUf5l83q1rUDNNmjuaH3z7RUdmbSXcS+dOaeissrRc8GVg5d5RWvUy7LO9qI2yGGBmsst3xr4lu1a7p5DjavWrcH6ZCzeMHR4TFKskVGPq5NfQ7m7sp/6XQH4gGVUEEPcbzdv37r7wD7hB0Pq6ofWD7asqG8FEdyUVWxZc6c16mUxgC6DPOhgZCIEsu/RU9ZQrFGeJSckWio4sxVwIkJ7OrNp5/a07wrPnzhuYkbI9ImMw2EMsUZ9R6HEXXK6DH77PRlpyzpxunnn/r2e7xcWJFKeH5hr1qh3FM56EFY46wHw1A8YgYARjhsPH9q7HxQrkgUJW4Xr9j1X2E7WcKDyAvR+V4zetwK8MhucDqAbBtn3PtnLUKxRnsWnq2zuLhVD2vbtlvY2EbFltm7bCs52WzYyOs+ysm8GchHAbZWBNpCTuvwg7WZcmU1HOnad74YavS917kle2lzrBb6wnFQ67aoUXDIxlS3jiXp49LJsjcTSSdHzHdvZsWPHkjeWWCrFh2PZ2dgcXePFGhn9RekffXGGYfXYsWMgV6a91ebY8I6GYo36orJpOoT0i+WlLROcOMzjYl7GGvVJdct6ILJfw1O8TYgioz6vIMugObCQLlsq60GgLLa2isbf3HK6urr6F//93//vP/8TD2a+61q27aUz0nCryp3nThhdEKLZdc6cOcXFxczuy/y0Op/ZO6SoePcyFGuUf+lXBr4QKeEHtleSLJRZD1Ku8DxbOcJqmDVcYNRHFPJvYdYDW2Y9EG7EsZOxuB/4xYmkY0DW6Lzo3Ned3hKx7LQQhfF4LBIJ7CAWi7Zn2guj8YijPLkDX6ikoIlEor6+/v7/7/7TLS0Z1z1x/Pj+vXtb29pOHjvhe15La2tHqqM3emR0AYkOrzpNF3Pzglyj0WhVVVVZWRlAtrCwkCx75mSv9yJDsUb5lk79rJLK4FtRQeKiiZPle66MO6iiqkAIO+da6FnGNdaor6gz64GMvinUjdaKWfbAyuqpY8fj4SweARFETO4uo15SOHfXGTMR1RrLV8FfHfWOi9aBhqENiWQyCIIB/WtAC77wI5aT28FibsWm5uYhgwdnfP/UqVOo1s1kOjo6yopLPddNpVMZ4zhr9NeIsbRE1zzAAFY8L+GztLQUFIvPoqKieDwOrg3P8XrvMhRr1FPi5RwRdlmy6KLJ0+Xt2PcrS8psv9MQawvDA0bnQefK3aUXLUt6cAe+69jWkAGD+pWUylmLlp/ALdhcs0a9onCaLh2goPvKHOfKdAa+70Sd8SNHD60f4guRLCiI2lG6evsqxZdkjNzE8Hgi4be3AyZKSkqikUh7e3tHaVsmk3E91zh/G/1V0n6xOuwArqtYLEZ32MLCQvArP8G1WK8T0ubl6FbeI9Aavc8V6KwHKuWhb9uuCFzpXKBydwXCCV1xgZW9MXcNadib7TV6PyoILXUmk9PvBXLTDzNuRji2a+emeQVu3Io62SQIRkY9q/BEWCv3LwiFhAMFeC4uTzxg2YBY1/OsgljGwv3WIuuqdDNeFBex59uWnOElYTcIXN9LZdKnW1sBr24mk06lmpub3VQaVRiKNfpfiE4C4SiwBNloNBrPKZlMnmua13uRscUa5VsB8FX5Evi4j8q5Amk3c7K5Sa7y/fLC4uJ40uosK2WAwKiPKND/TxOXClxwurXldFurtMUKv6a8ynYck77LqFd1jqwHQbe16v3BiaaTbak0iiQK4mWlJd0rkW8ZrFjEkeGQgwBI4XteW2urTJsgDbqBjF9gKNbor5d2itUgS1SN5kQ3WVphjV+sUZ8WPWIVBtieEE3tLW+tWYnHfD/jThk7YdSQBu0X6xu/WKPzoXNlPejM3eX7klYj0Yzl7T6wb/OObZZtx53olXMvk6E2zEVr1PNiZCyd++CsWQ90USsiX3alhdiwZXPjkUOghIE1tTOmTosJrFbxjFToActxhAqDyNAxuKrTQYCF0tJSlJOOB45t58lIZvQ+Ee6XqVSKk7rCfgJ2ToxOQI9Y7RTbGQnGZD0w6lPCFRmNRHmBAmYzVtDc0bZk1fK2VMp13fKKqiFDGpxc1gPKTJYx6gvii1oV81C+rPVU1oO08PcdPbx83Ro/CEqSyYtnz02aq9Wod/Qush7YEccOZT3Av207tm/Ztd0WdrqtY8aUqbZlB4wCy/9T73xxK5YzF2Mxz/cjjlNWXAKQbT3d4mYyIBEnYijW6K8Qrqh4PK6ZVa8n12pPWfKrCrjZ6Xtg4sUa9V3JrAfqJYPwZfYj6aKF+6klb7VWV7uCkVFfUMgN0RK29N92pUOB43p+ezrl+l7Gdz3zstXovOhdZD1wZdYDu7WjPe26jrBS6XTUigmVrEuiqcjGkfU9LxqNCnUrdt2UL4PKZetNFhbajgnpbfRXK5FI0J1AdA1ZoM2uZ53OZbIeGPVFqZexPnN3BfKqjdCJ0OJDmG3A1ahPKuwloN6/6mBGgn6y6so+X607lzKZjFDtxQJ+SITKzKS35mv+xLuUTArl+5FIBNhEi4uvRqyXm/H+lqUnjON0EBGy8bXUleyrC9niKiGisWjEjzi2PEGJeNw2t2ij9yBtZNXAGobUbsCqqfc9ylCsUf7FS9O2HNwsPfnL7ycLCtKBL7yAgQvCtlhzyzTqEwqn3lQBY201D8aVYTasmBPFL32yIG73sawHekYFSDGdTkej0fOYYEybXkySs/zrL2U9kDm6ZNrkIBaNObac5yUfJ/xMzJKQSr9YwXMUeqiQ/GpnH9QcXDx/6VhGRu+sd8mmZnaXUR9W6L2Cch7wC6KRhrohHemUm3FLE8moynqQDS9vbpdGfUadwYzUqwRb5e7yrKCsqKh+wEChAnDGZDbPPuTIDXhlvmcstLW1AVy4/jyGUKQlJjxVmebh/E5Mfl/oXWQ9EPLFl8zQgTsq4BQDXVNd3ZHqQOHKygov8AJLeiNa2bo6034azxijC0OGYo16SlmfbssqiSdnTZmW8bzA9eqqa6KBpFjK49uu89lMo/ejzpX1IPtwJV/LquCawo8Ka3D/AZFJAAE7YluJaKRPuQ0SFoGJ+hXeefQooDeR9iXQFKund/RmYy4ABWc853fLeiBUQBhpS5XTD+QWxxajG0ZWV/XHcr+yMtt2fDnjy1EeiMLca40uPJmsB0Z5lsl6YNT3dcFkPcgGA/F913VjsRhD3kQiETl95zw1hgsdHR3AWbSEk5RzDpp9ZNj+NvTesh5I66uMCiufxORcRUt0oVhc0NrL2xZdgnn1lYvbyOhdyDwcG/WGrDPiGxoZGb13BbnJOrR0trW1iT4Ai7TIEmHT6XRLSwvY+vw2ycjI6IKU8SgwyrcC4XpuNsyhbfuB39TesnXHdtf3A9drGDR4UHWN9igIR90yMjrvymU9kCmMbNuxIo5rBXsO7Nt7sBFAFrWcKeMnJmIxpy89lXmeF6jA9Z6KoMS44gwX0MsWWXoR0PiqERYrk8mkcSf4X0tnPei6SsoPrZFBYGwrI/wNWzcfazqFXSr69Rs1fETE+BEYXdAyFGuUfzFuC19+uTJ3l8x6kMqk3Ywbicaq+9c4onN2V6CWzW3WqDd1rtxdfm6Bvi6+ZWcsd8/hg2+tWYX1yXh89Ogx8Vis9xv8DtLBwxmR8ciRI4lEori4uPfBMWwDxtFTqRTaBpIGyLa0tJSWlvZye/7W1cmv587dZdm5yFgyLIG8gDdv37Zr3x58GTZ46Ihhw2w7xh0s5Tjbl56/jIzyIPN8bJRnyTmwajYyc9Dje8b1du7bu/tQ4/6jh093tINrXUt46p9xyjbqO9IehwGuXtv2rcC1ZBz55rbWA0cO7T3UuLexMeMFQR975mJGHNpBM5nM008/vXz5ckZs7eWWMDGPCHnrYo3neZs3b37ggQfQpF5uz9+86MwaZP91TcvB7So8gVrw1WRZbDx6/Niho0fw7+TJE44lw3V3m2knjffm1mt0ocjYYo3yrCAnmfXAsoVjW4HVnk6JiO3YDo2vZ6ZUNDLqTYWvwFwkTeHr+S5MOSeJVk3q8oMMEMzzLJXq8yy1nSOVImP+8w07vVfz7rEqEy8pKyyxFV9feumlWbNmzZkzR4Rokofm11QqtWfPnn379jU1NWFlUVFRWVlZcXHxkCFDmIBHd4oYGg6YFXZR0P4D4WZwnhmWcRRCLcB69+7dv/jFL774xS+yGdpIjJLPPPNMe3u7UCwej8crKiomTpyIhUgkcmYEdY5nuC8iFGidC+FP7stehE8H1+hhCY9nuPtoOSOX6SNiBOitoRMRhRNp9qw78l/K3SVUukRhOelMxkMHAwyvF7Fl+32VRVFYqsH4gvabBF1GF4oMxRrlX9n0XUJks3aLIBqJ+BJoTcBIo76icGSCM7ZpRJJfZCROaZ21og5//NUjmtoexqMz6Uqv15iV917o5Fg8OqiLUFhQUBCmT50cAXC5ZcuWl19+eeXKlfv378fW/v37DxgwACz7+c9/HgvhykGZwFadAgpfNdVh2Q9lMiPeEWHT6XQymWxrawOMYlMsFsNXtIq2WJ1IHUKZ++67r7CwEEfHgUDSdXV1H/nIR2bMmFFaWqoxOkyW4SNykzY0YpnNCEISoWi1DKyLA7FfgFQZEhi3JjUXjSdIF8YCxkqvZ5d5UDoi65aEl/vA/S3Q46WcCHxbX+C6nee/kUZGeZOhWKN8S+WGkelhVNYDGWPL8suKittTKRc/G17gCBlsK/uy09xOjc6fzpwzk3XXxu+95Cfpv52yQDxOUSIJWCpJJCMKEQA0QS4wqlBfQTYRJWXq8giUZCCCkc5HkF+BEUFj9EDFgQCL+ER7sAabuF4o+yu4NpFIHDp06Cc/+cnIkSO/+c1vAhnBkY2NjevWrfvVr37F+AaoDbtrEywNliL3aNrS0kKka21tRe/Amlig3bSjowN78ShYZh5aJmLAvlg+depUv379UAkaifJAWxwLmx544IH58+ej5M6dO1988cUvf/nLTzzxBEo2NTVhLwAusJiNQY/osYDuoDbgL9vGkUcN2MpgCCiPZTQGh+A4aObGJqwhQ/MMogsAaBQAdjOjL9ajkSiGjmB9THlCcwyxxlL5fvHJuXR8ktFUnc+zG856YHX34c6uU3Fg6ecdtey0EEWFhfFYAb7H4wUZP+3YsYgT0VkPOq3I+WyokdF5k6FYo55SLuuBKI4nZ0+Znspk/IxbX92/IOSO7ZkYBUZ9RnrKl63sVjYXhFVXWTNj/GTQStyJJKIRYJSlcnWCbwg9USWRS4xEsx8RTShu6NFYAcuWLXv44YdXrFhx9OjRGTNmrF279vLLL8dBN23a9POf/xxcCCCbPXv2XXfdddlllwENn3766eeee27IkCExJWDi8OHDr776apAcanvrrbdefvnlY8eO0XL5oQ99aNq0aWDEJUuW/PCHP0Tl2KW6uvqDH/zgrbfeun379k996lP/+q//+uSTTy5fvvyOO+64//77Dx48+N3vfnfRokUnT5686KKLsJKMu3DhQhwXNZSVlaElN91009ixY9kFkiWageUf/OAHIFSQKxq2evXqP/zhD+gX1oN6r7rqqlmzZqEwKkeXsbWyshJdQ1XY/d577/3MZz7z+uuvb9y4saam5vbbb//EJz4BMEX3H3nkkcceewyUXF9ff/3113/yk58Ean/jG98Aeg4aNAi1YazQmLvvvnvevHk4NEYA5dHUhoYGDCY6O2HCBDwA/Pa3vwX002SLktddd11JSYlQAc4AuOfFEOvLZyQ5FUHk7qUjG4YXlxTjwq2trpHvAfpSqjkjo7zLZD0wyrM6ryflVODhB8zLnGo5zYRIpYnCooKEvqf6jMRtsh4Y9a6ys7jU1BkntJKpkixpi5UbPc8NHPt0qq21o922HMv3K/r1i9qOvGYV5NHzkka4VCoFAMIyeEsoxtWOmNqzM++gs3TpUsAZWA0HxeFaW1vBlB//+McXLFgAFAM7jhkzBmCNMqdPn544ceKIESPAdh/96EenTp06ePBgUCBbS+Prn//8Z6AhyGz69OnoDsC0ubn5mmuuAcMdPnx4/fr1wHHUidpAeKNGjUKFONY//dM/DR06FPWA+dBBoGpLSwt2ASmiYQDKbdu2gaHBiEDniooKQOqWLVtw0C996Uug0l/+8pcgQkD//v370QBg649+9COUBJcD0AHQc+fOReF169bt2bMH1YK2f/GLX4wfPx59wYBv2LBh2LBhgFEANxganSovLwdr7tu3r66uDp1F/eBpLIOeT5w4ceDAgcLCQoDpP/zDP6AlGChuevPNN3fv3n3nnXceOXLkqaeemjNnDurHjlg/f/58dBYcj2pBrhjPt99+G/WMHDkSTAx+ZVwzxjjL48ntnEIQdM16kHPglo9SnVkPfNf3RCxyorW5PS2dNwqi0ZKiIpSJWSbrgdEFK2OLNcq7Oh+MLJWBNhaJVpT1kzFhVO4uK/TcZO6WRn1HoVS02TQdjEeQjCfj8YQNUPBcx3KkU6wvnQT0hB7mqcIyxEqWbQAAIABJREFUs2e1t7cfP34cDFdUVMSX1z3XZjAWEOq2224DjwL4jh071q8f/tbErl27gH333HMPyBJ8OXz48Icffhgcdskll/z93/89ePTpp58G17quO2DAAKDkpEmTwJeoDTg7e/ZsAByqRRe++93vklb79+8P1EN3sMvYsWPBjtu3bwcK41gAZSxgKxh38eLFAOu/+7u/AwfjuPS12Lp1K6q98sorwZpVVVVAQ7Tz1VdfZYzbH/7wh//zP/8DCMPh6uvrgcXoCwYNhwAp3nrrrWgArd1oP8qgL5s3b0ZH0E6sxFcM/qFDh0pLSy+77DIQLUZg7969jz/++GuvvQZef+GFF8CaIFEcGhQLOP7e976HxqBtGBxQbG1tLc7UwIEDwbU4IhAczauursYugHh0HCCO8cSON9xwA8cTHPzQQw9xTVtbG2fF9eCJPkfFXVcH9C4oKSpJ5nJ3KadY/+w7GxldEDIUa5RvBYJTX+SEbjm9IOjIpA4fPyZtW75XXdqvrLDE7iwrZVjWqC9IBy5QfrFqTo9j+ZY42XzqZHMT+NUK/PoBgyLW2ed3k18PHjy4du3ajRs3jhs3DnQINhLKabKH/GJBV6A3YB9IDogJUOOrbWB0Y2Pj6NGjcVysGTx4MEgLa1DmxhtvBHFiR3wF/O3cuTOdTu/Zs+fmm2/etm0bEJMuEMwiu3LlyksvvTSVSoH/gK07duzIKGEZvEjT4/jx40HAdALG7rt378aaeDxO8ySnQ6FJ9ExgNgQ0gG4D9CXA4cCdGD3Q8xVXXMFpYQDKZcuWgRdff/117A64fPvtt9FTQOdFF12Erb/5zW+Ki4tHKqEjqBl4XVJSgjrBnWgSWoJldBBIyhYCcNFs8DGnmoFQsS/RHCyObqLLKID2YygeeOABbMIyDoqWAPFxaDwb0NMXI4Oj06VEKFfanji/WZ0j60F4tbpcbZDsoaNHWtQMv8JEorqyyhbmDmt0IctQrFH+JWf15u6wngia2lveWr0y5Uq/2IsmTi0eXqLvvr5l/GKNzr+y8Nr5olbOZZK5u+yIZ3m7G/dv2LLJtuxEJFZd3b8wViCjbUh/AylCGJgMULh169ZVq1a99tprmzZtuvXWW4cMGcJZ//Q96Albnauk4yFw0j2/MjCW/sqjYwHsdd111wEKUbipqQlIt3z58t/+9rfz589nBANOe6KzWX19PboAZARKoiQYnZP39+/fTzdWVKvjczE6FdgUKIkasEC2Y3QtZkDgJzgV9XBC2Oc+97k5c+YAChcuXIj2YBPDC+AoQNulS5cyuBXqKS8vx5A2NDTcfffdGGRsAvgCba+99tpkMkkmpnBS0Cp0FisZg0yH1GV0Ah2eDEfBENFxmV2eOnUqasOYvPTSS6gHOHvLLbdgl2PHjq1Zs4bNZnkwN2rAeNJTNhxELC9i1gOd++DsWQ849BbjZVhpITZu3bz/cCN2qasdWFHRz7Ei2XIm64HRhShDsUZ5lpy660SyE5wlpwYtqfYV61a3Z9Ke6w0cWDd8+EjHEmHDhZl9YHRe1O2q80M4K2zhWYFniYzwD544unbLJj/wSwqSl116RTJuS1utCgUAgW+OHj26bNkyctWOHTsKCgoYhJXhrsLhnPLeBUakOn78OFgTxIYFZn8FR9bW1gIKCwsLwYVYAPAB7NAkACiaB1ADiuGzX79+aOrPfvYzwNmgQYPAcLfffjt4ESUZWAA1/PGPf3zsscfmzZt33333oXBra+u3v/1tbYZEzaiEQRJwCLQEA1JVVaXDctGtgmTM8FVYj9ZiL/oT4+uUKVOw+8MPPwycnTFjBnZBG/Ak8LWvfQ0twVdsRS+wgGqx6bOf/eyXvvSljRs3fuc733nhhRduvPFGdIexCDDgaCGdJQDrlZWVzc3Np0+fRstx0BMnTtB0jcYklbASh9BDiuGij8Sdd9556NChr3zlK3VKV1555de//nXUSSBGzaiB4y/U44SOV5A3aYQ9wxabdZDFperYDGOMsirCsdi5d/fWXTtsXwQZb87MWXj6CuhayyoDTcTmpmt0IciEPjbqKUnvQeWnJTz7xOnmdjcNLJA+BqTbHDSY2YVGfUe5+TRWYDsyRJz85rhe0JZOtXR0nGhpdhUF6OBZIL9nnnkGbPeFL3zhgQce2LBhA9gRrIOV3/zmNydMmIDinPLVQ2+chw4dikOsXbsWULVt27ZHH31069atOOLAgQOBpE8//TSaCoBbs2YNeHHixIk7d+68+eabn3zyyX379gH10H6AGpp90UUXgSlnzpyJwsBx4GBbW9v27dt/9KMfLV++/NixY6C0BQsWoE5wLVgTK7NGQBVTjOFU8QlARJlVq1YR8hj2i5G2hEIoIqnIxXMACmMNasBKgOynP/3pH/zgB2gSdhw1ahQKoEcoiR6h5f/93//9/PPPo7Xf+9730FmGGAOGVlRUYHfANKAWPcK+IHVUAuIETE+bNm3Xrl1YgwKo5I033rjlllt0OlzGuMUCEJmtWrhw4b/9279hGDEgBw8eZAdxWgcPHgyUR7XYpbGx8Q9/+MPvf/97jbP0lOiJU5zVue+VehKYq1y52trbpUXczaTS6ahKP+v5bhCiWDf3+GFkdAHI2GKN8izGlVTTswMhb+uR7Is225ZhC3s9t7uR0V8tS/BXX8XPwJXs8zV6vDAbMAv8tmH9hieeeAJQBdAB5BUWFl6jNG/evLq6Oobx11ZYnRQgnBMhzLU6oAGlI9EKnUMkt2M44gF0/fXXv/zyyw8++OBXv/rV6upqwChaggJAQJDfz5XANGPHjmXbQHsf/vCHQZkAsuPHj6Nh4N0rrrji//7f/wtQo0kSFPuzn/2subkZiIz6GxoaSkpKUPhrX/vagQMHgIaTJ08uLy/na3SCKbbSuIvj3n333QB6wOjJkydx3JtuugmDgAFhvzgajOcK4qSRleMTj8eHDRv2pS99CYiMwkDq4uLi55577rrrrgNiAiKvvvrq6dOnozBYGf0FUAI0Z8+e/YEPfADMDbzGQXEuAOIofOWVV957771o0l133YVK8FABcAe8XnLJJZ/73OfQfg4gnS4wYoyZBWEYca7vv/9+dBYjMH/+fIwbeo3jvvLKK+Bs9Kumpgbrr732Wuyow9ZqWD/rSeSTz1lPYjiNAu+Wnc4nWI8d/dwbK3UjPfOC9WX9bsZz7YJ4LFagH7S6OLFw2UQlMrqwZCJtGeVZvKKYNgf/0pbYdaTx//3igZTvCs//4DU3zrvoYpn4IFde3pmDri8FzJsuox5WoGduq0hbWR9uS1u7Akvm5wp8y3at4IVFr762ZJGMou9EPv6h23du3LJs8Rtvr1y5bdu2EydOgIfmzp0L0Bk9evSgQYPAN/T+1HmndGYpEcrzpImHr6HDSb+EQhB6suqX1GfdkQ6j+/fv3759Oz1KAdBYBncCHwFzW7ZsAdW1t7eDzLASnIrye/bswSa0HOtxFNAnWK2+vp6VA9FAb4cPHwYXAj1RT//+/RkGa+fOncC7RCKBeuhpgP6++uqr4FQ2kk1CmTVr1qBAS0sLKBOVAxNXr14N1sQC/RAaGxtR26xZsxYuXDhjxgw0jyPAYGG7du0CW2NgQdK7d+8GrWIl2jly5Eisp10WK+VzheoyVoLL77nnHlAs59iBVumUjC6AldFlBh8ANKM748ePR0veeuutsrIynDV2HMWWLFkCjMa+4F0+nKAw1qC/2BG7oxJswgL6DlDGoGE06JDQ7fwKpsZQ/iTE2fAmorwesXPuiP8sla1ATyTwfC/wcGU4EUeoy8biPFoRSA8C3+vwvV/+zyM79+0G2I4eNvyOD3+0wI6iiqiw7CB75UsXbenXbZlIW0YXgAzFGuVZ+noKVLzYtBU0njj2/MsvdqRTbsa9dOacKWMnaGzl7C7bxIs16l11ixfbfXaXyt3FjAWuJZauWr5y7dtgozUrV/Uvr9y2YdPm9RubTp2qqKiYNm3alVdeOXnyZKAP4AZ0yKlUQJOqqipAXklJCdYDfUBd4BIQDwoAnviyG0c4evQoABHIyFfb4CFsolkUO2Iv4BTREJ84IjYB71D4yJEjqJa5FZh3CtUCGVEJmgECA49ql03sgsbgE/UAxVAtE3ShMdgRFAj4RttwRLTn+PHjzM4K4YhoD3rBHdEYMDoOB+YDVoLk0HHUgF127NiBIWJTwXaASwZMAF6jg6hWzzMDAuKI6AgqQVOBmFjgzDCUATXicCiDTYBdevqyj5WVldgRR6R76969e8n66Mvbb7/905/+FGCKfTEyaCqOyyll4EX0Ak0FUoOG9bkQyjeXvUAf6USBOlEzIRIF0AuALLqMHdEFwL3IZfTFaDMSAtoAZAd5sxdoDLrPIcWOAHEMGppE2zPWoBc4HHqBkliPI9IajXrA3Dz7qB+nD90/cfKkdKhIpWKRWE1N/wE1tYXFRe2p1MEjh7FjoLrnCKu0pGRQfV1VTf/TmY5nX1146OgR27LrBgy6Yv78mBWJWjbK2D5BNWceNvFijS4IGY8Co56VvMMmC2dOmYa7NG649dU1kUDY2uRlcnob9QHlftizV6OlIsvLTLPptB2JDK4dCNzbu2fP79c/tHDHzpamZt/zkokkcGTu3Ll33nknWG3JkiUvvvgiSI5WPazBpmuvvRZQBcR54403Fi5cCI4BJwFKRowYcdVVV1166aVYs2XLlqeffhqcxx3BMcDia665BgwEnHrllVdeffVVEi0Ib+LEidgR5IRK1q1b96c//emkohzsiwPNnz8fDFRcXLx169YXXnhhzZo12kgxZcqUq6++GhSLQ6xevRpHREtIsaC0BQsWoFo0Zvfu3Wgnagbe4XBAyalTp6I9qBw0tnTp0meeeUaHF6ivr//ABz5wxRVX4CibN29GneBRodAQ5S+77DJUi8qBoYsXL8b40ISMIw4fPvzyyy9HL4CtOBbqBMxhK/N1oU7siKMDN9GLVatWsRdoHnqBxnAmGXr3+OOPM5kt+A98yagLqAd499xzz61fv56mX2y9+OKLmWcL52LZsmU4Ik2n2ApOxRFJnNu3b3/yySfRFx4uFouhnThidXU1EBYn4s9//jORGjWPGjUKW3ENYEccC43BkwPdoNFCnkQMOBqGCwPdx0kEl6NOPPmgg3jywTACvnFEDCb2wlecPu4IDkb3n3322bXr1uIKbG1pSRbE58yZs2DB1SPLRrZ1tL257M0n//Sk53qg5qjlNAwddtWCq+ZVXh6zo2NGjK4bVG9ZdmlxsW05WUNuwDkK5m5rdKHJUKxR3tVp3lehCu3iROGYEaPwzVFZD+yQ9d84yRr1HVmhC1K9dbVTHelowhpYWwvKKS5IRC27o7VNhpIVFoM0gTzIgqBJoAygBPTT2trKN9dMOsW4VCtWrEAxWisBT+BR2jtBOSA58BMBCAza0NAAIEPNAEesX758OWoDdIKWOAWKb5wPHDgAkgPrMIZXWVkZuIr+tdgRIPv666/TKxdtAI+CgRi6FUdEnWgkCwNGmd8LhUGc6AJolT6vjLTAeFhoAOrkJtYJJkNjhHo/fujQoU2bNq1du5ahx9AkdB/siHHDGmxdtGiR3hHtBxyj+2A1QDwag15wchjQdvTo0Rgx1ADi3LhxI/iPs+joXIs6ae5lGgKUod0UgzN06FDaZcHEOBd4cqAtFp+gQ/QXLcEnUPutt96iYwPqRL+mT59OMzBOE6AZvWAUAhQYOHDgvHnzAO6oFo8o6AVttDgcakMvsBc2YUfshTNCWyzQduTIkXTYaGpqwrjxJOLoYFmcYoAsqR0dx4BjJGlTBwez+3Q13rR507Lly6URt60tnkhU9+9/0cyZrue1d3TgeWP5ihVeOoPRj9mR1ubTo0ePwtdoIj582DBfPo7Zlggck/XA6EKXoVijfCsQ+umfLis+7uzSCQz/48wFx+osK2XsA0Z9QaGsBzLQqCPnzjuWTNnlu/jPCsorKgYMGnTs8BE3kykpKdGRm0pLSwcNGnT11VePHTuWE+rBZ+DU8vJyXP+gFnASczvRhxLgOH78eNLe8OHDb7nllqNHj/KdMuqcNGkSMAh/KLT1Yg3DUTHFK/AICAUGGjdu3O233w565pt6lMcmEh547oYbbgCBAV7JVfQoRf0oPGHChE996lNgLE4qQiPRGMLZkCFDsCPYFMWAVljJjAakZDSGU6AYdQGECuQiJmLhuuuuQ5exjH4BOgF/VVVV2MoJWKA0jAPtzegyqsVXNAw8B84DtdM9FEeZOXMmxhP1oMHXXHMN+wsux77oMniU4WBnzJiBVoFB6WCK2oYNG8Y4XCNGjLj++uuZeQFNxRHRZToGcEixI7EVB62ursZZI7aiFzgXqJlxuFAMy2gSe4HHAJw71Ek7Ls44houmWTwGfOxjH8OVQBjFiNHJhKbuyy67jE4CtLWjRziPDMvAFL44F3TwwJDi7DMncF1d3dVXXzMSTybqQaispGTc2HFYiUYXFRbKWW7yKs04OPN+UFleMWbMWDTOkzlpPVd5YuM+azsMFnt+/qCMjHpBxi/WKM+S/m2emw1ziBusbZ1sa96weVPGk35/o4c0DKkdpM2xnsr0aRm/WKPeVTe/2M6V6tqz+ezl+0Lm7rK37Npx4MjBWEFs387d40eNefG555968sn169YDPjj/6c477wTCAtr0vByh/hA4/10oT0oa/2jho+GTkfNBNmAUHU6VcZ0Y3wC1YSt2JO9yR9ZJHKSzLD0KsMAI/ASytBIPQWLjDCSSK0rqPAgywLOy8pLtGAGXGRNELtorbbrMIMDAqEwcgDpbW1sBbXwhLnKBq/CJTZy6RBMsCpChmcaMXWCXma0gHLdLqFn89IUlhuKpQCjTKUeGvUAb6BeBlZwGR0cIkZsDB/GIQE+0hyNDIzqW2QXsy6ZiF9QWPn0orEeG87E4Pmw8u8OQwDwdbH+3k8hwYNiLc/7YCwo1pJR0NAMGtUBJPvBIYz+OEo0E0vwvoo6qM+JIc6zcmIpFY+i2cHG/tQoSCZRsD9yVG9edbG7GXbSirN/4MWOjwo7h4gqYX6bz3mr8Yo0uDBmKNcqzVHSC7GxYxijYd/zwo4//jrO7rr30qllTpjs6KEEWGkyMAqNe1Vlnd/k6RoEMGBuk0iknFvVt++U3Fi1evrSgIF4cT3z8g7e7be2HGxtXrVz54osvLl269PTp05WVlcOHD589e/YVV1wxdepURpXSkbPIQIRRPZO9W+ACWmrPuonLOvOWrlPvSIIE5+EQGn/JiASybi0hfukAXt1ifmFf8ijTwBK+w7PsaYilHwXf4JPP+JWYGE63q8GdR6TZmGxXWFhIH2KW4V5kZQ3rbA8pVneBKMwK2UgGW6BbApsaJmM9gHpI9eQ2K5dXjL1mDXxsIP2L3HQuPiewnd0OofUOJ1GH1jrrSXynHS07947AZ7ytwJaRjH12DYPgeraw8HzjiaAjyDz2pz/u2LMbwDpyWMON130gbsfQXDO7y+hClfEoMMqz1P1YORKo+yzu0PgV2n+4MaOIoS2TVmEMQ+XPW0uN3u/qlv24M/yWhZ/4wIo4vmVnhN/upU+2NHtNp0qTRYHtVFRXVVVUDBo4cOzYsQsWLFi5cuXixYtXrFixffv2N998c9KkSZdccglYtqqqiuZMjXF0ou0SDTQXH5TuBJqrtHGB8EfkovQmK5dDlXtpNg1Lx+TScZ1ocNXGP81w4TpFzqYoFEiFI5uGbaXsGlMYhGvg4Yh6OmqpZlxtD8aObInO3co2E751q3QsKu2CHMZuNkN3XPfUykVd5V4cCt0G1smj6305mLpyKxS3tdsIhM8p7amMOKtpNXwSWQ/h/h1Oot6xy4Vh2YHa07GdnNt2QMcX23GsrPdWkL0AhI+nGWw4dfr0yeYm4QfNTc2OFZGpkn1PorDIkrGMzhtxzK3X6MKQoVijPEv/gvryNZgtJxkEdirjiogdwc+DbelMM8LcR43Ot851BeLpy45EXJpsgQiWcH23paPNE/LCjjpOTU0NOHXChAnTp08Hsy5btmz9+vXr1q1bs2bN6tWrx48ff+mllzISKivkq+3sQc+ILWp1DSt75tZz7ShyEWcJiBqkutUWxiMirAZWjY8aEMOYFQYvFiD2ndkMfaBulBY+ugY1HoU2V22gDVPgWe3Euk6ra/hV7UWgt+oQvBpAu9ll9YhZOR8AkUNwHcA1/KJfdOXabp06s4XdTmLYGHzWs3+uHblWL+Uy0nYbcVnCl0CLHkVc15NJE0GreLCx1cj49CdQO/syqaIQPZJJzsio92Uo1ij/0u/FssvCL4hFXXUPtowDi1EfkA5HQCqwcssWnQrU/5hqXv4ngxRlnVlV+qROuCkuLp48eTLtr8uUQLEbNmx47bXXmpubBwwYAIolMIWpSHTFGnFGMqdu0BN+Qd9tR70pTHtnkp9eYylnVn3Qs9YZ/qrr71ZAhAy34gxrpd6rG+Fp0ym/0o4bbts7oGF4EM5ss27VWYfxrE2lpTzcNb1GnI07z2wDa9Pj2U3v/iSGz1cX7seVKa82O/Tcr94fhMaGGC6yCB7BUxZI26Yh17a9wLNlsILOrF1W11NpZPS3LkOxRvkW7p+8KUunAuEKH/fT6n4V7SnpFxuzpHGgm1+skVFfEK9JJjcSPq5bJyIs13ITBbHyklJwaHE8qZIp5V7l5hw9obFjxw4fPnzBggVr16597rnnFi9eXF5eTirSPpdhSDIy+suyGOglu9zN+yW7TsWBVd4FMtk3brllxSUlhcXYWlRU6PqZiB2LSPcDK0uxth2xtR+skdHfvAzF/v/snQecHlW5/6e9dXvJlmSz6Y0UQggpEHoVASmCiAgiyBUUrojX8rn3b79+9OJVL6IoIoqgCIoUUUBAeg0lhUB62/Rsspvt7/tO+f/O+b1zdnaziSRslpTzkM8y77xnzpw5c96Z73nOU7TsK8mbtZlGSSo1+4jpmVzOz7n1VdWJSMhYTyoXNMpqGWAJIhuR9dooyHKUBgnDHDqo5qhJUy3Ljtt22olZdGAPrTaN0EoyHo8zY9MxxxyzfPnyiooKKmKphR3gC9RyEEiQXxHoFjPc2T2AxQTJFJEK5IqBZRpjR40uKS3BV9WDqkQYLkPaDwQ664GWg1N0jAIt/SzRZOEydJGZ8b2OTBcXwwpi8aQdU49Sn9FfdKQtLQMrQWSr28rFDKFB6GLF/0XkTdvq9LJdIioTeNQrTRU6wtpb2heGeEqveeX1n0gk6DlEWwK6EwUy4ZNezNXy3qXbhSAfJ6ubYvOpkkV0WFcEKDAx0jzX94x4rC3blfXEszdm2Slh7RDETUtH2tJysIrWxWrpdwkiVCANwmy7QMTxNi2ZuytqGqufllr2KzHV/7u3DBGVM4apl+UHLt3Go95IQUQpqxyMGItURSTY2cpTi5Y9kF08KHvvFqhqJhNJx6BRt1S/atsBLQe1aIrV0t8SGJ4vg934Yn3LD/z2TNf6zRuFdsDzBldWVZaUKYsCf6doR1q0fIAS5u6SdrGYdtmWbxpbtjVubdpmmbZlGqOHjbR8EaMgZjm9POVpV6AylEb92VVgpgG/IC0HvOwclkA9MaO5ZYU/l409/tr161s62gMjKC4oHFI72Db0E1bLwSyaYrX0v1CRJTxrTRM8u6Oz/dW3Xs+4OS/nHjNtRmlpmYpVyAVc/YzVMsCiNFR9xoul75aMsGm7prtm47r57ywCJKRi8SGDh6adGG2xojHqlV6WZgbJZJI2BqpyEaRTU6yWPZFufo0s9+f/qoFryeCFJrMjWK5hvLtsydqN67GjfkhdbU21YzIJrWn60jxB27RoObhEU6yWfhaaEPD9LWNtBp25zPzF72S8nO95o0eOGS/NYaPv80CDrJb9QLrNEE0Z5tgMXNMAFmzd0bR41XI/8AuS6TM8ryiZyjuBhWlIVWhS7mFEgl4RW7VRgZY9liAE2Z10sXkDWUOE5DaFpyH+CZUBHrlr169btnoF0FYYcIvvLXzfnWaZsYEtvQam5SARTbFa+lmUUsqn/aBpm561o73NcCzbsmXuxG4rAnOnAyl9Rv/utYC783n7dJ2JVsUyKn77rmqLftWrWBRNolHWd67KlJHbVQ3/0q1n91e3m8vs1dpdtTN6bPSQnSuMxorvpWvcuXyvU5i7yMz5XmTnZvTaGW3Mzs3o1XvR1fyd71EfzTPzrt9h7E3LFzE0sM92vaArl3U9z5X6VQxsTwZAQi/1Uq8SZDOZDLYTiQQTRNFGlgldtWjZS9l1nhilrvUC3zDtzkxXzvOswMhmczFbROT1PTewRA5aQ3oleq7rxHXQNy0HiWj1gJb+F6qjPOmvLT6b+aDuImyhubshJ/2+/d47w2zprJnZGrmHDuAs09nZib/MKQ8BSaijKPiqpaUFG11dXfwKxbCzV22KdQAf3GZtPC/O4oaCAvjIwjxpIBNdqvN2SsEenpdxQ0lg2EnWYepRhf5oTyATuPN0Snggs89jA5cQTS2BGrCn1y1AYW6zSaiZXaR6A/vxt62tTXUyG9CrKnUXqGLEt7x8dl30dCyA7R07dvCMaK3aGe3hIEyOijI8VrU2esZeYKr24C+6lFWx59WVsma1B9LR0aGUo9H9ey2WKeZju9KtYn9Kiorwj22NsFq0aNGyL0TrYrX0v9CvxZbLW57QyHrF6YIuNwsCBY5ZcvKkEOA9quyAO0x9ROghrMRiMaYyxxkBCmpV15D0oNRvRCXiRXt7O0qSMBgLyZCMSEdyQiSqZa4d/AUDMd0RygDOCgoKFL6oJOw4ygyzqzNDDxgLh8TjcQJ9YWEhm4FvSVr0/gHkMRI+gQx7mJCTgZlU4nWei5yHE7W2tqJCHkstIw+k5eXOykt2EVtrhPnouY3CaRE+QmyweawTaItttJ/7WTO+QpN4UdivWr527dqqqir2P9m0qKgI/YYeQJnEmekXAAAgAElEQVQOKZWVlTwvcVxpMVEAbK0qV9prXojifiPMmwqGRj+gfvQAKsGxHGzYj1uDMugWdoiyQ+W9w1UwzRJrw4HiUqNpCLqTdIrplCEHDE6JIYthkowlfMcvTKbtMO1Sr3G7c56nPj9q0bKXsutxpL4R8baMAHMmPBbNwIjHY1kvk7TiYiCrrAf4ce2UgUyLlgNX7G9+85sfdBu0HFwi0hjIFz1NY80gm8t2tLdXlpZXlVZMGDl6cOUgJwhB1syHmlcL4d0RjsKFY/WR6kPsATb95je/ufvuux9++GF8HDt2LMiGGKfSvlM9aYbCpO3YA5AFnyl38ugKuwqNZEitnhHSLWAIG0AxBcoqDiiqUmVUbTgW+6Px8PFRYJPj3HLLLVu2bBk/frwRuvtQP8rCVPryWKVmRgHSpGqh4lF8pCpXYR+EamNehaqcDUPhhoaGG2+8ccaMGYRR1oNuYe/xWojvrJPozD1UwXLmoNboSau9Es2HpGewtRQqa7H/73//+6OPPjpr1izMKJiDlHdZ3Tsj1Kr2yk2KS3v66acff/zxSZMm4V4QYdE2HoXCuBDVNt4j3gsztFtVsN7dYz2GbuiZiK72A5HIU3z2MW3AXKymclBtZdXE0eMSMcfSPjJaBkCY3UDl7lIxY03lF2sGnp/37JJDF4+Mbc1N8US8srxiaF3dsPp6DHrHlEOfC2P5H6dpRFInmL029ODWcuCItijQsm/FNsySdOHMI46cc9Ss42cePbS61g5kBlr5r1e+gygARa1OFcOBPLZu3XrXXXdt3769vLx82LBhJSUlhFdVWNGYEWrCFPyRDo1wbZqqPqppDWlCQJ1lFMWoJcVGU1PTTTfdhLOzqW+99RaawROpFipVIuCMqKSQly156aWX3n33XdVaI0Q3dcksTGWzagkbpiKPRtW3ZqgDNiIsqCYArC26Lt/W1nbfffdt27aNO/0w9KkR5ojncjz7ygjVokYI9KyEnaa+LS4uVvppdaXEU9RmhupeXg5k8eLFzz77LOcJwPpVq1Yp9CS8Khomyiu0xVdLly597rnn2KQ777wTnen3jN7KOQBk+fLlt956a1RFquhWNNvJk33UZMEMVwlABJZIciAsCh3fHF47ZPa06UdPmzF9ytRkLKYfmloGRvJpuiL/DLWtnBE506dVrOtbRjBh7LjZ02fNOmrmuDFjLdMOOMYDmdpLT760HHSiVxa09Lt0Q5OENSudSI2oH45Ptsx6YEXAIQoEwut2Fw9ZAgdZZ9OmTQ888MD//M//TJ48GSBLoOESvEIfKiNTqZQhqY4WnHIBOUaLUkWNyvJV6R25kxCmEjLhwObm5u985zvnnXdedXW1ISkWOHjppZcqXyhlFaCYmJpCGhVQ96muiKYIaEwymYwyOk0OcCzKk0EZs0kdSKpTmmBFz9R0JkSqnjwZ8yOZXmkruXDP9hihOSyKdXZ20gBAYb3iY9VXVAmzQqUlJfvyclRhpfskqrLBavle1Qy6vfnmm0eOHDlq1CjVGLaTl2xGXLJ4vTSA5mWuW7cOUK5mIxCegkcBcH/+859fd911tDEwQ/sElOFd73OsmaqFlrxAYIFtVZZVlJWVM+tB3NSKWC0DKlTH9jnkLJnEO18s8DG+LSdeVzPYDbMe2Hn9rBYtB61oitXS3yKDbcqNgGE1Xd9tBzuKD0ZhPJFy4mZ3WSE7P6CjhgTcAMGA+RobG0EnYoU3CDZv3hzIbJ/42NLSAvQpLCwEYoKNtm7dumHDhmHDhm3fvh14V1lZCd4Fhm7cuLGiomL16tVAIuzBse3t7TgWNdfV1RUXF+N0OAVAmWyEj4MGDSorK8POt99+G4C1Zs2ajo4OfNXQ0ICjFi5ciLNPnTqVJgdKP1pVVaXIGG3AqbG/oKCArlRkQbIdPqIGFMDhtMpFa4uKirgf51VKxJKSElr0os6lS5cqzWtpaSlaiGOxc/jw4TgEnIcGDB06FPVvloLDcXaUJOJDcCG4dsIlStLggavzKIyPqA19gm7E6Wpqampra7Gxbds2djUNkdGZ9FFD+3FeNAmnQDeib5csWYKjcFIay+Jc6LERI0bQepWmFCiDZq9ateqNN97AJePeoa/QD8Rl9AM6XylZUQkp3wwzY1122WUogJ7EUbjjqBCnRqvQG+jnFStW4AbNmzcPLUS3oKmBdI+L6vv7Grzdg5hDMzCNrkymM5sRjomBFyssyVsaaNEyYLKLrAdBr73CaiDo6OzocgXcxh07nUyZRl9PWC1aDhbRFKul/0WsPhvyEWtZIutBR9tbC+fnPM/PuZPGjB81dFh37i4zkrvLzIei39k5ncwB6Hz66aevu+46INGll14KALrpppuAPvfcc8/cuXMBLqeddtrnP/95MOUTTzzx61//+vzzz3/wwQcXL17885///IILLrj//vu/8pWvXHvttXfddRdqAAONGTPmxRdffP755wE3V1999UUXXQRSfPTRR3/84x+vXbsWVAR0+7d/+7dzzjkH6PyNb3wDPISjGP2Ayr8TTjgBDXvooYe2bNny+uuvA6fQKnDh9ddfP27cOGy//PLLf/nLX1577TWg8+TJk0Fsxx13HF3yQdtUEC5atOjhhx9+5plnUAYgfvbZZ+Oko0ePfuedd9BmgCNh99RTT8XphgwZAvi78MILgdoAu8GDB5911lnoDdAhNv7jP/4DR+GKjj322Ntuuw1N/eEPf4hOQ8OApDgK14Kq0NTHH38crUJTp0+f/rnPfW7OnDl0tKILFBBwxowZP/3pT1955RX0LZr0ne98B6T4i1/8AuelixX6+aqrrgIy/uMf/0A7cVLsnzJlCprxcSk33ngjzgjupEUE2o9is2bN4t1csGDBJz7xCRA2iqVSqVOk4Fa++eaboOqTTz754osvBnoa0iuOmmlDKtRxpfiIS/v0pz99zTXXTJs27ZFHHsHtxh6UP/zww3ErgcVoMKYBs2fPRk9+7WtfO/3008HW1OZS0WvtZBer4nIGUi0sCjgx1/RWrV+7fPUqNCBuO8fOPAYdpINtahkA4VNUGb70nfUgLGo6YrEraxgLl7yzqXELDqkeVD1typS4znqg5aAWTbFa+l9idn5cAb5cI2jp6njpzbkdmYybyxUVl9QNHWYb3VkPgveW9YCr1WeeeSbQ6qtf/epf//rXyspKwAq48Nxzz/3ud79Lxv373/9OLy4gF4jnJz/5CfYD4ICtwFzsATveeuut2P7tb38LPvvwhz/8kY98pKOjA/w0YcIEYOJ55513/PHHowZQCxgUtAdsuuSSS4CDgEUAa319PTDo3nvvfeyxx37zm9+g2FNPPQXWBIQdccQRqPmf//wnKr/iiivAjhs2bEDzAJdoP5oKtOKiNl2RuDIOCsThX//610eMGNHY2PjnP/8Z+PXqq6+CILEH5I0yYLtnn30WEIbahg8fjlOgQlwUCBhnB8N96UtfQoUbN24Eu+N04G/UiWag8K9+9Sv0FY0T6PE2f/584Di4HKdDteil8ePHYz7AgFCATtSMc6FyXDJqBqrSkAPN/sIXvlBVVQVWBgSj06688srvfe976EZsFBUVYc7w0ksvoQbay9IfzpAOZLhw2mzQ+BWUjAvHDf3Wt7510kkn4cZhyoE5BvYvX74cLQTgNjU1AT1p/EB7EhAto0ageehqfIVKAMQ333wz5iQkeJwFkxac5Ze//CXuEYqhN9A2YC6+oj57V+rYSOIDGWEDDG0E67Zsmrtwnh8ERan0UUfOSMu7pkXL/iCYa1ndKwji39IVy5etWmkGxrhRo4+YPHlXyw5atBwcoilWS39L3mmGvk6mSHPgGZu2NdISMSv1ipaZN+fqpdPKO4gbvRWxZhg7CWA0bNgw1AE4KywsXLhwIfYfc8wxQ4YMwbcAIHDn6tWrASuDBw8+7bTThg4dytBROCSVSgFhTzzxRKAhPv7lL38BngK/gGjNzc1AMRASw3ziL08K4gHFAqdKSkpwFMAIhXEufIUNlATRApIA04cffjhAEMhVWlqKUwAfP/rRjwKq8O3pp59eU1ODCxk0aBCVi0aYO4A2uyRsNKlKymc/+1k0/s4771y/fv3VV18NAEX5ww477JFHHgGk0mwUJ0LbcAgqXLp0Ka5a6Wtnz56NrwB5W7ZsefLJJ7///e+DznHhpEl0DjZw1SiGneD7lpaWP/3pT7SIVe5oNMYF3+O60EvY//rrrz/xxBP/9V//NXLkSPQP9qMqzCVAwzgXqRe14RonTpyI20QHNStMZ4UCtAdQFgI4xahRo/AX14LrRX/iEGArTnfUUUeBO9E83OJeWnlqZMGj4FfWjw7csWMH0BY9j4saN24cKkQDcOtRADeIJgq0UVZea8p3MFq5z2xzHMOCDQJX+HVbXblcc1ur53udXZ2erzPNaRkoiebuilpfRXN3mUbo32XSNbKlta2to8OSkZIdK4ayof+rrEyuI9kxRw9jLQeHaIrV0p+inreu65kyAAwjb+HBaTgihKGIxClQwRQJkFxPgIVIkChSKNoknsAHVy1YsOC1114D0FxzzTX5mkMzUHrnEInAeTVSDKmrA7IAg0CEYvE3Hgd30oySJqoMgDpmzBjSDLYTiQRYx5C2ClQW4u/atWvnzZuHv62trdu3b58/fz6qpQGuinhK2sMeYhB4btWqVWgwQxOAq5YsWQLkbWhowIEAOxYDZpG96MNERy7sP/nkk3EsiBOYWF1dffTRR4PhNm3a9Mwzz6gA/uA2cCSqAuqBZefOnYtrB16jr9BCYCX920DYKmgDrmXZsmXEwWjoLnyFOQBQL5Bha8HBqETFIlChwThV4LE0Y0Ujf/3rXzthsMmVK1eC/rHxsY99DI25++67URsYF+3nPVJZCdDmHsGtQj2ocgLD9tixY48//nhcF6rF4aDkWbNm0RqBnRaE+Q549xXdzpw5E4j83HPPPfvssyh5xhln0ARWBeqiwltduzpjIEMPWXKA5g0JVOwh0TIj4+d8zMFk5Dih8BJjE8PX0ymTteyfIuf/FqZbgXxe4vdnm7ah9AI9XVq1aDk4RFOsln0iUkkgVrrAML7vJmJxEefFE4FgpDO/QSd4k6YCoDq5WLxx00bw69KlS994441XX311woQJoFjGgg3CtLGGBFYVpVU5+JN46CBF9yMVQVZFnsIe4pQRhrViwFe1yvzWW2+9+OKLTD1lhKvYQSR5GCPzR+OY4lhwM4CbUMuF+4svvnjw4MHUR0ZTc+U7JzTN5CUcddRRxcXFODVoGPD6+9//nryL1vLaURI0edxxxx1xxBEbNmz429/+tmbNGmYWMMKkBqqFqpfozKRiGkQDHUSjByiYVmSpOodxsmjLEZcCMi4sLCREjh49GtCMq/7Qhz6Eu7Zo0SI0fuHChfgLJGXshWgiA6Ye8MN8sCpuAAsAf88555wXXnhh69atoHMQPE5UV1dn9swcG4QZENSeqVOnonMwYJYvX44b98ADD6Cd06dPVwXUaOkxQFWq3l0AqYy6JSdgRuBYIuKm6wcyzJbmVy37qVhyuOIZh8cfpmEY+a7vxk1bRJONZD2wdpF2TouWA1E0xWrpT8lHjJdhYsGxUiXgAQVrq6pdzwtcL51ImTKkvG3ajiVWtXzD72hv37Zl65q1a96aNw8UwoV4kAcolsCn9H90saeXOvaDolBg48aNI0aM6OzsBNtxTZ+pp6KxnxT9MMhUNASpEa5To+TLL78MkDr//PPnzJkDTNy2bVtDQwMZCCVTqdT27dtVQCsgXWtrK/i1pqbmhBNOoHECXfLXrl07SEpTUxO22TzgHcpTHYhj0ULgFy4E7FVdXX3ZZZdhP9j9y1/+MlC1trYWdV544YWTJk1iBixcJhrw9ttv33///aeeeioaWVlZ2dLScscdd7z++uvsFtIn1Z+4WKBhY2MjmkEUJn32itWlekAZOaiwX+wr6oPBlKDtyy+/fPLkySUlJZlMprm5mXcBfQKURGsBoA899BCad8MNNzBQAMqgzdgA3TKCGJleBXNA/egT9AZTkaF+NABAfNNNN+GQ008/nRMYIwzXpZhYUWl7ezva8/GPfxzFMA3AqdEYldYB35oy9RpZn7dSmrqYgUnDlzyWBhH7FiJswopJ8PeKkwXlRaVtVltVSXnCcjTIahkgIXlGrAiUBGofFxlEABgDc26M2Iqy8h2tLShRWlKCZ24gEiZbO+fu0vpYLQeHaIrV0s9CQy6bEQdMy7TjIIBZ06a7EiIGV9XEwQEACWlgCHwBn72z8O3H/vb3J558Ysv2bRs3bSJ6Kg1cNAc9WAfQw1hRILAjjjgCrPPiiy+iMBDqrbfemjJlymGHHfbKK6+gWvpRmTLnE7kHNRPLFBsxXRYQjWQM3KFxKhq2bt061LNq1arx48eT6kaPHr1ixQow0/Dhw6l8femll0aNGgXYAiw+88wz48aNKy4uXrZs2bPPPnvRRRehJfPnz3/66adBYPRYQp1KEYsaDGm7hrMAl1EYuAnqGjt2LGoeNmwYCHju3Lm4TIAg6sc2aJgHAijRbNDhP/7xj6eeegrgDiAmpZFNaQf8kY98hEkWwJS4cOxRfas0x4plrTAZr8qhwKRc/BY1zJw5E7WhAKgdzUbP4C+NgGfNmoU+oaoVjcGJ0FTMRnBFKLx48eLHHnuMtgFGaBPMCcnQoUPRXewZTCHOO+887Nm8eTNuOqPYMlYX776yr1BVQZ577jmMgVNOOQUnAujjjJh+UCOONmNWgI9oDLZxLAOKUSXvS4NCOZXpNXxlMg4xGTM5iOurB88+Ynom01WUTKVjMVvbE2gZEGHWg6iYKhWCKoNJKXZbJtUH+P+4UWPKKypQorKiArNSX1hw2cx6oCPEaTn4RFOsln0i4XqtUHYVpNJHTJ1qWwBKI+7jsetZIiaM0dXZ+be/PvLggw++8eprmzduzOSyWflwVoBlyChL+BjIWPfgSOAR47zSDeukk04C0Pzyl7+89tpr6+rqjjzySGwAOt98801ADLV0hrTypBYQ+IKddFdSTeWJ6NGFCgGUqATnHTx48DnnnEPnKkAtznvBBRfcdNNNYKxvf/vbxx577JgxYy688MLq6ur77rtvyZIlv/vd78BMaCqa8a1vfWvixIkogAPvuOOO//zP/wRIMcgUPfQBuzw7WgggA8jeeuut69evx1FXX301iBYkjSbdfvvtd95554IFC4C2n//858GRINc5c+bceOONIDbUA1bGITjQCJP0KgMGnPGSSy758Y9//M1vfhNXXV9ff9ZZZ5177rmkZwpQGIeg67j0r9KDGRH7BwrK4Fzo6j/84Q84Hbj/5JNPvuqqq8COuN5f/epXa9aswYHYZryIK6+8Eo3/3Oc+R687tJkhDtAhqI0BcXH2T37yk7fccsvNN988ffp0HItrX7t2LWYL2ACC4yYClNkemjSg8djJ2FuqYcDfG264ATSMA6+//nqcCyfC/uOPP/6MM86YNm3addddd+qpp1In3W3O0Z3sOP9H6WJRIpvJgvpd9KdlDK6qqqmudiwbiEBDQy1aBkx2FVTbCKGWhei2ZSVik8cf5sr9MhSMpbWuWg5uMQNt6K2lfyXojjEAZPWCwLWsnPToCkw/HphBV3Z9Q8OzTz/z10ceWfTOoqbtTbnOLi+Xy/rSPFMKdZ9nnnkmmIn5S6lEBPc0Nja2trbSSYve/QCdlpYWkA0X8VEeZQCjYBrWRjjbvn37pk2bwLg0UQAF4itAGH8Cq1atwrE4aXNzM33eAUxgNZwRNEkAQp1bt25lMAF8y1D/qBmNwdmbmprQMAZSKJGC2nDSLVu2sPHYg2rxF2QchOlS2TCckUCJptbW1iovMZwC+0F+2FNWVkb4wyWjJTRm5R4aVwDjQK7Eceyh5hKVozw6CmSJq0CziYk8NQRVvfXWW8cddxxzDcgbGKCdK1euHDduHFXXhrRGQDPQHlSF1qI30J7S0lJUiJKMbobDce3YSbtk9BU6hIrw4cOHg31xXlSITsP9Qj+gPagQLcSxuGvAUxxCtzlUTr5X+YHZMNxBnB1Mz8hluBH4FpXQJgFlsAd3jQfijqDzMYEZOnQoJiHsFvqKYYT5UqFlyXzI+fqV6ku4xtD5TNw5z5L2BiatC/PrDFq07GvpFZzAVLrYMB+XyN3lupZhCh9Z4S7rmYl4zgx65e6KGZYd8PDukRuY3Um91IpEGLp7gC5Qi5b3L5pitfS3KIo1hauBB+rKZpatWZnJZQGOq5YsXbdi1YY1DUsXL1nbsBbg5ro50w9oa5gLRKh54ZQgFZbTpk378pe/TOyg3STXymXdJjOR0j2LpAV8AWORVOhWz4Sr1NvR1woHYqeyy6SpKG0M6M+EE1FXSsgjp4KomDRL2ZUaEqyZKYCox6V5bDMqquyJvJ8ZeJTmDTwvc+GCxoCArA2HgMOwky3najsTxgIElVMaM+KiDCpEeTSSyRdwLjSDDlVsGI5lZjKUwYl4sfircl+xzayNRrQq/AItYtEPXNZHbdimNTDbwCtVeWJRP7iczlsMBMbsCUY4f1BDA2dEnTwjyyi7W/YJdhpSGU9vPHZXVJVOZTZvOkcCTX55IC6WhZVXGSgfZExLaLYWlI924pSGcHqxFMWqnPUGLQrkG943/OohgwvKSjw5VYib1uiRI9PxZI+r0qJl30gQUbUaUYqNAGhAipXm7J7wQjCWrFnV1NqCr0qLS4bX1zuGGcdvWlOsloNUtEWBln4WoScIfPkctGQIQ6+ptfnFua+0tLUumDd/8VvztzSs62zr7Ozo9H0P7ORLXrGMAPwTj8VzIQ7ib0NDw29/+1sgFPmSYQdIeIak0nQ6jZ1UwjEgFAmSppzYD0wEshjMXBPagBqh9SdXz+n9o9JxcafygufhPIrnZdwubqA9KABUAlMShRUjErwYagA0aYT+ScQyKpLRPBSjQxWZMhFG1FdAyQbQHY1kpvyWCMHdHkthhCweSDhGhW1tbcw+QJcy1kn4U4EasIdUyi7CThIwu47BHxhEln1L4ZSAqmKV1IBzBvaVQnb2AENJqDkAZyYsSXNVnssIvc1U8AR2DhsfDRlhhPEKVDA1cjZxnw55uHx1FBssLpNJjGRELVKsH6VY+V4PUCrhTJ89a/Dwet/CqA4KY8maIYMTsYSpKVbLvheVtWs3ubtMGY5AiAhrKOLAvbt86Zr1Ddg5fGh9fd0QTBV5gM7dpeWgFE2xWvpT8qtdKs23KdQDHdnMijWrujKZZatWbN2+rSuby7g5kYveyKvHZJ4kEbXTDP3QuboNcmpsbOzo6CChEmuoaKSqsrW1VUXRMiT6EGTDKN8GVbMqUkFUjarsR/EVcBAopoKMQojO9M03pKqPqlnWrIKPkiDBSUpxSC4kmypXejZAIbLS/qJ5hHJyLYGVl2aEiAl2pKJRKY+V6xvPG4SBxtgzqETpU1WELzIr4xio9hDNSY29cgGwh6mC5a1k1/GieBeCMHkBmx1VnRphxC51lAJclQ2Bt0CFwaIwuxgPoYqd3RWECRTYgSpcl+oWNoydGUQiCrGGaLQ1ljfD6ZMhKTav34o4g+eDkSVijS3N3pZYa2cH7nlJKp31PV9jgJaBkWjWg6hEsx5YAk8ZbIM5OzZs2rimYS0oNpVIWuI5a8rAsWGV8oeK8a81rloODnGURYF6JfTac0AoHfq0izggWn6Qisnlq0CqChw7jr8lZaX1w4aNqKv3OzMNK1dtbljf2NzkZnz5+BVqMfyfrj9GqAGtra29+OKLqX9VOlTca8U6RDFCJ/bTn72pqQnlS0pKsB3VpBJfGPFUufMb4eBRuUlxCLcZHpWn4FhicgSlH8VHrqHv2LGD9qk4MJVK4cCtW7em02lCm3KoV+pkpldAAao2GeNWBb1SrkskZlTIxXeqG4npjKtgSEwkPjIoARWcxGK2n/xKtKXJAf30jZBliWu4FhzIzlRKa+yhlppwjwaUlpZu376dWBzIeLSEWtTMhnHdH7MLmvZy7qGsKXgVvHHRPlR8jzJoHtMWiHV/id20H8jrUMORwLtAlTN2ZqWgeexMpdhmwF2iPy85D82WTHQUBGaEYr0QZKWvt5nzPcyH6keP3NS87d0VS3N+rtPFGWP6waLlA5BdOXkF3epaLxAx5PD8EgaygSHSypiOT2WCaedjysnHhW3rkLFaDmxR1OdEP5hhEHKl2TpQnte9KLZXs7Xt74BJIHvb9YQ20Qx9v71AaPXABEPq6s497czZ06avWbnyT/fed/8Df9mwdm1He7ubc2X2LkOpOSkjR4684YYbDAlhaiVai5b3L8o/RkaFy3OAxwBGTOkZAPFtzHu6gtyjzz717oplIkRCLC59CRhnVouWfSwhn5rdgbX4jO3WzzIJrfzPdAy708/EkwnLtg3Ptx3bDVxM3eIyMjeGtKjKskS82J5jODB2Uvdq0bLfC7WuvS0KzDAR5cEkmmIHWOK24xnkADGfsC0rmUhkslkmkInZ9thRY2684Yv/dvW//eOJf9z/5z+/8drclqZmx3YCU8RPVao+ahZpMWno+6il/0SFI1Cmh9HAnJbQxQpzWdr2xvDeD4zOzq6yeIGdp1z90tcyIBL0tfAfdIeMFaYFvty0874IyVjcsW1XWr6gYMKKcyVCxNgQu8TaCC0K1JjPVxV0b2vRsp+LUlbmFxbVXrXuZoSezgeEAmz3OuMDRaN8cEg+VJErB5VlYAQVJlNTJ07OuTnLtGorq2PCodaIpdLFBQXnnPnho6ZOW7Rw4bNPPf3Pp59et3E9UVUZnnJtXd9BLf0u3bE2ze4wRn74lXCFAb/iZW86w6oHHzVlarYrU1pYnI7FHFrAfIBN13LoSN4KQG127zTpAyrDFGA8xsy4afhxKzZiaL2w/3G9usGDMRmjotbNubYp3Aby3rSmGX2qmj2r1YNbywEk3bpY5WARhJ/xI3MAACAASURBVFl8lKXsB9a6PRfV2mizTZ05esBFdTh4NJ1IzjxyBpABj86K4hKMMEukkRFuB8WFRaXjS+pqh4wfPe74445dtHTJs88+O3/Bgra2tl6OUBpktfSzqGQHkYVVmazLsKSuVab3DBzLHDG4Dvzq+17MtmMY2NLA+oNrt5ZDRXrl7opG2sqHJZDP2YBhCkTig8BxrDEjRw8ZMhSjN51MWSInrUjulR+xTA+ullt7JQYLIlM7LVr2e+GoFhSrmLWXO1fU00uLlvcqcshYnALJR64Tc4YOHiIGmmHavh+I6NzCQkuwqXQBKy0uLjv88AkTJhy5vmHylCmvvvrqvHnzli9fjpHJmK8f8BVpOWQkTHoQGJ5vSttuPByLi4qLioqlLa3/L47XoqW/hbba3VG3ouL7ItKWaeXf1p5nOnZFWVm5aTuYcIlDfNfLOsIlUfp1MWudY/dZmRYtB5D0sCiIwuvOblIHhNahV1yFneWAuIqDRQLDl0qtMOIR/rejqdkT+ZD84nS6IJYQrrSeb9mWE4vhyRq4XuAH+DhkyJDRY0afcMIJANnnnnuOXvyMdXqgDEUtB4qYfWx1r63K8AVi5RVDub2jrbWjHeM6YcfKSktNTvsHtLFaDm0JemRINsINV0baVnv4hGxpbc24rmXayXgc0y9hNSt1r0GQN00QilvTiD5PtUWBlgNLekTTYlSdXvEU+R3Xcz+4du697KxU/kCbcygKn5i+8PsOmtrbXp43N5PLudnspDHjxw0bmXBihgyl5MiMWSIGVUakU0oWFvBw3LuWlpbOzs6qqiqVWUpTrJb+EsYoCOQbXXmz5rMZmTJdB1MhmCKf3Lsrli1esczz3OJ0wbEzjymSC7V6LGoZOInYxfbK3SXjJAs7gUDqDTKG8cr8NzY2bga81lZVHzn1iJhhOYZpG6ZF5y3GlhX2XKbO3aXlAJUouPaIUUAbRBX0USWH/KAaukeiKEdFm9cU+4EI+9oNRPx51/dd09+8o/GF117JSVStLhs0YdQ4X3JqLJEgTIiP8VjKSXEEMrpnUVFRYWEh7ibTWakAcFq0vH/pYXEYdJMBR5gvv5SD02zNda3YsPa1hW/hwVgQS4waM2ZY9eAkl2u1aNnXEvQ03abI5HKByigbmm9hxtWe7Vq2avnyNatsw/JyuSOmHJ6Tz1dLGnMBbU2ZqNaOySCbOkaBlgNTovGLpF2ssKoxctlsS1vrtuam7dubWjvaDBkgKfAHOjCiubfzQEc6AMlw5tJQyLLymdwj/sQ0MNKy74Q+Bp7vJ2UE/q5sxrWMlkznti1bi0pLUKBhQ8Prb841XD8uY2lhhuTYduB5+GebFj0LGUifMfNpF6tSQH3Q16fl4JH800D4coWhN2XWA/FXJAHzRLStRCxnGRs2buzq6sKQbu3s2Lxta3vTDtsN9FjUss9FIqxaGTDDzIjin6RYkTpERoLDQ1MYXSVifsxqWL9ue1OT6Qdr48lVK1bsaGpOWE5BIullRSJpPHjjyaRIoUeKNbtPxI38mbRo2Y8lkUjU1NQwHY9I6sGBu2nThneXLV21vmFHZ3tnpgtQ6LkueESsVpiGbTtCSWZZrlTN2u8BKSKajvcqZuTvnopMt2OJf4znKLyIuDwITsoHzO+dye/9/VaZB8iQqaFUwgiVVJMZQZmpiNpElZV0gHWKTIAUzZvKZEuqSbs5kLmmmBuJuUbNiKgcp6yWV9fZ1eUbQWFBAe5Fxs1lAy9jeBu2bGbu1IqC4sJYInA9Ti1ACdKTJpAROkUmRRXrjbUx05Lxvk20eadUKinmqjX+lZ5eZdhirqyWlpa4FFbI3FcqJawSLmXwEvgRGx0dHahhrz0mVaAGlXLMCINv7GZEqVysqjGCxpJJle324AsOvQcSkoEaVX74iJDe3r4Tj2Hweaa/tbmppb0tnkzgLgyuqkn6puMZmmK17HPhEJUj0tqJYg2m35OYS/OtwAauJlesX5v1Pcs3UpYzpLqmq6PTMa2CZAoPvmxXBs+LdEEBf/49fBXN7jNqitWy/wg5Sjl5k2TwCquXMnz4cGlRIH4DfmtL6/r161c3rGnzc12em0yl8Oa2hdGYCIlEisXrkPnQpZ5st1azQeRHsdNPgq8KM/zLPb1Nc967yF943LQBi+lEMhlPxByHLBs1ig96Umy/6GXJE0QBlUQe3Z0Tk16Rm1QlNcVO5sMkT7zfE++J8LyEaWyQsFW+0900hgjLzKIsTIDjMILgI5HdiIQzE/pUzBscx/CDpBOzDDuX7Uolku3t7XYsbptWEn9jQmUuCtsm5kWWY9pilIkMir3a0C8BCgh/rE2BO21tdzOGWYApWHFgKpXCsew63kTFxKyZuVvxM1EnVYBryLugEuHu3SWQYnlSNi86j+rzKFpooKlsNg9XcqhbaFDR1WNH/q8v1xNisbgvEtX66Vii0+jIdnSJ9MK2LQa9pSlWywAJFbHdFBuCrCHVSeL54snHpmm6cggnYnE304XnKddaiwuLXPnQw0s85sTwosLL25TPVT5t1UKEFi37lVBPZEidERMhGRI/gKYtLS2rVq3CA3no0KHhy88T6ctb2lp3tLd3Wn4Ww9tzMn4ONGJLzaYV5AKpuvJlVIOc5echcdcSndr1kj4p9v38iBypiC1KJsrLKsrLyoqLilLxhPjd0hdTmfuY0cR975diSTBEWCaIZ+p2Q/Y+s9XjI3aix7FdUFBAih1gBRgzzqOF6XQaraJWlS0h2ezqQJRBSYVKZHF+pUCKjGuEvnTEOycuYNHLCX7ybXNbW8uy1Subm5vxeB0zYlRdZTWmRmJQok4vJycwkmLBmtQy9uvzlNpc/h6ogySF757kuB/lleJWWvnmldm810rdboTIq07Ho4xQhcwuItTunUaZ04aoTp3qXs4tdzWiVAoJYq5aIlCRoQ9pkO1rzsyHEsahSNLh2FbMwZ1ev3HDyjVr2jvby8rKpkyclAbHBqamWC0DJD0DFJBiPfnBwdNApO/2bUv81+W7OZROxbc0Nlp+UF1WOXrEyJKCwo6ODlOk8HCEfifI50owicdmT/2OZlkt+43wTcfXN7U2/Nja2trQ0LB582YMbPFSE2UFkPpduWxbFxinKxe3PMvI+R5+D54pFIyu58pQyaKwExfvS7GqGfi7H/C7ip/ce1k/2ui9ejPgt5gASGTcYr8olU5VVlYOqqgoTBcI7ZOkCMeSWjejPymWK8XKfZ4qSS77dnV1KXWXEepo6bT0geRCI1ERX0Cx1BBzRWlXOjwKrg4UTnqLx+OYAEXNEnh1RDS1YI3COMS0Bed52Zyw74jZLZmORGEaAw7P0LH1I6qKy7JdGVt6d+V8F1XYRt4jz++do6YfBM1G49WqBG8EGZQ/jz6PQgFcF7gfhxMT0XX4qCxGyIKcxqhOULEUMAYKCwupw8ZOfGQb9tq6l0YdaqRRTf5eGJQKeLYBgqkUm0Sd8aFsapy3NzK6F47McIMUa0r7+sA0S4qLS0tLurJZDIAJ48YnrZgVaF2sloGS3VCsaWbxgAqMmBPDWO3ES9uxnMJUY9N2UGxlcemwuqGFyTQeHXiL49kkXA0M6XVgyWUiQ1Oslv1XlM0eX9N822K7sbGxpaVlzZo1GNhCR8N1BN82PWCr74olCbzdbcN1DC8wXNPLiBD1AmI63Sze0UnJPVkRuN7bPQPtjmL7+ql079/DH5LpGyCUzqaW4riwgpAvaem55jjUxRqSOPuXYtmttC5lcH48GtBLOG/UBFM8PoKguLgYAEGmGXgvJbQhlUpho729HY0kXZHhdh+AgvcXh+THSkQxSVNRXCze6+iEtrY2YhwDuxJ/MfUXexyrLF0+RnRMDE/NtBUzXEGUOTBlIiGmRqbhY56UEzUzEme/P0kZbYPWFGwejYN3rxYtKioi+OJvtMfwl/bBKEDTEQ4GnIVqWi554CO5UyxDywaA4/daDU/VqWJlnJpGrrufjaBMc3MzytMWlupbwjTpnCYih6DQvrB70hTaHeaJwcz/tHOemPMMqqgsL69IpIVVTCqRNIT2ayfbFy1a9pH0RbF5HZLj4KGJF10insBr2vLddLqovn5Y3bB6UKztBRiueNSKVyGeYznXF08nMdXujqmpKVbL/irK/FIpDfkRG3x/Ubpffp4hHMZ98ZuwDRsfjRytyB0rVVw4qLKyoaEhI313UcSzTN8xjV2/kaM+E72Urz1osj9+M5a0Y+vEG6ajAzSJVzuuMCtVX9TFSv1YP4MjYRRPhy1btlRVVdFmER9xdmq/qLorKytDY1pbW0Eb5eXlSmnXv43ZvZSWljY1NYGuKisrOQjEAlPojrYbpM5JEZ6viYQyq+UqNsEIF4VZEQ1GSfAiNFsYAsP0gyzKeyIFErW5gee37mhN2bHKQYMAhl4QtHd12sJsxbEcYauQC41K+1EInZzV0eRDaIVpFrbbG4E7uGPHDvQeby4OxL3GpVVUVJSUlLAAGBGzAvIuzoK7jzpREjvRPzgQ5ZlNF9+yG/fuKtByVMiZKM6Lwc7oDbRg2dVsBOdFS3gI+h/baDAuHyOhoKAg6pynJSqcMBhiQOYcjFtMjC0r7sTbjXYR5FibE2jZPySbybjZXOCIJIh42Ha62Xhhyvc9Jxa3LTPws5hudcrHXVx6tuCp60tfZ1pwfdDN16Jld7KzAV4+QKzUKDGKkdgQmUDBJYafC7ysL3IogQpzpshVhz3gtJiTqK6tmTBhwuatW/EuzGSzYl3cEerOvoNw7RRzrntbRacz++BaVXSPf1tm9+XmZ5imkfdoYYKSiAFgD13s+xNAACjnM5/5DP7iVB/96EevvPJK4aTf2UndJ16EwBqcGSwLdKDezvhX6/j9Ltu3b//DH/6AU3/qU58qLi4GVFG/SCPLf+neRL8ltH/lypWjR4+mghnXhcNRmxFqnek/JBS3mQyoTiKjtMK0zbb29ncXv8t8s4898FBBLHHVpz5dW1NjS7WuLOl3ZQQxJ6QCrH8F6LZ+/XrQ3qBBg+inxcZ7UnaFlSgJZr3zzjvfeOMN9NiMGTO++MUvVldX856iS1EhuJC+X0BVxa/8geGrtWvXoh8Ai5w10i4Zh7t7ReqoJCGFSnHUhlMoQ2ey7M4C2MWYpKb8nHPOueaaa9AkYfIhZ1NBGBHiEJXAMCMWBUFkI6CdN6YuySTG6Nbt2zZu3hRYFqB28qRJmOX7gY60pWWgJOj9Sb3FxNPGMGOhVVvCiuMFvUbYcHfGTKussGjk8BF4SnDdSbCsxFlhEOV6vd6JejqrZT8U6tqM0PGG5nAU9fJyQv9E05OR6nMiMXOQkwYzgWUyeFJJomh4Rb3h+Xg/y5R3InCBsA3fzcCPxChQL8og6EGrQsweBQxpmmbtIcjKQ3qEHOJPWuCXPJfv+X0D8vt4gxObwS7Lly8/++yzJ0l5++23b7nlFq7b0vcLTxlMAC6//PLKysqod9RAComK2jhCG3GT5g27OZDwjwNxIajh7rvvBslRDfnCCy8sW7bssssuA6URhYFZ1AiC4OlP5uc8TPjRE83NzQsXLhTO8qb12mtzxw0fKSgfvZcR6IoyCRHBUCx574tVrdbW1kceeaSmpuaUU04xwimEMrjZ1VG4s7fddht67LTTTgP51dfX4y+gEEehqX/9618BsmeddRa4VoTF7eqitTHnMIT+e+65B0Pi2GOPpXELe3KvvbtYOTuZGnRUi+nTgw8+yBlUn0cBWK+44orGxsb77rsPf2nwgPLKIe9Qplje+x5GTPJ/MmSLL0IKWqZjxTJebt2mDfMWLOjMdKULCkaNGR1LpLUiS8tAStSigBYvKqWPHK2+MHHxPduxOzo7V6xcsX7jRscwRwwZOqRmcDqewHMDU2dbRqJkLMDu8dt/70QtWvaFqIhA1LwovRut4wzp3C8DdQY2mJU245aM+y0iftsx/N/P5CzXL7RT2Y5OzORsy7FAiT6q8Pp8kqsfV69IWyqcR9DTNNY3IlAbIuwe/ZSEp0Ug6hO/Zc/vDqgpMpUIk1lTBAszI43r1da9EV47LURPPvnk448/Hh396KOP/vOf//zUpz5Ffxpq4MrKyhjgyQstiQfYooBxEqiGZIACjonoFKdPQYOBcexPsCCu7tprr6WedcmSJS+99NKll14ajVGQH1KO44e3gPpxGh5kpBdCa2sLoK6wqMiTTmPCSsEVPWM70tx2H8QogLzxxhujR48GjxrSSliFytqNKhrM/Y9//OP666/HUeXl5bwWzgRwCH2k6LClPNt4IKdS+Pvyyy+jGCjWkFp5zhyMvXWoYveyZhr1ckb05ptvohkXXnhhn0fhK0yxcMkoxpuObaqHD/UsEpzV9uWkJZ5R4Y8CwzHrus0tLRs2b2rv6iwvK8dgzetpB7S5Wg5p2RXFhsspVN+IJaB2N9Oyo2XLli2WH5SkCjwPzxyxUEObOrwexcqXUEWFM1hNsVr2V1GKWLH8H4nK3+ut7chIVJigyWCfIgqimX+IW5L8ciLrgY3fAMCkKxuLJcoHDSorLYtLg7/2jnb8WgL5qyguLq4oLweU4GeTyWS3b23EK7+0tLSsvKyto6O8tNwzxMJrU3NzS1ur63v5MF2MfW9GlbNsfv6PGfkbhAmgrZCQCYMy5rOR59fAZzH6pCun434Xdi6ul0u91G+BLSoqKr70pS8puw3sQT+UlJR0dHQsXbp0o0wClEqlampqxo0bh0pee+01UAXIsqGhgUBMDZmK04Sdy5cvZ0QJlC8sLBwxIr9INH/+/A0bNpA1UcnIkSMHDRqEQ7Zt24bacGtQvrKycuLEiaitvb19wYIF69evR3lUMmzYsKqqKrTElImy6PCO8jhw8eLFVC7iW8BfbW1tc3MzmAzHgtFxIhTDqTdt2oSPOHD27NmrV6/evHkzcRYFJk6ahPuO6RDasGrd2sWrli97910rHh9UUYlLam1rX/T222tWr8Z2uriopramtrrGSpog3blz5w4dVk/bTfRkdXU16Hnt2rU4I65uyJAhXEOncyI7HGXq6upQHi2sr69vaWnB4bgoXN3w4cMxAl999VV0II56/PHHMUrRWnQXLtCQwL1jx4533nmHdsM446hRo3Dg1q1bgbC4QByIyxk7diz6nIv4ws2xsxM7aeV8//33jx8/fvv27dR0ooWoAWVeeOEF9CQ6/LHHHsMtmDx58rp163AghyXGA/of5Z988kn0MG4Neg9NnTFjBr7F1aFVNFrFiVA/LrOtrQ37cRbUgE7ATUGTUD96HsUeeughDKETTzwRVwRkR1Vjxoyh+bKat0TD+lqWVib2PWHmg0jo6THhtOSc3hTvflfCa85zZVxjLVr2FzFlrko59wq4Akl9lSuF2goaAYoYyHhDWkG/e4lo0bJPRaXv4RK38gPhW0yGYReuXX4YANmUee2ZWRzwGqSceEEiBbgtiCcrS8oOGz9h2ND6olQhKGL9lvWvzZ3b0d6Od+foYSMmjJ9QUlzakWnv7Oic/9Zb6xrWjRsx+sgjj1y2YtmE0Yd1BRnw64qVK5YtX76tuTlvGhvkE5ZTNRuoFT1lhBD567tyLdW0hf+ZYSiFn2+YMge6+Oni9ykWcGMxERMqCGLyo8zj1c8WBVHdm1K/0dyQS+pAE9rmchto9cQTTwBuQDwAoGnTpl122WVFRUU//OEPAWEgkhdffBGVnHDCCYYMBcracLfAN3/9618JQKgHx55zzjkAUxQGaYEjGcUJVZ155pn4CvvBbcCjd999F9tTp06lDQCg6oEHHgCxAQoBajjRaaeddthhh6GRaLMK2r9w4cLbb78dtISPOHDWrFnnn38+WPmOO+7AiW6++WYqMoF9wPcf/OAHaOR999331FNP4YwgThyFFl5w4UfPPvvsXFf2pZdeevLZp5esXL529crywYOLjpqBAmvXrPnTn/70yssvu75vOvZJJ5907jkfGTtm7MpVKz977TWf/OQnAXy4avTJ4YcfjhM9//zzuHDwPa4OLLty5cqHH34YzcBOfDtlypQzzjgDkHfNNddcfvnlAFAUQL9NmDABHXLSSSf96le/ApdjJ64dRDhnzhx1B9Gr2IlLI2LijLjY4447Dl2EK8Xl4NLQyRdddNFVV12VknlARCoQ2/7LX/4COsT+6667DpMWdBpoEnXivpx11lkY8zgclZDL8fHf//3fcQg1oABukPeHPvQh3Pfrr78eNeNC3nrrLTQYJXHhjz76KP7S3Ba34NJLL0WXgk3RkkWLFuG8mALNnDnzYx/72B//+EcciAtBeSD40UcfjW75+c9/Dmj+4he/yCy+tEMQjh3y90KHM5XzQrNsL+Gk2gxnzrZlx2yHO1TCM1PrYrUMrOzSokC+2jyOWUZfkYs24jWPl6PQpMQ4aEMllp9Pyt7TiqbHmbRo2T9EGT0yTNCuPHnybkZBRCkRGN3wmIjF3M5s645myzbLiovnHH003sEvPPfcxo0b0+k0GGjS+AlABMABXu2vvfoKqALnGDl8xLAhQ72ubIGTjHvO+oZ18958ywv8msG1Q+vrx4we3fT66748YY/cIf/KwBxXoDLfUgEcZVx6F6lFUmXzJ0h3HzhiEzEZkYCKPaAkoYFqQnQIMAjdhf2lpaU33XTTkCFD/t//+3/4C6AE3t1yyy2AG1AFcAdQ8rOf/ay2tjYagxb1oOS9996LbfAZDgSK4cA///nPxcXFIKFvfvOb3/72t8FAy5cvB6Heeeedxx577KpVq5YsWXLiiSfijJWVlVu2bGEOVQju16c//WngDrD4scceAyFhD+AMHbljx46CggJcy4c//GHQbTKZxJ5HHnkEuIlKAIh33303IPKuu+7CIajqxz/+MfgMH3GBAOgvSkHL0eCnn3kGpwY9L128BPh73nnnlVRVgmUBUl2dXbls1o/bh02c+JmrrgLFvvTqy489/vjzZeUjhg0vKSntkpajV199NVqCK7rnnnsuuOCC2267DYx466234ozoZxAzmgf+w9958+Y988wzwDtAeUtLC/ZceeWVIN01a9Y89NBD6BCAHTr2xhtvHDdu3Be+8AVcKW4KbhM6EFeBY59++mkAJdAT+/HxzTffRLdfcskl6KJTTjkFc4zp06fj9qFm1I8rxf0CMRvScQp9S4OKz3/+8+gloCRa8tvf/vbcc8998MEH8Rfkfe211+LH8otf/GLMmDGgahTDtYD4f//733/5y19Ge1asWIH5zFe/+lVcMn4+6HO0BA0YPXo0BgZmKT/60Y8Apuh/sClqwwwEjfzlL38J3McsgnYC2FBTETQSNwW3D8MJjez3kX+QCLO2mH1ZFOQTmrh2DD9nERvbMsxkzAErpNIpww8iBv5atHyQIqajoFhG7LZtEU0wcLlkZDlBMpHI5rIYxCJlV5CPXC5cAuw+jQm0aDkgpY+VhejQpjktfgO+62/btg3cgzc30ITRrNavXz/9yOl4d9aU19iBjdczvtq6devahoaRdSOK0kXtHW2tna3r1q1rbGzEm3XLlq2MJL+Xbd3tSmgeW80ee0QsUt/fR9GEODNAPyi3Hi52A+COOuoo8BOYEuQH0ARZgjzAf1zjBtBMmTIFPEr1OIqB1QCpYA6q+gBMWRliHf387LPPojYchf11dXXYAGzV19cDOkEquCnoUhwLZkLPA6Ree+013BEQGP6iMShGA0pgHHAN7cRNvOiii/CY2759OwMI40SDBg1iRFt2MtC2rKzs7LPPxlc0ZuAaN4rhI4Py0jCU166Wv0eNGoXWMiDDggULUPnokaMPGzcBfQIsmzljBhBz7Lhxxx177LDhw7F9xhkfwoGgN7SkrbW1sKDwqiuvAjhOnDgRwAfg/sQnPoE6cTjNAJYuXQpyveKKK6gSxvQJh8+fP5/D48ILL0QXoUmoARyP+RW2y8vLReVtbcz4AApEVYx9hsGMTps9ezbjSAA6gYCoDdzJgFwojDYYMqgW47NipyFfHugZoDCKnX766bizmFSMGDFi6NChuInoWA7UwsJC3DWM/2XLlh1++OFU0uMofItToEmo8/zzz58wYQIqxLc49vbbbz/ppJMwTlAz7vLYsWMxJ0EN6E90JrgWG8cff/z3v/99hqGlnS76n3G4UMNXvvIVTANwaoaS2CdD/6AQaTolPAE8xuCU/7pNm/ic8XwnMGqrqqdMnDR14qRJ4yYkBjbAiBYtuxf5qGHSGMP1RGoDPAPx/Jw0aRIeR2KdU77/gK/CTsYa0LSRWrQMgOSfyMJ+NBJaWWo7xYabc2OWk06lHcspSBdUFlS2t7TTP0ZoIju7ShIlne2dru/ajgggincq3rLbtjX6RiDesrG4bdiBrKultaUzmzE9C3TrR6J7BOHr5L0Iw2bxdynCxMpXjbTgDZQIdxuPeXnyulj5E+9nSyCGTSXJMTosGALogAcHsBVdBPqhNxVwB0QC/gAn0SsIH4GSK1eupB0CtlEJyBWHo06UZ6YoxhlduHDhD37wAxxIA1bQJINAofJXXnkFcIy5BEricMATA4Ia0qWdxMbQsLTpxCH0qefKOEP3YyeORQHQFQq//fbbwGtgU5OUd955B0RIx3w/FJpJYAAwJi4aM3fuXBwFWGc44h3Nzdhob2urHDSouqY6lkyA4WS0QvexgocxMKpqajo7OnCT0gVpLhZQie56bmlZKaNpULmuYjswZhlKvvjii5/5zGeUd1pDQwMe2XRawkcwK+8IJ1pcSWcgMIZBwH7s5OU0S8GF0w4E9wXdi97AnSLiq1AGyheKWa+oL6dVMViciwCoB6dGDewcHkhGf+ONN/77v/8bO5kLDZM9nILm1GgwBgCDPKBaTDy+973vMaIWTofGgHcxdfnYxz62aNGi++6776677gLjnnbaaRhp7DojzHiMbVA41czMNM1gsToo7M4SkFkjKilLPgapZRW/F8dm92IgjqgfVlNTHUjbZn0lKAAAIABJREFUm3QybQvvgQ+09Vq0SBErMI4wnxPmsXjauLlEIj169OgRxijHMBOmnUjEsx1dnuVZIp2RI96U0jDPVt4lWrQc4OLk84IE+X/S3z/MYWMKA83ACzqynZkgi5chHuhx/CzkK9b1PTzs2zLtdtwROV5jDiZ67e1isbUwXeCbctnCNnMilSMY1zF9kQYpFgcVW9KMVUggEytEETZv2tD3S0IGHQhNUgUlGHnXNACrJwLg+Zx6qhAM+7DjZCYk6ikZdlRkq5JR6M855xzCE/mJulXwRHt7u8rpSr0gNa9kWXAVrUB4LDEOVwFUOu644wA95CcqRME9P/3pT0FaQJbDDjsMh6PyxYsXoz0qaim7SEXXEoGuLAvNQJmo6QWXpGka8eSTT7766qsgoaFScGxjYyOjK7CRdGWLSbNjXjK+uu2221APmnTEEUdgT1t72/MvPC/ciaRXAe54zhOL3VUVVW1trWLwBL4nTTaFXaxlm6H5SzwRxynQPDRSBRBobW1FzXRZYC8NHjz41FNP5TazMIwZM0ZFgaCBBE1C5YjJhwBjhDnOPfgVyZ65CQxpIcBFeYZlUMnumH2Ni/XR7GuqW3hP6VfB/dEYXpwn4BJmz57N6yJW1tbWMjtUFJSxgW6fPHkybjEnM5zV4KsTTzwRX9GLbtOmTb/4xS9GjRpFi2dDsjWvQsVQY3gvbfa6OzEjG0GPDVMygbIkxgSpoLAwsMV6C7rV9HwdXVPL/iB5jxL5M89Psx0HD3A7HhOO21mPeeMp1MX6VrD7lI1atBxY4ij9a5Rl81bkIjuz43u5LF7eRpDz3fWbN6QK00UlxS07WvDaLa8o37BtoxNz2jrapZ4p6fnNyUSiurq6vaMd/2LFMXr7eoEv1nYrKgLbaO1olbUb+b/RgI3hu6HPd28+VJhi2DBWCAMSSBroNjmQKWcDEdR233ScCkzLxLN0l0En0C2UIGVIquBHsOb69eu3bdsGQMHfdevWTZkyBQfSIQwlASttbW1EWx5IBp02bdpRRx01fvz4iooK1L9RCr595plnxo4de8opp4BmgHpAWJJTXV0dvgXrVFWBGtuAuTT2Jy2hVagfOwk9ZDK8o5nzbOHChQ0NDeeeey5ACmSGEz388MNKmUetLRWH7ITm5mYc/tJLL+HqzjzzTNAkGPT1118Xs514vKa6xrFFS5yCVEtne2dbp+vmspksQNHN5eLATc+LS57OW4ME0kPBMEGiYMeoHyIFO/GAnj59+syZM4cPHz5kyJAtW7asWbOGjEuFLg2LURj9aYYqeuap2rFjBxqv7KrxLbq0tLQUXXf44YfjpuB6hXlMTQ3ZxZBG5flgFzJ3VyAzPnAOkHehCKPZMa64SjuMHsZJW6TgjqPNuN24j7g0dDXOhd5m9FlF2IYMtTtx4kTc6xNOOAGYiwvBBYJZUfmKFSvw7cknn4zKH3/88T/96U/0EuNN4VmI3fi2vLwc51KjVEvf0jPrATfy/w9/v6JLPa+lrbW1vT2whI0s7kvc3Ns8wlq09Ksw2oDQ7sigkoZYPs1t274ti9dQYBbE4lUVleHTVb4mpY7ng261Fi39KXKiJoMmWpHQM1boaeVLO5tUPJEwY8Cxd5a8XVxWMrx+WFtLK1ikprq6Ye3ajvaO1WtWl5WVYn9tda1tiyXyjRs24O1blCwqSZeMGjEym8sGlllYXNTR2b65cStP2ierholz+vhK/E7zjtXiny9/m0LnKgLhiAg4IjiBWDaPRQNhCkjq/34zCKyEIRXTnk7oNG/l+jJX2LEB/gAkvfjii4WFhU1NTeCYCy64AGUAJaxH6TsZVpaEVFlZecYZZyxbtgw0g8LYz0XwI488EhiHqrZu3YrToeYlS5awzOzZsxcsWPDkk0+iAL4aOnQoaI8Iq9bueUZ1LSQz/AUVoWHgTl4UoBY3kcpaMNmIESOee+45oCromUFw77//frQQGI36gVlgKbQHRxkyfO+MmTNWrlyJQzCA2jo7wAF1g4fgCVtUM4Q9I1zfkgmZCE7CXy7ri9mOiG5IbTp9lZgI15BsAYYAMT///PM43eDBg7dv375hwwY0G20gw1FdakjdMw/BudBydBHwDig5adIkwD0Zl35gf/vb39ByMC6mGZhroQB4kVptxnlV+nJqfJV3P7FVWQabYdINojMqX7Vq1WOPPYY2H3PMMfPmzcNkA7cM4wF3ENUeffTRKqoaFxBw+1By9erVb7zxBq2i0QzcETQJjceJxo0bhzM2NjYCUoXGxbbB3OhznGXYsGGcF9133324R5iHUF29D8b+wSBRu6moYjX0/BZrTRYmYU6sK5NZ3dCwfNUKzIpj8URxWamTTIuQhB9Iu7VoiYhYVqLbFt6OnlhAyGSyK1as3LRlMyh2aHVNaVGJLbMXmeJlLt4xtrG7bC9atBxw4igdaGDkLQrMyJMdwz5mOXh8N7U3xWxn7Zo10yqnDZ9wWElBsZ8LFi1ftHLFim1bt3Z1dibHjZ982OTaQbVt2Va8ZV996WUA7tDquuLCwsMnT66urPFNo2HzhnkL561YtZLBxneeEgaRLAk7i8zLkI+EE8a3Ei8bz805uZxYHU4k0ylhhAouyq+l5rW17zUMwnsXLj3TLYm2qrQBqKurwzbNUsG1NEutqqq6+OKLb7/99nvuuQesCfI4/fTTsQdAU1paysijTIvKQPqMGEDX+A996EPPPPMMMGXx4sUgm1NOOeWqq64C7lx00UX33nvvzTffTCcnVIhiqAEUi/PiREuXLgVyTZgw4YYbbsApsBPNK5ACnAIDoX5a7uJ+UUk5Y8YMQOHvfvc7FAAjXnbZZQBWlGTcWXz86U9/iu2vf/3rwOjly5f/7//+L1ry2c9+dtGiRXfeeSfoELx16mmn/vPpf+LUx86Zg79333vPwqXvbtmyubiy8uQTT3I9r6KyEn3nSovDjq7OquoqMDEwrqigsG5IXWtbW5Hk9UGDBqHf0C2clmAbTQLCootefvnlW2+9FXiHj2edddbMmTNxavQ8vgKA4ljqs9HPtNM44ogj3n333R/96EcoiTajG1EA1U6dOhV/f/azn33xi19EP8yZM+fCCy+cNWsWTX5xOO1GeHcg6DFUi3MR4lEz2JHmxcBTalXRSBRj0to//vGPP/nJT4499tjrrrsOrPyb3/wGdx/HHn/88R//+MfRYFwU5w9USKPxuLkPP/zwgw8+iAaj53G7L7/8clRLdv/73/8O4EYnX3/99SiMcYI24/b93//9H1j5rrvuwt0B0+Mrhi5G4Q8kXdwBIXzQWdEngsrJotTYlumZxpZtje8uXeIbQTKVnnX0bK3f1jJwsnPCdLPHl2qtTFj/27br5/AMx0vW8gPb86cfcaQy2TI8qRoQRlz5N3y/vxa1aBl4MYVtYmC4hv/i3FefeuHZ1Vs2xYrTWYGZUtVkmm4ma/gBPWDwIudyKoUhpRjwn05LeH3mskJt5ghDVXf29NljRo757b13ChvEZELkBvP9nO/lMCc0835d9MMK1F/hsxXJXhv5axjdfl3kWNfzc9ms15mxOnPFWWPScOEOP7y+vry0LCVdzWwZo1xZFQSR9Aq7weX3Inx2gBIAK3fccccJJ5xAeALXAk3oFA+AIDCBt8AWJCEVAgxkiQ4UGa3CWL7oQC5G07Uce9rb20FFq1atouKN+kWQmcoCpYxoqf9TujfcESAOzk6XO5XPjA2gkxk1xyijFLS0xEUZFmadNIRFGbQN9xfXRVtbunlRhUzLYNqbAtwtxy5IpR0BqV2dbnZba/OvfvsbKxHD7T95zvEzp05LxcStEUHKspmW1taEEytKi2QK2C6vrKD7FOkQREhFLPcQK9EGGgkouw66f/Ev6qHzPkcsHbl4gQw7gD20gqUCVbRT2gpTcYsKaf7LZXoGq8IhdC+j3S2d+VAYd3bIkCGMBkB9LbsF5RnSi4YHuNebNm1Cm2lwwsACNELgCKECnma1DAHBu4xKQL0c78rAl51gSH2zshLBHjqlGdIygeTNM6K2L3zhC+Ds7373u2qZQseLNUOXgMguI3Q8DXwmx445XV7u6eefe+mVl0GxeJxc99lrK9LFsUAHjtcyIBImmVPGd750JvEYQgNPAGavNESGDgzXTj/3+/vvW75qVeB6E0aNufRjH3ezWVSSdGJ4TPuuFxM+XvnBy5evEaXYQ/d5oGW/E+XdRP9sOlVje8uWLQsXLlyyZMnhhx8+Z84cB6UwezMtx7AtJx4X67u+EccBridWKhg91jTaOtoF0ZhGznPFbyisGr8cunlhF75y29sC/t5y8teCU+aDL3puju7iIvCyKQt1G8T2/OX4xq4oNg9WRhjlysTPsiub6+iyc/6IulFDa4dUVVQUpMFPNld7BVWEKYuMfp1xkinBrIyWCui58MILr732WipWCVKEEkN6PhFT6EdPbKW+kEBDJzDqYmnWyVOAPABMqJPePyxsSE0w61E+TGyVghK0p7KyUtmAKmcp8I0RWoXS0JMkxDLKg6r7/qr0GGE4Xlyv6gSSa3SF3VBOBnK0OTEnmXDMXGfOMhxbPGntdMIpSImA3EBqN+dbZkFRoR2YvjRCwPVyRsSVekMCpepwNJjbtAeIXjs7nP2pepjhq2gRwfGAfsP1AkypO2dTaRmsLorgjp28a8qAmBu0zUABngKQTehU7nSsBGdhJby5KMN5SNTjitscISzJyQAvnLcM9SvuVPdF1cCVQUafILayYWwbA19ccskljY2NoO3zzjsPsM6YD8JLqafhzSEoQfhsscOQBb5EhLzRkhxYIiOMabiWgQHsy5I+w/lp5ZWWARCuB0QiCKkFzOj0Uz4Q6FNg4gmOqbkv52NeqCeyuh1JxF9fZRcyul++PUzDNctqOXBEcoCVH/2SN/0gJ6JyuB0dwM6c1Ens2ZiWPwMRXsuJtexo2t60tatNBOcSwZl96cjSM+DiHr0OpCGsAlnxpk+aVkE8XZCO11ZWVpSVFRUUJuMJx3aUm1fv+vvp90klaF1d3Te+8Q3qz8aPH88goxA6rRshLyroVPwR1YH12h/kU2MbymJSLQpHS/bslj527mz8ZJo9LKJ61bZz2/r8thf67Nwk8r0Ca8JZsiCNR6mXM/JZPY28mYcpI8RYfndd0ufG7POionEVdnXtva661/VGb8q/vFIF9zufVG0T1nfuFrVHMSVPvfMZgzDrW58NcHYbnXTn2qKxETgpuuaaazAg29raxo4dy0kR5y27qfYQEWYN7NER4bMukE8rU1gUGr4rNVaOuJ14tgT5NIBatAyQRPU4UW/sIJ/1wA+Eykk8SX3P9X03ZmPebmHi7sRjGTdnWqYtg8jR2UB4d/ExKOdsHPCW8pr+4C5Ti5a9E4ccYQg1g4iXlXBiqWTKicVs3+jKZnKeKx7ae/jYxi9BPPPdoHnDpljOS7pG0ornfNewbMGXhvk+XKfJOYHMyGXEbBEEp7ioqLSweEhVbUV5Bd7TJMgoDvaRLr0/hMvxZ5xxBhfcDak4pA7sEKcEPDcDpTU3grhlj6qrx0jysrmSZIHjGcBWQp+/C08+Lf0ieMmddtpptMFgJISWlhZl0kBDiw+6jR+o9AyNEobZ4htezu69wPaDsqKi4YPr0GPpRDKGwe3r3F1aBkRCu7sgEjtImW4beU2H7ZuCTYVlYE5MUAeVV3ZJK4LKygov8EU8SjvOXJf512J+wTSSJIjvyUAvM2g58MSRvrpyydiykk6spKCwvLKiUAbAz2WyIl+o51t7Pq7jlpXpysQyfmZby7DKGpCx73sSlwOlTN1ToZGEXAgWpgR4C8di8eLi4jJISUlJUXG5TCuglt33aZghKr24hkuTVrrSYwNtIM7uu7Pv12JitiI1goIDMDVyilIFUydOlgv/3pCKqpjX7VITWN1TjEO1v/at0HIdPxMGI7ND6RWn4lCTYKcNIxK4QCq2bGx4WTduWsNr6wqSaWEPI6IXJS3T1INVywCIWvQPjB7PSeXggbepA46lHsq0czk3noqPHDZ8UHUVRnBRQYFYLMq5gYxSLd6coQeFVh5oOWjEIUUADx3bTsYTJQVFtYOqawbXCleSnOvnPEzz9kxdI39ecdvG4ZmuLs/3Rw4R8fMZdZ8/ob3TAHmu60sDRIfmttK0MZlKCa/7dDqeTKQLClQkeaVq2kdq0SAiNLIEv9IW9pBGWGkkYNnyRvs0nLWLCwrGjRptx2O2acZyge0JVmAHHdqawIGQWCxG3y/+FvBbYaqIQ10La0TUqbQ+lHaE3AcswGgV3queG0smhtTU1g4ebFpmpqMzFUtYvs56oGWgJHR9NqIGMOHQ9T3XdOIykJY0lwqCZCJRXzdUuNJaZpDzErF4Zxa/98AKDBHS0LI9aQxn6sUELQeLOHRuMKVtAdgwbtlFyVR1WQVGuh+IeZ5t7uHrjqtynp+QrvE5GQNLOZSoEAd70VayqTqcb2V+ZFKxmEz+FE252W1U0N9C3/N0Oo1nAq6LubjwUadFMRTiG/k/uB+u5wausL22A/oq9Aggox+o+0joq9fW1qbC3DIIFx3UjIgT6KEoPWMYBT3/qgUjOU0NMIEWnqyuGzixINAjVstASdQqdud4WwH/C5Tfs/Rt8TxXGgriHR7rPiYspWdgWg4qyfuOWGLLckwzZlqFiVRFcamIwGUYVi/Hk/ci8jeSy2ST8bjJRM9hGiTlKb/XzSWkclsl7cz/Lu1we0B+pQyJT2FkfkazItQeyk8K8db3xOARARB8z815ze2ti5Yultla3XHDRtbXDAki6KCBYN8JunzHjh30L4x6gHH07ruVigNRor9YcECnJzMJJ+Jdnru6oWHdxo0okLDtwydNLoynbL0iq2WgJB/Mp6+5ky1+15Yf5GRiLuGo3dnVtWTZsu0tzRi9FWXl40ePEZaztvBUEEpYanX14NVyEIljhh63tmnFTMezY8lYoihVgGkbxj5jY+1FjIJUOmVJ4jRdB0xTUFDAoEJkUHNvE9/IjLLdrxvLzGM2NX5GJDhUPkDBTiGo+kvi8XgikWDcVloUqNPR+vBQflLIlG/5DsGjtTXTNf/dRa4RuNlsUWlJTd0QsbyVjwDcbfKlHQv2hQQyAS8jRRhhiFmOz0N5iJp9rQMw3pYwOhTLuL5lO1bMzgW5hi0b33xngejJZGrM+PGpeNLWky8t+15MI79uZUUCCPgRp1ih1hFKA0ZSDyzH7vK91esaVq9bg6NG148YO2q0I+NwSWcSV0SzFma0ofm3Fi0HvjgMtsk4BeJfEIh/GOIidocv48DawV5E2rIsYXgei9kypLyw0RGBab1ohNE9FTHblPZ8REYRg1ZmjqaKV/jF+30gLAN87qMXNjWvNPnluZj74FDXcgX5u+AZfiBjdG9s3GLEMJ/xOtysaxl2ZB3b1E/TfSm0uunq6sLvhY6PZhjW91BeMdhZgjCefCAXoQzH5nZgmx3Z7LaWZnRXa0e7Z8lvD2FDDC0DJ9F4sUEktnqYZE5MTcUvWrxx8f62bccMcq3trdt37DBcr6W8QoTqE7oo17Gc7vCCh/K7SctBJ5FolPmfigxA7/uB0NyI2d0e603lD8+XYGcZojKQbOD52WwWtCeiUAUGaHQv2ioC3clI5AHfIWBWP5BRt8RctZfyVW0rlt2LM/6L9oTWCypxgEIEunz1+xkHWJgpiv7szIyVTqeZ/auXZXN3XK1QRHIvMX6kA61tdWWzji2tDEyl6xLSV0RfLf0puH0qc5sRLkpofu1DQj4gLJgyinEgtViY1vvSvDsro29qBtAyYKLWqazIHiW+NPzLq2lEXA3bDHwvyIeGxe9e5KR1PfmKFI9iodKx9iLmkBYt+684pgyMJDZliESBHXhuB93ZGYNgbzjDc30nLuA1l8kI81WJyDGcCDjr/gsX/t2/JYRC1uj2oGKQcs/3op8HTMww95ISqn4PDh8verABXmnva4ZJUFUsXm4YPS036F2Xz3zEGA6BH3NEQBjcp0ii+g/02g4NoUUs7ohKnKH2a5DtLT3caMSo5XOIAbNNuVrl2I52j9EykNLLEdbo+eAU2gQqd4TLocWkBphnWaEqwaMJX37qmne31bpYLQeTdOtio7aJZpgG1tpb3nAsy5caIMFBrhuPxQrTafBne3t7V6ZrNwdae+VO1s1F+ufZf5JIJHbs2GHIxLD0YFu3bl1NTY0RRiGleSW5ls528m67kUgR8rnpBoPKKlxDZD1IWo4jzbxsjQJa9icxjbz1oYziF2DeZjuOxXArllOcTINmC1Mp05Ozff2g0TIAIt/HvinDwJk97GL5+BTGdXjVylha4qmbc4PASydShekCPHrTqbR4UBum48RwjApAaebzHegxrOVgkG6KDXb61zOvx54JUCabycZiseLCIsz81jU0GKFmyJDJAvo8ioHZ9/RcKgq0ptj+FTzv0uk02HTTpk24ZbW1tclksrW1lZyK7YQU4KxS1qJwPB4XHoFSLMO0AcGJ5NTxhwnPgpxbW1Ied7uzHnjaRkvL/iSRmbxp+YaZ8x3fGDqo2pswCd8mY/ECibZatAyM0CnFM3rk7oqKlV89FTm6Mq6H4TlsSF1BQVok8aqoNBiMS8y8pH/ITmnJtWg50MWJsmrQ69/7WPV14nEq5zLZzJKlSz//+c8z+2U2lzV2bZa3d2t19CzW0u+SSqUYVoKqVtDqFVdcMWnSpKqqKhrIMnVZYWEhjS8BsiiDoyxpl2V40hXPscqs4mlTploOnqBm2oo5fnfWgyDMEGxoEwMtAyg7r892p6kOZMCWmJOTU/FEPDZq2Ii6ujrMt7xMpiiZFkb4erBq2fcShDoag/liwwyxyq/Ay+XiTsyWWQ/wqM1kc+nCwnFjxo6RMXKAt8lkMtPe4Rme6Rsxx8HA9qSZvGnruZiWg0S6dbH0z43+C6gn2ytVWeB7sYQIUZnryriGv3j50m9/+9tDhw41MWv8V7iyp2lFou8hLf0o0SAPK1eu/NrXvvbAAw+sW7fu2GOPHTVqlCJXbIBcmc8Ch2QyGSfO6KTCPAt/gK/pVErl7jK996Xm16Klf6Rn7i7TiP41ZT4k8RvAGE7E4zErIXJ3WSKJp87dpWXgJDoue+0UEoTeXcIYz5CWsslEQuXuYnLa/EFyscw88N2OtWiJitPrcxBGnMmvzpvdSZyjfw3jX+wUs71A2JZlcln8sDq7uuYcd/yUyZNZxurXiaDyc9dI1L9C33Z6cb322mtA1WOOOWbFihVPP/309u3bhw0bVlxczLxlKIZJPx2JcrkcJvrStFoaYrl+e6Zr3aYN0to6qCmrrCwqVTp3P6oD06JlIKWn14wf+eRhMpbLiWm87eQ8r7Gpqal1B91nhtfVJ2yRuFsP2v/P3nmA21GV63/abqf3nJLklCSkAimU0AyBcOlSlN65gILgxXLx6tU/oqhX8aI+KpcriFdBQIqAhd6btBAgCSEkpJeT5KSdutvM/N+13j3rzElCUODsfTiulzybOTNr1loze/aa33zzre/Tyoc4F8vfKeuB/APPVD4NDWBTT5id0unM+g3tPekk+LU4kWgc0UB2NUTEaM93vcHLZ6mlVRDlKFa9uQj/MwfaKv4h2ZbtyfSzzNqczWQZJtaTFcsIWbvC35zTuf6NDRWpaPlYiMViZ5999mOPPfbSSy+98MIL3d3dbW1t0WiU5IrvGZgLkBU22mxWZD2QkdAyvtvZ2z1v4VtZDKGZzL57TSsvr7AH+nipxAfawqWVH+0m64F4bscDuOeKlEcRpy+bWrF29aKlS7A9EYvX1tU58WJLP3lpDb6Ui4vpD/CL7c96YHOYldExPddwrGQm/d7y5Ws3tmP7yIbG2uoaO5epHde0CLllBd6xerDVGh5y+jMaMNx3YHxVo7T68ezwZmP3Ky3HEbkARNRFO5VMitdz4CH59hm3Bo/hmWThHRzU9GyfoSPmJMP3SIssFurq6i644IKioqLnnntu3rx5PT092ISV4FdOgMWmeDxO8GVONSz1uZnFK5Z7pvDiahs7JuOI4DD2Dl+8llZBtfNjvPArdMysZ2zs3PbuquXi8o7FD/E/VWZpT3ytvCgIeLlD7i7GGGAIGFfahrDKk7ddz8u0d2xYtnI52DZi2Yz37ss4sZ4Mrm7ZOn2y1rDSQI+CcCBPP/gJfagLPitDDUQjUTfrbt+6jTPZRcoDxrF7n710JMYhpUgkkslk8N2pCLgA2dra2gsvvLCsrOzWW2/t7e0FyM6YMaOlpQUPKijM5AgGU0OJOjw8xtiOs72r00nExFstgy++Qs8/+jvXGgoy+0FWXL5Rk6RqObZvibyDeErrTvaatk57oJU/Md6lCgOXC5AebBWRYZiJ3RKOsXbEsXw/7boZ1/WybjqTiUYj2VQaV2/EydmPMB7rEVdrOGlHv1jq43q3m0ql+vr64vE4PrU7zidO/MoYDhYPIerrw/LJJ5/c1tZ28803P/nkkwyORousQQCQESpwv7eM/kcW39fJZrW0tLS0tLQ+NjlhZ4D+f/5HnXOjMrIaoVxcH0ixGnOHlLIyjTB9CYCq1dXVXV1dtbW1NKtPnjz5/PPP/93vfvfWW2/hcWXmzJnNzc1qNpjwHPFtEZLIN9xstqyk1BMZ3TK2NCpYfn/IWP2Vaw0J+blgRoZ8A+tlXUsmTcaC6RmOZdOjgPNj9GWrlR/RC3aHrAfKGoChWDpxZ30Pl66VNbK4cKO2HRFuA1Y0EkmnMxjBHTGdWs7uknmITGfX1istrU+i3tcWq6XF1Fy4Z2OsLC4uLikpue6665ih25ADKDbNmzdv3bp1S5cuBe+WlpbW1Ig42xnQakbc9S1pwU3YkQktbSKrTCZTU1TGrAdhHy8trYIr/PTOPJ0i60HWdzyjrrxifHMr1hTFYnHTNrVTrFZ+pLxcBs7uUn5/0j1PXrm+Z4mBV8xFqa/b30NoAAAgAElEQVQdAV7F2hEjRohkB2ISmMOMyqYlX435vs7dpTVspJ/JtN5XKkABCLWhoeHMM8+ki4iXy80tDK6NjY3pdPqRRx5Zv379pk2bIlJl5eXAWFHAcSKWVVZUPG3KniJ6rG/UV1aLrAeBMcG3+q3+2t1AK2/a5dxC+iDKVZyP6mfT2ZhltzaOqigtFyECPa84Gseznb5YtfIglZBSRXExBmY9wABtcQqXKeICZVLZeFF8TEtrQ1Mjht/ieCLiRNx02rfE5FtbRDs2cu9ItfFAa7hIU6zW+0qZXfFZVVV1ySWXMLuByoYAqC0uLsbnunXrent7t2zZEovFotFovCiBAdOxxAtZYce1ippHjnZi0YhlOxnPzvoqd5dOIKNVMA2MJGgxz6dcASiIRhw8nvle1onE6mpqa+rqRNaD3r54JKazHmjlT+HY7SpkbHDpep5rCjYVubtkcEM/Go00jKhXWQ8ikUg2lRIBtnzDxohs2Yx9+Y+mFtLSGrLSFKv1vhL5Y21buAjKYFtlZWWu6woDlfSXxSYwqyGNslu3bu3p6enu7u7r6wO2ZjIZbI06ERnG0Meg2dvXa2UzUdsuMiOWjLIVjrOmB1StAmhgqL/wX6BUEVrTEBe353updDblZrGcTaZipY7hv2+UFS2tj1kqsrqx04sD+T8ZtFJ4wOBCNaRxIZlMepmUiFtgmJGQC6ywwXqeDgSkNcykKVbrfZVKpfAoDyq1ZZRsjI+g1biUIwdH2mUZvoDuB6DYjo4OyxGP/V7Mc0Xqi/TWns43F8wXQ6zrTRwzrqVhpPIo8ELJL3TWA628aeesB37oBa58csvgSc2JRnuz6fdWrVixZjW2xCPRfaZNK4kmRFijAvVc659HuXCE/i5yd9EjwBFhDU3xxOV5tusbttWb7Fu8dEnHti0Yk2urayZPmGiLYIc2Luos5It3DpbOeqA1jKQpVut9xWgDWMhkMoyYVllZiTX4U8zcsixgbi6olmkmk0nGUxMJ2zJZP0hs4Rl+dyo5752FzJRYUVPVOGqkFcp6oAdTraEjxbLCacAyrIiV9YzVm9pfX7TA8/2SRGLinnsWRQvdS61/GjFoxg5ZD8JjpgBYkbtLBs5w7KyfXbl29bKVK1BoXOsYUCydByzTcn385xFhtbSGjTTFar2vQKiGjLeFT3rEEmHpToDlWCzGUFyGJN2enp7e3l41IQyFTGHOsi3H7ti6xY6JnBcpz82ahq0ywxk6iKzWkJAv83F4uawHphlxPBKDbeGi7Ur2ghNSmZQvYsWZOneXVj4UIKxK36WyxfBZSwzOvkgqK+YgWCYGW9P3e1PJ7r5eP+v29vVEIhFfZAfPOHYEQ7JwkLUsX0/t0hpGKph/F24J3d3dJB56XorXHdLn0gv57mAZbMRi/FMtqz+9QNzLlWJVfX19LI9PBueXrkFCf/3rX++55550Oh1ulz1BYa5kneFGU6mUatEPZMjRhLSnOqYa4qt21QS3sjOqMNfvsAsrRIvf+c533n33XdVi+DSyb0qqBh7IR/yOiKqMRQCiJbDiEzjLZeVLoA4KvWVwWXkYniviu4gXWGlsymRwZj0jiGak/mlpDQWpbHImIxiZvgiqIUJrCGgQfofCwzt4P6GllQ+Zu/qnlLsd4IpkhhkMy5ZI0OUxM62ISyCjbuTitstrV1++WsNLBaBY4A3YsbOz8/77729vbyfx8NeI5TvuuGPVqlVhPCWZKcw1JJKGCXKXTShMxILake+7WeEzzzzzxBNPGKG0t2F6DtfM8rtcJt3icHYgSCMEstjK8qRY4qYR0LZqlMeo+vnqq68+/vjjhPibbrppzZo16mywWLhR1VV1ZsIrP4rIrHboJZRC2J1v5qpp4VTgCp9YX/wDuPqxaEyMsvTuCv3T/gRaQ0WhzNvyt+2Zngym4WFBGGfxSBd1Ir6eHqOVR4VcXAZEiqVyr8LksCuuVDnk2rQ1iJdhVjb3ZsyUF3JugC7UsWhpDYYKQ7HgMFDsT37ykxUrVjDbUyQi3neAzL7zne8sXLjQCymRSCioJScpqypNg4akN1bOdKkGE0ybZjwe5740KDI4lHoDjvW2lDHQ7hjmM7ZrBNCJfirro4JIWj3RE6wR0Xlkx8Jsyk07WHYVxbIh4qnq/IMPPnjbbbfRIss0sGzOCOyvtCKr1/dheOWySJ61W9YfPOU6A371fAM04BtNdSNGVFbVllUUO1HHM2zpF2v7/ekPtLQKKzOUVQ78amRdS16ipusVRWPVZRXVZZX11bXCn9vTGKuVF8nBkY4uniX/cTlgWQzyDu5fvpg4i7ViQkLWLy0urSovr6qqKisp470JpQzf4J3AZ0oPbT/QGi4qgF8sbXvgSyCsEThfKtLiq39SWldXV09PD0oCZMvKylAymUwCf/HLJE1iPbb29fWtW7euoaEBC93d3ShZWVkZi8VQDz5RACWxCTvSLovl0tJSdAOtbNmyBXXy5XhxcTEqBBFiTUdHB6kXXcJ61El2xL7oEpZRDH2orq7mPKft27eDj2kiraurwy7YnROesFdvby/2wnriJtYztCqWi4qK0EMcmiJyLKxfvx4HgmUcFyosKSlB58Xcf1mA7/dxCNgkgqpIsXX0Jwyv5OkCvAG1TCK7OLGWXRZLTJ80JZXJ2KbVWFHD3F25r9uSaT/lsh5WtfKm3Wc9kKORZeKxMeNGfGt0Xb05WayKWU6xHbH1k5dWXsQEB7lIseHcXSrthu9jUBWhYUX0NxO3t2jMaRk5qqysFPeTmsoqyzRlyDhhiBW3GEYn0FkPtIaRCja7C2wHjCNgkbeAaLFAy5cvv//++++9995Vq1a1tbX9y7/8y5lnnjlhwoR33333D3/4A9AN64FrJ5988hFHHDF37txLL730uuuu+9WvfrVy5coLLrjgoosuKi8vZzRTFAZuPv/887/85S9feuklLO+zzz6f//znQZZr1679zW9+Qx+GkSNHXnjhhSeeeOKIESOWLVt266233nPPPSiz//77n3LKKXPmzKmtrUVtt912G8ovXbp07Nix6NJnPvMZrJ8/f/7vf//7p556Csza2tqKLp199tlY/9hjjz3xxBPEcRzvt7/9bbSyadOmRx999Gc/+9nmzZtR+IADDjjttNPQJRw+gR48+p//+Z933303zskDDzyADgOR0aW//vWvqA3Fpk6diqrGjx8PUpw3b97TTz+N04V9geDo0uTJk0G9phi8hBmYdeZVpnhQkdlkDBvfaSTixKLT9pqKoVbQumuGsx7ol1taQ0ThQG+2ZUftSDqTSafSsVh0THNrc0sLflPpvmRxLGEBCPQjl1a+lLvWwlkPArmZjB2JiNxdlmnbTiqdjsfiE8aNM6KOyE0rbrLxZHePK1+IRRwHA7Kbzbqep7MeaA0bFYBilZMr35LzjbmcPulxCjwwDvz33nvvXXnllWA1ANwLL7ywZcsWMOiLL77Y1NR05JFHYsd3pJ588klwXk9Pz4IFC7761a+WlZU1NDTE43HAK6gOzYFlQY1vv/32CSec8KUvfamyshLlUeaRRx7ZsGEDSPH6669H+VdeeeWtt94Ceu67776os66u7re//S36A2Bdv3793/72t1mzZqEk6vz6179eX1+PfRcuXAjWBDjeeeedQOpvfOMbjY2N7e3tDz30ELqH+lEAeHrwwQeDYlE/Ch9zzDGvv/76448//s1vfhNQDubGMriWNlpDGmLxCUgFia5evfqaa64Bwv7bv/3ba6+9dtRRR4HOcR6Ay9+XwinCUY8bN+7cc88FK6MMzg9q2HvvvWlUpok377bYYA4B/ycnyojXXuLTsfzcLPBc0fz2TEurXwNzd5nGgE/1s5Gjk+mIeeCmm/M78vWLA608KXxd7rBSLgTjbO7eIS9XPIU50kBrhGk1GI71oKs1rFQAiqXvKV/o02RIiiXGRaSAfZs3b8ZKUGxLSwvIFZ9PPPEEsO+0007DsiEtuM899xx2RxnscvTRR48dO5bohsqVv2lvby/wDnAMgmxtbeVLeUeqra3t2GOPxUr0p6amBqgKZq2qqnr++ecBjtOmTUO14No//elPwOiZM2fi8/LLL99vv/2qq6u3bdsGcPz1r3994okngmhBzyNGjJg6dSp6DgIGK6NRNDF9+nT0Fq2Xl5dj30mTJqE/ANPi4uLRo0ePGjUKPA0mVpO6IDTa3NyMdlHVjBkz0BCIHCg8e/ZsrOzr6wOXn3322VgJZsVeWI8DQROdnZ333XcfmgOIKyO3KxJtWzzqPInzzxhpwfPSmUxvX2bpimUZ141Y1si6+rqyKuWp6+lABVqF0sB8SF7oL9f3khkX16XlOBk3276pY9OWzWIOuGGMa22LO1Fbv5HVyo/48n+nrAf8A7TKONyGKzwGUDSZSq1avbor2YuHrtKiktEjR/IxzGCoHDfn6FWYY9HSGgQVxhYLMe2TmgXFZc7i50vzrVu3AgSXLVsGOgT8xeNxwOJLL70ESH300UdBcmBBYCXwjuCLMtgEsqRHJiphHlRo48aNoEwgIz1rRQg9KZDrhAkT2CswJT1iwYIrVqwAGTOePwAaXX3vvfdSqRQYF5WAULEvMBT0uXDhQnT7oIMOQj8ff/zxV155BVtnzZrFXdAuakPPeYwoDCRFzWvXrqXpF2g7efJkOsiquVk0S6t5Y+gtwBdHh6YxDKFmcCoQH8voDxZwmA888ADKo4fz5s0DVXMymSHdNlQ813zKl2+sxCOK4Wc8t7Ove97C+alMWvgdTtu3srLKCsIf0iqrc3dp5Vk75+4ygpngjKvle64IeByNpDPJFevXLFz8jvBij8UbRzZFtWusVl6Ue8IPwrkov1gvyN1lCuuPSHwgPnzXjFjpbHbZqhWr29ehXHPTyKaGBkfcAoSZyM2I2cS2JZwPDD3Yag0XFYBiFa5xfhJn0xtBaFg6y+6///7ARKAeWHD16tWLFi0666yzUBgUCASkwRJ7tbW1Ae8UlXK9mlek1tDom0gkSLfYkf4Mav6+QmoV2B/Uq6y2WGB5cLMhbcmKvPv6+lA//QTeeOONxYsXY+uaNWuuuOIK9BaICSBWPQFwNzc3T5kyBQcOHMemd955Z8mSJegPZ4mxewZTBkj6ZKAuTlBj91RkLpbHGcMJYeAFAPSBBx4IHDeC2XI4EBx1/inWFKOrECPJpzx3yarlGV+4w46fODFt52IUGMEYraVVcOUmzQT/xOQuy7BsPAqaW7q7lq9bgwKJaCwNXNBZD7TyIw6SA2O5EGHNICKcuJnK2VoyMjduEJlNWzpWr10Dsi2OJUS8WBCu5zoiUpxAXR0yVmuYqWAxCui+2d7evmnTJr5S7+zsBNVNmDChpKQEf06cOHHmzJlY+Nvf/nbVVVdhuaam5ogjjgAgggX5rry3txe1gQhp3KWpUs1nIhxzjj/Wg0GxACI0gtCtrATlGVvAkPhYVFRUW1vb0dGB5rAXSBQlR40ahU3jxo3buHEjSLqiogLgiE1jx44l/h5yyCFHHXXU1q1bn3322csvv/zMM89EJ/fZZ5/PfvazDXgadhxsSiaTgGPsCNCcPn06Vj755JM///nPly1bBmpHPeybIccmBmHALugYumRIyifa8rjoEYFz+JnPfAZtYRNOII6xvLycJdXjQf5fIeXia1umDLNpW47T3dtrROwIBll0xwzNsTU0xWoNDZn9ICsCbFomcMEVWT0tPH650kWmN9Un3s5qBtDKlxg3wzQG5O5SQ6aYVaKixorcXbhY/Yznidtb1s1kM7iPZFNp1/MNaY5BLaZl6RFXazipAPFiyY741Z199tlz58596qmnVq1aBWp8+eWXf/WrXx177LHAvoceeuj3v/898A6cClgEVoLk9thjD2x69NFHsR5sB+S95557nn/+eUKbISdy2TsliU4kEkBG7P76668DQHt6evr6+sxAQFjmmqINGAsjR4488MADb7311tWrVwMKn3vuOfQB9Nzd3Q02feONN95++20gKVrH8llnnQUqvfnmmx988EEALkNoNTU1oSpgN/7E0a1Zswbtvvjii3/4wx8WLlyIQwO5YndUgppLS0sNidq0KNNCjM/i4mJ0bN68eagKZ8CQUE4DJy3Z2AqERa+efvrp9evXo6to4oEHHkATjB3GE1IQF6hcZF/xmkvaCRjwiwZmlTxx5xDeWloF1A5ZD4KL0zcGXKW5MFxaWnmRv6t/uyjl+0Z/dPBwyp7QIrfq61dreKkAtliGJigvLz/mmGNGjBixZMkSICN4rrGx8fTTT582bVplZWV1dfUzzzxz++23A+BmzJhx1FFHTZw4EYXj8ThA7dxzzwUyTpkyBevHjRvH1Am7afG444575JFHbrzxRuAvdpw9e/YXv/jFkpISbALRAnMBr6BPEC1WtrS0gKRBnCeddBIIddKkSejn1KlT0frxxx+PLn3rW98CmAJ2jz76aKBqfX09en7XXXdde+216N6+++77ta99Ddg9a9YsgOm999773e9+F93bb7/9Pv3pT2MvNPrmm29edtllGzZsAIaihn322QfMakgHAJpgHcdBu0DYK6+8srOzk0FhaWlGl0D8OHsohsMvKysDyv/4xz/GgQDWsQadAbIXLMyWlB8k78Vw6mZFGIqK0rKUm8Wjhm2IKTJW6PlJG7a0hojURENxt89krYgjrtKMa3lG1LJxQZfEi4ysL7Me6MtWK0/i1eaF4morDhW2D5EsUWRzNA1LLHjZqB2JOo5h2bFoNJVOOYa4oRjCuJCbfWHmc7KvltYgqwAUy9cfNCuOHz++ubkZBEYPzpqaGnCkbdtgO9Dktm3bAG1gsqamJuAap3CBcUGZXV1dILmGhoa6ujog429/+1v+UHcp7HjAAQeMHj0aqIpiVVVVra2tn/3sZ8l5zASG+i+//PISKfTqrLPOArOidTSH1vGJPo8aNeqcc845/PDDgZXoFZoGwqK3oGTAK3ATYwTqwREBZ9Ho/vvvj0bB3Bg4UB7LaLq0tPSiiy7CLnQhwCEA2Y0g1yt9G7AMtEVzgPju7m6cmb322oumYpRE92655Ra0AvYFuQKvzzjjDDwGoDNYxjlkWi8GGiuIzFzybmGCtU2z2InuOW58Kp3GOFxXWhHNSqdYORJ72kdLa2jIpAOiXBYzZgzTdg0z4zue0VBVM3nseKxPRKIJ29HBYrXyJOXlMnB2VxhkheerTEKL/6Wzrm1bIxsabcfGn40jGmR5MQ6LTIryLiOrYF165NUaDipM1gM1pwp0SB9ZrrEC+gGhMnQ/yoBxOc2fkQHGjh27xx57cA4+U7Nir4MOOmg3r87RBPAOsEsfU7AgAdoP5bCFJk+eDPijHy22MnstA4GpHgJ/gY+qZuwLygQ+jhw5kp4AdLTlXmVS9LsFEDN6K44IlbS1tQFzcWg0l7I8E9KS77EjeBdHaoSiFjDOLjYdccQROCiatCsqKjj/jBPXmPZMheAFcMdisd0g/scv03AiuawHjmVFnUhFSem0KXtlfT9mOzUl5RHXUFkPOJDq3F1aedbOubv6I74JlrWitvj5ZNKZqGO3jRpdIx818QsvjibExa0vVq3Bl6/Sd3FGlx9M6grmFeCWIHLQWiI2LD7TmXQ8nhjXigt2NC7SeCQalX6xnumhgCPR1vc8kfXA1uZYrWGiglEs5+Mr9CQmEuZUMb4W5zLtlGp6vnIPDU9jej9hK7PaCld3KTUJjG/q6ZPKaAbYCn5l9CsVdVU5pNJvdYf15FcjF3HaUvGtGGQATXPymQpWwGLshgqU6wfZYtUCGVpZi1mM0J9IJOj8yjS5KEBnAzrCsi1DOm983F/dBwuDrW3ZDLFtmZZjO4mIUz+iHhvi0ZhA2Iync3dpFV7vn/UAv96IbYsIKp7rWLHK8oryykpczanevlgkYglv70J0WOufULvNeuD58iYoBlrcjGxcliIvelW1FYuIrAcZ13EimWSKzl0iGYJl4w5nFOK+oKU1SCpY1gMj4DY/cDYn4algUsQ1xnxV8EfSVTxKYqOx0wgSX+0sZSXFXqhQ5S/xg5isZFYjYEQVzUqtUcvKXErLKDbRuEtyDR8IZ7ARoAmjioB5+FjPnis+ZjKI3t5erGEoMVI1e8gm1CQw5ZXBQ2BhdXpVn9G9PE/w8jm2ymkEIoah56Zdb+u2rRhuY06kPFZU7MTChQ39ZkurIBqY9SD8Fy7fLH6t0jfG9b2e3mRPKomfFp4XI5XVjqH9CrXyJT8U3Dj87JR7i2VyLiJujaY06+CO0dXVlekW9qCI5Tjl5QaDy5rCL9b0RbCN/B+EltbgqTBZD/jaXZkhjcCkSvG1PtYkEgnQmyGBT9kd6fTJWVAKEHefWA+b4vE4GuX0KcaLJcLSH1f1is6pbI5NEBlVgjEFjgRo5rlltbQWq0Z7enqwhmZd9o1ETkpWdmjyKI+aJltUFbY0owlWyFC4RGF2m4yLOoGqWMmGeGg0x2IXI/+RtmT3BMDi6Dw3lcls6+uZN/+tFL5Tw9xrwqQxI5vtgbm7dNYDrTxr56wH/e6GJt8CucJDJxLpzabfW7Vy2coV2BiPxA7cb7/SWJEIa1Sgnmv98yhnh/V3kbuLI7olRnhpdpGIathWXyq1+L2lG7d0YMyvr63be8qeMraNbfq4d2Rd6flt6awHWsNIhbHFKrMlcCf8fh9YBmgD+ZWUlGBTKpVSIVQpEJuatIRKsDVsqX2/FlUBVRv9RGkT5UQxZctkDluDaf2CT7q6oiSnbXFHgjU9ENQRKacI+vUaoSwPirbDnhLKEEs7K5rAjvQ3oJMDadXsz5FtKXDnjvikjVlNm2PNBFw/yKSQT/lu7nGfk2K7U8k3Fi1IZTM4hrqGEaNamlXWA0MPplpDSYplPbrHRqyMZ6zZ1D5v0QJczKWJxNTp04tjH1yPltbHInpgWyGnF2/gmCkB1qOznenYWT+7au3qpSuW48aTbhsLimVsA8u0XF9koLV2632npfWJU2H8Yg3JdsQsAiXf+GOZUaLUW3uaQhkqVe1LpENhZbXd/ewlRZM0ZHKlyiBAYqYRlNZZ2lnDCMguEUyJpDSgMuct+x+2sCrjKw9KdU/5KhA9gek04rItNkHAVfO00AQTOpBQld+FIa2ztLYqs6s6XnV61ey0j+l7+7uk7NbijZdj2VF7S1en4djA/wwQt38eTW5iuJZWwcU8c16QuMuMOK7MemA4Fq7YpJsVP9A+z3ekHVa/ldXKgwKENf0BWQ9U0G1xsxA3KWm8sOSMCN9IZTOpTNpz3ZS8fXjpTDabwegrLSDijubruDBaw0gF8O9S9kLl6qoQkBPt+Voca2jpVOlY6SHKHcF/9J3lBCkjcAno6enBJvIfPvv6+sh/YX+AcH5XmjzVZCz1jp5dJTIqWynJUvngEg1puFUzvRQvsiRdCNhttsUCLEwbKm3ArJatK18LngFVnjCtuqEykNFDV+XUVfRvBH69aSkjyJqrzMwU1+C8sS3syNO7y6+PYdE+8Cs2medQnnj883J5EgPXgfA/La2hIDWNxuQglfMaMJnu06CHjJf3R0Ktf2rtPF6Gr75glA4GWzHWmkHiDnlXMoNrN8ioqEMbag0zFcAWSy60pZT3p/pU0KlgF58gMDXvnuCrrJLqJbsRvOJX0AkUu/7660877bRRo0axOZp1k8mkerlPYAWZFRUVKVJUmbTU/Yo9Ib0pHwAeC2doqZlYYVdUFVdB9ZwLtPgyJAIRE11atWrVM888s3HjRmw9/fTTp0yZwv6wWu5LP+BEIkHYJR+ro8BCV1cXD42ex1xQh8B2FfQbEppph+Yp5XOCAnplylVHpOqhH8j7fcWEYzGNwOPEumwiHkc/bFPaAejjFbwj02Oq1pCQnwtmJBbl1SuSzUr3GNOTl67hx/Bjdz2d/Egrb5LOLcLa5Km4BOFgsRj5xTAr5tPiqcvN4up0bcsS/2zDoRFE3CBMeVEHw7J2KtAaRirkXFsSXth+qWyfb7zxxmuvvUY6xOef//znZcuWsSSYD9AZDq2l6qHDKNmLJsYbb7xx7dq1NEzSB9cMAh0Q42jKJd6R21S8LfX2n1ZYY6Ax1QvN9FQMjR2BoXfccUdnZ6daaQQmVWVRptMCe86YDDi6xx9//MUXX1wvBahVcQyw9f7778dKZUBljC0ziEWASjZt2nTnnXeye0YAkTwQIwBQHqMhjcfKAExhTW9vr/JDoH9C2PmBTeOp4L777tuwYYP3gbNcg5hi8uz4jmE1NzQ11dQ2VNWURuMRz3AwkMp/2p1Aa4iIzi18dWtJuysvUcv1yxJFDbh6a+pG1dbjYjY9fdVq5UXyxuhLRxfX7Pd4UVkPgnsTNojJXR5Gb9evKisfUVNXP6K+srIyi3Fe3Bxzs0c4MhsDs9RqaX2iVbDcXZxoH2TG88hMWBOPx0Fpd911F5anT5/OaVU/+tGPrrzyytbWVvIlkwXQoEs+U1OdFPgCdrkGmximimZIbOJ8qbDrbVlZGbO8qklgDD6gYlcRfNFbuuGqeVR+EOiAtl4UXrFixSWXXDJ37tyWlhYjeKGPYsDE4uJi+vJCJSUlyt8AK5csWfLKK6+ceuqpRx55JKes0d7JV/w4G6itvr6egR16enoqKipUoDHUg90vv/zyOXPm1NTU7GBw5TCXkTJloFkvSIXATYRddI9AH54fZgRobkgfXLR71VVX/eIXv5g9e/buHZFtx+b4a1siXmxpvGjqxCnpbDZiWY2VNZFs4OMFVJB5Z3TWA608a+esB4ZkBsvIhZW3TcfwDC+djRhmc31j1MYPzcAFXBKJire0+mLVGnzlUh6YA2IUDMh64PuOzI/oi08rk0lH45GW0c2VVdW4SCvLyjECy7m2IuqhNNEaCmcLeWBaWh+fCjm7C0y2bds2P5TCoFwGt9u8efP27dsNGT1Avcrv7Oxcs2YNWGrEiBFASTy4kGcAACAASURBVOwIFOP0JhAVABFoa0jfANbMeFVcv3XrVtZDUyh3AZPxtX53d3dcCn1AtSiPR1jQHk2SqVQKDdHFFuhJ+MMa9IFeBEwtpl7f4xM1o8Xa2loWxkr6ABAfCZSbNm0qkjKkiReHtmHDhsMOO4wASuwmcGOva6+9tqmpif6+9KxA/ThF1dXVaBq7gEFRuKOjg8hOSyqOiw7EOAkMiIvW8Ynu0Z+Y2I19cQhoCAv4ROtYwOGwOdqn0Qpq7pRCzSjgyZy6u/xmxXlzIqYEYsey45FoJBbda/IUlfXADmU90DCgVTANzHpgyblcuawHIuecyHqQzWRi8VjLyNGjRzcz60EiEtNZD7TyJ9Pon06ggm0p74JsxnSiIpCWCJ/lJFOpRCw+rnWMynoQi0T7urtd1wMER0TyLpH1IIv7lPbk0houKhjFkva+/e1vP/roo6DV0tLS8ePHf/Ob3xwzZszVV199//33g6IefPBBZgEAtH3rW9/63ve+d9RRR1122WUXX3zxxo0b8WMEn5188slYA0oDaf30pz997LHHli5dCgw94YQTsAlNvPTSS7fddtsbb7wBGmtra/t//+//TZgwAfv+8pe/fO2118aNG4cOAAQvuuiimpqaF1988ZlnnqmoqEBPZs2aBar705/+9Le//Q3dQCfRyhlnnNHc3HzDDTe8/vrr6Mwtt9wC+hw5ciT6gD9ffvnlSy+9FD059thj8fm5z30O1dbV1aE51AkivOuuu+64446FCxcCiI8//vgrrrgC4P5f//VfN954I7o6efJkNPGXv/wFp4LGXezY3t5+ySWXfP/737/33nuXLFkyderUZ599dvHixTgWrD/yyCOfeuoptA6+PPTQQ3FCgLw4qCeffBKt4CSjoXPPPRcV3nfffWj6tNNOe/zxx+fOnYtGTzrppAULFtx5552kfJzS88477+ijj0ZVDz300K9+9av33ntv1KhRe+6555w5c/DwgFOKk4Da0DG0iO+uUBePlpaWlpaWllYBKFY+Coq5R2BEcNjpp5+eTqc3bdr01ltvATFvuummL3zhC319fSiGBXoOYOGYY4457LDDmpqawFX/8z//wxAEgDlA6s9+9jOA7913351MJi+88ELwFmquqqoCwGHflStXHn744Wefffa2bdvefPNN1P/lL38ZlWzevHnFihUzZsz4zne+gzIPPPBAbW3tpz71qSOOOALF/vd//3fKlCkAwbVr106bNg0kh6oelQLMoelVq1YB6UByIGZgLlASHQa8ArUBr9dff31rayvolq/+6bEKjgQpgoNHjx4NRgfyAtaxC/qMrWDTa665Bj1v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GUhDrpQJZMojzx30k+0H9m3dtRN7C+KJqupqJ1Hk5TvkJuMJMNQAvS2BUOCkdevWATGvuuoqYN9RpVQq1dHRATScOnUq9oMawalPPvnkL3/5S7x93/ve98gjjyxevPiOO+4ArAwODgLagH0gTuAaOGz16tU33ngjmO8d73gHttHoxz72MQbT/fWvf/2Wt7zl5ptvFipWFM2H0Pr16++9915gH+r/0Y9+dN11182aNQtYySVNhw8fxrF4u3z5crSCmh988MEvf/nLH/nIR+iHih4uXbp09uzZKPme97wH4PvOd74TO59++umvfOUraAX4CL689NJLUS0qxEeAXcAfjgUfz5kzB/tB2yD4b3/725iQD3/4w6jn+9///vvf/360izHio5/97GcYYKcS4HvGjBmASMAlQBndvuSSS4DdBw4ceOihhx544IGrr776F7/4BVD4+uuvB2JyFBgj50F/C/gK0C66ARoGFILIZ86ciUMwLnA5WsTcglzR/49+9KOXX345eo6vDN8RiPYf/uEffvrTn775zW/GbL/hAAU4xwJfLhorLCjAFRXXVWmXFZYb8+TJ6TMUgwikZVZxsmsPpVI729sPHjkMbm1qaKiurHLsTBiG0JcFbeV6IszF1mi0yFCsUf4lgxM5KlSQiAIhBv301vZdoSX8dHrshHETXLW06+WeiUZGZ12nhH07LZixLWzXCkJxtLtz255dYJHCeMGSpUtLR+B+i+ufwE90e2Uo0H379h08ePD2228Hb/X19VVVVVVUVBxW+v3vfw+826fESLFgTYAMKuG6KHAh3VjpIVBbW1taWorCjz32GDCUvrDpdJqrtXA46Y1rp/AWzWEP+Bh7wHAoSVeH3/72t2BHYCL2c5FWcXExCoDh5s6dS8dcQCf2oxJgJWobP378xRdfjP2APDQ3UQmVAysZfuH5558HdKKrGzZs4Pq2PXv2AEax3draeuWVVzJdxbRp07hcjL4WjL2FbYwXFNvT04OxAy6vuOKKD37wg/Pnz8en3d3da9eu/bM/+7Pt27dj7AwXsG3bNny0cuXKv/7rv6YFmgEN0AE63Yps4DNH0R4tl6gZhAoa3rx5Mycc9xIYOAaITnZ1deFTTDK+KQyf3skMwsDYBXThff2nhThx7PjWLVvGjxvXVN/gOK660wlw9tmew9MmUMYClbsDp6sThulDR4/s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pVKptGrVKmYzTbds2bJ27VpYedVVV33mM5/56Ec/umfPHqC2XV1dV1999Vvf+lZYPz4+/u1vf/sHP/jBrl27gEpeccUVf/qnfwq7P/roo08//fRzzz03Ojq6bNmyT3ziEytWrID1X//61+Glyy+//P77729qavrABz4AfPRnP/vZM888A08/9rGPXXfddXDqF1544ec///m+ffvgdEBS3/jGN8JVff/73//Wt771tre9DR7hSnp7e9/xjne85S1vOXTo0F133XXkyBE4Ghzkfe973z333HOyt1/LxKr+TUr55YxNCQRQn0qYC3DjKrQZYXoi5WBS+yVpOEL9wKd1mSdqfhM97WSWm26sfKJbJhAaCMRiZwTQWdx6660XXXQRjJWBYm7YsOHzn//8pz/9aWCK27Zt27x5M7BVYJZjY2Of+9zngJW+6U1v6u7uzmaz73//+8vlMtDWvXv37t69+4EHHgB6+vjjjwOhvPHGG3EbILiwjda6WCwuX758yZIlQJrXr1//hS984VOf+tSiRYsOHjz44osvXnrppR/5yEd27tz5n//5n52dnRdffDEcavv27bAZ7AKnfvbZZ+EgQJRhd6DC8BQODicCVg1s+I477pBSbtq0CdbDOwJe+3u/93v/7//9v9/8zd+88MIL4WinePsYWta2mEDFRuG2KZePmDIJWppjmhevFYZTn0qYE9BVMSNmU2J0YtSIjJhGrLhiprybs1yQMS/RuItQL2g7ISCs9wFCpQb+RmYRutk4saUFIjGG4bEvhAcdrcd9z0eRGSm5bdS1bplUYwkNBGKxMwJgh5dddtnq1auFEEePHgUSef/99wNxvPzyy4Eglkqld73rXZlMBhb+4z/+Y9WqVfAU5bde97rXZazhyq5du4B9PvLII7ASuOwNN9xw8803L1iwAHUD0PcLCOtrXvOavr4+WPnUU0/97u/+7oc//OGlS5fC09bW1muuuWbNmjXAhh966CHY5rbbbuvp6QGy+41vfOPIkSNPPvnksWPHgGpfddVV6F77t3/7t/39/bBve3v7TTfdBFcFK4Fww3rgxECvf+3Xfu0zn/kMXCHw6VMnP3DBq+IGRo+bBVwuHViE1V3tuUKQmEwvzMhWjEIDhDkBXhOW51aZyNgmQ3tNtFS6o6llaH6/qe7KZAMjG6tp8EWoB3hNHVZPcj1w1ls2d0sa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) + +## Scenario 2 consists of the following steps: + +1. The LEXS SR Client collects the search terms from the user and assembles an XML document that is passed to either the doTextSearch or doStructuredSearch operation. +2. The LEXS SR Server fulfills the search request and returns a doSearchResponse message contain summaries of data items that match the search terms. +3. The LEXS SR Client presents these search results to the user and provides them links to select one or more attachments to view for each data item. Viewable attachments are those whose "lexs:AttachmentLink/lexs:AttachmentViewableIndicator" element contains the value "true". In the case that there is more than one attachment for a data item, the + +value of the "lexs:AttachmentLink/lexs:BinaryDescriptionText" element can be presented to the user to distinguish between them. + +Alternatively, the link(s) can be limited to a specific attachment type by parsing the digest (if available) in the doSearchResponse message. For example, if the Client should only display links to mug shots (and not other kinds of images), it can parse the doSearchResponse message to find the attachments referenced from "lexs:EntityPersonFacialImageAssociation" elements for a particular data item. + +4. For each attachment that the user selects, the LEXS SR Client determines whether it needs to retrieve that attachment from the server. It may not need to retrieve the attachment if it has previously been cached, as described in section 7.3. If it needs to be retrieved, the LEXS SR Client assembles an XML document containing the appropriate attachment URI, that is passed to the getAttachment operation. +5. The LEXS SR Server fulfills the request and returns a getAttachmentResponse message that includes the attachment embedded in "lexs:Attachment" element in base-64 binary format. +6. The LEXS SR Client parses the getAttachmentResponse messages and stores the attachment file in a designated location. +7. The LEXS SR Client presents the attachment to the user. + +## 7.1.3 Scenario 3: Retrieving attachments with search results + +Scenario 3, depicted in Figure 33, involves displaying selected attachments alongside the data item information in the search results. For example, the Client might display a list of people, and show the mug shots alongside the name and other summary information about that person. This is similar to Scenario 2, except that the user is not required to click on a link before viewing the attachment. This requires the Client to retrieve the attachments before displaying the results to the user. + +Figure 33: Scenario 3: Retrieving attachments with search results + +![Image](data:image/png;base64,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T7a2toLwiMyi0WhdXR1h3MGDB7ds2ULWRKzBW7W1tcXFxbt27Wpvb58+fTrwsaenB/3MnTsXXeEldtHd3Y1t0XjChAnEduh/w4YNGEBfXx8gEuuxSWFhocJtpWJm/LXXXmtubkazxx9/HFzY0NBQUVHR0tICThU0iZ2i5d69e/fs2bNo0aJDhw51dnaiz0svvRSD3L59e1tbGwaJ9WiPzcePH49DxoHgALHHiRMnlpeXo/Njx46hByApqBrrS0pK0FIgKZ09rz14NCqrPpNXWfWZdE21CTMZjGJV38DAwcOH8P3XFbV6bKVbGILSMWa+RRljuT5a0wtISb1DWYpzpK3lreNH8CBaHC64Ip2yWDwTd9PK8Gfmy6+KX9WwG0IO3yGkLlRJHh0VEndq27WYOpqaUuxkMt4fi2mOTuYi3KM1bh0d/fOzZ5DXVOmdTAePAhOffvrphx9+GGgYiURmz5593XXXrVq1Cqi3devWV1999e233yaj5tSpU2+44QZwG3hu06ZN99xzD2AOaEJb3XnnnZMnT37ooYfefPPNT37yk1jYvXs3urrooouAoU8++eTq1auxBjudNWvW3/3d34FKY7HYxo0bjxw5gk2AhpMmTUL7a665BpsonrSjGOSvf/3r559/Hsz6hS98AZj4ta99bf78+c8+++zx48epAUb4uc99rrKy8uWXX/7973+fSqXwLhh0xowZaAmU/MMf/vDSSy9dffXV69evxx5ByR/+8IdxaDjwjo4OsOzy5ctxdIBpnA0MHlQaDocbGxuvvfZaHODYsWPJNkxnUmSzGtVyCzpkSHJIzhqRIFa0dWwFz2BaOm3FEnGf359KpvBEYOrMOArk13jJiEwmKctCD7rkUak8kqNpadWJp5N6bMDhsXw8Fz6vz5exgg65/jtDl+WPQSoXJXl0NAr3YzZLy6aBGXakFYsHNmVimHIaRhW31pF31p6OKBQK/elPfwKfffWrX21oaMACAHH//v1o9sorr+zatWvcuHHgPLTcsWMHGPT+++//xje+UVRUBHAE56W4QJmvvfbav/7rv957773otq2traWl5a677hozZkx5eTlA87e//W1PTw8YFKBJU/9lZWWARTJnAkA//elPYxfA37Vr12Jh5syZgD/K8QT69Pl83//+90tKSjC2X/7yl2iAga1ZswZEu3LlSlDjoUOHMLYH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) + +Scenario 3 consists of the following steps: + +1. The LEXS SR Client collects the search terms from the user and assembles an XML document that is passed to either the doTextSearch or doStructuredSearch operation. +2. The LEXS SR Server fulfills the search request and returns a doSearchResponse message contain summaries of data items that match the search terms. +3. The LEXS SR Client parses the doSearchResponse message(s) to retrieve a list of appropriate attachment URIs for the data item(s) in the search results. The Client may not need to retrieve all attachments for the data item if some have previously been cached, as described in section 7.3. It then assembles an XML document that is passed to the getAttachment operation. It lists all of the necessary attachment URIs by specifying multiple "lexs:AttachmentURI" children of "lexssr:getAttachmentRequest". + +In most cases, the Client will retrieve attachments of a particular type. For example, if the Client will only display mug shots (and not other kinds of images) next to the person search results, it can parse the doSearchResponse message to find the attachments referenced from "lexs:EntityPersonFacialImageAssociation" elements. + +4. The LEXS SR Server fulfills the request and returns a getAttachmentResponse message that includes the attachment embedded in "lexs:Attachment" element in base-64 binary format. +5. The LEXS SR Client parses the getAttachmentResponse messages and stores the attachment file in a designated location. +6. The LEXS SR Client presents the search results, including the relevant attachments, to the user. + +## 7.2 Attachment URLs + +Attachments in LEXS are identified by URIs, which are simply unique strings. The URI does not indicate the actual location (URL) of the attachment. When a LEXS SR Client that supports rendering instructions (hereafter referred to as a "Rendering Client") performs a search, it will retrieve the attachments associated with a data item and make a copy of them locally (whether it is in a database, file system or other mechanism). Therefore, the actual location (URL) of the attachments is determined by the Rendering Client when it retrieves it. + +However, some XSLT rendering instructions need to be able to generate HTML that refers to attachments (most commonly, images) in order to display them or provide links to them. The XSLT stylesheet has no inherent knowledge of where the Rendering Client will place the retrieved attachments. + +Therefore, a common approach is needed for how Rendering Client applications should turn the URIs into URLs, so that: + +- the authors of rendering instructions know how to refer to the images in the HTML generated by the XSLT stylesheets, and +- the implementers of LEXS search systems know where to put the attachments so that they are referenced correctly. + +## 7.2.1 Escaping the Attachment URIs + +Because attachment URIs are unique within a data source, the URI itself can serve as an identifier for the attachment. However, the URI must be escaped in such a way that it can be included in the URL used to retrieve the attachment. + +For example, the attachment URI: + +http://www.usdoj.gov/DOJ/JABS/LEXS/PHOTO/Per12346/001.jpg + +can uniquely identify the attachment, but it cannot be used as a parameter within a URL, as in: + +http://www.clientapp.net/getAttachment?partner=dhs.icepick&uri=http://www.usd oj.gov/DOJ/JABS/LEXS/PHOTO/Per12346/001.jpg + +because the colon and slashes in the attachment URI have special meaning that will affect the interpretation of the entire URL. + +Therefore, attachment URIs must be escaped using the standard URI escaping rules defined in section 2 of RFC 3968: Uniform Resource Identifier (URI): Generic Syntax . 3 For example, the attachment URI: + +http://www.usdoj.gov/DOJ/JABS/LEXS/PHOTO/Per12346/001.jpg + +## becomes: + +http%3A%2F%2Fwww.usdoj.gov%2FDOJ%2FJABS%2FLEXS%2FPHOTO%2FPer12346%2F001.jpg + +An example of a URL that a Rendering Client might use to access this attachment is: + +http://www.clientapp.net/getAttachment?partner=dhs.icepick&uri=http%3A%2F%2Fw ww.usdoj.gov%2FDOJ%2FJABS%2FLEXS%2FPHOTO%2FPer12346%2F001.jpg + +This approach has the benefit of being a standardized, reproducible mapping from the URI to a unique identifier that can be used as a parameter in a URL. The escaping mechanism will be used both by the Rendering Client in generating IDs to retrieve specific attachments, as well as in the rendering instructions (in XSLT). The XSLT will generate an HTML document that contains, in the case of images, an "img" element that points to the correct location, as in: + +<img src="http://www.clientapp.net/getAttachment?partner=dhs.icepick&uri=http%3A%2 F%2Fwww.usdoj.gov%2FDOJ%2FJABS%2FLEXS%2FPHOTO%2FPer12346%2F001.jpg"/> + +Although the more common example is images, the escaping mechanism applies to all kinds of attachments. For example, XSLT stylesheets may include other XSLT stylesheets as separate attachments, or refer to external CSS stylesheets. These files will also be identified by attachment URIs that need to be escaped. + +The table below lists the specific characters, identified as reserved characters in RFC 3986, that must be escaped, along with their escape value. The escape values are case-sensitive, and should always be in upper case. + +| Character | Character Description | Escape Value | +|-------------|-------------------------|----------------| +| | space | %20 | +| : | colon | %3A | +| / | forward slash | %2F | +| ? | question mark | %3F | +| # | hash mark/pound sign | %23 | + +| Character | Character Description | Escape Value | +|-------------|-------------------------|----------------| +| [ | left square bracket | %5B | +| ] | right square bracket | %5D | +| @ | at sign | %40 | +| ! | exclamation mark | %21 | +| " | quote | %22 | +| & | ampersand | %24 | +| $ | dollar sign | %26 | +| ' | apostrophe | %27 | +| ( | left parenthesis | %28 | +| ) | right parenthesis | %29 | +| * | asterisk | %2A | +| + | plus sign | %2B | +| , | comma | %2C | +| ; | semicolon | %3B | +| = | equals sign | %3D | +| < | less than | %3C | +| > | greater than | %3E | +| \ | backward slash | %5C | +| | | vertical bar | %7C | + +Note : Other characters, such as non-ASCII accented letters, also have escape values. These special characters will already be escaped in the attachment URIs and do not need to be further escaped by this process. + +## 7.2.2 Formulating the URL + +The beginning of the URL (before the escaped attachment URI) is determined by the Rendering Client. For example, the text in blue in this example is specific to the Rendering Client: + +http://www.clientapp.net/getAttachment?partner=dhs.icepick&uri=http%3A%2F%2Fw ww.usdoj.gov%2FDOJ%2FJABS%2FLEXS%2FPHOTO%2FPer12346%2F001.jpg + +Although attachments URIs must be unique within a partner system, their uniqueness is not guaranteed across all partner systems. Therefore, the full URLs of the attachments should include some designation of the partner system. + +The example above shows an additional parameter being passed ( partner=dhs.icepick ) with the attachment location that specifies the organization name and system ID. Another example is: + +http://www.clientapp.net/dhs.icepick/getAttachment?uri=http%3A%2F%2Fwww.usdoj .gov%2FDOJ%2FJABS%2FLEXS%2FPHOTO%2FPer12346%2F001.jpg + +The syntax for specifying the partner system in the beginning part of the URL can be decided by the Rendering Client. + +Because the author of the rendering XSLT has no prior knowledge of the beginning of the URL, it must be passed to the XSLT as a parameter. Each rendering instructions stylesheet that needs to display attachments will have a parameter named "attachmentLocation". The stylesheet will concatenate the value of the attachmentLocation parameter to the beginning of each escaped attachment URI, resulting in correct URLs in the HTML. + +If the attachmentLocation parameter is not passed to the XSLT, or it is a blank value, the rendering instructions will not display the images. + +In the XSLT rendering instructions example below, the attachmentLocation parameter is defined. It is then used at the beginning of the value of the "src" attribute of the "img" element, which contains the URL of the image. + +``` + +``` + +## 7.3 Caching of Attachments + +Rendering Clients are encouraged to cache attachments in order to improve performance and reduce bandwidth, memory and disk space requirements. + +Because the attachment URIs are only guaranteed to be unique within a partner system, the caching strategy should take into account that the attachment URI alone is not sufficient to uniquely identify and retrieve a cached attachment. + +Images and pre-rendered representations of data items should be treated like data. They should not be cached for more than twenty-four hours. Additionally, they should be considered transient; they should not be permanently archived or backed up. + +XSLT rendering instructions and CSS stylesheets, like other attachments, can be cached. Because rendering instructions change very infrequently, they can be cached less frequently. Retrieving the rendering instructions once per day is sufficient to ensure that up-to-date stylesheets are being used. + +## Appendix A - Entity examples + +A very simple but technically complete example of a person entity is shown below. + +``` + John Jacobs +``` + +Obviously, the example above (XML example for Person 'John Jacobs') is a very simple example and both LEXS and the underlying NIEM structures provide a very rich set of elements that can contain a considerable amount of information relating to a person. Thus, a more detailed person sample may be represented by the following XML fragment: + +``` + 25 30 Taz 1972-05-09 BRO BRO 66 72 INH Billy Bob Guy White M 987654321 +``` + +``` +200 250 LBR +``` + +## Below is an example for EntityLocation. + +``` + 12 Main Street Apt. 2234 Smallville WV 33445 42 12 20 42 12 20 +``` + +## Appendix B - LEXS 3.1 Associations + +The following sections group the various associations in LEXS based on LEXS entities. The LEXS associations include associations from NIEM core and NIEM domains, as well as LEXSspecific associations. Not all NIEM associations are imported into LEXS, only those believed to be of greatest utility to LEXS and which associate objects that are included in LEXS. + +## Associations Involving Persons + +| j:AccompliceAssociation j:ActivityAssistingPersonAssociation j:ActivityClearerPersonAssociation j:ActivityDispatcherAssociation j:ActivityEnforcementOfficialAssociation j:ActivityInformationAbstracterPersonAssociation j:ActivityInformationApproverAssociation j:ActivityInformationOwnerAssociation j:ActivityInformationReleaserAssociation j:ActivityInformationReporterAssociation j:ActivityJudicialOfficialAssociation j:ActivityUnknownAffiliateAssociation j:IncidentInformantAssociation j:IncidentInvestigatorAssociation j:IncidentItemObtainerAssociation j:IncidentUnknownAssociationPersonAssociation j:SubjectInvolvedPersonAssociation lexsdigest:ActivityPrimaryPersonAssociation (3.1.4 and later) lexsdigest:ActivityResponsiblePersonAssociation (3.1.4 and later) lexsdigest:ArrestOfficerAssociation lexsdigest:ArrestSubjectAssociation lexsdigest:BailBondAssociation (3.1.1 and later) lexsdigest:BoyfriendGirlfriendAssociation lexsdigest:CaregiverAssociation lexsdigest:CellmateAssociation (3.1.1 and later) lexsdigest:ClientAssociation lexsdigest:DeclarationPersonAssociation (3.1.1 and later) lexsdigest:DeliveryAssociation lexsdigest:DocumentAuthorAssociation (3.1.4 and later) lexsdigest:EmailMessageAssociation lexsdigest:EntityEmailAssociation lexsdigest:EntityInstantMessengerAssociation (3.1.4 and later) lexsdigest:EntityNetworkAddressAssociation (3.1.4 and later) lexsdigest:EntityTelephoneNumberAssociation lexsdigest:HomosexualAssociation lexsdigest:IncidentReportingOfficialAssociation lexsdigest:IncidentSubjectPersonAssociation lexsdigest:IncidentVictimPersonAssociation lexsdigest:IncidentWitnessAssociation | lexsdigest:InmateApprovedTelephoneListAssociation lexsdigest:InmateTelephoneCallLogAssociation lexsdigest:InstantMessengerAssociation (3.1.4 and later) lexsdigest:ItemLienHolderPersonAssociation lexsdigest:NetworkAddressAssociation (3.1.4 and later) lexsdigest:OffenseSubjectPersonAssociation lexsdigest:OffenseVictimPersonAssociation lexsdigest:OffenseWitnessAssociation lexsdigest:PatientAssociation lexsdigest:PersonArrestLocationAssociation lexsdigest:PersonBirthLocationAssociation lexsdigest:PersonContactAssociation (3.1.4 and later) lexsdigest:PersonFoundLocationAssociation (3.1.1 and later) lexsdigest:PersonLastSeenWitnessAssociation (3.1.1 and later) lexsdigest:PersonOfInterestAssociation lexsdigest:PhysicalMailAssociation lexsdigest:ServiceCallCallerAssociation lexsdigest:ServiceCallDispatcherAssociation lexsdigest:ServiceCallOperatorAssociation lexsdigest:StudentAssociation lexsdigest:SubjectVictimAssociation lexsdigest:SubjectWitnessAssociation lexsdigest:TelephoneCallAssociation lexsdigest:VictimWitnessAssociation lexsdigest:VisitorAssociation (3.1.1 and later) nc:AcquaintanceAssociation nc:ActivityInvolvedPersonAssociation nc:ActivitySupervisorPersonAssociation nc:AuthorityFigureAssociation nc:BabysitterAssociation nc:CohabitantAssociation nc:CoworkerAssociation nc:DomesticPartnershipAssociation nc:FamilyAssociation nc:FriendshipAssociation nc:GuardianAssociation nc:ImmediateFamilyAssociation nc:LocationNeighboringPersonAssociation nc:MarriageAssociation nc:NeighborAssociation | +|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| + +| nc:OrganizationPrincipalOfficialAssociation nc:PersonActivityInvolvementAssociation nc:PersonAssignedUnitAssociation nc:PersonAssociation nc:PersonConveyanceAssociation nc:PersonCriminalOrganizationAssociation nc:PersonCurrentEmploymentAssociation nc:PersonCurrentLocationAssociation nc:PersonDetainmentLocationAssociation nc:PersonEmploymentAssociation nc:PersonEmploymentLocationAssociation nc:PersonFormerEmploymentAssociation nc:PersonGangAssociation nc:PersonInvolvedInDrivingIncidentAssociation nc:PersonItemAssociation nc:PersonKnownPreviousLocationAssociation | nc:PersonLastSeenLocationAssociation nc:PersonLocationAssociation nc:PersonOrganizationAffiliationAssociation nc:PersonOrganizationAssociation nc:PersonOwnsItemAssociation nc:PersonPossessesItemAssociation nc:PersonPrimaryWorkerAssociation nc:PersonReferralWorkerAssociation nc:PersonTemporaryAssignedUnitAssociation nc:PersonWorkerAssociation nc:ResidenceAssociation nc:StrangerAssociation nc:TransportationAssociation scr:AdoptedChildAssociation | +|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| + +## Associations Involving Organizations + +| lexsdigest:BailBondAssociation (3.1.1 and later) lexsdigest:CaregiverAssociation lexsdigest:ClientAssociation lexsdigest:DeliveryAssociation lexsdigest:EmailMessageAssociation lexsdigest:EntityEmailAssociation lexsdigest:EntityInstantMessengerAssociation (3.1.4 and later) lexsdigest:EntityNetworkAddressAssociation (3.1.4 and later) lexsdigest:EntityTelephoneNumberAssociation lexsdigest:IncidentSubjectOrganizationAssociation lexsdigest:IncidentVictimOrganizationAssociation lexsdigest:InmateTelephoneCallLogAssociation lexsdigest:InstantMessengerAssociation (3.1.4 and later) lexsdigest:ItemLienHolderOrganizationAssociation lexsdigest:NetworkAddressAssociation (3.1.4 and later) lexsdigest:OffenseSubjectOrganizationAssociation lexsdigest:OffenseVictimOrganizationAssociation lexsdigest:PatientAssociation lexsdigest:PhysicalMailAssociation lexsdigest:StudentAssociation lexsdigest:SubjectVictimAssociation lexsdigest:SubjectWitnessAssociation lexsdigest:TelephoneCallAssociation lexsdigest:VictimWitnessAssociation lexsdigest:VisitorAssociation (3.1.1 and later) nc:ActivityInformationAbstracterOrganizationAssociation nc:ActivityInformationClearerOrganizationAssociation | nc:ActivityInvolvedOrganizationAssociation nc:ActivityPrimaryOrganizationAssociation nc:ActivityReportingOrganizationAssociation nc:ActivityResponsibleOrganizationAssociation nc:ActivitySupervisorOrganizationAssociation nc:ItemHolderAssociation nc:ItemMoverAssociation nc:LocationContainsOrganizationAssociation nc:LocationEmergencyServicesAssociation nc:LocationOrganizationAssociation nc:LocationPoliceDepartmentAssociation nc:OrganizationAssociation nc:OrganizationGangAssociation nc:OrganizationItemAssociation nc:OrganizationOwnsItemAssociation nc:OrganizationParentAssociation nc:OrganizationPossessesItemAssociation nc:OrganizationPrincipalOfficialAssociation nc:OrganizationSubsidiaryAssociation nc:PersonAssignedUnitAssociation nc:PersonCriminalOrganizationAssociation nc:PersonCurrentEmploymentAssociation nc:PersonEmploymentAssociation nc:PersonFormerEmploymentAssociation nc:PersonGangAssociation nc:PersonOrganizationAffiliationAssociation nc:PersonOrganizationAssociation nc:PersonTemporaryAssignedUnitAssociation nc:VehicleTowerAssociation | +|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| + +## Associations Involving Locations + +j:ActivityLocationAssociation lexsdigest:CreditCardBillingLocationAssociation (3.1.4 and later) lexsdigest:IncidentLocationAssociation + +lexsdigest:OffenseLocationAssociation lexsdigest:PersonArrestLocationAssociation lexsdigest:PersonBirthLocationAssociation + +| lexsdigest:PersonContactAssociation (3.1.4 and later) lexsdigest:PersonFoundLocationAssociation lexsdigest:PhysicalMailAssociation (3.1.1 and later) lexsdigest:PropertyRecoveryLocationAssociation lexsdigest:PropertySeizedLocationAssociation lexsdigest:ServiceCallDispatchLocationAssociation lexsdigest:ServiceCallLocationAssociation nc:ItemLocationAssociation nc:LocationContainsOrganizationAssociation nc:LocationEmergencyServicesAssociation nc:LocationNeighboringPersonAssociation nc:LocationOrganizationAssociation | nc:LocationPoliceDepartmentAssociation nc:PersonCurrentLocationAssociation nc:PersonDetainmentLocationAssociation nc:PersonEmploymentLocationAssociation nc:PersonKnownPreviousLocationAssociation nc:PersonLastSeenLocationAssociation nc:PersonLocationAssociation nc:PropertyCurrentLocationAssociation nc:PropertyDispositionLocationAssociation nc:ResidenceAssociation nc:VehicleGarageLocationAssociation scr:LocationAssociation | +|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| + +## Associations Involving Items, including CreditCard (3.1.4 and later) , Drug, Explosive, Firearm, Substance, TangibleItem and IntangibleItem (3.1.1 and later) + +lexsdigest:ArrestInvolvedWeaponAssociation lexsdigest:CreditCardBillingLocationAssociation (3.1.4 and later) + +lexsdigest:IncidentEvidenceAssociation (3.1.1 and later) + +lexsdigest:IncidentInvolvedItemAssociation + +lexsdigest:IncidentWeaponAssociation + +lexsdigest:ItemAssignedNetworkAddressAssociation (3.1.4 and later) + +lexsdigest:ItemAssignedTelephoneNumberAssociation (3.1.1 and later) + +lexsdigest:ItemEmailAddressAssociation (3.1.1 and later) + +lexsdigest:ItemInstantMessengerAssociation (3.1.4 and later) + +lexsdigest:ItemLienHolderOrganizationAssociation + +lexsdigest:ItemLienHolderPersonAssociation + +lexsdigest:ItemNetworkAddressAssociation (3.1.4 and later) + +lexsdigest:ItemTelephoneNumberAssociation (3.1.1 and later) + +lexsdigest:OffenseInvolvedItemAssociation lexsdigest:OffenseWeaponAssociation + +lexsdigest:PropertyRecoveryLocationAssociation + +lexsdigest:PropertySeizedLocationAssociation + +nc:ActivityItemAssociation (3.1.1 and later) + +nc:ItemContainerAssociation (3.1.1 and later) + +nc:ItemHolderAssociation + +nc:ItemLocationAssociation + +nc:ItemMoverAssociation + +nc:OrganizationItemAssociation + +nc:OrganizationOwnsItemAssociation + +nc:OrganizationPossessesItemAssociation + +nc:PersonItemAssociation + +nc:PersonOwnsItemAssociation + +nc:PersonPossessesItemAssociation + +nc:PropertyCurrentLocationAssociation + +nc:PropertyDispositionLocationAssociation + +## Associations Involving Conveyances, including Aircraft, Vehicle, and Vessel + +lexsdigest:ArrestInvolvedWeaponAssociation lexsdigest:IncidentEvidenceAssociation (3.1.1 and later) + +lexsdigest:IncidentInvolvedItemAssociation + +lexsdigest:IncidentWeaponAssociation + +lexsdigest:ItemLienHolderOrganizationAssociation + +lexsdigest:ItemLienHolderPersonAssociation + +lexsdigest:OffenseInvolvedItemAssociation + +lexsdigest:OffenseWeaponAssociation + +lexsdigest:PropertyRecoveryLocationAssociation + +lexsdigest:PropertySeizedLocationAssociation + +nc:ActivityItemAssociation (3.1.1 and later) + +nc:ItemHolderAssociation + +nc:ItemLocationAssociation + +nc:ItemMoverAssociation + +nc:OrganizationItemAssociation + +nc:OrganizationOwnsItemAssociation + +nc:OrganizationPossessesItemAssociation + +nc:PersonConveyanceAssociation + +nc:PersonItemAssociation + +nc:PersonOwnsItemAssociation + +nc:PersonPossessesItemAssociation + +nc:PropertyCurrentLocationAssociation + +nc:PropertyDispositionLocationAssociation + +nc:TransportationAssociation + +nc:VehicleGarageLocationAssociation (Vehicle only) + +nc:VehicleTowerAssociation (Vehicle only) + +## Associations Involving Activity + +| j:ActivityAssistingPersonAssociation j:ActivityClearerPersonAssociation j:ActivityDispatcherAssociation j:ActivityEnforcementOfficialAssociation j:ActivityInformationAbstracterPersonAssociation j:ActivityInformationApproverAssociation j:ActivityInformationOwnerAssociation j:ActivityInformationReleaserAssociation j:ActivityInformationReporterAssociation j:ActivityJudicialOfficialAssociation j:ActivityLocationAssociation j:ActivityUnknownAffiliateAssociation j:IncidentInformantAssociation j:IncidentInvestigatorAssociation j:IncidentItemObtainerAssociation j:IncidentUnknownAssociationPersonAssociation lexsdigest:ActivityEmailAddressAssociation (3.1.4 and later) lexsdigest:ActivityHashAssociation (3.1.4 and later) lexsdigest:ActivityInstantMessengerAssociation (3.1.4 and later) lexsdigest:ActivityNetworkAddressAssociation (3.1.4 and later) lexsdigest:ActivityPrimaryPersonAssociation (3.1.4 and later) lexsdigest:ActivityResponsiblePersonAssociation (3.1.4 and later) lexsdigest:ActivityTelephoneNumberAssociation (3.1.4 and later) lexsdigest:ArrestInvolvedWeaponAssociation lexsdigest:ArrestOffenseAssociation lexsdigest:ArrestOfficerAssociation lexsdigest:ArrestSubjectAssociation lexsdigest:IncidentArrestAssociation lexsdigest:IncidentEmailAddressAssociation (3.1.1 and later) lexsdigest:IncidentEvidenceAssociation (3.1.1 and later) lexsdigest:IncidentInvolvedItemAssociation lexsdigest:IncidentLocationAssociation lexsdigest:IncidentInstantMessengerAssociation (3.1.4 and later) lexsdigest:IncidentNetworkAddressAssociation (3.1.4 and later) lexsdigest:IncidentOffenseAssociation lexsdigest:IncidentReportingOfficialAssociation lexsdigest:IncidentServiceCallAssociation lexsdigest:IncidentSubjectOrganizationAssociation lexsdigest:IncidentSubjectPersonAssociation lexsdigest:IncidentTelephoneNumberAssociation (3.1.1 and later) lexsdigest:IncidentVictimOrganizationAssociation | lexsdigest:IncidentVictimPersonAssociation lexsdigest:IncidentWeaponAssociation lexsdigest:IncidentWitnessAssociation lexsdigest:OffenseEmailAddressAssociation (3.1.1 and later) lexsdigest:OffenseInstantMessengerAssociation (3.1.4 and later) lexsdigest:OffenseInvolvedItemAssociation lexsdigest:OffenseLocationAssociation lexsdigest:OffenseNetworkAddressAssociation (3.1.4 and later) lexsdigest:OffenseSubjectOrganizationAssociation lexsdigest:OffenseSubjectPersonAssociation lexsdigest:OffenseTelephoneNumberAssociation (3.1.1 and later) lexsdigest:OffenseVictimOrganizationAssociation lexsdigest:OffenseVictimPersonAssociation lexsdigest:OffenseWeaponAssociation lexsdigest:OffenseWitnessAssociation lexsdigest:PersonOfInterestAssociation lexsdigest:ServiceCallCallerAssociation lexsdigest:ServiceCallDispatcherAssociation lexsdigest:ServiceCallDispatchLocationAssociation lexsdigest:ServiceCallEmailAddressAssociation lexsdigest:ServiceCallInstantMessengerAssociation (3.1.4 and later) lexsdigest:ServiceCallLocationAssociation lexsdigest:ServiceCallNetworkAddressAssociation (3.1.4 and later) lexsdigest:ServiceCallOperatorAssociation lexsdigest:ServiceCallTelephoneNumberAssociation nc:ActivityInformationAbstracterOrganizationAssociation nc:ActivityInformationClearerOrganizationAssociation nc:ActivityInvolvedOrganizationAssociation nc:ActivityInvolvedPersonAssociation nc:ActivityItemAssociation (3.1.1 and later) nc:ActivityPrimaryOrganizationAssociation nc:ActivityReportingOrganizationAssociation nc:ActivityResponsibleOrganizationAssociation nc:ActivitySupervisorOrganizationAssociation nc:ActivitySupervisorPersonAssociation nc:PersonActivityInvolvementAssociation nc:PersonInvolvedInDrivingIncidentAssociation nc:PersonPrimaryWorkerAssociation nc:PersonReferralWorkerAssociation nc:PersonWorkerAssociation nc:PreviousActivityAssociation nc:RelatedActivityAssociation nc:RelatedCaseAssociation | +|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| + +## Associations Involving Email + +lexsdigest:ActivityEmailAddressAssociation (3.1.4 and later) + +lexsdigest:EmailMessageAssociation + +lexsdigest:EntityEmailAssociation + +lexsdigest:IncidentEmailAddressAssociation (3.1.1 and later) + +lexsdigest:ItemEmailAddressAssociation (3.1.1 and later) + +lexsdigest:OffenseEmailAddressAssociation (3.1.1 and later) + +lexsdigest:PersonContactAssociation (3.1.4 and later) + +lexsdigest:ServiceCallEmailAddressAssociation + +## Associations Involving InstantMessenger (3.1.4 and later) + +lexsdigest:ActivityInstantMessengerAssociation (3.1.4 and later) + +lexsdigest:EntityInstantMessengerAssociation (3.1.4 and later) lexsdigest:IncidentInstantMessengerAssociation (3.1.4 and later) lexsdigest:InstantMessengerAssociation (3.1.4 and later) lexsdigest:ItemInstantMessengerAssociation (3.1.4 and later) lexsdigest:OffenseInstantMessengerAssociation (3.1.4 and later) lexsdigest:ServiceCallInstantMessengerAssociation (3.1.4 and later) + +## Associations Involving NetworkAddress (3.1.4 and later) + +lexsdigest:ActivityNetworkAddressAssociation + +lexsdigest:EntityNetworkAddressAssociation (3.1.4 and later) + +lexsdigest:IncidentNetworkAddressAssociation + +lexsdigest:ItemAssignedNetworkAddressAssociation + +lexsdigest:ItemNetworkAddressAssociation + +lexsdigest:NetworkAddressAssociation + +lexsdigest:OffenseNetworkAddressAssociation + +lexsdigest:ServiceCallNetworkAddressAssociation + +(3.1.4 and later) (3.1.4 and later) (3.1.4 and later) (3.1.4 and later) (3.1.4 and later) (3.1.4 and later) (3.1.4 and later) + +## Associations Involving TelephoneNumber + +lexsdigest:ActivityTelephoneNumberAssociation (3.1.4 and later) lexsdigest:EntityTelephoneNumberAssociation lexsdigest:IncidentTelephoneNumberAssociation (3.1.1 and later) lexsdigest:InmateApprovedTelephoneListAssociation lexsdigest:InmateTelephoneCallLogAssociation lexsdigest:ItemAssignedTelephoneNumberAssociation lexsdigest:ItemTelephoneNumberAssociation lexsdigest:OffenseTelephoneNumberAssociation (3.1.1 and later) lexsdigest:PersonContactAssociation (3.1.4 and later) lexsdigest:ServiceCallTelephoneNumberAssociation lexsdigest:TelephoneCallAssociation + +## Associations Involving Hash (3.1.4 and later) + +lexsdigest:ActivityHashAssociation (3.1.4 and later) + +## Associations Involving Document (3.1.4 and later) + +lexsdigest:DocumentAuthorAssociation (3.1.4 and later) + +## Associations Involving Package Structure + +The following associations are related to linking elements to other elements or Attachments which maybe inside or outside a package. + +lexsdigest:EntityAttachmentLinkAssociation lexsdigest:EntityCrimeSceneImageAssociation lexsdigest:EntityItemImageAssociation lexsdigest:EntityPersonFacialImageAssociation lexsdigest:EntityPersonImageAssociation lexsdigest:EntityPersonSMTImageAssociation lexsdigest:EntitySupportingDocumentationAssociation lexslib:SameAsPayloadAssociation (3.1.1 and later) + +## Appendix C - LEXS 3.1 Roles + +The following sections group the various roles in LEXS based on LEXS entities. The LEXS roles include roles from NIEM core and NIEM domains, as well as LEXS-specific roles. Not all NIEM roles are imported into LEXS, only those believed to be of greatest utility to LEXS. + +## Roles of Person + +| em:Resource | j:IncidentSubject | +|--------------------------------------------------------|---------------------------------------------| +| j:AppellateCaseDecisionIssuingJudge | j:IncidentSupervisingOfficial | +| j:AppellateCaseNoticeProsecutingAttorney | j:IncidentVictim | +| j:ArrestOfficial | j:IncidentWitness | +| j:ArrestSubject | j:Judge | +| j:Attorney | j:JudicialOfficial | +| j:BailSubject | j:Juror | +| j:BookingEmployee | j:MissingPerson | +| j:BookingReleaseCorrectionsAnalyst | j:MissingPersonLastSeenWitness | +| j:BookingSearchOfficial | j:PropertySeizureSeizingEnforcementOfficial | +| j:BookingSubject | j:RegisteredOffender | +| j:BookingTelephoneCallSupervisingOfficial | j:RegisteredSexOffender | +| j:BookingTransportOfficial | j:SentenceSubject | +| j:CaseJuror | j:ServiceCallDispatchedOfficial | +| j:CaseWitness | j:SeverityLevelAssignedJudge | +| j:ChargeSubject | j:Subject | +| j:ChargeVictim | j:Suspect | +| j:CitationIssuingOfficial | j:VerdictIssuingJudge | +| j:CitationSubject | j:VerdictSubject | +| j:ConvictionSubject | j:Victim | +| j:CourtEventJudge | j:VisitationSupervisingOfficialEnforcement | +| j:CourtOrderDesignatedSubject | j:VisitationSupervisingOfficialJudicial | +| j:CourtOrderIssuingJudicialOfficial | j:Witness | +| j:CourtOrderServiceOfficialEnforcement | lexdigest:Informant | +| j:CourtOrderServiceOfficialJudicial | lexdigest:Inmate | +| j:CustodyTransferReceivingEnforcementOfficial | lexdigest:OtherInvolvedPerson | +| j:CustodyTransferReleasingEnforcementOfficial | lexdigest:Parolee | +| j:CustodyTransferSubject | lexdigest:Prisoner | +| j:EnforcementOfficial | lexdigest:Probationer | +| j:ForceSubject | lexdigest:ProtectedParty | +| j:ForceVictim | lexdigest:SupervisionSubject | +| j:IncidentAssistingOfficial | nc:Lessee (3.1.1 and later) | +| j:IncidentReportingOfficial j:IncidentResponseOfficial | nc:Lessor (3.1.1 and later) | + +## Roles of Organization + +j:ChargeSubject + +j:ChargeVictim + +j:CitationSubject + +j:ConvictionSubject + +j:CourtOrderDesignatedSubject + +j:CriminalOrganization + +j:ForceSubject + +j:ForceVictim + +j:IncidentSubject + +j:IncidentVictim + +j:SentenceSubject + +j:Subject + +j:Suspect + +j:VerdictSubject + +j:Victim + +lexdigest:SupervisionSubject + +nc:Lessee (3.1.1 and later) + +nc:Lessor (3.1.1 and later) + +nc:VehicleBrander + +## Roles of Item + +em:Resource + +j:ChargeVictim + +j:IncidentVictim + +j:ForceVictim + +j:Victim + +nc:Weapon + +## Appendix D - Search Result Paging Support + +There may be cases where a search query results in more hits than can be returned, either because the user requested fewer or because the service provider limits the number of hits that can be returned. Users, or applications acting on behalf of a user, must be able to specify a maximum number of hits that should be returned. + +## Limiting the number of hits + +doTextSearch and doStructuredSearch requests include a mandatory element called MaxItemMatchesRequested. This element allows the query to specify the maximum number of hits that should be returned in the response. Note that the service provider may return less than this either because of fewer hits or because the service provider has a lower limit for the number of hits that can be returned. + +If a service provider has more hits than can be returned in a single response, the service provider limits responses based on the type of search performed. Responses to structured searches are limited based on dates, with the most recent being returned for the initial query. Responses to unstructured searches are limited based on whatever relevancy score is used by the service provider, with the most relevant being returned for the initial query. + +For all responses, the service provider populates three elements. + +- ServerLimitFlag, a mandatory Boolean element to indicate whether the number of hits was limited due to a service provider limit. True means the number returned was limited due to a server restriction. +- MaxItemMatchesRequested, a mandatory numeric element, which contains the value supplied in MaxItemMatches in the doStructuredSearch or doTextSearch. This makes the quantity originally requested readily available to any client application consuming the response without having to refer to the original query. +- NumberItemMatches, a mandatory text element to indicate how many matches there really were. This is a text field so that the service provider does not necessarily have to determine an exact number, which may require retrieving a large number of hits. For example, if 20 hits were requested and there are really 50 matches, the service provider can count the actual number of matches and populate NumberItemMatches with the value 50, or the service provider can skip counting all the matches and return the string 20+ to indicate that there were more than 20. + +Service providers may support the capability to return additional hits when all hits cannot be returned in the initial response. Since some service providers may not want to retain any state information about searches and responses that have already been processed, LEXS SR provides a mechanism to support the request for additional hits without requiring service providers to maintain state information. However, since other service provider may retain state information, LEXS also supports an identifier that can be used to facilitate requests for additional hits. + +If supported by the service provider, when there are more hits than can be returned in the response, the service provider populates an optional text element called MatchEndPoint. This can be utilized in a follow-up query to get the next set of hits. If the response is from a 'next' query, the service provider populates an optional text element called MatchBeginPoint. These point elements are used by a service provider on a 'next' or 'previous' query to determine what set of data to return, and could be timestamps, or relevancy scores, or record numbers; but are only intended to be meaningful to the service provider. + +Service providers that retain information about what hits were returned in response to queries can populate an optional text element called ServiceProviderSearchID with a value that is meaningful to the service provider for returning additional hits. This allows the service provider to utilize any state information it may retain so that it does not have to rerun the query again to get the next or previous set of results. Service providers define this value; requesters merely copy the value back into the follow-up query. + +## Requesting additional hits (next/previous) + +If supported by the service provider and the user's client application, additional hits may be requested if there are more hits than can be returned in the initial response. So for example, if the maximum number of hits that can be returned is 20, and there are 50 hits in total, the next 20 can be requested (hits 21-40). Once hits 21-40 are received, the previous 20 can also be requested (hits 1-20) or the next 20 (hits 41-50 in this example). + +In order to get the next set of hits, the client application submits the same search query that was used to generate this set of results, but also populates an optional text element called MatchBeginAfter to indicate to the service provider where the next set of hits should start. MatchBeginAfter is populated with the value of MatchEndPoint in the response the user is following up. + +In order to get the previous set of hits, the client application submits the same search query, but also populates an optional text element called MatchEndBefore to indicate to the service provider where the previous set of hits should end. MatchEndBefore is populated with the value of MatchBeginPoint in the response the user is following up. + +In either case, if the response that is being followed-up included the element ServiceProviderSearchID, then the follow-up query must populate the ServiceProviderSearchID with the value provided in that response. Service providers define this value; requesters merely copy the value back into the follow-up query. Note that a service provider may provide different values for this element for each set of hits; for example, the service provider may supply one value that indicates to it that the set returned was hits 1-20, and a different value to indicate that another set includes hits 21-40. + +## Examples + +Original query requests no more than 20 hits, and there are 50 matches. Namespace aliases are left out to simplify examples. MatchEndPoint, MatchBeginPoint, MatchBeginAfter, and MatchEndBefore are shown here as timestamps, but could be anything meaningful to the service provider. Sequence shown may change in the actual schemas. + +## Example 1 + +Service provider does not retain any state information about previous searches and responses, and supports next and previous queries. + +## Initial search result + +- <ServerLimitFlag>false</ServerLimitFlag> +- <MatchItemMatchesRequested>20</MatchItemMatchesRequested> +- <NumberItemMatches>50</NumberItemMatches> <!-- could be populated with 20+ --> +- <MatchEndPoint> 2006-12-01T09:30:47.0Z</MatchEndPoint> + +Follow-up search for the next 20 hits (includes same search criteria as initial search) + +- <MaxItemMatches>20</MaxItemMatches> +- <MatchBeginAfter>2006-12-01T09:30:47.0Z</MatchBeginAfter> + +## Second set of results + +- <ServerLimitFlag>false</ServerLimitFlag> +- <MatchItemMatchesRequested>20</MatchItemMatchesRequested> +- <NumberItemMatches>50</NumberItemMatches> <!-- could be populated with 20+ --> +- <MatchBeginPoint>2006-11-30T09:30:47.0Z</MatchBeginPoint> +- <MatchEndPoint>2005-12-01T09:30:47.0Z</MatchEndPoint> + +Follow-up search for the previous 20 hits, which is actually the original 20 (includes same search criteria as initial search) + +- <MaxItemMatches>20</MaxItemMatches> +- <MatchEndBefore>2006-11-30T09:30:47.0Z</MatchEndBefore> + +## Example 2 + +Service provider does retain state information about previous searches and responses, and does support next and previous queries. + +## Initial search result + +- <ServerLimitFlag>false</ServerLimitFlag> +- <MatchItemMatchesRequested>20</MatchItemMatchesRequested> +- <NumberItemMatches>50</NumberItemMatches> <!-- could be populated with 20+ --> +- <MatchEndPoint> 2006-12-01T09:30:47.0Z</MatchEndPoint> +- <ServiceProviderSearchID>ABC123</ServiceProviderSearchID> + +Follow-up search for the next 20 hits + +``` +(includes same search criteria as initial search) 20 2006-12-01T09:30:47.0Z ABC123 Second set of results false 20 50 2006-11-30T09:30:47.0Z 2005-12-01T09:30:47.0Z ABC124 +``` + +- <!-- doesn't have to be different ID, up to service provider to determine how to track --> + +Follow-up search for the previous 20 hits, which is actually the original 20 (includes same search criteria as initial search) + +- <MaxItemMatches>20</MaxItemMatches> +- <MatchEndBefore>2006-11-30T09:30:47.0Z</MatchEndBefore> +- <ServiceProviderSearchID>ABC124</ServiceProviderSearchID> + +## Example 3 + +Service provider does not support next and previous queries. + +## Initial search result + +- <ServerLimitFlag>false</ServerLimitFlag> +- <MatchItemMatchesRequested>20</MatchItemMatchesRequested> +- <NumberItemMatches>50</NumberItemMatches> <!-- could be populated with 20+ --> + +## Appendix E - Error/Warning Categories + +The following warning and error categories are provided in an enumerated list for the AdvisoryCategory element. The list below breaks them out separately for warning and error for organizational purposes; the enumerated list in schema is not separated into warning versus error lists or sections. Note that some warnings might become errors. For example, if an unsupported element is provided in a search query and that is the only element provided, the query cannot be processed and the result should be an error; versus an unsupported element that can be ignored with the result based on remaining elements. + +For Errors: + +- Network failure (e.g.. cannot contact service provider) +- Invalid Response (response from service provider cannot be processed) +- Invalid Request (service provider could not process incoming request) +- Timeout (service provider did not respond in allotted time) +- Business Rules Not Met (e.g. service provider requires SSN in query, but query didn't provide) +- Next/Previous Not Supported +- Structured Search Not Supported (structured search submitted, but service provider or data owner only support unstructured searches) +- Unstructured Search Not Supported (unstructured search submitted, but service provider or data owner only support structured searches) +- Fuzzy Match Not Supported +- Wildcards Not Supported (service provider does not support wildcard queries in unstructured searches) +- Logical Operators Not Supported (service provider does not support logical AND/OR queries in unstructured searches) +- Phrases Not Supported (service provider does not support exact phrase queries in unstructured searches) +- Invalid Attachment Requested (service provider received request for invalid Attachment) +- Invalid Data Item Requested (service provider received getDataItem request for data item that does not exist) +- Other Error (for errors that don't fall into categories above) + +For Warnings: + +- Query Object Not Supported (e.g. query was on vehicle and service provider doesn't handle vehicles) + +- Query Field Not Supported (e.g. query was on SSN and service provider doesn't include SSN) +- Query Operator Not Supported (e.g. query included a wildcard and service provider only does exact) +- Quantity Mismatch (user asked for maximum # of hits, service provider supplied different #) +- Pointer Information Only (service provider can only return contact info for follow-up, but no data) +- Multiple Values Not Supported (search query included multiple values for a search field, but service provider only supports single values) +- Other Warning (other issues that don't fall into above categories) + +## Appendix F - Data Owner/Submitter and Message Origin/Destination + +LEXS 3.0, which was limited to PD, only provided a mechanism to indicate where a message came from, which was generally assumed to be the data owner. However, there are cases where an owner may publish data to another system, and the second system may then publish the data to a third system; so owner versus submitter can become murky. Therefore, LEXS 3.1 PD explicitly labels the data so that there is no confusion about who the owner is versus a submitter that may not own the data. LEXS SR search responses also explicitly indicate the owner, versus the responding system, versus the system that submitted the data to the responding system. The different terms and their definitions and usage are discussed below. + +## Organization and Placement + +Data Owner is for an individual data item for both PD and SR. + +Data Submitter is for an entire message for PD since all submissions in a single message are from the same submitter. Data Submitter is for an individual data item in SR. For SR, service providers may not retain information about the submitting system, so in this case Data Submitter is optional. + +Message Origin and Data Submitter for PD are synonymous, so Message Origin is not included in PD. For SR requests, the Message Origin indicates the system making the request. However, for SR responses, the Message Origin indicates the responding system, which may be returning data from multiple submitters and/or multiple data owners. + +Message Destination applies to SR and specifies the service provider the message is intended for. + +## Scenarios and Usage + +This section provides examples of how the Owner, Submitter, Origin, and Destination are used and populated. + +For PD, assume that SysA owns a record, and submits to SysB which then submits to SysC, which in turn submits to SysE. In this case, SysA must be specified as the Owner in all cases. The Submitter is the 'last' submitter in the chain; so for the example above, when SysA submits to SysB, SysA is the Owner and Submitter, but when SysB submits to SysC, SysA is still the Owner, but SysB is the Submitter. This is illustrated in top portion of Figure 34 below. + +For SR, assume that SysF performs a search that matches the data submitted by SysA above, and that SysD directly submitted another record to SysE that also matches the search criteria. As is shown in Figure 34 below, the query will have SysF as the Origin and SysE as the Destination; while the response will have two hits, with SysA and SysD, respectively, shown as Owners. Since the SysA record was submitted to SysE by SysC, the response shows SysC as the Submitter. SysE is shown as the response's Origin since SysE is the one actually providing the hits to SysF, and SysF is listed as the Destination in the response. + +Figure 34 - Example of Data Owner, Data Submitter, Message Origin, and Message Destination + +![Image](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABPwAAAM0CAIAAACgQ6v2AAAgAElEQVR4nOzdBzzU/xsA8Dt771E2qYiE7L1XUgmV9t5bU1Ea2r/2v0FbU6JCSEuhKe1tpJ29OXf/h9MlzspxF8/75eV/vvcdn+v/e+7zPN/x+RApFAoBIYQQQgghhBDqjNiY3QCEEEIIIYQQQqi9YNGLEEIIIYQQQqjTwqIXIYQQQgghhFCnxcHsBiCEEEII/Y3s7Oy0tLSMjIzS0lLaQnl5eVFRUS0trfY4Ynl5eXqNHz9+wJ88PDxlZWUiIiJKNQQEBNrjoAghhNoIi16EEEII/XuysrLOnTt35cqVt2/f8vPzc3JywkKoRbt16yYrKzt9+nRHR0fGHrGwsPDSpUtRUVFPnjwpLi4WFhZWV1d/8OABGxubhoaGvb29m5tb9+7dGXtQhBBCbYdFbzMqKiqgQ42NjU1OTqYthN7UyMjIzs5OX1+/nY4LnWhAQMDnz59HjRo1bdo0Hh6edjoQQl0QhUKJiYmBuL516xZtoZSUlKmpqYWFhbm5OQOPBbG8Z8+ep0+f1luura0tKipqa2sLeTmRSGTgERHqIsLDw7du3SonJzdmzBgtLS1qR5mWlnbz5s3z589DJRwfHw8FMKMOB1VuSEgIHJGLi8ukhrS0NLx2cXG5f//+5cuXb9++zcfH5+npiV02QgixGiJOWdQEqHi3b9++Y8cOEonUt29fNTU1WJiTk/Po0aMfP3707t17+fLlrq6u7XFod3f3yMhIaIC4uPibN2/ExMTa4ygIdU27d+/euHFjaWmphoYGhDYsKSgoePjw4ZcvX1RUVBYuXDhixAhGHev69evwRfHt2zcjI6O6gQx5eWZmppCQ0JIlS2bNmsWowyHURWRkZMybNw/q3v/9739jx47l5eWlvZWenm5rawvxdfLkSShBGXK4ysrKqKioOXPmkMnkpUuXDh06tG45DYnB2rVrDx48CJXwli1bqN8qCCGEWAde6W1KeXl5YGAgdKXBwcEGBgZcXFywsKqqCrpSqIShN42NjdXX15eWlmbscV+/fv3hwweosY2NjUNCQo4ePTp37lw2Nhx1DCHG8PPzq6ioOH78OGSo3NzcsAQS2c+fPx84cAAS6OjoaHNzczk5OQYeEcIZKts+ffrQluTn58+YMQO+Q6AxWPQi1FqvXr36+PEjvIDis27FC5SUlKAMvnbtGlSq8Gdubu7+/fslJSXd3NzgN221rKysmzdvcnJyWlpaQj+enZ1979492C10/dQVoAu2sLCg3ohRUlJy4sQJKG69vLzqVbxATEzM3t7+cw0I7fb+7AghhFoLi95GkUik3bt35+XlSUhIODk5cXD8/rcSFRWFJTdu3Hjz5g10ugwvek+dOgW7HTJkiIuLy/nz56FXnj17Nha9CDEExDUkwSIiIq6urtSHAKkgrp2dnaHiTUtL+/DhA2OLXvgCERQUhIPSlsBryKGVlZWhMZBqGxgYMPBwCHV6qqqqMjIyDx8+hOIWqlx1dXXqCSyqcePGWVlZQXwRaurVCxcuQKApKChAaUpbB/pWX19fU1NTHR0diNDg4OAzZ87w8PBQ95OYmKivr7969WobGxtCzUnw5ORkKG49PT3p3jJtZGQEyUBhYSG0pN0/PEIIoVbCOqop0HvBbyKRWLfiBVB/GhsbL1++3MPDg1rxTps2DWrjvXv3Ujeh2bZtG6ywc+dOeF1WVhYREWFrayvxC7yG3rrhce/fvw/F9qRJk6DoNTc3v3v3LvS+7fg5EepKCgoKqC/qVryEmkjX1taGuPb29paVlYUlK1asgDgNDAzMycmpu+a+ffugJN64cSOh5taPuLg4JycnWlybmJhERka2pCVQZlMvIunq6jLkoyHUdfTo0cPLy6tnz56nT5+G2hUiNzw8PD4+nnqdFupbCwsLeXl5eC0uLj5z5sxv375FR0fTNofvgdTU1IyMDNgDFM9Q7u7evbt79+6LFi1aU2P69OnQF/v5+VHXh0jPysoSEBBoLFohnOEtS0tLOFz7f3qEEEKtg1d6GwWF7sKFCyHf/fz58/jx4+fPn193/gNFRcWJEyfCC3Z2dvgN5euNGzegg3RzcxMUFKSt5u/vD7Wujo5ORUXFxYsXx44dCzUwVMjw1vPnzy9dukQikWAP0E3SNgkLC3v79i0cC7JnaIOpqWlCQsL169eh/+64D49Q5wVJLaTIxcXFw4YNW7x4cf/+/WlvQco7ZswYQs2JLfgN5StkySkpKT9//qz7OO6mTZvgawESXAqFcvXq1SFDhkAqTI3rtLQ0SMEh8GEPzs7OTbcEvjEgkzY3N693Wg0h1BKurq5FRUUnTpyA/jcqKgqCkY+PDyK6d+/eEH2qqqrU1Xh4eAwMDISEhCDivn79Sr1OCxXs+/fve/Xqpa2tzc/Pn5iY+PHjx40bN7q4uFAfZYKiGpbAFwWh5vGH9PR0Qs2ZMikpKaZ9YIQQQn8LM62miIiInD17FjLjY8eOQbeqoqIyatQoTU1NyHEJv8pdKk9Pz1OnTsFqkydPpt0VmZSUVF5eTiQSIan98uWLt7e3kpLSmTNnqOeJv3//Dn3qtm3b4uLi6ha9qamp2dnZsAl1uj8ovKEbDggIgDS6Qz88Qp0UpK2xsbGOjo6hoaFhYWGQAU+ZMgWie+TIkYQ/4xrS34iIiKCgIHgLkmPqwgcPHkCeDeWulZUVlKwDBgwQFRW9ePGioaEhoebpQTU1NYjW8PDwukXv27dv9+/fX/dRCEjEAwMDYVcrV67soE+OUOcCffTw4cM1NDSgfL1+/XpOTg5Uv8nJyTIyMlAA29nZzZ49m7om9KdQDEMYPn36lFr0wot79+6ZmppS70bu3r27oKAg9ONQ3w4cOBAqZFhtxYoVJBKJUDPeO3TiTPykCCGE2giL3qZA+jto0CBIi6HshEz33bt3q1atgh4ResfRo0dDogxVK23lvn373rx589GjR1paWtR6Ff6ElVevXk1dAV7Dch0dHeoNjZD+QiYtLCxsZmZG28nLly+h587Ly5s4cSLtqSEogCGBXrNmDSbHCDEEZMMxMTEQU0lJSZ8/f6bG9bx58yCBnjlzZu/evWlzCMFrKSmpZ8+eWVhYQHFL+HUya9myZfD9QK7BxcVlYGBA3URMTMzLy4vQ4I7l169fv3nzpu4SZWVliHQoqqlPDCKE/gLUveY1oCctKip69erVixoXLlyA7hjCc+7cubCahISEu7s71MDR0dH29vb5+flQ9GZlZamoqFBvgYbvhNjY2EuXLkGoXr58mZeX18nJCbp1bW1tQs2tH7TrxgghhP5F7JDtMbsNLA3yWjU1tUmTJkEVKi4uDr3j27dvS0pK7ty5A8UwJMHQKVLvhMzNzU1MTIT1ofcVFBSkUChQMMOakFjDVpWVlbDJ/fv3Dx06BIUu7LOqqkpGRsbS0pI60gbVjRs3oLuFvtbV1RU63coasPmJEydgh2PGjMH5PBFqO4ijHj16jB8/HpJgISEhqGwhS66oqLh3715oaCgHB4eenh41riE5vnv3LoShiYkJFLTUMIQ62dfXl5oE3759+8mTJ7t37+bj44NvA4hrSK+trKxoV4bT09Pj4+PhO8Hb29vNzc3mF1g/IyPjyJEj169fHzVqVN0rzAihZkHcQa8qICAAXSqh5nxTt27dNDU1+/Xrp6+v//Pnz+Tk5Pfv31Mv9kJQQ/BGRERALEN9C+9CDw4lMYQe9cElaWlpiF+IU3grISEBOuvnz5/Di8zMTOim4RsDVt66dSv0yzo6OkpKSnSblJKSkpSUBHV43aecEEIIsQQKahyUrKWlpfUW/vjxAzrLoUOHcnFxUW9Xpr3l4uICiTJ0lvAaUmHo9iCvpb4F+TQk09ArQ5dJfX6vT58+//3336NHj8rKyqjrQLoMaTG8Bd22mZkZ9XIxcHBwgN3CVlASd8jnRqgzoxvXeXl5ly5dGj16NDc3t6ys7P79+2lvQZULARgdHQ2voQCWk5ODKIb14U/Ig2NjY8XFxSHSqcNiKSsrb9q0CVajHeLatWtGRkYDBw6EHL3eQR88eCAlJQX59IoVK9rxAyPUGW3YsEFdXR1iJysrq+G7r169gniEepi25MOHD4MGDYIIPXTo0Llz56BCnjp1KpS4dbeCEheq1osXL0IUQz0MvbykpCSsDG/l5OQMGDAAtgoODm6sSf7+/tCkI0eOFBYWMu6DIoQQYgAcvblRlZWVK1eu3LhxI3UcCxoJCYkhQ4ZAR2tvb5+env7582faW9ra2tDFJiYmwibUGQJp9zZDQgx18uvXr5ctW2ZjYyMjI/Pt27fly5e7uroeOHAASmJCzdBWsDfInqEbTktLg13J1vj06RMclFIzZE5H/gsg1CmtWbMGctOioqK6CyHcIBh9fX0hLYaIy8jIoL2loaEBiS8UqLm5uXfu3IGaecmSJTw8PISaK8bwPQArwxeCg4MDxDUku6tWrYJdbdmyhTbbZ2P69+8PK7Ozs2/btq09PilCnRgEzvfv32NjYyFgG75bVVVVb0n37t2h74aVY2JioLclkUgQ2rSRlqHjPnnyJPTU1FNUU6ZMge4bEgCI+tDQUFiBl5fXxcUF/gwPD6cOalVPZGRkRETEy5cvoWF1J09CCCHECrDobRT0iHv37t26deu+ffsavtu3b1/quDV1GRgYiIqKBgcHf/nyZf/+/ZAQU58mItRcUc/Ly4OOEAppao97/Phxb29vKI9Pnz5NnZEoKirq2bNnHh4eSUlJWXXAQuhNoQvftWsXbbYVhNDfOXjwIMQ13TqzZ8+eVlZW9RZqa2tLS0tDQvz+/fujR49C0QsJMS2phbiG2Fy2bNnly5dfv34Nq02YMAG+Pc6fP9+Ss1TwJYBTcCP0FywtLaEjhs508+bN9R6Yf/Hixfbt26ELrjvnAg8Pj56enpmZ2YMHDyA25eXl647KAZUt9M5xcXEQ4ISas2AqKip8fHzwmjo4JYQ89XGk69ev+/v71z0vBqKjozds2AAV76hRo4yNjetNh4YQQojpcCCrRrGzszs5OUG1mZCQAIlp9+7daW9BjgvZ7atXr7i4uOr2bYMGDYJ8OjY2Fvq/srIyCwsL2iO4UKyuWLFCRkZm4cKF0HeKiIg4OztDhw2bQ+/7/ft3qH6hny4qKtLR0ak7OQoVdNWSkpKwE6h7fX19O+DjI9RZQVxDaXrjxo2JEydS5+OlgrhOS0t78uQJRCV1zhIqBwcHWP/UqVMxMTEQg0ZGRrSKl0wmQ1xDfgzpMqTUAgIC9vb2/fr14+fnh/Xr3gZCF3xLrF27Fo5LG7UOIdRC0IFChZmVlQUd7tu3b0eMGEGdTAjKYKhLP3z4wMHBsX///rqbSEtLm5iY3L59+8uXL8OHDzc1NaW91adPnwsXLkA1m5mZOX36dOiFz549u23bNghPa2trQs1tHT179oQl8+fPhzU/fvwIXbyioiIUxklJSVFRUbAhBLK7uzss7OB/CoQQQs3CordR0F8uWLAgMTERMt2ZM2dCbkqtRUkkUnp6emho6K1btyC7VVNTq7vV6NGjHz9+DKVvYWEh5Na0aziQ3Z47dw5yZVgfelBRUVFYAun106dPlWpcu3YtNTUV+l1IqYWEhBq2JyAgYPbs2dBbl5SUUE8/I4T+wsKFC+Pj4xMSEsaNG/fff/9JSEgQaipeyJ7Dw8OvXLkCQQqhXXcTSGSTk5NDQkK+ffs2YcIE6r3NhJqi9/z58xDLkH9DuSsuLl5RUfHy5cuHDx/KyMhAikzbA1TLGRkZkDdTZ0Ah1OTQ8A2wd+9eCGeckAyh1oIw9PDwgEDz9fVNSUn5/Pkz9Rx0cXExhJuuri50xNTpiGioY09CkAoLC2toaFBHwKKCXUE8Hjt2bMeOHdBZQwLw/fv3T58+QYTS7v7g4uKytbWFQnrLli2QGECXDW3o37//zZs34YjDhg2DahmOi9NuI4QQCyJSKBRmt4F1VVZW7tu3b9euXW/fvpWWlh44cCChZpTmBw8efP36VV5efsWKFWPHjq27ybt372C1V69eQeGamZlJ61NLS0thP1A5Q4I7bdo0qIc/fPgAO3/x4sXUGidPnty6dSvk1suXL6d7nhhyZcjOoTeF/ph64hkh9HeCgoK2bdsG1SlEqKenJywpLCyEuP748SPk0PPmzaM9mECVlpY2cuTIpKQkQUFBSK9pd0XC9+f//ve/ZcuWQQULcT148GDIvCGu79+/P2rUqKVLl8rKyl6/fh2CGmpmZWVl+PbIy8ujbgs7ef/+vZycnJub2549ezr4XwChzgEqWAg6iMq7d+9CFFMXTpw4UUxMjO4Yy7du3ZowYYKAgEBAQACEXt23fvz4kZOTAz0sbUpe2I+amlq9s8zQF0M9DEeMioqCPyUlJaHYNjQ01NTUhNc4DDtCCLEmLHqbAd3bzZs316xZA9kqrUOFxBc6Qih3XVxcGm5iZWV1+/ZtBwcH6Dv5+flpy3/+/Onn55eamkrrUGE/UOVCxQuvN2zYcPXq1c2bNzs7O9NtCXUe0Rs3bixatGj06NEM/pwIdTGQIkNRCnFNe04eUtvevXsPHz6cWgbX4+HhERERYWFhceLEiboPO5SVlS1evPjx48dZWVm0/UAUQ9lMfRQQSuUtW7ZAilxvh7q6upBhe3t7QwqOj/Wif1EliRye+Cks4aOEMPdoOyUDNXGmtaSysrS0lDZ4lYiISGPT+0VGRkK3C2G+b98+Xl7ehitAR0+7HaOJ/cARaYPhQdELu8JyFyGEWBmrF71FpaS7L7N7yQvKSzLzhl7Ia6FYfffuHfVPVVXVhqNY0UBvGh4eDmnulClT6j4ZSAWlb0xMTMP9PHr0CPpa6vjPje0ZetkLFy7AOrQpQBH6F5VWVCU9/6nUjV+luwATmwGpLcQ1dWoTIC8vDzVtYytPnz79+PHjvr6+s2bNajgJJwTvxYsX6e7n27dvcJQfP37U22TgwIF0H2RAiPVB4hCf8vVITNqP/N9DlGsqC090Uumj2GgXxnRPnz6dMWNGdnb26tWr6Z7bQggh1FmxbtFbSSJfuJN1+npGcVkVG5Fgo9NtrL2SlCgPs9vVDOhTPTw8qqqqEhMTqYNqIIRoyGRK5N3PJ66m5xVXEgkEU03J8Y7Kckw9pdUSUBiPHTsWylfqE7/Mbg5CzPTgTU5Q9Ie0L0UN34KgNuojAUGtKM3f8F1mycvLCwwMPHz4MIlEKioqcnd3P3bsWMNT0gghhDoxVix6oUVxj74ejU37mf/HLJcc7ERXI1lvG0VhfpabDODTp09Q7hYUFBw5cuTGjRubNm2aNGkSbbQbhBC4/ezHoSsfPv0srbuQjY3g0L/7aDslCWGWm9ny69evz549y8nJOXv2bExMzLJly2bOnNnEvRgIdW5vPxUGRX14/D6XtqRX90p77bLsQrarqTw/C2vv72UjEmx1u42xV5ISYZVO8OHDh3p6eqKiolDxzpkzp+5URgghhLoClit677/OCY5+n/a1mPonkUhRkyWlf2cvrah95o2Hi22ouYKnhTwvNws9P/Po0SPIhpOTk8XFxTU1NUNCQupOhYJQF/csPT8o6v3LzN+zTPeWqfyUw15UVhvXXBxENxO54VYKgnwsdEoLKl4fHx8odyFX7tOnz4EDB+A3sxuFEBN8zSk7HPPh5pPvtJRBVqzKUadcRbr28VcyhfDoPVf8U67C0tqg5mQnDjSWHWGjKMQaQV1ZWUmsgQ/fIoRQF8RCRe+brMKg6Pep7/NoS3rJkBy1y6RFqsoqiQkvuBNfcVVW1Q4pIcTHMcJGyc1YhoOdVQaA2b9/f0pKioKCgqOjo5aWFs5NjxD4+KMkOPpD8ouftC8aZSmSo06ZnHhVJYl45zVXwguu8sraKObjZveyVHA3l+PmZJWsNCQkJCEhQVZW1tbWVldXF2/fQF1NQUnlyfiMS8mfSFW1QSwqQHbQLtdSJDVcmVRFSHzNdfMZZ9mvoOblZve0UBhqLsfDxSpBjRBCqAtiiaL3S07p4Stpt57WOYUsXuWkXa4s/UefWlRGvPaU+8E7TjKltvSVEuEeba9sryvd2PiKCCFmyS2sOBaXfuXBZzK5domUcJWjdnlv2T/iurSCePM5d/JrThK5NopFBTi9bZUGGMqws2FcI8Q05ZXksNsfz97ILCmvHRWZj5ti07fSsBep6bPNZdVBzZH4ioN2nlqEn3OkHQY1QgghpmFy0ZtfXBkSnx6Z/JlErm2GmCDZoV9FX3qnkKlyitjiUrmepnPQ2q0ozT/OQdlEQ6L924sQal5pRdW5m5mhtz5C0kxdIshLttOq7N+jsrHTUwUlxPinXI/ec9BOaXUT4xlrr2ytLY1ntBDqYJAYXHnw9XhcWnZBBXUJJzvFrE+VpUYld4vvYSooJcancjx4x143qKGzhqBujzYjhBBCTWBa0Vt9Cjnh45mbmaW/TiHzc5NttEiGvUgtORH8JZctJoXzzefft0upKwhNcFLRUhFppwYjhJpV9Wtw5vziSuoSbg6KhSbJTL2yJTcs/yxgi33M+Szz96oq3QXGOyozcf5PhLqa5JfZwdHvM7+XUP9kI1L0VMn22lWCvH+TLfwsIMakcDzN+H1puIcMBLWKfm8xxjQXIYQQagEmFL3Vp5Dvfz0Wl5ZT+PsUsrlGlZUmiYujdbtK+8YW/Ygj88fv3lSvl9h4JxVVGWZO/olQ15TwtHpw5s/ZtYMzs7NRDHuRbfuR+Llb9yWTlc125RHHuy+/45r15/9EqBN4mVkQFP3+WVo+bUkfebJz/yop4bbmCVnZxOiH7HWDWktFZIKTiroCTlWNEEKoI3R00Zv04iekxX+cQu5Jtu/3l6eQqV58ZItJ4fiWV3uBmEgkWPSVGueoLCPOy4AWI4SaA1nywaj3rz7+HpxZS4nspEMSE/z7uIb8+EoKR9bPX3FNIBiqi493UlFipfk/EeocPv0sha75zrMfv58bkqQM0CMrSzMyQ3jzGUpfNiiAqX/C/xhrSIx3VFGQYvWZuhFCCP3rOq7orT6FHPX+WfrvU8gaCmRnXXLbTyED2MWj92yxj9lyi2p7U3Y2opN+91F2SmKCOAE9Qu0l83tJcPT7uy+zaWHcoxvFpX+VvARjvlieZrBdecT2o6A2rtmIBGsd6bH2ytKiOIoyQgyQW1Rx4mp69L0vVb9G1pAUojj3p/RVbK/cIDWdeOUR8SctqNkI9rrdx9iz4kzdCCGEOo2OKHqzfpYcupKWWOcUspJU9Slk+M3YA1WRCYmv2OKfEIvLantTLg62IWZyXpYKArytvHMaIdSknMKKY7FpMQ+/0AZn7iZCcdEjq8sxOK4hFb//li3uMTG/pDauOdiJAwxlRtoqCfPjxGAI/aWyiqpztz6G3swsow04x0Nx0CEY9qa09xDLENR33xDjUqoHu6Iu4WSvnql7hDVrzdSNEEKo02jfoje3qOJ4XPqV+3VOIQsTBvSnaLbbKWRC9RBZhJvPiTeeEipItb0pPw/7cGvFwaZyUAO333ER6iJKy6vO3MwMS/g9OLMwH8VRl6CvSmm/kZZJVYTbL4jXnhBKKmqPwcPFNtRc3tNCgZcb5/9EqBXIZErUvS/H49Lyfg04x8VBsdYiWvcltHZkjbaorCLcekaIT6WUVdYGdfVM3VYK7mYsNFM3QgihzqG9it6aOUs+nr9V5xQyL8Wx+hQyoWNm6SsuI8SlEhNfUqp+Tf4pJsg1yk7JWb87G84TiNBfqSJTLid/PnE1raCkdlIxbk6KrRbBQpPQMTlqWSXh2hPirWcU2vyfQnwcI2yU3IxlOJqeORQhVOP2s+oB5z79rB1wDvpDYzWCow5RgEmDYJSWE66mUhJeUEi/glpUkHOUrbKzQXec1BchhBCjML7ohbQ4qmbOkrqnkG202Kw69hQyVW4R4cojyoN3BNqnlBXnHeuobKkl1dFNQegfd+vJ98MxaXUHZzZVJ9rrEPk7/EG8wlJCbAol+fXvU1qSwtxj7JXt+0sTcVZfhBrxLC0/KPr9y8zfA871Uya66rFJssCw6PnFhOhH5HtvKGRaZy3Bu26CVncxHJASIYQQAzC46E14+uPwlQ+f6qTFJmpsDrpEAaYOOvM1jxB5n/Is4/cn7SkrONFZRUdVlImtQuhf8eRDXlD0h9e/BmeGslK7B3GAHlFckJmtyi4kRD2gpLz//RWmIMU3wUnFuI8EM5uFEOuhM+Bcd+IgAzZFKdY6SfQ9n3L5Hjk1vbaZI2wUxzkoM7dJCCGEOgeGFb1P0/KCoj7UnbNEW4U4UJ9NQohV+tT075RL98jvvtR+XmhW4KR+WPci1ISMb8XBVz5Arkxb0lOG6GbApiDJKnH9KZty+T75xcff32PLvfvgrRwIUWUXlB+PS/9jwDlRCGF2TUVWfBzgzev3i33WlvP07GnvA3+6m8lNdVVldqMQQgh1Bgy44Tjze3FQ9B9psWp3opshuyLLpMVUSlLE2a5s0bcyLt4jcwlXjzD7JqsQi16E6IJc+VhcemydXFlGjDjQgL2PPGvFtaw4caoTW8KDzyevF3GJVF8Uev2xEItehErKSWdvfDyf8LGCRBtwjjBAn8OoNzsLPgSQk507f47/k9QX48aPHDx6+pYL+c1vgxBCCLVYm4rehmlxdzHiIEMODQVWPIX8+fM3n/mrX714O2KGbyZBDpZ01BTFCP1LGubKIvzVubIh5MrMbRk9uTl5C+auepzyzGvi3M+E6qK3w+YeR4g1kaool5I/nYxPpw04x8NJcNDltO7Lycl6k/dVVJCWLQ64dvW2k7Pd//bvlJWVefupjEDAohchhBAj/WUHCGnxmRuZYQlZf6bFnKx5CrmkpGTR/IDEO/eHuLsdOx70MZ9vW9g3ZjcKIZYDufLl5E8hdXNlLoKDDoe1FgcLTiACubLvknXxVxPsHWxuJ20vJYqtDvnC7EYhxGQ3Ur8fjvnwNaeM+pgRav8AACAASURBVCc7G8FCk9O5Pyc/D+v1zQTCpg27z52O6NNH7XLUuT6aakQCKzYSIYRQJ9Dqorf6FHLSp5PX/kiLHXW5rLU4WTAtBqtWbroUEWNopB977WJP1R4EAvFjfgmzG4UQy7n55PvhKx++1MuV9Tj5uVkxDd28cc/ZU+HqfXpfjDyrqdkH4rrm6hBCXdfj97lBUR/efiqk/kkkEvqrcg4y5BIXYsV7r06FhO3afkBEROTgod3mFiY47jpCCKF21bqi93pqdVr8Lfd3WmzZl9OpPxdrpsUH9h07HHRSVk4m5PQhA4P+eAYZIbqefMg7GPX+TVbdXJnDzYBFc+XTJyFXPigsLHwgaJellRnGNUJpX4qCoj88eJNDW9JbjsPdmFtekhVPRd+6mbjab3NJScmq1cuGegwiYLmLEEKo/bW06E15lxsc/ccpZP2enAMNucUFWTEtjrocu3H9LjZ2ts3b1jq7ODC7OQixqPRvxcFRH+69/j0KXW9ZjiEm3AosnCuXlpT6Q67sObh6EWbLqGv7kV9+JCbtWspX2vS2chLs7sa8fRRY7+Hd6sGZ3/nM98vI+Dh/4axJk8dwcXFRlxPr/EYIIYTaQ/P94ocvRcF/nkJWk+dwN+ZhzVPIKY+eLl+y5sf3n8t8F44c5cXOwYpD7yDEdD8Lyo/Gpl19+DtXlhVnH2LMo6HIirnya8iV5/l9/PhpAeTKk8ZwcnESMFFGXVtxGenktYyIO1mVVbUxLCbANsiI11CNiwWDIjs7Z97s5Y8ePRk9Zvj5C8eFRISZ3SKEEEJdS1MJ7ve8sqOx6XVPIctLsLub8PZR4OyIprUSJMTz5/i+evV2+vSJ02dN4uPjxSExEGqopJx0+nrmhdu/R6ETFSC6GfIZq7NirvzzR/bc2csepzwdO8573sKZQkKCGNcIgcUHUt59Lqa+5uMmuOjx2fTjYcHTvBUVpMUL/a7GXbezt751O6q7rEy928NYrsUIIYQ6o0aL3pD49FPXMminkMUF2QYZ8Rn0ZsW0uKioCMrdpMR77kPdDh37n5SEOD4jhBBdN5983x3+hjYKHS8XwVmPz7Y6V2Zuu+ioKK9ctNAv/uoNRye7W4lbZGW61Y1rjHDUlZGqyNSKl0KudNITctHn42PJkTU2Bu44FRKqptbrwsUQDQ11jFuEEELMQr/ozfxefCwunfqan5s4wIDPWouXBdNiMpnsu3ztpYgrxib6MVcvqPRQomCnilAjKBTK1nMvyyurz2RxsBGs+/EO0OdjzYlM1q3ZcubUBQ1N9YuRZ9T79MK4Rqgu2lzUFbnp4XuOeJ4+yNTm0HEy5Nx/W/YKCQvu2bfV0tIUIxghhBBz0S96i0prLwQVfkpds1C/uzRfBzappXbtOHAo+ISCvNyp00E6/fvhA34INY1URaFWvGUFX+cPEuyvJcnsFtFx7MipHf/tFxMTPRi809TciHozM8Y1QnRp9u1zNeHHyOGTTp4JZnZbaiXcTPRdtraoqMjXz2eox0AikQ0DGCGEENM1M2iNnCSXm9Pga7cuCwkJdkyDWiL8QuSGdds4ODk2b13j4GiDz/gh1CrSojzjh4+8GHlKWUWJ2W35Lf7qTf8V68vKyv0Dlgwe4opxjVCzONjZo2PCvDzG2Fm5RcWE8vDwMLExb968mzd76YcP6XPmTZs4eRQnFys+D4UQQqhroj/hEG2aeBNTI5cBTraWAz9mfiJWP1HH5J/79x7ZWLpBZjxn/rSExGioeGua22H/XAh1BjIy3efMne42YMTD+4+ZHtTw8/L5a0db9zkzF4+b4J384OrgIQOqW4lxjVDziMLCQpeizmlo9jExdPj48XNN5HT0T05O3ohhE12dvfQNdZPux06bMYGDk6sVH4JS84MQQgi1m+anJ9myda2kpLiTvfuhI3uNTQw6oE10ZWR8nD3D5/Xrt9CbTp0+npuHh60lOTGlpkemYAKN0B/mzpsuLiE20nvyunUrPYcNYVYzvn37PnP6wtTHz8ZNGDF7zlR+QYFWDEJHzZIxtFGXx8nJsf/gjs0bdzjYDlqzboXXMPcOO3RlZeXC+cujo67a2FlcvXFBVlYWx5FECCHEgporemvSysVL5ikoyo8bM8135aKx47w7oFl1FRQUzJzhk5R4z8PTLfjoLnFxUQKBDU8KI9RGI0d5ycnJjBs7/fXrtyv9l3Tw0UtLy+fNWXwt/qazi92O3Ru6d5fCuEaoLRYtmauvrzt58uyLEdHHTuxnZ2/3wSfXr9t64tjpnr16nAs71EdTnYiXaxFCCLEq+rc3NzRsuPuJk0GbN+7wHjaRTCYTOwQcyGfBCn1dK05O9itxoWvX+4qJibbrPwdCXYqlpWnUldDLl6442Q8pKizqmLgG/n7rdfuZ5uXmhV8O2bZjbbduUsz+l0CoM7CyMku+G19RUdlf2yLhVhKRyNZOP6dPhupomUVFxuzYHXj2/KE+Gmr1WvLH5V5Knd8NUJp5HyGEEGIA+ld6abcn1e2ETM2MbifFTpk0p7+OxZGj+3V0tdq1ZVu37DwUdFxRST7k9IF+2po49S5C7UFNrdftOzELF/oa6tts37nR0cmuXQ8XdODIju17JSTFDwRvNzLWq4nrzpnrlpSUfPnyhdmt+FcVFxdramqysbX0tCyiERMXDQ07duL46Qnjpmv21YDOWkRUmIH7T7iVuGTxioKCwqXL57oPHUhs0YNGCCGEEJM1/0xvXRIS4mHhJ/bsDvIcOsra2mLfwR0cHK3bQ0ucPRMWuG4LFzfX5m2rbews6A7iWv8sMvHPF3++WX99hFAdfHx8e/dtCzt/adaMhTq6/Q4f+Z+AoADDj3Il+upK34DKykr/gKWubg4tjetGHsinxTXLPrA/Y8aMmJgYAQHG/0t2Be/evYPfkZGRLi4uzG7LP2nU6GEuLg5+fuv665h5j/IKWLOy7WcQ3r55N2vmgnfv3s+aPWnchBHc3Nx1gq9tkwYSWTWMEUIIdRaNXOn99YJC7xrMjJmTHBxtfBb49u1juHT5wnHjRzGqNYl3khf5+Obk5C5eOsfTyw1P8yPUYYa4DzQ1M1y+NECnn+nUaRMXLZnHqD2npj6dO8sn69Pn+Qumjx7rxcHByag9s7Ly8vLt27cPGzaM2Q35JxGJRBUVlSVLlmzevHnTpk36+vrMbtG/R1RMZNfuTQ/Hp670XafWU9truMeatX5/16vm5ORMnzrnbvL9YSOGHDq2Q0SYkZeOEUIIoQ7wl1Vljx7KFyJCNm0J2LThP2MD68jLMTW7+vuf9+/SnRwGjfKeOHiI8+2kKK/hg//sm9tw/rgNWyPUpUhJSR4M3nnk2P/Onj3fX9vs+LHTbYzrL1++D3L1GjRwmJWNaWJy9LgJI/68NwSvDqFG2dnZpaamjhkzZujQoV5eXtRrv4guCoVyPjTi+bOXDd/S1e13OfpM8OHdD+49UOvZb+aMednZOWwtRiaT58xaoKdjyi/Ac+XquRX+C4WFhVrwRALOQYQQQoi1NPZMb4tySdeBTnb2lkeOnFowb8ma1YEr/Je5uQ1obQvy8vKmTp6dnHTXw8vt4OHtYiIiLUhkO9U9yyQSqbi4mNmt6AwgPxMVxaHO2srE1PBOUuy5sxc2Bm7btmXngkVzx44d2dqdlJSUzZg2+9q1mwMG2P23e62UlASR0mzAdqq4Rm0HRdf48eNHjBixc+dOU1NTDw8Pf39/KSkc9qyu6qhJvHN3wbxlUPrOnTdjgc/MhisZm+hfij5zL/nBwQNHdbQMe6iqzJ4z08OzmbnKAtdvPhx8VLWXyqmzBzU06w9VhRBCCP1DWvRE7r17D6dNmTvY3XW5rw/bn6NWcHNzT5k6buzY4ceOnvaZv9R3qb/LACf/Vb78AnzN7haKvXlzF12+GGVuYRwVd0ZeXrZ6adc7O+zp6Xn16tX2eDq6q8nLy4PfoaGhQ4cOZXZb/gGfPn3xHDoaStx1a/04uf/4z4+dnX3YiKEenoPOnY3Yunn7xsAttrbWq9esFBcXa8melyxecfZMqLZ23/DLx1VVldun+air4OHhWbx48eTJk9evX6+hoTFjxoxFixbhw9J1qan1gr44P79g5859167dPHJsX83cfvUZGPbXN9TNzs45ffL86lVrFi1c2qtXT0+voRMmjq3XAYWEnA5ct5GHl2fr9jWWViZdsF9GCCHUyTRTaFGf6X2c8uTr1+8H9x+5ef32iVMHG55oh+520pQx4yaMjIu9fijouFqvfurqvT2H0elKadav3Xgo+GgPVaWQMwf6aqp35as7hYWFERERNjY2zG7IP496h8KWLVsCAgL8/f3d3d2Z3SKW9iT1WXpa5sfMrISbiSGng5SVleqtUFP6unsNH3Lr5p1DQSf69TXo1Ut1yBC3KdMmQR1Cd5+7d+/b+d9u6W6SQYe26+vrduW4RowlKiq6efPmOXPmrFy5slevXsuXL582bRqeK6QSlxC7eu3iiGETMjIyUx6lmhjaHTqyx8TUkP7K4mIzZk2aPmvim1dvr0THBwcfXuW/plu3bj16qDg42srKyq5etTY3N2/JsjnuHq61t33VC2Riw0U1GrtXo2YJhdjoyHP4HBJCCKH21qJnekePGW5sYgCd39OnL0wM7a9fS6C7GqTITs62Z0IPx9+IsLYzCw46rCjXy9zExn9lwMvnr4jVk5NU/4QcP62prnMhLHzr9jVnzx/q21edoZ8IdWlqampJSUkbN27ctGmTtrZ2WFgYs1vEupyc7Ya4Vye1aWkZtlYDz5650NiaFpYmR47vvZN0xdXN8XzohR5K6iZGlksXr0h59JgW15cvRvXrq79vz/6AtUsvR5/SN9DtyM+Cugh5efkjR47ExsZGR0erq6ufOXOG2S36S9+/f9+wYQMDd6igKH/z9pUR3p4cHBx5efkjR0yeOGHW16/fm9ikV2/V2XOnxF0Lu50cvWzFXOUecgcOBI8bO2nIUJfbyZFDPQe28EEnhBBCiPW1qOjl5eUNDTu+aPFcLm6uwsKisaOnLPFZWVJS2tj6cnLd58ydevVG+PWEi14jBj958sTRwVVRvqdWXz1lxd4Bq9fO95kedz3Mytq0doO6HWtjnWwT42IQa9+HFw1XwcFuuiAnJ6fk5OTAwEBq6XvhQqPlXFcGGe2evVvXrvfj4uIqLi5ZutgPsuTs7JzG1peUEp86fVxkzJk7yVfGjR/x4cN798HDFORUdbQNFeVVZ8+eP2nKqFt3LjsP+DXTb8uvDtEN7V9XhwhNvY/R3RVpampGRkYGBQVt27ZNX1//+vXrzG5Rq6WlpS1fvvzWrVsM3CcHB/vmzWuCD+8REhKsqqqKvRJvYmi/ZfPO8vLypjcUlxBzcLLx9Vt44tR+dnb2aTMncHFz/zqd1dhPvX1Q6vwmtKrjxRBGCCHUAegXvbTTu3VzzVlzpoZHnBQTEyWTySdPherpWISei2h67927S48dP+JoyN5nrxPDL59QUpYXERW+fTfaw2sQkY2tqQ61vnpJL1ayqHnOzs5Q+q5fv37Dhg06OjpY+tI1eszwuKsRMjLdSSTIkq8Z9Lf5395geN3EJpAijxg5NOjIjtQXCVAD6xtoc3JxJd69MmbccHZODkyUUcewtLS8e/fukiVLpk2b5uTklJqayuwWtQ4XF9ecOXMpdCcGbAM7e6uExBgra7PZs2c/efJksc+K+8mvwi9EVVRUNLZJE10vQggh1Dm0bsoi3f7adx9cMzU1gt66srLq9q37fr6bnj2lM00CDfFXh9qjh7KVlamIiDBs27Y2I9QKLi4ukBmvW7cuMDAQSt/w8HBmt4jlqKn1TLoX5+xsz8nFWVpamvLweYD/1sQ79/9cq35qTo1rRUV5W3tLfj4+Pv7mx65DiOE8PDxevHgxaNAgiPTRo0dnZGQwu0Ut1VdLW0BQ6ODBgwzZ24P7Tx7cqy37u3WTPn3m2MaNGyXFubk5y11dbL08xri5jFy/duu3Jm94piK27IeRcIYjhBBC7ayRK720VxRKvWXCwkJnQo9Ch/r165edO/8LDFxnqGe1ecPeO7eTW3jIDu1Q611JQl0VJMT37t1bu3bt+vXr/63S99OnTydPnmzvo/Dy8u4P2nHq9KHPnz8dPhS0fv0aZ4fBQftPR0fFkcnkluwBE2XELOzs7NOnT3/z5k3Pnj319PQWLFiQk9PoXfosZU3gFj8///z8/DbsozaqeHn4J4yfHrh+a1VV9W0aZEoVbaoFUmUpPx/7iRPHgw4eNzVynDR+9s0bd0iVpJqt6d5m1cJobvhgEm0JBidCCCHW0tIrvT7z/dYGbKHd9GhlacnGVsnBVsLBXsZOLF27dt3h4LNmxo5nTl+orKxst9Yi1CYDBgyglr7r1q3T1dWNiGjm/nxW8Pjx44kTJ6alpbXHzg8Fn54ycW5eXm3ObW5uJi4uQiQUcrKXk0n5CxcuTExI0dUy37/vcFERTiWNWBo/P7+fn9+LFy+gD1JTUwsMDCwtbXTgCRbRR6Ovk8vAVatWtX1X/fppzZgx/d69FFeXYR8zs6qqKguLswWEuvPxS3BxCxLZ2LW0+pmbm5eVlcfGXJ8+ZYFGb6PJE+ZGR8aVlpa1/egIIYQQi2uk6P31aA/tVO2aNQFPn7wY4OSRnpYJf5aVF3FxCfDyibMR2SkEChux8sjhwx8zP/mvWK+pbjJt8vz4uJvVg2fUP4Xc2rPItNPG9S4R4Slk9Peg9L1//35AQABUv/9E6QtJvI/PovbY86RJ44WFRaytXJMS71UfiFRGILLxCUiys3PBCyKh/L///isuLt2ycbdOX4vxY2ZGXIgqKChsc1zT4NUhxGCSkpK7du1KTk5+8uRJr169goKCWnirArMs9V0VEnLy1atXbdwPNze3qmqP16/fKCkqOjq4nzkdVlZe+DM3vaS8gEQhQ1yVlhVOmzG+h6oyHx9vcXEJ1LpQ/S5a4KfVx3TLxl1/7Osvumhq5BIpzd7OQf99fJgYIYRQO2vpJIeCQoJsbOw9e6o6Ow71X73Ma9iQnLwsAT4xASEZMrmKRKqUkhJ1dXWNiY0pKy2LjIy7dv12VVVVfz1tT69Bgwa7cHDibIqItbjWuHTp0uoaq1atcnNzY3aj6DO3sHr46GFCQoK5uTlj98zBwSkuLmlsbDhl0twR3p6Ll86BuObnFeETkIIsFuKal4931KhRJ0+eLC4ujr96KynpQWVFZW811SHurp7DBwsJCTK2PUx09+7dtWvXUSgMK5Bev349ePBgRu0NtYqKisqpU6cePnw4d+7cZcuWKSkpSUtLM7tRf8jLy2dnZ4cXomJicxcsnjdv/pUr0W3ZIZFIcHZyWL8+YNGiZX379t27J/jIoZPrN6zsp92XQigg1IyXZWyie/N25MMHj8+djYi8HFNRXgGlL4lE2r3zwKIlswl/1J7EX1Pq0p0SgfLnC4QQQojV0a9Ff195+dWj8fPzz5s309t7jJGR4c7t+yIvxaxZ76ugQKIUfmVn52IjshUUkzdt8+t3Qu3AviOQH5NIVdChJt25l5ry9PLFmCPH99DZeytQWjiuZP2ViHSXIlRrYA1a6evv78+CpS83N/cK/3WQFj94cJ+xM2dycnJMnTLR0clFQUE+KfGek/3QwI3+/fW0C4uz2dg52InslGLKcr/ZvdQV9uw6+PXLd6h4Kyoqnj558e7thxPHzt64fYlAC6+/i+vq8bAozW7cAVeHoECqqKwaM34So3a4f+9ORu0K/Z3+/fvfvn07JibGx8cnLT3Dc5h3z15qzG7UbwqKStQX4ydNO340+PLly66urn+9N4giHh4+KyuL0NBTCxcuzcnO1bTQGDNqupm50Ur/RdLSkrQ1IcB1+/dbv3HlsycvLl28Enb+8shRHnV3Rfyj46QbZo3dhNUG2E0jhBBqT624AKuv1x960/nzF5PJZH5+AUe7ISO8PRf4zODjJ9ScRabw8/NNmTp28pQxL1+8joqMCwu99ONHNqxcb0bfhvOW/JXmE2WEWoha+l68eBHq3oCAACh94U9mN+oPAwe5Bx/Ye/To0XHjxjF2z1JSkhcunFm0aPmjR4/t7W0njp9lZKzvv2qJdHepKkoFpbow5hzhPRR+MtIzIyGuz11MS8uADfMLCuruh0Fx3UoMPaacvIKdgzOj9nb+3GlG7Qq1haOjo4ODQ0hIyMqVfup9NJf7BbBU6UuoGYgrYP3mBQsWQFMh3P5uJ6VlBYL8kjKyiiRS1YEDe4KDjx4/HqKq2qOwoMTawnXYcPcp08Z16yZFW59YPXx0H/hZvmLB74U4aVErDRs2PDc398SJ41JSUs2vjRBCiHmamaeXhkKpEhGV6tGjx4kThx0c7C5fjurXr9+L52+MDexPhpyr99CUunqvBT4zbydHx8afD1i3/H8HtrZT6xFiIDc3t4cPH/r5+UHRq6end+nSJWa36A+r127y9V1RXMzIAaWqqiqFhMVERcW3bds0Y8YUiGtZWVlSJcXa0nXLpl31RrhRUJSbNmN87LWw5Ptx6wJXRFwKYWBLEGo/UMuNGjXq9etXDvY2Q92cfObN+Pr1C7Mb9QdLK9seqr22b9/+13sgk0n5hV8IlEpVVXUREbFRo0YeOnRQXFwsPv5az569Xr9Ks7EcOGPawufP2vrw8N/49cBvY2/+o9Ms7Nq16+279/109XV0dK9fv87s5iCEEGpKS6/0FhR95+MRUVRUzcxMGz9+rKGh4dq1gV++fLG0tDgSfHrrpt1Tpo/1HunFz89bszrkGNVXYpWUFeCHtpP2OotM+XWZid7VX9qzR4xy586doKBgxu2PkJ6ezsC9oTZyqxEREbFkyZIZM2b07q0mLy/PxPZkZWWxc1ZPbd1PR9fMwmrDhg1r1qxh1M7LyguryGRZOSXOb5/d3Fx1dXU3bdp65UqMtbVV0p0Hh4JOjBztOWnKWElJsZrVIYCrHzSQkBT3HPb7adX2usbb5L3PdZ8pxItTqCW4uLjmzZs3YcKEjRs32pobjBozftY8H0FBIWa3q5bn8FG7/tu4aFGbhqwrKc2rIJWqqPQUFBQhkUgLFsy3tbUNDj6ckpKir69fRSKOGTlNWVnRe7SHo5MNHx8v/b1Qe2pKnQBrGG/0e9Y/Brbq3IH58OHDtWvXRcbelFdQNDYxHzV69ORJk/z9/fFqOUIIsabmnumts7CkLK+islReXomPT6C8vHL37h2XLkWeOnWak5NTT69/bPTNHdv2eQ0fMnnqmG4sNmQIY129evXbj59Ozgy7/fXhw0eM2hVilEE1wsPDV65cmZ6ebmvvpKGpxZSW6OgR+vw69HK/NZCsT5kyhYF1eEVlcVV+mbi4JMR1ZSV59Wq/27cTT5w4mZ3909jY+MWzt5ZmLo6ONjNmT1JVVWbUQRFiFiEhoXXr1s2aNcvP399UX2vm3IUTJk7l5OJibqsoFMqu/zYtW7b0Lzat93clqSy34JOQiIiZmcXLly/LyirWrl2TmpoaHR2dnJysrq4uJ6dw5mS479K15pbGg4cMsLWz4Pr98bFga5GCggIvr2EbtuyEihf+NDW3jL2WNGvaeBsb21OnTnbr1o3ZDUQIIVRf6wZVht40r/CTkLCEvr7h8+fPHBzsjYwML168FBkZxc7OZmZm9jHjq53VYK1+GtCVOrvYCdId3LXmclHNi0bOIlOav4LD3LPIGpr9hnmPZtTezoeeYtSuEGMNrgGl76pVq+/fS164eDkDn/n8C926dZ84ZfrixUsgr2LgbqvIpPyiL3w8Inp6hm/fvtLT66+hoZGUlBwWduHbt29mZqaVFQTPIWMVFOSGDB3o6uYoISFWfxdEvDqE/iXdu3c/eODAwgULli5dFnxgz6Klfh5eI5h4je7kiSOCggJeXl4M2RuFQi4uyS5jK1Dt2UNFRQUqXn5+PlMT44yMjEuXIyMiLgoKClpbW4qJiR09VD1Td+iFo4ZGerTNa2+borPfxo73559EQqeP4/HjJ9jaO7m4/h71UEJS8lTopZ3/bdLV7X/06BF7e3smNg8hhFBDjRS9tHl6G3Ry0JsWFn/n5OTt27evgoLigwcPPDyGOjk5xsdfu3o1Pjc319zcVE5O7vLFuNX+G6EfHew+YKCbE97wg/5d1NL3woULq1cHbN20nrml74zZ880M+yUnJxsZGTF0x5Ti0tzyyiJIkeXkFCCujYwM4ef+/fuhoec/fsyC16qqPe7cvrd5085+WppDhg6AApiDg52hbWCyxykPt2xcx6i9fXj/jlG7Qu1ETU0tPPxCYmLivHnzN65bZWhspqzSo8OOrqGp5Tyg+o6hwsKCzYFroqOjGLt/UlVFYfEXLi5+fX39kpKS9PQPUPr26aM+fdqUO4mJCQl3IiOjhYWFVHuoZGRkGRnrV2+DPXUL7N69Oy09Y8f/DtdbDnnO3AVLjIzNxk8YN27s2ICAADY2+sOmIIQQ6nh/OX1uRUUJ/PDyCtnb23/8mPn27Vtv7xEjRgyHFDkqKjok5BQfH5+ZmamMTLeZ03zU1Hr26q1K27ax0SxadBa5DbOjINQWQ2pA6btq1eptmwOh9LW1d+r4ZvDw8HoOG3kwKIjRRW81Eqkiv/ILN5eAubn5jx/fX758YWVlCT8pKY/v3Llz4UIEiVRpamqiqCC/YJ6vvIJsbaJc41+/OuTk5PTz509Kw/N8f4uDHb+m/g0mJib37t29ePHiwoULnz15ZGlpKSMj094HzcrK2rMzjlr0wvfJQLeB2tra7XGg8vLisvIiXm5BdfU+FDXKp09ZP39+9/BwHzHCq6ys/HbC7YNB9Ys3hkRiJ/6v/9atBF4+3ry8XElJOiM2Gxqbxl1Pnj19gpWV9enTpzrgvyWEEEIt0cgzvS3qryilZfll5QWS0mIKCnbfvn3LzMywtraysbHKzc29e/deQsKd+PhrQkKCZDKZeqWX1APESAAAIABJREFUyLiStRN3qIiVUUvfsLCw1atXUa/6dnDpW1RUeDrk6OXLl9vvEOUVRfAjKCxiaWmTk5udkZ5mZmZibm4KIf/4ceq1azfOnjsvLCxEJlN+xTWRen9z2w/NxLhWUVHx8/Nj4A5fvWLGMLnob7m5ubm6uh4+fHjVqlVQBq9fv75Hj3a86nv37t1Zs+fCi/fv34aeOfnixfP2OxahZkKjkrICLk5eGdnuiorKeXk58FNeXubh6Z6a+oTOBvUm4m0YmcRGXncBZ86cXr06wNHaeOfeYDMLq4YriImLh5yN2L1ja//+eocPH3JyYsLpUYQQQvW09d4bMrmqsPjHz9x0ASEuPf3qgfulpaVlZWW8PN0PHNjz6GGihIR4/W3qZsjEP5fUW0ig9y5CzObuDpni4+XLlmxY6z/AwfLa1ZgOO/SObRudnJ11dXXb9SgUCqWoJOdnbho3DxGCWk/PoFu37ry8fOZmpuvXB9y7m6CsrERns6bjmkDvNYY2YhlsbGwTJ058+/atjo6OsbHxrFmzfvz40d4H9fddvHz5MgkJifY+EKHmFq2c/KzsvEwuHjZFJZXevTUkJKXZ2BukAUQi9Yf4x++a0dRr/6wN2zor/P6T+hw/pe69HI1Vzr8WE2umLfpXvgbgY65a5X/ixIk5MyZt3rCm3pSNNLPmLjx45OSUqVOXLl1aVVXVwY1ECCFUT3OjN7fsZj8ofYtKsiFL5uMRUlXtBTsoKMgrLMgjU6p4eHjq75zeOFb1xr6htaHhgDi17ao7UUq9c9J1UWq6YIYOjwMd3q0b8aWlDJsu9cvnT4zaFepIQ2ucP3/e13fJ0kVz+2nrKigqtceBDI1MHZwGwIuM9LRTJ449e/a0PY7SUPVwOKW5xSU5vDyCKioqbGwc1LiuJFUICPDXX7tOONIdkK5uaLcirhtPlGsn//xXMmX0j4A+C6qUKVOmrFu3rk+fPlD6+vj48PM3+A+eEeLjrmRlZsAh2mPnjal51vcn/HBy8PDyCAmLiAsJCtddgfg7vBpe0CU29med1f+5CXf/hrW1dUrKo5EjR3kNcdl78KiUFJ1JK/QNjOKuJ8+ZOcnCwvLMmdNycnId306EEEJUf/lML11QIReX5sEPJwc3D7eQrLwikcDGzs7x5yhWjV3WqZcA1ytVGT7b7t8bPnw4Hx8fA3fIzezZMlBbUEvf0NDQFStWvHz+1MrKqnfv3gzc/8uXL0OOHaIWvQF+y3wW+Uh3+JRgJTX3RnKwc0H1KyMrD9UvBwdXg9Hpmo5rQoMzWgSWimuE6hITE9u6devcuXMhrnv16uXr6wtlMPx3z8BDkEiVq1Ys2bVrZ9t227rwqTurNolUXlj0Y+nymbQR6dprzu1OSkpKKjY2Zu3adY7Wxtv3HLS0sm24joio6LGT5/+3e7uenn5wcNCAAQM6vp0IIYQIbXumt1GVpPJK0o/C4h8cHNzeI4fJyv4eyIHeqWI6bxHpX+VhibPIkAD5+PgwcIdXrlxh4N4QU3jUgNJ39erVz549W7VqlaOjI0P2HBkZuWv3XnhxJ+HmyxfPws6fZchu/0LNBaJs+IHqd4j7QFVVlbrv4tUh1PkoKCgcO3bsyZMnS5Ys2b59+7p16zw9PRm189THKS4uAxj1RfHXGhuDvYmHdhu+9eftVg1GpWtyGkK657n/FUQiceXKFZaWFiNHjvIY5r14mR/dEZunz5pnYGQyffIYrxs3AgMDGXv2BCGEUEswcjz92od66vxUkSrGjPMQEhKk/vkP9mgItQLUvU+fPl2wYIGPj4+JiUlMDMOe9SWTyX6+i7Zu3cLFjPsC6sd1VaWH1wBpaUnako5vEkIdRktLKzo6ev/+/Zs3bzYwMLhx40bb9wnFEicn5/bt/7V9V606avM/qPUsLCxSUh69fJY6dJDT169f6K7TX88g7sbd5y9em5mZZ2ZmdnALEUIINXa6sbbnY9z8HfT2Tu9Pum+16Cwygf6JYryBEnUwzxrnzp2D0nf16tWrVq1ycHBo4z6PHw2WkpQcPHgwQ1rYfvDqEGKUAwcOhIWFMbsVf6BQKNnZ2dbW1vD68ePH/fr1++tdaWpqhoeHq6qqNr8qq2giuP9YQvyLbvffPyUuISFx5Up04IYNTjam23bts7Gl850vLCx8+MTZg//bra9vcODA/kGDBnV8OxFCqMti4D02Lbje09RZ5IajUdHvYomtug+yybFwEGo/UPd6eHhA6btgwQIhIaG2lL75+fnbNq2Pi4tlbAtbqtmLPy2KawImyqjlpkyZAkXvz58/md2QRsXExLSl6OXj43N2dmZge+jat/fw1q27xcRF/fwXOznbtXCrtl/ubfUOOsvJ6WVLl1qYm48Y4T14qOdS39Xs7HRuHZ88fZa+kfG0iaNv3LixadMmTk7Ojm8nQgh1QfRvb25hn5efXxB2/tLLl28Y2SKEOgsikejl5fX06dO5c+dC6WtqahoXF/cX+7mbnDh4yOC+ffsyvIV0lZaWRoRHpTyiN3snQh1i//79FBY2fPhwRUVFZv8jNePRw9SDwcf8Tu92WjJhwcKVr168Jv46U9TED2oj+J5//Djl/ZtXQ1ztP3/KoruOtk7/2BtJ796nm5iYpqWldXALEUKoa2rmSm8T11S/fP7q6DhUUbPXh4DXA5ztNwT6teiAjHhoqBU7aPIOSdT5vHr1SlJSktmtoINMJj9//px6sffcuXMeHh4t3BAqZ2Fh4bVr1rRn636DitfOdrCIrPTn9I8a6r0OBe1qbJybevDqEEIs5cGDFGM7Kxk5GTYRHoORToGbdx47vKdlm2JQtYmYmFhk5OXNW7Y425lv2b7H3tGl4TpCQsJBR08dOvg/IyPj//1vr7u7e8e3EyGEupRm5ultwqlT581c7Fxmeqf/+Hxg2irHa9bWNuaMbRxCrRIYGLhs2TJWviWS6ujRoy0vek1NTSMjIyUkJNq1STRXouO7KclP2rT0U8GPQws2nDhxdty4ER1zaIRQ6zV6alpYWCj7589yUiUHG4eOndnuQ4va9qgCap1FPj7mZmbDh49IvJPg67eG7ojNEyZP1zcwnjpx1LXr17dt3cqUcQoRQqiLaG705sYv9X7+/FVGWYGbg0tYUMhwzIC9+w61+KAtuceqhT8I/bZ06VJm3/bYvFWrVunp6bX8QwkLC5uYmLTfP1o9X758lVGS52bnEuDmMx07MPjQiRZvysC4xtBGqK2sbcxT7tz7kJmeX1pUVlHW8mlyGBvJREIzg2sQm3n/H2ZkZPT4ccqnzLRBLrZZH+mP2Ny3n3bsjaSsT1+NjIzfv3/fwS1ECKGuo5GitwWdj4qy4pOHKQXlJVAXS8vLfv/2g9isTtipIdSpaGiop959mFdWRCaTFdV7ZrzPwLBG6F8kJSU5b+60oLnrblyIvrzxkPvQgcxuUVckIiISERE+auQIF3uL6MhLdNcREBDcH3x8+KhxxsYmZ88ybSZ2hBDq3Jq50tvEM72jxgx7dTfl3u3E7OK8dw+f9emj1sJDttdZZAL9Wh0vGyHUchaWJsQq8tXwyO9FuW8eP1dUUWjhhnh1CCFWM236+K0bVot/LfN2dgkI8G3BLL018UT8MxaJDaKT+Ofvxv78vbyrmzdv3uXLlwL8lvotX1RZWUl3nbHjJ58+f8nXd8W06dPLy8s7uIUIIdTpNfZMb/O9lJCQ4IH92ydNmiMp1+37xy8XL576y/wTekRKvUk3KTXdJIVA+dUQSs2SevPx4vBUCDEakUjc/79tI0dOfhl953N61u7dm1sQZr8SZcqfyygN1qoXuXT/JGBoI8QwNrYW8NPqzYhN/klbQmzyT7obNna4zh7y+vr6KSmPxo+f4OZssz/4uIKiUsN1NDS1Yq4nLl4w29DQ6Ny5sz179uzwZiKEUKfV3OjNTU6Ja2Ssf//BtXv3HmlqqouJiTKyXQghJlFT75V8N/5u8n15BTkFBTlmNwch9NeIBGIrJrbv9JUncwkLC4eFnd+9e/cAB8vALTtcBw5uuA4/v8Ce/YdDjh82NTXbvv0/b2/vjm8nQgh1So1c6W1xz8fDw2Nh0cpRdhrunUj3dHGd683UFRo7qdzUsVq8JkLoFw4OdlMzo1ZvhleHEPr30Qrlujdn1Hm3GqXBa0KDTRre7dFaVeQ27oAVzZo1y8TExMtrWGLCzdVrN3LSG7F55Ojx/fUMpkyoHtV5965dkGh1fDsRQqiTaW705ub6rOYHr/pjxBuE0D+gdXGNgY0Qagel5aSyiipmt4LxdHV1U1IeFebnDHC0Sk/7QHcdNXWNmGt3CotK9fUNXr161cEtRAihzod+0dueSezvwTCIdX7TXUhs8t2G27a2KRWkTtibItTxiLU3ZjQV10R6r+lGfVuCGlRUkhn+ARFiVc3ESEsGr2owkBX90aloCwn0XjfchM6GrUQhEH7ml3bKuldQUPDs2TPTp00Z6GQdcSGU7jq8vHw79wZNnjbbwsLy2LFjHdxChBDqZJobvbkd7i2i2zs21mU28W69bf+iQy0tJxUUVzD+EyLUBbFMolxOqsotxLFPUddCJnfOcz2QhOQUlJE7433OYNq0aXFxsVs2rFmycHZFIyM2D/Meff7ilcANG8eNG19SUtLBLUQIoU7j7+fp7RzyiyuKy+jPH4AQ+kcVlVbm4/ks1JVsCPxvgLNnVtbn34tad4mXdp6J8OetFgz/abUqMiWn857G6tev36NHDyvKSlwcLN6/f0t3nV691a/E366soujp6T9//ryDW4gQQp1DS+fpvXQxOiM9k0EHZa0ONbewglTVOc+RI9S05KT79+8/YtDOWCuuC4orOuVdkQjR5eMzW1NT3dpqAHTWbdwV8c8XxAbvEum9brhJExvWRaHeU0apzTd+5JOi7hfUW6e0nNSJH1sQEBA4eTJk7pzZg13swkLP0F2Hh4d32859M+f6WFvbHD58uINbiBBCnUBjz/TW75tev3prY+Uadv5S7QrE1g51w0Ij3pRW/NF3Uiid+SwyQk34+TPb03305k07aPdG/lVUs0hc178BMrewjCktQajjcXFzbdwcsGPnRp+FKxbO9y0r+/f+4y8qJR+Pz1l08OP9N8XUJd1Ef49aXFjaye/dmDRpUnz81R1bN/jMm1FeTv//Pg+vEeGRcVu3/Td69Jji4uIObiFCCP3Tmhu9+Vca6bN4zv6DO3yXr549cxGjnipp7GRw3d9NvFtvW/pnkSm/ziLXyC+uOhz780DUD+qfHOy1H7+8oqqC1GnPIiPUGNeBTtExYRERUUMGjfz8+WtbdsXEq0PFZeST13O2hdW2n4OtdgtSFaWkjNTKz4HQPyntQwaEsIuLw/Wbke/ffbC1crt5/fZf3VNBJNQZba7uoJKNDUdX791mN2wY0xUkSkRy/vx9WTEPC6hdMT8P+whrBUstSdo6peWk9hhkhKX07dv34cMHBDLJ2c783dvXdNfpodorKu4WkZ2zf3+9p0+fdnALEULo39XIlV56aaadvfWNW1HQrdpZuz1+/KzDblNkiLIKcmhC3vz9WfGPC6n3MosIcOqoitBWKCzp5GeREaJLvU/vq/ERqqoqNlYDLl+K+bfiupJEuZScP2/fx6j7+dSx2CFXNlATo62AcY26iGvXblqaOV2+HCMj0y0sImTCpNFTp8wbM2pqOsOeS2oXZArhemrRwgOfoIMuq6wuark4iAMMu2+cpGWrI1V3Tah4K7vAhAv8/PzHjx/zWbhgiKvD2dMhdNfh5ubZ/N+eeT7LbG3tDh482MEtRAihfxRH02/Tzqv6rVjXT1vTfahbaNixnTv2D3HzHurhttzXR0xctLWHrHszZLMXe//u3bqqyJSrKUUXk/ILS2uv5fJwsjnpd3fQk+bi+F3zl/+fveuAp+r9w/bekhkRqYTI3iKySkWlgXbS3ntra2+SUiojRSHKKlQyGtpTA5UVsvk/7ul/uz8rJG51ns/93M+5577n+37fc+/3e57nnHeQw/9I/Hs46ev/5Uv+vHlunrs9jE0Mlixa7X8mYKPH6l69ZNtujLFBVDYORsZmthsc0vKBBMCA4x+UhCQWFZR8j1xWZkYzdVFrLXEudmZqscrq2traOiamLpPlJEh0DiZPcRYTE503Z+mNG0kbNq2cMtUZ1+gtm3eZGNpMne4yf4E7NzfXT418H4LUWeFy93lZQEJhTsH37hgIUwNlkWG6EvzcrE2WRzizsTI3+dVfhokTJ2prazs6jkq6Gb9lxx5OziZ+u+EjR6kOUJ8+eXxMTKyX1zEeHp7O95MECRIk/iC0dp1eUzOjFcvXz5+7rKKiYs7cGfE3wvPy8nW1zbyO+tbUtFEutu9JUrseOyU9/rbY6+OZmAJC8TIzMZqpdd86RcVWR5xW8TJQtHFNzd/ed4oEif9CT1/7QnDoiOHjc3M/2Q21Sr5zXU6up5mJ3bo1W0pK2jhgrBPjOvVF2XKfbJ+r+YTirefK/bttnqzsYChFq3gJ0MnIhTNnzkBRMDExMVOADUVFxb17937+/Pmnx3748MHb27vlMgEBAfLy8lOmTMnJqe/mjbS8ZcuWNifnZrBp0yZa57EtICCwcOHC9i2T8/XrVykpqd69e3eIb21CdHQ0nJeRkSE+Zmdn29nZGRgY3L9/v/Od6XDY2FrGxF6+d+/hEIsRr169ERQU2L5jQ8TVoLS7GQOU9Tes35adndvVPn7H0/cVG/0/7bv0hap41eUFN7j2dzaXaU7xMlAu053lYNejX79+d++mcLCzDDEzePrkUZNl5HrJX7kaz8HFq64+MCMjo5M9JEGCBIk/Cz970vv/S4ypqWH8jYhpU+YMNrP39jmgqCjve+rwjYSkFcs3+J06u2jJHDBmUKKf1NaJj1sevCkPTCh6++n7ckSMjAyaikIj9CW78bM3d0hVTS34XGc52CwSEhJCQkJo94iLixsbG6uqqnJwcDR3FIG8vLysrCw1NbUWyty5c+fKlSuwZmNjw85efzaioqIsLCx+3fO6urrw8PBr167R7uzevTsqUlFRaYfBL1++7N+/X1hYeM6cOb/uXusBKv/w4cMTJ0706NFjwYIFnVl1J0NBoVd0zKUli9aYGtkeOuJpYmrosWWNs4sT4lpXy2zBIvex4xx/+q/rzPnpnn2oCIj/+vzjj5nnBvQSGGEgKSHM2dwhVdW1HGxdH9cE5OTkIBexUV1d/fr160WLFuXm5s6fP19E5PvYRcjUqqoq2nP+4sULBQUFPT09CFrqTsQaiiHlsrA0ncMdHBwuX74M+7Q5DZVC8jWZ5fCfp51rsLKykpWVlXbqQWzz8fGZmJiUl5enpqbi3cfHh42NDdKaahxGGhxFoKKigkg1rURzpnBy0PDmmoyjmCho8lv4EBMTY21tTbsTqXXnzp3Y/xc8Jbt96y4zC7OG+oCwK+c9Nu0YZGznPmvK7LnT+yn1uXDpzN2U9EMHvbUGmtoNs5o5c3J/5X4tmPqtU9N9yKsKSChKf1lG3aMgyeNgJNVL/Oc/wb/WYYOTk/OEj4+fn5/DMKsVazY4jXNpXIaNnX3rzr1hly5YWFiuX7/Ozc2t8/0kQYIEiT8CPxG9tBATEw255L9ty24rixFr1y1zdnUyNNKLS7jid/Lcpo07NqzfPm266/gJo1vuQ8X4my+owJvcyvPxRZlZPyY/7CfD52AoJd39J5276uhjloz09PQ9e/aABIPhgSl++/YNJBUydeXKlZC+LXDHly9frlixQkpKqmXRm5mZ6eXlBU48ePBgWNu1a1dAQEBHid7ExEQ4DyoMcl9WVvb27VtQ/KdPn0I6tkP3FhYWBgYGCgoKdrLoheKFWoiOjh44cODfLXoZKLxq//7tAYEXJk+c5TJx7JKlcxX7KASH+EWER+/2PLht6x5X13FTpjmLiHRr2c7vjuvGXFleop4r473lA+kkrgnY2toiQIhtaK2lS5dCNOrr60OMQcRCAKekpCQlJYG5cnNzi4mJIQm8e/eOgaLZ3r9/j1jA71VUVISYQjEEO8SwsLAwdtLWgpK3bt0idLWoqCg/Pz+CMTs7+86dO7y8vKqqqrAD+1C2BQUFeIeMRPZA2EpKSsIUco6/vz/0rZKSEooRNiEmly9fDoexDWsoABH++PFj4mNeXl5ycjJc1dXV7dWrF+xDsjJQbsOVlJT4+vqOHDkSpiAyG9xDQas/ffqEZkJRI1eg6vz8/ISEBOxE03r37o39hI798uULmowCOF1wGCcEtaBp+H1LS0vRUmQ27EHrunXr1lgYb9682cPDA+Vx9mj3K1LQcb9w5+P73/vz58+zZi6aO9dt7oKZa9ctH2Zvu2LZ+rP+QavXLh0+wk5DU93H99DbN1lHj5ywsxktLy9nO9TK1m5IuwYytBP5xTUXEotuZJZSI1JCmHOkoaSqnECLx/0A8z85TmHChAlaWlqOjqMSb8Zv99zPxcXduIzdsBEqqmrTJtV3dT5+3BtR0/l+kiBBggSdo5lns42uLFMmzdqy2RMby1cuPOl39OBBLwsz+7sp6czMLK6Txt9OiV2/YcWli+EDlPXXr9v2+NGzLpnt5lNh9cGwvLWnc6mKV0aUa4FD7wUje/9U8TLUszo6uqAOGzbMz8/vxIkTp0+fdnFxefbsGRgnQX8JgG5euHCB9hDQRMhXkFfanWBCsbGxYITNVbR79+60tP+s1AoK++jRI9q6aPHhw4fi4mLqx6tXrzZYGwOk2dXV9ciRI8ePHwfZBZu/dOkSrav3798Hef36teFKjEBoaGibJAo8B7mn9YcAJAGa0OQhoOD4CgKgOZtBQUFz586F4m29G38uPHcemD51bnFxieOoEVevXbxzO1VPe3DopQhEq5W1RdT1SyDKmZmPBw4wnj93OeK9SyayAlf2jsxf4ZtDVbzgyrOGyS8b0+enipeBzuKaFoMGDdLW1oYITE9PLywsDA8PB7WF3D1z5oyamtrw4cMRvFB6o0ePRuEHDx44Ojoi3PDfnj9/vrm5+Y4dOyZPngwFGBgY2CAGx4wZQ/SaNjY2Rg6BsPT29obsxIFIJhCTCEyIxocPHxJDB8eNGzdr1ixTU1MjIyN3d3cbGxtIRBTbu3dv47n6EaHQyVCPxEdUDQegkGfMmAGXBg8ePGrUKKKnJRq1YMECDQ2Nw4cPw0+I4VOnTtGagp1r165ZWFhYWloi7pB50Hb4MGfOnG3btsGfJUuWEIno48ePM2fOhLfz5s0bP3480qO8vDySDJxB3vP09EQtaJ2Tk5O9vf3NmzdhuYHb58+fV1BQQBbtyJ+QnmBrZ3UlIuj8+QuOI53xxxkwQDk8MmjFqsXr1mwZajs65U59kpfpKb1569r7mbemz5iUlnrP1MjGUN9y+9Y9BfkFv9W3bxW15xMKF3t/THj4XfEK8rC6WvRc76zUesULsLD8rDfZXwpFRcU7d24L8PFYmOo9ymx6xmaZnrKXI2MFhETU1QempqZ2sockSJAgQf9o7ZPeJcvmTZnonpR4+6jXXkMjvZtJ0YcOeo1ycAEzXrt+WffuIrZ2Q/C6m5Lmdeyk9ZCRoqLdbYdijxUuvb+1AQS+fqsJSfoae7+EOsRMhJ99uIGklqJQi8f9B3R1F1lWVpbaE09TU/Pu3bs3btwAOZaWln716tWKFSvAAvPz8yEswU1XrlwJWQvOh8LJycngzZCdAgICoLb4mJeXx8fHp6SkBC2Hd9paQKNhBxtDhw4FoQTZhYb09/dHRWxsbP3794cdcOLMzEyYgp1u3bo9efKktLQU12Dwcsjpe/fuSUhIeHh4wEnCJgsLi7KyMtg2A6XDISsrKwwStaA87EBzgoULCQmB7MK+mJgYvgJdTkhIeP78+aFDh5iZmfGxX7//dMDDUXv27EHV0ADwFuz/9OnT2FlbWwtTIMRWVlZcXPW3NuBMREQEqoAP+BanC02zs7MDfY+MjDx48CB0Lzs7O3j2lClTREVFG5z5VatW4WRCcjToZP5XYuKkcTPdFg4aZHvMez9C9XJ4YFDAxVUrNvr6nNmybZ1iHwV9fR28nj9/eezIiXFjp3JysNvYDrEbaqWto9EJy26DK4fe+hqdVlz1/6Gp4MpD9SQNlLq1vnK6iusGMDMzi4mJefbsGf6T586d6969+7Rp07i5ucPCwi5duuTj4wP5t2jRoqVLl8rIyCxevBi6EWGC8HRwcIDOhE5GScjFBp07Fi5cCD1cUFCwadMmBCbsQyvi2C1btmRnZ0MAw7KqqioRL4gLZBtnZ+eTJ0/GxcXBE/iAwEExJBZEKFEM8vLNmzeEnkxMTET08fLy9uzZEwbv378PC1DOeEcrEJtIC3AJtWBbV1cXsYkwRIugpWGccJJQvGgU4TCCEeGflpYGNYvTgsCEP15eXkiDaDui8sqVK2i1gYEBUhC+ohq5ePEizGppaaHJT58+RUpEMyGDkb5ozwnaAg+RSDvhZ+0qKPXvGxMXtmjhKqjZg4c9TUwMHB2H2dpa7N1zZOyYSQoKvWa4TcJlmo+Xx3GUPV746a9Fx4WHRz198lxXT4uBevuqcXTVtfHW1v/LV9fURaUVhyYXfav4fjeTi53ZSkvcXK07axsVLBMjI/u/MYtVk+Dg4PA6duzs2bOjR9guWbFmgsvkxmVY2dg2bfUMvxxqbW2zatXK2bNnd76ffxOQc5AP23QI8q2cnNxv8ocECRK/iKZFb2M627u3fHRM6LIla02Nbfbt32FhOWje/Jmjx4xYv3aLrpbZxMnjJ09xFhcX09BUx6uioiI2JiEsNNJxxAQ+fr7Qy+clJcV/UwPKq+oiUr6Gp3yt+D56l4GXk8VOV8JERaRNT3hQmLpsL70B/G/EiBFghHfu3Bk8eLC7u3t8fLyLiwsTExM43LFjx/r06QNpSug3Tk5OyEiwmaioKNBBMEgFBQVQ1TNnzqioqEAz01qWlJTla94bAAAgAElEQVTEbw06KyUlxcPDk5OTM3Xq1JqaGlNT06ysLD8/P6hWfAX2jKpTUlIGDRoEC5CUt2/fBoU1NDSEtAYLBzMG8W0wmg4+gEOjXohSHAWBChoNUQ0yCnKPr0BM9fX14S1Mgd2CW0PAP3jwIDU1FXoecp1qClwWOh/7oXjRUtQFU6D+aJGwsDCoM4QBOP2AAQM2bNhw5MgRnIqBAwfCYZQBfYfb5eXluIAtWbIEjcU5hMHdu3fDQ4iKBroXPhw+fPjt27f/gugVEhI8e97nwL6j9nZOy1cumD5jksMoeysbi5079lmY2w8fYevmPkVREf+gXjs8N23dvv7mjeSw0IhJrjOZmZmDLvhBFf8mxyhcuST01g+uzMnObK0pbq7eZq78p0z36uHhATmHYCkqKqIOMUU4I/YhekVERLDBQBmGCm2JsGVlZZWQkIDybGxq+PDh4LsIW0hZ/FJQjHiHQO3du7egoKC9vT2UIcLB0dERhRFEiF/EMiIOUTls2DDo0h49eiDMP336RLWJOEKqCQgIgHvdKBg1atSCBQsQ2og+hCTSPmohOlrn5eWVlZVB8ebm5sKHoUOHsrGx6ejo0D6ARbaZP38+CiDnEMOV8T9zc3N7//49TgIyALXPdnFxMbIHohUNQRkGyoPfwMBABkq3FCh/fn5+6GRkKj4+voyMDFhAtmwgeidMmIB3dXX1DvzJ6AE5BVW0H5FFDx3eddY/CEE6yMx43frlUlISy5bPnzN3uv+ZwE2bdqxbu2XKVBcnJwchYUEUHjrMGq/f4RjiNvFhadDNgvzi77eiWZgZBw3obqstwcXRnpDkbDRH3T8IJycnDQ0NyqzOCTv3HOTmbqKri7XtUGUV1emTJ8TGxp044UPtlEGiTUB2irwa1bdf/58X/T9qa2rmzZsfFXVVWbkzHvaQIEGirWjtkkUM9UvDse/eu9XIWH/mjPmOo4YvX7lQQkL8qNe+u3fTQZrrZ8gYauU2c7KKan8ODg4rawu8qqtr7qakSUiI/V9FE8shdMxd5JpahpiM4otJhcVl391kZ2Wy1BDDCxttMVcPTrqZ6qZJgGKCNZaUlIB6zpgxAwTO2toa+m3Lli0+Pj7Z2dmgwtOnTw8NDe3Xrx+EHH4sEEfoQEVFRbDSAwcOHDx4EKLRzs6O1uzq1ash8GAHWhG/EcqAL4IKb968GWQUH6GcDQwMYAeFISNnzZqFd+hhMGZLS8uVK1figgoV+vjxY2q3ZHBTeHX06FG4+vXr1y9fvuAibWVlBaYOIm5jY9O3b1/Q05kzZwYFBYErg4bu37//9evXqA7ugRZv376ddoziixcvwK3T0tJwvV++fDlULoi+g4PDmDFjIFBZWFjQfPhD9MOEUoXnkZGROCGoHbwc9JeBwpshzqHnFy9ejANhDRoD0v3NmzcNRC/241jiqH8Es+ZM19XXnjp5dkJ80tZt66RleoAru7iM3b/viIWZva6eFqSviYkBTrWJqSFeEMCpd9Pl5HoScc34fah+x8Q1/kc3HpYG3ywoKOkArgzFS89Pet+9e4d/KYRoaWnpy5cvg4ODEVwIGfyHmyyP6EA44N8OxQhhiahp3P24SSAYceCOHTsQLNDPyAnNjSOABkbqaLwfv7Wampqtre3bt2+VlJQgKfEObQwNnJKSgkQBXfr582di4AD2U9W4vLw8chc2Ro4cSWsQwYhjUQzSGicBehVS9t69e7du3YIptO7Dhw9ESQRpg2aiaqroRdLj4eG5fv06fEC74KekpCRdDeT+HWBiqg8+tLKgpCb1+Td1hf8nTEoYOo1zNLcw3bhhu76uxcxZU+bOc+Pi5p4yzXXyVJeI8OhjR094bNqhpa1hazvE2tYSF+gfdr9H9H8u/Q0+Uvcw0oR4g48Zr8rOJxS+//JdkCMEdfoK2+tLCvGytbvJfNztP/ZvgoKCwu3bt+bNn29honvU50x/5SYmy+ghLXMp/LrH+lVqaurnz5+j9sMi0UpA8d5MTA6LjOXlbdvo6MthFy0sLCMjI1RVVX+TbyRIkGg3mnnS+/+N209K6hj+s0D88BF26uqqS5es1dIwWb5iobOLk4aGmu+pI2/fZB054jPUdjREr4Oj/RAr8+7dRVhYmHV0f5JtG19QGf57HWVo6vp6+8m3gISCz0Xfez2C1xqpiAzVkeDlasPUXLTg4mh2mQR6w7Bhw6BU582bl5iYSJ2UhZmZGdQZG+CXxAZ0MmiRn58fpN3Tp09BK8vLyxssYQIBSWygMBQ1iCbKREdHOzs7g4DCFCj4w4cPCdELZtkdP6qICEFhDQ0Ne/bsCc7aYDJYVFFQUIBiIMcQzNClZmZmuABAMklISIB5r127FtQWdTFQenFzcXHl5+dXV1cPHjwYahM7oZlp+xpAA1y7dg2cWJgCBsrTDGjv5OTkadOmQTajAFESrsIU+D24r4CAAAqbmJgQ8hUqwtfXl4ODIyAg4OTJkzIyMjgKEgKyAaKd1n/Ch79gNtcW8PhdWU396rU/9gwcOCA2/sqGdVsN9YdMmzFx/oKZsnIyu/ZsWblqsc9xP7fp8/DLO411sLa2gCRmYmLS1BrYwOavE2VsZLwsOx9f+CGvw7gyN0c7E0InAMEVGRkJaQcxibiYPXs2/nVjxoxRVlYOCgry9/dvfAhU5TkKRo0aNWHCBGSAM2fOtKYuRN+AAQMmTZpUVVWFGqEhm+PBUlJS1MmraIEf3dHRkZjIihaI5dWrV0OEOzk5IdKPHz9+8eLFBj4jJyBLnDp1qqKiws7OjugvjdQxfvx45JmEhIQLFy64urqiOYsXL0aWQP6BVD548CDODwMlTRE5B/IYuQieEMsyAaysrJDfaBESgrm5Oexjm5OT869nnLjkmQ4QjUmvvzmyOyRnpl13nT7/mbdCRKTbvv3bJ02asGL5+nP+QYuWzHF0HM7GzmZtY4FXbu6nK5ev4rV2jUf//v127vJQVlFqpqq24WV25bn4gifvfsyvrizLP9JQSqpbs/OrtwbcnKx02xWr88HOzn740KHAwEAnB7uFS1a4Tp7euAxCY92mbbr6hnZ2Q5cuXUKMfiLRGhCK92xQaFsVL0P90Hp7JkYmS8sh0L1Iub/DPRIkSLQbTTNCbk4WVhbGqup61now9JObrQitCJHpKXMuwDc6Kmb1yo2+J854bF6rb6CDnVu2rl++YtHZM4EB50OWLVmjqqpsVX99tZSX78gRDplvy8/FF77J/d5NDn5pKAiNMJAUEWjDkhgNwM7GTD+LmjSJ8+fPv3//HuT40aNHYIdgilpaWmCZ4ItQeo3LQ+Pt3bv30KFD0JyDBg0CkUXJ1lQEPopakKzV1dXxo4NH6uvrN1kSLLPJrpXYCRI8c+ZMMF1cd1kogKnU1NT169dfv34danns2LFhYWGZmZm0q5JQJ6ZuMPMklICKigqE9M2bN1++fAnWi4s9TEGvomkwBcb87NkzBspzsAZPeKg2oYSh6kGdodv79OkD3kw8cMZpbM1p+TvAysLEw8lSUla/MKZncO684d1ZmX/ENT8/v+fuLa4Tx4Ml62iarVm3zMHRXrib8OKl8+bOmxkcdCkkJGzjhu0KCr1sbCxtbIf0U+rTgb69+FiBuH76/gdXVpHjH2kgJfkLXBksmYeTvm5mpaWleXp6EtuI5YyMDAMDA4TS3bt3Idjwh4QWJfpHNDiwuLg4PT29rKwMsY9/NaEDUazxLG60gHhGuGlrayMYcWB1dTXEJyIR783FdVuBwHz37p24uDgCE5EOUY2d+fn55eXl/fr1u3XrlpeXF6IS0efu7i4oKIiUQohe/N+QJZAEkBNOnDiB81BUVITEhZSFA/Py8goLC4kqIINxWp4+fYqEhrME49R10aDPx40bt3nzZtjHOUGSxJlEeWSGDmkdPWOxYx9E7/X03JpahgOhn/KLhaw1G3L0AWr101ldCA7ds/uQx8adEyeNnzR5gnA3IVHR7tjAq6CgMDoqVkCwwWxSjLS3qBj+3z2rha4bjPUdrasDbxTcefrjmbysGLeDkZSiVBOXiTYBiUuQh3zM2xCOjo5IHZRZnRN27TvcpEKztLLtr6w6Y4pzbGzcyZO+xA1xEi3gVxQvAWvboUxMjEOGWIWHX/n7xlOQIPFHo2nRy8nGvHhU323nHtfU1iU+Kqmoqp017D/8GBhsMch0kNGxoyecx08doKYyw20y9vDx8U53m4RX3pf8qKvXIyKidu08cCPxag9pqf8fh6sn4/fraDMX1OYe/GZ9qr+F/PDNj3lK+0rXr0UkI/rzmZlbAGoX4Gm/YO4EBAQEPHnyBLINCi0xMfHz589z5szx8PCAXFy1alWTohe89uLFi0i40J9gvTNmzCBmc20NZGVlN23aBNIZExMD3glx2ORcxy2saczJydn4YRE8v3z5sqmp6bp163R0dECUwXdpC4AfDx06FLwZliF0o6KiiOe60tLSGzduTEpKQmO3b99+9OjRFy9eQDBAPBB3r8GGCdGL9hL9olHYysqKWEKJMC4qKjp58uS4uLhRo0aNHj06JycHrSMWa2nlafk7sNyp3/pTDyqr69JfftsWmLNohCg723+enyirKIVdCQi5ELZh3Zb9+464uU0Z6WjPxs7mNM4Rr+LikuiomPArUYcPOYRcOqv6n2nq2kOUgez8qoCEwtTnP7iynDg34rr3L3NlgV/oS/mbcIMC6kcTE5Ply5crKCgguhUVFfF3RXR8+vSJ6H6MkkuXLsVfVFJSMisra+fOncOHD1dSUgoODvbx8QkLC0N4ohhCtbS0tEFF0LQhISErVqzYsGGDg4MD+DEEMKwhMJFMrK2tEVxNdo1GPjE2Nm49OYbWRYaJjY319vbGUUhK0JwIbbRi0qRJiNPQ0NC3b99CqUKxL1iwAOmFmLmdlZVVTk4O0h2heuXKlXPnzqFeZAaYevPmDTE4AnmA8AcZDG4HBga+fv0amp/oM8JA6dhiZmaGlqJ12INTgUTn5ubWZA9tBsrk861sF/0DxBqXaQ425iu3P9bVMZyJyX+TUznVqhsbS8OAGzlyGF7x8TcPH/Tet/fIyJFDx00YralZf1tTSFBw9OgR1JLfFx778faf4G28TbwXldaEJBXFZhTX/v/iLSrIMVxfUqN3B0gsNLMbP0cnTJv3JwIRlJyctHDRovquzsdPqwxoYrVCSakeIZejt2xao6amfu7cWYRY5/v5p+DXFS+BIdZ2TExM1tY2V65cHjiwYa8oEiRIdBWaZfzGKt3ZWZk3nX5YVVN39/m3jWey548QFeL9j85hZWVxnzV17DjHk77+C+ev4Obhmj5jktNYBw4Ojm4iQmPHO+JFW77dl63PRdWBNwpvPS6l6uEeIlygxUo9O2AxOiheNvpbCGElBdSP4HkQe5TBPLehCaH9kFJv3ryJj/iqurqaKIavHj9+fODAAREREXBoiMw1a9aIi4ujZINZpqgAawT3tbS0XLt2LbT0sWPH/Pz8oEhhFjxSU1MTJLXB0poEqJW2EuDx8vLy4KyoYu/evSD0cOnevXva2tqzZ88G9Qc1Bycm1loAkcV+gtfy8fFBG8AfZWXllJSU8PBw4unxwYMHwa2xB++gRIQ/sABTtra2y5Ytg/SFkCYe9oI9a2lpnTp1CifkwYMHGRkZkZGRzs7OqKhNrfjTodFbaPNk1dUn7pdV1j56W7761MdFDqKigg0fh44YaWdra3n+XPCB/Uc3bdw+earzxEnjBQUF+Ph4RjoMxes/pdsb1wUlNRcSCxMelFC5spggxwgDSXWFDuDKfNxsnGx0dEcDOm3IkCHUj3379pWRkcGffMCAAYgvVVXVVatWeXl5FRUVjRw5EpL1zJkzxM0mxDJi88KFC5CUKioqiAIELDHoQENDA6qysrISMaKmpgb7CDHiD4//f48ePfBtnz59YH/jxo04MCEhgZOT087ODiWx/+XLl7CAb4nxC6ampgUFBTiKyBXwASFD3L1CfkhOTm5yVlIcu2jRInyVm5sLa/AQqhW1wAhqhOoG50OEQoVCuBLLLyHnjBkzhniQ271796lTp6IwdqIk3CYG6yLzSElJxcXFEUvyEucnKioKbTcwMHj27BnRdQUZDzVu3boVHxHssDB48GA9Pb3mRDu0NFwSEGjDMjn0DFxS5wzvLcDD6h/zFro38VHJ+y+V84Z3FxVoooODsbEBXvUzsR89MWHcVJxYaxsLW7shBga6LdzBbBnllXXhd4qu3Cmq/P/VgI+L1U5X3Fi5bRNJNgeQEGE+DmZmUvE2CwTO/n37TE1Mxo8ZPmf+4inT3RuXwW+9et1mPX0je/vhCxYuWEKZMp1EA3SU4iVgMcSG0L2XL4eRY6pJkKATtEQKdfoKb5yosu7kg/Kq2pfZFStPvIfu7S3VUP+ACs+bP3PW7GkXQy4fPnR886aduI7a2A3B9RWquAm7jD9IcpN3kWk3ir/VXEwqup5RXPP/tYi68bPb60nAtza0snnwcrHSWwdIXMNouw2DkuKKBdY7duxYENDp06enpaVBjkLZ8vPzr1u3ztPT8+TJk/PmzRMWFjYyMrp79+7Zs2ex397eHiwQGhIk2MbGBgKSYKKsrKxQgKiCuHe+adMmEOL09HTQaHV1dV9f37lz58bExKAkaLGrq6u5uTn4LhcXFw7BsQyUDsyoOiQkBMQdjBzWqGODURe+bXJMoI6ODlzy8fG5ePEiDoTgvH79+vPnz4uLiydOnAgHgoODiZ6QkpKSIKYMlGGEsEZ0hoQzOAPbtm2Lj4+Hh2/evPH394cS6N+/P8zinAQEBKAMcX5CQ0MhrUHiFy5ciBPFQOkGCa4P8n3u3Ll9+/ahIVZWVpMnTwbFb+xqTU0NTh3xzLnjf+CuhrKswLapA1b43Cspq/mQV7XC98PsYaID5Br2ImZjZ5vg4oTXtWtxhw9679l1yHKI2dBh1uaDTWinGfsOxrY9HfpWUXv59tfIlCLqWkQC3KxDdSUMlLsxdcQjHW4OFn46m/YG4nbz5s3Uj1B0iB3aAmZmZhDG5eXlUHHEZMvE5Mn4606YMAF6EsqWUKdQhllZWWJiYuLi4h8+fIDoxQYSBUgbNXtAAyOOPn78SIwrw4ELFiyA1kUB1EJoQmwgwPFrEuPYra2tURjbxHSvs2bNIhIFA0WCenh4oHzjduFwqFBFRUWIWBSAt71790YEEa0zNjZGhBI9q4l2MVCyBFwlnvfCH0LfMlDGVkCyojySAEzhI1rNUD/HuBBkLTIYnEHs49vLly9THYA1RDr0OZQw1KysrGwLvwK+RUPa8/vRMZwHy/aS4N1+/lF5Ze3bT5VLj38YYyI0RKPpOXsVesvv8PTYtmNjUuLty2ERs90Xl5WV+fgeNjTSq//6x9R0P0FNbR2uyyGJBbQTSQ7RFLMY2J6JJJsEHxcbP9mruXUYMWIELt+jRo1OTryxa//RJmdsNhs8JDIm0W2Kc3xc/KlTJ6lXbRIMFMV742bSueCwDlG8BMwtrPYcOGpraxcaeqnB1CEkSJDoEjD+dJbL19kla089zC2o71TMzMTgaCRopy3QAi9NSUkLvXjlclhkUdHXwRaDwJJtbC2Jrw4f8g4JvhwRfaE1nlVU1YWnfA2/XVhOsxaRjba46YDuHTIdK7i1EB87J3vXPwuCqoTGow5Cu3fv3s2bN6nfggWCRDY45Pjx4yDH7u7uIJe3b99+/fr1uHHjsP/9+/eXLl1CeRzFQBlACL0KSqqqqnrt2rXa2looTxBQKLrhw4dTr4t37ty5f/8+sWoIA2UpEehP0GIUJp7tZGdn4xBsE9PDgH3iI9wmltiF5AblJXI6nHny5AmYdHONRYHPnz+jMDhxREQEKC+2iVmjiIlbQY7RLqJwRUVFSkoKqD+xWEt+fj4KgPqjReD62AbhhpPgxGFhYTACUygMDfD48WOQ5n79+q1evdrb2xtiAwyesIlzFR4erqSkZGJi0v7f7Bewfv16vK9du7ZLaqfiY17ZulMP3ubWd3BFOCOoHQwFWJp/ovLkybOQ4LCw0Ih37z6YmRsjru2H2xKPBBHsa9dsvpMa15p6v6/bmVRYSl2LiI0ZXHnwQNEO6XCBtgjysHPTwZ0sJycne3t74tkmiV+Er68vkiRCG7FfXFycmZmJ5HP+/Hlkni7xhw5/3KxPpetOPfzwpYz42FeaY5q1SJOPfBsgI/2+XC9ZPr76uxvZ2Tma6sZZHx63fEjy49KAhHzaiSSNVUTsdCVwjf61RjBQDQrxcdD5RBt0iKqqqqVLl164EHLkuJ+aukaTZcAZtm9efyHo/Nmz/h01sP9Px+9QvFTExV6b4zbl0qWLZMdyEiS6HD8XvQz1j1urPPwfpb8oID7KS7C72XaXEPrJ1fRexoOwsMjr1+NO+R3r0UOSgSJ6LwSHRUb/ZPnTmtq62HslFxILvn77/ngXbNhioCiYcUddBemq01QD0UviV2BlZXX9+nVo2qNHj6anp+MdGtvT03PUqFFd7dp30InoBcoqa3acf5yY+X3OpB4ibG42IrJiPxnf/uzZi9BL4VevXt+9Z2v//n0Z6kVvxJo1m1NS41s+EInm5sOSwBsF+cXfuTI0tqlqdxsdcZ4OmmOZlYUJcd3WhXx/E+hQF/25gNC9f//+2bNniefDysrKZmZmXThJDH3+uBVVNd7hr8JufSCu6izMDBYD+UfoCXJxtDYifip6H70t94/L/89Ekr2FRuj/0kSSDcDDycrPzdYhvaP/TYSGhk6dOs19zoLpM+c0VyY2Jnr+rOmz58xesXx5Z/pGh/itipdAfNz12TMmh4Rc0NPT+01VkCBBojVolegFUMw36nVAXBYx+o6VmWG4vqCtlgBrozkzWkBrRO/tJ/W3kHMLf9xCNuzfzU5Xgp+7Yx7d4CLNx8VGVyv+kaK3A/H06VOcTPDjmpoaRkbGbt262djYrFmzpqv9+gH6Eb0EzsdlnYp6XU0JbGYmBhstAXs9AU62NujG1ojejJdl5+Lzqet2Igy1+wgP15cU5uuYSIRBHk42cGX6me+GPnXRH43c3Fxidmg+CrrQE3r+ce+9LPQMekJ0zmKo7+rPNEJf0FyNr/EEV40B0avRjOh9+6nyXFzBgzdl1D19pHkdDXv84kSStOBkZ+HnYWMllyb6ZWRlZY0ePUZAUHjvQS/+Zkaw5+bmuE115uXmPn3aDxfKTvaQTtAJipfAjfhY9+kTg4ODDAwMfmtFJEiQaAGtfcAC/TDRUk6nb7edAY/ffymrqmEISCi4lv7VyUTYQOlXJ1kl8Cir/Gxc/uucSuqegQqCIwwkRQWbmEWpfeDiYBHgZqeTB7wkfgcUFRWDg4NDQkIqKyvxp1VRUenTpyNX1vn7MNpEWquPMOL6xceSmlqG0FuFcfe/OhoKmw3ga7WAbKncy+yKs3EFT979mHS9f09+B0MpKZFfWreTFhxszIK87OQynn89REVFu9qFPwCqvQSOzdc8F5cVnPCusrq2tLzW73peSFKBpTq/xUA+Pq5W9Jb6b+R/LqoOSihIelTyOyaSJMDGwiTAw85O9mfuIEhLS9+4kbBixQpzE+3DXqc0NJsYUCoqKhZ0MXLntk1qaupnzpw2MjLqfD+7Fq1UvFVVVdXVVaATLCys7V7uwdDY9LDXyREjRgYFBf6Dp5oECTpB2wK4rzTf4XmavldfX0x8X1Nbl19cczDsU3hK0VAdAW1FnlZRZMYmJnGuX4soLv/+6x+3kBV78OKaKivWxHxI7UP9NZWXnZ2VvKb+Exg+fHhXu/AnAYG2b9bAszFvz8W+raqp+/qt9vjVz5F3C4fqCur342ntEPpGcZ2TX3U+oSDl6Y/VdHqKcTsaSiG6O8pzCF0BHjZ6GJlPggT9gION2dVC1lZH4kTk6+vpOXV1DCVltcGJBaG3CvWVeAz68/aT4Ww6qr9PZPUdOApqOTrt64+JJPnY7fUltPsKd8idY9SG4OXhZCUvzR0OyLPt27cbGxtPdh4zfeacmbPnNy7DxMS0ZPkaHT2DMWPGuLnNXLVq5b+zNNTq1atbo3i/fSvdtH61j9fh7t1FV6zeMGacc7tr1Dc0PuZz2tFxVEREOLl+LwkSXYI2k0Wox2k2vay0xI9deXnnSR72vM6p2HsxV1Qgz0ZLwEiZj521DUnzy9fqwISCpMwft5ClRDhHGkgpyzY982Q7gMs/DxcrXS1eQoIEvQHKdrx5z8EDxbwjXt24/wnx+CGv6vDlT+fj86w0BMwG8HGyt+E5alFpTfDNgrh7v2XdTgJsrMx8iOs/R+5++vQpKiqKlYLq6mpmZmY2NraeFNDO1t4YdXV1ycnJbR0Mlpub+/DhQ1QqLi5eWloKIzIUdG2vYKCysvLBgwfZ2dkg5cR6aTw8PL17925yaujW4PPnzzdv3hQQENDR0WliXvF/GBCoi0f1cTDqERifFXfvU01tXVVNXdz9YryEeVkM+vNo9ObuJc7RpMyprK6LSCkKTS6gTiTJw8lio1U/kWQL0921HizMTNycLDwcrOTY3d8KGxubu3dTxoxxSkpM2H/ouGBT61cbGQ+6GpvsPs01Pj7e3/9M9+7dO9/Pzse1a9fXbdrWsuKtrKi4EnYJirejKtXVN7Sxs0c+J0UvCRJdgnZSxh4iXBtdldNfFByPePX8QzH25BZW+0R9ORObp92Hx1CJt39PzubuGBK7G99CFuZjG6Ynqduvw24hc3Gw8nKy0smsNiRI0D8gTVeO7ffYQMo7/OXDN0XYk19cg6AOuJGvocBt2J9XVY6ziQe/NIsVlVfWht0qCk8ppK7byc/NaqcjYaTSMWsRwQYHGwsv15/3aOjZs2fu7u76+vpKSkoVFRWQvl+/foXwGzJkiIWFRQtq7ePHj6tWrYqJiWl9Xa9evTp9+vSHDx9qampUVVXz8vJqa2vDw8N79eq1cOHCjmhNO1FVVViqkUEAACAASURBVAWBevjwYVFRUWJRopcvX2ZlZZmZmU2aNImYxb1NgGa+cuXKxo0bNTU1IaHJ2WgbQ1aMe8novhOHyIXcfB9x5+O3ivr5MvKKqy8lF+LFxc6Ei3X/nlzyEuxSIpQB9oyMsfdKAhPyimgmkjRXF7XSEuP85e7HCFsOtvoX258Wv38upKSk4uPjkEMGm+ocPOqrrdPE7bPu3UUDQsJ37dispqbu53fqH5lhhFh9oDkUFhRERV6Z4z61MyslQYLEb8UvPSdRkxc8MHsgpG9g/Lu05/l1lHWGEh4U4yXIwzygF7eKLK6mnLyc/7m8VVbVhd8tCqO5hczNUb8W0aCOuIVMcGJOdryYO4Rkdz7i4uIWLVrEx8cHDgfOij0iIiIEMyaWCGoO4NDHjh3DsW2qLikpydvb++HDh6ampq9fvyZYOK55xMqZXYhPnz6dOHEiNTUVVBiS4PPnz7KysmPGjFFTU2ufwcTERA8PDw0Njfnz5xPrlJJoEn2l+TxnqGW+LUJc33r8pa6Ooaq6LvlxCV68nExq8tzKPTlVZLn4uf8T19U1ddfSiy/czKeuRQRqO0RDzEKjY9YiYmdj5kZcc7D8oXHNQAlkFxcX6uxH0Htbt25F9EEBEqtZ5OfnE+vuYhvBDlnIyMjo7++fkpKSkZEhKSkJC9CNKAMdy0BZwhdlGj+89fX1vX79+vr1642NjYm1tQFPT89169YhjfTu3fvp06ewJiwsDPkNa4h6aWlplCkpKcFH7MdGXV0dBwfHly9f4A+hUal0DTqceFQLI8QUOLAD57FRWloKgY3CTSrYsrKyS5cuZWZm7tmzB8cSpg4cOHD//n1UVFRUBG+pD5pg8P379woKCgj/3NxcOAbLOIpYVZhATk5OVFQUtC4adeHCBWVl5S5/lE2fEOFnn2bTy9VSNinzy/X03NRn+TWUbhjfKmrvPC29QxmDgJ+Xj5PRaE64d+Rn4igmJkZ9JeFhupICPO2cSBIWWJmZWFmYkA0Qwn9u8P7RYGZm3rJli4mJiavr+EnT3ObMW9y4DFLNwiUrdXQNJjg7T50yZc2aNf+yPHv86OHJE96+x492tSMkSJDoSHRA50BIX7xeZZeEJX9MuJ9bUl6v0wpKamLvfcWLiZFBRpRdToxdpjt7UY0gp7TJ3CNvv377Tos76hYyLqtsrEzQulC8f/pVtbCwsLi4eOrUqVChxJ7bt2+DxYLmTpw4UaCZmRghj5OTk8+ePdsm0RsUFLRp06aZM2cSOhDMtby8HBb8/Pyio6M7oDHtBSTu7t27IVNXrVqlqKiIq29aWtrhw4cJ1tuO/ldv3rzBOcymAE2jnxWM6BZKMvxKzvzvP38LTf4Qm/Hp67f6e1TFZbXEXS1GyhJHcuIcMt3Zcku5BOTNFhx9l1f8Y9J1E1UROx0Jnl9YtxOBDK7MzlL/UAh0uUNW56Yr9OrVy9LSEuTywYMHEL23bt2KjIxEIENMQgRC9C5cuJCdnd3LywuyE//ecePGsbGxhYSEPHz4kJeXFwkBYWJlZWVvb0+r9J4/fw4dCGmtra1NVbzA3Llz9+/fv3379m0UuLq6Dh48GFLz3Llz0KJTpkyRkZF59eoVRCmkMrGeNo6CA0+ePIGynTdvHoQlmHFwcPCNGzf4+fkhRIWEhNAElIcdaE4EFwpAIcMlBCwaoqqqCmVO9QHkG5IV1aEJUNRQ15DHEyZMQL1oQlhYWEFBwdixY4kAh2Mw6O7unpCQgJiFioZxKOFBgwYNGzYMBaqrq1+8eIGqly5dCpWOrIW2Dxw4sPN+wj8NuOCaqHbHq6i0KunRl7TnBekv8ou/fe+VUVvLUFj6/dKMYFNXEBxl3ENCuFU9xhGtELQAhBLeEa0IXlyXyd7L9AOEamrqXSensbcSb+w/7CPc1IzN+obGUTHJs2ZMNDMzP3vWv+X77H8xHOyt8r584RcQEBeXfPI4s7liHz+8P3/2dOD5M9kfPxJ7ho8ctXjZKnEJyc7ylAQJEm1Ah42IkxPnmTuit/sw+VuP866l5d59lldVXX/5rK2rH/SLF6WUGndvNULx4lpooNRtmF571iLCxZWFGddUsOH6W8hs+PB3XVhBNCHtQDGJjz169AAphOTr27fvkCFDsCczMxMSF9wR21paWmC30Kv79u17//69j4+Prq4uSr5+/fry5cuEBQ0NDexsXNHBgwfV1dXBUKkysq6ubvPmzagFjNPExATcl+CXYMAg5eC+hB1oSDiAqgn+DT4Kmg5/UBHoOzEZRlVVFQ7JyMhAARwF7UrYgWPYgKvgxCjcpIIFnUVJUHwof4K4g0nn5OSABMNsTEwMzg9hkDgbSUlJ4Mqg13fv3sU2LOvp6Q0YMIBqEMcWFxcvWLDg06dP165dMzQ0pH1eRKI5SIlwzRyqMN1W/u7T/Gvpubcff6moqu/0iBjO+lyJF1FKdKAzoXjxy2sq1q/b2Y2/bet2EqQZaYGFmYmdtT60/764bgw1NbV+/fpByL17945YU5qQfIignTt3QjGam5sjAIk4FRERSU9P37t3L3bq6+vjL33mzBl/f38VFRXavzrKQAciJzQYKgybCArETm1tLfRqamoqRC9qRDh8/frVwMAAohdK9d69e4iOexRgJ+xAne7atQt+ysrKosDy5ctHjRoFUxDDcXFxjx49wlfQnPHx8Qiu8ePHoxgULJIPgrRPnz60oheZDVklNDR0xYoVqEVOTg6VKikp2djYMFAyBr5C3rO2toakP3/+PMogCezYsaO8vByHwJPjx4+vXbuWSEqI6MTERKQdZWVlZEgIrDt37pCitzXAZddKUxyvujqG5x+KH74pevmx5FV2Sdan0uqauv49+SdbyfWT6bCZNUjQCSQkJGJjYxBB9V2dj5zQ1TdsXKabiMjZoLB9u7erqw88edIXWaLz/exyCPALysjIGhiZDLa0thti2mQZKN6d2zz8T/vW39qhXKuQWvHxwf30o8dPy/WS71yXSZAg8XN08DQwIKwG/UXwqqyuffi6KPV5ftrzgtc5JbSLASM3aPcVnmDeU7Jbaycdodw/ZmT6Py3uWJ/pH5ycnKC/QUFBYH74uGbNGjDdoUOH8vPzQwlDpoIplpaWgs4yMzMnJCSAHz948GDu3Lnfvn2zsrKC7Ny0adPq1atnzZpFazYgIODFixegsyDT1J041T0oAM8GJd2wYQMSup2dHdTmqVOnIHpBUnHhjIiIePr0KSj7yZMnCwsLoYGhnGEQtPXChQtg5GCioO8gxNgPebxt27bJkycvWrQIdlDj8+fPYQT0V1NTE8YtLS1nzJhBuxgAiDKILHgzLs+TJk2Sl5cH93V2dq6pqeHi4gIJBk1fuXJlr169UHjOnDk4P7jeoGR4eLibm1tlZSXMjhgxAgoBBYqKikCOCwoKoMmh0nFy4DApelsPZiZGxCxeIMSP3hYhqBHaLz78mKeKwIBeAs6De8qJt3ZkJhHOlND+dyYN/Q/wB5aWloZGxf8ZAg8SEZoNylBAQODAgQOvX7/u2bPnli1bvLy88Oevrq7Gf3jKlCkODg6ioqLQq/fv379x4wbRr/inwCmGNUhT5A0LC4uUlBTsRNXIEtiPVKCrqwtNKyYmRtxug/ZGxoAixTZi/+3btwgxHx8fJBwcjp2IUGhdZADIY2QMHh4eBQWFadOmEdWNGzdOSkpK6L8T5xDPfokhyqjr1q1bSFzQz0gOWlpaCM/g4GA0ytjYGEGKdiGVQbqjRmQhJDecLg8PD+QZwhoKoPlwm7hxhlbALDIeNjrqB/rrgbjrLcWLF/ERAV5QUinSxjtWJP4gIJQ2btyIEHN2dnGeOGXewmWNky/2zF2wVEfXYOIkV1cXF4IGdIm3XYVxzhMHmVv06av09WtRkwWysz/u27MTEhd5CcUMjUxEuotevBDwKPPhg/v39u3ZsWbdZiFh4U52mwQJEi3jd819ysbCpK4giBdD/dw2Na9zSl9ll7z8WPKtomaYnmRfaXLYVdtgbW19/vx56EwISOi62bNng1NC/rm7u0tKSoLIzp8/HywWCnP//v1gxiDK4KBgkCDQ7969A1PEUWCHtI9BQDehIYlOg7R14RBtbW2oRNjHt+CmEJB4DwsLgwXIRehVSEei9yOMQFLCt379+kGFQp3GxsaiGJRtGgUcHBx5eXkgzdDJcA/EHfwechcinJ0CMN2RI0fiykHrA5guVP3t27f37Nlz5MgR1GhkZOTk5ARhgG9xwcZlG4oaJBievH//3sXFBar4ypUr2FiyZAnapaioCKVNWMMJgfIXFhbGTngL4X3z5s0mH32TaBkszIwqcgJ4uVrKVlTVvs0tJR4QFZZWWWuJq8mTI6XbBshahCdCQFZWFsrtwoULCBPsv3v3LsKkQWEoxv79+1dVVUEPM1A6TSDWhJqajrVlEDfR/Pz8cDhCTFxcHIIzNTUVIhbRPWjQIGIiZfjTeHqtuLg4hDCCl/iI8C8vL8/JyYHohQ6nXRMbVTSuGoURichmCGSIW6hWZC1UfezYMYQnTgJ0MrJcbm5udHQ0HEDAsrKyOjo6Hjp0CCEvIyMDQUtI7rKyMkhcYsz/8uXLsQepAP7j1JGit91AgJOK91+Aubl5Wlrq2LHjRo+wOXjMV0Skif5W2rr60bG35sycbGJieu7c2XbPr/4noskVnmjx8cP758+eMNTfa5NbtHSVlY0dthV6Kx7cv/td1tuEuJiSkmJS9JIgQW/ojAU/ONiYoXJJofsrgKKDLATd7N27N3gntCLR6dfLy6u2trayshIfwRqZmJiIzsbQnHV1dVCtDJQJrkAioQNBl1tTF2UR9vo/Bj8/v7S0NLgpA6W/sYqKCnyAXARzBdd0c3MjnghhP6gqNwU4Fs6gajiJb729vQmbr169gtTMzMwEOca1E1yWOjh58eLFhJ8NfABz9fX1ffz4cWBg4L1792Dq+vXrGzZsGD16NAQ2GguOC+oMT0pKSqDScU40NTWh+fEVVPH48eOpA3dfvnyZnp6+du1anB/wexx17do14jnzr/80/yzYWZlonxGRaAfS0tIePXoEFQf1COGXnJwsIiIiLy8P5YntBoURg1B0u3fvRoihTK9evfLy8t6/f9+gGNQmQgBiEiKWtoczovLGjRtGRkaIbgUFBcRgQkICZCdiB7EGLQrJjVAiZrRqDm/fvjU1NTUzM6Pu4ePjI5bfQBQL/4zkFRUVeXh4rFy5UldXl5hpGeQb8hsyHip3xowZCEl/f//ExES0FKEKIY0yI0aMkJSUhKCNjIzEGUtKSlq3bh0ENj6isVRn4ADyBhICbDY39wEJEiQIiImJXb9+bf36DZamuvsOHTcwMmlcBrLt9PmLB/Z6DhyoceKEDzG6igQDZaarxBvx2JDvrSjz/7tsFkNs8OpKt0iQINEi/phVLv9xREREQDGC/IFWQoVC0b148YKBMn8VMcMzLcD8oHLBC4l+gCC7kLvQeG2tFAIVFYGkhoSEgGuOGzcOnLiaAjk5OdBQossTlHCDZ8WoMTY2Fjvj4+Ope0DTCVdhluiWTKCx4mWo7zuUffXqVVdXV5BaiGrseffu3caNG48fPw6CDpoONkx0gMQeOzs7YgrZZcuWlZWVgVKjatB9Yo4uqAKwakgLJyensWPHEs7IyMhkZWWRopdEF6KwsBAKDf9nJSUl/D+hOfGHt7W1lZKSysnJ2bVrF1Hs5cuXxMa3b9+ioqKePn166tQpBBEbGxsisbHohZodPHhwUFAQRK+hoSF1LquDBw9C2e7btw/bQkJCenp6gYGBiCNjY+Pu3btXVFQgzHV0dIj+zM0BrBdBt3jx99lfP3786OXlhaBr5WpDyBW1tbVoGqQ7MT88moB2QYcTQ3+trKwgZZG44A885OevH1Z6+PBhtMXNzQ06mUhld+7cQRS/evVq6dKlY8aMIYzDDU9Pz+TkZMhj2kHOJEiQaBK4UK5bt9bY2Gj8+AlO410WLlnZZDfmWXMXauvqT5vmMtbJCXygQbesfxzqAzX7KSl3tRckSJBoFf6tcRp/Lh4/fgwejAsSlJ6zszPIX3BwcEFBQXl5Oe0ErQTAg6F4b9++DQqYnp4OTrlhw4bGNidOnCgmJnbgwIHi4mLa/fjo7+8/Y8YMbENMUu4HXy8qKurTpw8cgJpdv359aWkp8RCmOcCrrVu3VvwflZWVaAJEO/HtT0dwQvSiCSD3RGFAWloaZPf58+e3bt3CTgcHh3v37kEnQDloaWkRyhks+dq1a6hrzZo1UyiLLhw9ehSev337dtWqVaDXVRS8fv0aJxANQS0tu0GCRAcCkZiWlnaFgjNnziCO4uPjISPV1NSIrhyQvigAZYu/K/63xFH4b+MvDeGXlZXFwcGB8ERoQ9r5+PhQR7c2gIuLi6Cg4Pbt23fs2HHp0iVU5+7uju25c+cSK34R428RSggf7BEXF+fl5YV9OTm5ltcqQ1R++fJlzpw5sAnNDM159+7dJlcJgi5FW4jJ9qiAiMWxiGLEZigF0MxIZQhtc3NzBsodMehbZDn4Ly8vTyQ3+Llp0yYEOzIbwhY7Uf7mzZuIZUtLS6pxTk5OtAUpEfW27YchQeIfhqmpaXp62r20FEd7q9zcnCbLaGrpRMfeSr/3wMjIuPGNtn8ZRUWFJSU/GNSXz58LCwpqa2u70CUSJEg0B1L00ilqafDs2bO4uLhp06YZGhqCDhKT2YDtgfyB+dVRZgmrqakBFSYOxB5QRijM6dOnE9QWqrXJWmbOnHnu3LnIyEjoUqIuUG3oSREREUL0CgkJgY4fPHgQVBum4AD4d1JSkq2tLbhpc85DGy9atGjPnj2EMwB4vJKS0sWLFxsXhhZtfIWQkJCwtrbev38/+CtVqcbExEB4Q9migL29fd++ff38/OCqsbExMfgQOnzlypU4FcuWLXNzc4NURrvAkiHRnZycqMZBrGVlZV++fPnhw4e2/i4kSLQPwsLCRkZGCJ+7FBCjBqBOhw4din8vogPRioiGRk1MTESgIYIgcRkosYBgj4iIQAwi7hCeKSkpkIsw5erqSmjFBkCoIhBQ3cePH7ds2YIwyc7O9vDwgOglCrCwsPTu3RtBBMmNWEAV2CCyCvHEVUNDQ1NTkzrxMmrp378/ZDlUpaenJ1gvRDtUKDs7O/Q5qoNmbjDkDwWgiiGqaXeigYhWIkivXr166NAhmBo0aBCilTqxHGIcZkHEEafEnrVr16qqqqK61atXI2Z9fX0R+7AAJd9gwW1FRUXoYaSLVk7uRYIECQbKAP6oqKtDLC2GDNKLi73WZBkBQcFT/sEWVnbIDdSFIf5ZsLNzcHHVp8cH9zOePX1C3X/O/5TX0QMRV8JycrJJ6UuCBL2B7N5Md4BihKwFX0xPT2egDKJLSEgAp1ywYAF4M8gfMasqaDEo6YEDB4iHIeCj2tranz59GjduHBgkiOy2bdtevHgBUggO/erVK5Rv3HMJNPfOnTuQ02Cfurq6KLBz504xMbHg4GCiAOyMGTMGzkhJScnJyeXm5kIDg4tTOzihdhBo6pNbfIuPsLN8+fLk5GQcNXXqVDBvYlJlkOyMjIwGbmzfvh1M2sLCgrbTFHwAQcexkyZNgirAxQMiAa1Yt24dtU8yVHdcXBzaRR24CMoOnQw70LoQBnB49OjRYMySkpJgybSVgmffuHEDzgwcOPAfnTiYROdCRkYG+pB2D+JXVFSU6KTAx8cHNQuZmpOTg/9zv379IHERbpSJ65k2bNiAnABFh2Lz5s1DmbKyMhjs1q0byhDauAGQDSBr8e3Dhw8FBAQQUFCttAWkpaU3btxIPKSF6h48eDAxaoD4Fs7gnSopUSm8Iob6W1tbQ44i1eAjApwYqgBPIJtpQxiRiwINRClRFyIawVtaWopGwQLhHrUAKpKXl4e31C7TOjo6IiIiaPXnz58RyDgP1dXVY8eOpZ12ngCsubq6ErW04jchQYLEdyDVrFq10tjYaOzYcSNHOS1dsbbJrs4z3Odq6ei5TXXGxXfr1q20ay78U+gpK6esOuB2cuKXz5/fv8tS6q8MGfzkcebl0JCM9FQU8A+8JCzc7V+b9ZoECTrHP5qw6BlgdbNnz6Z+7NOnDzHZKcFHlZSUTpw4kUABeOH79++hjSFrGSi8GcL43bt3QkJCLi4uoJLQrnV1dXv37gWxzsrKoj45ocWxY8emT58eHx+PC5i+vj6kMvVxENUBkGNiLlYI4zVr1oBJE7MoM1AeVaFeKj1dsWIFMUE0arx06ZKnp2dqaioK7Nmzh5hWSkJCAg2k7ZIdFRUFqdx4MUBQ29OnT6MJT548QaNQYOnSpcTkN9QTBf0PkU9d6Rfl9+3bBzWblpa2bNkyaOYvX75oaGgYGBg0MA49jFaDGefl5RHjgUmQ+H3IyMgAR2x9eWphRAd1Z4Neu8SaQ60BsgSk77VrTT/A+RUQN+YaAyK5ydmbCbCzs9PO80wFhPS9e/fOnDmDb2mH/TNQ1nai3UPMxdXYAvR/k1mOBAkSrQGu7OnpaePHTxgx1PKw10lx8SZmbFYfqBkVe2v+rGkGBobnz5+TkZHpfD+7HIp9+g4ys3j08MHjRw/9Th7Pzv4InhNxJYx46qutq99PSbnx0DMSJEh0LRjr6up+XorE74S5uTm04qBBg7rakT8G1dXVZWVl/v7+UP6rV69ukkDTLdavX89A6bHZ1Y6Q+L1wcnKyt7cfPXo0tsPDw318fLrao85DUFBQO4568+bNtm3bXr9+vXjxYiMjI3qmjLQ/LgkSfx+2btu2d8/eXfsODzK3bK6M95ED+/bsPHbs6LBhwzrTtw6Brq7e6g1bB2potVzs69ei3j3r+6F07y66YvWGMeOcqV9lPrx/6oR3VOQVKF7aQ/QMjJauWKs+ULPJDLZy6QI1VSV3d/eOaAQJEiTaBvJJL31h1apVHh4eXe1FJ6Fbt27EYr9tBWjxxYsXz5496+bmRj7YIUH/sKagq72gd4iLi8+fP7+2tlZaWpqeFS8JEn89li1damRoOGaM07ARDstXbWhyxuYpM2ZpautNnzw+NjZ2x44df2XM1q8TPrp+0Qc+fgFZuf90P1HqrzJ73iKVAWo34mOpurdvv/6jxoxTVlb9K88GCRJ/OkjRS19YsmTJ9OnTu9qLTkK7Vz5gZ2eH7h0yZAiEBHWuHRIkSPzRQFwTS3+TIEGiy6Gnp5eRke7s7DLcdvAR71MSkk3M666qph4df2v+7Bl6evoBAedlZWU738/fCg4OzuWr6jtnMTEzN56mXqqH9LgJEw0MTXL+L3r79OtPLLRGggQJOgQpeukLfBR0tRf0Dmlp6UOHDnW1FyRIkCBBgsRfCyEhocuXw3Z6elqZG+7cc3CwZRPdVXh5+bx9/U94H9HR0T18+BB1YUI6Bzs7W+bD+z/t3szIyNik2qeFTE9ZvFpTaU1NzdMnj3S01FvrJQkSJDoUpOglQYIECRIkSJAg0QQWLVxoaGAwevSYpMQbK9dsbHLG5olTZmho6c6YPD4mNnaXpycbG1vn+9kmHDp0yNx8MD+/wLDhDp1TY3V19YwpzkKCAi4uLp1TIwkSJBqAFL0kSJAg0Rm4f/9+RkZGRUWFkJBQQUFBXV1dv379aCckb4ynT5++ffu2f//+DVbBbSUyMzOfPXtmYWHByMgIO/z8/ISd27dvy8rKUqc9/0W0o11NIiEh4e7du1xcXIWFhTCVl5cnIiIyfPhwYWHhDvGTBAkS7YO2tnZGRrqr68Rh1mZHj/tJ9ZBuXEZZRfVqbNKiee46OrqBgQENJmCnNyBHXbsWDd2L7U7QvVC80yeNZ2FmDAoK+mfXeSJBostBriFGj0B+LKcAPJLYwJ6WD6msrETh9i2GDpJaRQGxjboIO8T+DpzfG9ba2q6WAQtlZWXkDOQk6B8PHjzw9PSEqMOftoaCmJiYdevWvXv3roWjoFSvX7/ecpkWgNBARdjIysqKjY0l7EBMent7v3z5sn02GwCKd+fOnWgXkX8AVLR27dp2+Jyamnrt2rWSkhIYIU4R2r5ly5YO8ZMECRK/AgEBgYsXQ8aPc7IebBRxJazJMjw8vEe8T40Z76qrqxcQENDJHrYVhO5dt2rppZD2zDbfeoD5THUdy87GEhQUSCpeEiS6EGT40R2QH/fv33/hwgVs9OnT58mTJ2CuI0eOXLx4cQsLnS9btuzFixceHh7KysptrfHr16979uxhZGRcs2ZNTk5OdHS0mpoa7Lx582bv3r1z587tkNkpIMs3btx49epVVlZWGHz+/DkHB4eTk9O0adPat4B7fn6+rq4u+HFYWNiftWoRiX8QEIdxcXHHjh0zMzMjeI+KioqrqyuxgHZZWRlUsZbW9wFmubm5BQUF+FdzUQCZmpKSgjgVExOTk5Pj5OREmeTkZHV1dZRE4CN4TU1NEWI3btxgZ2fv1auXuLg4yoiIiKAuqMc7d+5ERkbCJupKSkpCMQUFBUFBQVhjY2ODQIUGRjEc2LNnTwbKfTdCtcIx1Iv9MNVku+B2fHw8bbuQOiZOnIh2iYqKQsciSImS3759g7d8fHzCwsIQ83Cb8BDGienowKq1tbUnTZokJCREHALxjNSEFERO0k6CBD1g3rx5+vr6o0ePSU5MWL1+c5NzFLtMnKqhqT19Un1X57179iAjdb6frUQnPO8FkZvi4sTDzXn+/Ll2T95JggSJDgEpeukOvr6+mzdv9vHxsbGxQYqEqMNHML9BgwZpamoSj16JATPEk1goRuq9QxQmnrfgMkNVkuXl5ZCXIK8MlFkZsI0DsRMFcMXCOz8//6pVq7ATB6alpT1+/BhsG5bB0aG9x4wZA8ZJVAFaDGINIziQmr6Jp7XE4YTBJtsF/bxly5bExETwWnwsLCzctGkTuLKenp6SkhIsU0cBwQ5qR42oAvuxTVimvb5iz9atW0HHZ8yYfdVCEQAAIABJREFUgY3jx4+TlxMS9AwJCQmEXkJCAjbAtPB3hRpEREB24k+enp6OWCBEL8RhdHT0hw8fiFs5EIe3b9/u3bs3AiE/Px862djYGKYQUFCMvLy8CHaUHzt2LApAZCISoR5RbODAgYTSHjVqFDYgTXNyckBYoXghaHGIrKwsQjsoKCgiIgJuIHK9vLwsLCwgO+FDaGgoopWHhwd2YBD+3Lt3D1UTqpi2XRDhqIW2XQhJGER4enh4rFy5ktC9mZmZp0+fhjOweeTIEVQBAfzlyxdDQ0MHB4fm+loT2ea3/zwkSJBoHcBD0tPTJk2aPNRq0NHjftIyPRuXUeqvcjU2acmC2Vpa2oGBAfQ8K/tv1b1VlZWTXMYI8vP5+58hKQoJEl0OUvTSHQjdSFBhZElsL1y48NWrV9CEJSUloKcFBQXTpk1DyY8fP0ZGRoJrWllZMVAUaUpKSkxMDJjx8OHD+/btCzIKHgzeOXv27H379hHc0d3dHdwXTBffGhgY6OjogFaCB0MV4xCQ8lOnTj1//tzJyQksuaio6NChQ9C95ubmqB17wJ7h1YABA8CeBQUFUSA5Obm0tBQbcADKHDSakOUwS9su0HTs6dWrF2QzvgWNhleE1n3y5Ak8Ry0og5JQ3bGxsRDDCgoKqRSgahxoZGQkJSVFiGqIdiiB1atXW1pa2tnZoQz1KRkJEnQIFRUVxGlAQAD0LXQj/tvQtMRMp7W1tQgZSEqiJP7hkIvU7sdZWVkIHMSpsLAwtOKuXbtkZGRwLOxUV1dv3rwZuQLh4+npiYAaOXJkdna2t7c3IgViFZLy7du30MYIbWhLiE8IXcQLAhmxr6qqmpubu3//foQz4gj5AVXs3r0bUQw5iqiE6J07dy6ErqioKMIcacHExKRBu2DE2toa+QT+SEtLg92iLnt7e3z1+fPn9+/fh4WFoV6kl7t37z579gz5ISoqCg6PHz8exyKDwRltbW1C9CIR4R1uo404A2lpaWiUmJhYZ/1KJEiQ+Dn4+fmDg4MOHDhga2myecceWzv7xmW4uXkOHj1xxu+EgYHhnj27x44d2/l+thJU3YtMO9R+ZEeZrayocJ0wSkRYCIq3fd3ZSJAg0bEg45DuoKmpCZI3ceLEs2fPQutCoEIl+vj4gCBCW169ehX8kigJwhocHHzz5k3iI0gqCOubN28geocNG3bs2DGUz8zMhNx1cXEB9+Xi4jp48CCY94QJEyA1QT0XL16MAnl5eSCmsMPCwoLtiooKqFkeHp4PHz58+/YN+hPcGj5AlIKA4itI0wULFri5uWFncXEx/IRBvIMogzdDok+ePBn8uEG7QLK7desGxy5evAg6C2oOU3AY9P3du3e4fF66dImB8tzYz88vOjoazoDHu7q6gjeDi+/ZswcKAe4R1uAVCDGEN6Q7LCQlJXXW70OCRHuA/7C7u/uGDRvwt0dk4Z+/atUqvDNQVC5UJbUk4gtlqB8RNQ4ODgicwYMHIxwQyAhw4iv8/4cOHYqMAX2L0Bg3bhyK2draamhoEPePAES9hISEoqIiipmbm0NM4h3SV09PDwI1IyMDZaDAoTORaqBIUR5alzhWUlJy6tSp/fv3hz84fNq0aTi8QbuEhIRmzpzp4eEBaQ2Vu3fvXrRr586dRNVQv9C32EaMI8PAFIQx8tJ7ChC8zs7OOC3U3stIR0+fPkVyePHiBfJbamoqMSaZBAkS9IZZs2ZFRIRv2bB6xZL5VZWVTZYZN2Fi4MXw9Rs2Tpk6tby8vJM9bD2o43tDLwZ3iMF6xTveUay7CKl4SZCgH5BPeukOSkpKy5Ytg8ZbunRpbW1tr169QG0hMn86fSsY54kTJ0aOrL9Pyc3NHRgYCJU4YMAAZmZmExMTWIOaBY/E/oiICGJ6VewEuVRRUQGXxVdSUlKjRo0CAcWBysrKMPjs2TNoURiByLx//76XlxfRU9Ha2nrs2LGgswQJ1tbWhsYmhv6C5oIrN+7OpKamtn79+v3790M5Q9CiXWZmZtOnT4fCJ556Qc+j3qysLOh2eXl5tBdEGW6MHj0aXNnU1HTevHnUOauuXLmCA1VVVYuKitAWSO6JEyeSi8KToFskJydDeTo5OamrqyMSoe4ePXrk6emJSLGxsWnhQEQKcgIxjtfIyEhcXDwhIQF78BGKkTpejpGRkRh2y8rKijKtnPH4/PnzEJ++vr5UWgbfIHqJziMwRZXfzY3phZTt27cv8gbRrsePHz98+HDXrl1oLNqFRHHq1Km4uDjYx1fQ7QyUdGFsbIx4T0pKgtrHNjIAYQ0FpkyZQnXe0dFxxYoVhoaGhD8kSJCgKyDq09PTJk+eYmNpcszndE9ZucZl+vRVuhqTuHThHE1NrcDAALqdgANEIjo6avBgC2z/4vPeiopyl7EOUpISJ0/6koqXBAn6ASl66Q75+fmQeZCUYKIgkYcPHw4NDSWGw7V8IJQtVWpC0ILOUm+s0nZKBEtGcscGxG3rqWR0dLScnFx4eDgEMwNlbgbIXaroFRAQoE52BSnbpAWI6mnTpk2dOtXb2/vbt29+fn4BAQGQ3Hv37u3WrRtcApWHxobQzcnJgRHsHDhwIDESGP5rampC0mMnTKHA0aNHZ86cmZqaio+QxDhXaC/R65sECTrEyZMnoQMnTZqEdwZKb+cvX76EhIR4eHg0EL0lJSUfPnygfuTm5ubi4iK2i4uLEXqIXOJBLqLmFxkV4hcx6O7uzsvLS+xhYWFpU3diaFq0aPLkyfLy8gz/Y+8+4Grs//+BRzsjFBqEkFnaEw2ptEgilZWRvVfI3tl7kz3vm9tKKCmbyt6ykpERDbv/69v1/Z1/3zrcSZ0TXs+HR4/rXOdzfa735+Scc726Vvbf7BwcHHbt2oVxeXh46OjoIOLina6WzdnZGW0MDQ0nTZp0//59hN6oqCh8IOADBPlWJjvh4+0supCV8IrdvHmToZeoeMJHx/bt25YtW+bhYj95+myxp8UqK6ssWLJq2+YNTZvazpoV2rFjR8nXmR+Fknvfv8/s2N67ejWddevW5jrJi4iki3+CKnaQcq9du/b169fOnTsHBQUlJCSsWbMmPj5+3rx5+e8Eobds2bKih8bGxj9ZFUIvqoqLixNOsr106ZJM9pVd89/D9OnTHzx4gO8A5N4BAwZge3fixImnTp1CGFBVVcW2Mjbo0fPp06dLly5tamqKRdzd3fEKYCsfr4m/v//w4cOFa1nPnTsXo8NrMiDbggULEIax7A/VQyRJNWrU2Lx5c2xs7Mf/Ow7wRTb8z//8+fPt27ffv3+fmJgozL969apowcuXLyP1CdP79+9/+PAhuvqZC6IiUeO9JkwjZGIaP729vRE78fPKlSsoIP+91a5dG+OKiYkRjSs5OfnZs2dItjLZG8RWVlaHDh3CRwfSrHBNaTz8559/jIyM+vbtu3DhQmR4fA6IjtnOCWMv8DCJSGJ69uyJuDhr+qQRQ/p9/PBBbJt2fh3+2nto2vQZnTt3ycjIkHCF+STk3gIf55yZmRHQzktXtzoTL1ExxD29xc6ZM2ewyTtjxgzReW66urrYWMTmMrYRZbLPesUXhoqKCrYyc54kg61G0RfJli1bkAAL8bgaPz+/bdu2YZtbOPIQNdy6datChQr5v9Eu6keFCKjCQchycnLVq1fHKISzChs1alSvXr2NGzdWrlwZ3zrC2NPS0pydnXv16nX8+PHnz5+PGDFCS0tr2LBhUVFRbdu2Xb58udAzXoQdO3bMmTMn501fiIqVDh06IPhNnDjxwYMH5cqVw5zFixdXqVJl1KhRsrKylSpVevTo0eDBg1u0aHHixImIiAgPDw9hQURQfBrcv38fQRf/zzE/1/WT8+nixYsvX75UV1fHh4mSktLq1avxHnRwcNi9ezfeWdhmVVBQQBs8RKl5F8f7/c6dO0iqQnAV6dixY3x8/Lhx45DYhXEhx1arVg3jkvnPHh5lY2NjBHVMCGdeQHp6OnIyXgczM7PHjx9jonXr1sLh03v37hXuaSSTfZOnyMhIExOTNm2K5FYiRFSI8CUeF3ehR48gV6emy9dsrFmzdt42tfXqhh+NHTV8kKmp2Y4d24XTNIob0f7e95mZ5pbW+V/wy9cvwwb1qVtHb9XKlUy8RMUQQ2+xg61PbPuuWbOmffv28vLyWVlZSJtv3rwZP348tkq1tbVPnz599OjROnXqYAJboqLbYGJbGfPLly//4cMHpETEv9KlSxeggJSUFGy/1qxZU3iYlJSko6ODFIrNU9E5w2gwd+5clIrvuVyLI51+/foVeVh0CyJBcHBw7969V6xYIVzZFRu+SObY+O7cuTMeYjve1tY2JCTk06dPXl5ewmHMSMj37t0bMmQIYj/m4NXAxMmTJ5GTUYmoZ3TSsGFDPItXgKGXiictLS3hHl3JyclLly5t2bKlnp6e6CbYeLuNHj362rVr0dHReE/hvSD6i5Wrqyvi7u3bt/HWwLsPCwpXvcLbBElYQ0MDLZFF8XEhtEe8RM/C9Z/Q+ZMnT7BGfX19d3f3w4cP45MBCzo5OYWHh+OtjffLnDlzEL+RNvFRg/YIw3gz4u2JDxZkclH9586d27p168iRI3OFXhQzZcqUlStXIpxjXMJ1BAYNGoQPDZnsa3QhACPJp6amonJhERcXl48fPyLY//XXX0j7+GRr3ry5cMA26nn16tXbt2+FlkjF6CpnGURUbGGTY/PmTatWrWrl6jh+8gxvH9+8bZSUlOcsWLZz+xZ7e4fp06cFBgZKvs5/JeRePz//+XNm/NCCrm6uC+bPL6KqiOgnMfQWO9jGvXHjxvr167GN++DBA2wN79y5s0ePHsImo4+PT0xMzPbt27FpixSKTUYhH1asWNHY2BipD4tggxUboCNGjEAARloWxVfhUjeik28BuRTfUgjJmBD18/Lly40bN+IhNmex9YyNYIRYT09PbJFj+tGjR9g4xpY04rebm9vTp0+x2Z0zXe/evfvdu3e+vr5okHNc2Bq+evVqWFhYWloaoiyWQnwNCgqyt7cXGiAVICqj5nr16glzsCm8bNkyvBTYdMZWMraA0S2+UG1sbHL9hRgb4s2aNbt+/TpWLTo7kahYqV279tChQ/E/2cPDA///8X4UHc1RtmzZXr164d2KNyPeenh3f8g+RBABuE6dOgi9iIJ4G5YrV05VVVW43+PAgQPRTMjGwk28ha7wZkSqFA7BMDAwwPsdS6EHBOYmTZqUzubv7+/s7KympoYe8HZD3kb/wg1+hYSJ+XjLf8xxRVZkZkRxsdfHwiqGDBmCzyt8OuEDBOPKeVYwKsHHC97+omXxNkdL1IwxIutiESHx4iMu17m76Crnda2JqPjr1q2bpaWlj0/bk7HRU2bMQcrN26ZN2/ZGxiY9AgMiI6OWL19WqlQpydf5fci9CQnx0q6CiAoTQ29xNHjwYKTNjIyMmzdv4pN38uTJwt5Rmew9QtOnT798+XJqaio2HLGxKBxSiI1FbNFikUuXLmGbEhu7DRs2xLbm/fv3R44cKWwly8nJYWsYTwld4WvGyMgI6TEzMxM/hX4wB9uv0dHRiKbIlsHBwZs2bcJ2Nratx44di2YXL15Eb4ijwuGXeAob09jeFRWvoqKCrXOx92EPCQkRzmBMSkqysrJCzdjwFT2LuKurq2tiYiIKvegZyfnMmTNXrlxBS4wX2+t4QbA5nqtnlNGmTRtsuDP0UjG0f//+NWvWSLuKgsN7H/H7O1dHFwJtritg4WPh7Nmz4eHhiYmJI0aMyPlUqWy5OhFdv4qIfmnY/Lhw4XzPnr1aODZZsWZjbT0xV2yuWUvvwOHjIcFDTUxMd+zYrq+vL/k6ieiPUkJ0DxiSFkdHx1GjRgnxLzWbtCsqOE1NTXl5+R9d6sOHD0+fPj169Ojx48fbtm3r6upaFLUVExMmTMDPcePGSbsQKlrt27dv1apVu3btMJ2QkBAdHS3tigrOy8tLOFz5h6Snp0+ePPnAgQOhoaH29vYF+GQotnL+conoW9atWzd8+IiQ8VPatg/4Vpvdf+1A9J08eRLvv0BERYp7eouXWbNmTZkyRdpVFNz58+cLcKXotLS08PDwHTt2WFtbW1hYFEVhRFJkmE3aVUiaiopKcHDwoEGDKlSoICfH7xqiP07nzp3Nzc19fNqeiI2ePmu+srJK3jatWvs0MjQO6vqfQ51XrVpZsGuREBH9K96yqHiZNGnS119Zwe6NpKysXK1aNTc3N39/f7EnDRLRL6dEiRJly5atVKkSEy/RH6t+/frnz59TUVZwadb45o1rYtvU0K25/1C0SmlVIyNj4YYORESFjqGXpE9FRcXFxWXQoEF16tSRdi1ERERUaJSVldesXj1m9Kg2LVts2RQmto28gsK00Hkjx0xwdnZZunSphCskoj8BQy8RERERFaGAgICYmONrVizp2yswIyNdbBt3T6+94VErVq728WkrunUZEVGh4FFnRERERAU0aNCgvXv3SruKX0NWVtbxqKPGDWuVKVtWTvabm6A7d+7Av61bt/JycURUWBh6iYiIiAro8uXLEyZMsLKyknYhvw89Pb0vX7706tVrzpw5YWFhdeuKuekREdEPYeglIiIiKjhNTU1dXV1pV/H7UFNTe/78eVJS0vz5862trV1cXCZPnsxXmIh+Bs/pJSIiIqLiRVlZeeTIkQ8fPtTT0zM3N+/Ro8ejR4+kXRQR/aoYeomIiIioOCpduvT48ePv3LlTsWJFY2Pjfv36JScnS7soIvr1MPQSERERUfFVrly5KVOm3LhxQ1lZWV9ff+jQoSkpKdIuioh+JQy9RERERFTcqampzZw58+rVq58+fapXr97o0aNfv34t7aKI6NfA0EtEREREv4bKlSvPnz8/Pj7+5cuXderUmThx4rt376RdFBEVdwy9RERERPQrqVKlyrJly86cOZOYmFirVq0ZM2ZkZGRIuygiKr4YeomIiIjo11OjRo21a9fGxMRcvHgR0XfevHkfPnyQdlFEVBwx9BIRERHRr0pPT2/z5s0RERFIv4i+S5cu/fTpk7SLIqLihaGXiIiIiH5tDRs23LVr1549e/bv348YvGbNmi9fvki7KCIqLhh6iYiIiOh3YGxsvG/fvi3Z6tWrt2nTpqysLGkXRUTSJyftAug/9uzZc/36dWlXQZJw9uxZc3NzaVdBkhAREcE7Sf6Wbt++Le0SiOh7LC0tDx8+HB0dHRISMnXq1AkTJrRp00baRRGRNDH0Sl/Xrl1Pnjx548YNaRdCkqCrq9uiRQtpV0FFzs/PD6GX7+vfko2NjYWFhbSrIKJ/YWtre/z4cXwUI/pOmTJl4sSJHh4e0i6KiKSjBI/6ICIiIioYR0fHUaNGOTg4SLuQ30flypWfP39euBuoe/fuHTt2rIKCwqRJk5ycnAqxZyL6JfCcXiIiIiL6nXl4eMTHxw8bNmzQoEFNmzaNjo6WdkVEJFEMvURERET0+2vTps2VK1eCgoK6d+/evHnz06dPS7siIpIQhl4iIiIi+iOUKFHC39//+vXr7bO5u7vHxcVJuygiKnIMvURERET0B5GVlQ0MDLx165abm1vLli29vb2vXLki7aKIqAgx9BIRERHRH0deXr5Xr1537txp0qSJk5OTn58fYrC0iyKiIsHQS0RERER/KEVFxYEDByL6NmrUCOm3S5cuiYmJ0i6KiAoZQy8RERER/dFUVFRGjBiB6FujRg0LC4uePXs+fvxY2kURUaFh6CUiIiIikilTpszYsWNv3ryppqZmZGQ0YMCAZ8+eSbsoIioEDL1ERERERP9Vvnz5KVOmXL9+XV5evkGDBsOHD3/58qW0iyKin8LQS0RERET0P9TV1WfNmnX58uXMzMy6deuGhIS8efNG2kURUQEx9BIRERERiaGpqblw4cK4uLhnz57p6elNnjw5LS1N2kUR0Q9j6CUiIiIi+qaqVauuWLHi9OnTt2/frlWrVmhoaGZmprSLIqIfwNBLRERERPQvdHV1w8LCjh07duHCBUTfBQsWfPz4UdpFEVG+yEm7ACIiIiKi/5KXl8fPEiVKSLuQfzEg2/79+11dXaVdCxH9C4ZeIiIiIioujh07NmfOnKysLGkX8u+WLVuWkZEh7SqI6N8x9BIRERFRcVGrVq0lS5ZIu4p8SUpKUlJSknYVRPTveE4vERERERER/bYYeomIiIiIiOi3xcObiYgoty1btrx69epHl2rQoIGdnV0RlENERERUcAy9RET0/2VlZQX17HnmzDkzc8sfXXbqtGmTJk4MDAwsisKIiIiICoahl4iI/uvz588dOnRMfvpsz4EjysoqP7p4955927V2S337dtDAgUVRHhEREVEBMPQSEdF/fPjwwdu7zdesEhu3/i2voFCAHqrX0N194GhbL9e3qW/HjRtb6BUSERERFQBDL/2UuLi427dv/9AiFSpUaN68eRHVQ0QFk5aW5uHhqV5ZY/6ilbKysgXuR1NTa8/+o75t3N++TZ09e3YhVkhERERUMAy9VHB79+7t3r2HdeOmP7TUxfgLnTp1Gjs2pIiqIqIf9fr1axeXFvUbNpo+a/7P91ZBTW3XP4cC2nl169595YoVJUqU+Pk+iYiIiAqMoZcKSEi8G7ft1jdo9EMLvkxJ8W7pjAnmXqLi4NmzZ46Oze0dnUaPnVxYfZYpU3brrr2BHdr5+rbftGmjnBy/a4iIiEhqeJ9eKogCJ15QU1fftefQlq1bJ06cVBS1EVH+PXz4sHHjJp6tfQox8QqUlVXWb96VkfmhZctW79+/L9zOiYiKgy9fvki7BCLKF4Ze+mE/k3gFzL1ExcGtW7eQeLsF9ek/cFhR9C+voLBi7abSZcu5uLRIS0srilUQEUlRenr64cOHpV0FEf07hl76MT+feAXMvUTSlZCQYGdnP3zUuM5dg4puLSVLllywZFXN2nUdHJq9evWq6FZERCR5KqVK7d7zT0BAB6RfaddCRN/D0Es/oLASr0CUeydNKuTjKono+06dOuXs7DJlxlyfdn4SWN3UmXOtm9g1bWr79OlTCayOiEgySpYsOX7SdFl5RRMT00uXLkm7HCL6JoZeyq/CTbwCIfdu3rKFuZdIYo4cOdKyZauFy1a7unt+p1lWVlbqmzdJjx8lJz/JyPifnRgpL15gPv59/vw5nysNHjOhtU/7xo2bPHjwoOClExEVM/Ly8jPnLBo0bJSjY/MVK1ZIuxwiEo+hl/KlKBKvgLmXSJJOnjzp7x+wZsM2W7tm32/5MiUlZPQwEwM9NyfbA/v+yflU/97dMB//Hj64n/9V9+k/OKh3/yZNmvI4ZyL6zbRq7fPPwcjFS5b6+rbnJQyIiiGGXvp3RZd4Bcy9RBKTkJDg7ullZm75/Wapb97s3LFl+5aNhbv2jl26q5Yr9/jx48LtlohI6mro1tx/KFqltKqRkTE+aaVdDhH9D4Ze+hdFnXgFzL1ExUfS40ebNqwdP2ZEPtunp6c9fZqMf0VaFRFRMSevoDAtdN7IMROcnV2WLFki7XKI6P+Tk3YBVKzlM/Gmpqa+THnx9euX8uXVEF8Lti4h93q3dMZ0SMiYgnVCRD8pJjpq25YNO7dvyWf7mzeunYiJvnTpP7s1fNt3qFa9hqaWdlEWSFSsLVq0aPv27Tnn1K1bNyAgwMrKSl5e/vvL3rp1682bN+bm5t9pg85Xrlzp6+vbtWtXPMzMzDx48GDr1q1/vvK3b9+uWrVq9+7dOWdWrFgxMDDQzc2tAB2eP39+4cKFNWvWHDt27M+Xl39fv36NjY0dM2ZMnTp18FphzvPnzydMmIDXf+TIkRoaGo8fP540adL79+/DwsKKogB3Ty99A8Ogrh0iI6PWrFldtmzZolgLEf0Q7umlb4qKispP4v3w4f2alUtbODZubGG4bMn8T58+FXiNov298+bNL3AnRPQzOvn77NqxtVKlyqZmFv/a+OSJ48MH9wsZNWzrpvX459Pabe6s6Y8fPZRAnUTF071792JiYp48eXLlyhVkrYSEhE2bNnXs2DE6OvrLly/fWfDMmTN9+/bdu3fv9/tPSko6ceKEcEE4JN7u3bvPmjWrUCr//PnznTt3UPylS5cQCDEETO/btw9xcf/+/QXoEAEeMf7mzZuFUl7+nTx5snPnzig+Pj5emKOqquro6IjwmZWVhYfq6uq9e/cuX7785cuXf3JdX798FTu/WvUae8OjKqhXNjIyvnDhwk+uhYh+HkMvfdPx48cDOgV+P/FmZmZEhB/YELY6NTW1UFaK3DsqZOKRI7zVO5F0VKxUyb6ZU+/+g0MmTP3XxkMH9rl9+6aLq3vjpnbqFSt++vhx+9ZNixfOTX3zRgKlEhVbQ4YMQaA6duzYtWvXQkJC3r596+/vL7q+EdJvbGzs+vXrcy6CHIv27969yznz7t27GzZsePhQ/B+SPn36tGvXrpSUlFzzX7x48a3LpKMepGtkWuHhuXPncjXQ0tKaNGkSsjdCI5718/NDdLx69aqowe3bt8PCwpKTc5/OgDyJnkU5Mz9279599OjRjIyMXPPx+nyrn6dPn2ItCOTf6nP+/Pnt2rVLTEzMOVNRUdHZ2blXr17q2QejKSkpNWrUaOjQodWrV89/tWJlZKRHHo0Q+5S8vPykabNCJkxzdXVbsGDBT66IiH4SQy99T4kS3/sf8uLF833/7J40fvSTpMK8LE3JkvxvSSQ1PXv3nzJ9Nn5Wr6H7r43V1NU7B/ZYuiJsxuwFPXr2w5z37zMP7N0dH3++6CslKr5UVVW1tbU1NDSqVKkyePBgZK3nz5+fPn0ayRBhsmLFiq6urr1799bR0cFPBNGDBw927doVIXb58uXu7u5oef/+fQROExMTRDUDAwN7e/t79+7lXMXnz5+R2RBfMb9evXqbNm1KTU1FHLWystLT00OoE/pBy4iIiCZNmjRu3Ni3ZI+0AAAgAElEQVTT0xPZr3nz5h4eHpiJtTs6OlaqVOns2bOibmVlZcuXL1+5cmVNTU2sHf18zibqx8zMrE+fPvXr12/WrJkofM6ePVtNTQ0929nZ6evrX7x4MdcLghRtnE3YlT1nzpzatWt36NDBy8sLL1FwcLDoLwKoDa8P+sELiFVgjMLR0cj248aNw0ixlgYNGowcOfLZs2d5X/kxY8a8fPkSL1qu+SoqKhhRziPMsd4yZcoU5LebQ+nSpaMjD/fq3ikt7Z3YBi3cPA4cPr5+wyYvr9Zv+NdAIulhuqACupQQv2TBnEnjRn3/niVfvnzBN8Grly9F/969e5v/e3sSkYR16dazhm7NfDY2NbMM6tVfQVGxZs3affoP1m9kiJkfP3189JA34yX6LwUFhX79+pUtWzY6OhqhF/E1MzMTSRjREal4//79cXFxurq6iKNobGho6O3t/fHjR4S6bdu2IfUNHToUmRnLIljmvN1XyZIlg4KCMFGuXDkEZuTAu3fvIkwiLbdo0cLHx+fGjRuIi2fOnEFvb9++PXnyJNJst27dkNOOHj2K1I1QbWpqijCJ9nnLfvHixYIFC5YuXSo8RLResmQJCkBSRUkYTlRU1LFjx9D5rFmzkFqxCgyqe/fuV69eDQwMzNnVgQMHhg0b9vr1azRApsWQ169fr6ysjGaYo6ioOHPmTCyOlqgE+R9he9CgQXgdsIqvX78iwyPHLlq0aPLkyXXr1sUiBgYGoaGhGOzz589zlY0FMRMvcqH+Dr8JvwX8XjQqqzvbW1++lDvqC6pU1dlz4Kimto6RkXHOvy8QkSTxQlZUQCuXL9qxbXO58uUtLK2vXb2CKJu3zadPny4mxM2bPeNIxEHRTJsmtgMHj8BS2FCWYL1EVPjc3Ftiy1WYLlGihJ294+WLCV8+f3mRZ0uU6E+Gd4dM9gHA+ImUiMA2cOBABDnkwB07dly+fDkgIAAZb9euXRYWFl26dEEzbW3tnj171q5dW01NDYFwzZo1iH85+0TcQtScPn16hQoVkELRZsWKFU+ePOnbty8CM9aFtSD0ItzWqlUL7fX19fv37488mZycvGHDhl69eo0fP15JSQm15TzZ+NGjRx07duzcuTN6wCpkZWURTTGnSpUq6DApKalOnToIzwiW6OT06dMIsVOnTsXX/YkTJ6ytrdPS0lAPcvWlS5eEDo8cOXL+/PmMjAysDsPEHDc3t5o1az59+hQJVlVVdffu3ZhGGkRXkZGRqGfSpEmWlpYI2OhWOJ0Yq7t48aKhoeHo0aMdHR2xonHjxl27dg1jqVSpUs6XZeLEifjZuHHjovx9/g85Obklixfv3LnTz8dzyPBRnbsGiW0zbtJ0K5smnp4tR4wYjmQusfKISMDQSwWkWq48Pr6tbZo4OrUY0KfHu5u5Qy++nuMunBvcv9fdO7cUFZVUSqlgUzgzM+NETPTjRw+nz5pv79BcKpUTUWGpUlVHVi739wi2U5OfJEmlHqLiCZEPGVJBQQHTz7I1a9YMKe7Dhw8aGhqIo7na4wsU6fHChQvLli1DsER7ROXvrwKhF+EZQXH16tWIkVijvLw8wqfogN769esjrGLC2NgYCe1b/SDlIt/q6uqmpKQgOgrHRWMOSnr37h2i6ZIlS06dOoVnc5WEICqTfbjvqFGjhDmIuzLZeRXxXktLKzMzEx8OqAcLvnnzBuPq3bs3Mjbmo5m5uTlWLZP9BwIk3lxV3bp1C4NCJyNGjEAlOjo6QiTOuetbutq0aYMXtm3bdidij89ZsLRMGTFXbHZycWuo36hnt45RUcfCwtYJvw4ikgyGXioglxbuXt5tGzTUV1JSVlRUyNsgLe3d1csXX758gY9+W/tm+Pf82bPwg3svX0x4cD/xQeK9jx8+cGcv0S/twvmzRiamysoqOWdio5Z3LSISQRxduXIlEqOtrS3CHpIb0m+HDh08PT337dt3//79vIvcvXt3woQJhw8f9vPzGzp0aGxsbHh4+PfXUrJkSUVFxQoVKtjb25uZmX358gW5F/HSxMQk75WuvgPlTZ48Wdglm9PVq1dHjhyJpNqxY0ckz4iIiMjISOEpFRUVjOv169dIcUikSUlJ+KmpqSk8W6pUqbp1637+/DksLExPT8/Jyenvv/8eN25ccnJyYGBgzZo1Z8yY8fjx/1wZ5P3790pKSllZWR8+fBDm4BUrU6aMnJycnZ1dvXr10BtGh2SOJJ//oRU11HPq1En8vpzsrJav3mhgaJS3jZZ2lb/3HZ42eayRkfGWLZutrKwkXyfRn4nn9FIBNW5qZ2JqjsT7rQb4cmqg36h7UF+/gE6TpoZ26NS1R6++5hbWwrOxx489fHhfQrUSUdFA6P344b97e7CFejz6PxvBsnKyFf/3gEOiPw2ibNz/mTlzJmIn0p2pqemGDRtksq8ePGnSJDc3Nw0NDeRDYVenAOkRafDevXtPnz41Njb29vZGM+TG79zu6NOnT4mJiYiFyLr4ieTp7u5uY2MjKysr7A4tlBGdPXv21q1b5ubmKMnV1fXJkyfp6enCU3iIyD1mzBhUfv78eRSMZCsK802bNl2xYkWrVq2weFRUFMLqyZMnMUAHB4d27dq1aNFCuJqU0BsiNz5Jtm7div6vXbsmOgMWablly5Z4HTBGFGBoaIg8nPeyz1InLy8/f/782bNnBfh6rVq+WGwb/F7GjJsyLXRe69beM0NDJVwh0R+Le3qpqKiolLKwtNY3aPT40cOHD+5fv3715o3rJ2OPS7suIio058+dXrl8kWcr7wf3E/EGvxgfJ5P93re2aSLt0oikaXQ20cP69esvWbIEmQ1JD6EUAW/UqFEfP368cuUKUi6CsUz2HlF1dfUDBw6ULVu2cePGqqqqwt5d5EnExffv37979y5X9C1RooSOjg6iZu/evdGhra0tMuH69evRrbKyMkJjjRo1EBFz1YY8WYDLSTZq1EhXV/fo0aMIpVj87du3iv93rNaAAQOio6OXLVuWlpaGsdy5cwcBFTFVuNMScni1atWQb1FPREQEXgGEeZR98eLFWbNm4aVA7EdWjI2NRbWTJ0/u169fUFCQcNshvDjCDR0qVqxoYWGBFyQ0NBTrio+Pf/z48ciRI4UjxvOSbh728vIyMjJq184X2zxzF63ArzJvGwdH54NHY3t173Qs6tiGDevV1NQkXyfRH4Whl4rKp0+fEHcjjxw6EhF+4/rV5OQn2BSWdlFEVJjKlCm7MWzNqZOxr1+9evH8P7cPKV26TK8+A2rW0pN2aUTSUalSpbp164oeIu8pKSkNHjzY2tpaVlZWX1+/V69eiG3nz59Hips3b964ceOEk2MNDQ2RXRF6kW/RzMfHB5Hv+fPn2tramL5w4QIiLgJnrVq10D9CoEz2HuPx48evWrUKi6AT5EwhS6ekpLx69crKyqp79+5NmzbFurCIlpaWcH7vo0ePqlSpgjnCObQI2MJRxAiQmHnjxg2k7rzjMjU1RRnIqMjMVatWRdDdtWtX5cqVEUobNGgwZcqU+fPnnz17Vk5Ozt/fPzg4WCb7stLIycKOaCzu6ek5d+5cRHQnJyfMwUgRXM3NzX19fVeuXPnixQukXyx7/fr1y5cvYy12dnYNGzbcs2cPAjZKwuKYOHTo0OnTpzF8FNC6dWuxp8WiH/SMF7xOnTpF8jvOh+rVq584ETtixAgne8tlqzYYGZvmbaOpqbVrT/jMaRONjIw3b94kyYtvEf2BGHqpqLx8mbJ86cJ1q5crKSlXq17DxNRcp1r1S5cSYo8fk3ZpRFQ4Ro4eHxMdtW3rxk/ZW+14s48YNdbHN/fZgER/Djc3t5yhF5mzQoUKORsgH167dg3J09nZGWlzyZIlwuHNOjo6yMYuLi7IivWyGRsb379/H9lYU1MzJiYGwQ8Zz8PDA2EVYVIm+2DaDh06CLcdEm7Sgwy5detW5Eb0XL9+fXV1dZnsvDp8+HAEZmF3YkhICApwcHAQMjAC5927d2Wyr0HVuXNnFI9Vix0a4jr6R+U2NjaInci66FDY39umTRsEVARmZWVl4d5LMtn7t4cOHYoIamJiIpN9OyJEQc1syOp4iAKwLiwi3NMYgXnLli2Yg7GgJcbbt29fZObU1FTh9UGkb9euHSIxekbC/9avADnc1tb2xIkTBf8tFgYMZ/bs2Yjunf19evcbFNS7f942+FUGj5lgZdOkbdu2ffv2GzUqWPJ1Ev0hGHqpqDx/+vTQwX2YQNbt1WeAk4tbBTW16VPGM/QS/RKwJdqpS3dMlCtfvmat2jmfCg6Z2LPvAEyYmVuamll4ebe9euVy3fr15WTl9BsZir1sKdEfQj/b99vUz4YJJEYjo/9/uSNVVdWcVzYyzCZMN2ny/08ZcHV1FU0jWeVaHbIicnKuNQqxU1A9m+hh3WyiZZ2cnL5TuUk2YRpxLudTOfsRqKio5BwdEnLOnZk5i3R0dBQm/v777507dyI/I2ALB37jhWrWrJmoZc1s36mwuPHw8Dh37qxwqPOCJatUy5XL28bO3jE88mTv7p2io6M3btwg7MYnosLF0EtFJfN9pnDbEnyL69Wth8R7+9aNWzevS7suIsoXZNfgMRMwUVK2pPL/XrJO36CRaFq7iop2laqNjIxLly4j6RKJ6Pcyc+ZMXV3dEydObN68WSb7rwNdu3Y1NzeXdl0/pWrVqjExx4ODgx3tLJauXG9qlvtPElC5ssaO3QdnzZhsZGS8adNGW1tbyddJ9Htj6KWioqSohA/xZ8+e3k+8t3nDugvnzpw6GXMiJlradRH90UqXLp0QfyEjI/1fz7EvUaJEuXzfRjKfiTfx3t3kJ09KleLp/UQkRvXq1adNmyY6MhmfV6J93b80WVlZ5Hk7O7vAjr49evXr039w3jYlS5YcHjzWyrqJn59fUFDPkJAx+BCWfKlEvyvesoiKSlWdal179EbuffHi+d+7ts+aOeXkiRgTM8uG+gZ49tq1KykvXki7RqI/TocOHczMTNp6uQmnyUnS9WtXvD2dZs0K/bWOTiQiSULSa/x/fo/EK+Lq6nrhwvnIwwcDfL1ev3oltk0TW/tDUaeORkY1b+707NkzCVdI9Bvjnl4qBK1atzW3tMGEuYWVcHcBqKCmFtAxUEND8/y5M0+fJpcrV87QyMTMwvrunVtHD4djg1v+G3caIKKigw3KZUuXjhgxorVH86279lWsKKEb6sbHne/s77N48aK8N1AhIvpDaGtrR0cfCwkJcbSzWLIizMLSOm8bfCxv+2v/3FnTjI1NNmxY7+DgIPk6iX4/DL1UCAK79xRuHqiooCjcAkGA3Ovl3damie3bt6nKyiqVKldWUSmlW7Mm0m9mZkaVqjrSK5nojzZjxowyZcp6uTli00q7StWiXt2JmOhe3TutXx8muqwrEdGfCZtJU6dOtbOz69QpAJtP/QYOy3sYM+YMHjbK0qpxh44du3XtOm7cONEeBSIqGL6F6JtUVVXPnj7x6dOnf22JQFu6dBn8y7vzFnOwSV2vfsPqNXSFcwhLlSqNacz51iVej0dHqqqKubwhERWiMWNGDxjQv5W74927t4t0RRHh+5F4d+3aycRLf4L58+cjn2hpaVWuXFlHR0ddXb1p06aLFi16+fLl9xd89OjRsmXLHj9+/EOru3btWtu2bVVUVHx9fd3d3bG6IUOG3L9/v+ADKCQYTu/evRs1aoThu7i4YMLHxycmJqbAHe7fv79KlSqdOnV68VucG+Xk5BQXdyE2OtLPx/NlSorYNtaNmx6OOh0Te9LBoVlycrKEKyT6zTD00jf169evcqWKXTv55if3FpZpk8edPXVi4cIFElsj0R+rb9++kydNauPpfO3q5SJaxd+7tg8f3O/gwQM5b1VC9HvD//Zt27Y9e/bs4cOHKSkpAwYMQOjduHHju3fvhAZZWVlfvnz5/PkzfmJamPngwYOdO3ciKovmfP369XM2TIhdUVRUlHAPoYyMjK1bt+7bt+/s2bMnT55EvLxy5YqwFqG3nNM5H8LXbF+yiRrkLCDXgqL2+JmrvQgS2oQJE86fP4+qjh8/Hh4evnr16rS0NLwISUlJuVYk9ClMY3XY5MDPXD1fv359zZo1wo2FExIS8vmLKOY0NTWjoiIb21g1t7c8GXtcbBs1dfXNO/6xaWpvYmIaEREh4QqJfiey48ePl3YNVEyVLFmydevW+/bu3b5ts7tn65zHLRcRJN7oyMNHjx6pUKFCUa+LiKBRo0a6urqdO/qbW1praWkXbucbwlaHTpt05MhhAwODwu2ZqPhYv359kyZNatSoITw8c+YMElqzZs2qVasmzKlfvz6S3qxZs1q2bKmhoYGAirCK+BcbGxsZGYl0h5bPnz8PDQ2Njo5G9MVbEl+Ct2/f/ueff/bv34/GmKmurl62bNmcx8EiOiLuImAvXbpUNLN8+fL6+vqI3Hp6eni4a9cudKWmppaYmLh9+3bkSW1tbXRy8eLFzZs3o+ZLly5dvXoV68KzWBEaVK9eHd/+SKEIrlj77t270QBpE51gMwD9nDt37u7du4cOHXr8+DFim7Ly/9zPTJCeno6si5Dfu3dvLIU1amlpoaWcnBw+DY4ePYqnsKwwnJiYmDt37qCwzMzMyZMnI7RjzsePH6tUqYL2MtmpGHNQyciRI1NTUx8+fGhvb19MDvfdsmULfgvCq10AeAUwFsNGjbp37ZKenmZp3Vjsoc4WVjZGJmZBPQJfpqSgPa/qTFQAxeIjg4otfFdt2bJZtUxpCezvZeIlkgovL68NG9Z39veJiY4qxG6XLpq3dOHc48ej69WrV4jdEv2KTE1NEUc/f/6MaX9//w4dOly+fFlFRWXFihXt2rVDTn7//v39+/eRLZE2ESz37dvXunXrPXv2lC5dOj4+vl+/fki2Kf97EOypU6fQ4ahRo3KtC+nRwsICcffWrVubNm1CoMXMe/furVu3bvr06UiweHj+/HlkS0TTtWvXent7BwYGKikpoSRMYz4aYFkPD4/Zs2f/5yZnCQnt27dfuHAhNgMQv8ePHz969Ohjx44hoyJ51qxZc8yYMbm2EMqUKWNubn7z5s1evXqdOHECkR5hFR0OHjwYWffIkSMzZszAszLZu3b79++P8I8efHx8Fi9eLKyxc+fOS5YsEXp7+fIlUjoysK2tbZ06dZC6Rfc0+j00a9YsLu7C+TMn27V2e/Hiudg2FpbWh6NOnz0fZ2trl5SUJOEKiX4DDL30LySTe5l4iaTIycnp77//6hPU5dDBfYXS4YypE3Zs3RgbGyPa/UX0J0OY1NLSQpZDUHzy5Mm2bdsQSocNG4bw+fHjx7i4uOrVq0+dOtXAwAAx2MrK6tq1awh4SH1DhgxBSwRjpNBX/3uTG2Q/JEZLS8tvrbRhw4ZGRkai0PvmzZsSJUoIBw+jAB0dHVVVVTRQU1ND5yhm+/btpUqVQrcZGRnR0dFZWVkooHv37nPmzBk4cCASuHBGLpJ5nz59UBWie7ly5bBgSEiIcOCxCPpxdXX18/OLiopq2bIliuzSpcvff/+dlpaGZ/X19V+/fi2cmovojlcAqRtZF+G/Y8eO3bp1CwsLw8BFpzcnJiYiYzdt2hSfJ3hx9PT07ty5I1w+87dRuXLlI0cOO9jbOdtbfevvj+UrVNi49W97RxdTU7ODBw9KuEKiXx2v3kz/Tsi97dv7IfeuDtua67vt5zHxEkmdjY1NePhBV1c3bJV6+/j+TFchwUPjzp+JiTnOdzSR4N27d4iaysrKJUuWRJ5E5EMKRWybO3du3sZIoSNGjEAbxFSkO0RNBNE6derkaobeEGKRor/1pYwchffgjRs3kJZv3rzp7u6O9Hjp0qWvX7+i87Zt21aq9J87liHWKikpyWSf09SrVy9MIPQijaOMTZs2CV0hoKIxArOCgkLt2rUR4EVr6dmzZ95VC4MNDQ3t3bs34hkyfEREBGp4+fIl8m2LFi3++eefBw8eoMMNGzZUq1ZNRUUFS1WtWnXt2rUYFEKyp6enurq60NXDhw8RgNEhxoJS0TgyMtLW1rZWrVo//qsovjDwcePG2to2DQjo4Ovfccjw0WIP4e7Tf7CFlU1Q945+7dtPmTJFAqeeEf0eGHopX4ou9zLxEhUTRkZGUVGRTk7O6WnvOnbpXoAesDE9uH/PpEcP0E+ZMmUKvUKiX9S2bdsQ2xo0aJCVlYW8t3r1aqRZhDexV6hCGEa6mzdvXnh4eKlSpfCF++TJk7yh19raWk5O7sCBA76+vrkWR5hEOMS3ar169cLCwhYuXHj9+nUvLy/Mv3Xr1qNHjz5+/Pid73FE9N27d6PUp0+fimZqaGikp6cj9Oro6Ahp+TtQ8MaNGxGha9Sogdwrkx2bp0+fvnXr1rp16zo4OOjq6qJyPT29ixcvOjs7Y5hog0WWLl2KkL9jxw68Mj169AgODk5OTt6yZQuKWZtNJvuEYaRBxPLfLPQK7Ozs4uPj/P0DfFq1WLIyrHJljbxtTM0sjhw70793tyZNmm7btrVq1SK/7RzRb4Chl/JLyL1+fv6FmHuZeImKFWyPxsQcb9bMMSXlha29448uvnTRvM8f30dEHBJ2HBERvH//Pi4uTlVVVVFR8cyZMwiBnp6eU6ZMMTU1TUpKynvS+7Nnz5YvX37//n0kQLTB92PPnj3fvn2bq5mBgQHesLNnz/bw8BBCI3z48OHKlSvInC1btpTJvlKdpaUlciPyNtoj6549exap0snJSVv7mxeuQ6kdO3Z89eoVChDey1g7HqqpqSFq5mfIaI+cj4Tcp08f4UpX6BMZFUFXuJ2Su7v78mxv3rzx8fHBs5iJ8rJvIV5m1apVp06dWr16ta2tbVpaGkY0f/58DFPo/NKlS6NHj7558ybSr2jgv5OKFSseOhQ+deo0FwfruYtW2In7KFYtVy5s887lSxaYmZmvWrUSr6fk6yT6tTD00g9A7t28eVNh5V4mXqJiqFq1arGxMV27djsedeRHl8VW9aJFCwv9DAiiXwvC24sXL4RTUjMzMxMSEs6dOxccHIw319WrV79+/RoUFKShofHo0aMdO3bkXBApLjExMTU19fnz51paWsjDnz9/joqKun37duXKlfOuCLGwVatWGzdubNq0KbIier527VpISEidOnUwHw3QCSI3smXr1q3RACF57dq1WIWhoaGQM8WSk5MrX778kSNH9u3bh8yMGhBWEXeRYPM2xjCRPMuVK5fzksKamppY49atW3V0dCwsLDDn7t27R48eNTExsbKyksm+ojWGefnyZT09PdFRIW3atOnfv7+3t3fz5s1r1Khx8OBBDDw2NrZq1ar6+vqizvE5gz4jIiLs7OyQin/kN/PLwIs5evSopk2bYIvLu2374cFjxR7GHNS7v7mldc9uHY4dOzZ9+nThYtdEJBbfHvRjCiv3MvESFVvYHN+/v3CuaEX0pylbtix+IjEi0WHi4cOHN27caNCgQePGjZWVlZHoVqxYMXXqVHz3IQPv2bOnYcOGwoKIjp8+fZoyZUr79u2tra137do1efJkpEdkY8xHCs27LkTBCRMmzJkzBwkQ8RLp9MGDBwi0Y8aMEa4hJxzhXL16dQcHB+RM1IbVIQajjWgfKdKvKK9iAg/RLDAwEIEzNDQUlSCKJyUlubq6IrKeOnVKUVExZw0zZ860sbFBXs2ZytTU1Dp37nz//v1ly5Yh8CP5v3z58sOHD4jNwp5tVIsEfubMmYCAAFH8xiLI5xhCVlYWsrSbm5uLiwviHFaNIeRcKUaBCJ3z6OvfUpMmTRIS4gMCOni3dFm6MkxTUytvGyNj04io04P69rCxabx9+zbRjbKIKBfep5d+WPb9e73279tX4Pv3MvESEdHvIdd9epFsq1atilBXIRvm+/j4IEOKzoM1MzOrWLEi0qO9vX3Pnj1btGiBb9U6deqUKVOmVq1aGRkZ+Ono6IhMiOyHaNq1a9cOHTog9KJbIVHnZGBggFxarly5lJSU0qVLt27deujQoTkTsoqKCrqytLREAVgcP93d3bGUgoKCTPah1JjW0tISci9ipLm5ubq6OorBoJSUlFJTUxG8EUe9vLzQAEuhWg0NDdHXd3h4OApDos511SWUZGVlha6Q2BF3mzVr5uvrK+z1FSQnJ2PtgwYNEr10dnZ2WNfr169RM4LusGHDZLIzOeajt5ydY+0YVIMGDcT+LUCSfvI+vf8KL0VAgP/Llyn9evXQq1O3hq6Y05jxa2rZ2ic9Pb1b1y61a9fCK1NExRD90krgI1XaNdAv6cuXL35+/m/evuvRs98PLXj0SPip2ONMvERE9BtAQB01apSDg4NMdpADaVckIQjkeS+vlR9paWmIu8J+7P79+yNCF3ptEuPp6dmjRw8JnFJ76tQpX9/2nl7ewWMmfmtnw6WE+KCuAZ6eHqGhoTzNhCgXHt5MBSQc5zxw0KAlC0J/aMEKFdSYeImI6Pezbt06sXch+i01atTo8OHDBVjw5s2bmzZtevHihZeXV65duPQtVlZWCQnxHTt28nJvvmzVei3tKnnbGBgaRRw7Nbh/L2trm+3bt/E26UQ5MfRSwSH3LlywQNpVEBERFQvB2aRdRXGnoKBQvnz5Pn362Nra8krv+YcXbe/ef2bPmdPCsUno3EVOLm5525QpU3bl2k3rVi+3tLRasmSxt7e35OskKp4YeomIiIhIQvSzSbuKX9WQwYObNG7crp3vyRMxY8ZNFnvF5s5dg0zMLHt2DYiMipo7Z45w/jbRH67kvzchIiIiIqJiwNzcPD4+Lvnxg5auzR4/eii2jb5Bo0NRJ5OfvrC0tLp7966EKyQqhhh6iYiIiIh+GeXKldu9++8OAX6uzZse3L9XbJvSpcssXRnWvkMXKyvrbdu2SbhCouKGhzcTERERFZqHDx++ePGiRIkSSkpKmZmZcnJyGhoalStX/qATjI8AACAASURBVM4ijx8//vTpk5aWVq674ObTvXv3sBZtbe3Pnz8nJydjXcrKyph/586dGjVqFODOgmIVYFzfkp6e/uDBg9evX5cvXx7TWVlZVatWrVChQsGG/8caMGCAjY3Nfw51jo0eO3Ga2Cs2d+zczdTMIijwP4c6L5g/n68w/bEYeomIiIgKx6NHjyZMmJCamoo4hxB7//79Z8+eWVlZDR06tFSpUt9aavfu3UlJSb1790b2K8BKDx06JNykF6ubO3fuwIEDGzZs+O7du5EjR65btw5P/cSA/guJVxgXoqloXJaWlt8fl1joZNeuXTExMc+fPzc1NUUyx4uGrry9vXPeyJfyAy9gfHxcYGBXDxf75as3VKsu5orN9RvoH4o6OXxwP3Nzix07thfdXYWJijOGXiIiIqLCsXXr1rCwsISEBMROPETyXL58OTKtl5eXgYFBWlpaZmZmxYoVhcYpKSkKCgply5atVKnSy5cv0Rhh8vPnzwjMyJYlSpRAm8TExOrVq7969er169fKysra2trp6enJyclKSkpqamrCHl0fHx/0g/ZIkkeOHHFyckKwQRKOjIy8detWjRo10CGavcqGCaEfTHz69Anr/fLli7AudPitPYHbtm3DuC5evNigQQNhXMuWLduzZw/GVbNmTYxLtMs3MxuSMLp6+vQpnsJMVVVVdF6y5H/Oqvvrr7+Cg4MXL17cpk0bPHz//j1KDQ0NRXuG3gLA/5+dO3fg9XR3tpsWOs/d0ytvGxWVUouWrdm8cV3jxk3mzp3j7+8v+TqJpIuhl4iIiKhwINohQL59+1Y4drdMmTIBAQHy8vJIfUiYJ06cePjwYffu3WWyw+Hff/+NxOjg4CCTvYt406ZNCH7IpeikW7dumpqaiKPjx49v1aoVUu7jx4+RD729vZOSkhBuVVRUTExMsKy6uvrBgwfLlSuno6MTGxuLxXfs2GFtbY2MisCJaOrn52dra4tFoqOjEXGxIPrp2rUr4itCKdLsgwcPEFnRj6Ojo0x2EkbMFuK0CJ7FuDAo9I9AjnF16NABwRvrvX79OlIrOtTQ0EDLM2fO3Llzp1mzZh8/fkQNn7MhmLm7uxsaGsrJyS1cuBDPCokX0AlSOho8e/ZM0r+t30ifPn3wS2/btt2JmOiJU2bKi7tis19AZxNT8x7ZhzovWrgw16+Y6PfGC1kRERERFY7GjRs3bNiwZ8+eixcv/uuvv5BCMzIyBgwYUK1atQ8fPly+fPncuXNCSyRSZGDRlXWPHTuG6FipUiVk3XXr1iEZfv36NSsra+PGjUOGDHn37p22tnZERERwcDBSZcWKFZFUFyxYcOrUKSwbn01BQQGZGYsgiCJb1qpVC2EbYRV9Ik/27dv35MmT6BwxG8uuXLkSKTo1NRVheM+ePZhASyyLmIq1p6Sk5BqXjY2Nvr5+r169Fi1ahFB9/Pjx9PT0fv36IWmjMXqIjIxEMwz2n3/+QVVIyGvWrNm3bx9KrVKlSlRU1JIlS7AIUvfVq1ft7e1zdo70hTm+vr5F/uv5rRkZGcXFXUh/98bN2TbxnvgrNtepWz/8aGx6xgczM/Pr169LuEIiKeKeXiIiIqLCoaenN2HChJ3ZhDkWFhbdunUzMzMrXbo0guutW7eE+UiDFSpUEC2I6eHDh3t4eCC4ZmZmzpgxA/0gOiK+uri4jBgxAsEVyRZBZfDgwegHMXLFihUImcLiSLP16tVzdnaOjo7u0qWLhobG3LlzkU7RJzLwli1bkK7RIRKvsGrE1P379yPK4qGDgwP6R+jFdKtWrfBs3lOLMa6JEycixu/O9uXLF3Nzc4wLo0OmRbc3btxAs2vXrj18+BAFV69ePSkpSUVFBU+hZaNGjRD4ZWVlr1y5gmhdt27dov01/KnKlCmzbdvW5cuXe7ZwmDRtVqvWPnnbKCurzF+8cvuWjba2dqGhMzt16iT5Ookkj6GXiIiIqHAg2nlk27dv34cPHw4cOJCYmDhp0iREUCFwfgtioYGBgXBKLXLIvHnzEhISjIyM5OXlvbz+/1mapUqVEk7HVVVVRXQUnR78fUiknz59WrdunfDw/fv3CgoKKFUIveXLlxcSL5iYmIjtAcW4ZTt48CDGFR4ejnA7efLkOXPm1KhRA7E2Jibm0aNHFy5ceP36tZCZ0dXFixcXLFjQoEGDOnXqIPZjdAjnSPJPnjzJT9lUMEFBQVZWVj4+bU/GRk+eNltB3HnabdsHGJmY9ggMiIo6tmTJYhUVFcnXSSRJPLyZiIiIqHBMnz797NmzyHXIvW3atFm+fPmQIUNu3rwpCpwi7969S09PFz2sUqWK6BxLJBD08PTpU0zLyck1b9785wsrWbJk1f9Tu3ZtQ0NDxOz8L45xCQctu7q6IoQvWrRo4MCBt27dwriQwxs2bIgk/NdffyHl6ujoCDty/f39x40bh1x9+/bt+fPnjx07VriqFkZ67NixnJ1//PgxPj5+w4YNooO96ScZGBjExV34/PG9q1PTu3dvi21TW6/uwSMxn7/KmJqaXb16VcIVEkkYQy8RERFR4Xj9+jWSXlJSkvBQuKutrKwsIu779+9fvXqFoJuamiqTfXPdR48eiRa8fv062gjTO3fuRIZ0cXH5mUqePXv25csXYRo5U1FRcfTo0YuyTZgwAVnU1tY2/72hbIzr8ePHonEpKCggSGdmZuJhzZo1a9WqhdCLeG9iYlKtWjXMRPjX1tZG1p02bRqWRaw6evTo58+fO3bsGBkZKXqJ4MWLFwsXLly+fDleop8ZMuVUqlSpTZs2DhzQv5Wr464dW8W2UVJSnj1/ad+Bw+ztHdasWSPhCokkiYc3ExERERWO4ODgzp07T548OSAgQCZ7d+769es1NTUx8+vXr4h88fHxa9eurVOnDoLftWvXRIcunz9/HnG0VatWb9++XbVqlaenJyJlVlZWAWq4dOlSo0aNPn36JJOdn52cnOzt7StWrDhz5sw2bdpgPuLohQsXgoKCKlWqlGvZW7duocjq1avnOt4V4+rUqdP48eM7dOggGlfVqlUxLjzU0NDQ0tIKCwszMjLCssIiiLh379718/PD8IU7KiEDY1BdunTBsgjednZ2wh2YDh48ePHiRXQl3A+JClHXrl0tLCyEQ52nzJiDlJu3jbePr6GxSVBgQGRk1PLly370xstEvwRZfH5JuwYiIiKiXxLyW5MmTWrUqCE8rFatWoUKFZD3Pn78uHXr1vfv3z9//rxPnz5oIy8vj+B3586de/fuJSYmKioqqqurW1pa6unpXb16VVZWNjMzExO3b99GhgwJCUFMReg9ceIEwmHZsmURVh89elS6dGmEWJnsiz8/efIEbbBqZEtk1Fq1aiFbPn36NDY2tm7duvXq1UOQPn36tL6+vrGxMRocP34ciRoxGFU1bNhQ2JOclJSEms3NzYX6V69efe7cOSxbrly5nMNEvq1cuXJ0dPSHDx82b9785cuX1NTUvn37Wltb41kMDTEYpdavX9/f3x/VymTfPxYR+nI2jLd58+YBAQFKSkqqqqoY+MOHD1F2XFxcQkICukKW9vb2/uXOLN2yZYuJiQl+g9Iu5HsqVaoUGNjlwP79M6dPsWncVE1NPW+bChXUfP06Rh+LDBkz2ta2qeiuy0S/De7pJSIiIio0yG8IooiFyI0Ik4iphoaGwlPInxMnTrx//z6exUzkWCHmYT4eIhDGx8cjEyKFCvtLS5YsOXr0aERlTKOfVq1aIXMKXWlpadnb22Mmplu0aIEci2YNGjQYNGgQoqkQO4cNG4ZgWbNmTTwVGBiIKItm2traSNpYBQJzqVKlkFGxXlHxCLFogxryjqtdu3ZYCpVramoiRWNZlC16FgPBw2bNmlWpUkXUFcItci86RIgyMzMTrQgrtbW1Re5FbkdQR4Xcx1uk8NsJC1sXFhbW2sM5ZPyUtu0D8rZRUFScMXvhnr93Ojo2nzx5Uo8ePSRfJ1HRKVGwI2eIiIiIyNHRcdSoUQ4ODjLZ5+UKd+75Rbm7u8vLy//oUunp6Ui2O3bsSExMDA4ONjAwKIraiidPT0+EQ7xu0i4kv/Bf1MenbUMDw+mz5isri9+vnnjvblDXgHp1665atVL4qwrRb4B7eomIiIgKQXR09OrVq6VdRcEhuovdx/t9KSkpW7ZsQdr39/fX1dUtisKosNSrV+/cubN9+/VzdrBZsWZj3XpidrDX0K25/1D0uDEjjIyMd+zYLjpOgeiXxtBLREREVAh6ZpN2FZJWvnx5T09PNzc3ExMT7hgs/pSVlVevWrVp0yafVq7BIRP8AjrnbSOvoDB15tx9//zt7OwybtzY3r17S7xMokLGWxYRERERUQGVLVu2cePGtra2TLy/EH9//9jYmHWrlvXtGZiRkS62jbun175Dx1auWtOmjc/bt28lXCFR4WLoJSIiIiL6s+jp6Z09e6ZC+bLO9tbXrl4W20anWvW94VFqFTWMjIwvXLgg4QqJChFDLxERERHRH0dRUXH5smWTJk1s19p9/bpVYtvIy8tPnBoaMmGam5v7ggULJFwhUWFh6CUiIiIi+kO1a9fu5MkTm9ev6dmtY1raO7FtWrh57I+IXr9hk5dX6zdv3ki4QqKfx9BLRERERPTnqlWr1pkzpzU1KjrbW1++dFFsmypVdfYcOKqprWNkZHz27FkJV0j0kxh6iYiIiIj+aAoKCksWL54+fZqfj+faVcvEtpGTkxs3afrEqaGeni3nzJkj4QqJfgZDLxERERERybRp0+b06VM7t23q3sX/3TvxV2x2cnE7eCRm2/adHh6er1+/lnCFRAXD0EtERERERP+hq6t76tTJGtWqONlZXYyPE9tGS7vK3/sOV69Z29DQ6NSpUxKukKgAGHqJiIiIiOi/5OXl58+fP2fO7A7tW69atkhsG1lZ2THjpkyfNb91a+8ZM2dKuEKiH8XQS0RERERE/6NVq1Znz575Z/fOwA7tUlNTxbZxcHQ+eDR29569rq5uL1++lHCFRPnH0EtERERERLlVq1btxInYunVqOdlbxsedF9tGU1Prr38O6dVraGRkHBsbK+EKifKJoZeIiIiIiMSQk5ObPXv2wgULOvv7LF+yQGybkiVLBo+ZEDpvcdu2badOnSbhConyg6GXiIiIiIi+ycPD49y5s+H793Tya5P65o3YNnb2juGRJw8cDHd2dnnx4oWEKyT6PoZeIiIiIiL6nqpVq8bEHG9k0MDRzuL8uTNi21SurLFj90F9QxMjI+Po6GgJV0j0HQy9RERERET0L2RlZWfMmLF82bJundovXjBHbJuSJUsOGxkyf/FKPz+/iRMnZWVlSbhIIrEYeomIiIiIKF9atGhx/vy5qCPhAb5er1+9EtumcVO7Q1GnjkZGOTo2f/bsmYQrJMqLoZeIiIiIiPJLW1s7OvqYuamxo53FmVMnxLapWLHStr/2m1naGBubREZGSrhColxK8KgDIiIiooJp3rx5qVKlqlSpIu1CSAoOHDiwcOFCNzc3aRciNREREZ07d+nSLajfwGElSpQQ2+bUiZg+Pbt069p13LhxJUtyfxtJB0MvERERUQGdOHHi4sWL0q6CpENWVtbX11dVVVXahUhTcnJy+/Z+JWXlFi1bq6auLrbNy5SUfr0Cv3z+tGXLZk1NTQlXSCTD0EtERERERAX29evXCRMmrFq9etHSNdaNm36r2YJ5oWtXLlu3bq2Tk5MkyyMC2fHjx0u7BiIiIiIi+iWVKFHC3t7eyNCwe9fO6elpltaNxR7qbGFpY2RiFtQj8GVKCtp/63BooqLAPb1ERERERPSznj175ufn//nL18Ur1lWsWElsm9evXvXr3fV9RvrWrVu0tbUlXCH9sXg2ORERERER/azKlSsfOXLYwd7O2d4qJjpKbJvyFSps3Pq3vaOLqanZwYMHJVwh/bF4eDMRERERERWCEiVK2NnZmpiY9OgWmJr6xsqmidjDmM0trEzNLXsGdX369KmDgwOv6kxFjYc3ExERERFRYXrx4oW/f0B6ZubSlesrV9YQ2yb1zZv+vbu9TX29bdvWqlWrSrhC+qPwzypERERERFSYKlaseOhQuKuLi7O99bGoI2LbqJYrF7Z5p4tbSzMz871790q4QvqjcE8vEREREREVidjY2Pbt/bx9fIePGicrKyu2TXzc+Z7dOni3bj1jxgw5OTkJV0h/Au7pJSIiIiKiItG4ceOEhPhbN656ezonJz8R28bI2DQi6vTNW3dtbBo/ePBAwhXSn4Chl4iIiIiIioqamtqBA/tbtfJ0cbA5ejhcbBtVVdXV67d6evmYm1vs3r1bwhXSb4+HNxMRERERUZE7deqUr297Ty/v4DETv3Wo86WE+KCuAZ6eHqGhofLy8hKukH5X3NNLRERERERFzsrKKiEh/v7d217uzZ8kPRbbxsDQKOLYqXv3H1lZWScmJkq4QvpdMfQSEREREZEklC9ffu/ef9q1bdPCsUlE+H6xbcqUKbty7SYf3wBLS6udO3dKuEL6LfHwZiIiIiIikqizZ8+2a+fbws1z9LjJ37pi85XLl4IC/Z1dnOfOmaOgoCDhCul3wj29REREREQkUebm5vHxcU8eP2jp2uzxo4di2zTUN4g4dir56QsLC8s7d+5IuEL6nciOHz9e2jUQEREREdGfRUlJydfX9/37zJ7dA6vXqFlbr07eNgoKCu6eXlkyMoGdO+no6DRs2FDyddJvgIc3ExERERGR1Fy4cKFt23bNmruMnTjtW1dsvnb1clBggL2D/YL58xUVFSVcIf3qeHgzERERERFJjYmJSXx83KuUZx4u9g/ui79ic/0G+oeiTr5689bc3OLWrVsSrpB+dTy8mYiIiIiIpElRUbFt27Zfv3zu0a2LTrXqenXq5W0jL6/g6t5STl6+S6eOWlpaBgYGkq+TflE8vJmIiIiIiIqFhIQEH5+2TWwdJk6ZKf+NKzbfvHGtR2CAjY31ooULlZWVJVwh/Yp4eDMRERERERULhoaG8fFxGWmpbs62iffuim1Tp2798KOxGZkfzczMr1+/LuEK6VfEw5uJiIiIiKi4UFBQaNOmjWzJkt27dtbSrlK3XoO8beTl5V1cPZRVSnXp1KFSpUqIypKvk34hPLyZiIiIiIiKnUuXLvn4tLW0bjxp2ixFRSWxbe7cvtkjMMDUxGTp0iUqKirf6e3Dhw+87PMfi4c3ExERERFRsWNgYBAXd+HLpw+uzZvevSP+is21atc5eCTmS1YJU1Ozq1evfqur9PR0Q0PD6OjoIiuWijWGXiIiIiIiKo5KlSq1ceOGQQMHtHJrvnP7FrFtFBWVZs9f2nfgMHt7h9WrV4ttExTU88aNG+rq6kVZLBVfPLyZiIiIiIiKtatXr/r4tDUyMZs6c66SkvgrNt+9ezsoMMBAX3/FiuVIy6L5a9asmT1n7t07t1NSUkqXLi2pkqkY4Z5eIiIiIiIq1ho0aHD+/Dm5kjIuzRrfvnVDbJuaNWsfiDgur6hsbGxy6dIlYea1a9dGjgyeOWeRsooKE+8fi1dvJiIiIiKi4k5eXt7Lq1WZ0qW7demkpqbeUL9R3jaycnLNnV0rqKl37hhQtmxZROXmzZ2GjBijpa19+sTxXr16Sr5sKg54eDMREREREf0yrl+/7uPTtqGB4fRZ85WVxV+x+X7ivR6BAW/evLK2aTpv0YqI8P3bN6/bu3evhEulYoKHNxMRERER0S+jXr16586dLaWi6Oxgc+O6+Cs2V6+hu//QsR49+00LnYeHjx89rFa9ukSrpOKEoZeIiIiIiH4lysrKq1etGhsyxqeV6+aN68S2kVdQ+H/s3QdczP8fB/Abde1U2lOiUFSKhqQ9kCSRkZKorOy9R/j58TN/xr+sn71HGqKoVIjILNolor3vrrv/W8dJKkV1jffz0SPf+47P93OHz31e3/H5enjOYp0Kzs7OVFJUbNMqovYEQy9CCCGEEEKo45k0aVJUVOQxv4OzvdzLy8saWTM7M1MRQ28XhqEXIYQQQggh1CGpqqo+fPhATFTY2tTw1cvnDa2WlZWppKTUlhVD7QqGXoQQQgghhFBHxcPDc+jgwY0bN4wfM/LEMb9618nKzMAzvV0Zjt6MEEIIIYQQ6vDevXvn6Dh2yFCTtRu31p5Po1J795AqLy8nEomcqhviLDzTixBCCCGEEOrwFBQUmExmn77qtWfGPXowy8tdRaUXJt6uDEMvQgghhBBCqMPzmTdPra/6+IkuME2j0S6cO21rMXTerOnmpsYxMdGcrh3iJC5OVwAhhBBCCCGE/siFCxfu3L4TEh796VPu8SOHTx4/MmDAgE0b1w8fPpzTVUOch/f0IoQQQgghhDqw1NRUfX2DRctWPYyNDrt9y3mC89w5c9TU1DhdL9ReYOhFCCGEEEIIdVR0Ot3QcEh8/BNFRaU5c2a7u7sLCwtzulKofcHLmxFCCCGEEEId1du3byUkJS5fvjxy5EgcrQrVC8/0IoQQQgh1Obm5uZaWVq9fv2rWVoqKSrdvh/bo0aN1KoUQQq0Cz/QihBBCCHUtHz58MDU1G+PkHHg7qlkbnv7vqImJ6d274Zh7EUIdCIZehBBCCLUiJpMZHx//5MmTly9fsmd269atX79+6jVacF/v3r0LCAhIT0+vM19RURH2KCsra21tjVc/5uTkQOId6zxpjs+i5m47Zep0+I25FyHUsWDoRQghhFArunnz5u7du9PS0nh5eVkxqby8PCsri4uLS1NT09PTc9iwYS21r8zMzHPnzsXGxmpra8vJybHnR0REFBYWiomJXbt2beHChb169WqpPXY479+/h8g6YbLbzDnzf68EzL0IIZaEhARo4QMDAz9//syeaW5u3qdPn9mzZ7fgjuBbY9euXf/991+d+f3793/+/Dlr2tTU1MfHp6EhuzH0IoQQQqgVrVmz5vXr10uXLjUyMhIXF4c5VCr17du358+fhwgKc9TV1VnzWwok3vnz50NniD0nKSnpxYsXsLtDhw4JCgpu3769BXfXgWRnZ0NYnew6zWuWz5+Ug7kXIRQWFrZp06YnT54oKioOHToUmlaYCS8hmpJIpAcPHvycUX8bg8H4+PHjmzdvZGVlx48fz57fvXt3eXl51rSGhkYjo3Zj6EUIIYRQa7l+/Xp8fHy3bt3mzJkDvRP2fC0tLegVxcXFvXr1KiUlpWVDL/SBoPzaoRdempubm5mZWVlZnT592tjY2M7OrgX32CFkZWVBTHWb5jndqwXOwGDuRaiLu3r1alRU1MKFC6dPny4pKcm6c4RGo0VGRjo6Ol6+fHnu3LmDBg1qwT3CXpYuXTpt2rR6l3JxcXFzcze0LYZehBBCCLWWFy9ewG/oDNVOvIBCoUBnyMPDg8lkCggIwJyjR48GBAQ4OTmNGDFCSEiIvSbMPHXqlL29vbOzM4PBePr06YULF5KSklhLId9OnDhRT0/vlzWBCpiYmIwbN+7MmTOXLl3qaqE3IyPD1NTMfbq3h+eslioTci/8zWLuRagLCgsLe/jwIUTcwYMH9+zZs/YiaMONjIwiarRs6CWRSIKCgqyvjGZv24L1QAghhBCqjXUdWmVl5caNG9++fVt7kaKiopeX14wZM1gdJm5u7ufPnwcHB9e+Nwz89ddfkHLJZDJMP3782Nvb+/Tp03w1ioqKjhw5sn379kePHjWxPhCqIWZDV6xl3l4HkZ6eDtF0utfsFky8LC5uHrN8FkKcTktLa9mSEULtGcRdOp1OqAmidRbBnNWrV69cuZJ1ODI5ORmaa11dXdYxULbo6GhLS0t7e/v4+Hh4+fr1a2jepaWl+b5Zs2YNg8FoqQrjmV6EEEIItRYVFZW///57yZIle/fuDQgIUFJSsrOzk5WVNTc3p1AoMjIy7DWHDx8eGBgYFBQ0adIkZWVl1szExMSkpKTq6moTExP4DQk5NTUVUq6FhQUs/fTp06FDh86fP6+mptbE8wlQDoTe/Pz81niz7RPEUUi8M+fMd3Wf0RrlT3HzIHwZQsYsPDwMz/ci1EVYW1tfvnz58ePHkG+hRXV0dKx9P61pDda0qKiom5sbNO9Pnz7V0NBgr3Pv3r07d+7MmjULgi409Z6enlFRUe7u7goKCrB0586dmzZtIhKJ69evb5EKY+hFCCGEUCvy8PAgkUhHjx59+PAhdHoePHjAy8vbu3dvS0vLMWPGsPo3QExMTF1dPSQk5OXLl/r6+qwrnGNjY6uqqlxcXGAphFXYHHLyxIkTWZe3KSoqTps2DXpFDQ3X+bNu3boRasZEefXqVb9+/VrnHbcjKSkpEEdnz1vEiqatBHMvQl3Q4sWLMzMzQ0NDoR2GsDpjxgwpKSkfHx9Iv1xcXOyHw0Hr7eXldfjw4RMnTkyePJk1MysrC1on+GpQVVWFVh2KioyM3LFjB3xfsMKzra0t5GpfX9/aobe0tPTatWu1rysREREpLCxkTdvb2+vo6DRUWwy9CCGEEGpFkDOhHzN8+PD379+fPXv248eP0GtJTU2Ni4uDCW9vbycnJ9aakF2hz5SQkJCfn88KvX5+fiUlJSNGjIC+ESRVLS0tCKvQs5k5cyYEZjKZDF0cZWVlfn7+ZlUJ8nNxcXHLv9V2Jjk52czM3Gfh0kkuU1t7X5h7EepqevXqtWvXroMHD16+fDk3N/f48eM0Gm3jxo2GhoYrVqwwMzPj4+NjrSkoKAhtNTTsz58/Zw0xmJGR8e7dO1hHX18fXkJjDo28iooKDw8PtM8QmAcPHrx27drKysrae4TQGxAQEBISwp5jZGQUFRXFmoaWB0MvQgghhDgGEiwEWughaWho0On0pUuXPnjwIDAw8O7du4WFhdDdgQQLq9nY2Jw7d+7KlSuurq5KSkqQbzMzM6urq42NjaEPBF2iefPmubm53bt3782bN9AfUlBQmDJlip6eXu3LpJsClU31SgAAIABJREFU9qipqdk677W9gA4lRNCFS1dOmOTaxE3eZ2fdCr756GFsRUU5a87wkaMdnZzZZ2wax869d++Gw1/f71UbIdSBqKqq7qxx5syZ7Oxsf39/SL8JCQl2dnbQbl+7do11cY2wsDA01JBX4+PjIfRCrI2NjYX239PTk3WxD8yUlJQcPXr0pEmTIDBLSEjw8/PPmjWrzmjM0HT37t279ujNUDJ8cbCmdXV1G6kqhl6EEEIItZZDhw4xGAxvb29CTX8FujIwISUlNWDAgIEDB8KiiIgI6CGxQq+goKC6unpYWNjz5891dHQePXpUXl4O/RsRERFCzRDQTk5OWlpaBw4ciI6OhnWSkpIeP34MfaaZM2e6u7s3pT6wPmuCfQqis9r211/Ok1yblXj/+Xvr7dDgz59yaTQaa+aL5wkXzp46dzmgiYVA7s1IT4Me8O7du3+n0gihDqKyspJKpUI05eL6EicnTJgAvxctWgSx9v79+2vXro2MjBw3bhzrrCy0/JMnTz58+PClS5cmTpz48ePHd+/ese5zkZaWhhUcHBwePHgAMfjKlSuQn+GrYcaMGawbg+H7gr1TKGfx4sVNbO3rwNCLEEIIodayfv36qqoqmGDlXhYSiSQgIGBoaGhvb3/nzh12xAL9+vUTFxeHTo+FhYWfn19+fj50cdgBFTpYkJa3bdsGZcIi6FrduHEjICDg+PHjKioqw4YN+2V9wsPDYe+DBw9u6Tfa7lTTq+XlFZq+/lH/Q1cvXygpKVbppaqppc3LywcvIcHCz+oVizf6bm9iObDTjLS3v14PIdSRBQUFQUYdM2YMtOS1z8dq1yCTyTNnznz48CF7vrCwMMyHuPv06VNo81++fAkttomJCWspNOAXLly4fv16cHBwTEwMNO+XL1+GrwBdXV2YIyoq+ucVxkcWIYQQQqi1QIgtLCy8ffv2z4tg/vv37+vMHD16tJqa2qNHjyIjI3Nzc7W0tNgP+GUwGH///fehQ4e6desmKSkJq7m4uOzevXvevHkpKSmvX7/+ZWWg2M2bN0PoXbJkyZ+/tc4kNjoqKuIuK/Fu3LJ93aZtK1ZvcJ/uReHhgaXnz57kdAURQu0LBNoDBw5Am8x+anptrq51rzERExPT19eHlSHNPnnyJDY21sDAgH0LbnFxMTT4NjY2//77b3x8fGBg4LZt2/r06QON9l9//dUiFcbQixBCCKHWsnz5ciaTGRQUVKcPxDqQf+PGDTk5udrjHlEolHHjxikoKPj7+3/48AE6STw1uYtQE3pXrVq1adMm6DARaq52hpWrqqoyMzMhA//yJtK4uLhRo0YVFRUNHTrUzMyshd9nBwdxl3VCvv8ATVXVPpKSUuISEnPnL+bl4YWZ5WVlnK4gQqh9UVdXh1b35cuXCQkJ5eXltReVlZVB2w5NNGs8QhYpKSlHR0eYGRER8ezZM3l5edYT2lkuXry4evXqFy9esB7MC4W7u7vv3LmTi4srMTGxRSqMlzcjhBBCqLVAvFyxYoWvr++pU6dCQ0NnzpxJqDnHy7pxF/o3s2fPrj0qCWCd3X306BGk5Tlz5rC7TSQSycfHZ/v27SNGjNi4caOHh0dqauqGDRugtzR8+PDevXuzS7h582Z6evrnGtra2sLCwllZWcnJyTQaDRIvVAOKassPof0bZmI+aLABjU7j5eUVEBBkzUxPTWV1QBFCqA5TU1OIr6dPn161ahWEXhMTEwqFQvhyBK0E5vv7+0MzO3HixNqbQEh2cHC4cuVKZmZmnz59INmyF0EMPnnyJDc39/Tp0/v16wcTOTk5169fhyaI/bxfAG04NPtPnz4t+3YkjkwmV1dXs6b5+fmVlZVZY0D8DEMvQgghhFoLkUhkPcFi5MiRHz58WLNmDXuRlJTUokWLFi5cWGcTDQ0N1lN5dXV1Wc/jZYEuFGx+//796OjoGTVY8y0sLHbu3NmrVy/2HmFbSNSsl6ybynr27Am9pWXLlm3atAkT788oPDyUb2fU2Q7s31VV9eV5IYP1DTlRKYRQ+yUnJzdt2jSIuzdv3vTw8LC1tWWNU/jq1av4+HhhYWFLS8utW7fW3gQa9v79+0Mehsg6efLkgQMHsheNGzcOcu/hw4dTUlLc3d1FRUUvXrx45MgRTU1N9n2/IC8v759//jlz5kxycjJrzrBhw+7du8eaVlBQOHDgwIgRI+qtMIZehBBCqJODEJhbWCUlysuRvUMKHT58eGVlZUREBHtcEzU1NUdHx4Y2gdwbGxurr69f5wG8kIGjoqIKCgqgZ1NvOaamphs2bKg9egrQ0dExNjbu9MM1t6yjfgdv3wqm0+kwvWTZak5XByHU7ujp6cnVgOY6IyODHUStrKwGDBhQJ/ESasbnV1VVFRISEhcXr31tDhgyZAgkZxkZmdevX69cuZI109zcfMuWLazn+pLJZNUarEXsCUja7GkonzWUdL0w9CKEEEKdWeTzT0eCU97nVfSSFZxq01NXVYwj1aBQKBY1frkmxOOnT5/Cb+gDiYnVU1tRUdEVK1Y0tHkT94IaQqPRnsY/3rPr7+LiIuhoGg8z0zMYwulKIYTqolczQuI+FJXRhg+WERGkcKQO8vLy27Ztg8T7/Plz9p29o0ePrvN8XTZeXl4REREVFRVtbe06iybXCA8P//z588/l8PHxubq6SkpK1tmKh4eHNR4BkJWV1dDQaKiqGHoRQgihzul5aqFfYMqbzGLWy3fvS1ceSdBUEZlm01NNQZizdfsZlUotLS2FxAVdqMePH0+fPl1GRobTlepyysvL1qxYcuXS+bKyUm4KxdTM8siJs5yuFEKorrD4j8dupX4s+HIDwrm7GY5DFZyGKfBRyBypjGKNX66Wn58fFRVVUlJiZGSkqalZ7zq17+CtQ1BQ0MnJ6bcriaEXIYQQ6mwycsv8g1JiX+ex5wjyMkorv9zL+iy50Gf/E0MNianWygoS/A2X0dZiY2OXL18eHR1NoVCEhYWnTJnCukMMtRlIvBvXrbp6+QIkXh4eXnNLq/2HjjZyuSBCqO3FvyvwC0x+976UPaeSWn3qTlpAbPYEMyU7fTkuMpGD1fsZlUp9/Pjxmzdv0tPT/f39Ie6OHj267auBDRlCCCHUeeQVV50ITbv1OIc97K5kt2orrUo1WdqLDO7bCXx5JSQmgXD/xaeYV5+sdGRcLHuIC9cdwYgjjI2NLSws8vLyVFVV3dzc+vbty+kadS00KvX82VMhQQGlpSW8vHyW1rZ/7/qXj68dHRZBqItLySn1C0x5/DafPaeXNE1MiBH3jsJgEovKaAdvvLt6P2uKpbKZlhSx3SRfOp3+5MmT2bNn8/Ly9urVy97evqHTvK0KQy9CCCHUGZRX0c/dzbgcmUWlf827wnwMC80qbWVaTe+H1F+pWl2xFLpH4c8pJZUkSMXBj3LC4j/YG8o7myoJ8nG+S7C+Bqdr0UXFxtz/75j/++wsmB6oO2ju/CXl5WXwQ6gZikxaGi81R4hjcgsrj91KDYv/yGR+nSMjSrfRrlKR/jLUnFFf6u1nvM/TuWHhh/zKv869vhCR6W6jPFitOycr/Q0/P7+Dg0NycjJMaGtrDx06lCPV+DKsP0d2jBBCCKEWQa9m3ojJPh2WVlxOZ83h5WYO06AZqlG56rvDi1ZNiH5DiXjJXUn7ei5AgJc8bpiSg5E8Dzc+zqeTcHefpjlQz3nSlKasnJ+Xt8DHOzjwBuulte3IbrWedclF5tq550AT93vM/1BG2tv9+/Y1t8IIoZ+VVtDPhKdfi86mfTua2Y2/2kqLqtmDVmfNnALyrac8b3O+H77srywyzbZnX8V2N4IDR3D+sC5CCCGEflv4s9yjwSms4UwAmcQ0UKs27U/jozAJhPoTLIWLYKJB11OtvvuCKyaRi15NLKusPhqScjU608VC2XaQDInUbi6MQ20iOOjGyxcJ7JchQQG1l3Jzczc99CKEWgS9mnH1fvbZ8PSSCvbRTIZZf5q+Go38pWmv27zLijHdzCpTPpCD4ynZ+V+Odz5PLZz/7xNDdfGpNj3b1QgOHIGhFyGEEOqQ4t8V+AelvM0uYb2EnKqpXG2lRRMVZH6b0Rh+HsJwHfqQvtW3n3E/SSYxmMSCEtqeK0mXIjJdrZWHDaj7ZAjUiX3IyREUFOrbr/6nfXBxY3cRobbDZNYMzhyamvvtaCYXiWnYl26iQeflbvBoJouKDHOWTNWLDHJIPPfXERxefo59nWepI91+RnDgCGzFEEIIoQ4mJacU4m5c0vfhTHrLMGx16LJizJqs24zztCIChLGG9GHqxJB4rhcZX/pS2XkVvqdfXbiX6W7Tc2Bv0ZavPWp/bEfY9R/Q4NAyJBJe9I5QG3n8Nh+a9+RvgzMTCcyBKgwrLXo3gWY07wN6MDWUqHFvyaFPySWVpGoGs2YEh4/2hnLtZASHttcV3zNCCCHUQf08nAkE3eE61b1lWbd7/eZlyZIiBBdTesZnYtBjcsqHLwnnbXbJcv9nWiqi02x7qsoLtUjlUVsiEomVVZVNXLlvP42GTvM2V2VVFbH9jBuLUMcBQdcvKPnJ2wL2HFU5hu1Auoxoky7eqYNEJAxWZWirMKJeke++IFXRSFQ640JEZtDDnPGmiqOHyFO4utbBLBzICiGEEOoAvg5ncj+LVv31i1tUkGkzkDGwZwt/jydmQ/QlZed/7WDBH0b9JdysleXFu/otYR1LSEjIlCmux09f1B6o22Y7jXv0wN1l/LlzZ01MTNpspwh1dLkFNUczn34/miknxhyhW91LpmWa9woqISyBHPWaWM342rB3F6a4WChb60p3nREcMPQihBBC7RqNzrganX0mLK2sspo1h5/CNNdkDunLJLfakfr4FGJIPDGv5Gt/iEQiWOvKuFj06N6FbwnrcIKCgtzcph7575zuIL022N3DBzEerhNOnTppYWHRBrtDqBMoraCfDku/HpNFo387minAsNVharf00UxQVEYIeUqKe0dihz95Cf6p1spGGhItvq92CEMvQggh1E7BV/TtJx+O30r9VFTFmsNFZhqrE80HMHkprb53BoMQk0gIjSeUVH6NvhQu0ugh8uNNFLvmLWEdUWho6KRJk/2On9HTN2zVHT2IuT996qQzZ06bmZm16o4Q6hxYRzPPhqeXfhucmY/CtNQitOrRTPCxkBD4mPgy4/sJ3j4KwtNsew7oKdLIVp0Ahl6EEEKoPXqUmO8fnJKa8204EyJhUG+CzcAvQ0+1JSqdcO8FITyBWfuhvs6mSl3wlrAOKjw8fPx450P+/xkaGbfSLmKjo2a4T8armhFqCshed+K/HM3MLfx2NJPENNZoo6OZLGm5hJuPiCkfv76Exl1HVczdpqeKrGAb1aDNYehFCCGE2pe32SV+gSlPk78PZ9JPgThyMFGGc0Mpl1URbj9lRr1k0L/dEiYmRHGx7GGjiw/17QAiIiLGjnXaf/io8bCWPw17P/Ke93TXCxfOGxu3VqhGqNOIS/oyOHNKraOZur0ItjrENj6ayfIqg3Azjpnz7asGKmOiKeVq1UNGjI8DtWllGHoRQgih9iInv+JYSOq9hFz2l7OiBHHUYGIvmXYRLAvLCIGPGY/efu879FUU/sd7IA7W2/5FR0c7OIzZtf+wmblVCxYbeS98lufUS5cuGhkZtWCxCHU+796X+gUmx7/7fjSzrwLRjqNHMwG05XFvmUGPmQVfYziBi0wcric7xaKHED83J2vW0jD0IoQQQpxXVEY7HZYeEJNNZ3z9XhYXJowcRNbu2e4uIf5QwLwQUfYul8J6hMaxxXoy3TvhaYHO58GDB6NG2e/Y/a+l9fAWKTDiXthsT/crVy4bGrbuDcMIdWgfCyqPhqTeffZ9cGYFcaK9Hqm3bHs5XljNIES+ZNyKZ5R9veCaoNGj2w4vbY5WqoXhQBQIIYQQJ1XRGJcjM8/dy6io+jo4syAvwUaHbNSXTGp3gZdQUlK2bsm6h7HxVjP2VvCqEL70lvDoecegp6cXGHhzxIiRW//eYzvC7g9Luxt+e663x7VrV/X19Vukegh1PiXltJrBmbPp3x41113oy9HMgSrtq3Enkwgm/cm6PZlr9t6nieiSyJR370s4XakWhqEXIYQQ4gwmkxkc9+HErdT8EiprDoWLYK7JZaHFxdP+LitjMBirV2wLvHnHyMjgXlRwyCv+yBelv94MtSc6OjrBwUG2tsOrq+kjRzn8djlhd27NmzXj+vVrEKRbsHoIdRo0OuPK/ayz4enfHzXHQ7DR4TJWJ7fq4My/bduWfZcu3NTQ6NvDxuBTCaHzXQqMoRchhBDigJhXn48Ep2TklrNekogEg75cI3S5hfnbywVvtf2778gx/7M9lJUuXTk1cKDmlwFPXn3idKXQ79DS0rp1K8Ta2oZOp48e4/QbJdwJDV4w1zsg4MagQYNavHoIdXQQF0OffDmayX7UHDeZaTqA20qbu80GZ26WkycuHtx/TExM7MjR/UOHGS3zzyZ8Ow7bmWDoRQghhNrU64xiv8DkF2lF7Dmaylz2+hQpkfZ4/P/G9ZC/fPdyU7j37NtubWtBJLTHTI6apX///rdvh1paWkHuHTtuQrO2vRV8c/H82TdvBujo6LRS9RDquOKS8v2CfnjUnL4a18jBFBGB9thy3g6N8N24i0ajbdi0eozjKE5Xp3Vh6EUIIYTaSNbn8iPBqdEvPrEvHOspTR5jyAO/OVmtBsQ9erp8ycbCgqIVqxZPchlHaod3GKPf1a9fv7CwOxYWlpvWrWzWhgwGIygocODAga1UMYQ6qHfZJRB3aw/OrK5IHm3AIyvWHlvO5wmvoXnPyfm4eKmP29TJFEr7u6OmpWHoRQghhFpdQSn15O20oIc57GGfpERIDga8mj3bY1cjMzN73uwVSYnJs+ZMnzV7Oi8fDs7cCampqSUlJRYVFf161VqEhIQEBDjxRFGE2qsvgzMHp9yt9ag5JUmygwGPqlx7zFkQdOfPWfn6VaLHdNc587wFBbvKf+f2+JeBEEIIdRqV1OoLEZkX72VU0hisOcL8RLvBfEP6UUjt73q30tLSeXNWxsY8Gus0+uQZv+7dxVjXM7e/mqIWwFeD07VAqKMqKaedCku/UWtwZnFhkr0+r27v9ng0s7y8fKHP6qjIB/YOI/yP7peSkiQQu9BD1jH0IoQQQq0l6GHOsZCUwjIa6yUvN8FqIJ+lNi+Fq931NBgMxsrlmwKuBxsY6oWGX++prEToQt0hhBBqBiqdcSUq69zd74MzC/ISRgziH9afpx0Ozlwz9r7vjevBg/V0b92+qtJbuQuOzoChFyGEEGoVD17n7bqcyJqGbpCxBu/IwXxCfO2vQ0Qg7N/r53f4hKKS/NkLR7V1NPHMLkIINST1Q9mqowmfvw/OTLDQ5rMZyMtLaY8t5749/zvqf0pBUe7kWb9BgwbWjrvtsbqtBkMvQggh1Cpy8itYEwLVOavc1CW6tcfRqq5fDfTdtJNMJu/4Z7O1rXkXPPyPEELNciMmm5V4SUSCYT9ee31+EYH2eDTzyqWAbVt2cXNz79i12cravIu37hh6EUIIodaVcO/sSabC/IUzOV2RHzx+FL944Zq8vPylK+ZNmuREIrXHTI4QQu1N1bcBGsjpZ93mzuFsZeoVG/1o2ZL1BYWFK1YudJ7gSCK3wxEk2hqGXoQQQqh1LV48d9kMx6rKqhWrFnK6Ll9kZmbP9l705k2Sp/dU71nT+Pj4cKwqhBBqrhdPHs6bu3z33m2crsh3Kclpc2YtSU5OnT3HY7qnGx8vL47OwNIez8UjhBBCnYmsnGxQyKVLl667u84iclRZWZm720xzk1F9+qnefxAyf+FMPj5eTn88CCHUIfkf2R99/6HrJC/il2TJ4Z+C/KJJzh42lo46upoxj0Ln+Hjy8mLz/h2GXoQQQqjVqar2vncvKCv7vZWFA41WTSSS2viHySQsW7JOV9ukupoRFHph619rxbp3b97pXeavV0EIoa5DSlryXkTQx9xPFmb2NCq97Rt21g+NRp87e4nBYHMhYaGwe9fXb1opKirS1PfA7CptO4ZehBBCqC2IS3QPCb2iqKgwaOCwRw8ft+UJ3n17Dg1QN3j27MV/pw8ePbFPWVmJ0x8GQgh1Bt3FxW6FXlVSVDDQt0hLy2jLhp1l88btmv0Ns7LeX7xy/MChHfIKcpz+SNopvKcXIYQQaiO8vLwnTh464v/fRGcP5wmOm7esbe09Xrt2c8O6LdAx2rp9rbWtGd7ahRBCLYuHh+fkGb+tvjuszEcvXT5vhufUttnv0aMnd2zfKyLS7cDhHUOHGuDADI3D0IsQQgi1qanukw0NB7u6eBkZWh3+3x51jb6tsZfHcfHzfJbmfvy0eOkc50mOXOS6gzPX7R8x653blIUIIdTVLVu+YJjJ0Klu3kE3Q89eOM7DQ2m9fd0KCVu5fF1lVdXqtYtGO4zAprkp8PJmhBBCqK2p9el9LyrQ3t525HAntyle1Ba9GSwrKweKdXJ0sR1uHv0weJKLE5mMX/cIIdS69A0GRcfe7iYirKmhf+zoqda4fTch4aXJUNtZ3vOnTpsY8zDE3mH4z9Wo/4BmfZhd6JZePNOLEEIIcQKFQlm81Gf8BMdFC1YNUB88ecqE1WuW/2GZZWXl3l4+Efci7e1t/j20TVxC/Mfez5+dDuhKJxPy8vImT55MpVI5XZFOJSwsbNmyZWvXrsVBZVFnJSLS7fh/B0NvhS+Yt/yI/4mjxw72Vu3VIiVnZ+d4zZibkPDC1c151hwPISGBmkaZ1S7/QevcZRp2DL0IIYQQxygqyp+7cPRueOSG9X+dPHFm0uQJ6zas/L2iFi9cceniFZ1BWjcCT/VU7vGrrgz74H6X6fI0x/v379++ffu///2P0xXpVCD0bt269dixY3Pnzp01a5awsDCna4RQq7CwNH30JPzv7fssze0G6mjv3rsDmvrfLq2srHym19y74RG2Iyz37PeVlBTHR+/+Bgy9CCGEUFt49OjJ2TMXPb3de/XqWWeRianRMFOjsDsRvpt2nDp5Zqix0cbNa+TlmzoI597d/+7be0BGVvrI8T0DdTW/zOoi16u1JgEBAVNTU07XorPZuXOnjY0NRF8VFZUZM2bMnz9fXFyc05VCqOXx8PCsWLnQ3X3S39v3GhmY6ugO3LV7e49mjpzPYDCWLl554fxlHV2tazdPqfTqQWT+Mu7iCAz1w5t8EEIIoTbA/Gfn/hPHz1iajTp39lK9a5iaDQ0Nu+J/bB+TWa2na2yob3rwgB+d3thDfa9dC9DsP9jvf0c3+a68HnAKOkbEL6cAsLuD2q++ffseP348Li6usLBQTU1t7ty5mZmZnK4UQr9vxvS5+oPMXjx/9fMiaRmp7Ts2RkYH91CWH2pkYaBn4u93vIm37+7+Z79arwEPHz469t++o//thcTb5u+sU8HQixBCCLWFiROdeHl5y8srli9d5+U5v6Kiot7VBuvpHDi8I+5puPNEh+PH/lOSVzXQG7Zh3eZPuZ9ZgZb18+TxU0P9YQvmLfH0dr0bdcPaxqyN3w5Cf0JJSWn//v2vXr3i5+fX1tZ2d3dPSkridKVQ53f06FFf3y0tW2ZwUGhKStqI4U7/O3y83hVkZKW3bV//5Nk9Vzfnf/cfUunRd8zo8VevXG/o0buXLl5V76N9xP/Y1u1rAgLP6OhosVv+n8rGq3qaCkMvQggh1BZG2tkEBJ6XlBSvrKwKCbo91NDm1as3Da3crZuwx3SX2+FX7kXfdHEdFxMbO0BDp7dKPxNjS/epnsZG5vZ2jtbWpvdjgyazBmcm/ng5W73nepnfftfbTaopoaHBPIl4tRxqBVJSUlu3bk1OTu7Zs6exsbGTk1N8fDynK4U6s4yMjI0bN6SkpLRgmecvnhAUFKiqom7etH3iePfi4pJ6VxMSEnRznxgVE3T85AFVtZ6rVq5TlOtlOsxm9cr1T588JRFJ8BMb81B3oOGSRcvnzpseER1gZY13WLQYDL0IIYRQGxmgqfEg7q65hQmTyczKej/CxmnRwlVFhUWNbCItLekyZdy5i/4vk2L9j++zd7C5cvkaLx/lbtT1eQu9+Pn52qzyCLWSbt26rVq1CnKIkZGRvb29ra1tZGQkpyuFOi1h4W4+PvNasEB9/UFRMaF9+qgyGczIyGgDPYvw8MhGjhNqDxyweu2i2LjQG4Fn7OwtX758Mdp+nKyMsoS4/Ngxzg5jhsc8CpkwyZFEqolpzTqgWS/i14UNH+3sEjD0IoQQQm1HQID/v1OHN/uugbxKpdIuX7phYjzy+NEzDAaj8Q25uMiaWuru0yebWxhravUXlxCvdbFzAz91MX8ctLnr9HZQB8DPz+/j45OcnDx27FgPD4+hQ4cGBgZyulKoE5ow2fXNmzchISEtWKasrPSd8OsuU5y5uLg+f8rzmDrLwX5S8rvUxrfqqdLDY4bLsZP7E15H3Q6/zMfLe+TEvtk+03n5eJvftrM1o2HvUl8AGHoRQgihNvBD72KSy7iwewFjncaE3bnz7l3yrJkLYyITrl8Nrq6ubmBjYp17uohN+2lJeO8Yan3c3NzTpk2DTDJnzpyVK1dqa2ufP3+eycR/fKjFcHNT1m/+y8dnHp1Ob8FiyWTyJt/Vh/33CgsLfRmAkMB180b4yROXi4uKG9mK3bDLyclC1qVQuFuwSqg2DL0IIYRQG1mxdNPrV4ms6R49FI8d89ccoEat/MigFQy3sbQwGz54oPn+vf8raeCWMIS6CCKROG7cuPj4+M2bN+/du7dPnz7+/v40Go3T9UKdhLmljWIP5V27drVUgWTS16fAWlqaPn4acft2SEhI0OJFcz2mTa8o4/LduDM9LaMp5TTxaGZLHtBs6LrnTgef04sQQgi1EVNT8zGjJy1cPGeahwu8pNOreCgCXFwUJpPAYFZKSnTEWyLbAAAgAElEQVRftmz58uXLdv1zYNQoG6fx9oMGDyQ2+ASi3+j21N6Ew89yrK6uLi0t5dTefwnqhmcX24PhNSIiInx9fdetWzd79mw3NzdeXl5O1wt1VJWVlaz4s2HzdjsbUxcXFykpqT8ss7i4zHSY7ba/1plZmBC+3DMs1LNH/+LCDGi7SQSamqqy54xZBgYGmloac3w8jYbq//m7QL8BQy9CCCHURsaNG3flysUzpy6G34nYs+8vpijkKqaAkDSDUc1g0IlEso+Pz1/b/3qf/f7C+WsBN0Ig8VpamYwZazfESI+Li/ytmM5wH5aLy5TrN65zkdtpPwQyubh4d07XAn1lXCM+Pn7VqlUbNmwgEklkMplYz52NCP3amg2+8Fu5p8rEya5Lliw9fvzYHxYoKipy8NDB6R4eI+xsVq9Zys1NLq8oFhKWq6woYlRTq6srlXsoOTtPOHLkSMKzl7y8vCPtrEeOstYdpEUk/fxvuLnncYm1frNw+IBmu9VOv2wQQgihzodEIpWXlVdWVgkJCZsOG7ll2zobW/PyiiJuLl4uLgp05csqCjdsWv73X3sz0rOoVCqNRr96JfB26L2KispDfjshAH8t6PeubyPWdIYajQq/u6zZikuKD/7vuKX18JYstOW8fvVirrc7p2uBfqCtrX3z5s3ExMStW7fduHFjoourp7ePuIQEp+uFOqp5i5YZ6Wk+ePBAT0/vD4tS76fBzy/w4vlra0uHw367VFQI9OpKAV5RaNgZDDqZTFm3bu2pUyerqqilpWX/nTh36eJ1JpNpYTls0pRxg/UGtsjbQY3De3oRQgihNgJ588CBPSNG2AYHhw4bZrxx/V9jx0xJfPOWSiuHuFtSlldeWWhja3E7/OqNwDOz505XVJLn4eGh0WgMBuN2aMSPYbfxDFrn8D8e9UedhJqa2tGjR+LjnzCrqcYG2iuWzM/KbNLdkgjVATF15ZpNs2fP+fOipGWkrKwsHsfFy8nK2g0f/8/Of0tK8vMKM3PzkvOL3n/KT+firQyLuDFhkqOgkCA/P19ZeTmk32tXg9wmz3z86On3QQqJhK+T9f8Q606wfD2g2VgNGzxS2mVG8cfQixBCCLUZIj+/kKenh5/fgYcPH1EoFClJaQf7SSuWbagzwqeqWq8Fi2ZFxQSH3bu2aMmcEXZWPvM9v5dSc7q28Sda/LhOQ/C2VdQhKSgo7N2z582b11ISotZmQ+bO9Hj3NpHTlUIdj6OTM5mL+9ixY39YDjSzCxfM3b9vV1zcE3l5+Xvh9w31rQNv3mIymXR6FY1eyWBUKyrK+25d8/JNjP+xfeOdx3TrJiwgwE+l0qhV1NrlNNq2E36eQE2EoRchhBBqbV/Hxywsft9NpLuMjLy6er9jx/y1tbWuXbvRp0+f1JQsg8GWvpt2fvqUV3sz6NEoKMp5erv9e/BvOTkZ4letWsffWIgQZ0hISPj6+qakJGsOUHccZePhOiHhaTynK4U6GAEBgfLy8j8pgclkcHFxi4h0NzDQO3v2PwqF+9Wr1wb6Bps37nAYNfnVyze1VyaRSPoGutu2r3v+Ovq/M4eO/bff0OhPL65GTYGhFyGEEGoj9GpqUel7bgpZTU1DRER0+vRp//zzd3FxSUxM7MCBOs8T3hgbDp/vs+Lt2xRO1xShDkNYWHjF8uVpaalWlmbTXJ2dHUdGR0VwulKoY7gVfPNDzntPT89fr9owBqM6vyiTX1BQqYeKtLT07t0758yZdffuXSqVyscnMN7JfbyjW1RkLHt99nlbXV0t42GGxNY9nPnro5ld5IAmhl6EEEKo7TCZzNLyvIqqgn79NJSVVdTUVDdsWDdvnk9SUlJsTKyWlmZFGXXs6CkTnDwuXrheUlz6032836aJ327zqjNR729irdXYNWnrt45QK+Ll5Z0zZ05KSrLrlMnLF/vY2ZiGhgRyulKoXaPRaOtXL9u16x8ymfzrtRsFube45AOTQO/bt7+IiJipqcnhwwcNDAzu34/m5eXj5RFYumidhenoy5duVFdXt0jlUXPh6M0IIYRQW6PSyguKsyQkxaSlTRMSEqqqqP37a8TExAQFBaempunq6igqKl29FLxm1ZZBgwba2VtbW5sJCQtyutYtiY+Xb/H82Xx8fJyuSP2oVCqFws3pWqBm4+LicnNzc3V1vXTp0qpVK+bO9ODi4hYU7FT/d9AfWrx8zZix42Hifwf3qaurW1patlTJ5ZWFVFqFqqqauLjkixcJzs7jhgwxvHjx8r2ICHl5Oc3+mkf9zqxfs81muIXDmBGD9XTqO7tb+8hmrccP1X4OEfPbHPbvH9U3D2HoRQghhDiBwaguKfvEzcWr0V+9d+/ez549tazx9u3b4OAQ6CcJCgpYWpjLysoEBdyZP3dFZs6L2psTGzpRW+/8Op0kAvtEce0S2/Tk77FjRz9+/Nh2+2umxMTEJUuWcLoW6DdBlhhbIyQkZNOmTdnZ2R4eHvASIjGnq4Y4bM+ePSnJ72Di06fcf/f+8+BB7C83aRYavbKgOItPQMTY2OTt2yQmkzBnzqwpU1xCQ0NDboUyGAw9vUHlpdRVyzcXFhbZjbJ1cR2n3FOpZeuA6oX/+RFCCKHWRmwoU0IPiVryno9HaMiQIcUlJWmpqQIC/FpamrNne0dHx9y/Hx0QECgmJkYmk4k/x9SOTEBAoGfPnpyuRYPKyspIJLwFrMOzrnH//n1fX98DBw7Mnz/fy8uLn5+f0/VCHCMqKlpaQYcJ3w2rPTymtUYrxGQyyysKqqqKFZXke/ZUefPmdXZ2lqury+RJE+5FRN6+ffvOnXBJSQkjI8P7UQ/S0tOPHNtXe/PfaeV/OOv7UwGd53vjj2DoRQghhDisoqq4vKoEoq+6hkY1vTo7OzMv79OYMaMnTBjHYDBiY2J95i2uu03t6+LqfRwvsdHf2BFCXcaQIUNu3rz57NmzLVu2bNu2bdasWXPnzhUREeF0vRDHPIt/ci/8TmLim1+v+ruqGbSSslwKN6+aWu++fftlZmbk5GSNGjVitL1daVlpbOyDe/cik5LeSstI/HSR85+2zdi21wuPYiKEEELtAbO8siivMK2iKl9BUV5XV793bzVh4W4C/Pw2NlZE0o/DWdUel6qBoawIP03XfsLjl7MRPw/b2XBfidjIBdUIdQSamppnz569f/9+RkZGr169lixZ8uHDB05XCnEEc9Xyhb6+m9vgZm8qraKgOLuoNAfCrYHB0D591EVERSUkJMaMGX3o0L6/tm3m5/9pXIPaYw7+PEH49QFNVC8MvQghhFA7UkktyyvMzCvM4KIQFRR79FZVF+suVd/1avX+sJfWnvh5/OdOdaU0Qk0HcdfPz+/Zs2c0Gk1DQ8Pb2zs1NZXTlUJt6tqVS0QC09XVtc32SKNXFZV++JSfKiBI6devv4aGprS0LDc3hYeHp+5tFA017U3/+XpAs0lYRzO7yAFNDL0IIYRQu0OvppaWf4ZO0ueCdBJX9ZAhhrWXEr/++vowotpdHmID0w3EY4S6Ijk5uX/++ScxMVFcXFxPT8/FxeXly5ecrhRqI8nvkvbs2d32+61m0ItKcz98flta8VlQWKBHj97dRLqTSPXeatr4ccx6YcP+Cxh6EUIIoXakJsh+V82glVUUnDp3iD2H0xVEqJPo3r37xo0bk5OT+/fvb2lpOXr06IcPH3K6Uqh18fHxubhM0dPTa/1d1W2r2c9Mp1LLi4o/fPj0rk8/ZfvRI4jfD18S2McxiT8e06z3ZQOHO1H9MPQihBBCHVKdUasaetnA1c/sTtI3P93hW1ujCxHqwISEhJYsWZKammplZTV+/HgLC4uwsDBOVwq1loULF/r7+3G6FixMGdnuVtbDfpzJSrDfXxJ/eMlutb8n5B9v+2UH4Nr7abgGXaltx9GbEUIIodbW9H4FHqdHndmCGpyuRWPS0tLu3LlDqHnwDKfrgloemUzmdBUQZ2DoRQghhDiJRqN/ys2VkZNpicIauQeMWGc9ZnMTNuZx9GdCQkIiIyM5XYtfq66u3rJlC6drgTqZuudfm735ryfqWbsZBXd2GHoRQgghjnn3NsVprCudwRASFjx86J++/dSauOGf39vb7AKanZIR+oFVDU7X4tfodPrff//N6VqgDu926N2MjEy7UTbdxbtzui4I7+lFCCGEOGfTxu320yetuXpIa7zl5Cle1XQGe8CSmkGrfprGgawQQqjd8928Y83GvwJio42NR758/qqpjxwitsxPM3SZm3ox9CKEEEIck5j4VttwMD+FR8fCSEC6e0BAUNO2+/OHOeLjixBCqFUwGAx/v/9W+u0Yv9zLZNa4GTMX0unVnK5UV4ehFyGEEGptDWZLeXm5xMQkOoNOIXP3GNTv4YMnP0TRn6cJmFIRQqhdy839LCgoICLajY+LR9tMn8lNfvjwcdM2xQOarQVDL0IIIcQxU1ydLx88kVtSUEItL/tcJN60W79atltErF1oo3tECCH0S5KS4iUlpW/TkivoVDKRq7uiTHbWe+KvtFZtftWwd5G2HUMvQgghxDF2o2z79FT2m70x8ODpN3ceTpjo2ORNa/oqxEbDLPshjsSfXtYzHyGEUAsgkUgLF88+vn73+/zcj/m5mc/f9mvyIIWoleDozQghhFAbaHCokCP+e0OC7yQkvNx1Y7Gs7K8fXPSHD75ACCHU2ry9pyUlJf/PZSWNRnebOkGjv3pTtvrh0hvm9z9q/qyZZk18WYn5dYLJ/HrUkvltdVYRON7+jzD0IoQQQpxEJBJtbC3gpznb1OrN/LJbU+dOYGID85uyU4QQQk1AIpF27dry4UMumUySkBDndHUQhl6EEEKIszBMIoRQZyQtLdm8DWrfbEL84Y+aP4k/zCd+26T2ik0/Htqs1To+DL0IoR/ExcUdO36cyWzGU9vIJJKXl1e/fv1ar1YIoR/9dBFcrQlCrWvcfvmb8NPL5qpuTnOBEEJdBA6V0K5g6EUIfffgwYNRo+xneM8RFBRs+lafP3+2sLAMDb2lrt6kW1YQQp1JflGVXHc+LjIOjYkQQn/ih3O1Px/QrH2vblMOYv7JAU0mk0CvZnSmhh1DL0LoK1bi3XPAz8S0OfcW1lDr09fS0gpzL0INq7fj8X1MkmYXV2ujei9nIzb5988vm4XOYOQWVEiJ8ZNJeF4DIYTYmt8kEv+0bW98UbN8LKiQEOGjcHWS3NtJ3gZC6A/9SeIFdvZjNvhuh9z78uXLFq8bQp3GmzdJLVfYLx+++yc/zVPNYOYXV7bcW0MIIcRhDAbzc2EF/OZ0RVoGhl6E0J8mXhbMvQj90pTJM1xdPIuKilkva56SS2z2T7tUSa0uraBxuhYIIdTWiotLDh88SqPRW6KwVj2a+VsHNEuqWuJ9cR6GXoS6uhZJvCyYexFq3K3b15hMpumwEY/j4v+knJ8vdat35m9c29xQn4hZc4sXSwWVcT6i4MGbsjr7LS6nNvUNIIRQJ3LxwlUbqzEpKWmslzXHJ5uNo+/gK3o1k0pn1J5TUUUvr2qRPM9hGHoR6tJaMPGyYO5FqBEiIt1OnDzs5e3u6DBl757DhDY4UN+iqhnM4Lji+QezrscUUulfQnB3IYpEN56vS6uZ5ZWdoW9Ur4EDB0rUIicnN3Xq1GfPnjVl2wsXLmRnZzeywqdPn+bNmzdo0KCrV6+y5jx+/DgyMrIF6v21nR8l8SPYXW5u7u8VuHDhQhsbm6CgoBapXlNUV1cHBASwaq6iogKVf/PmTZvtHaHGCQsLBYZcHmpsYGk26vy5K39SVOMHNIm/dRCzkcOarKOZrAOa8CvyRenCw5m5hV+acS7y93VLyzvDVTwYehHqumJjY1s28bJg7kWoIQE3gqlV1BmeU6/fPHvqv3N2I8YnJPzef5PvlzsTfppgTzfldyMz6+wy+nXZ4v+9PxmWX1r55TwAF4loMVBqtUs/Uq3xqyqonTb05ufnf/78WV1dHSb69OmTk5Nz/PhxJyenX+beMWPGjB8/Pj09vZF1GAxGaWlpQUFBVdWXKwkDAwMnTJgQEhLSIjWn0WhFRUVQ+e7du2toaBCJRJjes2fPunXr4L38RoGlNajUNjqxDx/OrVu3Ro8eXV5e3qNHj9TU1JMnT545c6Zt9o5QU3BxkdetX+53ZN+GdVtneS8qKirpWIc0nyZXrDiafSjwc15xNaHma8BaV5q9tIpWTfvx9G9HhKEXoS4KEq+9/ejd//6vZRMvC+ZehOr1v8PHLMxHJSa+HTBA/W5koNFQA/uRzvN9ln/+nMfpqjXmRVrlquMfDt7M+1T0JdNCf0ivj9gmdw1nEwVB3h8eA0GldfiOUeNCQ0Orq6sjIyOLi4sXLFjw9u3bmTNnsh5sDtkyOTn5yJEjEFkrKipgNZgJIZZOp8MKMIeVEuElhDdIcWvWrIEJVsqtDTaEXAclw/qwFCIfbA6Fx8XFBQcHQ9hmp01WUZWVlRBBw8PDWaXBUmh4T5w4AdO1n7huY2Nz+vRpWC03N/fFixeQfg8cOJCXl8eqJGy7evXq27dvwwQUy9oEdg2FP3r06OLFi2VlZfWmXJjJqgPrJRRVUlKydu1a2BG8ZXYFoKiMjAyoP+waVoZF7OrBb5gTExMDSyGNw5p1dgFz7t+/LyIisn37dqgMTEO1w8LC8GQvaifev89xHjc1JSXN1Mw4POJmUWGRwWDz/06cZf7OM8wbO6BJ+K2DmHV+19lfcg7V99zHHZdyMz99PZ3bX7nbWhf1EXoytVfrBAc0MfQi1BWxE6+pmWUr7QJzL0I/+tL7uXz1lO1wS1urMSeOn+Xj5V22bH5UdEhJSanBYIsD+/2g61/r7q4GbgpjjWTVqgOd1DrrkPaRuu38p78u5Gbkfg08/ZSEV0/qN314T3Fhnp/fJL36S0Rruw+VcwQFBSHuCggIFBUVxcfHQxZdunRpv3795s2bN27cOIiUZ86cgfQ4e/ZsyHKwvr29/bJlyyBwbtmyRUZGZuzYsbt27erWrRusDIG2dsmXL19etGgRTOzZs8fJyenJkydPnz719vZ2cHCAlRUUFKZPnw67gxV27NghLCxsYWEBi0aNGiUuLm5nZzdt2jR9fX0PDw9LS0vY8OeaQ63k5eX5+fkpFAr8g4LICnWDbXfv3j1mzBgpKSkolvAtaurq6pqYmLi5uUHmnDhxYmJiYu2iIN/OmjULSoMN8/PzIRhbW1tLSkr+888/UJ9evXpB9CXUHA6ADwFSt6OjI1QV1lFVVR09ejR8bpDwIe4aGBhAbeHdwd6PHDkCVaq9FxKJNHz48OvXr8NqhJqDAqyZZDK5Rf9KEfpNMjLSffr0tjAbdenidQkJ8ZNn/Hbt2bp/72Erc/uHDx43u7g2advBhwL6nmuf15/68Cbz66E3ZWmBxePUfBx6y4vz1akUHc/0IoQ6nDZIvCyYexGqA7rpy1cs/O/0/3Zs3+MxbU5RUbG8gpz/0X0nTh66djVQq7/Rpo3bP3z42JSimj/oc/N+PhVVHwjIX3cy92XG15N4SlL8C8aqLnBUVZTkb6RiP52o67QgB7q4uBQXF7969er58+eXLl2COAeZdsaMGRDJTp06lZCQMH78eEjCsLKnpydky/T09CtXrpibm/v6+m7evBliJwRLSH21i9XS0oIMCROQNiG7du/eHeLoyZMnIdBC4Xp6emfPnoV9sU+uvnv3DgLk8uXLKyoqIGRCe7tixQojI6PIyMgDBw6wi4VEmpaWBqk1JCQEioU6GxsbQ2i/cOFCamoqpEoofO3ataWlpX5+flVVVVBVSL8FBQVTp06FEG5oaHjv3r3a9/F+/vwZ5l+7dg3KOXr0qJiYGOT8N2/eODs7Q1FQn/fv3y9cuBDWhHA7f/58KHPmzJkTJkyAmn/8+PUf+YsXL6AQqMDs2bNhq969e3t5eQUGBrKSLQt8mIY14JP59OnT3bt3eXh4VFRUYOXW+qtFqDmIROK6DSsO/2/PyhXrF8xbXlVVaW1jHhkdYmdvO2H8VM/pc1++eNWuBuYvKqs+Glqw7GhOXNLXA0xSorzeI1VWTuyrJi9U7yad4PJmrl+vghDqRJqbeAsLClJTkzPS04qLi+AlNxe3hKRkb9U+iko9mrI55F74Dbk3NPSWurr6H1Qcoc4A+kOe3u5DhujfjQj0mbtMX8982fIFLlOcDYfoh9y+GhP98OCBI4MGmtqNspnuOVVbe0A9RXw9z9uKSsoZV2OLwp6WVn/r5Ih34xkzRG5wH7GmbE7qkofTIYtC5IOoJioqCpEM8iFrvoWFhbKy8rNnzxwdHSG2wZx///03Ly+vV69eRUVFqqqqycnJkI3V1NTYRUGWMzU1PX36tI6OzqhRoyCjQjKUlZWFHAv5WU5ODgLkoUOHIE6z1oe4OGvWrJycnJUrV0pJSS1dupSVtFlnWdkgA8fFxdHpdG5ubmFhYRkZGdgKkqqrqyvsEcItbAvBmFBzxTKkUJgDgRaC9+LFi5WUlJycnCCc6+rqsgvcunVrbm4uvBHIxrAtzIEsXV5ePnbsWIi7EIlZqzEYjA8fPiQlJU2cOHH79u0wZ8CAAVBV1tLHjx9DzS0tLWFHsJf8/HxYBz49e3v7OidymUwmJN7Dhw9v3rzZxsaGXQJC7YSFpQk07J7TfawsHHbv3QYNuM887/HOY3b/c9BuxHh46T3Lw9LKtPFCvl2i3FoqqcyAh8XBccXsq5W7CXDZGcgZ9xcnNRq7O8EVPBh6EepCoD9hZzdq70H/JiZe6KxcPH86NCTo5cuEz58+wRwKD4+iYg9r2xGuU6c3K/daWFimp6dRKJQ/qD5CHZ6srIyNpcMm3zUTJzmdOHko9Fb46pUbjx87vdl3jYHhYNZPelrG4UPHxjpM7i4uNnyEtZ2djY6udttUj0pjBsWV3HxYXEn72sER5CPb6cuZaEqQSU3qh0GvqfGeU2dCo9Eg3XFxcfHy8hYWFr5+/TooKCgtLQ1SHCRGSUnJnzcpKSmBiPvgwQNY/+nTp00fRwri5cGDB4uLi6WlpQUEBCBb/nzvKxASEqqdS2vr3r07BEsikSgiIqKtrT1w4EAtLS3I55mZmfHx8RA+IWqybkGEmX369GGdf+7WrRtkUZhQr1G7QIiykJ8rKirgvUBlSCTS8+fPoYTly5dHRUWxT9WWlpa+e/eu9obSNVjTYWFh8InBXhYsWNCjRw/4JCHew9v8+WZIduK1traGmK2iotLEjw6h1paZmT3KbvzOf3yHmRhduXZ6964DY+wnjbIfvmrNEvinvmXbuqXL5584dmbRglWCggJu7pNsh1vJy8u2cSXp1cw7T0uvxRSVVn79z8VLIdkMkrHSkaJw/fpQJalpXwHtGYZehLoQ6JpAl6jpVzVnZ2UePrgvIz1NSEjYedIULjJXSFDAu7eJxUWFklLSnt5zmlgO5N5F82ZB3whDL+riFi2Zq6ev6+05PyoyevuOzZZWpiamQw8fPDJ5ooeZ+bCFi+b06auq1ENx85Y1a9ctCw+PvBkQMtF5GiQBB0e7deuXt17FGExC+LPSK9FFxeVfoxSFi2ilK22jK81Lacadk9zkrnKel06nQ2q9fv06BEiIhQcOHIBQamRkNGXKFGhpz549W+9WgYGBy5Ytgzy8du1aJyenjRs3QuZsyu5gFyNHjoRYWFRUBAFYWFhYUFDw59Xgn0pDaXDQoEErVqyArFtn/tatW/38/GCrLVu2QCvt5uZWeymVSoXUCvtKSUmBuA4VgDzMWjR06FB4efXq1WPHjikrK4uJiXl5ecXGxjo4OEBREPvhJazGOrFMqBnjqqysjJXYAT//l4vk5eTk4FsJQq+zszPEctgKamhgYMDF9UMHFbaFj3fTpk2wU0y8qL1RUJBbsnSeu9tM16mTVqxcNH/BrHHjx6xdvdlgsPmCRXNmeE4VEek2d57XzNnTr16+cfbspfVrt6j1UbWxtbC1tdTo36+1qwcZN+ZV+YWoQtbIzISasfdNtCRH6skI8jU1CZLJHT70dpUvJ4TQb0hPS4XES+HhsbCyWbF6w/JV68dPdCF8Oefw8W0iDpuJULN87TEMNTa8GxGY9znfwtTuyeNnFG7u2XM8HzwKFxMTtbZ0GO/kFnEvmkgg8vDw2NhY7N23/XVi3N79f0uIi9ce0rOmvDp3gzX/vt1vmzxKqlh2JOf47QJW4iWRCCYDJLZ6DBhtKNesxAt4eTr5wfSTJ0+eqHHkyJGdO3dCnDM1NYW0lp6eDtOQ1iBbwt/dz6dh3717l52dHR0dDfmtd+/eEB0h6b169aqRfaWmpj5//lxUVFRcXByyLplMhmwJEfTly5eQGEktdB15TEwMBHhjY2M1NTWoEqFmpKj8/HxIp7169UpOTj516hRE2b///tvFxeXSpUsQjFkbQgj38fHR0NA4dOjQ/fv3oRB4O/DGPT094Q2yR6Xm4+Pr378/1PzNmzdnz56F3d2+fTstLY211NraGhIs7FFBQQEqAPuFt1zn02MymS9evFi7di0U1bdv39evXwcEBEA58FG0yCeA0J9znuAYGnb93t0ou+FOmRlZ8vKy/kf3nzh5+NzZS0MMLI4dPQX/I7i5uZzGO1y6cvJ10uNZs6cnJb6zt3NevnTd92EKW0FCas3Y+4F57GcRfR97v8mJF/Bwd/hx4zr5lxNC6E/0VOm1btM26JQP1h8iKSlFrapS69PqhyQR6nxy8qgEggD7pbh49/MXT+zbe9jRYdLIkTar1y6VkpL8a/vGZcsWHDnyn9cMHylpSS8v9xEjbYSEBCHqDBs2BH5ao2JvMqvO3StIzvn+KBqd3qJjjOSkRHl/r0D+zh563d3d2dOCgoKurq4LFizg5eUdMGDArVu3Dh8+HBgYCGGspKQkIyMjNzeXUHNdMaxw8OBBmGllZXX69GnIbBDzIE/q6OgkJSX9vBcJCQklJaWQkDYRc/UAACAASURBVBBIofPmzRs9ejTkScjYsGFCQgIXFxeUU2/oLS8vh2zJPhnbFGPHjoUYGRYWlpmZCZtra2vn5OQ8ePAAAry3t7evr+/GjRshsiYmJkJ2NTMzgxDO2lBOTg5iqoODA1QJ6mZoaAgxGN7d7Nmze/bsCdlVWlqaVR8Iz9OnT4fYvGHDBqgbzGRf9aOurg4bQq6GHUHJ9+7dU1VVlZKSqh0AaDQa1AEmiouL99eAaSMjo//973/NeqcItSoVFeXgW1fWr9tiOmzEilWLprpPHmL0ZfiGy5euH/jXf6vvTtepkzymT5GUlBAWFnIcaw8/VCqt7kPLWI8Wqo3ZzGEcvq2f+oF69l7h628jEQJ1JeGxxvIKEo2NRNgQvo7ftnf4N4AQaj2ycvJeM+eypmlU6tOnT0JDAglfRueX7aeuwdGqIdQB8Hw7TXrpfsFgNQEFCe6vC2p6JLPnznB0GrVuzRb9wWbzFszynukhJi66aMncuT5e589f+d//ji9cuNLYeIjdKBsbW0sxMdHv5RJ/mGxkeBHWisxvq9V+mfWZdu5e4dOUCvbKqvJCY4fK95QRqLeopoDEy92Ee8M6qMGDBysqKrKmIXZCJoREOnnyZFnZL/fmTZo0qaysLCIiAqIgJMOioqK7d++ynkXk7OwMMfj9+/cQ6mDR4sWLg4ODYc64ceOgkD179kAJ3NzcEPYgCbOGeh40aNCiRYtCQ0NZd/A6OTnx8PDcuHHj8+fP5ubmQ4YMGTNmDMxRUFAYOnQoxD9CzQlV2BGUwBqMCpK2jY2Nvr4+oea+XE1Nzdp30tY2ZcoUOp0OoVdcXNzExERMTMzPzw9qLiIiAgXCIgjAnz59gv06Ojqyro7W09NjMpmwC5iG0Juamvr48WOYs3nzZvhkUlJSYEeQpSHkQ4iFlxBN4fOBlSG6y8vLQ6a9cuUKa+8w7eXlpaKiEh4eDh/ajBkzLC0t4UOoHXphWlJSEmJz7Wr37t0batjSf8kINc+z5HIZMWH2SwqFe7PvGksrsxVL1504fmbL1nWGQ/TGOo2Gn/tRsQf+9RuoOXTESGu7UbYWlia8vLywPvzUW3Kdtp398ufG/OeXuQX085GFDxO/P/qrh5QANO99FOsfmfmX+ChcTRzWoT0j/tZzkxFCHRJ0PiwsLGMeN/sBQuXlZdeuXDx35uSb1y/pNLq9w9hFS1fKyMo1vQQ1ZZn09DTWtXMIdRHlVfRFB58m53y5CFOAh7hsvExPmXpua3/4IG7F8g2FhUWz58xwnuAIPSHW/PS0jICAkIDrQc+ePTcxNT591p81f9IEj54qyus3rKjT1yH8OF3vUpBXQr8UVRT1spT9/S8nzudoJD+g5x/994SQIi3Gz9VZ7ul9/vw5BNpnz56x58TFxbHPyUC0g+BXZxNIpImJiZBglZWVIb9lZGRAVGMNawxhr6CgQEtLCxIsvIQYCWESsitkVChWSUkJAiSsX1lZyR4sClJxeno6tJmQEllz3rx5k5eXB3kSsjeEZJiTnZ0N67AGhWYwGDBdXFwM+ZZQM2whFAglQ9KG8AmLIM2y8nm9YmJiIELDviDuxsfHw4asmkOVYFt4a6z3xVoZ3ktmZiasDGXCy48fP8I68O4oFEpWVhZrvxD+YVv4GGEaauXv708ikeDdQUS/e/fujh07oEAIyex7jGFNWE1HR4f975+D4G+Hn5+fSqX+elXUJZ0JTz8WkgoTXGSCz2gpnV78TAKzdiNMp1cfPnjk7+17LCxM1m9cKSv79XhTcnLqmTOXbt4Izsp6b24xbORIa9vhVgIC/KzGWKOv3pHj/7JGLvweemta8CaG3uKy6ivRReHPShnfmndJER6HIXKD1Jo09n5DoG3vBAc0MfQi1IX8dugtLCjYunndsSOHYVqph/LCxSvGTZjcrBIw9KKuqbSCvupowuuMYsKXe6KInsPF9frUcyoVvosvX7r+736/rMzsKW4TPaZPkZL6PvZvTs6H5wmvrKzNWC9/O/SWVTKuxxbdelJM//YMVFFB7tFD5AzVxf/8GL6oEI8gX/2nLDqin0Mv+m1JSUmLFy++ffu2trZ2r169IL3n5ua6u7t7eXmJi4tzunb1wNCLGlfNYG49+zoi4cv9C2QS4f/s3Qk4VO37B3D7ljVrQkgpSkllSSpFiLSj0kZvK2nRQqm3KGmTlFKKFiTJlmxpoVDopags0UKy7/vyv3Pe/7x+MyqJGer+XK6u8Zxznuc+I+N855w5z4Y5gqpygzq/CNN1vOoWFRX/fcAxKDBs0SLDjZvNR46UIS3NyswOCQ4PDQ2fOFHx2PFDnUKvG7T04A3Nhqb2u88qw55XkuYi4uZgMlARnaYg+Is3XoYXdnh5/5Ue+gm8vBkh9GMsrCyKEyYWFRWmv3pZUlzsccmtpqZ6zdoNtK4Lof6Ok53J0Xzcfq9X/+SUNza3uwQVz/3SbDSNj+wYhJ6eftGiefD19Emim9slpfEa+gY6CxYYzJihAb99okOGwNf/rE/373v//31L8bjzg5bW9oik6uCEirrGf9/p5mBl1FMeMktRmKk37skJR0W/U+JFvUtKSurw4cOqqqrPnz+vrq4eN27c5MmTtbS0+mfiReiHGBnobUxGMzPR30/50tpGdzak+FNp82KNf1/YSS+pQsJCZ91Obtm68ZzrRc3pBlM11DZb/DVF/euHDkbKjthuDV//zoLxK6/CkMDv/1Nz50k5aS4iVmaG2RNF4Ase/ELHRFeMv0fipcPQixDqDjY29tm6+sqqU1KSnx89/Hfqi5RBgzgnTJw8XlGJ1qUh1N+xsTDarx57KuAtHB7Bt5A88740rtcT5OXs4maYalOU4Ssv972Xl4+t7aGS4hItrRlzDHS0tTWJKV5+Vns7XeyrmttxFWXV/57eZWakn6koDIkXcu+v7BeBnp6Ol/O3OseLeh0zM7O8vLyEhERBQQF8C/+TIe6ys7PTui6Eeo6ent568Wg2Zsa7iQWQNQOfVnwoato8V5CNhTxnjhwp4+xy1Hav9UV3z9UrN4iICBsY6s411JOVHdFVtz/3hubTjFr/2PLiyn9f3iGNT1MQNFAV5fqZOzN/CyReAR7af9ygtwz467MRQlTAwMDAy8cnKSUNKZe4hRXk3ujIcFrXhdDAwMzEsHPJ6PUGMsS9QNJy660vfYzLqP3WZEKS0pL7/96TlPL47r3bMiOGnzh2ZuKEaZ2mGvqqO7MS/ZNTb3Ol4OK9UiLxQtMUeYHDa8Yu0hDrlcQL+yXMx4GJF3UHFxeXbAdxcXFMvOg3AK+olvNHrtOXIS4fTsmu23OlIDO/ocuVBYUEbPbuSH311Grbxoz0N1qahqqTZx62P/4+70PPRn+ZV7/Xs8AttIRIvFDMZNnB9qvHLNWU6JXEy8XBIsTH/ouXRvcreKYXIfRNXlcuNjc1hYYEHj1+mpisiJGRkY3t68FKbW1NVVUFrQtEaCCZP0Vs+BBOB+/0iprm2sb2cyFFiW9qV2nx83N/82+x/JjR8LVrzzbilrzdl13Q6Puo/M3H/w6/FKR5Fk0VE+XvtbAxiJ2Zj5O1b6aWRAihgWGBupiUyCD7669qGlq/lDcfvP5ZbzLPEo3BzF19coSDnWPhQkP4amhoiI56GBpy76ZvwK7dW0kr/P9k7N+TW9h081H5q/f/3XtfToJ74VSxYcI9uRqIEgTdwdys7Cy/W0j83fYHIdSLIsJCk5OftbW2JT1PJEJvVVVVTk4WPBg1Wl5FdSqtC0RogFGQ5r20bfLZoKwHqV/vgJKcVZv2rlZ3Eu88NV7Ki+I6I+762x2FZc03H5c/z/xvsgrpIV8nqxgp1sPJKiixMDPycbLAv73V4YDw4cMHYoLZ5uZmZmbmpqYm7g6cnJzf37CyspKJian7P0HQ2tpaUVFRXl5OT08PI7a0tLCyssJY7OzsjIw0ftrhrwDsEZQETwL8297eDs+AoKBgD/opLi6GThobG2GniGcV9hE/6IsGHEUZPlfLiUd9X7/+UNXWTheaWJmSXWc6k3+89DdTKBsbm76BDnz91EBFFS23YssTXteS7kIsIcQBcVd+GPf3NvsZg9iYeTlZfqcTvCQYehFC3yQ/ViHmfiQDA4PziaPV1dU11dVP4h69Tn8Fi4aKicuOGkXrAhEaeLg4mHebyE1VEHIJeFtR29zc+vVTvg9Tq+ZN4dMcx83K3L1DDXo6OopzrJW1rbfjyh+mVpMmqxDhY5uvPlRpBB/55j3FyEjPO4iVg+1PPHgwNTVNT0+fPHlyYWGhhIREbm7u+PHj4ds1a9Z852JdyHLXrl0bPny4rq5uNweCJJmRkeHt7R0fHw9RWUxMrKSkhJ+fX0lJCToZNmxYL+1QT0BS9fLyiomJgawLT0JRUVFBQYGcnJyTkxPk1Z/q6t69e7a2tvAEfvjwgY+PLz8/H+LuiBEjrK2tJSUl+6Z8hPrKkMHspzYo3nr88WpkbnNre0Fp81G/wrGS7KYzBcQFu5ip7mdV1X2diyjmn6rWtn9bBHlY500Zqjzql+Yi6oyZiYGPi5X1930380/8u4UQ6qZt1nsSnsY9f5aQ/+njkUP76b4ejTW3trbKjpJbunyVlLQMrQtEaKCaIi8wfjivT8z7wCef4Aipqr7tanQpRNZZitw6E3l4B/3cYUdDU1toYmXYs8qmln/zLg8Hk4HaUI2xAgy9dP0xEyMDcYvmP/l65sWLFzs4OBCT04ILFy7Y2dnx8vIuW7aMrmOm3Orq6rq6r+fYWVhYuLi44N/Xr1+HhYVpamqqqqpCCyMjY319PawGL6R0HR9zpTxRDCHw77//hgcQL0nxLzg4eN++fTU1NZs3b4YeIAxD53RfJ1Gvg96EhIToO34wsAK0QEIuLS3l4OCAUeBbZmZmGIiV9d9bsDY1NcEm8C9kdaIkoh+on+iBs0OXz8D9+/fPnTtnaWm5YsUK4ty1j4/P1q1b4ZmZOXNmYWGhiMi/85FCb5CQIRtDoIXkDyM2NDQQ56uJSYYJsDvEPMN0HdNELV26NDk5OTo6+ofnzxHqb+B3cMk0CZXR/KduZ2a8r6Tr+Njt7ssfVUZx6ivzSol07x7InW7cQGhs/joX0d2E8sb/n4uIi51JX0V0+jhBxl46Hwsv79wczIN+97szYOhFCH0TOzuH3527Rx3+Pn/OpbHx3w8HTlZWPXbKdaTsaPo/+eAXoV82iI3JXG/4XNWhHuHvHqUWtXfMoxsUX3H3WYXSCM6pYzgVh3OQrjGj7zT3I+mLrmOyiqiU6sCn5dX1/77/z8bMoDN5iLaSMAtT79yrkpWZkYuDmZ0VDxjImZubh4SE7Ny5E0IvJLqUlJRnz55VVlZCgISXR21t7YkTJ0JKhBTX0tIiKio6e/ZsiJSxsbHv37+Hls+fP8vJyUF6hNhM6hPyYVpa2tu3b11cXDqf8Jw7d258fPy9e/emTp2alJQ0ZswYSNGQexMTEwMCAiAPQ+79OttzQEBZWRlEx8OHDysqKpaXl0MQhfw5a9asadOmQeYsKiqCft68eQOLIBurqKgoKSlBPIZ+MjMzIcempqbCWLBtcXGxoKAgWfiENSGyQk6GfYTMzMDAYGJiAgUPHjwYAvahQ4dsbW1hT+m+zlBaBHkYHuvo6MDTAt3W1tbC5mPHjlVWVoYkTPl8wiJvb+8JEybExcXBVn31Y0OoL0kIDTq1QfFxWtGle+++lDe0tdM9fV0DX/LD2PUn846T5uj+oRO8vMf8Ux0QV1Zd/99cRFpKwrqThvz6XESEPyTuEvDuzQih74Hce8D+aGFZ/au3H1zOXoQHwfdiZEfJYeJFqFcI8bHtMZG7sHWStpIIMWVuSytd4pua4/6F607nXQovTsqqrW9s63Lbpxk1290/XbtfSiReRgb6mYpCjuYK+spDfj3xwsEQZF2RwRxCfOyYeLsEkU9fXx+iJgTd9PT0zZs3P3r0SEpKCqJdUFCQs7PzixcviNObsA40NjU1OTg4nDx5ko2NDVbLz8/fsWMHpOLOfUJkDQ0NhayoqalJNtzIkSNzc3NzcnISEhLc3NyI6X8iIyOvXLkSHR0NQ0DsdHV1peu4CNnDw8PLywviMaTWsLCwEydOZGVlQZ2XLl1ycnKqrq6G9qioqC1btkCRkIqhfkjvkIehEwjhEDvXrVsHMZ6sBkjpkLfPnDkDewEJHPp/9+4d7BSEZCgAyoDO6To+kwxJ2N3dHUZ5+vSplZUVjCItLQ3129jYPHjw4FtPKeRe6Ofly5e98gNCiFY0FIQu75i8Vm8476B/82T6+/qjtz5vOpt340Hpx+KmLm+4TyDe00x8XWvt/tErqpRIvPDyPn2c4BGzsfPUhv564oX+4VVdkJd9CD/HH5J46fBML0KomwQEBZeYLKd1FQj9noYJD9q+eNRqHek7cZ8ikz9X1DRDY01D2/0XVfDFQE8nM5RNXoJdUoR1mFDHRa2MQ2w9C/K+NBKbw9HSJNnBC6YMFeDp3hV038bMxMDBygTHQ8y9dKL4N0ZPT29iYrJv3z4IaXV1dcrKyrt27ZKUlKypqWFhYQkODobst2fPnqKiIsiK8+bN+/DhAzs7+8GDB2fNmgW5d9q0aQoKCqmpqQsXLuzOcJCEiSurIRneuXOnouLr/fMDAgKEhIQgJxsZGUEezsjIIM4PMzExqaqqQhyFx8OHD4fQCxn78+fPEJL19PSMjY2hXU1Nbfv27Y8fP4YcC99C1j1y5Ajx0VweHp69e/dqaGiQ1SAuLr5hw4Zr165B4oWhYTdh1zZt2jR16lQGBgZzc/NTp04R12YnJyfz8fFBqRCMYTUVFRWI8dChr6/vT93TC6EBiomRYZGGuKHa0KiUQv/HH/NLvt5subymNTSxAr5E+ZnHS3OMk+YYLcHOwvQ/0/Gmv2/weVCa+6Xp3+/p6JRG8i1QFxPi/dWXd7qO2xBysDJysDH31qXRAwiGXoT+IPz8/A0NDUF3/A3nL6LmuFevXISjHw6O3rmZPkK/q8FcLGa60qtnSyVnld9PKXyaUdLY/PUUbls7XeanBvj6d73xe7+e4/v/xPt1sgoNsWFCPfn9ov+ajhhYmBhZmBmYvz5gwIs4fkpWVhaEPRERESkpqZEjR6Z1gHAbGBgI7WQrS0hI2NvbQxqE5EnX8TFdeEHuwaBTpky5ceMGJFjiI8Hr1q3btm1bW1ubt7c3VALpOjs7G0I1ZF2yDd+/f19WVgYpNz09nWj58uULRGWiDOgWojKpVEA5dEFBgaKiIkTcBw8elJSUhIWFwc5aWFhAPZCcIdM6OjomJCSMGjUqPj5eXl6euNnVkCFDPD09MzMzIQPDtpCTe7DXCA1E8LqqN1lUd5Jo4pvSiKTPz96UtrR+PXNbUNpcUFoZ9rySmZFeegirpDCrlAgr33CNgBcc78s+kzYfJc61aKqYpMgvvU8E+ZaVmZGNlRHi9W95W+ZuwtCL0B+Eh4cnOjpq1iwteEy13AuJ99yZUw8fPuh88xKE0LfAQckk2cHw1dDUmppTkZJdnpJV9rGorp1iTTgSWqY5TEGa54d9trd/PRsMiRY6/5pr6emIB0yMvXWjqz8R5Ex3d3cIipB4If2eO3cuLi5OWFiYm5u7vZ3yx/X1qmN/f/+rV6/ChkJCQl1OPgRhVVpa+vXr158+fRITE+u8qLCwkJ2dHV7GIZ1Cqnz58uWjR4/gweLFi3ft2gWbvHnzhvLcbGfFxcUQQaFC4jZaACLopEmTYFB4LCsr+8P5kG7fvg0JVkdHZ8aMGXQdd/aCzDx79uz9+/fDIkizkpKSQUFBLCwsGRkZkMbpOq7KtrS0jI6OhoIhbwsKCpqamkIy/1aF8G8PJkBCqD+Dl1mV0fzwVV3X/DC1CL4yPlS1ddxnv7m1/e2nhrcd72lKTN30vuzfTcQFORaoDx0r9eOXdzIdL+z0jIwMzIwMLMzwxfgHntTtEoZehP4scFBCzdxLSry0nWYDoYGIjYVReTQ/fMHjkqrGzI/VOZ9r3sFXQQ0cyizVHDZjvDCta/yjffny5enTp9OmTauvrw8JCYmKinJxcYHXWAEBAQjAfn5+sE5tbS1xP2e6jrsTwwrGxsa6urqwGmTgiIgIsj4h086ZMyc0NPTKlStbtmwhzQME2TI4OFhBQWHcuHHw7fjx458/fw6NRkZGrKysY8aM+fvvv2GFwMDA7xQMSVteXt7KygqGIFpiYmI4ODhIN3b+IQilUBs/P7+6ujrxPiZUyMfHl5eXR/f1HhDskG+tra15eXkhukOR0FhSUtLU1LR161Z4liCZX7p0CeLxhAkTuuzf19dXVFQUong360GoL9jb23t5XVVVVVVTg39Ux44dS3nhRs9wcTAbqA6Fr9qGlhfZ5cmZ5S+yywrLGjq/SSbEy7Z05rDpCkLdf0eS4etHgv97N7NXSv39YOhF6I9DtdyLiReh3iLAzSogz6omL0DrQv5opaWlaWlpkEvpOhIvJEaIc3B8TExWBIfFjIyMRUVFSUlJxAXMoKGhobGx8dWrV5D3ysrKmpubWVhYYCtogYwKiyhHkZCQmDdvXkBAwKBBg5SUlCBVwlgQoaHnv/76izj9q6mpef369YyMDEdHR+hQX1/f1tYWCiCl2S5BPo+Pj4dgDCkXgmtubu7p06fnz59Peb1xeXl5fn4+jNX5ztJg4cKFL168gOAKlUO2hxboDZ4W6Ieu44PEOjo6+/btu3fvHnQ7dOhQaIRnbP/+/YsXL4ZFsEft7e2SkpIwOtHhmzdviLmXCgsLYcSgoKCdO3dSXpiNEDVZWVk9ePAwJCSkqaXttMuZ/PxPE5WU1DoSsIqKCul/768YxMakPkYQvuBxTX1LVn51dkFNXmHtSDGuOcpDmBjxlgq9D0MvQn8iKuReTLwIod/JqFGjILVGR0cTZzizs7Pr6uq2bdsmLS0NUXbWrFkQQb28vIj7F4iIiIiLi9N13Elh3LhxkGDv378/ffp0AwMDiMQQgIcMGVJRUaGnp0d5Bgl6MDExgRQNATUhIQFWgOQM/1paWsIxN7GOsrIyHIJDhhw9ejREzQkTJkyaNIl0OTRkWkVFRdJFwoMHD5aXl4esLiMjY2Zm5ubmdv78eSL0QidGRkaQq4WFhYk7YxFgX65evbp69Wo4xO9cG+zLpk2bIPRGRER8+PBh5MiRiYmJnU8dw9AQ1F++fEmac2jMmDHw5MBqkPNbWlqgyKVLl4qKikJmhrJhzY8fP9J1fN44KyvL2NgY+u/VnxtCP42Tk/PevbAlS4xKS0siYp40NjamJD9PfpZ4ytklOckUfrPg92LKFLWVK1cSHw341eHYmRRl+ODr17tC30Hf5cdOEEJ/Ajisgdx7wP5or+deTLwIoQENwtjy5ctTU1NJLc+fPy8vL++8DmRISLzE46amJojBxLRAEDglJSXhMYRJWOft27cQdOHFEDIeLIXVMjMzIRVDFPz8+TOspqWlRVkAJGpYlJyc/OnTJ8iWkHKlpKQ6r0DUo66uTtwjENK4dAdiW1gKQxPnWgsLC/Py8kaMGEGcoSLqgUogeGtoaBCNkDxhOPiWuJcVVPj48eNp06bBVpS1wdNSWlr67NmzsWPHsrOzk7YCNTU1+/fvh1QfFhZGWr+goABWzsnJgTyvra1NhPOioqJ3796Rrv0mzJgxoz/cSg3COTHFFK0LQbTU1tZmZm7+5m3WNZ/bXFzcpPaszDdJzxM9PdwtLTatWbOGhhWin4KhF6E/GuReLS1tyL1z53VrzozuwMSLEBroyEIvMYEtbUuiGkjsZPfQ6qbc3Nz09HQ3NzdDQ8O//vqr1wujGgy9iGT79u1R0fdv3r47+H+vag664x9yxy8kJJhWhaGfhZc3I/RHk5OTi4qKhNwLj3sl9xKJ98GDGEy8CKHfhrm5Odk5yd+YtbX1xo0bf3ar9vb2zMxMJycnePGH0NsXhSFEfRYWFh6XL2dlvVXmV+vcrjlL23rbZnhZwOkYBwoMvQj96Xox95ISr6SkZO8UhxBC/QBpYlv0LfT09LKysiYmJmpqasLCeF9x9DsoKiqCo6O9++2VVdTIFnFxcSspTYqMjPzW/Fuov8HQixDqndyLiRchhP5k8OK/YcMGWleBUO+oqqrS1p69xGS56UqzLleYrasfGBiEoXegwNCLEPrqF3MvJl6EEEII/R4aGxsNDOaqTtGw3LrzW+vM1jM4ftShra2tt2bxRX0KQy9C6F+k3Psi+fkgTq7ub1hWWhITHYGJFyGEEEIDXWtr6+LFS0RExQ7YH6VcWlVV+S4ne7yi0pAhouISEnFxcRoaGtQvEv0sDL0Iof9A7o2JuX/z5s2fuq87t4Too0cPJSQk+q4whBCirfr6+nfv3lVUVDAzMzMwMDQ2NnJxccHrHi8v73e2ioyMHDFiBNlsQ91UV1eXmJg4depUJiammpqa4uJi6KetrQ1qKCsrk5GR6emu/I+qqqq8vLzq6moWFhZ45W9ububh4YGBBg0a9LP9ZGVlwbNE13H3Y6iTkZFRQEBAWlqanZ29V0pFiDrMzM0bm1vOn7lAuai+vm7pYsM3bzLsDx83XrZito5+UFAQht4BAUMvQuh/yMrK2tnZ0boKhBDqRyDLPX78+OrVq5B4hYWF4V8IwNBoamo6Z84cVlbWb22op6fn4OCwa9euHgwKMfLy5cuTJ0+G0JuQkJCcnAz9QNgODw+Pi4s7d+7cL+zQf0OEhYWFhISwsbENGTIEkmp2djb8a2FhMWXKFNLsu90BG+7du7epqWnUqFEQ0SE8Q/SFJ8rQ0FBXV5eL6yeuHkKIhnbs2PE2M/vm7RBGRkayRfC/2myF8fjxCt43rs2erVNcUjRbTx9aTpw40bOxcnJy4LcMZ7ugDgy9CCGEEELfU1xc7O3tXVhYCLl36NCh0PLmzZvDhw9DFlVVVYVEV1RUBGGYODtaXl4OP+koIAAAIABJREFU68vIyBCf9Gtvb4elpaWlECxJp3whbdbV1UFahj7hW9h28ODBBQUFlZWVvLy8goKCcCgsIiKyf/9+dnZ22DYoKKi6ujozMxNWDg0NhdHhcFlISAiGhhgM/UPOhNGhBUaBdWBlaCeK4ebmhg67/Njh+/fvfXx8YERHR0dYB1pSUlLs7OyeP3+uoKAAxUASJkV6KAMGGj16NKRi2EH4lngLAPondaiiogIhn3icn59/7Ngx6BmqUldX/6kIjRBNHDniGBEZFRASycrKRrYIfpEtN5rz8fJcOH8efpuePn2io6Nb/OVLS2tLenq6vLx8D4YzNjaBX+oFCxbY2tr01rUb6FvwBQghhBBC6HtYWFj4+PggZ0JGhYwHUXPUqFFmZmaQLTk4ODIyMiASr169ety4cbByYmIifOvm5kZkYMh+Z8+ehSNmSKHTp0+HkAybxMXFQWAWExPLzs6GvEpcAp2bm/vx40cImSYmJnJychCMITGePn0a+o+JiXn37h0MCkfGz549q6iogD6hAAEBgejo6KysLHp6ehhCWlp65syZEMtfvnz55MkTKI+RkVFZWXnatGkw4siRI8nOKUFCht2BAj5//gzVQmETJkz466+/YAehjIsXL0LBsC3sPqx85swZCK67d++OjIyMj4+HxzAibD5r1ixIyJRPGpRhbW2dlJQEQ8MzA08gVX5WCPWQh4cH/J8PDn/Azc1DudRm59bK8tJ798KI949EREQeP340d65hQX5+YGBgD0JvREREfUNDUtrbyxfd1NSmaGtr791rC7/jvbAnqCsYehGigeLi4qtXr7a1tdG6kIEEjvmOHj3a5aEVQgj1KR4eHnV19YcPH+7ZswdSJWTLIUOGwOEpMSEtxFrIgXPmzCFWhhwbFBTk4uICj+F1HrbS0NDQ1NSEMGxnZ2djY6OlpfXmzRsfHx89PT1Ig2lpaZcvX+bl5Z0/fz6kX2dnZwifEhISlZWVoaGhx48fh1EggioqKsILIERTiKAQZSFDsrOz379/HwaaMWOGmpra69evvby8IIgaGRlBeL5w4YKQkNDatWshWre0tOzatevgwYNkoRd6hv06d+7c3r17p06dCsFbVFQUHhABFRL+qVOn4GgeGouKio4cOQJJu76+fseOHdCnhYXFly9fYC8gjbu6unb5vEHuhYLz8vIaGhr69ieE0K8JCAiw27//TkiUoKAQ5dJjjodepqY8eBBDvAFE4ObmjoyMMDFZGnr3rq2t7c+OaG/vYLl1JwRsq+27167ffOXShenTZ8BrxcGDf2P07QsYehGiATgG8vDwMDAwoHUhA0l4BzgctLS0pKenp3U5CKE/CMTL6dOnV1VVRURE+Pv7NzU1QZbT0dExNTX9/k2q4MVKQEAAsiI8njRpUmZmZkhICITbIR2MjY1VVVUfPHjw7Nkz6A0CKhcXV0ZGRmlpKaRE6Jm4JHjkyJGGhoZsbGwQksvKyqCS1NTUffv2Qdj+559/IH9Ci6CgICTM9x0gixKjb9myBcaCw/TW1tZDhw6RYjkJHLVDIyRzCM+wXxBoId7Pmzdv6dKlUB5su2nTptzc3I6TWo9hNUjXEKphNWiBWA45fPjw4RDy++ZZR4hK4Hdww4aNvrdDhkl28et8+aLb3eA7cXGxnJycZIvgl8vf/xb8zv7siPALBb+npBkiBw3i3Lxlu9lfG6w2r7O13Xv7tn8P9gJ9H4ZehGgADhoUFBSOHu3iVvjoW5ycnJYsWRIcHOzj43Pp0qUxY8bQuiKE0J+iurq6pKRkzZo1EDshcEKwhJgaFRUFizZs2PCdDSH0QpolHvPx8UE6DQsLI74VFRWFNEtak/iALjxQVlbOycnpTlUfP35MSEiACEqcVQZQ5OTJk0mhV1xcnDgxxcjISJl4ifUhwMMu6OrqZmVlvX37FlL0rVu3IGAvX758woQJcJQPQ8ADX19fKAwiLqRxCMMQ3e3s7GRkZOTl5fHWtWhAS05ONjY2uejpLSc/lnJpgP/N82dPP3kSx8/P3+Xm8Dveg2ubDx2y37xlB9k7+Gxs7Bmv0i5duvizvaHuwNCLEBow4ADr5s2bHh4es2bN+uuvv/bu3dv5QiOEEOojkHLPnTtnaWk5atQoERERaFmyZMmxY8dCQ0MnTZrUzU4geXJwcJC+5ebm/tZhdDe1tLTU1NTw8vJ2fhMQcungwYNzc3O70wME+MjIyHXr1klLS0tKSmppaZWWlu7evfv69esqKipKSkqqqqr37t2D9ujoaOIWtfCqu379ellZ2Tdv3iQlJaV0sLCw6LJ/CNUQkuEZw9dq1D9lZmYaGMw96eKmrKJGuTQmOuKg3Z6HDx+IiYn14qDPnz/Pys5aZLSUrD048Db8suC7SH2ki1v5IYRQf2ZmZvbPP/9kZGSMHz/+6dOntC4HIfT7a29vf/36tYeHB2RCooWBgYGJiam1A9FSVFTU1NQEDwoKCkiNsCHpZQq2hYRJfAy4VwgKCiooKEDitbGxcepgZGQEoZeHp4vb8Hxrv+D4++bNmxUVFUQLfQfSVO0bN26EVODl5QXH4tOnT4cW2Ed/f39FRUV7e/tDhw4ZGBjcv38/PT29y/4hKsNTQdzg+lf3FqHelp+fr60928bu0CxtXcqlz58lWG1eFxwcJCsr27vjHjpkv9FiG+WUSC6nnPbu/enPBqNuwjO9CKGBBw6/4KgrMDAQjvAMDQ0dHR0pP2mDEEK9RUJCYsmSJZcvX4bwRpyHSUtLe/Toka6u7sSJEysrKyF/RkREwNKamhpItsR0QXQdN7KC4Hft2rUhQ4YkJSV9+vTpWydFvw9S6IMHD2Bo4vi7qqoqMTGRm5tbTk4uKCjI3d198uTJ5eXlfn5+8IDyhn/E/bRkZGRgRzq3jxs3TktL6+7du5DhlZSUoAUiOuza8uXLiQlUJkyYACPevn0bEq+kpCRdx1SlkIFhdNgR2M2PHz8KCQmNHTu2uroalubl5cH+0nWc483Ozk5JSZk3b56ysjKe6UX9TVlZmZaWtvm6TYspzriCN6/TzVeaeHvf6P6lHN0Ev1/JyUnnLl4jaw8PC2FnY9PW1u7d4RAJhl6E0EAFx1KamprW1tby8vLnzp3r8hNrCCH063h4eBYsWAC5LjU1FYIrMSmuqqrqihUrRDosXbo0OTn5zp07jIyMcJQMOZC4BxUcwkpLS0M8bmlpYWZmNjAwgJa6ujpYDfIq0fngwYMhqRLT/xLgMSsrKww0ZcoUop9Zs2YlJCTcuHHDysoKYmpmZqabmxu8+hkbGzc0NMTHx6enp0OfUlJS8KoIo0NJ6urqvLy8RIeQVO3s7DZt2kQWeiGrm5iYQG0QUF++fAnRFOLxwg6k08UqKirQP+wpMVMLGxvbvn37bt68efHiRUi248eP37Vr14gRI3JycmDHP3/+/OTJE1itoqIC8vDUqVOXLVsmICDQ5z8hhH4G/A7q6c3R1tVfu34z5dKPH94vXWJ49qzrzJkze31oB4fD6zZZMVO8DXT6pNN+u729Phwi+e8KFoQQ1fj5+QUEBPj6+tK6kIGEnp7exsbGwcGBchEcUP71118TJkxwcXGBYzjq14YQ+s1AAly+fDlE3M6NEOTevn1bXFwMR8zDhg0TFxcXFRUlFpWVlUHGg5gKWRHaYR1FRUVIoc+ePYN1YBG0iHeABAgxFdYkMipdx2lb+FawA3wLQ0D4FBMTKy8v//DhA9EPHK0lJiZCyIRgycXFBSkUHkP6hcAMPUO1UBsMLS8vT3zkmKhn+PDhxFUwra2t/v7+48aN63IqlKKiIli5oKAAAjYEZqgKuiUtdXV1vXz5MrzMki5Rhgj94sULWB+eB6gHEi801tfX5+fnV1ZWdu5ZRkam+9da9x8tLS0cHBzExero9wP/gefM0R8yVNzpZBdTbZUUFxvqae7caQ3HFb0+dGZm5tSpGokvMtjZOTq3P3wQbb/f5uXLtF4fEZHgmV6E0IA3bdq0tLS0AwcOEPfEXrFiBa0rQgj9Vo4fP04WgX44T09kZCRZy6tXr3owNFk/8FpHekx5k2cIxpQ9SEhIQIA3MjL61hBCHYjLmzuDyP369evAwMAlS5awsrKS2pmZmSdPnky2Mjs7O3FFNEL9WXt7+/LlpmwcnEdPnKFcWl1dZbLYYPXq1X2ReOk6TvOar9tIlniBy0knW1ubvhgRkWDoRQj9DuCA7MiRI8bGxmZmZt7e3hcuXBg2bBiti0II/SYyMzMbGhpoXUUP9fiavrKyMmdnZ05OzkWLFkHQ7d2qEKKJjZs2fSkqvn4zkGy6INDY2LBi6cJZMzX7KH++f/8+LCwsPpn8za/E+CfFRV++87YU6hUYehFCv49x48Y9e/bs5MmTkyZNsrGx2bJlC+VfNYQQ+lnu7u60LoEGpKWld+zYISwsLCkpia+l6DdgZ2eXmPj8dnA45Zs4ra2tf61eLiMtDYcQfTT6EUdH01VmXFzcZO3OJxxtbPbgr1hfwymLEEK/FQYGBjhKS0hICA0NVVFR6dn1hAghhLi5uWfOnDlmzBjiZloIDWhnzpzxvenn7RfEwTGIcuk2y/XMTAxXrlzuo9E/f/58y+/Wug2WZO2pL1Le5WQvX768j8ZFJBh6EUK/IWlp6ejo6HXr1s2aNWvfvn14PxKEEELoj+Xt7X3s+HG/gLt8nW7SRvL3vt0Fnz7cuuVHOXdubzl27JjxMlNePj6ydueTjrt27cT3lagAQy9C6Le1Zs2a1NTUN2/ejBs3jphFAyGEEEJ/lHv37m3fvsPnVvAQ0aGUS11OOT2NexQaGsLGxtZHBZSUlHh5XV2/yYqs/XXGq9QXKWZmZn00LuoMQy9C6HcmLCx869YtR0dHY2PjTZs2VVdX07oihBBCCFHJ06dPV61a7XnjlswIWcql169evul9LSIinJub/KO2vejUqVPzFiwWEhIma3c5dWz79m0sFHP2or6AoRch9PszNDRMT09vbW0dM2ZMaGgorctBCCGEUJ979erVggULz164Ml6RfEYuEBoSeOrYkaioSGFh8jjaiyorKy9ccN+8ZTtZ+7uc7Cexj9avX993Q6POMPQihP4I3Nzc58+fv3bt2o4dO4yNjYuLi2ldEUIIIYT6Sl5enq6unsPRk1OnzaBcGvvoge3OreHh96SkpPq0jNMuLrN154gOFSNrdznlZGFpwcFBPmcv6iMYehFCfxANDY3U1FRpaWkFBQUvLy9al4MQQgih3ldUVKSlpW25baf+3PmUS1NfpGxatzog4PaYMWP6tIza2lrXM64WVtZk7Z8+foiODLe0sOjT0VFnGHoRQn8WVlbWw4cPh4eHu7q6zp49Oy8vj9YVIYQQQqjXVFVVzZ6ts9h42YpV5pRLc7IzVy5b5Ol5RU1Nra8rcXNz05iuKSU9nKzd9fSJ9evX9ekHiREZDL0IoT/RuHHjEhMTtbW1J0+efPLkyba2NlpXhBBCCKFf1djYaGAwV1lVfcu2XZRLPxfkGy8yOHHiuK6uLhUqOXnylOVW8tO8X74UBgfetrIiv5kz6lMYehFCfygGBobt27dD9L13756KisrLly9pXRFCCCGEeq61tXXJEiNh0aF/OzhRLi0vK1uyYI71jh1Lly6lQjGXLl2aoDRJdpQcWbubq/Pq1av4+fmpUAMiwamQEUJ/NCkpqaioqCtXrmhpaZmbm9vZ2eHkAQghhNBAZGZuXt/Y5OZxg3JRXV3t0iWGxkZLLKjySdqWlhYnp2MeXr5k7RC8/Xyup6e/okINqDM804sQQnSrV69OS0vLzMwcN25cbGwsrctBCCGE0M+xtrZ++zbrkqc3IyMj2aLmpqbVy5eoqEw+ePAgdYrx8vIaMVJ27LjxZO3nz502MjYSERGhThmIBM/0IoTQV0JCQn5+fsHBwcuWLZszZ46TkxMXFxeti0IIIYTQjzkePXovPOJOaBQrKxvZora2to3rVosIC511daVOMTDikSOOp1zdydqrqiqve11OSUmmThmoMzzTixBC/5k7d256ejo8kJeXDwkJoXU5CCGEEPoBDw8P9wvuPv4h3Nw8lEt3bbdorK+9du0qPT09derx9fUVGSI6WVmVrP3yRTc4zJCQkKBOGagzPNOLEEL/g4uLy83NLTY2du3atdevXz9z5oyQkBCti0IIURUTE9O7d+9mzpxJ60IQDbS3t8N/AFpXgbrrzp07dnZ2d0KjhYSEKZceOWSX+SYjJuY+MzMz1UpycDh8gOJOWnV1tZcvnn/yJI5qZaDO8FcaIYS6MHXq1NTU1IMHDyooKDg6Oq5atYrWFSGEqGf06NHh4eFNTU20LgTRBh8fH61LQN3y4MGD9es3+N4OGSYpRbn0wjmXqIiwuLhYDg4OqpUEIZxjEKfGNE2y9qtXLmlqasrIyFCtEtQZhl6EEOoaKyurg4ODkZGRubn5jRs33N3dpaS6+JuKEPotTZkyhdYlIIS+JyUlxdjY5OKVG3LyYymX+vlcv3Lp65lVKr+FYW/vsNXahqyxqbHxwrnTUVFR1KwEdYaf6UUIoe9RUFBISEjQ1dVVVlY+ceJEW1sbrStCCCGE/nSZmZn6+gYnTp9TVu3i/anI8LtH7PdHRkaIiopSs6p79+41t7RozdYja79x7crkycry8vLULAZ1hqEXIYR+gIGBYdu2bYmJiRERESoqKmlpabSuCCGEEPpz5efna2vP3rPvIGW8BInxT3ZYbbp7N3TEiBFULsze3sFy606yxpaWlnOup/bt20vlYlBnGHoRQqhbpKSkIiMjN27cqK2tbWtr29jYSOuKEEIIoT9OWVkZJF6zvzYuMV5GuTT9Vdra1cv8/G4qKipSubCHDx8Wl5Toz51P1n7r5g250XJKSkpUrgd1hqEXIYR+wqpVq9LS0rKzs8eNG/f48WNal4MQQgj9Qerq6vT05mjN1vtrgwXl0rzcd6bG893dL0ybNo36tR06ZG9hZU02MVJbW5ur8/G9e22pXw/qDEMvQgj9HCEhoZs3bx47dmz58uXr16+vqqqidUUIIYTQ76+5uXn+/AUjR8nt2XeQcumXL4XGC/Xt7e0NDQ2pX1tiYuK73HcLFxuTtQfd8R86dKi6ujr1S0Kd0be3t9O6BoT+OH5+fgEBAb6+vrQuZCAh3joVEBCgdSH/gbhLzGhy9OjRnTvJP8ODEEIIod4CmcXEZGldQ9MFj2sMDOTn7SorK+frz1q5csVOa2ualKevbzB9lo7pSjOy9hnqE11OO8+aNYsmVSESnLIIITQwLFu27MaNGyUlJbQupAuurq4YehFCCKG+s2nz5s+FX27cDKRMvA0N9abG8/Xn6NEq8aampr7458V5jxtk7WGhwVycnJh4+wO8vBkhNDBcv369vV+6cuUK/j1DCCGE+s7+/fsTEp5due7HzMJCtqilpcVspcmYMXJHjx6lSW10HTdt3rDJirI2l5NH8dO8/QSGXoQQQgghhFA/5erq6uN709svaNAgTsqlWzat5RrEcdHdnfqFEd68eRMbG2u6ivzC5pj7kW1trQYGBjSpCpHBy5sRQgghhBBC/ZGPj4/TsWNBd+/zDR5MuXTv7u2lxV8iIsIpr3mmGgeHw+brNrGxsZO1u5x0srW1oUlJiBKGXoQQQgghhFC/Ex4evm3bdv+ge6JDxSiXnnBySElKfPToIQvFdcVUk5ubC0UmpJwga49/ElteVrp48WKaVIUoYehFCCGEEEII9S/x8fErV67y8vaXGSFLudTT40JQwK0nT+I4Obu45plqjjg6rlyzlpOTi6zd+YSjjc0esjl7EQ1h6EUIIYQQQgj1I+np6fPnL3C9cFlxwkTKpYEBt866nIyLi6XtRIb5+fkBtwOePn9J1p6S/Px9Xu6yZctoUhXqEoZehBBCCCGEUH+Rl5eno6Nr73hCY5om5dIHMVEH9u6KibkvISFB/do6O3bsmMnyFTy8vGTtp08e3b17FyMjI02qQl3C0IsQQgghhBDqF4qKirS0tC23WhsYLqBcmpz0zHKDeUhI8OjRo6lfW2fFxcXXrl1/HP+CrD39VdqrtNTgwACaVIW+BacsQgghhBBCCNFedXX17Nk6i4yWrli9lnLp2zcZa0yNrl+/pqysTP3ayJw4cWLBIiMBQUGy9tMnnXbs2E7De2uhLuGZXoQQQgghhBCNNTY26usbTFaZYrV9N+XSTx8/LF1i6OJyWltbm/q1kamoqLh0ySP6UQJZe052ZmL8E1/vazSpCn0HnulFCCGEEEII0VJbW9uSJUZCIqIHDx+jXFpaUmK8UH+vre2SJUuoXxslZ+fTunMMhogOJWt3Oem0ZYslOzv5nL2I5vBML0IIIYQQQoiWzMzN6xubzl26TrmopqbaZLGBqanp+vXrqV8YpZqamnPnzoVGPCRr//A+73505EV3N1oUhX4AQy9CCCGEEEKIZnbu3Pn69dubAaFMTOTZpKmxceXSRdOnadjZ7aNJbZQg8U7XnDlMUoqs/azLiY0bN3Bxkc/Zi/oDDL0IIYQQQggh2jjq5BR2LzwgJIqNjfyq4La2tvXmK4ZJiJ8+fZomtVFqaGg4dcr5VmAYWXth4eeQoDtZWZk0qQr9EIZehBBCCCGEEA14eHicdzsfHP6Ah4eHcun2LRvo2lu9vDypXtc3ubu7T5ysMmLkKLL2cy4nzczWDB48mCZVoR/C0IsQQgghhBCitsDAQDs7u4CQKCEhYcqlB/fbfMh7FxUVSXnNM600NzcfO3bc84Y/WXtpSYm/n09GRjpNqkLd0V/+DyGEEEIIIYT+EA8fPly3br2Pf7CklDTlUtfTJ2If3o+Nfdyv7oTs6ek5Sk5+zFgFsvYL506bLDURFu4iuqN+AkMvQgghhBBCiHpSUlKMjIwvXrkhP4Y8QALv657e1648eRLX5TXPtNLa2uroeNTFzYOsvbKy8sY1z3/+eUGTqlA3YehFCCGEEEIIUUlWVpa+vsFx57PKqlMol4aFBh93tI+NfSwiIkL92r7Dx8dnqJj4xEnKZO0e7mfnzZ8nJiZGk6pQN2HoRQghhBBCCFFDQUGBtvbsPXv/1taZQ7n0Seyj3Tsso6IipaW7uOaZhtrb2w8fPnLoyAmy9tramiuXLsTHP6VJVaj7GGhdAEIIIYQQQuj3V15erqWlvdp8/RKT5ZRL0/55sWHtytu3/RUUurjmmbZu377Nxc2jrjGdrN3Tw11LS2v48OG0KAr9BDzTixBCCCGEEOpbdXV1urp6s7R11220pFyak5O1ctlCD49L6urq1K/thxwcDlvvsSNrbGxsuHje9f79aJqUhH4KnulFCCGEEEII9aHm5ub58xeMHCVnY3eIcunnzwUmiwyOHj2qr69P/dp+6O7du23t7TO1dMjar3tdVlVVlZOTo0lV6KfgmV6EEEIIIYRQX2lvbzc1XcHCxnH0xBnKpRXl5cYL9bdaWZmamlK/tu6wt3ew3LaLrBFivNtZ5+CgIJqUhH4WnulFqF/IzMzcuXPnmDFjhnVYsGDBo0eP4I9EX48bFBQEw/3999/fX+3SpUuysrLD/te0adMyMjL6usLuKykp8fPzo3UVCCGEEPofmy0sCj4Xurl7MjCQR4+6utplRvMWLVxgZWVFk9p+KCYmpryiQt9gHlm7n+/1sWPGKioq0qQq9LMw9CJEe5B4N23a5OzsDBlSS0urtrY2ODhYV1cXcm9fD11XV/fhw4fy8vLvr1ZdXf3x48cP/ysuLm7lypXp6el9XWR35OTkSEpKnjt3jtaFIIQQQug/Bw4cePo0wfPGLWYWFrJFzc3Na0yNlJQU7e3taVJbdxw6dMjCypqssa2tzdX5+N69tjQpCfUAhl6EaA9yY35+vpycXFpa2qVLl0pKShYuXNja2vrgwQNal/Y/9u3b1/7/Pn36NHHixC9fvrx4QfvZ2JuamhITE2tra+HPJ61rQQghhNC/XF1db3j7ePsFDRrESbYIjiU2r18jwD/4vJsbTWrrjqdPn75//2HBIiOy9gD/m8OGSaipqdGkKtQDGHoRoj1GRkZ6evq2tjaIbVVVVQ0NDVZWVocPH96/fz8sbWlp8fPzU1ZWZmdnFxISWrlyZVJSEvypgPV9fX2HDx/OxsbGyso6atSo48ePQwqFTdTV1aHDDRs2cHNzwwOIgtXV1Tt27GBhYYFOeHl5169fD6OQCsjLyzM3N4dOoBJLS8uCgoIu64QRG/8fAwPD2LFjodtXr17BIgjtR44cgRqg/xEjRhw8ePDjx49E8R4eHuLi4lCkqqrqtGnToIZZs2bBIthTqG3kyJFE59HR0fCttrZ2Tk4OBP779+9raGgQuzZ//nyI1tAIO+Li4iIsLMzeAWoIDw+HxBsaGgpPC3SSkJAgLy/v7+/ftz8whBBCCP2Ij4/PUScnv4C7g/n5KZfu3rGltrrS2/sG/PWnfm3dZG/vsNlqB+VV2Wecj+3bt48mJaGewRtZIUR7kNMgKELMU1NTg2C5Zs2amTNnLl26FDIeRL7CwkITExNJSUlIlZAkL1y4kJ2dff78eci9t2/f5uHhWbBgAWTLkJAQa2trGRmZefP+/djJlStXBAQEIOLCYwiTKSkpRkZGMNbjx4/v3r3Lz8/v4OBArBkVFQUrbN68GdLjmTNnlJSUTE1NKV/iocL6+nricUVFhaenJ5QNaby4uNjV1fXkyZMzZsyAOB0TEwOJHcbduHHj9evX7e3tIcxv3br18+fPwcHBUOp33hkVFBSEGB8bG3vgwIHKykoI/3V1dbAVPBteXl7p6enwJEhJSenp6UGed3JyMjMzCwgIgLGg/rCwsGHDhsGT0A/n90MIIYT+KOHh4Vu3bvMPuic6VIxyqaPDgYxXqQ8exDAzM1O/tm568eLFy1cv3T19ydpDQwL5eHk1NTVpUhXqGQy9CNEexLwTJ05cvXo1MjISYi0kTwhz2j52AAAgAElEQVR448eP37lz56JFi2ARBwfH2rVrly1bVlBQkJ+f//z5c0iwc+bMWb58OTs7+5gxYyBVQntOTk7nblVVVSEVDx48GJJqQkICxONr165BO3Tl5+cnLi5OWtPQ0PDYsWNDhw6FIJ2ZmQk1VFVVEWm5M+jk3bt3sA6kXCYmJmlp6RUrVsyfP//ly5dQz+jRoyGuQ+6F5AlBHSKohoYG5NW8vDwPDw/I7VDqypUrfXx8vv9sQCqGgeLi4mxsbIjbWkBa9vf3//DhA2MH2B0I81OnToVdEBISgtQN60hISMCIQ4YMWbVqVW/8TBBCCCHUQ/Hx8StWrLzqc3vEyFGUSy+dd40IC4mLix00aBD1a+u+Q4fsN2yyoozlLiePHnbovx9CRl3C0IsQ7ZWXl7OxsW3dunX//v2QEktLSy9evJiUlOTo6Lhw4cLk5OTm5ubY2NjGxkYIt0VFRU1NTbAUkir8tYBw6OnpCUn17du3ZN1qaWlBt/AAVu7czs/Pv2HDhs4tEB0h8ZK+hTRLmXiBmJjYgQMHYHRnZ+cvX75ACCdCaW5uLsR1UVHRkJCQ169fQ0Zta2urqamB5ExsSFz2DA8gyd+6dev7zwYkasi38CAxMZG4MVVJSQkMDXsKAVtBQSEjI8PS0rK1tVVRUXHdunUyMjKQdbv1RCOEEEKoj6Wnp8+fv8D1wmXFCRMpl/r7+Vy8cBYS7+DBg6lfW/fBwQZEd+dzHmTt96PCGejp58yZQ5OqUI9h6EWI9sLCwh48eDB69GhTU1Pi4mR5eXltbW3iHlF8fHwMDAwCAgLDhw+HpAcBr6GhQUlJKSYmBrIfKyvr4sWLZ8yY4eXl9eTJk87dQjsHBwc8IPu7AnH0+fPnECNHjBjxU3WuXr3azMwMAi2UB6VCMoc0a2xszMzMzMnJCZVA7oUiIT9LSUkxMjKKiIgQG1ZXV0Pl0FJZWfnDeZigH+KtXygbeoMHXFxc0IO6ujoMt23btuzs7PDw8Pr6+pSUlE2bNuXl5R05cuSndgQhhBBCfeH9+/c6OrqHjhyfNn0m5dLoyHv2B2wfPXoIByHUr+2nODgcXrt+MysrG1n76ZNOtrY2NCkJ/Qq8kRVCtNfS0gKh19XV1dvbG4Lu06dPHz16BI1ycnL09PTTpk2DdSAHQtCFEFhYWAjRUUJCoqysLD8/X01NDcItJOHv3AcCMqqgoCDETkjFr169unXr1vz5893d3XtWLSTwyZMn79q1C7K3k5PTx48f4U+XqqoqFAApF4rk4eGBv3lQMC8vr7i4OOTh6OhoCKivX7+G3SS7wTJkV9jfly9fpqWlES2QdaWlpYnN4RmQlZWtqKiAPYUsDT1A8XV1dV/vBnnjhqKiIkRoeEIghxOzLkFvOTk5pDPMCCGEEKKa4uJiLS1ty63Wc+ctpFz6LDF+m+WG0NAQ0j0s+y04loiKilpl9hdZ+5PYR9VVlQsXdrF3qJ/DM70I0d7s2bPj4+N9fHy2bt06ffp0SLOQ7vj5+e3t7SFhzpw509PT89q1awUFBRDtEhMT586dC4EQVoC0GR4eDgmTg4Pj3bt3dB1XSjc1NRHdwt8eCMnE/ai2b99ua2u7fv16SMvQOURKGRmZb9UDIbOxsZGVlZWsnbg1NGBjY4NX/NDQUOIK5E2bNpmYmBw4cODs2bMQ16F/yKUKCgrs7OzLly+PjY2FpAphGzqEUklneon7P799+xY2hx0h7vYMQRoiKyRnDQ2NwMBAWAq7Ax1C8of1mZiY/vnnn4cPH3748AFqgCQsKiq6ZMkS6BNqput4g/nYsWOmpqZTpkzp5R8SQgghhL6turpaW3v2gsXGK1avpVyakf5y7aqlPj7e8Cee+rX9rCOOjpB4KadZcj7haGOzpz/fbhp9CyMcp9K6BoT+OOnp6RDkFi1aRHzLyckJqQ9CHcRCSJvMzMwTJ05cunTpypUr4YVVQEAAoh38LYHMCalPU1PT2NhYUVGRi4uLm5u7vr4eEuaYDhBlR4wYISsrm5aWBp1oa2sT3cIQampqJR1gfWFhYegcsiL0UFhYmJWVpa6urqKiAqu9efMG0iN8C52wdJpEHsLk58+foXNitiG6jsgKcnNziWoh4vLw8EBcLy0tFRERWbZs2YIFCwQFBYmbYxUVFUGUheGgBxgCEumMGTNgc9gvKL6trQ2i+IQJE5qbmyEGq6qqQiCHIiG0E1EWWtauXQuLIMMTuwxPIAwNT9fmzZshb0NXsO/Z2dmQhOEpGj9+vLS0NNV+mpDD4fkxNDSk2ogIIYRQvwJHL3p6cxTGK9nYHaJc+j4v12jhnLOurnp6etSv7Wd9+vTJymrrWXdP4sYoJEnPE/18rrm7X6Cc3gL1f/Q//HwdQqjX+fn5BQQE+Pr+z03wIdNCkCOmzxUXF5eSkiK9qra2tsIieBWG119oh0BItEMSfvfuXXl5OaREdnZ2WIeDgwPyHiTqyspKYmpfUv/QSWxsLF1HxoaYSjRCHM3IyIBsTJz4zcnJ+fjxo5ycnJCQUOfaYGjoHKqSlJQkNdbW1j5//hyGgJJg/ZqaGlgHQi8fHx+0QDolrfnixQuoB0YJDAy0s7PbsWPHwYMHSfsFNUDNkGBTU1Nh10aPHk1sBYsgTMIDsnry8/NhUUtLCzyePn060QjfwlNRUFBAqqdnP5oe8PT0fPz48eXLl6k2IkIIIdR/tLW1LViwkJmV3fV8F38Ki4q+GOpq2tjsMTc3p35tPWBhacnAyEqZ3k1NFixeOH/t2i7OY6P+D0MvQjTQZej9E5w6dcrW1nbhwoXE5Em/Bwy9CCGE/mSr16z5lP/Z8/otJibyD05WVVXO19datmzpnt27aVLbz/ry5YucnHxswj/8AgKd21+9TFu1bNG7dzn9eWJh9B34mV6EEPUMHz5cT09v/PjxtC4EIYQQQr1g586dr1+/vRkQSpl4GxsbVpgs1NWZPVASLzhx4sSiJSZkiZeu49O81tY7MPEOXBh6EULUM2XKFBkZGQGKvyUIIYQQGnCOOjndDbt3JzSajY2dbFFra6v5qqWysiOOHTtGk9p6oLy83MPjckzcc7L2rMw3Sc8Sbt30pklVqFdg6EUIUQ9/B1pXgRBCCKFfdfny5fNu54PuxfDw8FAu3bJ5LTsri8elS9QvrMecnZ31584TERlC1u5yymnrViuy+1qhgQVDL0IIIYQQQugnBAYG7tu3LyAkSlhYhHKpnY110eeCyMgIRkZG6tfWM9XV1efOuYVFPSZrf5+X+zDm/uVL7jSpCvUWDL0IIYQQQgih7nr48OG6det9/IMlpbqYIND5hOOzhCePHz9iZWWlfm095nr27MxZ2hLDJMnbTx/fuHEjJyf5nL1oYMFpphDqF0pLS2/fvj1jxgxxcXEdHR1paWkNDQ1XV9eSkhLKlRsbG3ft2kWa2qdLUVFRysrKPj4+PSimvb09Kytr+/btQ4cOZekwceJE6Kq+vv5nu4qIiIBtmTsw/T94/OHDhx4UhhBCCCHaevHihZGRsfvl6/JjFCiXXr1y0f+md0REOBcXF/Vr6zE4wjntfNpiqzVZ++eC/LDQ4C1bLGlSFepFeKYXIdpra2u7evXq2bNnHRwcjIyMiMbXr1+bm5unpKRA45AhQ9o7ECtDaDxy5Ai0d+6htbWVgYGBnv7rPGSMjIyzZs3S1NQkZvqFRdBOrAZLf3jvwXfv3u3Zswdy74EDBxYuXFhYWOjs7Lx+/XoFBQV5efke7KCXlxc7O3tmZibxLcRg0lTDCCGEEBoo4Nhgzhz9Y6dcVdTUKZeGBAW4nDoWG/tYSEiI+rX9igsXLiirTpEZIUvWftblpLm5GR8fH02qQr0IQy9CtJeUlBQZGbl8+XJS4gWjR4+2sLDYvXv3+/fvRUREnj59Wl5ezsTEFB8fD2m2trY2IyNjx44dEGjz8/MfP36cnZ0tJycHr8sQWWfPnt3c3BwREaGurj5+/HjInGxsbIMHD05LS4NOLC0tIUV/px4YEfqElGtmZgaxGTbcsmVLamqqr6/vrl27YGgYhYWFha7jnHBZWRlUxc3N3dDQAItgXGiH4aCl8yd55s+f32fPH0IIIYT6XEFBgbb27D17/56tq0+59NHD+3t3b79/P1pSUpLqpf2Spqam48dPXPW5TdZeUlwc4H/zzZvXNKkK9S68vBkh2oM8WVFRoaGhQdYOeZWHhwciKyTVZ8+eLVmy5NKlS2/fvoUwGRMT4+7uDpkTcqyhoaGbmxu8ZJ86dWru3Lk3btz4+PFjbm6up6cnBGPo5+bNm6tXr4alLS0t8FhMTAw6pOu4QklKSoryEmgODg52dvaUlBQorKSkBKIsJPDLly/v3buXk5NzwoQJwcHBxJqlpaUwIrTDA1dXVwMDg2nTpk2aNGnnzp2vXr3q+2cOIYQQQtQARw5aWtqrzNYtMVlOufRFStLmdWvu3Ano2RVhtHXlyhX5sQqUV2ufP+e8fPkyQUFBmlSFeheGXoT6r1GjRnX+SAwbGxsEVF9fX0iVREtNTc2jR19vFAH59vDhwxCJ58yZ02VXSkpKEIxtbGwCAgIguEIAhkZRUVF7e3sTExOylVVUVPT09CBXm5qaWlhYQLpOSEiAlYmzuxDOnZyc6DpO8xYUFGRnZ0+fPj0rK8vR0XHWrFmZmZlQJD09/b1790gdfvjwIbUTyOe9+jwhhBBCqA/V1dXp6c2Zqa2zftMWyqVZmW9WLVt89aqXqqoq9Wv7Ra2trY6OR6227yZrr6yo8Ll+defOnTSpCvU6vLwZoQED0ibx0VwS+CP09u1bCQmJESNGwLfy8vKwjr+/P+W2cnJyHBwcdB1nj0lXHQsLCy9btqzLsXbs2KGmpnbhwgXItMnJyQ4ODhs2bFi/fj1EX319/VWrVuXn5/Pz80OQFhMTW7hwIazDx8cHjUlJSSIiImvWrOn8yeErV66EhISQvoXcLi4u/svPB0IIIYT6XEtLy4IFC2VGjrK1s6dcmv/po8niuadOndTR0aF+bb/uxo0bwySlJihNImu/eMF1wcIFQ4cOpUlVqNdh6EWI9iCOMjExVVdXk7WXl5c3NzcLCAgQMVVRUZG4MVVnkDy/fxvnHsjJyWltbZ04cSLkXvg2Jibm8ePHkG8HDRpkaWkJORki8cmTJw8cOPD8+XNinWHDhpmZmd28edPU1BSC8bx58zQ1NRsbG4kO9+/fv3Tp0t4tEiGEEEJ9rb293dR0BTMLm9NJV8qlZaWlRgv1d+/aRXnV2IAAe3f48JEjx06TtdfUVHt6uD97lkiTqlBfwMubEaI9iJfi4uJhYWGdJyiqr6/38PBoaGgwNjbm4eHpckMIwzU1NYGBgcRkQrW1tRUVFb9eD2TXw4cPQ/QlvoX4CvlWXl4+JCSkrq4OWhYtWgRJ+O3bt7m5ubq6utDCycmpr6/v5OS0Zs0abm7u+Ph4Ozu7vLy8Xy8GIYQQQrSy2cLiU36B20Uvyrfda2trTBbPXbbUZNOmTTSp7dfdunWLbzC/mjr5TVWuXLqgo6MjJSVFk6pQX8DQixDtycrKGhgYPHv2zNnZ+eXLl+/fv3/9+vWdO3d8fX3nz5//nTstQ9ScPHlyVVUVxNHs7GxIv5Ccuz9uU1PTp0+fIDaTtSsoKHz58sXf3x/+JVqSk5OZmZnl5OSIi5Y3b96clpYGwVhRUVFPT4+u41O7Z86caWlpsba29vHxGT9+fF2Hn34uEEIIIdQ/HDhw4MmTeC9vf+aOm3p01tzUtHLpInV1NViHFqX1DgeHw5bbyD+129BQf+nCWVtbG5qUhPoIXt6MUL+gra1dXFx848YNCL1CQkKQYyFwTpgwYfXq1YMHD4YVeHl5SemUnp5eQEBg2LBhbGxsU6ZMefjw4fXr1+Pj43Nzc2FDWETXccm0uLg4cR8sUVFR6JOJ6d/fd2lpaX5+fniQn59/6tQpIyMj6KRzMSoqKpC6IfRWVFQQ105DjoXNoZhBgwbRdaR0iLsREREXL14kNmlra3v37p2bm1tBQQHUAPsCfUKFRUVF1HkCEUIIIdSLzp49e8PbJzgsZtAgTrJF8Ed/w9qVYkNFz7i40KS2XhESEsLAwKg5U5us/Zqnh7q6+qhRo2hSFeojjAP67RmEBqj09HRIlYsWLSK1QEZVVlaGtNne3l5YWKigoGBmZrZixQrSjfIhbcLfGIig9B24ubnl5eUhvjY1NUH+nDRpEuRbHR0dyMYQO+GBpKQkZE5Yh4eHh4+PDzqEDEzkXuhz4sSJEIMrKyshKo8ZM0ZCQqJzeVAMvNbDiBC8nzx5Ul5eDl1ZWFjAVqTbU0Fgfvbs2ZEjR2BE+BZGh2I+fvwIjfCvqqqqvr6+mJhYa2srJHPY8PszAw9o//zzz/v37w0NDWldCEIIIdQ7fHx89h84cDsoQlhEhHLpDquNNVUV/v63SLfGHIhWrFi5aYv1iJGynRubm5rWmZu6X7gg0tWOo4GLHo6waV0DQn8cPz+/gIAAX19fuo6bIqalpfWsn/r6+tjYWIjQM2fOhIwKcTc4OFhUVHTNmjXf+hgwCUTf7txC+eXLl0OHDiXONncGmRzC+d27dzs31tXV5ebmQrSWlZWl+2N4eno+fvz48uXLtC4EIYQQ6gURERErV67yD7o3YmQXZzvt/7ZNfpZw/340Ozs79WvrLdHR0ZZbrB7EJZG1X/PyeBgdHhoa0uVWaODCy5sRorGioqIe3+W/vb29ubkZoi+kaHr6r+9hwb/wRwj+XP1w2xUrVhw/fvyHq40dO5asJS4uLjIy8tGjR9euXSNbxMHBMRBnpUcIIYQQISEhwdR0hZe3f5eJ183V+UF0ZFxc7IBOvODQIXsLK2uyxtbW1rMuJ3y8vWlSEupTGHoRojFRUdFf+eBrQ0PDixcvoqKi8vPzhw0bZmho2NexE/7OpaSkWFlZDcQ56BFCCCH0Lenp6fPmzT9z3oNy3lrge+Pq1SsXnzyJIz7ZNHDFxcXBUdO8BYvJ2m/f8pWWklZRUaFJVahPYehFaGBjY2NT7UC1EZWUlOzt7cePH0+1ERFCCCHU196/f6+jo3vw8LHpM2ZRLg0PC3E6cvDRo4e/wU067O0dNlvtIJuEqb29/YzzMfcL52lVFepTGHp/rK6urqpDW1sbqZGbmxvCBuUHHX9FS0tLcXFxZWUlWTv8TpKGFhcXJ26fixANYeJFCCGEfidwCKqlpW1htcNw/iLKpfFPYndus4iICJeRkaF+bb0rOTk543WGx7VbZO2hwXcEBQSmT59Oi6JQn8PQ+wMQQUNCQoKDgx8+fEjcNZeu4+5B6urqY8aMsbCwEBMT662xCgsLbW1tr169ys7ODqGa1D5p0qTnz58Tj318fGbMmNFbIyKEEEIIoT9cdXX17Nk68xcZrVzzF+XSl2mp68xMb93y+z3e8j50yH7j5q2keRxJXE45HXU8QpOSEBVg6P0BT09PR0dHSKF6enrKysrEfC1JSUkPHjyIjo5++/att7c3BwdH7w6qoKBgbm5O+hb6J82GMmLEiN4dC/UTnz596nwpAXE/qv9j7y4Aokj7MIDvLt1loKAIKEiDhY3dXRinnqJiYmL7nV2cGNiJeSZ2KwYoIipSiljYASqdG99fRrm9pXNgeX4ft9/uu7Pv/HeZxXkm3lFXV5fPcjn4fIqLi6OXi0SixAxVq1Zlt5+cfPny5fPnz3w+n95vSkoKzahy5coSl1DKZz+RkZEqKiqxsbGZn6SMjEzdunWL94gMAAAAaZKamtq9e4/6DRtPc52b9dnXr14OG9R7x47tLVu2LP3ail1YWNj9+/4eWz0l2q9eviArI9O5c2c2ioLSgNCbm+joaC8vL1ojP3LkSK9evTLjByXSu3fvUgwOyODg4FC88zU2NhYPvVAR1KtXj6Kajo4O81AgENja2tJi0KZNm0LkXlp03dzcVq1alZaWduHCBU9PT7otRFXF1U9O6Mu1efPm8PBwVVVVCrofP3589eqVgYGBu7t7npdckkCFzZ0719HR8fnz5/TvN9OoqKi4YMECe3v7YqwZAABAatC6h6PjwEpVdJeuXJP12c+fPw3s223FihU9evQo/dpKwtKly8aMc5FXUJBoX+++ev78eayUBKUDoTc33t7eHz58oDsmJiYSwcPOzq579+5Pnz6l1XROxgi6L1++pGBQt25d8THck5OTnz17JicnZ2RkRO0JCQmRkZFRUVHMnigul0v5llbxS/dtQRk1fvz4xYsX05309PQ7d+5QGpw8efK2bdsyTy+hdopzCgoKzBEHmWgxo5CsoqLCHH5PPDw86IUUVmnidu3aUfYTn576EYlEWbN0QftJSkqi6dXU1LK+F0rLWlpaeV6z/vr163v37qWIS98mpp4jR47Qux45cmTjxo3p25e5y5dq/vbtG3VYuXJl+rrRfaqWStXR0RF/IxMmTMDREAAAAPk0avTohKTkvTskr0FIYmNiKPFOnDRx+PDhpV9YSXjx4gWteCz/20Oi/fYt76TEhD59+rBSFZQOhN7cVK9enRk1Kjg4uFq1alWqVMkMA5QBpk+f/urVKxsbG3pI0XfZsmX00M3NrUWLFpk9PHz4cMaMGYaGhvQsrazTCr2npyflAYocnIzvHv0dmThxYr169dh4f1BGUaaloKurq0tR8OjRo3SfIt/Xr1+DgoJomaFF0czMrFatWqqqqhQ7nz17FhgYmJCQQI20IFEIfJuB4ujdu3cpNFJvzIYVCorPnz9XUlKiMBkfH0+LpZGRUaVKlTgZw1dERkaGhIQw/dCyamVlRZNl2w8VQ9PTMv/gwQPKn23btqViKPpSCo2IiKBgHBsby5TdpEkTZt/15ww0mcRFDjQ0NKjbuLg4+lLQ++XxeI6OjuHh4VQVNVLYdnV1pVfRlK9fv6avj52dHb3HGzdu0HdNKBTS9Obm5jSjzD3kAAAAkE+zZs0KC3t69OT5rCe4Jicn/TGwd6+ePWZMn85KbSVh+fIVI0ePVVaWHBF2/ZpV8+Zlc2g3SBOE3tw0b968Q4cOb968WbJkSVhYWP369S0sLGg9m1IB3dpmYKak+FGjRo2LFy96e3uLh156SJmkZcuWFJ6vX7++ePFiSiyzZ89msvThw4f37dtHa/NeXl5aWlris46Jifn06RNznxm9WU9PT3x0K5B6lDx79Ojx6NEjCqIUPjdv3kyRVV5enrIlBVdnZ2daOO/cufO///1PQUGBMqebm9vw4cMXLFhw7949iqmpqanr16+nDEldrVmz5k4GmqBBgwZVq1alCErL2JAhQ5ycnKjDHTt23Lx5k/In/bNH/VAW9fPzy6kfCsM7d+708fGhiblc7rVr1+jZnj17UkydNm0aLaXUTmGYMipTD5V369ats2fPzpgxQ2IMDBsbG8qx1G1oaCjdoW8H1fbXX39xMnK4v78/vevVq1dTzKZizp075+DgQN8jamnXrh190ajbFStW0HenTZs2TIeUuoODg2l6TsaRFNWrVxf/PgIAAABjtZvb2XPnT52/rqioJPEUn88fNXyQjY0V/SPLSm0lgValzpw54/cwVKL9vr/f508fBw4cyEpVUGoQevPg4uISHx9/+fJld3d3+hNAIYSCQd++fWnt3MrKKnP/UpUqVWi1e9u2bSEhIRRWmSuY0R16KBKJWrduTavyJ06ciI6Opj8f/fv3Zw7I7NOnT6dOnShUvHjxomHDfy8CTjGb1vUp7TAPKU6/e/eOJu7WrRtyb8WhqqpKAfX27du0FFHCpAS4bNkyCrqUBmlpvHTpkomJCeVAHo+3dOnSxo0bU3Clh5T3BgwYEBYWRkmVYicn4zgF8W4tLS1nz55NuXTevHlXrlyhGPnjxw+K0xMmTKClkeI09bZq1aovX75k2w/1T/VQJB40aFDv3r2pHw8Pj71799IyT0GUWT4plBoaGjL9uLq6UuilxdvU1DTrqI+0bE+ePJm+GtThjRs3KCrTZOPGjaO3qaKi0qtXL5r1nDlz0tLSaKb0LaNnmZ3JRkZGzF7fmjVrim8woq/qw4cPKcZzMkIvTYDQCwAAIGH37t1bNm85fdE76wgatOI6aZyThrratq1SdcXalatW/TF8pLq65Ptdv2blnDmzJa7ZC9IHoTcPtFJO2aB+/fqBGd6/f//48WMvLy9KDrRGTmv5mWPZ6evrN2vW7OnTp76+vhRrqeXOnTtPnjyhRuqEHlLQpbXwW7duGWagkCAjI0OB4fXr15UrVxafKXVCM6LoyzykWEKv0tTUbNq0KUJvxSEUCpkzeCkK3r9/X1lZ+e3btzt37uRknEP+4MEDin9Vq1al+5Q5g4KCKODRYilx2q0EWhTbtm3LjMBcqVIlZhmzsLAYP348/bmnBS88PJw6pAU1JiYm2x6+f/8eGhpKiZQSL9MPLZ8UNWkxZibo0aMHs9Hnjz/+2LhxI9NIGTXb3ihsU3Zt3rw5LeGJiYnUD73HqVOnHjx40MrKipL8rl27KMRSqfQG6SHNsW7dunS7f/9++iYyQZq+TZkdWltbU3TPfChx8jMAAACcPn16/vz5XmevVq2qm/XZuTOnxv74dvHiBWnKgT9HpT18xNc/SKI9JOhxxLNwqTlpGXKB0Js3ygmjR4/mZByrTHng4sWLlEhp1XzFihXXr19ftmwZM85QrVq12rdvv3DhQlqPZ15Idz5+/Dhq1ChmpZw6oVDh6elJ8YBiBq2vN2rUSE9PL+vw6LTiPnDgwMwddFWqVKHpaTKJbAzSLS4uztfXl7Ju9erVORnXNDp58uSPHz+YZykHampqOjk5Uf6kZTIsLIz+DTM2NqaJ6bZAM5KXl/f396ceqE9KmDTftLS0nK4+T9H027dvampqOV27SF9fnwne9I3Ieo6QhH379tnY2HTp0oUZAp3uvHr1ir5Q9LU6duwY5Vv6gtD7atasWXR0NHMMM4XhyfgEFe0AACAASURBVJMn37t3LzAwkD6QK1euDB06tFevXkyH1A8GsgIAAMjJrVu3xoxxPnTsjKFRNmsLbiuXBD9+ePPmjUJfMbFs+vvvv/sPHKKdZQSQdWtWzpzpmufqCkgB/I5zExER8f37d0tLS1VVVXrIrHMz6+WUEBYvXvzgwQN3d3cm9FL2oGhKsYHC6rt37zgZh4Pq6OhQI3MGb+PGjadNm3b+/PmXL19u2rSJz+d36tSJom+7du26desmPl/KLc7OzqX/fqFMoXhJS1r9+vWZh/b29nPnzqXASfcp+srJyZmYmERFRdFSRItWSkoKBVfKkHZ2duJ7PvOD/v3z8vJq2bIlcxL7/fv3afHOaWJtbe2aNWu+ePGCvhrM9W+ZYrIdwzlPycnJW7dupQW+UaNGzD858hnovdN9+voMGzaMArBAIDAzM6OvEidjWxK96xEjRgwcOJDZ9nTp0iUcwwwAAJCnwMDAAQMct+3ab2llnfXZ3Tu2nDvt5evrw6z3Sg1ad9qzx/PGnQcS7c/Cnzx6GHDi+BFWqoJShtCbm0OHDvn6+jo5OfXo0YMJrgwjIyMDAwOKGQMGDKDV7sz22rVrU3KgzBAQEMDlckNDQ2ldXHyPWb9+/Zo0aUKh19vbm/LM69evPTw8KHKIRKLu3buX6nuDsoeWB1oqIiMja9So8fTp05MnT0ZHR1O6q1KlipWV1bVr1969e0f5ltImLZa0zFAOvH79OmXd0aNHN23a1NjY+OjRo5lHxecf/WNAIdPS0tLBwSEoKIg6T01NpTKynoJLNDU1ab4HDx709PQcPnx4fHw81aCvr1+3bt1cZvHp06fPnz9TGpcYvZl6CA4OXrdu3dChQ5lD9w8cOEDfnXnzfl4rT0lJib5BMjIy9B7//PNP5kiHkJCQDRs20AdFT8XFxVFspsozT+ulbx9zFTEGj8ejb6uenl5BPxMAAAAp8+LFi65du7mt3dikWTZbik+eOLp103pKvMxlHaQJrWZ079kn67HcG9a6TZs2VSHLNXtBKiH05ubLly9+fn70ZWjWrJl46OVkrEwzV1IRV7VqVVNT0xMnTtAaOa24U0QZMmRI5lGgjx8/jo2NZQ5ppmxMaZkm27Vr1+HDh9euXYvQC97e3pTiKBxSyqW4S2ltyZIl5ubmnIwTZSkSr1+/ntImTUMZ1dHRkTnNm8Lw8uXLDQwMKAxXr169S5cutOzVqVMnJSVl6tSp9JDu5D5fCwsLWiZ37Nhx5cqVtLQ0iqby8vK3bt2ytrbOth9K4F27dj1y5MjDhw+TkpJoqR45ciQt+fR9YfbQMih+8/l85n5AQMC5c+ecnZ0zd1xnduXq6krfgrt371Jv9vb29L2gd03fOGYCVVVVKo96bteuHdNCb/nZs2f0baIkrKio2KpVqwEDBlDopfdOX6vQ0FD6Rz2zf1lZWTk5OYReAACo4D5+/Ni+fYfZ8xZ27Nwt67Pe1y4vWjD7xg1vZhgaaUJrTVu3brt03Vei/fWrl7dveu/ds5OVqqD0IfTmhtazr1+//ujRo71797q4uIgPcPf8+fNDhw5RNhD/66CsrEw5gVa+vby8KHjo6urSw8y0vH379pCQkNWrV1PulZGRqVmzJr2WMgOFXmkaKgAKZ/PmzampqZkPFRQUbG1tMw8ToOg7e/ZsWurobzcn4wB4epaSnra29qJFiyjmUVhlJrOxsaFlr3379pQkKe/p6+tTV8xFgOrVq7dy5UrmytKkf//+bdu2pYhLS+O8efMoo1IBOjo6lpaWLVq0MDY2zqkfWrApvtrZ2THF0EMqRklJKT09nRIs5VimfzU1tU2bNtGXgu6bmJh069aNGeBKAs2CeqC0TF8Hqo3idOPGjTOfpa9YrVq1KlWqZGZmxrRQuqYvI4Xbd+/eVa5cmeIxM4g6xWl6yHwOmeibRV+0Yvj1AAAAlFs/fvzo0KHj8JFjHAcPzfpswP17UyY6nzt3NveDtsqpDR4e7Tp00q8huTLgsc5t4qSJEvu0QIoh9OamdevWPXr02L17N627v337tnv37swhEJQ9vL29/f39aW17ypQp4i9p0KBBly5d3N3dORmj19K6fuZTderUOX78+OLFi8eMGUNdycrKXr58eceOHZQKmIugQsXEjI5GyZPJh5lCMkhMzEwTExNz8+bNzEbZDHQnMoP4lOHh4czDkydPMnfu378v3mFmP0wBycnJAQEBlBVfZ8iln8ynKPrevn07s9HPzy/zPvVz7tw5yqV1M+T0CTA5WTzrEoFAEBERQb29fPly5MiR4k9VzyDRSaUMOc0CAACgYkpKSurSpWvrdh3GTZyS9dnwp2Gjhg86ePCA+LUzpQa9d48NHifPX5Vo//jh/eWL5zd5PGelKmAFQm9utLW1nZ2daU167dq1O3fupDDAXAHl48ePX758sbGxcXV1bdu2rfhLKleuTO30kujoaEq54sdVDhs27MWLF/v27fv06RMTcqjD0NDQWbNmZY49CxUQhcbly5ezXUUJ8vDwqFKlSkFfRaH3yZMn27dvp8ws8S0DAACA/ODz+X369DWuYzr/r2VZn3339s3gAT03bvTIPIdIymzdurVp85bGxpKXddi4fs2YMaMlxhkB6YbQmwcKrpR7TU1NHz9+/PTp0/T0dGqsWbMmxVS6Za6zIqFGjRrGxsa0lm9nZ6ekpJTZrqOjM3ny5JYtW54+fToqKopaDAwMpk2b1qFDB2YPFWVs6lYkEnXt2rW03h+wjxaVgIAAtqsoc2RlZRs0aDBr1iwbG5vMcaoAAAAgn2iVcujQYbJyCm5rN2V9NjoqamDfbn/973/9+vUr/dpKQWpq6po17gePnpJo//r1yymvY8+ehbNSFbClTIdevkB03v+j35PoBibaPZrqycuyc+IrrXD37t27VatWnz9/FggE1MLlcpmrp2Tr48ePb968GTBgQNOmTSWeMslga2vLhGeJfpSVlSkAW1lZ5XQFVICKg8fjGWRguxAAAIByaZKLy/sPH/85dibr2DHx8XGD+nf/888/x4wZw0ptpWD37t3WtnZm5pYS7Vs3rR82bChOiapoym7ovRn0dc/lV5+//xwwNvDFj5O+7/5ob9ipgS4FRVbq0cqQ52QPHz7cv38/ZWNLS0udLJfAZpiamub0chUVFfFLHAEAAAAAZNWuXTtPT099ff1sn124cJGv790TZy7JyctLPJWamjJscN92bdvMnz+v5MtkB5/PX7Vq9bbdByTaY378OHxwX0hIMCtVAYvKYugNehmz8+LLiPfx4o3RcWnrTjw7cfvdiI6GzSwrs1VbLvz9/RcvXhwVFfXkyRMHBwepHA8AAAAAAMqCBw8fzpw569Chg1mf2rRp04GDB89c8FZVVZN4SiAQjBnxh7GhITPqqrTav3+/kXFtW7v6Eu3btmzoP6B/1uEwQeqVrdD7+nPirosvA559z2wxqspvbJL68JX8sw8/R5B6F5W0+EBY3RrqTp2NrI3K1tnnX758uXDhAt2hxDt9+vTMK6wAAAAAABS7K1eu+Pv729vbizcePnx4xcqVp89f18nuCN5pLmNlZbienntKq0YWiESiFStWZj2TOT4+br/nroCA+9m+CqRbWQm9UbGpe6+8vv7os1D0q0VXU9DRLqVONT7dN6/BfxMlc+Wx4puonwWHv4tz3f64gYn2iE5Gtaursli2uBYtWty9e5eTMWCVgYEBc3EjAAAAAICSMH3m3ClTpvr53c1suXz5MrUcO3Uh65VpycIFsz+8e3P16hUZGZlSLLO0HTlypHKVqo2bNpdo37Nza5cuXWrVqsVGUcAy9kNvQjL/8I03p+68Txf8yrsaysL2Nmm2RukZJ+/+OvO+VhXRmA7J4R9krzxW+BLzs/FBxPeHz787WFf5s4NhNR2lHLovPVpaWk2aNGG7CgAAAACoEPoOGHz86D9k0KBB9PDevXtDhw7zPHjMxDSb4w03rHO763Pz9u1bioqKpV5pqVq2bPn8RZIXg0xOTtq5bbOPz21WSgLWsRl6+QLh6bsfDnm/odzLtCjKiVpZpTcxTc8YpzmbsZrr6glN9ZIfv5K9FiwXk8gTiX6Od+UTEtXFvvqQtgZaqpJn6peahQsX+vj4cDIGZC7ELSfjlsfl/m7kFbqrPG8L+UJe3tPwCt15KdRfZmbB3Ll//z4zgjdIBz6fn5CQwCmmpQgAACA/6B+NRctWTxjzZ+/evV+9etWrV2+PrbvqN2iUdcoD+3YfObjvzh1fDQ2N0q+zNJ0+fVpOXqFVa8krD+/z3OXg4GBiYsJKVcA6rkgkynuq4kbz9A784nnl1deYVKZFlidqUlfQxoqvKJ+vegRCzr0IWe9g2aTUX+uICnK8Pi1qDHCooazAQpJv1Mi+38A/atc2YT7PX7ecX/f/08h84Flacr7lSLZw/tND/jrJRwGcHKcvbP2cXLrl5DWLPOrPudqss8jlrf339ufXgZvnlFl64xSkfqaqt28iK1XSpr/LeSxYUB54enpOnTpVIBQW7ZsuuRQVy3YZTn6m5JSdrUucXF9SgK2BBd7QkGXWvMLOgpPNywu5HbMEP39e3p1zS+RXXApLUfnoXDpmUd7rL51ZlBxNLa2Ax+Hq6hpjRw0zMqx59MjR+QuX9erTP+uU586e+muuq4/PbUNDwxItqSxo2LDRxCmunbp0F29MT0uzr2d28eJFa2trtgoDdrGQDx9EfN918dWrTwnMQ/qDYGck6GDL11Rhwky+/kDIynCamwka1hbcDpP1eSKTxuempgv/8X5zzu/DoDYGPZroyZXuRX35fH79BvaWVvgiQb6cOXXi2qWzbFcBxaZz1x5rPbaVUOcF2ICV1/adrJul8hXLc+228BvgOFnqz+92AU7Wuef/Q8jtA8zlXeTvQ8ir/iy/0IJ/CPn6LRTtQ8jhlsP0XNCXC5n7wqzPCv/tIedtxIVYzn/fZr8dU3IybmF+lbkXls0vOv+d57WluADLRh5LV/ZFZjuLQn3+uX1oBX0XBfwW5PjWijjTwvwWfi3hPxVDfv5vS0pyspzcz3FeJ06e3qtru/l/Lc028frcujHXdcq1a1crQuK9fPlyUnKyROIlBw941q/fAIm3IivV0PviQ/zOi68CX/zIbDHVE3auL6imJcrIugXeHqYoz+lgJ2xmJrweLHPvGU8g5MYn87eff3nS9/2w9obt61ct6W1smdLT02RlpXlIAABgS+nsMQAAgFKQ3+iej7QvKyurqPhzUJv9nrvMzC3/dHLOOrugwEfjx/x58qSXlZVVabw9ti1dusxl6kyJRoFAsNnD/djRo6yUBGVEKYXeLz9S9lx+fTPoS+YGL30dUZf6gtrVmMdFWplTVeT0bCRsaS66HMgLfMUTZYwFveZ4+LHbb0d0NGpqkc1w7cWOzxfQn55SmBEAAAAAlFMlsR1zzvxFgwb0mDh25IbNO3m8fw91fPkiYviQfp6ee5o1a1aMsyuzbt++/fnz5569+0m0Hz9yyKSOSaNG2ZzqDBVHiee0uKT0Q95vzvp94P8enFlbVdSpnsjOqJB7d3OircYZ1FLUykp44SE3/P3Pbt9+TVq0P9Ss5s+L+loZluxFffl8vqysXInOAgAAAABAgqaWlteZyz06t/nDsbfngaPyGVfN/PTxw8B+3f/+261Lly5sF1hKlixZOmmKq8QGBZFItHH93zt37mCrKigjSjD0pvGFXj7vj9x8k5QqYFqUFUTtbTlN64pkMgb1KImZVtfmjGovev1FdP4BL/Lrz5anb+NmbHvc0FR7ZCcjo2oldVHf9PR07OkFAAAAgNKnpKS8dKX78CH9Hft123vwuIAvGNCn64zp04cMGcJ2aaUkICAg4nlE3wGDJNrPnDpRtWrVli1bslIVlB0lktNEItGVh5/3XXkdHZfGtMjJiBwsuW1suIo/94aW+JlpxtU4Lt05oW84Fx5yPmecQRzw7PuDiO+tbasOb2+oq138Vyfj8/kb169RU1fj/Hx73GzHG8j2lpPduKkFuM3pqV/dcvIuoEBjG2apNp8vz7sAzn9nlI/K81VAzh9vkd5FHp8DJ6cZZd5++vRBKBTkukwBAAAA5Nfi/83x2LA+MDCwd7f28vIKAx0HuLi4sF1U6VmyZOn4SdOy7oLasHb1mr/dWCkJypTiD73+T7/tuvTqzZdE5iGPy2lkwulUj6euXOyzyoOlAceiJufBC87Fh6KYxJ9DA3gHfrkd9LVL4+pD2hhoFutFfd3cVn/48KHQQwVm1/jvsJbig14KizaLfL08mzE2C/0uiutWKF5/zmNR5n2b9RP4PbxlCdUvFG/JvBMXF2djY5O/hQvKgRvXrzRvZJ3npplCbh7i5LR5Jc9tOpzc6inUFjdOtjPKR1c5Vy5WZM7vtMCd51WS6Nd9yUtDFf3z5+Tvgy3wB1XYTZlF24RXgNu8lq68K89XAZy83lHh3kV2n0NBK8+mgMIuDHl+CPn+BDi5z6hoizqUIUcPH5STlfkjg97atVFfvy5evJjtokpPcHDww4cPNu/YL9F++eI5RQWFjh07slIVlCnFeZ3eZ+/idlx4FfI6JrPFoia3eyOebsmeTps3gZDj80R0NVCY+OuqwBxFOd7Q9ob9WtZgtS6ouI4ePerl5XX48GG2C4Fi4OnpeeHCheXLl5fwpp9S2LokJbMo7/XnfxZF3I7JXv0i8fo5RZiF6L+NmRsxS+xd5PK+CjnrEvn8C3QJqKLdFmibTkG27xRye4F4zi/Ato+8ZlqkTSoF2b6Q18s54i2KSsq79h6Wk5NLSkps3sj61KlTDRs25FRIjo4Dza3rjR0vuWe7S/uWC+bP7dWrFytVQZlSPHt6P35L3n3plW9IlOh3S60q3B72PGPdMrEtUFaG09qK27Qu73qQ8EaIII3PTUkX7rjwslFdnZpVSn0HNABIHVVV1dq1a7NdBQAAO9jbgFKmOy/pWXTt2jUtLZVC77q/V7Zv36HCJt6IiIibN2+uWrtZov3mjWtpqSlIvMAoauiNTUw/cC3yvP9HgfBX4K2swe3eSMbWkJf7C0ufojzHvNIHz0vuynWHaOj/vDh1XFI620UBAAAAlG847JkVFH3lZOXeRL4+dGBvaGgI2+WwZtmy5aOcxyspSe7H2uC+et68uayUBGVQ4UNvSprghM+7o7fepqQJmRY1JU7n+rLNzGV4Ze+PXmxM3PQpfz0ICB44qJ9pm4beIal5vwYAAAAAoExKT0+XkZVdOH+Wq+uMqlWrsl0OO968eXP+/Pl7j8Ik2v397kR9/TJgwABWqoIyqDChVygUXQz4tP/q6x8Jv/aUysty2tnKtrOVky97V+3h8/nzZq+4cummg0Oz276XDGoZHLrxncNB6AUAAACA8kooFN7xvRXx7OnpUyfYroU1K1auHDZilJqaukT7ujUr58yZzeOVuSNPgS0FDql3wqJ3X3z5PjqZecjjcpqZy3VtKKemVPZ27/4cpnz7Ps+jxrWNvE4ftLPDYLkAAAAAUO7x+XxKdH/Nm7l2rbucnBzb5bDj06dPx44eu3M/WKI9KPDRq5cvhg4dykpVUDYVIPSGvYndeeHVkzexmS12xrI97RWqaJbFjShex8+tWb1JUUlp01b3du1b4zwTAAAAAJAO/Aw19PW7d+/Odi2scXNzcxz8h5a2tkT7OveVM2e6Zr1mL1Rk+Voa3kUl7br46t6T6MzBmY2ryfRpqmhYVabkKiu0+/cezp29LDY2dsH/Zg0c3A8HNgAAAACANBEKhfLy8uvWrWW7ENZER0fv3bvv5t2HEu1Pn4QGBT46eeIYK1VBmZVH6P0en7b/auSlBx+Fvwar4lTT4vVuomRtWBaPo4h8/W6Ky5yXL15PdHEeO36kkqISRhKEson+obp8+bKNDQ65lwY/fvzo0qUL21UAAEAFoqys/OrVKz09PbYLYc3atWt79u5XpYrkCF4b1rpNnz5NQUGBlaqgzMox9CanCo7eenvC511q+q+8q6HM7dFYqZmZQhnMkXFx8ZMnzrnv/7C/Y+9/juzW1pE8zgGgTOnRo4evr68wc2MSlHMGBgZslwAAABVLRU68sbGx27Ztv3LjrkT7q5cv7vjcOrBvDytVQVmWfej9kZA2ft397wl85qGiPKdTfeX2topysmUu7woEgjkzF104f7V5iybXbp4xqGWAo5mh7OPxeBYWFmxXAQAAAFD+rN+woWPnrnr6NSTaN6xdPcllkrKy5DV7AbIPvSGvY5nEy+OKWlsrd2ukpKpUFrPk+rVb9uw6VMvQ4MgJTztba06Zi+QAAAAAAFBsEhMTN3psPHPRW6L9/bu3Vy9f3LZlIytVQRmXfegVCH8NWfX6rufkNj3UlM1KsaR88Tp+ZuXydfIK8mvXL2/foQ3iLgAAAACA1NuyZUsLh9aGRsYS7RvXrxk71lldXfKavQCcPAeyat+u1cD+I4+c8LSwqFs6BeXJ/96DWa5/ff/+Y+68aY6D+srweEi8AAAAAABSLzU11d197eETZyXav3z5fObUiYiIZ6xUBWVfHqG3cZOGNebN6N972LoNKzt1blc6NeXkzZt348dOfx7xYtyEkc7jRigpKXGQdwEAAAAAKoadO3fa1WtgWtdcon3LxnV//jlcR0eHlaqg7Mv7Or2jRg+rXr3auLFTJrk4T3RxLoWasoqLi5s4fobf3ft9+/XYe2CzlrZ2wcKuCOkYAAAAAKAc4/P5q1e77fT8R6L9x/fvR/85EBYWykpVUC7kHXopL3bu0v7UmX8G9B8eHBS6c8+mEi9KjFAodJ2x4OzpC02aNrp07XitWgZcLldUmhUAAAAAAADb9u7dW8fE1NrWTqJ96+b1jgMddXV1WakKyoX8jslsY2t18/aFz1+iGtRzeP78JbdUrHXfZGXR+EnY0/3/bNuxZ32tWjVL9LMAAAAAAIAySCgUrlix0mXaLIn2uLjYA3t3z54l2Q4grgAXIqpWTff8xWODB/fr0rHfGjePjCOGS+rH68TZerbNDx86vurvhafPHbSzsxKvRPJQZdHvn+zk/AwAAAAAAJQDhw8f1q1W3b5xU4n23Tu2dO/evWZN7BuD3OTn8OZ/8Xg811mTHVo1Hz922rGjJzdvXVe/geQBBkXkf+/B9Gmzo6O+zZzj4jiwN0+mLF4fGAAAAAAASs2yZcsXLlst0ZiUlLh7x1ZfXx9WSoJypDCRsmGjenfuXR08pH//vkMHDfgzLi6ey+UV/edN5LsuHfsMchzerXuHO/cvDRrchzL273kWbRwqjGIFAAAAAFA+nTx5UklZpaVDG4n2fXt2tm7duk6dOqxUBeVIIfejysnJukwZe9v3vKKSgq11k2FDR8fGxhU67iYmJA0d7NSqZae65rVv3znnMmWMkpJi8b5PAAAAAAAoj5YuXTZ52kyJxrTU1G2b18+fP4+VkqB8yVfoFQgET8LCs7br6Vfftcfj7IUjQgHf1sr+j0EjXr+KLNBQVSKRaNrUWdaWDYUi/rlLh5Ysn6OtrZVXObmewgsAAAAAANLi4sWLaenpHTp1lWg/uH9Po0b2lpaWrFQF5Ut+Qq9o2VK3tm269+k55MePmKxP161bx3Pf5jMXDquoKjm0aN+4Ucsd23bnZwfvWveN5qa2wUHBnvs3bdvlXssQJ6ADAAAAAMC/li5d5jJVcjcvn8/fvHEtdvNCPuVrT6+Ghoa8nNy9ewFNGrW95xeQ7TQUfTdsWv3w8a1hwwdu27rTyKBuh7Zdd2zfLRAIsu7g9fI6bW3ZYP++A8tXLTh1dn+9etZcDpf5KdZ3BwAAAAAA5dXNmzejoqO79+wj0X7syEGzumYNGjRgpSood/IVeidOGuM0ariMjMz37z8c+49YtXKdSJT90cXqGmojnIb4+F046uXp0Lrpzh27a9UwaWrvMPLPMSeOn+Sn8wPuP2xi7zBz+pzxE0Z43zrdvkOrny8Tj7q5xN6cDmrOuM6RiPtrkuyeBAAAAACAcmbJkqWTprhyuf9ZnRcKhRvX/b1gwXy2qoJyJ1+hl+Lu/xbO+ufIbnUN9bS0tC2bdrV26PY4MDiXl5iZmUyeNvb6zVPet8+MHjdMQVFu6eIVVSrV6N2zf+cube74Xxz8Rz8ZXI4IAAAAAACy4+/v//LVy779B0q0nz55vHr16s2bN2elKiiPChA7m7do4n/fu0FDOwqrz8Kf9+71h/PoKV+/Ruf+qmrVqvbt133V33/dunuuZ+8u7Tq0ojCspKz0+3DmHH4kie/B5WL3LQAAAACAdFuyZOkEl+kyMjIS7RvWrsZuXiiQ/ITef+OlTiXts+ePTJ8xSVFJsV3bdgMd/3h4/9nZ01eTk1Nyff2vLKuoqMjNJtACAAAAAAD8KygoKPBx4KDBwyTaL5w7o6qi0r59e1aqgnJKNp/ThQZH1DU3Zg5IHj9x1Bhn58o61dJSYrlcHoenuHXL1oiXT0aPGa5brUru/bCzi1aEHcMAAAAAAOXG0qXLxo6fIicvL9G+wX3VokV/sVISlF/5Pbx5964D3Tr3f/vmHfNQQ11DwE9KT0/g85OF/HhnZ+eY70nNm3QaNdIl6HFoiVULAAAAAABSLjw83MfHZ9gIJ4l27+tXhEJBjx49WKkKyq/8ht5t27Y2bFC/Y4c+x4+dpodJKTEyckqq6nryCqoysvJycpwtWzanpqZeueTt2G+EnZXDXwtWPHrwWPJc3Z89cQvyk0n8fk6DOAMAAAAAQLm3bNnyUc4TFBWVJNo3uK+eN28uKyVBuZbf0MuTkblz9167tq3XuG2cMG5GXFzc95j3CUnfRFwZOXk1CsAqKiodOrRRUJBPT0+Pjv62f++RoYPHWpo1mzRh1qdPX/7TV2Fir+jfF+Yq++dxbDMAAAAAQHnw+vXrS5cujRjlLNHud8fn+7fo/v37s1IVlGv5Db1ysrKee7aHhT1VUlJKTEhuNXun9gAAIABJREFU1rjD4X9OpKYlxsZ/jvoR+TX6ZXTM6117N165fnLosIGVKunIK8inpqbFxcafO3Nl+ZK1/w2suWdQ7n+nQWAFAAAAAKgoVqxcOXzkaFVVNYn2dWtWzp07B8PiQiHke08vT6a6XvXDh/c1atTgzh0/BweHndv3d2jb59GjIPHJDI0MFi6ZHRhy6+SZA+MmjKxRQ08gELRt7yA+DVdsPOdsr1YkdpvLQo0jnAEAAAAApMqHDx9OHD8x2nmiRPujhwFvIl//8ccfrFQF5V2eozf/OoE2MelH5cqUYEUuLhOaNWu6aNFSkUjUoEGDP4dOaNbcfobrRENjA/GXmZub0I/rrEkpKamKigpMI7bLAAAAAABATtzc3Ab9MUxTS0uifb37qlmzZma9Zi9AfuT3kkXJqbF8QUpVXT15BaXU1LSdO7dt377r9OkzdevWTUpM69FtkLWN5aTJY+wb15d4YWbiLUG/T/jN9lBoZo8w4jYAAAAAQFkWFRW1f/+BW36PJNrDQoNDg4POnPJipSqQAvk9vJmk81Nj4j6qqapYWdlqaWk5OY3YuHGDhob6tWvXatY0UFVRn+oyt1O7fqdOnk9JSS25igEAAAAAQPqsWbOmd98BlStXkWhf7756xozp8lmu2QuQTwUIvUQkEsYnfU0XJNra1jc3t9TT05swYfyiRQsFAsH58xfk5RXq1jXb73msnnWrsaOnnz93NSP9Zg5M9XtvK5f774m9mbecLOfzSpz5K15Gsbx1AAAAAAAoG2JiYnbu3DVx8nSJ9pcvIvz97jg7Sw7mDJB/+T28WVxKanxKaoK2jlb7Dh3DQkPl5eX/+mvB+/fvL126TNFXVVWlffu22trah/afmDn9fw0b1du914PH+/f4e25OmTXbdlFGIhZ/ipvlykVc5GAAAAAAgHJs3br1nbt2r1ZdT6J9g/vqyZNdlJQkr9kLkH95hl5utplSJBImJn9LTYurW7eOiYnJ8+fPVVRU6M6YMaNu3Lh5/bp3ePgzPb3qA/r327lrT1Jikpq6+u/eAAAAAAAA/pWQkLB58+azl25ItL99E3n92pUd27ewUhVIjcLs6c3EF6TFJnySl1cxrVvH3Nz83bt3nz9/7Nev78CB/RMS4v38/G/dvK2gkPXg+6JGX0RnAAAAAACpQYnXoXXbWoZGEu2bNqwZN26smprkNXsBCqRIoZeRmpaYmpogK6ugW61yrVq1vn2Loh9FRYX+/fsOHzbExtZe8gXcLPe52U2Q9RYAAAAAAKRLSkrK2rXrjp48L9H++fOns6dPPn8ewUpVIE2KIfQy0vkpMfGfZJJklZU1a2ubckTc+PiY5OSkjCfFMmvGoFSifx/9lHnerviB1FkPqv7dIhL9euF/us0JN3MGAAAAAABQxmzfvr1BQ3sTUzOJ9s0b3EeOHKGtrc1KVSBNii30MgSC9PjEKPqRk1VQUtBQV68uJyfH+89VpLnMkNFZQqjod44VZfwfVyyqZs3IAAAAAABQ7qWnp7u5/b3nwDGJ9m/R0ceP/vPkSRgrVYGUKc7Qm3FdoV9hli9Ii0+Koh+v0wdUVVUyJynG2QEAAAAAQLnm6elZ19zCytpGon3b5vWDBg+qWrUqK1WBlCnmPb1Z1a5TK2tjtufw5n5frIUr2S6xJzi7J5G2AQAAAADKFIFAsHLlqvWbd0q0x8bGHtzvGRj4iJWqQPrw2C4AAAAAAAAqon/++ae6nn7DRo0l2ndt39SzV88aNWqwUhVInzz39IryfQ5tEXemcvNx59eDAo9Lhf28AAAAAABliUgkWr58xZIVayTaExMT9uzc5ud3l5WqQCoVfk8vLabr120dOMBpw/ptqampxVgTAAAAAABItxMnTqiqqTdv2Uqi3XPX9nbt2hkbG7NRFEinwofeHdv3nr3ibdbT4ewdnyHDxmVciuj3D5f7n4e/fzgZ+1yzfy7fP5zftwWA8Z4BAAAAAMqSZcuWT542U6IxNTVlx9aN8+fPY6UkkFaFD71XLns7jh9Rr0UTx4UTX7175+vjl++XcovvBwAAAAAAypnz588LRaJ2HTpLtB/Yu7tJkybm5uasVAXSqkgDWaXx02V4PEVZefOOTc6cvVRcNQEAAAAAgBRbunSZy1TJ3bzp6elbNq3Dbl4odnmG3hx3qLZ0aHbz/OW4lIR0AV9JTSUpKek/+19z3jVbjPt5uZz/zqtAbwAAAAAAAEqdt7f3j5iYrt17SbQfPXzA0sKyXr16rFQFUqzwe3qdRg19di/o4qGTkW/fhJ73bdWqeTGWBQAAAAAAUmnJkiWTprj+HAVIjFAo3Lju7wUL5rNVFUix/ITe7IeBUlFRPn3moOjFl+OT/27buHH//r3yMxDVv7tluVnuSDzLzW4yifZfDwEAAAAAoBy4e/fumzdve/cdINHudfxIzZo1mjZtykpVIN3yvE5vbgwNDfbt21pcpQAAAAAAgHRbunTZhMnTZWRkJNo91rlt2ujBSkkg9Yo0kFVhZD3vl5PNjt5/J5aYTKI9/zMFAAAAAABWBQYGBocEOw4aKtF+7uwpTQ2Ntm3bslIVSL0i7en9qUB5kiv5f6Lft+KTiLK7zfYl2fYAAAAAAABl0JIlS8dNmCInJyfRvsF91bKlS1gpCSqCUt/TW5YkJKezXQIAAAAAQIXw5MkTPz+/oX86SbRfv3qJy+F069aNlaqgIsjPnt5s96T+2slaiAOHxV+T7XHK3Bxus31JQY90FpeUwv8Wl6KjrlioVwMAAAAAQH4tW7Z89NiJCgqS697r3Vfj2rxQoir0nl5ORu6NT8L+XgAAAACAYiAQCB49epS1/eXLl1euXPnTaYxE+x2fW3GxMX379i2V6qCCyu85vUMGOfXr36tX719HHXC5HFHhh4cqW+NKxSamKsjLyMtW9PxfLoSEhAwfPpz+mLJdCACUD8HBwW3btm3durW1tbWNjU3NmjXZrggAQMpFRUW1aNGC/ujOmTO7R48eme0rVq4cMcpZRUVVYvp1a1bOnTuHi6uQQknKb+gdMfKPCeOn+9y+u3zl/+Tl5Uu0phL1PZ7/8lOqeItIxImJT62ipcRWSZB/b9++VVdX9/DAcPYAkC+UdU1NTZOSkrZt2xYUFJSYmMikX4alpaWCggLbNQIASBVdXd1ly5bNnTvvr78W0e3s2bMGDRr06dOnk14n/R6ESkz8IMD//bu3gwcPZqVUqDjyG3rbtW998/aFMaNc2rfttXOXRx0T48LNT+Ls3GIcvZnpOevJx6KM/7hcTlKq8LRf7JWHsem/dxOqKf96+6npgjS+sHh39t64caNx48ZKSsjSxUxNTc3KyortKgCg3OjRo0fHjh2Z+9+/fw/K4OPjs3HjxoiICAMDAxsx1apVY7daAAApMGXKlFOnTrdp39ncwspjnduCBf8zqGUwZNifGpqaElOud19FqTjrNXsBilcBLllUrZruqTP/rF65tlOHPnPnzxgxcgiPV4iUSPHz3+Rb7ANZZXtgBF8guvIg/qxfTGLqr1CsrCDTp7m+rta/p9EnJKdrqxXb9v63b9927dqVcq+9vX1x9QkAAEWkra3dOgPzkM/nh4eHMzF47dq1dCsUCsUzsJmZWdbragAAQJ48Pfc0bNjo9IVrR09eCAp8dGD/7nETpkpMExoS/DQsdMTZ06xUCBVKfkOvQ4vOnTq3c505efbcaS1aNps5Y8H+fYeXLV/QrHnjEq2viCjj+oYmnvCN+R7/a/eurAy3rV3Vro2qKSv+Z5NSWnpxniY6c+aslJQUkQjXDwYAKLtkZWUtMwwZMoRp+fLlC5OBL1++7Obm9urVq9q1a4sfEV25cmV2awYAKBdq1aq1dOkSl/Gjz166YWNXj36yTrNuzUpX1xnYtgilID+h92dy275zw2inST63727bsb5ZM/tbPhd37tw7Yvj45i2aLF4yt0ZN/f9OniHLXtdf+3hL6zT1x6+Sj/nEvov6NTgzl8tpYqbTq5metlo25ySn84WUUYvlHHo/P7+7fnctrayL3hUAAJSmqlWrdsjAPExLS3vy5AkTgy9cuEC38vLy4ruCTU1NcVQeAEC2nJ2dvbxOeqxzmzxtVtZnn0eEB/j7HT18sPQLgwoov8cnm5rWuXb9jKWVeRuHbmdOX5CVlRk7buS9+9e1tbWaN+00feq8iIgXJVpogbz8lLbiSJS7V3Rm4rUy1PhrqMXITobZJl4GX1A8O2YnT54yd8ESRUWczQsAUL5RxLW1tR0+fLi7u/v169ejo6MDAgImTZqkoaFx+vTpvn370p0GDRo4OTlt2LDh1q1bP378YLtkAIAyZPfuXbu2b3kSFpL1qadPwtLS0pYsWfL169fSLwwqmvwe3hwcFGphabZq9eLWrVtMdpl16eK1/y2apatbdc3aZWPGjti6eVe71j2bNmtESbhVqxa5d8UtyV29n3/wj/nEBEQkZ7YY6qr0a6lvqq9WcjMVd+DAAQ6X17vvgN07tpTOHAEAoNToZejSpQvzMDk5OTQ0lNkVfPz48ZCQEHV19cz9wNbW1nXq1MF1OACgwqI/mH//7eYyftTFa74ShzH36NW3foNGWzauMzMzHzho4ExXVwMDA7bqBKmX3z298+Yu7tFt4IcPnzp1bn/b9xLl1qb27det3ZKWmm5qWmft+pWBQb4NGtabMG5Gi2ad3N03Pfu545eb5acExSYJPK/+mLPnU2biraqlMK6b8bzBZvlMvDK8olZIaz9z5sxdtGx1EfsBAIByQUlJqWHDhqNGjfLw8Lh9+/aPHz9u3brl5ORE63aHDx/u2rUrZeDGjRs7Oztv3rz5zp078fHxbJcMAFCqhg4damxk5O62POtTevo1lq5c43Pvsbyiar169YcOHRYeHl76FUJFkN89vSe8Dsyds6iNQ9f1G1d36tRu89a1DwIezZ296OCBo4sWz+nStaNOJe0Zri4uk8edO3vp7JkLG9Zt1dOr1qVrh569ulpamZfoe0hJF52/H3fpQXxq+q/jk9WVZXs00WtpXYmX7+3rNCGvyKF31arV9k2a1avfkHl48OBBHx+fLDMq2FxKdPpy13lYWFhqamqekwEAsKVWhp49ezIPExISQkJCgoKCHj16tGfPnqdPn2pqatIE+vr6BgYGdKdKlSo5dVXu/kRLQedlqhh0js6lpnNn5zHDhw+vXcdUQUHh27fo79++/fj+7Tv90H168C2a/hMJhTdv3pSR4Xl6ehZodgD5wc12hOEbQV9X/vOE7gxrV6lzA3XRz4l+Tnb65Pnp0+Y6Duy7cNFcObmfgfmfQ8eWLf1bW0dr3Dinvv16ycv/Om4hJSXl+vVb589d8vd/6HvnMnO52qmTZyclJ2/etlZyfpmX2c2n39MLhCLvxwmn7sbGJwuZZxTleB0b6naor6sgV7DLKSkpyFbSUMx7upx9/PjR2trm2q171arrcX5+VsdDggOzL7+AozoXaPoy1nkxT/32TWR6WvK1a9cKVAYAVFi07nXp0qXM6/Syjv6Kvnz5kjJwYGCgv78/5eG4uLhKlSorKSsrKSmrq2uoq6uLj4xVsn+is7m2ffF1XpKVF/Bfl3L9z2i57byAS1fBVgPL0MdSoL7LVOWl3fnHjx/omcb2jStVpv/9q3LlX4+UlZULVBJAgeQReoe01ulmr5EZeunmTeTb0aMmJSYmLV3+v9atf56+m5aaduzYyW1bd0dHfx8x8o+RI4fqVNLOdmbFG3rvhScd94n5GsNn2mR4XAfryt2bVFdTKsDFhzNpqSmoKhVpwPShQ4dVqaY/c87/itIJ5O7alYv/7N917tw5tgsBgPKhrIXerGJjY5lTgh8//nkbHv60enU9C0vruuaWFpZWdKe6nn7evQAAlG03b1zbs30j/UFmuxCooLLPh5nH+R688a1jfXVZscsxGNSqefGy1549B51HuzSyr79k6QJDQ4MhfzjSz82bvls271y/bkuz5o07d27fqXM7Xd2qOc2Y+/vaRpl3JJ7l/M7C4pMx7aFvUo7ejnn9Je3XxFxOQxPt3s31KmsoFOjNZ6LArKJYmKic6cGDB943vO/cDy5KJwAAUNFoaGi0zMA8FAqFz549Cw4OpgB8aN/OoKDg5ORkC0tLMwtrC4ufGdi0rpm8QiH/sQMAYIuAz5eVLdLKNkBRZL/wmeirycvy0vg/jxleefTzjL5VFOT/vcSujKzMqNHD+vbrsXK5u0OLzk6jhk6aPFZbW6tV6+b08/bNuwsXrpw8eXbunIWWlubde3aZOGlMcY1d+eZr2pFbMSGRKZktZjXV+7XQN6hapCMi1JTli1jh8uUrxoxzUVLCgRkAAFB4PB7PLIOjoyPT8u3bN2ZX8KOAu3t2bnn+PKKmQS1Kv+YWVuYZu4KrVMlx+zIAQBmRnp4uK1ukYyoBiiL70FtNW2mFk838PUHJacInb5OXHf48vW8VDRUZ8Wm0tDRXuS3+c+QfC/+33NaqWf8BvZzHjTQxqV3ToMbYcU708+NHzJXL3gH3H6anpcsrZF4dl8IlV2IfL5M3RWI7eMUxjdGx/GO+MX5PEzMPx65RWZnirkUt9SJ+BApyMqrKRf0S9uvX133t+rHjXYrYDwAAgDgdHZ02GZiHfD7/6dOnTAzetXVDUNDPI4wsLH8GYHMLa7pTx6QudqcAQFnDFwgkLlkEUJqyP6eXEfE+fu6uoPjknyfNaqnKTO1dtXb17A+pCg+P2Lp51/Hjp5s1s3ce59SqVXMeL5txpKa4zEpOScnmnN5cJSQLT92NuR4Yz/81WBVHR12+dzO9xmY6BeonWzI8blVt5aJfrIg0adJ0yPBR/R0HF70ryAnO6QWAAin75/QW3efPn8XOCn4cGRlpZFzbwsLKzPLXEdHaOsXwzyUAQFGc8jp289rFf/45xHYhUEHlFnpJ5JfEebuDomN/nj0ry+OM6FCptU2O17z9Fv199+79nnsOCoSCzp3ad+3eycGhOTPIM6OgoTeNL7oYEHfePzY57VeRKooy3RpXb21TRVamGGKqnCxPR12RboveFQkICOjVu/ed+8HMQc6vXr74+OF9Pl9bXId/S1Pn2fb8IMA/wN/30sWLJTRTAJAyFSH0SkhLSwsLC8sYIPpxYGBgSEiwvLxC7TomBobGRka1jWvXqVmzJje7DdPFopT/USj7nZfTsku083JaNqdEyy7YgK4F6bnMfNqXLp57ER66f/++kqsHIBd5hF4Sm5i+9GBY8KsY5mFDE2WnjpXUlWVymp469Pd/cP7spfPnL8fExHbt1nGN+wrmUkZM6N2ybV2eZQlFnJvB8V6+MTGJAqZFXpbbvr5up4a6SvI5zrpAVJTktFQVivdPwbBhwytVrT5r7l90v2eXtgJ+urp6jtsIJIgKcc2Ggii5zku0bImD3b9//1apUqUbN26U4BwBQIpUwNCb1fv37zP2Az/28/OjO1+/ftXU1GSOM1RSUlJUVBK/SFKRifBvmdR0XrL/vONXWVo9l2jnBep5zJgxM2e6llAlALnLO/Ryfg4mKdp67sXpux+Yh6qKvBEdKzUxU83zhcFBoX5+90eNHs78gzrFZWZyct6h98HzpCO3fnz6ns485HE5zS0r92xaXUOleM4E4HG5WuoKygrFf8rTp0+frKysL3vf0a9Rs3un1hvWr23cuHGxz6UiO3/+/NatW8+ePct2IQBQPiD0ZpWcnBwSEhL0G92nDGyTwdramm5r165donuHAAAASlm+gh+Pxx3fo46Nkeb6kxGxiekJKUKP019vBMX/0UanZhX5XF5obWNJP/mv5tn7lMM3fzz/mJrZYldbs29zfV1txfx3kjtlRVlNFQWZ4jg6Oqtq1apNmTJl8V9zt+8+UBL9AwAAFJGSklKjDJktr1+/ZgLwoUOHZs2aFRUVZWFhYfMbJWFV1bw3cwMAAJRZBdjb2cyysqWh5sbTz28Hf6WHoZHJc/e8b2mlNqCltpZqUY+M+vAt/citH49eJGW21NFT7ddC37h6sf1DKy/H01RVUJArxoO4suHqOsPUtK6/350SnQsAAEBxMczQq1cv5mFCQgJzoWCyb9++sLCwKlWq2IipVasWq/UCAAAUTMEO8dVQkZs32LyVdeVt519++ZHCnHnrGxbf3EKtm72mnk5+Dj/mSowE8CNecNz3h09IvPD3cdbVdRT7NNe3NdYsUG25kJXhqavIqyiWxiUcFBQU3NxWL5g7Q04ut33gAAAAZZOqqmrTDMxDkUj04sWLXxdJ2rWLbmNjY5kDoRmWlpZKSkrs1gwAAJCLwuTAZpaV7c10Tt35cMg7MjFFwBf8jL63QuLtjJXb2qrbGCnlfgWgzOeSUoVn7sVcCohN/zVYFUdTVa5nU73mFpWK62QiBTkZNWU5pRI4fTcX/fv39/DY6Od3tzRnCgAAUBK4XG6dDP369WNaYmJimAzs5+e3devW8PBwfX198V3B9JDdmgEAAMQVMg3KyvD6tazRsYHusdvvzt37QNFXJOI8epFEP2pKvCbmas0tVGvrKXIzIu6/I2X9zrLpAtHVh3Gn/GISU35de1dJntelUfV29aoUywWEeFwuBV2Ku8V1OaKC2rBhfYMGDViZNQAAQInS1NR0yMA8FAgEz549Y2Lwpk2b6DY1NVV8V7CFhYW8PI5+AgAA1hRpFyilypGdjAa1Mbh4/9NJ33dfY34OQBWfLLzyMJZ+VBV5lobK1oZKFgZKVTT/PfLZJzTh2O0f3+L5vyqQ4baxrdLNvrqyYlHPtpXhcRUVZJUVZBXkZNgdeNLW1nbbtm2mpqZsFgEAAFDyZGRkzDMMGjSIaYmOjmYy8I0bN9atW/f8+XMjIyPxXcFVq1Zlt2YAAKhQ8nXJovwQCkUBz75fD/zi9zQ6LV0o8ayyAs+gisKLl5F8WW0R71cAplzaxEynVzM9bbXCbwCWleHJy/HkZelWpqQHqQLW4ZJFAFAguGRRWZCenv706dMgMTweT3x0aDMzM1nZUj0RCQAAKpRiC72ZklMFPqFR955+e/zie2KKIKfJrAw1+rWsoV8pz6EvqDwuj/vzskk87s8fLu/n0ctysjz6oayLawlWKAi9Us/b25siCttVlDkBAQH16tVbtWqVVAaDuLg4emuUi0qi83Xr1vXu3dvAwKAkOi9pz58/l5eX37t3r6JisV23r4z49OmTeAaOjIw0MTER3xWso6PDdo0AACA9ij/0ZqKew9/FP3r+49n7uJcfE77FpjJzMtFXG93F2Nqo2AZnhooDoVfqOTk5JSQkNGzYkO1CyhZXV1e6rVmz5pQpU0aPHi1lF0319/d3dHScOHEi24WUOczvXVdXd9KkSRMmTNDQ0GC7opKSmpoaGhpK6TfzUknKysriGZgiMY/HziAdAAAgBUow9EqIT0p/9SmR7tgU37WIoKJB6JV6FHqbN28+YsQItgspW5hDWh49euTm5nb16tVRo0ZNnjyZshDbdRUPCr0U5v38/NgupMxxcHC4ffv2kydPVq1ade7cuZEjR06bNk1qfu+5e/funfiu4A8fPpibm4sfES3FmwAAAKDYld6RcmrKcoi7AACFZmdnd+jQoTdv3qxdu9bS0rJnz54zZswwMzNjuy4oWfQr9vT0pBC4Zs0aCwuLfv36zZw509jYmO26SlaNDN26dWMeJiUlhYSEMAH48OHDdF9bW1t8gGj6QHC6EwAA5AQHCwEAlCcGBgbMcLi0lt+2bdvu3bv7+PiwXRSUOEqAzO+9WrVqTZs2dXR0DAwMZLuo0qOsrGxvbz9mzJhNmzb5+vrGxsZev379zz//5PF4Bw4c6NChg4aGBn0s48aN27p1q5+fX2JiItslAwBAGSKFY6IAAEg9LS2tuXPnzpgxY+/evaNHj9bU1HR1de3Tpw92dkk3bW3thQsXzpw5c/v27T179jQzM5s9e3br1q3ZrosFRhl69+7NPIyPj2fOBw4MDPT09AwLC9PV1RU/K7icDmYGAADFAqEXAKC8kpeXp8Q7atSoM2fOuLm5Uf6ZNm3aiBEjpG+wXxCnrKw8ZcqUiRMn7t+/f8KECerq6vSr79WrF9t1sUlNTa1ZBuahSCR6/vw5czj0jh076JZSsfjh0JaWlviaAABUHAi9AADlG5fL7ZnBz8+Pou+iRYvGjRtHiQgXfZFusrKyIzKcPHly3rx5Q4cOTUxMLLXBKcuj2xkyH44aNYryMIv1AABAqUHoBQCQEk2aNPHy8nr+/PmaNWtMTEwGDRo0bdo0IyMjtuuCktU7w40bN1asWPH06VMnJ6fBgwcrKSmxXVeZ5urqamtry3YVAABQShB6AQCkSp06dbZu3bpkyZINGzZQDHZwcKD1e1z6WOq1zhAYGLhy5coWLVqMGzfOxcVFW1ub7brKqMqVK7NdAgAAlB6M3gwAIIVonZ5y7+vXryn/ODo6tmrV6vz582wXBSXOzs7uyJEjd+7c+fjxo4mJydSpU9+/f892UQAAACxD6AUAkFrKysqTJk168eLFuHHj/vrrL0tLS09Pz/T0dLbrgpJVu3bt7du3h4aGysnJ2drajhgxIjw8nO2iAAAAWIPQCwAg5Xg8nqOj44MHDzw8PI4ePWpoaLh69eq4uDi264KSpaurS7/oly9f1qlTp3Xr1r17975//z7bRQEAALAAoRcAoKKg5HPhwoVLly6FhYUZGRnNmDEDx75KPQ0Njblz575+/bp9+/YDBw6kZeDKlStsFwUAAFCqEHoBACoWS0vLvXv3BgUFcblcW1vbYcOGhYSEsF0UlCxFRcXx48c/f/589OjRrq6u9evXP3r0qFAoZLsuAACA0oDQCwBQEenp6bm5ub169crKyqpLly6dO3f29vZmuygoWTIyMoMHDw4KClq8eLGHh4epqen27dvT0tLYrgsAAKBkIfQCAFRc6urqrq6uFH0HDhw4efLk+vXrHz58WCAwSc3sAAAgAElEQVQQsF0XlKyuXbv6+Ph4enqePXuWOcc7Pj6e7aIAAABKCkIvAEBFJycnN3z48JCQkCVLlmzbtq127dobNmxISkpiuy4oWc2aNaPQe/nyZfrVGxsbz5s3Lyoqiu2iAAAAih9CLwAA/NKlS5cbN24cO3bszp07hoaGCxYs+Pr1K9tFQcmytLTcv39/QEBAXFycmZnZhAkTIiMj2S4KAACgOCH0AgDAfzRo0ODIkSP37t2LiYkxNzd3dnaOiIhguygoWQYGBh4eHk+fPtXS0mrUqNGQIUMwvBkAAEgNhF4AAMiGoaEhpSCKu/r6+g4ODr1797579y7bRUHJqly58tKlS1+9emVnZ9e5c+euXbv6+vqyXRQAAEBRybJdAAAA5Mv+/ftZmW+tWrUWLVrk6enZrFkzVVXVefPmzZ49m5VKoHTQb3nGjBkuLi779u1zcnKiJEy/8W7durFdFwAAQCEh9AIAlHX9+/c/duzYsGHD2C6Ek5CQMGfOnKZNm7Zs2ZLtWqQfl8vNvGVRRERE9+7d6c7BgwcHDx7MbjEAAACFgNALAFDWHT16lO0S/mVra6upqcl2FRXCxo0bBw0aJBQK2S7kpydPnuAsXwAAKKcQegEAAMoiS0vLspMzJ02apK+vz3YVAAAAhYGBrAAAAAAAAEBqIfQCAAAAAACA1ELoBQAAAAAAAKmF0AsAAAAAAABSC6EXAAAAAAAApBZGbwaAsuvhw4fr1q2TaLSzs+vfv3+NGjUK2ltkZOSxY8dSU1Pp5aampsVUY768e/duy5YtdLtq1arq1aunpKR4e3tfv369V69eLVq0iI+PP3/+/OPHjwcOHGhra1uahQEAAABIPYReACi7KCUeOHCgfv36zZs35/P51HL16lWKizExMWPHjqX0WKDevn//Tq9NTEx0cHAozdBL72Lp0qWHDx+Oi4ubN28elS0jI6OtrS0vL08l0QR0h+p58eLF69evjY2N1dTUSq22smnbtm3JycniLSoqKk2bNrWwsChEb35+fg8fPqSX16tXr5gKzNunT5+8vLzS09O5XK6BgYG9vX21atVKbe4AAAAgDqEXyrekpKSPHz9GRUUxiYjSQs2aNbW0tGhFs+RmSvOiNdrIyEhdXd06derkMiXVRpMJBALxRgUFBXNzc1VV1ZKrUMpQ1Jk5c6ZIJKL7FA43bNjw5MmT+Ph4ekgpMSgo6NixY3p6ejY2NoMGDeLxfp61Qb+j4OBgf3//gICAPn36WFtb04Ih0S09RTmTAgk9S7+OS5cu0fTUW69evezs7KysrJjJEhISjh8/fvv27aFDh5qYmNCd2rVrN2zYkJ76+vUrTX/hwoWqVau2bNmS6UdiLnfu3KGCqXNKvJmNcnJyNAtKQRR3ORmLBD2sUqUKLSpMSwW3YMEC+lIPHjz4/fv39Cm9fPny2bNn/fv3nzZtWiFyL334q1evXrZsWamFXvr78Pfff2/atIn+RLx9+7Zu3brOzs6TJ08unbkDAACABIReKMco8V65cmX37t03b97U0NCgtWQjIyOKPWPGjKEQUnLzTUlJOXXqlIuLy+jRo7dv357LlF5eXvPmzRNPO6Ry5cqrVq3q168fdujlE2XCzJ26lCozNyJ4e3uvX7+e4hBFXxUVFS0tLcq6w4cPp1/QrFmzfH19ozL4+flRIp0/f754n2fOnPHw8BAKhdSuqKi4efNmWpAon3z79u3x48c6OjpTp06l0EW/u9mzZz99+vTevXsPHjxQV1f//Pmzo6MjhV7qecuWLZS33717p6SkdPjwYZqyR48eysrK4jOiCc6ePduqVavAwEB6rfiborwtPiXl9hL5+Mqt5cuX02+EPpagoKAVK1ZcvXq1devWFHrpi89s7IiOjjY0NKQom/nRff36lZ66e/eumZmZiYlJrVq1mI0gmRITE+n3SL8veiF9E+k3Qg/pJZqamra2ttSYudmCFgNahGrXrk39fPz4kZY6erZmzZp0JzIykpa658+fN2nShOlHonJaWvbs2UPPOjk50VugDL9///6+ffvq6+uXwucGAAAAEhB6oRwLDw93d3cPCQmxt7enDPno0SPKwIsWLaIV02HDhpXczl5aLZaIK7mj9W9LS0vmflpaGq1JL168mNaVKQiVSH1SJyIi4v/tnXV4FVcbb0+Ku7trcXcJUqy4OxR3t6LFi7tbi1OkuBZ3gjuU4q5FghPgrjv7fvOcm4QUQkJI+K0/eM6ZM7Nny7uHd2Vs5syZfGCI161bh4FUrFgxUqRIBw4cwEwYcczk9OnTaGrv3r2R3kOHDs2aNQurxJqiRo06derU9evXo0bm9CysWbNm586dCFLnzp2zZs0aPHhwTAZ3HTt2LFoyf/58Nlm2bBlBxX6XLFmCa2FceA4FXrx4Ed11WNqM9ObLl2/gwIGo1JAhQ3r06JEqVSpPN+Vmzpx50aJFOHmrVq2cpVf8J4ksHNa1zXHixDG9h+guX76cEWTi8xmtrVq1ar169eLGjbtp0yYGxfyFgoEgKn755Rdmn13gkydPpkyZwlC6uro2a9bswoULDDQHjStXrhBOGTJkKFGiBKEVK1YsAmb69OmMeOjQoSnn1q1b7969IzDev39/6tQpwgDjPX/+fK5cuSiqSZMmnrw3RIgQ6C4F1qxZkw0JDHZBIZJeIYQQIkCQ9IpADPLz+PFj8shBgwZly5aNJYMHDybrtU+1scKRI0fu3LlDDkpyjHlGiRKF5devX3dzc2NbPkeMGJG0OFmyZGS3GzZsuHHjBuny5cuXX758Wbt27ZAhQ2JZZKusiRqxWt68ee0KPHjwgIyZ0vicJk2ajBkzhgkTxms9y5UrhxeZM06PHj1CyPfu3Xvw4EGk99WrV0gUaTrLcenvv/8+RYoU1J+67d6923akmDFjFi1aFIvj82+//UZzSLU3b97MV1pEOaZdL168IBEnUzfnlpF/jM78hCTQD6x56dIl7I5EHAlEz/hAY7dt22Z2RCekTZuWhjisc2LYJsn906dP+UpRdFSAXHxLX9EuhyUt7u7ujAuSEz169JIlS+IV9Njq1asZUA8PD9SCFu3YsYPPLVu2rFGjBn1FM+lPTMaMI5589uxZc3tt9erVCQAWsiZdyraoFDKM2yRNmpR/r169SlG5c+dGbukxogJ3ZX28l3LoUmTs9evX9Bi9TTWeP3/uqfJVqlShDnxAq750xwVymFz8yxyhY/fv389IYbZMOoyUnmd8mTVr166dNm0aU5sx+v3335cuXVqqVKmePXuyPm7M6AwbNsyUxtCMHz8ey0ViGWvih6nHTKTYXr16EWAUxdATLcy7MWPGbN26leVMRoKKohh6DjVMMRYSYA0aNGBksetJkyZRQuvWrZ1rjgybIxKznmBzWEePJEmSfPEuFEIIIcT/RdIrAjHonElJ//jjDxQR/8FIMZPChQu7uLggMP379ydzZTVzQSyGgyxhMvPmzZsyZYoRVLJYjAX/IUkdOXIkeTaF4DMoX8WKFXHFLl26YDWxY8cmFcavxo4di9+aChw4cIC0m/wbjaQQlDtPnjxe64l7o2RGenE2BIz6kIKTzZNzk4ijqRgvNYkXL17nzp1R0xUrVvTr1w/DxJRIxGkONUT2zBkk7JeGHDt2jEKwr06dOvEVX8VdJ0+efPLkSbrl33//jRYtWtu2bStVqkQPDBo0iC6iBKqxc+dORBc3QADChQvXp08fVCF9+vTUh62yZ8/erVs3upH16RDqFiFCBHQxR44c3bt359cv770MTYkSJfDPnDlzUrEYFsGCBcN/6CW0nA907Js3b8z6CC3NRHjMnz9s2TDS627hsJyqWLFilMnnXbt2jRs3jnF8akGQ0Go6ZPbs2RRlyuFf+0wda6JMfCD2MCJ+Igwc1tUHWJPzFc72Z0/X2Yr/xFyRzrAyHxnxJk2a0Ld0Ix/MxeHYLzOCYKbzT506ReczDYl5BJjPJUuWZArY93gzTDdu3GDW9+7dO3/+/CzEfglpJiOFM9b8RGwTV+bS5axZs1arVo11KHzWrFlIL5vw08qVKwmD0qVLUzKhxVRFfT1JL0ZtPlAN5Jy5yby2FwohhBDiCyPpFYGY1KlTV6lSZcGCBRMnTsQY8TGWkM6iwcmSJdu+ffv06dORpY4dO5K2Dhky5Pfff0eZyJWRIpYjPBSCJZINU445M+Owno1EVo3zkKqif6TUM2bMQHo3b95MYk2Ca0svuXKNGjX4lxVWrVrFr95KLzXBkcxn/Hn//v0k5WXKlMEwyZjRrVq1avEVF6WcP//8kwKXLVt24cKFOnXqVK5cGf3mJ1J/8yQnIE0nfcdjndtFfo/EHjlypEKFCj/88MO5c+do/qhRo1KlSpUvXz6zIQsRiSJFijRo0ABh2Lp1Kxo/Z84cWkd+z5o0Accmv0fUqQlVrVq1Kvk9xVI3yk+QIIHXJ0L5N4xmq1at6DoEkkGxl/ft23f16tU4DDXELurXr09fmZ/oruPHj5vPdD4dmCtXLntDGkUM0PwtW7Z8//33NJmO2rNnz+DBg3/88Uf6k68O6yJVxoUx8lolejtmzJh8aNq06U8//WQvZ6FzDcXnUKhQIXOBMUoZMWLEwoULR40alSFmsi9atOjevXv8SqCalR8+fMjytGnTJk6cOHjw4Oks7KKQ3kOHDvEhbty49mQ0V0Yw7rdu3bppgeLaF2twMAkXLhwfYsWKZe6VYALu2LHD7It5x+ZmBXd3d2ai1+cInDlzhvCg/OHDh9erV88/u0oIIYQQPiHpFYEYMmBSyYwZMyI8WA2ZKJ62adMmUmHs5bfffvvuu+/ixYtn3hpCSoqvYno4Uvny5Ul8WW5OEnoqNmfOnD///DPrb9u27eLFi+TBdevWfffuXcqUKUmOnZ8+lTVr1kaNGjmsU75I74fqiYSzrcN63Q4ZPHtnq8yZM7PVhg0bELnIkSNTmfDhw5PZU0mSeyyUr4cPH+ZX9pghQwZzrbUpkEL69OnD3h89ekRiPWbMGNpFtekEhLZz586o6ePHj0niMVVc3bZ0/L948eKUs3DhQjahYkgCEksnmEu72VfJkiVRdzc3N6w7SpQo/BoqVCjqj+axScuWLb+89AYLFszrU5HNTZWvXr3CMxkjOgErdlgnVJs3b46T4LQnT56k8tT50qVLLVq0KFCgACvkyJED548ePXrXrl2XLl36ww8/XL582VzGXKJECfqKr+bvC0hv0aJFZ82aNXfu3Hz58r19+3bEiBFm7/Hjx0+aNKnDumiW4TPPu2JAiUDG5Yv2TtDF/LmKUUiVKpW98Pjx47169UJr69SpQ7Rjv7t27bJ/ZV7b7zoiXIlVO/iJbSby1KlTOTLkz5+f2GYF89rkmjVrotAU9Z9VYqztoswSJiaz1dPTy+D06dONGzdmOhOZrGyuohdCCCFEgCDpFYGYEydOoG1obf369ZGTp0+frlmzZtiwYfPmzfv111/NnasIzJ49e/AZUlsyXbJVNiG7NT5JJmpelOpMlSpVTGq7f/9+SjBXtKJSiS18UU9Uql+/fpSQOnXqyZMnk5SbJB4vRVmxa6SdHT179ix9+vSsFiNGjKZNm6KmZPOzZ89m/XTp0uGlnTp1Mrf1IoHGrPABlA/1pQS2pS1x4sTBeB3WHaR8oI38xAqmJpi2MedcuXKR8bMvajJo0CD2Qk1YQsORCuzRztHRRXPZMHWgq82pra8BnDN37txUGzXq0aNHihQp7DPhdAK2j3IULFjQxcWFfs6WLVvhwoXNVe73799/+PAhAYMyISTbt2/HSdiEUGF9+ta8wnfkyJE9e/ZkSaZMmeh8hJkutU8Dslq1atWIQCSKeGP48N7u3bt/6L5NVvgivRKkiGnhvIQ5wsyl20uXLl22bNnz58/bipszZ07i8+DBg0ePHsV1p02bNmvWLKbJxIkTHdabkDHb9u3bO6xnqq9YsYISdu/eff369ZIlSxIqK1euXLx4sSmKzTlQbNmypWrVqtGiRRs3bpy5tplYMtdFMw2ZQcTMpk2b2AsLiS5PlW/evLmbm1vDhg05On09s0YIIYT4NpH0ikAMOSUZJ2rXu3dvIypYDRmquXUTw9y3b1+GDBkqVar06tWrU6dO3bt3z2gSopI3b9527dphfbiKuTnThg2NW1Imaa55Dg3cuXOnb9++qI45YfjxYE0k3+yLDJ59kUwPHDhwypQppMKk16FDh86TJw9lYlZUEpsid+czmTTpOFn+33//PWLECPSsVatWpmI4/Lp163788UdycVQtfPjwdAJKhthfuHDh9OnT5uwW/UDraLInc3AGUaQCODaVuXbtGkk8PoDbY/5mhYwZMyJ+N2/eRIOjRInir++C8krKlCm7du2aI0cOrz/RUYMHD8Z1zdWqbdu2pUuNnIQIEYJhosIokMO6p7dWrVr4Px3CctahQIajTJky9Cdd9Pz5840bN6JJ5r7czp07Y7xmL+ZBvrt27SJs6IerV69Wr17d/MSu+/Xr5+rqeuPGDYf1JLPixYtHjRrV24acO3fOvHgpeHAddX0PfZjQ4sCBA02aNGGg79+/b36ib/FMoqV///4zZ85EjBnuOnXq2Fcmv3v3jkj46aefNm/evHr16h9++MG8ipmhJypev36NP+/fv58JVahQoSxZsixcuHDChAnMOwLGvAbc7KV79+6jRo2qV68eU4Z4YKHz9e2G+fPnHz9+nMPRsmXLdu7c6bAeQEB82i9/FkIIIcSXROmXCMSkSpWKZJT8Fe2pWrXqw4cPd+zYgcMgbCgNSS0ag2FmzpyZzHjOnDnIZIkSJa5cucI6LCErJc01aau3IKIo39GjR3v27IkA7969mzyY5PVTpdeGCpjnxG7YsAG9RJPKli07e/ZsSkaWDh06RDpu7vUlPz5y5AiNatCgwZs3bxA880hhUw5ZOOWYZ2hRJRyAckjoixQpsmrVKoSNtpPxs4sYMWKkS5fO67XBBpJy5IHW4W+tW7cuVqwYST99Qv/QXlx97969yEO0aNFQPnoyb9685kboL0bq1KkHDBjwoUdAoUDNmjUz3UIX0Sd2F6G4FStWLF++vMM6QWdKwFjwE9YxX+l/QoivbMvXNm3a2EVhsw7rucF9+vRhLBDd8ePHP3782H7MtSmWzdFysxVl+vCWLNY0T9sWHwORbx425ongwYO7uroOHjx4/fr1fM2ePTvzhaAlgB3WJRVMlu3btz979qxw4cIcB3Lnzs24EMnYL5OCz8mTJydmmIMXLlyoWbNmmDBhCHK2zZMnD5HPpIsePTrzpVu3biw5e/YswV+wYMHixYtTMnMBa23VqlWECBGYEQ7rbnMMmZI91XP06NHmCer3LRzWo63MX2SEEEII8eWR9IpATNasWcllhw0btmvXLrJYslI8EE3q27cv3kImSlK7YMEC8ld+Igcl98UMnz59mi9fPmQPVY4TJw6qTFGor0lSHdZJOXQoZMiQkSNHnjVrFmnuxIkTSXMpnPUbNmxICZcuXfr4epIrv3v37jsL5IdEfN68eebkbY0aNU6ePIm379mzhwokTZqUPJ68HFFHWdHXpUuX4sBUEvdzfh8Svmq3i4wcHQ0RIgTtpfJLlixhWzJs6myeSu21SuYhT+aa7bRp065cuZL8PlKkSFeuXGF9akXbTd0oDUXHB7B99oIDfNaYfSJopDHSD+Hsw57c2NttXSz+c3PzGcViOFAsXNcuingoW7bsh3Yq/ISuXbt+6IJworRcuXLmzWHmLVB4rwnLsGHD8jl//vzmxGy8ePHMqCHARLW5Z4FNOGgwhVkZEeVzyZIlHdbNuuyxYsWKLNy6devUqVOZSm3bti1WrJh92795aXDs2LGbNm1qnJxJR4Feb+jdvHmzp/rbzwAXQgghxJdH0isCMUhg7dq10bYdO3aYl+4iJIUKFTKXOpv39OTJk+fYsWOkm6gmiTIfMmbMOGrUqI0bNyK65MfkuDhz3LhxEcjSpUujnQinebEqIISHDh0iA3ZYaXH9+vVZgXSW0po1a2Y/FTlHjhx8xbc91ZD6IMnm2mazJHz48J07dw4VKpQ588NP5j1Jly9fxqgRdfZOJT21C//E2M21zQ4ruZ8/fz6p+YULF+x2sdzV1XX06NEY7/Xr1xMmTEjr2Mqc5i1fvjyVsV8VW7Vq1RgxYmTJkgUxGDp0aIECBU6dOsXyyhbmNuYMGTL06dPHvBPVlED5dh2+BVAmQoLRIQZWrFjBWGBBBQsWNAEm/A/71VDeQrQ7P03N+QXIYS08rR/JwnxmJka1MF/DWdhrGjFm1ty6devw4cOzZ88eN27c8+fPnz17xmQxN7q7uLhEsfChhs6PuxNCCCFEgONiXw0oxNfPmjVrJk+e7Ok5ycgq9mieUYSSOZ8OdVhXAgOZbujQoe2nH7MyC9mQlREbe4UXL16wkITV0xlC8yAoFtq5rIeHx9OnT+3dmb2QbXt6h625UZDVnF9jYx56xB7ZFrvmq9lv8ODBTX28tots29Zmcm4yeKpktnJul3PTKJmf7NKoLXW2y3n16hWrsQJ14yDAZ5Y4rDNXzg7AJvYNjSy3/xbgfzRs2DBfvnz169f37x0JX4MTYoMZMmTwqwLd3NzatWtnLjP+Srhy5cqcOXOOHj3KMadatWoEf4cOHZIlSxbQ9QpIWrdunSpVqpYtWwZ0RfyGINYcIYQQPqMzvSLQE8LiQ7+GtvC0EBV0Vjv7ltcPPWTVnP9xBkF1XujtXhzWM2M9abDDOtfkvC1fvd2vz+1yWCe6PRm+w0vTbDzd1hvKwnzGor0tymE180P3AwsRhEmUKFHbtm3d3d2HDBkSKVIkc344oCslhBBCCF8i6RUikNGrVy9vBVsI4YdEsAjoWgghhBDCD5D0ChHIMA8WFkIIIYQQQnwMkl4hxNfLyZMnS5UqFS5cuEiRIpkn7pon9JYrV+4/b7Bs06bN2LFjP2l3+/fvnzBhwr59+3LlynX37l0PD4+SJUuyu+TJk39GI/yAZ8+ejR49etu2bWHChIkaNeqNGzfixo1bt25dry/L+UhOnz7duHHjRIkSjRw5Mnbs2H5bWyGEEEKIrwpJrxDi6+X169dv375t3bp1tWrVzFP3jhw5gqddvXq1a9euPtiam5vbzJkzP0l6V6xY0bdv3zp16vTr18+8wIY98nXo0KG3bt3yg8b4lhcvXlCH+fPnT5s2LVOmTN99993ff/89ZMiQKVOmYP6JEyf+1ALv3bs3efLkO3fuUNq8efM6duzoD7X+LLp06XL+/Pl48eLR8/x7/fr1fPny5c+f39v3bzlz8ODBYMGCpUqVytt71L3l33///euvvzZt2hQqVKho0aI9fvw4SZIk7Ct16tQB/pIhmrN+/XrGK0aMGE+ePHn16lWWLFmqVq368a0z0MA///yTeH769GmkSJEePnxIS3Pnzs20+gJPpxNCCCECHEmvCNy8fPny2rVrBw4cMHnho0ePyFPTpk2bJk0ar89zIufbvn378ePH27Rp86ECr1y5sm3btowZM+IDvqgPm5OnkkZHiBCBDBVnS5QoUd68eT/0iCyfq4F3PX/+3Ly1yFC0aFEq9k3lqTgenWk/RqhQoUIo0MCBA1OmTNmiRQuWnD17dseOHeZ9y0gRuhIyZEhWoOtGjBjh6uqaPXv2Z8+e7dy589ixY6wTM2ZMFno9UYxVEjbly5c3r2M1LF68OGLEiGPGjGnYsOFvv/1WoEABYoMRYY8O6w2x/Et9+Ep9Hjx4gKASh6dOnaI+mTNnZkf2Ddi7du3avXs3ZsVC1IUllHPy5Ek+4J/Ulpo779oZ6u/i4sKG5uHbNLNRo0aYzNu3b81DjxEYsya9QZCXLl0aVzx8+DCficN8FnZp6BN17t69O26PSNPkr+25xFu3bo0bNy6tYM4yd9zd3ZHSrl27Tpo0KUWKFD5suGLFigwWH7mj27dv0wMnTpwoW7ZswoQJGSy6i9Hs0aNHp06dihQp4het8SUMHwFMuBYvXjxWrFgcTFavXj1q1KjEiRMTKp/0gmg6kJ4kfmLHjs3soI0cYUaOHHnkyJGhQ4f6/CpsIYQQIggg6RWBm0OHDs2ePZu0OH78+O8s7t69iwaQ4pcrV868V9MZMj/W8aFAs4LvXuV19erVGTNm8G+6dOmoEuWQU2JNYcKEwUmCB/+E6Xbx4sUpU6bgV6lTpzZvLRIGEnQMLU6cOG/evOHrkCFDxo4dW7Ro0SRJkkyfPp3RX7hwYbRo0RBCBnHLli158+a9efNmlSpV0Ju6deueO3eOEcGmhg8fnjRpUrtYZAn/RAMox3l3YcOGzZMnz4ABA6pWrfrrr78ylAzKv//+y15Onz5NZUqWLIk/mPOEmzdvRmvv379PfRCnGzduzJo1q2LFimgGe6QyeBTe0rdv3+rVq+NvlDN58uRt27alSpUKM6eq7du39/DwYDVn+yVyiB/Wr1evXseOHakAAowIFStWDPOhOShi//79c+TI4bCec0bsUavmzZsvWLCgcePG4cOHpz6FChVau3atw/o7EXU7f/485oz9RooUCU/+2qTXYT0/mZ63HyXF19q1a//8889Lly51WK/gOnr06KVLl/gcI0aMTJkyoXMcDeh/Jh2jVqBAARr+zz//8NW8jgsTpus87eXChQurVq2i5EqVKtmnTwkMhJMdff/99wQM/Un5+PCZM2fYabVq1eh2Zjefr1+/jn/S/8mTJ6czqQ+xx8oYuymKGKACDx8+pIdZbk4dU46J3uPHj2fJkiVNmjTe9sC9e/eo/w8//MDwmb9zobvs9PHjx+ydwa1Vq5ZZEx9mEKkne7l27Rr1Md2SOXNmczUEwRkvXjxGnEgzm6DBBPy8efMGDx4s6RVCCBHkkfSKQAwaQ2JKkkfeZp/bQSSGDh2KfJLwIZ9kpSa/JB/FZ0id7dOkpMKkvLdu3SIvjBIlCmpEyogDUI+zUTkAACAASURBVFSsWLFY4cSJE6SDpMJkruZ0mf2aH29Bd7dv345d4Bvm1G7OnDkRmMuXL5Nuurm58dWoLz7GrklqkRm7GuTopM4kzXaBJMRIi/90XiAGzXB1daXTkDdMsmXLlnQ4I9i7d28sBe3BUVE7VHPNmjX4wJ9//klX8685e49/jhgxAutzll7zFxNvz54xoEQC9oVzHjhwgBEhxtAVsxX/Ug2GHql4+/YtyooPm9OqDN/evXtLlSo1ZsyYDRs2mDikPkuWLOnTp8+xY8cok01oC+5h9oXm0YQECRI4V4CIRXHZ77hx4+bOnUtLCxcujDbjafzKvtatW8eOkF7Mh0lRoUIFwph4Q/J/+eUX9oI42Sctnz9/vn///ogRIxLnf//9NxVA+KmkPwyUX8LcpIFG55hQtIsRROGYPgcPHqxatWrr1q0ZFKY5Yrlz58706dNzEFi8eDFTjJk1f/58rHXOnDnOJ4GJCtpOf2KPzhcMM5SM3ezZs8uXL0+Hx4kTh72z+Z49e4YNG0YHNmzYkIHevHnzlStXUqRI0bdvX2Yuy2PGjMlAsFWHDh04qixfvnzKlCkmMCZOnEhtiUy+Ug7LU6dO/ezZM4IQB2ZkqUPevHmdmxw/fvzo0aPTBPSVEWccqQmxxCGCwwjRTkQRkw7rSNimTZsWLVpQq549e96/f5/mE7QUznKvqu+wnk39888/z5o1a+bMmTrICCGECPJIekUgBm04dOhQjRo1nBPZqFGjksGjARs3bkRx9+3bR14bN25crJJUlfxy7dq1eMKDBw/IO//55x8SShzmxYsX5MrNmjWjBJZTQrly5VCR06dPGxPetWsXNjJ8+HCSY7YlFcaFPF1FSfbM3k+ePIkaYbmk2mnSpCGzZO94y5AhQ6hA2bJlXVxc2B1ZO4aTMmVKU43EiRM/fvyYnLVKlSpI3ZfuysDG+/fv6UZ6D5nEKPhK102bNo2h8XSWHvUlQlBEY6RoHs5pSvikPVIO8jB06FBEl71EjhyZAFi5ciUiffHiRZwkV65cv//+OyaDqDjX02FZMT6DpZiFxJu7uzuhW7BgQVZ2vjO5cuXKtMvr3om60aNHd+/effr06XgdCodcof2dOnVKbEEIEeF4DoUTljhtzpw58Rk0HmEuUKAAfmWKunv3LjJGZQjChAkTli5deuzYsevXry9RosQndcgXJlSoUExP6onYP3nyhInctWtXOp8enjx5MtO8TJkyTFtWyJ49Ow789OlTdBHbr127drhw4Wgm9rtt2zbnOYsw37lzh751/kuTgckeLFgwPDZr1qzMfUrjQLF79246H9E1206dOhVdxDxZwuhj3RRFDKDcDM2NGzd+++03llMBh3WtMsaL7nIEoP4cJXByggoHvnnzJjHg9WFpLCFuR44c2bZtW44t6dKlo2lYrrmABcEm/PhKBY4cOYLo0li0/9SpUy1btqQ3iJBVq1adO3fOW+kFFJpgu3btmh8OkxBCCPF1IukVgRjyPJJRrw/yITskRyT5I9G/ffs2qSHpKYlvihQpcCRkgzQRL120aBH5KObJZ1JVEla0kyyQfJTkknLIF48ePVqsWDG+Ig8YL/JQqVIlUmE2wXk87RfHRjDYV48ePdhX0qRJUaAiRYpQGX4lsf7111/Jy4MHD456kZ3XqlWLnHvWrFklS5YkKSd1njNnzqZNm2zpxWFIlK9fv26X37x5c3TLX3v162enBQMRK1asY8eOtWnThuEwl2gyNF7XJ0jo2Pbt27MO44j6pk2b1tM6DIr5yei080+vX78OaZEjRw50t3///pcvX2bXDC6ysXnzZkTI58c7I0uEIoFnL2Fzc8UBUWFfcQreGi+NwnjxWzwH73VYF3VPmDCBAKYhRBSRhvURP9hslixZzLXKKCJau3DhwmnTptGoDh069OrVi7aMHz/+0aNH3S0clpYTUQSkuVj6P7o+4KBnMMN3797Rk0zwBQsWJEiQABPGgZkgryzoH9oSN25cZJ6vTOro0aOzhG3N5e7Y5kfuLnTo0GaAOD4QPO7u7g5rHFHQwYMH9+vXj6Enrho2bIjchg8fnkMEtXJYVyATEuydqGArDinMaId1VTlfGSZzyj1z5szEj7nug03QVK/iTesqV67s6urKsF68eHHdunUcNKjDlClTaBTxwN4dVnjPnj0b/6eEt2/fsuayZcsIMHbBkeRTnyYghBBCBEkkvSIIgmQ6X4eMkPz4448RI0a07+ZFBvbs2YPGNGrUiPQxTZo05gmuXovKmDEjRopUUMjkyZPJdCtUqBAjRoyuXbuaHNcZcl/zGCSKwovwDYf1FpzOnTuTjlesWHHJkiXk6Oxux44d1DBXrlx4O4nvtWvXSI5JUtnW+ZZjCiHFp27mKxkt0uK3fRXoQF1I62/fvs3woWodO3ZMkiTJzz//TH4fNmxY+/ZI+0Zoemzp0qUDBgwYM2aMeSTvvHnzcEhPxZYpU4blc+fO/f77750ve0ZUhg0bNmrUKId1EUGTJk1wDLQqQ4YMjCkjjhGxL59PzlMxIm3o0KHmK0OMfbHQ/nOGz+BL48aNw9hprNEkIjxbtmyIH/KP9OJRW7ZsmT9//r1793BX89Cv+PHjsxU1nDRpEiV06dIlQoQIdevWPX78eNOmTe0eQONHjBhBQFJOgL+ZyQcYRyQWF2XevXnzhlbQG+fOnUMvaTVzx9P6zC/GpWbNmkwih3V23Xf3xnMEINJMV9+9e5dZ3KFDByb19u3bv/vuOzwT6eWD/bgymwsXLrDasWPH7DtmmePPnz83J/8JGPsPHJTv1Xgd1h93GMq0adMyXjSfETx69Gi7du0mTJiA8TJeBOfUqVPLli2LSzMF2CR9+vS//PILkYBFm0cJ0Ev/+chrIYQQIsgj6RVBn7x583p63LGHhwd5M3pgzpryr6e7KG2wC/uMnH0ezGTeXlfGwfgXwc6UKRNJ9tWrV0+ePIlHoR8NGzakGhiLeWoR6Tupqsl0SaOXLVtGRhsrViw2rFq1ql1g1qxZK1eu7LyLb/A0L5KAs6GaDksXcRgEj7GrUKECDoCz1atXzyjE1q1bzWoO6wlnDkt1WH7ixAm6mo5lKNn88OHD3u4IQerRo8eiRYv4wLizIaVVr14duW3durXDusY4UaJEeCNinDNnTsYL49q8efNPP/3k83uDunfvzvgiSygozSEq2MWgQYPMo6ecMWeqCTDnk67oMQ4zefJkTDtPnjwO6xLlv/76K0aMGCVLlnRYEU59li9fnjBhQj5HihSJhUhRmjRp+vXrV6tWLepJBcKFC0f40QMTJ060CzenmlE4BPJrll5zDy2DQgwwX/r3709LsfpkyZLNnDnT3OvrDJOxVatWTL1q1arRaQy98xl1Q5w4cYgiLHHDhg3Fixd3/ol9MaYUjpESA/ct6tevzwSkq4lAzBMX9aHCHGGyZ8+OczofKyJGjGimMLHk7Vl9Z9atW8cxpGfPntScsSMm48aNO2/evFGjRhEPlNO2bdtVq1bdunWL0ho1auSwrnnGivl85MiR2bNnHzhwwBx/vC1/2rRpBAbr+1wNIYQQIggg6RWBGAyElB2H8ZSw7tmz586dO7iQfV2x1/zS3M7nt/XBHPCrNm3apEiRgnw6bdq0+fLlI/ucOnWqOQOMwaIuGNr58+d//fVXhyWxpM6FCxc+c+bMzp07Dx48SArbvn17UyA5rtcLcb8pzAXJGMiNGzcc1pOH3NzcggcPbl7Sm8pi0qRJLGSUV69ezUCbE2v4ZIQIEfC9bt26MQpLly5t0qQJsnr79u1NmzZ5+7DismXLnj59etasWSgQ3c7m2BQ6sXLlSrMCLpo5c2aCil9ZGaPOmDEjo0YdzNN6sVPiyj6zh+HgKlSpRYsW+/btS58+PTaC1lKZ2rVro1JXrlzx9Gi0xYsXI3WlS5dGaO2F7Bd/O3bsGAZlrq5H9RF+nMfV1dWsQ8ix6wQJEth3CBcrVsw82JwKXLx4EQFu3Lhx7969kyZN6ulPNpkyZWJDBIlNPukZ41+M9+/f7927l9FhRNzd3fkcL1680aNHhw8fnq4w1x57gv65cOFC3759s2XLRiczs7zexc1IMZREBbMyZcqU9oO76TcGvXv37qlTp3ZYr4Oi6y5dukQI0ZmFChUaNGjQ27dvfX6hEVG3bds2qmcXi2ATKuaU7MeAqxP5S5YsIX7M2Xt6gIYQOSZsGC9zGh+7Ns+F3rFjh7kwgbpRAT7TV97etctxacCAAeb274+sjxBCCBF4+RrzGyE+EpSjQIECKESWLFls7yXDIxFMmDChSXa93ZDlrLB169bLly8nTpwY98CaPr8+iO6CBQtIUps1a2Z8m5QXiUVITE1Io8l6x48fT83Nk1qvXr3ap08f/Pynn34ihV20aNGqVatQu/88C/SNgEx26dLF/ho9enSUI1euXDiPw7oZcuDAgfsssNP169fT23w2vYfwHD9+PFKkSDlz5owcOTLLMWekcejQoXz29l5HXLp8+fL8OmXKFFwFYcY2nU+6opT9+/c31wXgIZUrV8aaqI/5tVy5chiI7au4CiFhhh6PYtwRy5AhQw4ePNi8bIYgyZo1q3MFiAdvL2Kn/jNmzCC67ty5888//5QqVapu3bqFCxe2VyCeqdWPP/5oK1a/fv2oGxa0f//+Bg0aNG/enGIRvDp16njtZMLvzZs39+/fd36qVsBy+PDhMWPGmN7bZZE/f35cjuGoWrVqtWrVOnTowGxCbpctW+Z8Be/IkSNpCx2CEvfs2ZNeCh06NAs9PDy87iVZsmT0TNu2benSggUL0ns7d+7kyFC/fv0SJUqYPwFweGGnT548YU2K4phD3xJX5qz7h6CqZ86cIT4ZAuTZ/DmD4DHn4Z3hkMWsZ++e3l3EaJ46dWrChAnYOwPnsM7NMgV69OhhnjXNJsTboUOH7GekEdWUVrt2bQT75s2bf/31F5FGjK1du5Zd4O3mdDfGu2XLluTJk+P2X+efOYQQQgi/Rf/biUBMhAgR0IyTJ0+2a9eOnDVDhgzXr18nZ0UMyALJej+0ISmjq6srHtK+ffsffviBrNS8afMj9/v48WP8ilTS0yaUeeLECbLbhw8fmpNppOOs/Msvv5gn+pJSo7ssbNKkicl9zZNXSU9RkUePHm3bto38mCSbhfy6d+9eT97Or+Ymw0/sqkAJkoZsVK9e3etPDx48MB/oxuIW5iv+VrFiRXPqr4aFw3rSTzoLs8779+/RYOdCnEFZy1iYrwyl86/otKmP2TaWhf01ffr0Dut2YvOV0OJf++FJdn2cd81Y21+jRYvWq1evD/VGxIgRvb2ell5iF/h8ihQpPF2lX83C/krY4HJeSyA48asP7TdAoJ63b9+mJ8313pkzZ27dunW+fPnMWfRMmTKNHTt2xYoVf/zxR6NGjZg7zCCzYZs2bSZNmsT0YWUUkamNLTMuHCWQQ/zf044IMNRx9erV27dvX7hw4aZNm9gQFXS+J4KdNmzYkF2YWcz6uDT/msqYq9/t6KJu9erVS5w4MTLZqlUrjkJLlixBPgk56sYRgxDKkSMHu7PrcPXqVfSewPMkvZTfpUsXtBz1/f333zm80NKWLVvaf1WhhqwwZ84cSjZLkH/6ZNy4cRs3bowXL9748eMJQvM3oNKlS/PBvLKYHZk/mji/qEkIIYQIwrh86ns7hAhA1qxZM3ny5FWrVtlLkEbSfRSU7Paff/4h6c9lgZGaU3nY7L59+5Db0KFDE+3Lly/fvXv38OHDSf4OHz5MEnz//n1yWTJshHPgwIFYE1JKykuKOXHiRLaqUKGCOW3buXPn3Llzo9mXL1+uVKlSt27dnI3CcPfuXXJcVjh48CCJb9iwYVk/f/789nNufv7551GjRrGCuSCWamDppK0kvrQFKcLe2fDs2bNUA+PydEKS1LlQoUI+vy44UINdYB3GzZCWJk2aBHSNvhzPnj0zF6l+EkTOUgtEvXHjxl/grm+8bvbs2Z7e1/U5uLm5tWvXbu/evfYS58e5Oay/NXi69uH9/7DPw9srmG3NclbgKz/ZXz90DYVZ0xTo9SnWnvblqRwfvn6oWB9q8vF4eHj8+OOPJUuWtG+I8Fdw+1SpUmHdX2BfX4Ag1hwhhBA+ozO9InATIkQIFLFOnTpkfu7u7jgDghohQgT7vkosMW3atMYSyTKLFi2KU6GaSCmCWq9evRcWv//+e6xYseLFi5ckSZKmTZuaEyA1a9ZkE0ozRXXp0oXllIxaY6TePnA1ZsyYVAZ7efToESuzX1ZzfowWpSHkxngd1oXWBQoUSJ06tTk5yXJzi13SpEnNI1s9lY8DfyOneR2WAHu9FjcI4/UJwB8DYfbmzRuiqEKFCkHjOWc+PxUsiPHLL780aNDAFxtu3759w4YNR44cMU8HEEIIIYQPSHpFYOX58+c9e/b03bYeHh7nzp3bv38/iosn/Pvvv9euXUuTJs2kSZP+81Wl2bJlQ4btOye9EsHC672Rx48fd3Nzmzhx4vjx452Xo8TmDlVnMFvz6JpvGW/fBCM8ESNGjM6dOwd0LfySefPmBXQVvhzO78f6JA4ePDhjxoy1a9eal4oLIYQQwgckvSIQ4+vrA/FMrPXVq1dnzpw5ffp0pEiRUNkUKVLY54f9Y6dY+oABAypXrlyqVCnflSDEt4B5xpvwmY4WAV0LIYQQInAg6RWBlbBhw44YMcLXm9tvf33z5g0OHDFiRP++UTZr1qxubm7hwoULwnfkCiGEEEII8bUh6RXfKC4uLmEsvtgeUeuv530wgYhnz549ffr03bt3wYMHf/v27fv378OGDev1vS/OmPu0ff33BbZlj1GjRiVIXr58GSxYMFOOu7s7H/zqnmpKo2k0h8B48+YN+6LC9g3kn4SHh8fjx4/t52CZtkeMGFFvoxFCCCGEcEh6hRBfM4jcb7/9tmHDBrwuceLEN27cePDgQfbs2YcOHeqD0O7YsWPNmjVVqlTJnz+/L3a6e/fuhQsX/vrrrxjpli1b4sWLRzlUYOLEia6urrlz5/6MBv0/njx5MmbMmJ07d2LUKVKk+Oeff3DgwoUL9+zZ81Ol+vXr13v27Jk2bdqBAwdKlChBPbdu3ZonT55GjRr5SVWFEEIIIQI7kl4hxNcL7oocdu/evUaNGua0PA7coUOHypUrI6Lv3r17/PixeaGUw9I/CB8+fOTIkaNFi/bmzRt+5V/0OGzYsOaG7UePHkWMGJHVzFnW6NGj8y8i/d1337GOeW4WZpsrVy52hzxjkmz+8uXLM2fOrF27Nk6cOOnTp2dN1mfh8+fPqUNYC4d1zfyLFy8c1ltz2C8LP2TmSDXtmjNnTrFixagY6/N19OjRZcqUyZIlCwJsP4f57du3VDV48OCURpl85l/qGS5cOPPQNRS3Vq1a6C41NG18+PBh3bp127Vrt3379kD6JLDz58+PHz/+0KFDDC6Nun//frp06Zo3b+7De5LoKFbInDkz//pup8mTJ1+5cmWaNGlOnTrF0JtyLly4sGLFCkLOly35//FFu7zlyJEjTApKI8A8PDxYQoQUKlSoRYsWqVOn9pOqCiGEEEEJSa8I3EyYMAGxsb+a82Z58uTx9YXEu3fvzps3Lwn02bNn9+7d26hRo4At50PcuHHjr7/+Onr0KOrlsPJ1fClVqlSfWo6bm9vy5cv//fdf54UhQ4YcN26cn9X1M8DZyOYjRIiApvLZxcWlQYMGiKh5ffGdO3cmT57ct29fh+WZ9Aa6Yt7xixzS7SzBK2LEiFGqVKlkyZIRHhMnTsyXLx8LT58+ffPmzY4dO1IyIk2TM2XKVKRIEWyEIaNb0NE9e/YsWrSI3eHGO3fupPBly5ax66JFiz558oQlGBFDHD9+fHwjadKkFLVp06Z79+7xARUpXLhw4sSJjcF6kk+jzeg32kzr+Iz5XLt2jcJv3749c+ZM7MXIPGKzfv16TDtjxozU5OTJkzQNpc+RIwemRLHTpk3Dz5kI9mPY0H7aRXhcvXo1ZcqUX3rMPptLly7179+ffmCwmM4M+rZt21iyYMGCOHHiMJrebsVq8eLFM3908B0nTpygPwkkZoT5CwtdzYBu3LjRT6SXdvXr1492TZo0ybRr69atLPG5Xd5C9QgAjir2U/EuXrzYrVu3WrVqEQk6wy+EEEJ44j/eziLEV86wYcNISUkf0Qb+/eeff0goR4wYcevWLV+URm7dq1cvh5VAI5MHDx70Xa38qpwPgfEOGTJk7ty5eA4JLrk+htOmTRtfFEWPzZ8/HzfD0x78j0/Kv/0VZA9tGzBgwPjx43ft2oWp0naGOEuWLMgJBogwmDXxExwVRTFfDx8+PHbsWKQ0RIgQs2bNwuFNSCxZsgRPWL16dcyYMdeuXVu9evVBgwZhngjnzz//bF6Wc/nyZeT233//RWgdlnhjsCbAXr16FSpUKP7t3Lnzr7/+iq9ivDhz3bp1zUPRNm/e3KpVq6VLl8aOHRuzXbdu3U8//YSsempX9uzZkXDWnDFjBtWmXexu5MiRadKkQacXLlyI9zqsm3UZWSpDHVjYrl07xClBggTspVmzZn///bfDUrVq1ao5n1KmyQULFqR6gdF4HdbfL4jG6NGjM/o0nKYVK1aMkSIs379/zwpE7PXr1+31hw8fzibmMxvSYwQMI054mIVHjx7lKMEQz5kzh5+OHDnCwsWLF/N5zZo1RI5ZDV2k/J07d7Iyjo1yI6jTp08/f/785MmTTW/fvHmTIGHDP/74g1/NhuxopwUjyNAQBh9qFz/RinTp0pmbw4sXL16zZk3TLuqDuNoru7m57dixg+Vs1d+CwxpRbX41RzwKCf0/iBwcmIi9e/eu3w2FEEIIEVR4L0TgAVcpXbq085JEiRJ17drVPN+I7BBdIXPFZ0hY7XUeP36M2uFynkpDn1iOwNhLyCwRBvMZWUUnnNennHv37nmt1aeWQ/J95swZbxu4b98+nMf7xjuBraVOnRr3Y9e0/eHDh3hX8ODBFy1a9J/begINSJgwIRpAwn32f3jtqy9GgwYNaIvzEhymSpUqKVKkYKwzZcqEXlJb8xMGwnJ7zRUrVqAQ761uxGw7depkxgtjYVvK4XPmzJmLFi1qGmiGyYwORZUvX55Y8lROnz59jHtArVq18M/3lhdlzJhx6tSp6NAVizhx4jAo7u7ubdq0+f7774kHswkf7M09QVEEc/LkyZMkSUKtmjZtijuxnDq3b9++UKFCyBhq17JlS/aLsSNarq6uf/75J1ZDsc2bNzfrY7YdO3Z88eKFXw3Bf0Lbjx075ocF0s+5cuWyv+L/AwcOjB07Nu2ipcxr55VPnTqVPXv23bt329uaCwGYCAwfNohDdunSJVu2bKxmBnfatGksT5w4ccOGDXPnzs0A0b2FLSJHjkxPmnjgM8q6ZcsWVkYjiTRsGbeMGjVqixYtmLMcf4i3AgUK9O3bN0+ePKlSpTJBZSYRa7Zt2xZhpjLE26hRozw1k3YNGjSIUGF8UWgPDw9z4DJUrFixTp06V69eNV/jxYvXo0cPVmDQw4UL16tXr7x587IQCedXJimRuWrVKk+7IFSqV69OWPrFsHimVatW48eP94+SA4Qg1hwhhBA+o8ubRdCBVJVcs0KFCkjLunXryGWfPn3q5uZGakiKGT58+Bw5clSqVClp0qQoxMyZM/kJU40ePTpeQYpMtrp8+XKyzCZNmuA/ZLoUki5dutOnT2NNpJtshYSgKKSn5gLCw4cPIyFk4aYckul27dphRN6Wg8McPHiQLBlXQVFIuKkMOfSdO3dImqnepUuX9uzZw44ohPogsdSQLLxcuXJp06Z1bilyRWJNKkzhpNok61QJJ2er58+f16tXD0EyZ/lwBjJ+nKpEiRKbNm1as2aNOeFZu3btsmXLOj8DmXZ92eH6KBC8fPnyoanUHGdYsmQJ7lG/fn2MEYfxYUMiAY9iUPhcsmTJxYsX3759m2HiK6U5P7WboeHfUKFCYdQJEiT4mFpt376dErCjXbt2mSVsiNya52bhS6isWZ7cwmsJ165dQ8sJD1rEUM6dOxe/IgufNWtWzJgxs2TJQuHHjx/nGI3AUCwGSAwgXWPHjj106BDaSXgnS5bsY2ob6IgSJUrlypWZVhMmTKC98ePHR/waNWqEZxLtadKkse/ihpw5c9rXdXMEoPcIlaxZszJtsVZckVBxWAPE5wYNGmzYsAGZpEsRVKYPc83MR1MCyymtd+/eiLS5pJkh5is1IRR/++03ggRxJbq6d+/OcYNRY3KZbWfMmIFwmuvYGzduTPle28WUp2JTp06dOHFi3LhxiW08nH/ZKWO6detWZjFV5TjAAaRz5860F72nAvg8BY4ePRrd9efuF0IIIYIgurxZBDUiRoxYvHhx7PTq1avHjh1D/0gfyUFRnQMHDuCojx49IvFFPvPmzctynLNLly4sRCGwVrJMbARRIQ1Fnh3WBY0kqSixUUc0kuyWf3GPYcOGPXjwgETWlEMii2Z/qBzqQ9J88eJFalK1alWUZty4cZSDuyK3aA+ZdPv27VE7Ux+Hda0meTypuac2Isy4cd++fVu0aIGQ0y6cmewZcX337h07ooZmzRs3btBYFpJPDx8+nBVIoNOnT7927VqS6S87Mr5hwYIFyOTLly/pzDp16tCTaCH62qdPH09renh4uLu7219jWpjPdCAqgi2bFVDNz3xVFT526dKle/fu2ReEIzCf9MgoM2rUGburWbMmw4Hd4bdYDeWYy18ZMnyMiCpQoACboHxYMRGFD9N8pGvnzp1oPK0jWt5b1/3aPHv2bP369UTC5zQzoCBckyZNOm/ePOZF//79M2TIgLgivYy+fRmztwQPHrxgwYIYr8OyXAKG9c1znhImTOj81wdmqJlWqCai+zHxcOvWrfv37zOvp0+f3suCqUpEsdCswPHBjgG8mpnrMBvSNQAAFEpJREFUtV3M8dmzZ+O0tIv18fNmzZqZv5FVq1bt+fPn5tqE8ePHEwPmjVNMbY4z/fr1O3z4MB4+cODAj+9JIYQQQhh0plcENcwjXn7//fezZ8/ie6ShnTp1ItdEnMKGDYswnDhxwlxFjAEisalSpdq2bRurpUyZMnXq1KSq5cqVc1gPELLLRJ/KlClTpUoVDBaRIGfFc9iEDDtnzpwmPeUn8ld0qFChQl7LIZ09evQopmQuU2Rl5HzSpEmYZ7169TAcMmBkDHcy5aC7Disjp1axYsXy1Mbo0aPTwDlz5mDR+BJpcYQIEaZMmULDqQlJP0o/ZMgQPBxPoEwqv2jRIuw9fvz4uBMZP3m284271atXd877zU2PXwMXL17cuHFjlChRaJQ5oUdvxIkTx1zhbG67RfkiR47MZ0bW3tC4qPnMcCP/bdu2NSd+fQfyaU4UO6xzxdevXx8+fDg+Zh6hvGvXLq/D5AMXLlwYOnQoJSRLlszYETEWKVKkc+fOOSxDIzL/+OMPM1gpUqRwWE/tQuTwHyKKIBwwYMDChQvTp09fsmRJnPD27dv2uXqChyVE2syZMynK100OKGgg/VmrVq0MFg7rxHjXrl2nTZuWOHFi+8yqwTitgQhhCpjPTAq6DkFlLvA1W7Zsrq6un1MrhoYOZ345zxTmHUeSjyzBXOuOiju3q1u3blSSscuSJQtT1VwpfeDAgdq1axvpZYKPGDGC+T5mzBgipHPnzi1atPC2fOKT3ggXLpzezyyEEEJ4Qv81iqAGcoLZkvmRQd66devQoUM1a9Y0P5mbcgsUKFC5cmUEqXv37lgHnzNlyuTzy1EpDd8wr6WxU15smST7zJkzhw8fXr16NXr28OFDrNJYkCfYNRKO6ObLl8+UQPXevXtnzuhC7ty5jTUVKVKEfN0sjGjhbZWSJk3aoUOHunXrkuaSEJNM4+RLly4ldW7ZsuWSJUtQJpwZCad1FJI2bVocoGfPngsWLGBfCLnzW1IQsK/zTSc1atRgmHB7RM68xQeNR//MM4fQWjqW5hcqVOj48eOYUqJEicyGp0+fvnv3LrbMyJqrx72eMP8Y7t+/f/LkyTRp0rx58wapIGzoVbTkxYsXKCVmEjp0aIKqY8eOffv2xcY9bU5I8CvLsSPn5c2bN0fCx40bhwKZ27/nzp2LwLdv395hnZr+4YcfaNexY8fq169vAmPNmjW0vXHjxvg/9m4eVE4sUQcaO2nSpMKFC7Oj99aNxAwoMmxOEQc6rl+/juBhbsxc429MFlpNd+HDeL550hUtdXFx2bNnj7P32mf7mVmoY/LkyekHrNJ3NWEX5s9PwAShPvzLwJm/v7Avds3Imj9V/Cc3b96cOHEiw20LLeOFw7OQowczl/JnzZo1evTo58+fN2nSxDycjHXmz5/PjhjirVu3TpkyJW/evPYhwoYVmP4cjgYOHGjPAiGEEEIYJL0iqEHyd/v2bbJS46jJkiWrUKHCpUuXzK/oCspHUohjLFy48Nq1ayTE5LVTp05FnD5pRzjViBEjLl++TDpOgeSmV65c8eQ2NvjMy5cvPZ0mcsZ+kaz9/lUfwHyyZctWq1Ytc3KvR48eSBdi8Ouvv/75558xY8ZMmTIlGpw4cWKq9NNPPzmsM12IxObNmxctWjRq1ChEvWDBgvaLlOgWczrxayNXrlzNmjVjjEjob926xWhu3LixVatW5cuXd1i346IKNJlcH09ADu10nzWvXr3KsOIYmCeiYqwe88dVsCY6OXbs2JkyZTLrMzT2eeBIkSJRFKvFiBED8Vi/fj19W6xYMXRrw4YN8eLFq1y5csuWLZHSp0+fUj7inT179jJlylAHfnV+cdTRo0eXL1/OEFBP53aho1QJbSZgkGqqsXfvXowX1zUr4L1JkyZF6ugBsyR//vynTp1au3at/UQuqhHJgnHv3r07bm/C79mzZ6VKlfL162oDHEw1T548dC/hbe64RuO3b9+eL1++jBkzMpcZmm3bttE/IUOGpDfspyUzxdiK3o4YMeKxY8eIGXOp86diLiJ48uQJUYFmv3r16v79++ZJ7FQD52R+sdPx48eHDh26evXqXktgffvtzc7tYlu0lig17cKWKZCRpV18JQxQVuZshgwZ7MdxsxDdLVq0aN26ddOmTUvwMxGYrdTqngXrUBmmACUTsUSgL5oshBBCBG0kvSKo8ejRI+f395Bfkv2btPj69euYKmJAokleSxJJVtqtWzdW3rNnj3kK0ceDfqBViAobYlALFiywH6jjFZSYPN7Nze3ChQvm+UM3b95kfa/nBj8GlAzTY79p0qRxWJ4M5NPmSksa2KBBg969e5OmJ0iQoFq1aiwkJ0bASpYs2bBhQw8Pj86dOx88eNBcgP2VU7Vq1fjx4yMhW7duRQCQQPvdpPieebTPnTt3sEokn151WP1Tr149JBZLxADRXVzXGEiLFi0QFXMHLNqPzZqiwoQJg4iaDsRa6boXL16gVSj37t27+ZUQqlKlCrvgV1yL8vl84sQJlqNApUuXdlhPw+KDrakOy13Ztbd/Cqlfvz7l41Gocu7cuV1dXQsXLmz/Sm2JE/7FtM0SxpcW7d+/H1PCeeiEaNGimZ+Qw0GDBp2zIKiIikB6jteQMGHCJk2aMDF/+eWXnDlzMlj0Mx3VsWNH83g2unTq1Kk3btwgKphQ9nOtzJ+6iGpG9uTJk8x9CnFYg8ugM1IhQoRg7Mw93mYTPtjTFmM0r00mrsaOHYs5c2RARzlu9OrVq23bto0bN+7Tp0/Pnj0Jttu3b9PbPXr0YBAPHz7MWDhfVMxqJS2c28VkpAQ2x2yx8bdv3/7999+vX79u1KiR+ZMT/xJU5k1adg35zF6OHDlC/dkjTSPG2JBaEQzmtm3C/vjx4zFjxuzXr5+ny7+FEEII4ZD0iiAAJomWkP/lyJFj8+bN48aNw5FwFXLQihUrIqVDhw5FMPCi/v37k/KSSZNBTpkyhRwa7yVvPnbsGILh6VFA/wm+yrZkn6Sha9asGTFixMOHDzFJW8mcMX7LCuyUNR8/fjx79mwSXHJ6H3aBzlFVbNnT9Yp47MaNG2nU/PnzjUJXqlTJvF/UYalXvnz5yImpFUmwycUPHDhA82k7Pnzx4kUUAn/w3RW/X4wHDx5cuXLFYZkJdlqrVi2z3NMtx4ktHNZTuxzWI7UdVie4u7vbd7Sal6w6rD8Q0HZG3HyNHTu2/e5TsyPzNXz48NctHNa7gh3/uzfbnDk8ffq0w7r4HBE1GzoXwrbmK0OT0eJDDTRqWrx4ceeFuI25b/zp06c//vij80/fW3hblOmEYsWKfWhfgQvMbcKECUxno7vly5dnFpizo4CC0mmEdIYMGebMmbN48WLml4uLC/65ZMmSJ0+erFixomHDhhwQzOxg1BiUe/fuEUWIZfPmze0/JRj5NN6LWzLKLGnZsiUHCmLv8uXLmGqLFi0YFGLD1dUVGV66dCmRRjkYtTmrnylTpk6dOhFLdv3ZljnutV0Ew5gxY7Zt23bq1CnaVaFChVy5cpk/XRmKFCnC9KxZs6Z9lnjy5MnTp0/HaalA06ZNzR+q0HgOO/ZWVLJy5cqouP13ECGEEEI4I+kVgZ7t27eTKZob/FAavK5Vq1bG9MgLSUanTp06ZMgQVsifPz95KnknKS9GhBCioA7ramHyXZPUenh4RI4cuWfPnv95lWDq1KlZf/To0eyR5Ltv375du3bdtWsX4uFtOdmzZ0fISaDTpk1LZUh2u3TpgqiQZ9+9e9cuFqOzX6By9OjR8ePHx4gRw5P0Uv8ZM2Zg7NTBNJyFf/31l50Hk/ui/WiwfVUtKk6ezULyZtYn78eco0eP/t1334UIEcLrk2a/BtatW2deGxNImTlzpqdzfR/D69ev9+3b9/vvv6NSzmLzrZHMwtufzIug7Hv1zQX80KBBA/PBU7+lsjCf41vYP6W08FQOxov32uuYo4QhnYW39XFesmrVqg+1K6mF1+XPnj179OjRnj17Klas6PxOJuYmByhPKydMmNBurBBCCCH+E5dPPbslRACyZs2ayZMn+5BQBjGYnubuUx+kdNq0aTVq1PD0YJt///23e/fuf//999atW52XX79+fceOHWT52bJl869Kfx7mtaX169cP6IoEGG/evDlx4sT+/fsLFCjwdT5dDBufPXu284PQPhM3N7d27drt3bvXfP06/wTzkRQvXnz9+vW+2JBOWLx48aFDhzp37lykSBGfH60XILRu3TpVqlTOfw4I1ASx5gghhPAZnekVgZXHjx/bT/0JkgwfPrxgwYI+3Cds8HoWyN3d/cqVK9euXWvatKmnn+LHj2+fHxNfJyFChMhiEdAVCTAC6euFDb5+BbSHh8eLFy+6dOlSqFChr9B4hRBCiECNpFcEVsKGDduzZ8+AroU/4vwQ4I/n9evX48ePHz16dK5cubx9rqwQXzkJEiQI6CoEAHktAroWQgghRNBE0isCKyFChDDvrRHOhAwZsm3btkmSJJHxCiGEEEIIAf/xOlAhRKAjbNiwMl4hhBBCCCEMkl4hhBBCCCGEEEEWSa8QQgghhBBCiCCL7ukVQnxFRIkSpUmTJl6fOy2+KiJEiBDQVRBCCCGE+FgkvUKIr4jhw4cPHjw4oGshfOI7i4CuhRBCCCHExyLpFUJ8XQQPruPSt0X48OEPHToUOXLkgK6I8ImXL19OnTo1oGshhBBC+AYll0IIIQKStGnTPnr0yMPDI6ArInzCxcVFl7ULIYQIpEh6hRBCBDBhw4YN6CoIIYQQIsii+7KEEEIIIYQQQgRZJL1CCCGEEEIIIYIskl4hhBBCCCGEEEEWSa8QQgghhBBCiCCLpFcIIYQQQgghRJBF0iuEEEIIIYQQIsgi6RVCCCGEEEIIEWSR9AohhBBCCCGECLJIeoUQQgghhBBCBFkkvUIIIYQQQgghgiySXiGEEEIIIYQQQRZJrxBCCCGEEEKIIIukVwghhBBCCCFEkEXSK4QQQgghhBAiyBI8oCsgxKfh7u5+/PjxgK6FEEKIQMyDBw8CugpCCCG+HJJeEZhIlCgR0lu3bt2ArogQQohAjIuLS/369QO6FkIIIb4QLu/fvw/oOgghhBBCCCGEEP6C7ukVQgghhBBCCBFkkfQKIYQQQgghhAiySHqFEEIIIYQQQgRZJL1CCCGEEEIIIYIsenqzEEL4DTt27HBzc/ukTcKECdO0adMQIUL4U5WEEEIIIYSe3iyEEH7AypUrmzRpWrlaDRcXl4/f6tSJ42HDhF62bKm8VwghhBDCn5D0CiHE52KMd+7C5ekzZPykDd++fduiST2P1y/lvUIIIYQQ/oTu6RVCiM/C18YLwYIFmzh1ZvCQoStUqPjmzRv/qJ4QQgghxDeOpFcIIXzP5xivQd4rhBBCCOGvSHqFEMKXfL7xGuS9QgghhBD+h6RXCCF8g18Zr0HeK4QQQgjhT+hBVkII8cmsWrWqceMmfmW8NnqulRBCCCGEn6MzvUII8Wn4k/E6dL5XCCGEEMIfkPQKIcQn4H/Ga5D3CiGEEEL4LZJeIYT4WPzbeA3yXiGEEEIIP0T39AohxEfxOca7a8e2S5cuYLOZMmdNkzb9x2yi+3uFEEIIIfwESa8QQvw3+/fvL1u2nO+M98Sxo507tDp65FCoUKG79erbrEWbj9zQeG+EcGHmzJn9qTsVQgghhBAGXd4shBD/zenTpwsXKeYL471z5/bwoQOPHzvii50GCxasXcefjx076otthRBCCCGEQdIrhBD+yPKli7dt2fTu3buArogQQgghxDeKpFcIIfyLWzdv/Ll4wZs3rwO6IkIIIYQQ3y6SXiGE8C/Gjh5+7uzZhIkS/1C0REDXRQghhBDiG0XSK4QQ/sKiBXNXLl/y8uWLWnXqZ8maPaCrI4QQQgjxjSLpFUIIv+fG9WtzZ//2+NGjIsV+rFCp6nff6WArhBBCCBEwKA8TQgi/Z9zo4adOnvDw8GjdtmPcePEDujpCCCGEEN8ukl4hhPBj5s+duWHd6mfPnrZq2zFdhoz2ad5379/98/fZgK2bEEIIIcS3RvCAroAQQgQ1tmzccO/eXT5sWLfmwP59Li4uN65f46vHmzfr1626cOGf5MlTDh89IaCrKYQQQgjxTSDpFUIIP+b58+ceHh58+Ofc/3de9/379w/u339wf9fz588CqGpCCCGEEN8curxZCCH8lwyZMttXOIcIGTJzlmypUqUJ2CoJIYQQQnw76EyvEEL4MaMnTH354oX9NVTo0JPGjZo8cWzIUKFatm5fr2HTEMFDBGD1hBBCCCG+KSS9Qgjhx8SMGcvTkkiRo/Cvi8OFD7FixQ6ISgkhhBBCfKPo8mYhhPhCvHv39sihAwFdCyGEEEKIbwud6RVCCH+nXcefW7Xt6GIR0HURQgghhPi2kPQKIYS/g+uGCKH7eIUQQgghAgBd3iyEEP9NvHjx9u7ZeevWzS+836VL/ogbN94X3qkQQgghRFBC0iuEEP9N0aJF27RpU7ls8S/pvYMG9N65bcv8+fO+2B6FEEIIIYIeurxZCCE+ivbt2vEv3rtk5YY4ceL69+4w3u1bNm7evClq1Kj+vS8hhBBCiCCMpFcIIT6WL+a9Ml4hhBBCCL9C0iuEEJ/AF/BeGa8QQgghhB8i6RVCiE/DX71XxiuEEEII4bdIeoUQ4pMx3lupTLE/V/3lh94r4xVCCCGE8HMkvUII4Rvw3vfv3/uh98p4hRBCCCH8A0mvEEL4kg7t2zv86HyvjFcIIYQQwp+Q9AohhO/xE++V8QohhBBC+B+SXiGE+Cw+03tlvEIIIYQQ/oqkVwghPhfbe1u37+zicPn4DY8eOXT08AEZrxBCCCGE/yHpFUIIPwDvjRI58s6duz5pq7Bhw8h4hRBCCCH8FZf3798HdB2EEEIIIYQQQgh/4f8AkMuYggnKMmUAAAAASUVORK5CYII=) + +Step 1) SysA data submitted to SysE through a chain of submissions Step 1a) SysA submits to SysB SysA as owner (in DataItemPackage/PackageMetadata/DataOwnerMetadata) SysA as submitter (in DataSubmitterMetadata) Step 1b) SysB submits that data to SysC SysA as owner (in DataItemPackage/PackageMetadata/DataOwnerMetadata) SysB as submitter (in DataSubmitterMetadata) Step 1c) SysC submits that data to SysE SysA as owner (in DataItemPackage/PackageMetadata/DataOwnerMetadata) SysC as submitter (in DataSubmitterMetadata) Step 2) SysD data submitted directly to SysE SysD as owner (in DataItemPackage/PackageMetadata/DataOwnerMetadata) SysD as submitter (in DataSubmitterMetadata) Step 3) SysF queries SysE Request message has SysF as message origin, SysE as message destination Step 4) SysE returns hits to SysF, one from SysA and one from SysD Response message has SysE as message origin, SysF as message destination Search response includes 2 packages Package 1 SysA as owner (in SearchResultPackage/PackageMetadata/DataOwnerMetadata) SysC as submitter (in SearchResultPackage/DataSubmitterMetadata) Package 2 SysD as owner (in SearchResultPackage/PackageMetadata/DataOwnerMetadata \ No newline at end of file diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/origins.md b/GeneratedSchemaLibraries/LEXS-NIEM/origins.md new file mode 100644 index 00000000..79403f32 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/origins.md @@ -0,0 +1,74 @@ +From: https://codeplexarchive.org/project/lexs + +A reference implementation for the Department of Justice Logical Entity Exchange Specification XML model which is based off the National Information Exchange Model. This project provides a reference for a LEXS implementation. + +Apache License 2.0 (Apache) +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. + +Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. + +Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. + +You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + +1. You must give any other recipients of the Work or Derivative Works a copy of this License; and + +2. You must cause any modified files to carry prominent notices stating that You changed the files; and + +3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + +4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. + +You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. + +Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. + +This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. + +Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. + +In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. + +While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. \ No newline at end of file diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/wsdl/README.txt b/GeneratedSchemaLibraries/LEXS-NIEM/wsdl/README.txt new file mode 100644 index 00000000..4c0bb8be --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/wsdl/README.txt @@ -0,0 +1,213 @@ +LEXS WSDL files + +The LEXS specification includes WSDL file templates as a convenience to developers to provide a +starting point for implementations. LEXS does not mandate the use of these templates. + +However, there are certain requirements and conditions that are required from every LEXS compatible +web-service. For example, a LEXS Publish/Discover web service should have lexs:doPublish as the top +level element for the publish message. The provided WSDL templates confirm to those requirements. + +LEXS web services use an XML document-based information exchange, leaving the back-end implementation +up to the developer. Document/Literal style WSDL structure and LEXS schema constructs provide flexibility +for platform choice. + +This distribution includes two sets of WSDL files. +One set of WSDL templates (*-abstract-interface.wsdl) uses xsd:any wrapper elements for scalability reasons. +However this approach limits runtime automatic validation options and will require developers to provide an extra step for validation, if desired, of the incoming messages. +Another set of WSDL files uses full LEXS message format schemas. Please note, that messages valid according to the +first set of WSDL files (*-abstract-interface.wsdl) will not always be valid against strict WSDL's. + +This note discusses different LEXS web services approaches and discusses various WSDL file implementations. +It is not intended as a WSDL or webservice tutorial, and does not provide detailed advantages and +disadvantages for various approaches. While this note does provide some recommendations based on +general practices, implementers must decide on the appropriate mechanisms based on their own circumstances. + +Developers may follow several different paradigms as outlined below: + + 1) Using XML in the SOAP Body + 2) Using a String in the SOAP Body + 3) Using base64Encoded or raw bytes in the SOAP body + + +1) Using XML in the SOAP Body +With this approach WSDL explicitly references LEXS document schemas. +This method has multiple advantages and is the recommended approach for publishing WSDL files to a UDDI registry. +There are several ways to incorporate LEXS document schemas into WSDL: + + a) Using xsd:import statement + + + + + + or + + + + + + + b) Using xsd:include statement + + + + + + + + +2) Using a String in the SOAP Body +With this approach, WSDL uses a String object to transfer the LEXS XML document. +While the simplest, this method is not recommended since it has multiple disadvantages. +It is not the purpose of this note to discuss detailed advantages and disadvantages of this method, +and developers might choose to use this approach for backend implementation of the service based on +implementation needs. Code below reflects use of this approach within WSDL. + + + + + + + + + +3) Using base64Encoded or raw bytes in the SOAP body +This method could be used to fix some of the issues with the xsd:string approach above. +This approach is similar to the above #2 method, except to be conformant with LEXS message format +developers will have to create a wrapper element which is of type xsd:base64Binary and that contains +the doPublish element. This method has it's own drawbacks such as compatibility issues and performance +hit caused by requirement to translate back and forth between xsd:base64Binary format. + + + +4) Using the xsd:any element in WSDL +This method uses xsd:any instead of xsd:string or xsd:base64Binary as shown below: + + + + + + + + + + + + + +As with previous cases developer is responsible for marshalling/unmarshalling content of the lexs:doPublish element +into lexs:PublishMessageContainer. + +------------------------------------------------------------------ + +LEXS WSDL files and Altova XMLSpy 2007 Professional/Architect + +Summary: XMLSpy 2007 Professional/Architect unable to validate WSDL files based on NIEM schemas. +Details: +Industry best practices in web services recommend adoption of contract-first development style. +WS-I encourages use of Document/Literal WSDL style. Typical WSDL file designed to exchange +NIEM based documents references elements and types in external schemas. +XMLSpy 2007 Professional and Architect reports an error while validating such a file: + Invalid XML schema: "Could not validate element 'i:ConfirmantIndicator'. No type definition was found" + +Following WSDL constructs fail to validate in XMLSpy: +a. Use of in + + + + + +b. Use of in + + + + + + +Bug report was submitted to Altova and was confirmed by the company. +Unofficial response was: + +Entered on 2007-08-20 at 15:52:07 by Niki Horak: +"According to our development team this should be fixed with our next release (v2008) +which is currently scheduled for some point next month. However, I cannot guarantee this. +This matter has the tracking number and title "20635 - Imported global element not recognized by WSDL validator" +and will appear here: http://www.altova.com/Fixed_Defects.html" + +Workaround: + To validate and develop your WSDL we suggest to use open source IDE such as + Eclipse. There are other commercial software tools that might support + provided WSDL templates validation. + +------------------------------------------------------------------ + +References: + +1. “JSR-000224 JavaTM API for XML-Based Web Services 2.0” +Proposed Final Draft as per Section 3.3 of the Java Community Process Program +Accessed on Aug 16,2007 at http://www.jcp.org/aboutJava/communityprocess/pfd/jsr224/ + +2. "Which style of WSDL should I use" (Russell Butek, developerWorks, May 2005) describes different combinations for WSDL and SOAP messages. +Accessed on Aug 16,2007 at http://www-128.ibm.com/developerworks/webservices/library/ws-whichwsdl/ + +3. "Interoperability at the SOAP message level" ( Shawn X. K. Hu, developerWorks, Jul 2006) A WSDL design case study +Accessed on Aug 16,2007 at http://www-128.ibm.com/developerworks/webservices/library/ws-soa-intersoap/ + +4. "Patterns and Strategies for Building Document-Based Web Services" +(Sameer Tyagi, Sun Develooper Network, September, 2004) +Accessed on Aug 16,2007 at http://java.sun.com/developer/technicalArticles/xml/jaxrpcpatterns/ + +5. "Interoperability With Patterns and Strategies for Document-Based Web Services" +(Sameer Tyagi, Sun Develooper Network, January 27, 2005) +Accessed on Aug 16,2007 at http://java.sun.com/developer/technicalArticles/xml/jaxrpcpatterns2/ + +6. "Realizing Strategies for Document-Based Web Services With JAX-WS 2.0" +(Sameer Tyagi, Sun Develooper Network, December, 2005) +Accessed on Aug 16,2007 at http://java.sun.com/developer/technicalArticles/xml/jaxrpcpatterns3/ + +7. “Best Practices in Web Service Style, Data Binding and Validation for use in Data-Centric Scientific Applications” +(Asif Akram, David Meredith, and Rob Allan; Proc. UK e-Science All Hands Conference 2006 (AHM 2006), Nottingham, UK, 18-21 Sep 2006) +Accessed on Aug 16,2007 at http://epubs.cclrc.ac.uk/bitstream/1133/. + +8. WSCF - Web Services Contract First +http://www.thinktecture.com/resourcearchive/tools-and-software/wscf +http://www.thinktecture.com/Resources/Software/WSContractFirst/WSCF0.6Walkthrough.html + +9. Spring Web Serivice +http://static.springframework.org/spring-ws/site/ + + \ No newline at end of file diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/wsdl/lexsPDwebserviceImpl-abstract-interface.wsdl b/GeneratedSchemaLibraries/LEXS-NIEM/wsdl/lexsPDwebserviceImpl-abstract-interface.wsdl new file mode 100644 index 00000000..72ba9a0e --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/wsdl/lexsPDwebserviceImpl-abstract-interface.wsdl @@ -0,0 +1,24 @@ + + + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/wsdl/lexsPDwebserviceImpl.wsdl b/GeneratedSchemaLibraries/LEXS-NIEM/wsdl/lexsPDwebserviceImpl.wsdl new file mode 100644 index 00000000..552532e3 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/wsdl/lexsPDwebserviceImpl.wsdl @@ -0,0 +1,24 @@ + + + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/wsdl/lexsPDwebserviceIntf-abstract-interface.wsdl b/GeneratedSchemaLibraries/LEXS-NIEM/wsdl/lexsPDwebserviceIntf-abstract-interface.wsdl new file mode 100644 index 00000000..40fabc94 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/wsdl/lexsPDwebserviceIntf-abstract-interface.wsdl @@ -0,0 +1,75 @@ + + + + + + + + + LEXS Publish Discover Message Format Schema + + + + + LEXS Submission Publish Method + + + + + + LEXS Submission Publish Method + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/wsdl/lexsPDwebserviceIntf.wsdl b/GeneratedSchemaLibraries/LEXS-NIEM/wsdl/lexsPDwebserviceIntf.wsdl new file mode 100644 index 00000000..6ccbcce4 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/wsdl/lexsPDwebserviceIntf.wsdl @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/wsdl/lexsSRwebserviceImpl-abstract-interface.wsdl b/GeneratedSchemaLibraries/LEXS-NIEM/wsdl/lexsSRwebserviceImpl-abstract-interface.wsdl new file mode 100644 index 00000000..0489d368 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/wsdl/lexsSRwebserviceImpl-abstract-interface.wsdl @@ -0,0 +1,24 @@ + + + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/wsdl/lexsSRwebserviceImpl.wsdl b/GeneratedSchemaLibraries/LEXS-NIEM/wsdl/lexsSRwebserviceImpl.wsdl new file mode 100644 index 00000000..3cf22a4c --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/wsdl/lexsSRwebserviceImpl.wsdl @@ -0,0 +1,24 @@ + + + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/wsdl/lexsSRwebserviceIntf-abstract-interface.wsdl b/GeneratedSchemaLibraries/LEXS-NIEM/wsdl/lexsSRwebserviceIntf-abstract-interface.wsdl new file mode 100644 index 00000000..dda085da --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/wsdl/lexsSRwebserviceIntf-abstract-interface.wsdl @@ -0,0 +1,450 @@ + + + + + + + + + LEXS Search Retrieve Message Format Schema + + + + + LEXS structured search request. + + + + + + A structure that describes LEXS structured search request. + + + + + + + + + LEXS text search request. + + + + + + A structure that describes LEXS text search request. + + + + + + + + + LEXS response to structured or text search request. + + + + + + A structure that describes LEXS response to structured or text search request. + + + + + + + + + LEXS request for a data item. + + + + + + A structure that describes LEXS request for a data item. + + + + + + + + + LEXS response to a request for a data item. + + + + + + A structure that describes LEXS response to a request for a data item. + + + + + + + + + LEXS request for attachments. + + + + + + A structure that describes LEXS request for attachments. + + + + + + + + + LEXS response to request for attachments. + + + + + + A structure that describes LEXS response to request for attachments. + + + + + + + + + LEXS request for capabilities from service provider. + + + + + + A structure that describes LEXS request for capabilities from service provider. + + + + + + + + + LEXS response to request for service provider capabilities. + + + + + + A structure that describes LEXS response to request for service provider capabilities. + + + + + + + + + LEXS request for data owners available through a service provider. + + + + + + A structure that describes LEXS request for data owners available through a service provider. + + + + + + + + + LEXS response to request for a data owners available through a service provider. + + + + + + A structure that describes LEXS response to request for a data owners available through a service provider. + + + + + + + + + LEXS availability request + + + + + + A structure that describes LEXS availability request. + + + + + + + + + LEXS response to availability request + + + + + + A structure that describes LEXS response to availability request. + + + + + + + + + Domain request + + + + + + A structure that describes domain request. + + + + + + + + + Response to domain request + + + + + + A structure that describes response to domain request. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/wsdl/lexsSRwebserviceIntf.wsdl b/GeneratedSchemaLibraries/LEXS-NIEM/wsdl/lexsSRwebserviceIntf.wsdl new file mode 100644 index 00000000..b7da32be --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/wsdl/lexsSRwebserviceIntf.wsdl @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-1-detailed.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-1-detailed.xml new file mode 100644 index 00000000..572aa04b --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-1-detailed.xml @@ -0,0 +1,881 @@ + + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 1 + SBU + + + RegionInfo + ATL + + GBI + + + SystemID + 3 + GBI + + + + + + Hypothetical Organization C + SysC + + + Michael + Park + + + + + 202 + 555 + 1212 + + + + + + + + + 12345678 + true + + + + + Smith + Mary Jones-Smith + + + + + 333-444-5555 x6 + + + + + 333-444-6666 + + + mary.jones.smith@gbi.gov + Georgia Bureau of Investigation, Violent Crimes Division + + 1967-08-13 + + 12345678 + Insert + Valid + + + + AA1234567 + Hypothetical Agency A + SysA + + + Will + Jones + + + 111-222-3333 + + + + + white + + + DataCurrency + Archive + GBI + + + + + + + + + + + Inc123456 + + Incident + + 2000-08-23T14:31:00 + + The intoxicated subject became angry about a parking space. After shouting profanities, he struck the victim and proceeded to puncture the tires of the victim's vehicle. + + + + + + Arrest + + 2001-01-25 + + + + + + + Arrest + + 2001-01-25 + + + + + + + ServiceCall + + 2000-08-23T14:40:00 + + + + + + + Drug111 + + + + 375 + + A1 + + 5 + NP + + + + + + + Frm111 + + + Weapon Description. Big Gun. + + 123ABC4578 + + NOM + P + R + true + 9 + LAV + + + + + + + + + + Loc1111 + + + + + + 12 Main Street + + Apt. 2234 + Smallville + WV + 33445 + + + + + 42 + 12 + 20 + + + 42 + 12 + 20 + + + + + + + + Loc1112 + + + + + + 1 Any St. + + Apt. 16 + Clay + WV + 12345 + + + + + + + + Loc1113 + + + + + Big Ugly + WV + US + + + + + + + + Org111 + + + Gang + Westside Renegades + + + + + + + + + Org222 + + + Law Enforcement + My Agency + + + + + + Org333 + + + Business + Bank of America + + + + + + Per12345 + + + + Bob + Evans + + + + + + Law Enforcement + Marietta PD + + AGENCY3700 + + + + + + + + Per12346 + + + + 28 + ANN + + + Tiny + + + 1978-01 + + US + BLU + BRO + + 72 + INH + + + Bubba + Ray + Johnson + + White + M + + 444455555 + + + 180 + LBR + + + + + E775522 + + 1998-04-16 + + + 2004-04-01 + + WV + + + + 12345 + + + WV5692345 + + + + + + + + + + + Per12347 + + + + + 25 + 30 + + + + Taz + + + 1972-05-09 + + BRO + BRO + + + 66 + 72 + + INH + + + Billy + Bob + Guy + + White + M + + 987654321 + + + + 200 + 250 + + LBR + + + + + E654321 + + 1999-06-01 + + + 2005-06-01 + + WV + + + + + + + + + + + + + + + Per12348 + + + + 29 + ANN + + BLU + BRO + + 68 + INH + + + Tommy + Lee + Jones + + White + M + + 555443333 + + + 160 + LBR + + + + + R2D2080 + + 1999-06-01 + + + 2005-06-01 + + WV + + + + + + + + + + + + Per12349 + + + + 31 + ANN + + HAZ + RED + + 67 + INH + + + Martha + May + Who + + White + F + + 123456789 + + + 140 + LBR + + + + + E123456 + + 1997-05-01 + + + 2003-05-01 + + WV + + + + + + + + Law Enforcement + Atlanta PD + + AGENCY3700 + + + + + + + + + + + Per12350 + + + + Joe + Schmoe + + + + + + + + + + Per12351 + + + + John + Jacobs + + + + + + + Prop112 + + + Diamond Ring + + ABC123Z00021 + + + 375 + + SS Jewelry Company + 14k diamonnd Pear Shaped Engagement Ring + + + + + + Prop111Wpn2 + + + Weapon Description. Big Knife. + + 123ABC6789 + + Folding Hunter + + + + + + + + + Prop113 + + + Cellular Phone + + BO1234RTZ012 + + + + + + + PhNum1 + + + + 304 + 333 + 4444 + 7890 + + Mobile + + + + + + PhNum2 + + + + 123 + 789494 + 1234 + + LandLine + + + + + + Veh123456 + + + 350 GT Convertible + + 12000 + + RED + 1978 + CV + + HOWUDOIN + NC + + + 1234L7T098356A + + FORD + MUS + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1999-01-19 + + + 2000-10-25 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1997-01-30 + + + 2000-10-15 + + + + + + + + 2000-10-25 + + + + + + + + 1990-10-31 + + + + + + + + + + + + + + + + + + 1999-07-20 + + + + + + + + + + + + + 1999-07-15 + + + + + + + + + + + + + + Incident Arrest + + + + + + Incident Arrest + + + + + + Incident Service Call + + + + + + http://www.gtri.org/LEXS/examples/mugshot1.jpg + true + Mug shot for Bubba Johnson + + + + http://www.gtri.org/LEXS/examples/XMLViewer.xsl + false + XML Stylesheet for pretty-printing any XML content + + + + HTMLStyleSheet + + Pretty prints a message + + + + + http://www.gtri.org/LEXS/examples/mugshot1.jpg + + + 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 + + Mug shot for Bubba Johnson + image/jpg + MIME + Mug Shot + + + + + http://www.gtri.org/LEXS/examples/XMLViewer.xsl + + PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8IS0tDQogICAgRG9jdW1lbnQgICA6ICRJZDoganhkbXZpZXcueHNsLHYgMS4yIDIwMDQvMDYvMTYgMjE6Mjk6NTYgc2hyb20gRXhwICQNCiAgICBEZXNjcmlwdGlvbjogR2VuZXJpYyBzdHlsZXNoZWV0IGFueSBYTUwgZGF0YSBmaWxlLiBTdHlsZXNoZWV0IGlkZWEgaXMgYmFzZWQgb24gdGhlIGFydGljbGUgYnkgQ3JhaWcgQmVycnkgaW4gWE1MSm91cm5hbCANCgkJCQkJCVVzZXMgQVNDSUkgY2hhcmFjdGVycyByYXRoZXIgdGhhbiBHSUYgaW1hZ2VzIHNvIGV4dGVybmFsIGZpbGVzIGFyZSBub3QgbmVlZGVkLCBhbmQgdG8gc3BlZWQgcHJvY2Vzc2luZw0KLS0+DQo8eHNsOnN0eWxlc2hlZXQgdmVyc2lvbj0iMS4wIg0KICB4bWxuczp4c2w9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML1RyYW5zZm9ybSI+DQoNCiAgPHhzbDpvdXRwdXQNCiAgICBtZXRob2Q9Imh0bWwiDQogICAgZW5jb2Rpbmc9IlVURi04Ig0KICAgIGluZGVudD0ieWVzIg0KICAgIHZlcnNpb249IjEuMCINCiAgICBvbWl0LXhtbC1kZWNsYXJhdGlvbj0ieWVzIg0KICAgIG1lZGlhLXR5cGU9InRleHQvaHRtbCINCiAgICBzdGFuZGFsb25lPSJ5ZXMiLz4NCg0KICA8eHNsOnRlbXBsYXRlIG1hdGNoPSIvY2hpbGQ6OipbMV0iPg0KICAgIDxodG1sPg0KICAgICAgPGhlYWQ+DQogICAgICAgIDx0aXRsZT5EYXRhIFZpZXc8L3RpdGxlPg0KICAgICAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KICAgICAgICAgIGJvZHkgeyBmb250LXNpemU6IHNtYWxsZXIgfQ0KICAgICAgICAgIGRpdiwgaW1nIHsgYm9yZGVyOiAwcHg7IG1hcmdpbjogMHB4OyBwYWRkaW5nOiAwcHggfQ0KICAgICAgICAgIGRpdi5Ob2RlICogeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlIH0NCiAgICAgICAgICBpLkF0dHJpYnV0ZVZhbCAgeyBjb2xvcjogcmdiKDUwLDEyNywxMjcpIH0NCiAgICAgICAgICBpLkVsZW1lbnRWYWwgIHsgY29sb3I6IHJnYig0MCwwLDI1NSkgfQ0KICAgICAgICAgIGIuQXR0cmlidXRlICAgeyBjb2xvcjogIzc3MTUxRiB9DQogICAgICAgIDwvc3R5bGU+DQogICAgICA8L2hlYWQ+DQogICAgICA8Ym9keT4NCiAgICAgICAgPGI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Im5hbWUoKSIvPjwvYj4NCiAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgbW9kZT0ibGluZSIvPg0KICAgICAgPC9ib2R5Pg0KICAgIDwvaHRtbD4NCiAgPC94c2w6dGVtcGxhdGU+DQoNCiAgPCEtLSBTaG93IGVhY2ggdHJlZSBsaW5lIC0tPg0KICA8eHNsOnRlbXBsYXRlIG1hdGNoPSIqIiBtb2RlPSJsaW5lIj4NCiAgICA8ZGl2IGNsYXNzPSJOb2RlIj4NCiAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJncmFmdCIvPg0KICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuIiBtb2RlPSJpdGVtIi8+DQogICAgPC9kaXY+ICAgIA0KICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzICBzZWxlY3Q9ImNoaWxkOjoqIiBtb2RlPSJsaW5lIi8+DQogIDwveHNsOnRlbXBsYXRlPg0KICANCiAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iKiIgbW9kZT0iaXRlbSI+DQogICAgICA8Yj48eHNsOnZhbHVlLW9mIHNlbGVjdD0ibmFtZSgpIi8+PC9iPg0KICAgICAgPHhzbDppZiB0ZXN0PSJAKiI+DQogICAgICAgICAgPHhzbDp0ZXh0PiBbICA8L3hzbDp0ZXh0PiAgICAgIA0KICAgICAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9IkAqIj4NCiAgICAgICAgICAgICAgICA8YiBjbGFzcz0iQXR0cmlidXRlIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0ibmFtZSgpIi8+PC9iPg0KICAgICAgICAgICAgICAgIDx4c2w6dGV4dD4gPSAiPC94c2w6dGV4dD4NCiAgICAgICAgICAgICAgICA8aSBjbGFzcz0iQXR0cmlidXRlVmFsIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iLiIvPjwvaT4NCiAgICAgICAgICAgICAgICA8eHNsOnRleHQ+IiA8L3hzbDp0ZXh0Pg0KICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+DQogICAgICAgICAgPHhzbDp0ZXh0PiBdIDwveHNsOnRleHQ+DQogICAgICA8L3hzbDppZj4NCiAgICAgIDx4c2w6dGV4dD4gICAgPC94c2w6dGV4dD4NCiAgICAgIDxpIGNsYXNzPSJFbGVtZW50VmFsIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0idGV4dCgpIi8+PC9pPg0KICA8L3hzbDp0ZW1wbGF0ZT4NCiAgIA0KICA8IS0tIFRlbXBsYXRlcyB1c2VkIHRvIGdlbmVyYXRlIHRoZSAic3RpY2sgc3RhY2siIG9mDQogICAgICAgdHJlZSBjb25uZWN0b3JzIC0tPg0KDQogIDx4c2w6dGVtcGxhdGUgbmFtZT0iZ3JhZnQiPg0KICAgIDwhLS0gR2VuZXJhdGUgYW5jZXN0b3IgY29ubmVjdG9ycyAtLT4NCiAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImFuY2VzdG9yOjoqIiBtb2RlPSJ0cmVlIi8+DQoNCiAgICA8IS0tIEdlbmVyYXRlIGN1cnJlbnQtbm9kZSBjb25uZWN0b3IgLS0+DQogICAgPHhzbDpjaG9vc2U+DQogICAgICA8eHNsOndoZW4gdGVzdD0iZm9sbG93aW5nLXNpYmxpbmc6OioiPg0KICAgICAgICA8eHNsOnRleHQgZGlzYWJsZS1vdXRwdXQtZXNjYXBpbmc9InllcyI+JmFtcDtuYnNwOyZhbXA7bmJzcDsmI3gyNTFjOyZhbXA7bmJzcDs8L3hzbDp0ZXh0Pg0KICAgICAgPC94c2w6d2hlbj4NCiAgICAgIDx4c2w6b3RoZXJ3aXNlPg0KICAgICAgICA8eHNsOnRleHQgZGlzYWJsZS1vdXRwdXQtZXNjYXBpbmc9InllcyI+JmFtcDtuYnNwOyZhbXA7bmJzcDsmI3gyNTE0OyZhbXA7bmJzcDs8L3hzbDp0ZXh0Pg0KICAgICAgPC94c2w6b3RoZXJ3aXNlPg0KICAgIDwveHNsOmNob29zZT4NCiAgPC94c2w6dGVtcGxhdGU+DQoNCiAgPCEtLSBTdXBwcmVzcyBhbmNlc3RvciBjb25uZWN0b3IgZm9yIHRoZSB0b3Agbm9kZSAtLT4NCg0KICA8eHNsOnRlbXBsYXRlIG1hdGNoPSIvY2hpbGQ6OipbMV0iIG1vZGU9InRyZWUiLz4NCg0KICA8IS0tIFNob3cgYW5jZXN0b3IgY29ubmVjdG9ycyBmb3IgYWxsIG90aGVyIG5vZGUgdHlwZXMgLS0+DQoNCiAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iKiIgbW9kZT0idHJlZSI+DQogICAgPHhzbDpjaG9vc2U+DQogICAgICA8eHNsOndoZW4gdGVzdD0iZm9sbG93aW5nLXNpYmxpbmc6OioiPg0KICAgICAgICA8eHNsOnRleHQgZGlzYWJsZS1vdXRwdXQtZXNjYXBpbmc9InllcyI+JmFtcDtuYnNwOyZhbXA7bmJzcDsmI3gyNTAyOyZhbXA7bmJzcDs8L3hzbDp0ZXh0Pg0KICAgICAgPC94c2w6d2hlbj4NCiAgICAgIDx4c2w6b3RoZXJ3aXNlPg0KICAgICAgICA8eHNsOnRleHQgZGlzYWJsZS1vdXRwdXQtZXNjYXBpbmc9InllcyI+JmFtcDtuYnNwOyZhbXA7bmJzcDsmYW1wO25ic3A7JiN4MjIxOTsmYW1wO25ic3A7PC94c2w6dGV4dD4NCiAgICAgIDwveHNsOm90aGVyd2lzZT4NCiAgICA8L3hzbDpjaG9vc2U+DQogIDwveHNsOnRlbXBsYXRlPg0KDQo8L3hzbDpzdHlsZXNoZWV0Pg== + XML Stylesheet for pretty-printing any XML content + application/xml+xslt + MIME + Stylesheet + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-1-layout.md b/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-1-layout.md new file mode 100644 index 00000000..95efc956 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-1-layout.md @@ -0,0 +1 @@ +![Image](data:image/png;base64,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) \ No newline at end of file diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-10-two-payloads.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-10-two-payloads.xml new file mode 100644 index 00000000..8ce47f87 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-10-two-payloads.xml @@ -0,0 +1,181 @@ + + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 10 + SBU + + + + + Hypothetical Organization C + SysC + + + Michael + Park + + + + + 202 + 555 + 1212 + + + + + + + + 12345678 + false + + + + + Smith + Mary Jones-Smith + + + + + 333-444-5555 x6 + + + + 1967-08-13 + + 12345678 + Insert + Valid + + + + AA1234567 + Hypothetical Agency A + SysA + + + Will + Jones + + + 111-222-3333 + + + + + white + + + + + + + Bill + Smith + + + John + Doe + + + + + + + + http://somewhere.gov/new-community1 + New Community 1 + 1.0 + + + + + Dr. + + + + + + + + + xyz + abc + + + + + + + http://somewhere.gov/new-community2 + New Community 2 + 1.0 + + + + + true + + + + The Doctor + + + + + + + 2000-01-01 + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-2-with-community.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-2-with-community.xml new file mode 100644 index 00000000..4ad6ddca --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-2-with-community.xml @@ -0,0 +1,212 @@ + + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 1 + SBU + + RegionInfo + SEA + R-DEx + + + CaseType + WEAPON-TRAFFICKING + ATF + + + + + + Hypothetical Organization C + SysC + + + Michael + Park + + + + + 202 + 555 + 1212 + + + + + + + + 12345678 + false + + + + + Smith + Mary Jones-Smith + + + + + 333-444-5555 x6 + + + + 1967-08-13 + + 12345678 + Insert + Valid + + + + AA1234567 + Hypothetical Agency A + SysA + + + Will + Jones + + + 111-222-3333 + + + + + white + + + + + + + Inc123456 + + Incident + + 2000-08-23T14:31:00 + + The intoxicated subject became angry about a parking space. After shouting profanities, he struck the victim and proceeded to puncture the tires of the victim's vehicle. + + + + + + Per12348 + + + + 29 + ANN + + BLU + BRO + + 68 + INH + + + Tommy + Lee + Jones + + White + M + + 555443333 + + + 160 + LBR + + + + + + + + + + + + + Incident Subject + + + + + + + + + + + http://somewhere.gov/new-community + + New Community + + 1.0 + + + + strawberry blond + + + + true + + + + + + + http://www.gtri.org/LEXS/examples/XMLViewer.xsl + false + XML Stylesheet for pretty-printing any XML content + + + + HTMLStyleSheet + + Pretty prints a message + + + + + http://www.gtri.org/LEXS/examples/XMLViewer.xsl + + PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8IS0tDQogICAgRG9jdW1lbnQgICA6ICRJZDoganhkbXZpZXcueHNsLHYgMS4yIDIwMDQvMDYvMTYgMjE6Mjk6NTYgc2hyb20gRXhwICQNCiAgICBEZXNjcmlwdGlvbjogR2VuZXJpYyBzdHlsZXNoZWV0IGFueSBYTUwgZGF0YSBmaWxlLiBTdHlsZXNoZWV0IGlkZWEgaXMgYmFzZWQgb24gdGhlIGFydGljbGUgYnkgQ3JhaWcgQmVycnkgaW4gWE1MSm91cm5hbCANCgkJCQkJCVVzZXMgQVNDSUkgY2hhcmFjdGVycyByYXRoZXIgdGhhbiBHSUYgaW1hZ2VzIHNvIGV4dGVybmFsIGZpbGVzIGFyZSBub3QgbmVlZGVkLCBhbmQgdG8gc3BlZWQgcHJvY2Vzc2luZw0KLS0+DQo8eHNsOnN0eWxlc2hlZXQgdmVyc2lvbj0iMS4wIg0KICB4bWxuczp4c2w9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML1RyYW5zZm9ybSI+DQoNCiAgPHhzbDpvdXRwdXQNCiAgICBtZXRob2Q9Imh0bWwiDQogICAgZW5jb2Rpbmc9IlVURi04Ig0KICAgIGluZGVudD0ieWVzIg0KICAgIHZlcnNpb249IjEuMCINCiAgICBvbWl0LXhtbC1kZWNsYXJhdGlvbj0ieWVzIg0KICAgIG1lZGlhLXR5cGU9InRleHQvaHRtbCINCiAgICBzdGFuZGFsb25lPSJ5ZXMiLz4NCg0KICA8eHNsOnRlbXBsYXRlIG1hdGNoPSIvY2hpbGQ6OipbMV0iPg0KICAgIDxodG1sPg0KICAgICAgPGhlYWQ+DQogICAgICAgIDx0aXRsZT5EYXRhIFZpZXc8L3RpdGxlPg0KICAgICAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KICAgICAgICAgIGJvZHkgeyBmb250LXNpemU6IHNtYWxsZXIgfQ0KICAgICAgICAgIGRpdiwgaW1nIHsgYm9yZGVyOiAwcHg7IG1hcmdpbjogMHB4OyBwYWRkaW5nOiAwcHggfQ0KICAgICAgICAgIGRpdi5Ob2RlICogeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlIH0NCiAgICAgICAgICBpLkF0dHJpYnV0ZVZhbCAgeyBjb2xvcjogcmdiKDUwLDEyNywxMjcpIH0NCiAgICAgICAgICBpLkVsZW1lbnRWYWwgIHsgY29sb3I6IHJnYig0MCwwLDI1NSkgfQ0KICAgICAgICAgIGIuQXR0cmlidXRlICAgeyBjb2xvcjogIzc3MTUxRiB9DQogICAgICAgIDwvc3R5bGU+DQogICAgICA8L2hlYWQ+DQogICAgICA8Ym9keT4NCiAgICAgICAgPGI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Im5hbWUoKSIvPjwvYj4NCiAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgbW9kZT0ibGluZSIvPg0KICAgICAgPC9ib2R5Pg0KICAgIDwvaHRtbD4NCiAgPC94c2w6dGVtcGxhdGU+DQoNCiAgPCEtLSBTaG93IGVhY2ggdHJlZSBsaW5lIC0tPg0KICA8eHNsOnRlbXBsYXRlIG1hdGNoPSIqIiBtb2RlPSJsaW5lIj4NCiAgICA8ZGl2IGNsYXNzPSJOb2RlIj4NCiAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJncmFmdCIvPg0KICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuIiBtb2RlPSJpdGVtIi8+DQogICAgPC9kaXY+ICAgIA0KICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzICBzZWxlY3Q9ImNoaWxkOjoqIiBtb2RlPSJsaW5lIi8+DQogIDwveHNsOnRlbXBsYXRlPg0KICANCiAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iKiIgbW9kZT0iaXRlbSI+DQogICAgICA8Yj48eHNsOnZhbHVlLW9mIHNlbGVjdD0ibmFtZSgpIi8+PC9iPg0KICAgICAgPHhzbDppZiB0ZXN0PSJAKiI+DQogICAgICAgICAgPHhzbDp0ZXh0PiBbICA8L3hzbDp0ZXh0PiAgICAgIA0KICAgICAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9IkAqIj4NCiAgICAgICAgICAgICAgICA8YiBjbGFzcz0iQXR0cmlidXRlIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0ibmFtZSgpIi8+PC9iPg0KICAgICAgICAgICAgICAgIDx4c2w6dGV4dD4gPSAiPC94c2w6dGV4dD4NCiAgICAgICAgICAgICAgICA8aSBjbGFzcz0iQXR0cmlidXRlVmFsIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iLiIvPjwvaT4NCiAgICAgICAgICAgICAgICA8eHNsOnRleHQ+IiA8L3hzbDp0ZXh0Pg0KICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+DQogICAgICAgICAgPHhzbDp0ZXh0PiBdIDwveHNsOnRleHQ+DQogICAgICA8L3hzbDppZj4NCiAgICAgIDx4c2w6dGV4dD4gICAgPC94c2w6dGV4dD4NCiAgICAgIDxpIGNsYXNzPSJFbGVtZW50VmFsIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0idGV4dCgpIi8+PC9pPg0KICA8L3hzbDp0ZW1wbGF0ZT4NCiAgIA0KICA8IS0tIFRlbXBsYXRlcyB1c2VkIHRvIGdlbmVyYXRlIHRoZSAic3RpY2sgc3RhY2siIG9mDQogICAgICAgdHJlZSBjb25uZWN0b3JzIC0tPg0KDQogIDx4c2w6dGVtcGxhdGUgbmFtZT0iZ3JhZnQiPg0KICAgIDwhLS0gR2VuZXJhdGUgYW5jZXN0b3IgY29ubmVjdG9ycyAtLT4NCiAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImFuY2VzdG9yOjoqIiBtb2RlPSJ0cmVlIi8+DQoNCiAgICA8IS0tIEdlbmVyYXRlIGN1cnJlbnQtbm9kZSBjb25uZWN0b3IgLS0+DQogICAgPHhzbDpjaG9vc2U+DQogICAgICA8eHNsOndoZW4gdGVzdD0iZm9sbG93aW5nLXNpYmxpbmc6OioiPg0KICAgICAgICA8eHNsOnRleHQgZGlzYWJsZS1vdXRwdXQtZXNjYXBpbmc9InllcyI+JmFtcDtuYnNwOyZhbXA7bmJzcDsmI3gyNTFjOyZhbXA7bmJzcDs8L3hzbDp0ZXh0Pg0KICAgICAgPC94c2w6d2hlbj4NCiAgICAgIDx4c2w6b3RoZXJ3aXNlPg0KICAgICAgICA8eHNsOnRleHQgZGlzYWJsZS1vdXRwdXQtZXNjYXBpbmc9InllcyI+JmFtcDtuYnNwOyZhbXA7bmJzcDsmI3gyNTE0OyZhbXA7bmJzcDs8L3hzbDp0ZXh0Pg0KICAgICAgPC94c2w6b3RoZXJ3aXNlPg0KICAgIDwveHNsOmNob29zZT4NCiAgPC94c2w6dGVtcGxhdGU+DQoNCiAgPCEtLSBTdXBwcmVzcyBhbmNlc3RvciBjb25uZWN0b3IgZm9yIHRoZSB0b3Agbm9kZSAtLT4NCg0KICA8eHNsOnRlbXBsYXRlIG1hdGNoPSIvY2hpbGQ6OipbMV0iIG1vZGU9InRyZWUiLz4NCg0KICA8IS0tIFNob3cgYW5jZXN0b3IgY29ubmVjdG9ycyBmb3IgYWxsIG90aGVyIG5vZGUgdHlwZXMgLS0+DQoNCiAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iKiIgbW9kZT0idHJlZSI+DQogICAgPHhzbDpjaG9vc2U+DQogICAgICA8eHNsOndoZW4gdGVzdD0iZm9sbG93aW5nLXNpYmxpbmc6OioiPg0KICAgICAgICA8eHNsOnRleHQgZGlzYWJsZS1vdXRwdXQtZXNjYXBpbmc9InllcyI+JmFtcDtuYnNwOyZhbXA7bmJzcDsmI3gyNTAyOyZhbXA7bmJzcDs8L3hzbDp0ZXh0Pg0KICAgICAgPC94c2w6d2hlbj4NCiAgICAgIDx4c2w6b3RoZXJ3aXNlPg0KICAgICAgICA8eHNsOnRleHQgZGlzYWJsZS1vdXRwdXQtZXNjYXBpbmc9InllcyI+JmFtcDtuYnNwOyZhbXA7bmJzcDsmYW1wO25ic3A7JiN4MjIxOTsmYW1wO25ic3A7PC94c2w6dGV4dD4NCiAgICAgIDwveHNsOm90aGVyd2lzZT4NCiAgICA8L3hzbDpjaG9vc2U+DQogIDwveHNsOnRlbXBsYXRlPg0KDQo8L3hzbDpzdHlsZXNoZWV0Pg== + XML Stylesheet for pretty-printing any XML content + application/xml+xslt + MIME + Stylesheet + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-3-ATF.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-3-ATF.xml new file mode 100644 index 00000000..b08780ec --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-3-ATF.xml @@ -0,0 +1,199 @@ + + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 1 + SBU + + RegionInfo + SEA + R-DEx + + + CaseType + WEAPON-TRAFFICKING + ATF + + + + + + Hypothetical Organization C + SysC + + + Michael + Park + + + + + 202 + 555 + 1212 + + + + + + + + 12345679 + + + + + Jackson + David Jackson + + + + + 333-444-5555 x6 + + + + 2006-12-13 + + 1912345678 + Insert + Closed_Case + + + + AA1234567 + Hypothetical Agency A + SysA + + + Will + Jones + + + 111-222-3333 + + + + + white + + + + + + + Tommy + Lee + Jones + + + 034-78-6532 + + + + + + + Carl + Lee + McMillan + + + 034-78-6539 + + + + + + + 4805105192 + + + + + + + 4805105193 + + + + + + + + + + + + + + + + + + + + + + + + + http://somewhere.gov/new-community + + New Community + + 1.0 + + + strawberry blond + + + + + + http://www.gtri.org/LEXS/examples/XMLViewer.xsl + false + XML Stylesheet for pretty-printing any XML content + + + + HTMLStyleSheet + + Pretty prints a message + + Report of Investigation SUMMARY OF EVENT: Purchase of machine gun from Tommy Jones on June 14, 2006 NARRATIVE: On June 14, 2006, Agent Swanson, acting as an undercover buyer, purchased 1 9mm MAC 10 machinegun, SN 54-9365, from a JONES, Tommy at his place of occupation, Branton Tires in San Jose, California. Purchase price was $500.00 cash. Mr. Jones stated that he could obtain more weapons within the next two weeks. + + + + http://www.gtri.org/LEXS/examples/XMLViewer.xsl + + PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8IS0tDQogICAgRG9jdW1lbnQgICA6ICRJZDoganhkbXZpZXcueHNsLHYgMS4yIDIwMDQvMDYvMTYgMjE6Mjk6NTYgc2hyb20gRXhwICQNCiAgICBEZXNjcmlwdGlvbjogR2VuZXJpYyBzdHlsZXNoZWV0IGFueSBYTUwgZGF0YSBmaWxlLiBTdHlsZXNoZWV0IGlkZWEgaXMgYmFzZWQgb24gdGhlIGFydGljbGUgYnkgQ3JhaWcgQmVycnkgaW4gWE1MSm91cm5hbCANCgkJCQkJCVVzZXMgQVNDSUkgY2hhcmFjdGVycyByYXRoZXIgdGhhbiBHSUYgaW1hZ2VzIHNvIGV4dGVybmFsIGZpbGVzIGFyZSBub3QgbmVlZGVkLCBhbmQgdG8gc3BlZWQgcHJvY2Vzc2luZw0KLS0+DQo8eHNsOnN0eWxlc2hlZXQgdmVyc2lvbj0iMS4wIg0KICB4bWxuczp4c2w9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML1RyYW5zZm9ybSI+DQoNCiAgPHhzbDpvdXRwdXQNCiAgICBtZXRob2Q9Imh0bWwiDQogICAgZW5jb2Rpbmc9IlVURi04Ig0KICAgIGluZGVudD0ieWVzIg0KICAgIHZlcnNpb249IjEuMCINCiAgICBvbWl0LXhtbC1kZWNsYXJhdGlvbj0ieWVzIg0KICAgIG1lZGlhLXR5cGU9InRleHQvaHRtbCINCiAgICBzdGFuZGFsb25lPSJ5ZXMiLz4NCg0KICA8eHNsOnRlbXBsYXRlIG1hdGNoPSIvY2hpbGQ6OipbMV0iPg0KICAgIDxodG1sPg0KICAgICAgPGhlYWQ+DQogICAgICAgIDx0aXRsZT5EYXRhIFZpZXc8L3RpdGxlPg0KICAgICAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KICAgICAgICAgIGJvZHkgeyBmb250LXNpemU6IHNtYWxsZXIgfQ0KICAgICAgICAgIGRpdiwgaW1nIHsgYm9yZGVyOiAwcHg7IG1hcmdpbjogMHB4OyBwYWRkaW5nOiAwcHggfQ0KICAgICAgICAgIGRpdi5Ob2RlICogeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlIH0NCiAgICAgICAgICBpLkF0dHJpYnV0ZVZhbCAgeyBjb2xvcjogcmdiKDUwLDEyNywxMjcpIH0NCiAgICAgICAgICBpLkVsZW1lbnRWYWwgIHsgY29sb3I6IHJnYig0MCwwLDI1NSkgfQ0KICAgICAgICAgIGIuQXR0cmlidXRlICAgeyBjb2xvcjogIzc3MTUxRiB9DQogICAgICAgIDwvc3R5bGU+DQogICAgICA8L2hlYWQ+DQogICAgICA8Ym9keT4NCiAgICAgICAgPGI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Im5hbWUoKSIvPjwvYj4NCiAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgbW9kZT0ibGluZSIvPg0KICAgICAgPC9ib2R5Pg0KICAgIDwvaHRtbD4NCiAgPC94c2w6dGVtcGxhdGU+DQoNCiAgPCEtLSBTaG93IGVhY2ggdHJlZSBsaW5lIC0tPg0KICA8eHNsOnRlbXBsYXRlIG1hdGNoPSIqIiBtb2RlPSJsaW5lIj4NCiAgICA8ZGl2IGNsYXNzPSJOb2RlIj4NCiAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJncmFmdCIvPg0KICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuIiBtb2RlPSJpdGVtIi8+DQogICAgPC9kaXY+ICAgIA0KICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzICBzZWxlY3Q9ImNoaWxkOjoqIiBtb2RlPSJsaW5lIi8+DQogIDwveHNsOnRlbXBsYXRlPg0KICANCiAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iKiIgbW9kZT0iaXRlbSI+DQogICAgICA8Yj48eHNsOnZhbHVlLW9mIHNlbGVjdD0ibmFtZSgpIi8+PC9iPg0KICAgICAgPHhzbDppZiB0ZXN0PSJAKiI+DQogICAgICAgICAgPHhzbDp0ZXh0PiBbICA8L3hzbDp0ZXh0PiAgICAgIA0KICAgICAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9IkAqIj4NCiAgICAgICAgICAgICAgICA8YiBjbGFzcz0iQXR0cmlidXRlIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0ibmFtZSgpIi8+PC9iPg0KICAgICAgICAgICAgICAgIDx4c2w6dGV4dD4gPSAiPC94c2w6dGV4dD4NCiAgICAgICAgICAgICAgICA8aSBjbGFzcz0iQXR0cmlidXRlVmFsIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iLiIvPjwvaT4NCiAgICAgICAgICAgICAgICA8eHNsOnRleHQ+IiA8L3hzbDp0ZXh0Pg0KICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+DQogICAgICAgICAgPHhzbDp0ZXh0PiBdIDwveHNsOnRleHQ+DQogICAgICA8L3hzbDppZj4NCiAgICAgIDx4c2w6dGV4dD4gICAgPC94c2w6dGV4dD4NCiAgICAgIDxpIGNsYXNzPSJFbGVtZW50VmFsIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0idGV4dCgpIi8+PC9pPg0KICA8L3hzbDp0ZW1wbGF0ZT4NCiAgIA0KICA8IS0tIFRlbXBsYXRlcyB1c2VkIHRvIGdlbmVyYXRlIHRoZSAic3RpY2sgc3RhY2siIG9mDQogICAgICAgdHJlZSBjb25uZWN0b3JzIC0tPg0KDQogIDx4c2w6dGVtcGxhdGUgbmFtZT0iZ3JhZnQiPg0KICAgIDwhLS0gR2VuZXJhdGUgYW5jZXN0b3IgY29ubmVjdG9ycyAtLT4NCiAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImFuY2VzdG9yOjoqIiBtb2RlPSJ0cmVlIi8+DQoNCiAgICA8IS0tIEdlbmVyYXRlIGN1cnJlbnQtbm9kZSBjb25uZWN0b3IgLS0+DQogICAgPHhzbDpjaG9vc2U+DQogICAgICA8eHNsOndoZW4gdGVzdD0iZm9sbG93aW5nLXNpYmxpbmc6OioiPg0KICAgICAgICA8eHNsOnRleHQgZGlzYWJsZS1vdXRwdXQtZXNjYXBpbmc9InllcyI+JmFtcDtuYnNwOyZhbXA7bmJzcDsmI3gyNTFjOyZhbXA7bmJzcDs8L3hzbDp0ZXh0Pg0KICAgICAgPC94c2w6d2hlbj4NCiAgICAgIDx4c2w6b3RoZXJ3aXNlPg0KICAgICAgICA8eHNsOnRleHQgZGlzYWJsZS1vdXRwdXQtZXNjYXBpbmc9InllcyI+JmFtcDtuYnNwOyZhbXA7bmJzcDsmI3gyNTE0OyZhbXA7bmJzcDs8L3hzbDp0ZXh0Pg0KICAgICAgPC94c2w6b3RoZXJ3aXNlPg0KICAgIDwveHNsOmNob29zZT4NCiAgPC94c2w6dGVtcGxhdGU+DQoNCiAgPCEtLSBTdXBwcmVzcyBhbmNlc3RvciBjb25uZWN0b3IgZm9yIHRoZSB0b3Agbm9kZSAtLT4NCg0KICA8eHNsOnRlbXBsYXRlIG1hdGNoPSIvY2hpbGQ6OipbMV0iIG1vZGU9InRyZWUiLz4NCg0KICA8IS0tIFNob3cgYW5jZXN0b3IgY29ubmVjdG9ycyBmb3IgYWxsIG90aGVyIG5vZGUgdHlwZXMgLS0+DQoNCiAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iKiIgbW9kZT0idHJlZSI+DQogICAgPHhzbDpjaG9vc2U+DQogICAgICA8eHNsOndoZW4gdGVzdD0iZm9sbG93aW5nLXNpYmxpbmc6OioiPg0KICAgICAgICA8eHNsOnRleHQgZGlzYWJsZS1vdXRwdXQtZXNjYXBpbmc9InllcyI+JmFtcDtuYnNwOyZhbXA7bmJzcDsmI3gyNTAyOyZhbXA7bmJzcDs8L3hzbDp0ZXh0Pg0KICAgICAgPC94c2w6d2hlbj4NCiAgICAgIDx4c2w6b3RoZXJ3aXNlPg0KICAgICAgICA8eHNsOnRleHQgZGlzYWJsZS1vdXRwdXQtZXNjYXBpbmc9InllcyI+JmFtcDtuYnNwOyZhbXA7bmJzcDsmYW1wO25ic3A7JiN4MjIxOTsmYW1wO25ic3A7PC94c2w6dGV4dD4NCiAgICAgIDwveHNsOm90aGVyd2lzZT4NCiAgICA8L3hzbDpjaG9vc2U+DQogIDwveHNsOnRlbXBsYXRlPg0KDQo8L3hzbDpzdHlsZXNoZWV0Pg== + XML Stylesheet for pretty-printing any XML content + application/xml+xslt + MIME + Stylesheet + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-4-BOP-ITS-Call-Log.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-4-BOP-ITS-Call-Log.xml new file mode 100644 index 00000000..ca5f12af --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-4-BOP-ITS-Call-Log.xml @@ -0,0 +1,322 @@ + + + + + + + 3.1.4 + 2006-12-30T09:30:47.0Z + 1 + SBU + + BOP_ITS_RecordType + BOP-ITS-CALL-LOG + BOP_ITS + + + BOP_ITS_SYSTEM_PLATFORM + HP-UX-11.23 + BOP_ITS + + + + + + ZZ1234567 + BOP + ITS + + + David + Casillas + + + + + 202 + 555 + 1212 + + + + + + + + DIDR01037082Y2006M12D30T5034537912 + true + + + + + Casillas + David Casillas + + + + + 333-444-5555 x6 + + + + + RIDR01037082Y2006M12D30T5034537912 + Insert + Valid + + + + ZZ1234567 + BOP + ITS + + + David + Casillas + + + + 202 + 555 + 1212 + + + + + white + + + + + + + Tommy + Lee + Jones + + + + 01037082 + true + + + + + + + + 5034537912 + + + + + + + + 2006-12-11T09:20:11.0Z + + + 2006-12-11T09:25:34.0Z + + + + + + + 2006-12-01T09:20:11.0Z + + + 2006-12-01T09:25:34.0Z + + + + + + + 2006-12-14T09:20:11.0Z + + + + P0Y0M0DT1H11M25S + + + + 2006-12-05T09:20:11.0Z + + + 2006-12-05T09:25:34.0Z + + + + + + + + + + + 3.1.4 + 2006-12-30T09:30:47.0Z + 2 + SBU + + BOP_ITS_RecordType + BOP-ITS-CALL-LOG + BOP_ITS + + + BOP_ITS_SYSTEM_PLATFORM + HP-UX-11.23 + BOP_ITS + + + + + + ZZ1234567 + BOP + ITS + + + David + Casillas + + + + + 202 + 555 + 1212 + + + + + + + + DIDR01037082Y2006M12D30T5034537913 + true + + + + + Casillas + David Casillas + + + + + 333-444-5555 x6 + + + + 2006-12-13 + + RIDR01037082Y2006M12D30T5034537913 + Insert + Valid + + + ZZ1234567 + BOP + ITS + + + David + Casillas + + + + 202 + 555 + 1212 + + + + + white + + + + + + Tommy + Lee + Jones + + + + 01037082 + true + + + + + + + + 5034537913 + + + + + + + + 2006-12-12T09:20:11.0Z + + + 2006-12-12T09:25:34.0Z + + + + + + + 2006-12-02T09:20:11.0Z + + + 2006-12-02T09:25:34.0Z + + + + + + + 2006-12-05T09:20:11.0Z + + + + P0Y0M0DT1H11M25S + + + + 2006-12-05T09:20:11.0Z + + + 2006-12-02T09:25:34.0Z + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-5-BOP-ITS-Call-List.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-5-BOP-ITS-Call-List.xml new file mode 100644 index 00000000..f8656906 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-5-BOP-ITS-Call-List.xml @@ -0,0 +1,186 @@ + + + + + + + 3.1.4 + 2006-12-30T09:30:47.0Z + 1 + SBU + + BOP_ITS_RecordType + BOP-ITS-CALL-LIST + BOP_ITS + + + BOP_ITS_SYSTEM_PLATFORM + HP-UX-11.23 + BOP_ITS + + + + + + ZZ1234567 + BOP + ITS + + + David + Casillas + + + + + 202 + 555 + 1212 + + + + + + + + DIDR02362097Y2006M12D22 + true + + + + + Casillas + David Casillas + + + + + 333-444-5555 x6 + + + + 1967-08-13 + + RIDR02362097Y2006M12D22 + Insert + Valid + + + + ZZ1234567 + BOP + ITS + + + David + Casillas + + + + 202 + 555 + 1212 + + + + + white + + + + + + Tommy + Lee + Jones + + + + 01037081 + true + + + + + + + + 4805105190 + + + + + + + 4805105191 + + + + + + + + + + + + + + + + + + http://somewhere.gov/new-community + + New Community + + 1.0 + + + strawberry blond + + + + + + http://www.gtri.org/LEXS/examples/XMLViewer.xsl + false + XML Stylesheet for pretty-printing any XML content + + + + HTMLStyleSheet + + Pretty prints a message + + + + + http://www.gtri.org/LEXS/examples/XMLViewer.xsl + + PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8IS0tDQogICAgRG9jdW1lbnQgICA6ICRJZDoganhkbXZpZXcueHNsLHYgMS4yIDIwMDQvMDYvMTYgMjE6Mjk6NTYgc2hyb20gRXhwICQNCiAgICBEZXNjcmlwdGlvbjogR2VuZXJpYyBzdHlsZXNoZWV0IGFueSBYTUwgZGF0YSBmaWxlLiBTdHlsZXNoZWV0IGlkZWEgaXMgYmFzZWQgb24gdGhlIGFydGljbGUgYnkgQ3JhaWcgQmVycnkgaW4gWE1MSm91cm5hbCANCgkJCQkJCVVzZXMgQVNDSUkgY2hhcmFjdGVycyByYXRoZXIgdGhhbiBHSUYgaW1hZ2VzIHNvIGV4dGVybmFsIGZpbGVzIGFyZSBub3QgbmVlZGVkLCBhbmQgdG8gc3BlZWQgcHJvY2Vzc2luZw0KLS0+DQo8eHNsOnN0eWxlc2hlZXQgdmVyc2lvbj0iMS4wIg0KICB4bWxuczp4c2w9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML1RyYW5zZm9ybSI+DQoNCiAgPHhzbDpvdXRwdXQNCiAgICBtZXRob2Q9Imh0bWwiDQogICAgZW5jb2Rpbmc9IlVURi04Ig0KICAgIGluZGVudD0ieWVzIg0KICAgIHZlcnNpb249IjEuMCINCiAgICBvbWl0LXhtbC1kZWNsYXJhdGlvbj0ieWVzIg0KICAgIG1lZGlhLXR5cGU9InRleHQvaHRtbCINCiAgICBzdGFuZGFsb25lPSJ5ZXMiLz4NCg0KICA8eHNsOnRlbXBsYXRlIG1hdGNoPSIvY2hpbGQ6OipbMV0iPg0KICAgIDxodG1sPg0KICAgICAgPGhlYWQ+DQogICAgICAgIDx0aXRsZT5EYXRhIFZpZXc8L3RpdGxlPg0KICAgICAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KICAgICAgICAgIGJvZHkgeyBmb250LXNpemU6IHNtYWxsZXIgfQ0KICAgICAgICAgIGRpdiwgaW1nIHsgYm9yZGVyOiAwcHg7IG1hcmdpbjogMHB4OyBwYWRkaW5nOiAwcHggfQ0KICAgICAgICAgIGRpdi5Ob2RlICogeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlIH0NCiAgICAgICAgICBpLkF0dHJpYnV0ZVZhbCAgeyBjb2xvcjogcmdiKDUwLDEyNywxMjcpIH0NCiAgICAgICAgICBpLkVsZW1lbnRWYWwgIHsgY29sb3I6IHJnYig0MCwwLDI1NSkgfQ0KICAgICAgICAgIGIuQXR0cmlidXRlICAgeyBjb2xvcjogIzc3MTUxRiB9DQogICAgICAgIDwvc3R5bGU+DQogICAgICA8L2hlYWQ+DQogICAgICA8Ym9keT4NCiAgICAgICAgPGI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Im5hbWUoKSIvPjwvYj4NCiAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgbW9kZT0ibGluZSIvPg0KICAgICAgPC9ib2R5Pg0KICAgIDwvaHRtbD4NCiAgPC94c2w6dGVtcGxhdGU+DQoNCiAgPCEtLSBTaG93IGVhY2ggdHJlZSBsaW5lIC0tPg0KICA8eHNsOnRlbXBsYXRlIG1hdGNoPSIqIiBtb2RlPSJsaW5lIj4NCiAgICA8ZGl2IGNsYXNzPSJOb2RlIj4NCiAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJncmFmdCIvPg0KICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuIiBtb2RlPSJpdGVtIi8+DQogICAgPC9kaXY+ICAgIA0KICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzICBzZWxlY3Q9ImNoaWxkOjoqIiBtb2RlPSJsaW5lIi8+DQogIDwveHNsOnRlbXBsYXRlPg0KICANCiAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iKiIgbW9kZT0iaXRlbSI+DQogICAgICA8Yj48eHNsOnZhbHVlLW9mIHNlbGVjdD0ibmFtZSgpIi8+PC9iPg0KICAgICAgPHhzbDppZiB0ZXN0PSJAKiI+DQogICAgICAgICAgPHhzbDp0ZXh0PiBbICA8L3hzbDp0ZXh0PiAgICAgIA0KICAgICAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9IkAqIj4NCiAgICAgICAgICAgICAgICA8YiBjbGFzcz0iQXR0cmlidXRlIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0ibmFtZSgpIi8+PC9iPg0KICAgICAgICAgICAgICAgIDx4c2w6dGV4dD4gPSAiPC94c2w6dGV4dD4NCiAgICAgICAgICAgICAgICA8aSBjbGFzcz0iQXR0cmlidXRlVmFsIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iLiIvPjwvaT4NCiAgICAgICAgICAgICAgICA8eHNsOnRleHQ+IiA8L3hzbDp0ZXh0Pg0KICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+DQogICAgICAgICAgPHhzbDp0ZXh0PiBdIDwveHNsOnRleHQ+DQogICAgICA8L3hzbDppZj4NCiAgICAgIDx4c2w6dGV4dD4gICAgPC94c2w6dGV4dD4NCiAgICAgIDxpIGNsYXNzPSJFbGVtZW50VmFsIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0idGV4dCgpIi8+PC9pPg0KICA8L3hzbDp0ZW1wbGF0ZT4NCiAgIA0KICA8IS0tIFRlbXBsYXRlcyB1c2VkIHRvIGdlbmVyYXRlIHRoZSAic3RpY2sgc3RhY2siIG9mDQogICAgICAgdHJlZSBjb25uZWN0b3JzIC0tPg0KDQogIDx4c2w6dGVtcGxhdGUgbmFtZT0iZ3JhZnQiPg0KICAgIDwhLS0gR2VuZXJhdGUgYW5jZXN0b3IgY29ubmVjdG9ycyAtLT4NCiAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImFuY2VzdG9yOjoqIiBtb2RlPSJ0cmVlIi8+DQoNCiAgICA8IS0tIEdlbmVyYXRlIGN1cnJlbnQtbm9kZSBjb25uZWN0b3IgLS0+DQogICAgPHhzbDpjaG9vc2U+DQogICAgICA8eHNsOndoZW4gdGVzdD0iZm9sbG93aW5nLXNpYmxpbmc6OioiPg0KICAgICAgICA8eHNsOnRleHQgZGlzYWJsZS1vdXRwdXQtZXNjYXBpbmc9InllcyI+JmFtcDtuYnNwOyZhbXA7bmJzcDsmI3gyNTFjOyZhbXA7bmJzcDs8L3hzbDp0ZXh0Pg0KICAgICAgPC94c2w6d2hlbj4NCiAgICAgIDx4c2w6b3RoZXJ3aXNlPg0KICAgICAgICA8eHNsOnRleHQgZGlzYWJsZS1vdXRwdXQtZXNjYXBpbmc9InllcyI+JmFtcDtuYnNwOyZhbXA7bmJzcDsmI3gyNTE0OyZhbXA7bmJzcDs8L3hzbDp0ZXh0Pg0KICAgICAgPC94c2w6b3RoZXJ3aXNlPg0KICAgIDwveHNsOmNob29zZT4NCiAgPC94c2w6dGVtcGxhdGU+DQoNCiAgPCEtLSBTdXBwcmVzcyBhbmNlc3RvciBjb25uZWN0b3IgZm9yIHRoZSB0b3Agbm9kZSAtLT4NCg0KICA8eHNsOnRlbXBsYXRlIG1hdGNoPSIvY2hpbGQ6OipbMV0iIG1vZGU9InRyZWUiLz4NCg0KICA8IS0tIFNob3cgYW5jZXN0b3IgY29ubmVjdG9ycyBmb3IgYWxsIG90aGVyIG5vZGUgdHlwZXMgLS0+DQoNCiAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iKiIgbW9kZT0idHJlZSI+DQogICAgPHhzbDpjaG9vc2U+DQogICAgICA8eHNsOndoZW4gdGVzdD0iZm9sbG93aW5nLXNpYmxpbmc6OioiPg0KICAgICAgICA8eHNsOnRleHQgZGlzYWJsZS1vdXRwdXQtZXNjYXBpbmc9InllcyI+JmFtcDtuYnNwOyZhbXA7bmJzcDsmI3gyNTAyOyZhbXA7bmJzcDs8L3hzbDp0ZXh0Pg0KICAgICAgPC94c2w6d2hlbj4NCiAgICAgIDx4c2w6b3RoZXJ3aXNlPg0KICAgICAgICA8eHNsOnRleHQgZGlzYWJsZS1vdXRwdXQtZXNjYXBpbmc9InllcyI+JmFtcDtuYnNwOyZhbXA7bmJzcDsmYW1wO25ic3A7JiN4MjIxOTsmYW1wO25ic3A7PC94c2w6dGV4dD4NCiAgICAgIDwveHNsOm90aGVyd2lzZT4NCiAgICA8L3hzbDpjaG9vc2U+DQogIDwveHNsOnRlbXBsYXRlPg0KDQo8L3hzbDpzdHlsZXNoZWV0Pg== + XML Stylesheet for pretty-printing any XML content + application/xml+xslt + MIME + Stylesheet + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-6-multiple-packages.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-6-multiple-packages.xml new file mode 100644 index 00000000..1b5c2054 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-6-multiple-packages.xml @@ -0,0 +1,294 @@ + + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 1 + SBU + + + + + Hypothetical Organization C + SysC + + + Michael + Park + + + + + 202 + 555 + 1212 + + + + + + + + 12345678 + true + 1967-08-13 + 12345678 + Insert + Valid + + + + AA1234567 + Hypothetical Agency A + SysA + + + Will + Jones + + + 111-222-3333 + + + + + white + + + + + + P123 + + + + 29 + ANN + + + John + Doe + + + 555443333 + + + + + + + P234 + P555 + + + + 30 + ANN + + + Bill + Smith + + + + + + + + + + + + + + + + + + + http://somewhere.gov/new-community + New Community + 1.0 + + + + strawberry blond + + + + + + + http://www.gtri.org/LEXS/examples/mugshot1.jpg + true + Mug shot for John Doe + + + + + + 23456789 + true + 1968-09-01 + 23456789 + Insert + Valid + + + + AA1234567 + Hypothetical Agency A + SysA + + + Will + Jones + + + 111-222-3333 + + + + + + red + NDEX + + + + + + + P123 + + + + 29 + ANN + + + John + Doe + + + 555443333 + + + + + + + P888 + P555 + + + + 33 + ANN + + + Bill + Smitherman + + + + + + + + + + + + + + + + + + + http://somewhere.gov/new-community + New Community + 1.0 + + + + strawberry blond + + + + + + + http://www.gtri.org/LEXS/examples/mugshot1.jpg + true + Mug shot for John Doe + + + + + + http://www.gtri.org/LEXS/examples/OJmugshot.jpg + + + /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a + HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy + MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAA4ACoDASIA + AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA + AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 + ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm + p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA + AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx + BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK + U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 + uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD2XpWP + 4k8UaT4T04X2rXBijYlYlVSzStgnAA+nU4Hqa1Li4htbWW5nkCQwqZJJD0VQMk18t+J/EVx478U3 + F1MX+xo5itISNvlxZ4yOeT1PPX2AA0nJRV2OMXJ2R1t/8f8AVJJV/szRLSCIZ3C4kaUt6Yxtx+tb + Wj/HuwutSWDVdIextWbH2iOczbPqu0Ejr0/KuRsPCsTqMW64A64FZmteGUhjaQJsI544rjWNTdjs + eCkle59NWV9a6lZRXtlPHcW0q7klQ5DCpy3NeC/BXxDcad4ll8NXErvaXcbNboxJEcq5Jx2UFd+f + UgV7z3rsi+ZXOGS5XY5H4p3k1j8Ndblt5NrNEsROM5WSRVYfirEfjXzl4fZUuIx5crFuT5a5IFfR + PxTh874d6pbB0VphGEDdyJFbH5Ka8g8KaTLLp0P2ecxeZnzWXGQccZyDwDg471zYqaSszqwsJN8y + PUPD+nRvYCYNuRo+MjnPvXIeMzFppzK4+YZ8tUzUst6umanLZWcrFFtxukk/5aHaMtjoMnngVYm0 + y7uNKt7+xuCkjKfNjYA5YcA5xnHHIzznt0rzbR27Hpe8te55RHqX9k+KtP1SFd/2eaK4UA434bOP + xxX133r5W13RFPiWGFPMIbMkojByoHJx+tfU5ZMmvVoSTjoeTWptTdzK8UaAviPQprAuEkJDRsRk + Aj/J/OvBdJvDoGsXOk3Lbxa3EkLeXnDFTjj64r6T6/jXzR41Qab8TtWTqDOWGD3YBj+RNLE0lJGm + HquLN2K6t9Q1e9uZ0GJlES5z8ueABgjoAPyrQtvEFvaaJJbcqYyduT1BPr7H+ftXOaNDN9mLrb/a + EzkuZSpX61Q1m52Qyhvvk8YOQv8AkVwOnc9H2lkdb4T8LTeL9butUuHRbOCRY2yTl+5UY9sD8c84 + r2onnoteafBbUbeTQL6waVfta3Zm8nPzCIqgDY9MgivTdy5616VGmlHQ8qvVbkfLmv8AxS8VeIop + bea9S1tpAA0Nmvlg8YPPLYOeRnFbN5oKX1lo88oZUurC2IYEfK0cSrx/wEKf+BUUVGIehWG1kwtN + P1ux8yOGeEIcggA5PSmL4enud99qBAUfdjX+ZoorzuZ9z01GPY6JdAjf4Z3Gu2Xm2uq2pmube6gY + xyRgEqwyOcFVPHvXEj4teOwABr3A6ZtYf/iKKK9SjpE8irrNn//Z + + Mug shot for John Doe + image/jpg + MIME + Mug Shot + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-7-multiple-messages.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-7-multiple-messages.xml new file mode 100644 index 00000000..68864467 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-7-multiple-messages.xml @@ -0,0 +1,205 @@ + + + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 1 + SBU + + + + + Hypothetical Organization C + SysC + + + Michael + Park + + + + + 202 + 555 + 1212 + + + + + + + + 12345678 + true + 1967-08-13 + 12345678 + Insert + Valid + + + + AA1234567 + Hypothetical Agency A + SysA + + + Will + Jones + + + 111-222-3333 + + + + + white + + + + + + P123 + + + + 29 + ANN + + + John + Doe + + + 555443333 + + + + + + + + http://somewhere.gov/new-community + New Community + 1.0 + + + + strawberry blond + + + + + + + + + + 3.1.4 + 2006-12-01T09:55:00.0Z + 2 + SBU + + + + + Hypothetical Organization C + SysC + + + Michael + Park + + + + + 202 + 555 + 1212 + + + + + + + + 23456789 + false + 1968-09-01 + 23456789 + Insert + Valid + + + + AA1234567 + Hypothetical Agency A + SysA + + + Will + Jones + + + 111-222-3333 + + + + + white + + + + + + P888 + + + + 33 + ANN + + + Bill + Smitherman + + + + + + + + http://somewhere.gov/new-community + New Community + 1.0 + + + + mohawk + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-8-non-digest-aware.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-8-non-digest-aware.xml new file mode 100644 index 00000000..3d185fb1 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-8-non-digest-aware.xml @@ -0,0 +1,136 @@ + + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 1 + SBU + + + + + Hypothetical Organization C + SysC + + + Michael + Park + + + + + 202 + 555 + 1212 + + + + + + + + 12345678 + 1967-08-13 + 12345678 + Insert + Valid + + + + AA1234567 + Hypothetical Agency A + SysA + + + Will + Jones + + + 111-222-3333 + + + + + white + + + + + + P123 + + + + John + Doe + + + + + + + P234 + + + + Bill + Smith + + + + + + + + + + + + + + + + + + + + + + + http://somewhere.gov/new-community + New Community + 1.0 + + + + strawberry blond + + + Cellmates + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-9-all-fields.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-9-all-fields.xml new file mode 100644 index 00000000..b90818ff --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/PD-samples/Sample-9-all-fields.xml @@ -0,0 +1,4368 @@ + + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 1 + + AlphaField + 12 + GBI + + + + + + CC1234567 + Hypothetical Organization C + SysC + + + James + Joseph + West + James Joseph West + jim.west@gbi.gov + + + 123 + 555 + 1212 + 15 + + + + + 01 + 2345551212 + 15 + + + + + 345-555-1212 x15 + 15 + + + + + 123 + 555 + 1213 + 15 + + + GBI Records Bureau + + ContactRole + Data Center Operations + GBI + + + + field1 + value1 + whatever + + + + + + 12345678 + true + + + Joe + James + Boss + Joe James Boss + Joe@gbi.gov + + + 111 + 555 + 1212 + 14 + + + + + 01 + 111-555-1212 + + + + + 111-555-1214 + 12 + + + + + 111-555-1215 + 1215 + + + GBI - Records Bureau + + ContactRole + Arresting Officer + GBI + + + 1967-08-13 + 3.1.4 + 12345678 + Insert + Valid + + + + ABC123 + GBI + GBI RMS + + + Joe + James + Boss + Joe James Boss + Joe@gbi.gov + + + 111 + 555 + 1212 + 14 + + + + + 01 + 111-555-1212 + + + + + 111-555-1214 + 12 + + + + + 111-555-1215 + 1215 + + + GBI - Records Bureau + + ContactRole + RMS Manager + GBI + + + + white + + GammaField + 11 + GBI-RMS + + + + + + + Data entered by officer + This is the distribution of the information. + + + 1967-08-13 + + + 1967-08-13T14:20:00.0Z + + + 1967 + + + 1967-08 + + + 1967-08-13 + + P123 + L123 + + + S123 + + + RO123 + + + + 20 + ANN + + + Billy + Bob + Smith + Billy Bob Smith + + + 1967-08-13 + + AA + + BLK + + Black + + + 65 + 70 + + INH + + + John + James + Doe + John James Doe + + + A3943 + library card + + + PP12345 + + 1967-08-13 + + + 1968-08-13 + + + US + some source + + + 1967-08-13 + + Valid + US State Dept. + + + + spa + + + White + M + + 111223333 + + 1967-08-13 + + + 1968-08-13 + + + USA + + + 1967-08-13 + + Valid + SSA + + + + + 160 + 180 + + LBR + + + + + DL12345 + + 1967-08-13 + + + 1968-08-13 + + + Georgia + + + 1967-08-13 + + Revoked + DMV + + + + + FBI123 + + 1967-08-13 + + + 1967-08-13 + + + United States + some source + + + 1967-08-13 + + Valid + FBI + + + + GA12345 + + 1967-08-13 + + + 1968-08-13 + + + AK + + + 1967-08-13 + + Valid + GBI + + + + + + String + + 1967-08-13 + + + 1968-08-13 + + + AK + some source + + + 1967-08-13 + + Valid + Immigration + + + + REG12345 + + 1967-08-13 + + + 1968-08-13 + + + Georgia + some source + + + 1967-08-13 + + Current + GBI + + true + true + + + USMS1234 + + 1967-08-13 + + + 1968-08-13 + + + United States + some source + + + 1967-08-13 + + Current + US Marshal Service + + + + + + + Securities Fraud + + 1967-08-13 + + + 1968-08-13 + + + RegNum123 + + 1967-08-13 + + + 1968-08-13 + + + Georgia + some source + + + 1967-08-13 + + Current + Georgia State Police + + + Must report all contacts with financial consultants + Finance + + 1967-08-13 + + Securities Fraud + + + + 00 + + Red + Hand signals + Description + Red shoes + Always observe potential victims for 3 days + Image of red shoe + Near high school + + This person is an adjudicated violent felon + + + + + + P124 + + + W123 + + + R123 + + + Juror123 + + + + Brown + + BLK + + Robert + Jones + + + W + M + + + + Doctor + Triage Doctor + + + + + 1967-08-13 + + true + Fell Asleep + true + + Juror123 + + 1967-08-13 + + + 1968-08-13 + + + Atlanta + some source + + + 1967-08-13 + + Valid + Atlanta Court + + + + Panel123 + + 1967-08-13 + + + 1968-08-13 + + + Atlanta + some source + + + 1967-08-13 + + Valid + Atlanta Court + + + true + + + + + W1234 + + 1967-08-13 + + + 1968-08-13 + + + Georgia + some source + + + 1967-08-13 + + Current + GBI + + + Guy jumped out and demanded money + + 1967-08-13 + + Across the street + true + Cannot be identified by name + true + + + + + + + + + P125 + + + V123 + + + Off123 + + + + 1967-08-13 + + + William + Hancock + + White + F + + + + + Badge123 + + 1967-08-13 + + + 1968-08-13 + + + Atlanta + some source + + + 1967-08-13 + + Valid + Atlanta Police Department + + + Detective + + City Police Department + Atlanta Police Department - Narcotic Division + + Midtown1 + + 1967-08-13 + + + 1968-08-13 + + + Atlanta Midtown North + some source + + + 1967-08-13 + + Current + Atlanta Police Department + + + + Midtown + + 1967-08-13 + + + 1968-08-13 + + + Atlanta Midtown + some source + + + 1967-08-13 + + Valid + Atlanta Police Department + + + Midtown Narcotics + + MN12 + + 1967-08-13 + + + 1968-08-13 + + + Atlanta Midtown + some source + + + 1967-08-13 + + Current + Atlanta Police Department + + + + North1 + + 1967-08-13 + + + 1968-08-13 + + + Atlanta Midtown + some source + + + 1967-08-13 + + Valid + Atlanta Police Department + + + + + + + Went home + true + + + + + N + + 2001 + + + 2001 + + true + + 2001 + + + + + + + P126 + + + OIP123 + + + + 1967-08-13 + + + William + Hancock + + White + F + + + + 1 + + + + + + + + + P127 + + + Jd123 + + + + 1967-08-13 + + + William + Hancock + + White + F + + + + + Judicial + Atlanta Courts + + Tax123 + + 1967-08-13 + + + 1968-08-13 + + + Atlanta + some source + + + 1967-08-13 + + Valid + IRS + + + + + JO123 + + 1967-08-13 + + + 1968-08-13 + + + Atlanta + some source + + + 1967-08-13 + + Valid + Atlanta Court + + + + JudgeID1 + + 1967-08-13 + + + 1968-08-13 + + + Georgia + some source + + + 1967-08-13 + + Valid + Georgia Circuit Court + + + Judge + + + + + + + + + 123 N. Main St. SW + 123 + North + Main + Street + Southwest + + Apt 1A + Atlanta + Georgia + United States + 12345 + + + + + -90 + 0 + 0 + + + -180 + 0 + 0 + + + + + + + + + + 555 Main St., Atlanta, GA + + + + + + + O126 + + + S125 + + + CO125 + + + VB125 + + + Insurance Agency + ABC Insurance + + ABC123 + + 1967-08-13 + + + 1968-08-13 + + + United States + some source + + + 1967-08-13 + + Valid + IRS + + + + + + Keep guns in drawers + + CO123 + + 1967-08-13 + + + 1968-08-13 + + + Northeast United States + some source + + + 1967-08-13 + + Valid + FBI + + + Build organization across country + + Red + Employees use hand signals + Description + Employees all wear red shoes + Target people who appear easily intimidated + Employees all have image of red shoe + Near high school + + + + + 01 + + Red + Employees use hand signals + Description + Employees all wear red shoes + Target people who appear easily intimidated + Employees all have image of red shoe + Near high school + + Repeat offender + + + + + + + + String + + 1967-08-13 + + + 1968-08-13 + + + United States + some source + + + 1967-08-13 + + Valid + DOT + + + + + + + + O125 + + + V125 + + + City Police Department + Atlanta Police Department + + + + Continued operating + true + + + + + + + + + Incident data entered by officer on scene + + 1967-08-13 + + + 1967-08-13T14:20:00.0Z + + + 1967 + + + 1967-08 + + + 1967-08-13 + + Inc123 + + + + Incident123 + + 1967-08-13 + + + 1968-08-13 + + + Georgia + some source + + + 1967-08-13 + + Valid + GBI + + + Incident + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T15:20:00.0Z + + + Bad things happened + + + + + + + Offense123 + + 1967-08-13 + + + 1968-08-13 + + + Georgia + some source + + + 1967-08-13 + + Valid + GBI + + + Offense + + 1967-08-13 + + Intimidation + + + + + + + Offense123 + + 1967-08-13 + + + 1968-08-13 + + + Georgia + some source + + + 1967-08-13 + + Valid + GBI + + + Service Call + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T15:20:00.0Z + + + Victim call 911 + + + + + + + Arrest123 + + 1967-08-13 + + + 1968-08-13 + + + Georgia + some source + + + 1967-08-13 + + Valid + GBI + + + Arrest + + 1967-08-13 + + Officer on scene arrested subject + + + + + + + Case123 + + 1967-08-13 + + + 1968-08-13 + + + Georgia + some source + + + 1967-08-13 + + Valid + GBI + + + Case resulting from arrest. + + 1967-08 + + Something happened + + + + + + + Activity123 + + 1967-08-13 + + + 1968-08-13 + + + Georgia + some source + + + 1967-08-13 + + Valid + GBI + + + Activity with no special type assigned + + 1967 + + Something happened + + + + + + + 01 + 888-555-1212 + 11 + + LandLine + + + + + + + 888 + 444 + 1212 + 11 + + Mobile + + + + + + + 888-444-1212 + 11 + + Other + + + + + abc1@yahoo.com + + + + abc2@yahoo.com + + + + + CRT Television + + SER123 + + 1967-08-13 + + + 1967-08-13 + + + Worldwide + some source + + + 1967-08-13 + + Valid + Toshiba + + + + 300 + + 2001-08-13 + + Purchase price + + Electronic Equipment + Black + + 22 + INH + + + + 8 + 12 + + INH + + Toshiba + ABC1 + 2001 + + 20 + LBR + + + 26 + INH + + + + + CRT Resource + CRT used in case of emergency + + + + + 200 + + 2001-08-13 + + Used price + + + 200 + + 2001-08-13 + + Used price + + + + + + + Homemade bomb + + 100 + + 2001-08-13 + + Cost of parts to build + + Explosive + + 10 + INH + + + 15 + INH + + + 6 + LBR + + + 20 + INH + + 1 + 1 + 1 + 1 + + + + + Used to extort money + + + + + + Homemade bomb + + 100 + + 2001-08-13 + + Cost of parts to build + + Explosive + + 10 + INH + + + 15 + INH + + + 6 + LBR + + + 20 + INH + + Nails + Bottle + Nitroglycerene + Clock + + + + + + Smith and Wesson handgun + + SER456 + + 1967-08-13 + + + 1968-08-13 + + + Not applicable + Smith and Wesson + + + 1967-08-13 + + Current + Smith and Wesson + + + + 50 + + 1967-08-13 + + Purchase price + + handgun + + 3 + INH + + + 8 + INH + + Smith and Wesson + Peacemaker + 2001 + + 10 + ONZ + + + 2 + INH + + AAC + A + A + true + 45 + BLU + 12 + Pearl + + + + + Used to demand money + + + + + + Smith and Wesson handgun + handgun + Smith and Wesson + Peacemaker + 2001 + AAC + A + A + true + 45 + Blue + 12 + Pearl + + + + + + Cocaine powder seized from subject + + 100 + + 1967-08-13 + + Estimated street value + + Drugs + Pale white + Amphetamine + A1 + plastic bag + + 1 + OZ + + Crystalline + white powder + in subject pocket + + + + + + Paint + + PL1000 + + 1967-08-13 + + + 1967-08-13 + + + Worldwide + some source + + + 1967-08-13 + + Valid + Pratt and Lambert + + + + 10 + + 2001-08-13 + + Retail Cost + + Paint found at crime scene + White + + 10 + INH + + + 5 + INH + + Pratt and Lambert + Red Seal Interior Latex Satin Enamel + 2006 + + 5 + LBR + + + 8 + INH + + UN1263 + Can + + 1 + GL + + Latex + Liquid + Trunk of car + + + + + + Twin engine Cessna + + SER55555 + + 1967-08-13 + + + 1968-08-13 + + + North America + Cessna + + + 1967-08-13 + + Valid + Cessna + + + + 40000 + + 1967-08-13 + + fair market value + + Airplane + + 9 + FOT + + + 15 + FOT + + Cessna + Cub + 2001 + + + 450 + 550 + + LBR + + + 18 + FOT + + 2 + + ABC123 + + 1967-08-13 + + + 1968-08-13 + + + Worldwide + DNR + + + 1967-08-13 + + Valid + DNR + + + N55555 + AAA + 002 + 1P + + AME + AME + + + ATL + + 1967-08-13 + + + 1968-08-13 + + + Worldwide + FAA + + + 1967-08-13 + + Valid + FAA + + + Atlanta Hartsfield Jackson International Airport + + + + + + + Fishing boat with outboard motor + + SER123 + + 1967-08-13 + + + 1968-08-13 + + + United States + Trawler Inc. + + + 1967-08-13 + + Valid + Trawler Inc. + + + + 8000 + + 1967-08-13 + + Fair market value + + Fishing boat + BLK + BLU + + 9 + FOT + + + 35 + FOT + + Wes-Co. Boats Division + Fastline + 2001 + + BT + + + 450 + 550 + + LBR + + + 10 + FOT + + 2 + + + ABC123 + + 1967-08-13 + + + 1968-08-13 + + + Worldwide + DNR + + + 1967-08-13 + + Valid + DNR + + + + REG111 + + 1967-08-13 + + + 1968-08-13 + + + Georgia + Georgia Dept. of Transportation + + + 1967-08-13 + + Valid + Georgia Dept. of Transportation + + + AAA + AIR + + HULL123 + + 1967-08-13 + + + 1968-08-13 + + + Georgia + Georgia Dept. of Transportation + + + 1967-08-13 + + Valid + Georgia Dept. of Transportation + + + ML + CM + IN + AAA + + + + + + Fishing boat with outboard motor + BLK + BLU + Wes-Co. Boats Division + Fastline + 2001 + AAA + AIR + + HULL123 + + 1967-08-13 + + + 1968-08-13 + + + Georgia + Georgia Dept. of Transportation + + + 1967-08-13 + + Valid + Georgia Dept. of Transportation + + + Wood + Boat shaped + Inboard + AAA trailer company + + + + + + Dent on driver door + + 5000 + + 1967-08-13 + + Owner declared value + + Automobile + BGE + BRO + + 5 + FOT + + + 10 + FOT + + Chevrolet + Malibu + 2001 + 4D + + + 2000 + 2200 + + LBR + + + 5 + FOT + + 1 + + ABC123 + + 1967-08-13 + + + 1968-08-13 + + + Georgia + Georgia DMV + + + 1967-08-13 + + Expired + Georgia DMV + + + + VIN1234567 + + 1967-08-13 + + + 1968-08-13 + + + Worldwide + Chevrolet + + + 1967-08-13 + + Current + Chevrolet + + + CHEV + MAL + + + + Driven to owner's residence + + + + + + + copyright of movie + + 123456 + + 1967-08-13 + + + 1967-08-13 + + + Worldwide + some source + + + 1967-08-13 + + Valid + Time-Warner + + + + 500000 + + 1967-08-13 + + Owner declared value + + + + + + + VISA + + 1967-08 + + Bank of America + + John M. Doe + + + + + + 12.110.110.204 + + 2009-01-01T14:20:00.0Z + DOS attack orginination point + 00-00-00-00-00-00-00-E0 + + + + + + + Skype + boombox + + + + + + + 2009-01-01T14:20:00.0Z + + report + 4954422A + + 939434 + + foo bar baz + Report A454 + FOU + + + + + + + 934343 + SHA-1 + + + + + + + + This is an Acquaintance-related comment + + + This is an ActivityInformation-related comment + + + Service call initiated dispatch to incident. + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + Offense that prompted arrest + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + Additional information + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + Additional information + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + + + + + + + + + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + true + true + false + true + true + true + false + false + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + Additional information + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + Additional information + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + Additional information + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + Additional information + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + Additional information + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + Additional information + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + Additional information + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + + P1Y2M3DT10H30M0S + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + Additional information + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + Additional information + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + Additional information + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + aaa + + + + + Brother + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + Additional information + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + Additional information + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + Additional information + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + Additional information + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + + P1Y2M3DT10H30M0S + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + + + + 1967-08-13T14:20:00.0Z + + + + Tour + + + + + + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + Additional information + + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + 2001 + + current + Cobb County + + divorced + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + + 1967-08-13 + + + 1967-08-13 + + + + + biological + Biological + + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13 + + + 1967-08-13 + + + + + + 1967-08-13 + + Current + Atlanta Divorce Court + divorced + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967 + + + 1970 + + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967 + + + 1970 + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08 + + + 1968-12 + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13 + + + 1967-08-13 + + + + + + + Security + Security Officer + Staff + + ABC123 + + 1967-08-13 + + + 1968-08-13 + + + Company-wide + Employer + + + 1967-08-13 + + Current + Employer + + + + + 1967-08-13 + + Employed + Employer + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + + Security + Security Officer + Staff + + ABC123 + + 1967-08-13 + + + 1968-08-13 + + + Company-wide + Employer + + + 1967-08-13 + + May not be current + Employer + + + + + 1967-08-13 + + Retired + Employer + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + + Security + Security Officer + Staff + + ABC123 + + 1967-08-13 + + + 1968-08-13 + + + Company-wide + Employer + + + 1967-08-13 + + Current + Employer + + + + + 1967-08-13 + + Retired + Employer + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + Activity calmed down, but then escalated. + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1967-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + Additional information + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + Additional information + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + Condo + Owns + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 2 + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + Adopted + + 1967-08-13 + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + adoption + + 1967-08-13 + + + + + 1967-08-13T14:20:00.0Z + + + 1968-08-13T14:20:00.0Z + + + + + + + + + + + + + http://somewhere.gov/new-community + + New Community + + 1.0 + + + + true + + + + + + Help Tattoo + + + + + + Warning Tattoo + + + + + + + + + + + + + http://www.gtri.org/LEXS/examples/mugshot1.jpg + true + Photo of John Doe + 255616 + Mug shot + + + + http://www.gtri.org/LEXS/examples/XMLViewer.xsl + false + XML Stylesheet for pretty-printing any XML content + + + + http://www.gtri.org/LEXS/examples/helpl.gif + true + Help Tattoo + Tattoo + + + + http://www.gtri.org/LEXS/examples/warnl.gif + true + Warning Tattoo + Tattoo + + + + HTMLStyleSheet + + + + SubmissionOfficer + "Elektra Natchios“ + + Pretty prints a message + + + + + http://www.gtri.org/LEXS/examples/mugshot1.jpg + + PIC123 + + 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 + + 1967-08-13T14:20:00.0Z + + Mug shot for John Doe + image/jpg + MIME + 10000 + Mug Shot + + + + + ABC123 + GBI + GBI RMS + + + Joe + James + Boss + Joe James Boss + Joe@gbi.gov + + + 111 + 555 + 1212 + 14 + + + + + 01 + 111-555-1212 + + + + + 111-555-1214 + 12 + + + + + 111-555-1215 + 1215 + + + GBI - Records Bureau + + ContactRole + RMS Manager + GBI + + + + + RDExAttribute + Small + R-DEx + + + + + http://www.gtri.org/LEXS/examples/XMLViewer.xsl + + PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8IS0tDQogICAgRG9jdW1lbnQgICA6ICRJZDoganhkbXZpZXcueHNsLHYgMS4yIDIwMDQvMDYvMTYgMjE6Mjk6NTYgc2hyb20gRXhwICQNCiAgICBEZXNjcmlwdGlvbjogR2VuZXJpYyBzdHlsZXNoZWV0IGFueSBYTUwgZGF0YSBmaWxlLiBTdHlsZXNoZWV0IGlkZWEgaXMgYmFzZWQgb24gdGhlIGFydGljbGUgYnkgQ3JhaWcgQmVycnkgaW4gWE1MSm91cm5hbCANCgkJCQkJCVVzZXMgQVNDSUkgY2hhcmFjdGVycyByYXRoZXIgdGhhbiBHSUYgaW1hZ2VzIHNvIGV4dGVybmFsIGZpbGVzIGFyZSBub3QgbmVlZGVkLCBhbmQgdG8gc3BlZWQgcHJvY2Vzc2luZw0KLS0+DQo8eHNsOnN0eWxlc2hlZXQgdmVyc2lvbj0iMS4wIg0KICB4bWxuczp4c2w9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML1RyYW5zZm9ybSI+DQoNCiAgPHhzbDpvdXRwdXQNCiAgICBtZXRob2Q9Imh0bWwiDQogICAgZW5jb2Rpbmc9IlVURi04Ig0KICAgIGluZGVudD0ieWVzIg0KICAgIHZlcnNpb249IjEuMCINCiAgICBvbWl0LXhtbC1kZWNsYXJhdGlvbj0ieWVzIg0KICAgIG1lZGlhLXR5cGU9InRleHQvaHRtbCINCiAgICBzdGFuZGFsb25lPSJ5ZXMiLz4NCg0KICA8eHNsOnRlbXBsYXRlIG1hdGNoPSIvY2hpbGQ6OipbMV0iPg0KICAgIDxodG1sPg0KICAgICAgPGhlYWQ+DQogICAgICAgIDx0aXRsZT5EYXRhIFZpZXc8L3RpdGxlPg0KICAgICAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KICAgICAgICAgIGJvZHkgeyBmb250LXNpemU6IHNtYWxsZXIgfQ0KICAgICAgICAgIGRpdiwgaW1nIHsgYm9yZGVyOiAwcHg7IG1hcmdpbjogMHB4OyBwYWRkaW5nOiAwcHggfQ0KICAgICAgICAgIGRpdi5Ob2RlICogeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlIH0NCiAgICAgICAgICBpLkF0dHJpYnV0ZVZhbCAgeyBjb2xvcjogcmdiKDUwLDEyNywxMjcpIH0NCiAgICAgICAgICBpLkVsZW1lbnRWYWwgIHsgY29sb3I6IHJnYig0MCwwLDI1NSkgfQ0KICAgICAgICAgIGIuQXR0cmlidXRlICAgeyBjb2xvcjogIzc3MTUxRiB9DQogICAgICAgIDwvc3R5bGU+DQogICAgICA8L2hlYWQ+DQogICAgICA8Ym9keT4NCiAgICAgICAgPGI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Im5hbWUoKSIvPjwvYj4NCiAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgbW9kZT0ibGluZSIvPg0KICAgICAgPC9ib2R5Pg0KICAgIDwvaHRtbD4NCiAgPC94c2w6dGVtcGxhdGU+DQoNCiAgPCEtLSBTaG93IGVhY2ggdHJlZSBsaW5lIC0tPg0KICA8eHNsOnRlbXBsYXRlIG1hdGNoPSIqIiBtb2RlPSJsaW5lIj4NCiAgICA8ZGl2IGNsYXNzPSJOb2RlIj4NCiAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJncmFmdCIvPg0KICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuIiBtb2RlPSJpdGVtIi8+DQogICAgPC9kaXY+ICAgIA0KICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzICBzZWxlY3Q9ImNoaWxkOjoqIiBtb2RlPSJsaW5lIi8+DQogIDwveHNsOnRlbXBsYXRlPg0KICANCiAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iKiIgbW9kZT0iaXRlbSI+DQogICAgICA8Yj48eHNsOnZhbHVlLW9mIHNlbGVjdD0ibmFtZSgpIi8+PC9iPg0KICAgICAgPHhzbDppZiB0ZXN0PSJAKiI+DQogICAgICAgICAgPHhzbDp0ZXh0PiBbICA8L3hzbDp0ZXh0PiAgICAgIA0KICAgICAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9IkAqIj4NCiAgICAgICAgICAgICAgICA8YiBjbGFzcz0iQXR0cmlidXRlIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0ibmFtZSgpIi8+PC9iPg0KICAgICAgICAgICAgICAgIDx4c2w6dGV4dD4gPSAiPC94c2w6dGV4dD4NCiAgICAgICAgICAgICAgICA8aSBjbGFzcz0iQXR0cmlidXRlVmFsIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iLiIvPjwvaT4NCiAgICAgICAgICAgICAgICA8eHNsOnRleHQ+IiA8L3hzbDp0ZXh0Pg0KICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+DQogICAgICAgICAgPHhzbDp0ZXh0PiBdIDwveHNsOnRleHQ+DQogICAgICA8L3hzbDppZj4NCiAgICAgIDx4c2w6dGV4dD4gICAgPC94c2w6dGV4dD4NCiAgICAgIDxpIGNsYXNzPSJFbGVtZW50VmFsIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0idGV4dCgpIi8+PC9pPg0KICA8L3hzbDp0ZW1wbGF0ZT4NCiAgIA0KICA8IS0tIFRlbXBsYXRlcyB1c2VkIHRvIGdlbmVyYXRlIHRoZSAic3RpY2sgc3RhY2siIG9mDQogICAgICAgdHJlZSBjb25uZWN0b3JzIC0tPg0KDQogIDx4c2w6dGVtcGxhdGUgbmFtZT0iZ3JhZnQiPg0KICAgIDwhLS0gR2VuZXJhdGUgYW5jZXN0b3IgY29ubmVjdG9ycyAtLT4NCiAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImFuY2VzdG9yOjoqIiBtb2RlPSJ0cmVlIi8+DQoNCiAgICA8IS0tIEdlbmVyYXRlIGN1cnJlbnQtbm9kZSBjb25uZWN0b3IgLS0+DQogICAgPHhzbDpjaG9vc2U+DQogICAgICA8eHNsOndoZW4gdGVzdD0iZm9sbG93aW5nLXNpYmxpbmc6OioiPg0KICAgICAgICA8eHNsOnRleHQgZGlzYWJsZS1vdXRwdXQtZXNjYXBpbmc9InllcyI+JmFtcDtuYnNwOyZhbXA7bmJzcDsmI3gyNTFjOyZhbXA7bmJzcDs8L3hzbDp0ZXh0Pg0KICAgICAgPC94c2w6d2hlbj4NCiAgICAgIDx4c2w6b3RoZXJ3aXNlPg0KICAgICAgICA8eHNsOnRleHQgZGlzYWJsZS1vdXRwdXQtZXNjYXBpbmc9InllcyI+JmFtcDtuYnNwOyZhbXA7bmJzcDsmI3gyNTE0OyZhbXA7bmJzcDs8L3hzbDp0ZXh0Pg0KICAgICAgPC94c2w6b3RoZXJ3aXNlPg0KICAgIDwveHNsOmNob29zZT4NCiAgPC94c2w6dGVtcGxhdGU+DQoNCiAgPCEtLSBTdXBwcmVzcyBhbmNlc3RvciBjb25uZWN0b3IgZm9yIHRoZSB0b3Agbm9kZSAtLT4NCg0KICA8eHNsOnRlbXBsYXRlIG1hdGNoPSIvY2hpbGQ6OipbMV0iIG1vZGU9InRyZWUiLz4NCg0KICA8IS0tIFNob3cgYW5jZXN0b3IgY29ubmVjdG9ycyBmb3IgYWxsIG90aGVyIG5vZGUgdHlwZXMgLS0+DQoNCiAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iKiIgbW9kZT0idHJlZSI+DQogICAgPHhzbDpjaG9vc2U+DQogICAgICA8eHNsOndoZW4gdGVzdD0iZm9sbG93aW5nLXNpYmxpbmc6OioiPg0KICAgICAgICA8eHNsOnRleHQgZGlzYWJsZS1vdXRwdXQtZXNjYXBpbmc9InllcyI+JmFtcDtuYnNwOyZhbXA7bmJzcDsmI3gyNTAyOyZhbXA7bmJzcDs8L3hzbDp0ZXh0Pg0KICAgICAgPC94c2w6d2hlbj4NCiAgICAgIDx4c2w6b3RoZXJ3aXNlPg0KICAgICAgICA8eHNsOnRleHQgZGlzYWJsZS1vdXRwdXQtZXNjYXBpbmc9InllcyI+JmFtcDtuYnNwOyZhbXA7bmJzcDsmYW1wO25ic3A7JiN4MjIxOTsmYW1wO25ic3A7PC94c2w6dGV4dD4NCiAgICAgIDwveHNsOm90aGVyd2lzZT4NCiAgICA8L3hzbDpjaG9vc2U+DQogIDwveHNsOnRlbXBsYXRlPg0KDQo8L3hzbDpzdHlsZXNoZWV0Pg== + XML Stylesheet for pretty-printing any XML content + application/xml+xslt + MIME + 10000 + Stylesheet + + + + + http://www.gtri.org/LEXS/examples/helpl.gif + + R0lGODlhIAAgANX/ACkoe2ZmmWdnmmxsn2trnnBwo3Nzpm5un3V1qHt7rnx8r3JyoX5+sYaGuYmJvIyMv4ODs5KSxYmJt8DAwJGRtZubwJWVuJmZvKamxqCgv6mpx6enxLi4z8/P39TU49nZ5ufn7+vr8u/v9fr6+87P/2Oazv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABMALAAAAAAgACAAQAb/wIlwSIw0EoaBQDAwJBoRolT40Jiu19KVVAJ4vVoSF2vaBAiPiSBEbmPDXID7GgoEBEJGICOaw7ttIhl2AQxTDhggbSWMjVpYIIMFDkQJHn6MXmR/clgedk8HH3ObmZ1uHwd2DVIPCHYHFhweISMjIR4cFqqECGlTRRIao6QmHxsLBAxRwBEVinNi0tKPJiAUAQjMERduYSaAmyZxZBYBAxEDI8WL4+RtI3ZNHOzg7uFzHHYGEwoLHewaFeuwwI4CIg8KBKAAcFEmMh2w2SnwCxgVBQMIaSQ0QEFFi60gXJhV61auXR0/gnxQoWE9ExGzqRzyAEMfcVuoVRMUgKIUkAkus9xzRA1iQUNCIBB7Mw4f03fGVB1sQG8RtVNCoZrQF6CBATZzvogT0wVrnQAGBKx7yWlOvDsDLgW8p2nOp3MJLNQrcbWYuQAJ0m2o9wVrGzPnojwgQAGaty1Or1yzg2ZIhFcZHL/pC2mQHW2HFC7YsNSE2CvHCk6kBDICAwIbYxNSxgykFCNIlDBxAsV2EAA7 + + 1967-08-13T14:20:00.0Z + + Help Tattoo + image/gif + MIME + 1000 + Tattoo Image + + + + + http://www.gtri.org/LEXS/examples/warnl.gif + + R0lGODlhIAAgALMAADNmmWNjnGOcnJycnJzOnM7OnP///////////////////////////////////////yH5BAEAAAUALAAAAAAgACAAAARosMhJq704680l6OD0fSFHFmd5pai6vi7FerGYzWAK7HKs8zYVazcUVojH0gyZzFmYvQ4OGtXgUMDn5kqtwlZZLeaKJXOtYbG31lrXdKb0lyySi+l1PE1v5CtpbE0eRISFhod+gYoXEQAAOw== + + 1967-08-13T14:20:00.0Z + + Warning Tattoo + image/gif + MIME + 1000 + Tattoo Image + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/README.txt b/GeneratedSchemaLibraries/LEXS-NIEM/xml/README.txt new file mode 100644 index 00000000..8e24b4c5 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/README.txt @@ -0,0 +1,144 @@ + + +This directory contains the LEXS 3.1.4 XML sample instances. + +Examples are split into two groups: + PD-samples - XML sample instances for LEXS Publish Discover message exchange. + SR-samples - XML sample instances for LEXS Search Retrieve message exchange. + + + PD-samples + + Sample-1-detailed.xml + Sample XML instance for the publish message that illustrates the use of the "base" LEXS schema and does not include a community level payload. + + Sample-2-with-community.xml + Sample XML instance for the publish message that illustrates the use of the "base" LEXS schema. + Sample includes community level structured payload that uses "up-pointing" reference to the LEXS Digest. + Sample also contains a sample of an Attachment. + + Sample-3-ATF.xml + Sample XML instance for the ATF publish message + + Sample-4-BOP-ITS-Call-Log.xml + Sample XML instance for the BOP ITS Call LOG publish message + + Sample-5-BOP-ITS-Call-List.xml + Sample XML instance for the BOP ITS Call List publish message + + Sample-6-multiple-packages.xml + Sample XML instance for the publish message that illustrates the following: + a) Multiple packages in a single message + b) Use of SourceIDText property to identify a person in both packages as being the same person + c) Use of LogicalIDText property to denote that a person is both packages is believed to be the same person + d) Use of a single binary image for multiple person records, i.e. the common person in the packages share the same picture + e) Use of lexs:DisseminationCriteria ( DataItemPackage 1: s:id="dip1" ) and lexs:DisseminationCriteriaValue ( DataItemPackage 2: s:id="dip1") element. + + Sample-7-multiple-messages.xml + Sample XML instance for the publish message that includes multiple messages in a single submission + + Sample-8-non-digest-aware.xml + Sample XML instance for the publish message that illustrates the use of not digest aware structured payload + In this example the digest refers down into the structured payload. + + Sample-9-all-fields.xml + Sample XML instance for the publish message that illustrates an instance where all fields are filled in. + Not every object is included, although a representative object of each type is included. + All fields for objects are filled in with rare exception, one being that complete metadata only appears in a few places; + and some records are simplified since there are a number of that particular type. + Values may not make sense, role combinations may not make sense, and associations may link things that are not logical; + The purpose of this sample is more to exercise full schema and to provide example of sequencing rather than to provide real-world example. + NOTES: + - Elements only appear once in each sequence even in cases where multiples are allowed. + - Dates can be represented a number of ways, and the different representations are scattered throughout the sample. + - IdentificationJurisdiction is an abstract that can be substituted with text, a FIPS 10-4 code, an NCIC RES code, or an NCIC LIS code; different representations are scattered throughout the sample. + - Measures can be point values or ranges; different representations are scattered throughout the sample. + + Sample-10-two-payloads.xml + Sample XML instance for the publish message that illustrates a Structured Payload that builds on the Digest, along with a 2nd Structured Payload that builds upon the 1st Structured Payload as well as the Digest. + In this example, the Digest includes a person with multiple alternate names. + Note that AlternateName has an "s:id" referenced by the 1st Structured Payload rather than using a reference to the Person element itself; this is because AlternateName is a multiply occurring element, + so any Structured Payload that builds upon it must be able to reference the proper AlternateName element. + The 1st Structured Payload builds upon the alternate name to add a name prefix, and also adds a Structured Payload object (an IRC chat address) that does not correspond to any LEXS entity. + The 2nd Structured Payload builds upon the name prefix in the 1st Structured Payload to indicate whether the name prefix is honorary, builds up on the person in the digest to add a hacker name, and builds upon the 1st Structured Payload's IRC chat address to add the first use date. + For the detailed layering of the sample see documentation within the sample. + + + SR-samples + + Sample-1-doTextSearch.xml + Sample XML instance for the text search request message. + + Sample-2-doSearchResponse-text.xml + Sample XML instance for the text search response message. + + Sample-3-doStructuredSearch.xml + Sample XML instance for the structured search request message. + + Sample-4-doSearchResponse-structured.xml + Sample XML instance for the structured search response message. + + Sample-5-getDataItem.xml + Sample XML instance for the get data item request message. + + Sample-6-getDataItemResponse.xml + Sample XML instance for the get data item response message. + + Sample-7-getAttachment.xml + Sample XML instance for the get attachment request message. + + Sample-8-getAttachmentResponse.xml + Sample XML instance for the get attachment response message. + + Sample-9-getAvailability.xml + Sample XML instance for the get availability request message. + + Sample-10-getAvailabilityResponse.xml + Sample XML instance for the get availability response message. + + Sample-11-getCapabilities.xml + Sample XML instance for the get capabilities request message. + + Sample-12-getCapabilitiesResponse.xml + Sample XML instance for the get capabilities response message. + + Sample-13-getDataOwners.xml + Sample XML instance for the get data owners request message. + + Sample-14-getDataOwnersResponse.xml + Sample XML instance for the get data owners response message. + + Sample-15-doStructuredSearch-with-optional-fields.xml + Sample XML instance for the structured search request message that illustrates the use of the timeout duration, role types, structured payloads requested, and requested data. + + Sample-16-doStructuredSearch-multiple-entities.xml + Sample XML instance for the structured search request message that illustrates multiple entities search. + Search is for data item that contains following 3 entities: + (Jane or Janice) Doe + and + John Lewis born after 01/01/1974 and before 01/01/1980 + and + Chevrolet. + + Sample-17-doStructuredSearch-attributes-search.xml + Sample XML instance for the structured search request message that illustrates an attribute search. + Search is peformed for an Item with description "wrench" and value less than 100 US Dollars. + + Sample-18-doSearchResponse-structured-no-hits.xml + Sample XML instance for the structured search response message that illustrates case with zero hits in the response. + + Sample-19-doStructuredSearch-metadata.xml + Sample XML instance for the structured search request message that illustrates entity metadata search. + + Sample-20-doSearchResponse-metadata.xml + Sample XML instance for the structured search response message for the query on entity metadata. + + Sample-21-getDomainRequest.xml + Sample XML instance for the get domain request message. + + Sample-22-getDomainResponse.xml + Sample XML instance for the get domain response message. \ No newline at end of file diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-1-doTextSearch.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-1-doTextSearch.xml new file mode 100644 index 00000000..c6e2c7eb --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-1-doTextSearch.xml @@ -0,0 +1,65 @@ + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 1 + + + + + Hypothetical Organization F + SysF + + + Bob + Jones + + + 404-555-1212 + + + + + + + + Hypothetical Organization E + SysE + + + + ABC123 + Bill + Jones + + + 111 + 222 + 3333 + + + ATF + + + Snippet + 10 + Relevance + none + + Tommy AND Jones + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-10-getAvailabilityResponse.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-10-getAvailabilityResponse.xml new file mode 100644 index 00000000..2d0f0c14 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-10-getAvailabilityResponse.xml @@ -0,0 +1,55 @@ + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 10 + + + + + Hypothetical Organization E + SysE + + + Jim + West + + + 770-555-1212 + + + + + + + + Hypothetical Organization F + SysF + + + + Success + 9 + + true + ABC data source will be down until 1:00 PM + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-11-getCapabilities.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-11-getCapabilities.xml new file mode 100644 index 00000000..88ba4d21 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-11-getCapabilities.xml @@ -0,0 +1,45 @@ + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 11 + + + + + Hypothetical Organization F + SysF + + + Bob + Jones + + + 404-555-1212 + + + + + + + + Hypothetical Organization E + SysE + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-12-getCapabilitiesResponse.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-12-getCapabilitiesResponse.xml new file mode 100644 index 00000000..3919dca3 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-12-getCapabilitiesResponse.xml @@ -0,0 +1,73 @@ + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 12 + + + + + Hypothetical Organization E + SysE + + + Jim + West + + + 770-555-1212 + + + + + + + + Hypothetical Organization F + SysF + + + + Success + 11 + + + + Incident + Incident Reports + + + Arrest + Arrest Reports + + true + 100 + + true + true + true + true + true + + + true + true + true + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-13-getDataOwners.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-13-getDataOwners.xml new file mode 100644 index 00000000..a2dbb963 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-13-getDataOwners.xml @@ -0,0 +1,45 @@ + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 13 + + + + + Hypothetical Organization F + SysF + + + Bob + Jones + + + 404-555-1212 + + + + + + + + Hypothetical Organization E + SysE + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-14-getDataOwnersResponse.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-14-getDataOwnersResponse.xml new file mode 100644 index 00000000..19ba3094 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-14-getDataOwnersResponse.xml @@ -0,0 +1,103 @@ + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 14 + + + + + Hypothetical Organization E + SysE + + + Jim + West + + + 770-555-1212 + + + + + + + + Hypothetical Organization F + SysF + + + + Success + 13 + + + + + + AA1234567 + Hypothetical Agency A + SysA + + + Will + Jones + + + 111-222-3333 + + + + + true + true + + Incident + Incident Reports + + + Arrest + Arrest Reports + + + + + + + DD1234567 + Hypothetical Agency D + SysD + + + Will + Dee + + + 222-222-3333 + + + + + true + false + + Field Interview + Field Interviews + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-15-doStructuredSearch-with-optional-fields.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-15-doStructuredSearch-with-optional-fields.xml new file mode 100644 index 00000000..35962181 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-15-doStructuredSearch-with-optional-fields.xml @@ -0,0 +1,142 @@ + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 15 + + + + FF1234567 + Hypothetical Organization F + SysF + + + Bob + Jones + + + 404-555-1212 + + + + + + + EE1234567 + Hypothetical Organization E + SysE + + + + PESMITH2 + Priscilla + Smith + + + 111 + 222 + 3333 + + + Hypothetical Organization F + FF1234567 + + + Person + + AA1234567 + Hypothetical Agency A + SysA + + + DD1234567 + Hypothetical Agency D + SysD + + 10 + Incident + Arrest + Date + + PT60S + + http://somewhere.gov/new-community + 1 + + + + + http://somewhere.gov/new-community + 1.0 + + + + + + + + + + + Jones + + + + + exact + + + + + + + + Tommy + + + + + exact + + + + + http://somewhere.gov/new-community + 1.0 + + + + strawberry blond + + + exact + + + + true + SubjectType + RegisteredOffenderType + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-16-doStructuredSearch-multiple-entities.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-16-doStructuredSearch-multiple-entities.xml new file mode 100644 index 00000000..22febf1b --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-16-doStructuredSearch-multiple-entities.xml @@ -0,0 +1,174 @@ + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 16 + + + + + Hypothetical Organization F + SysF + + + Bob + Jones + + + 404-555-1212 + + + + + + + + Hypothetical Organization E + SysE + + + + ABC123 + Bill + Jones + + + 111 + 222 + 3333 + + + ATF + + + Person + 10 + Date + none + + + + + + + + + Jane + + + + + exact + + + + + + + Janice + + + + + exact + + + + + + + Doe + + + + + exact + + + + + + + + + + John + + + + + exact + + + + + + + Lewis + + + + + exact + + + + + + 1974-01-01 + + + + gt + + + + + + 1980-01-01 + + + + lt + + + + + + + + + CHEV + + + + exact + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-17-doStructuredSearch-attributes-search.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-17-doStructuredSearch-attributes-search.xml new file mode 100644 index 00000000..7629789f --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-17-doStructuredSearch-attributes-search.xml @@ -0,0 +1,105 @@ + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 17 + + + + + Hypothetical Organization F + SysF + + + Bob + Jones + + + 404-555-1212 + + + + + + + + Hypothetical Organization E + SysE + + + + ABC123 + Bill + Jones + + + 111 + 222 + 3333 + + + ATF + + + Person + 10 + Date + none + + + + + + + + wrench + + + + fuzzy + + + + + + + + + + + + exact + + + + + + 100 + + + + lt + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-18-doSearchResponse-structured-no-hits.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-18-doSearchResponse-structured-no-hits.xml new file mode 100644 index 00000000..60261376 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-18-doSearchResponse-structured-no-hits.xml @@ -0,0 +1,62 @@ + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 18 + + + + + Hypothetical Organization E + SysE + + + Jim + West + + + 770-555-1212 + + + + + + + + Hypothetical Organization F + SysF + + + + + Success + 3 + + + + 10 + 0 + false + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-19-doStructuredSearch-metadata.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-19-doStructuredSearch-metadata.xml new file mode 100644 index 00000000..d22dbc43 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-19-doStructuredSearch-metadata.xml @@ -0,0 +1,99 @@ + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 19 + + + + + Hypothetical Organization F + SysF + + + Bob + Jones + + + 404-555-1212 + + + + + + + + Hypothetical Organization E + SysE + + + + ABC123 + Bill + Jones + + + 111 + 222 + 3333 + + + ATF + + + Person + 10 + Date + none + + + + + + + + + 2008-01-22 + + + + + + le + + + + + + + + 2003-01-22 + + + + + + ge + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-2-doSearchResponse-text.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-2-doSearchResponse-text.xml new file mode 100644 index 00000000..0eee59b5 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-2-doSearchResponse-text.xml @@ -0,0 +1,197 @@ + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 2 + + + + + Hypothetical Organization E + SysE + + + Jim + West + + + 770-555-1212 + + + + + + + + Hypothetical Organization F + SysF + + + + Success + 1 + + + 10 + 2 + false + + + + + + + 12345678 + + + + + Jackson + David Jackson + + + + + 333-444-5555 x6 + + + + 2006-12-13 + + 1912345678 + Closed_Case + + + + AA1234567 + Hypothetical Agency A + SysA + + + Will + Jones + + + 111-222-3333 + + + + + white + + + + + Hypothetical Organization C + SysC + + + Michael + Park + + + + + 202 + 555 + 1212 + + + + + Police identified yesterday the man fatally shot Sunday night outside Maple Glen Apartments in the 6000 block of Amberwood Road as Tommy Jones 28, of the 5900 block of Hastie Lake Road. Police responding to a report of shots fired about 8:15 p.m. found Jones bleeding from a bullet wound to the head. + + + + + + + 12345679 + + + + + Jackson + David Jackson + + + + + 333-444-5555 x6 + + + + 2006-12-13 + + 1912345679 + Closed_Case + + + + DD1234567 + Hypothetical Agency D + SysD + + + Will + Dee + + + 222-222-3333 + + + + + white + + + + http://www.gtri.org/LEXS/examples/TommyJonesMugshot1.jpg + true + Mug shot for Tommy Lee Jones + + + + + DD1234567 + Hypothetical Organization D + SysD + + + Michael + Smith + + + + + 303 + 555 + 1212 + + + + + + Authorities arrested a man in Oak Harbor, WA., and charged him with the first-degree murder of a man in the city's Catalina Park neighborhood in June. Held without bail in the Whidbey jail pending an extradition hearing is Tommy Lee Jones, 31, of Springfield, Va. + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-20-doSearchResponse-metadata.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-20-doSearchResponse-metadata.xml new file mode 100644 index 00000000..db636b28 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-20-doSearchResponse-metadata.xml @@ -0,0 +1,260 @@ + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 20 + + + + + Hypothetical Organization E + SysE + + + Jim + West + + + 770-555-1212 + + + + + + + + Hypothetical Organization F + SysF + + + + + Success + 3 + + + + 100 + 10 + 2 + false + + + + + + + 12345678 + + + + + Jackson + David Jackson + + + + + 333-444-5555 x6 + + + + ContactRole + Arresting Officer + GBI + + + 2006-12-13 + + 3.1.3 + 1912345678 + Closed_Case + + + + AA1234567 + Hypothetical Agency A + SysA + + + Will + Jones + + + 111-222-3333 + + + + ContactRole + RMS Manager + GBI + + + + white + + + + + + + 2005-04-14 + + + + + Tommy + Jones + + + 333-44-5555 + + + + + + + + Hypothetical Organization C + SysC + + + Michael + Park + + + + + 202 + 555 + 1212 + + + + ContactRole + Data Center Operations + GBI + + + + + + + + + + 12345679 + + + + + Jackson + David Jackson + + + + + 333-444-5555 x6 + + + + 2006-12-13 + + 1912345679 + Closed_Case + + + + DD1234567 + Hypothetical Agency D + SysD + + + Will + Dee + + + 222-222-3333 + + + + + white + + + + + + + 2007-05-23 + + + + + Tommy + Lee + Jones + + + 034-78-6532 + + + + + + + + + + + + + + http://www.gtri.org/LEXS/examples/TommyJonesMugshot1.jpg + true + Mug shot for Tommy Lee Jones + + + + + DD1234567 + Hypothetical Organization D + SysD + + + Michael + Smith + + + + + 303 + 555 + 1212 + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-21-getDomainRequest.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-21-getDomainRequest.xml new file mode 100644 index 00000000..fcecf3a1 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-21-getDomainRequest.xml @@ -0,0 +1,62 @@ + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 21 + + + + + Hypothetical Organization F + SysF + + + Bob + Jones + + + 404-555-1212 + + + + + + + + Hypothetical Organization E + SysE + + + + NON-COMPLIANT + + + + + + + \ No newline at end of file diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-22-getDomainResponse.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-22-getDomainResponse.xml new file mode 100644 index 00000000..ccb4d13d --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-22-getDomainResponse.xml @@ -0,0 +1,65 @@ + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 22 + + + + + Hypothetical Organization E + SysE + + + Jim + West + + + 770-555-1212 + + + + + + + + Hypothetical Organization F + SysF + + + + Success + 9 + + + NON-COMPLIANT + + + + + Bob Smith + + + + 1234567 + Georgia + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-3-doStructuredSearch.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-3-doStructuredSearch.xml new file mode 100644 index 00000000..24643094 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-3-doStructuredSearch.xml @@ -0,0 +1,97 @@ + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 3 + + + + + Hypothetical Organization F + SysF + + + Bob + Jones + + + 404-555-1212 + + + + + + + + Hypothetical Organization E + SysE + + + + ABC123 + Bill + Jones + + + 111 + 222 + 3333 + + + ATF + + + Person + 10 + Date + none + + + + + + + + + Jones + + + + + exact + + + + + + + + Tommy + + + + + exact + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-4-doSearchResponse-structured.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-4-doSearchResponse-structured.xml new file mode 100644 index 00000000..4a69d093 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-4-doSearchResponse-structured.xml @@ -0,0 +1,250 @@ + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 4 + + + + + Hypothetical Organization E + SysE + + + Jim + West + + + 770-555-1212 + + + + + + + + Hypothetical Organization F + SysF + + + + + Success + 3 + + + + 100 + 10 + 2 + false + + + + + + + 12345678 + + + + + Jackson + David Jackson + + + + + 333-444-5555 x6 + + + + ContactRole + Arresting Officer + GBI + + + 2006-12-13 + + 3.1.3 + 1912345678 + Closed_Case + + + + AA1234567 + Hypothetical Agency A + SysA + + + Will + Jones + + + 111-222-3333 + + + + ContactRole + RMS Manager + GBI + + + + white + + + + + + + Tommy + Jones + + + 333-44-5555 + + + + + + + + Hypothetical Organization C + SysC + + + Michael + Park + + + + + 202 + 555 + 1212 + + + + ContactRole + Data Center Operations + GBI + + + + + + + + + + 12345679 + + + + + Jackson + David Jackson + + + + + 333-444-5555 x6 + + + + 2006-12-13 + + 1912345679 + Closed_Case + + + + DD1234567 + Hypothetical Agency D + SysD + + + Will + Dee + + + 222-222-3333 + + + + + white + + + + + + + Tommy + Lee + Jones + + + 034-78-6532 + + + + + + + + + + + + + + http://www.gtri.org/LEXS/examples/TommyJonesMugshot1.jpg + true + Mug shot for Tommy Lee Jones + + + + + DD1234567 + Hypothetical Organization D + SysD + + + Michael + Smith + + + + + 303 + 555 + 1212 + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-5-getDataItem.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-5-getDataItem.xml new file mode 100644 index 00000000..39873ce9 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-5-getDataItem.xml @@ -0,0 +1,60 @@ + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 5 + + + + + Hypothetical Organization F + SysF + + + Bob + Jones + + + 404-555-1212 + + + + + + + + Hypothetical Organization E + SysE + + + + ABC123 + Bill + Jones + + + 111 + 222 + 3333 + + + ATF + + 12345679 + all + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-6-getDataItemResponse.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-6-getDataItemResponse.xml new file mode 100644 index 00000000..61c713e9 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-6-getDataItemResponse.xml @@ -0,0 +1,208 @@ + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 6 + + + + + Hypothetical Organization E + SysE + + + Jim + West + + + 770-555-1212 + + + + + + + + Hypothetical Organization F + SysF + + + + Success + 5 + + + + + DD1234567 + Hypothetical Organization D + SysD + + + Michael + Smith + + + + + 303 + 555 + 1212 + + + + + + + 12345679 + + + + + Jackson + David Jackson + + + + + 333-444-5555 x6 + + + + 2006-12-13 + + 1912345678 + Insert + Closed_Case + + + + DD1234567 + Hypothetical Agency D + SysD + + + Will + Dee + + + 222-222-3333 + + + + + white + + + + + + + Tommy + Lee + Jones + + W + + 034-78-6532 + + + 185 + LBR + + + + + + + Carl + Lee + McMillan + + W + + 034-78-6539 + + + 205 + LBR + + + + + + + 4805105192 + + + + + + + 4805105193 + + + + + + + + + + + + + + + + + + + + + + + + + http://somewhere.gov/new-community + + New Community + + 1.0 + + + strawberry blond + + + + + + http://www.gtri.org/LEXS/examples/TommyJonesMugshot1.jpg + true + Mug shot for Tommy Lee Jones + + + Report of Investigation SUMMARY OF EVENT: Purchase of machine gun from Tommy Jones on June 14, 2006 NARRATIVE: On June 14, 2006, Agent Swanson, acting as an undercover buyer, purchased 1 9mm MAC 10 machinegun, SN 54-9365, from a JONES, Tommy at his place of occupation, Branton Tires in San Jose, California. Purchase price was $500.00 cash. Mr. Jones stated that he could obtain more weapons within the next two weeks. + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-7-getAttachment.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-7-getAttachment.xml new file mode 100644 index 00000000..5439a649 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-7-getAttachment.xml @@ -0,0 +1,59 @@ + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 7 + + + + + Hypothetical Organization F + SysF + + + Bob + Jones + + + 404-555-1212 + + + + + + + + Hypothetical Organization E + SysE + + + + ABC123 + Bill + Jones + + + 111 + 222 + 3333 + + + ATF + + http://www.gtri.org/LEXS/examples/TommyJonesMugshot1.jpg + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-8-getAttachmentResponse.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-8-getAttachmentResponse.xml new file mode 100644 index 00000000..b19fb455 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-8-getAttachmentResponse.xml @@ -0,0 +1,73 @@ + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 8 + + + + + Hypothetical Organization E + SysE + + + Jim + West + + + 770-555-1212 + + + + + + + + Hypothetical Organization F + SysF + + + + Success + 7 + + + http://www.gtri.org/LEXS/examples/TommyJonesMugshot1.jpg + + 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ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAPkTwtfPp/iGxnR9uJNpI/unqK9q1yGYaSZSyblUNGw5I6A5/Cvny2mMciuuN6kMufUV7APHtjqulrbIji7kjEbxsOE6bjn8BXNJandh5acrNrSnzaq5GAQCffpj+ddFbSLLC2CMfSud8Oor2e1yF+QgD6cD+la8cEkbyqpO0YAP4CoW53RegtxcrFA+0N97aAoAyTVC3tWfMjDk8cHNWZWE4MLplRycdR/nFNktpYQn2WRkl25wfulcfzqnG5akVbH/QdRktnAHmAkKw4P8AnNPvJIreGVvLUFepFZLb11EXd1JJJIrYAPAFR67K72crb8BVJbHoBmpaE3ZNs8t166F3qlzKM7S5wa9t+BJz4Ivf+wk//ouKvA53DPuLZBPJr3z4EY/4Qm+x0/tOTH/fqKumKPFm7s9QoooqzMKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD4kjPsD7Gul8MRma5lxn5Y+1ctFywycD1rqvCd0trqwibAWcbAT2NYzXY2oNe0Vz1TQZtlsiscHo3HqOK6lDHsfGOSDgHkZFcIRLZM0iLkDA655xXR2esJdfMhGJByD1Ugc1jfQ9RWi7EF7bXMEweCVsElsA0tzcgW4zcXKy7ckNECOPerpEcrAHLY4yvrVfUYFjIVy+Ap4Pviq1sbJK5g6f5t5qX+kuvlEkLgY596j8bzxWOkXKKQGfEa+pJA/w/WrDzx2col3ovPyl+hOOh/KvO/F3iFNXvFS3ZvskIIUn+Ju7U0rnNiKqSsc3K3cV9A/AU58D33/YTk/9FRV87SP2r6H+ARz4Fvj/ANROT/0VFW8Tymz1SiiiqJCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA+JI8jgVbty29XBIIOcjtXvo+AnhYHI1DWf+/wBF/wDG6lj+BfhiPpf6ufrNH/8AG6F5k6nFeHdYXUYBbXDfvUAx2JFX5bApJuhkMbE5U5612MHwc0C2dXj1DVg69G82PI/8crc/4QbTdqg3N623uXTn/wAdrKVLrE9CliY2tM85i8Q3OnEC5tGdweCgzn8Krav42haLc2nXIfp80eK9S/4QnTN24yXJOMcsv/xNU7/4c6TqChZLq/QAY/dug/mhpckiniYpe6z501zX7jVZzj93EOiAn9awXkIyCeCc49K+iz8C/DBJJv8AV8n/AKbRf/G6jb4C+Fm632sf9/ov/jdWoWOGc3J3Z84Fsnmvoz4AHPgS+/7Ccn/oqKg/ADwqf+YhrP8A3+i/+N12vg/wfp/grSZdN02a5lhlnM7NcsrNuKquPlUDGFHamk7k3Z0FFFFUAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH/9k= + Mug shot for Tommy Lee Jones + 0 + + + + AA1234567 + Hypothetical Agency A + SysA + + + Will + Jones + + + 111-222-3333 + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-9-getAvailability.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-9-getAvailability.xml new file mode 100644 index 00000000..bb0e33e5 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xml/SR-samples/Sample-9-getAvailability.xml @@ -0,0 +1,45 @@ + + + + + + 3.1.4 + 2006-12-01T09:30:47.0Z + 9 + + + + + Hypothetical Organization F + SysF + + + Bob + Jones + + + 404-555-1212 + + + + + + + + Hypothetical Organization E + SysE + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/codes/3.1/codes.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/codes/3.1/codes.xsd new file mode 100644 index 00000000..6356c780 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/codes/3.1/codes.xsd @@ -0,0 +1,761 @@ + + + + + + LEXS code lists. + + true + + + + + + + + + + A code list that enumerates telephone number type. + + + + + + + + Fax telephone number + + + + + Mobile telephone number + + + + + Pager telephone number + + + + + VoIP telephone number ( such as Skype, Vonage ) + + + + + Landline telephone number + + + + + Other telephone number + + + + + + + + A code list that enumerates telephone number type. + + + + + + + + + + + + + + + LEXS Warning and Error categories list. Note that some warnings might become errors. For example, if an unsupported element is provided in a search query and that is the only element provided, the query cannot be processed and the result should be an error; versus an unsupported element that can be ignored with the result based on remaining elements. + + + + + + + + Network failure (e.g.. cannot contact service provider) + + + + + Invalid Response (response from service provider cannot be processed) + + + + + Invalid Request (service provider could not process incoming request) + + + + + Timeout (service provider did not respond in allotted time) + + + + + Business Rules Not Met (e.g. service provider requires SSN in query, but query did not provide SSN value) + + + + + Next/Previous Not Supported + + + + + Structured Search Not Supported (structured search submitted, but service provider or data source only support unstructured searches) + + + + + Unstructured Search Not Supported (unstructured search submitted, but service provider or data source only support structured searches) + + + + + Fuzzy Match Not Supported + + + + + Wildcards Not Supported (service provider does not support wildcard queries in unstructured searches) + + + + + Logical Operators Not Supported (service provider does not support logical AND/OR queries in unstructured searches) + + + + + Phrases Not Supported (service provider does not support exact phrase queries in unstructured searches) + + + + + Invalid Attachment Requested (service provider received request for invalid attachment) + + + + + Invalid Data Item Requested (service provider received getDataItem request for data item that does not exist) + + + + + Other Error (for errors that don't fall into categories above) + + + + + Unsupported Query Object (e.g. query was on vehicle and service provider doesn't handle vehicles) + + + + + Unsupported Query Field (e.g. query was on SSN and service provider doesn't include SSN) + + + + + Unsupported Query Operator (e.g. query included a wildcard and service provider only does exact) + + + + + Quantity Mismatch (user asked for maximum # of hits, service provider supplied different #) + + + + + Pointer Information Only (service provider can only return contact information for follow-up, but no data) + + + + + Multiple Values Not Supported (search query included multiple values for a search field, but service provider only supports single values) + + + + + Other Warning (other issues that don't fall into above categories) + + + + + + + + LEXS Warning and Error categories list. Note that some warnings might become errors. For example, if an unsupported element is provided in a search query and that is the only element provided, the query cannot be processed and the result should be an error; versus an unsupported element that can be ignored with the result based on remaining elements. + + + + + + + + + + + + + + + Indicates what kind of data the requester wants back in a response. + + + + + + + + Return all available entities + + + + + Return activity entities + + + + + Return aircraft entities + + + + + Return credit card entities + + + + + Return document entities + + + + + Return drug entities + + + + + Return email entities + + + + + Return explosive entities + + + + + Return firearm entities + + + + + Return hash entities + + + + + Return intangible item entities + + + + + Return instant messenger entities + + + + + Return network address entities + + + + + Return location entities + + + + + Return organization entities + + + + + Return person entities + + + + + Return snippets + + + + + Return substance entities + + + + + Return tangible item entities + + + + + Return telephone number entities + + + + + Return vehicle entities + + + + + Return vessel entities + + + + + + + + Indicates what kind of data the requester wants back in a response. + + + + + + + + + + + + + + A code list that enumerates DataItem Publish Instruction options + + + + + + + + Insert Data Item + + + + + Delete Data Item + + + + + + + + A code list that enumerates DataItem Publish Instruction options + + + + + + + + + + + + + + This information is provided by the data owner to indicate who is allowed to see the information. For publish it provides information to the service provider about what can be returned as the result of a search. For search or get results, it provides information to the user so they know the criteria for this information. Note that this is different from the data sensitivity included at the message level. The values and their meanings for dissemination criteria are shown below. + + + + + + + + + all users are allowed access + + + + + the data owner has full access; all other users are provided pointer (i.e. who to contact and how) information only + + + + + the data owner has full access; all other users receive no information and no indication that there was a hit when performing searches + + + + + + + + This information is provided by the data owner to indicate who is allowed to see the information. For publish it provides information to the service provider about what can be returned as the result of a search. For search or get results, it provides information to the user so they know the criteria for this information. Note that this is different from the data sensitivity included at the message level. The values and their meanings for dissemination criteria are shown below. + + + + + + + + + + + + + + + Specifies what kind of match the query requests. + + + + + + + + fuzzy match + + + + + exact match + + + + + greater than + + + + + greater or equal to + + + + + less than + + + + + less than or equal to + + + + + wildcard match + + + + + + + + Specifies what kind of match the query requests. + + + + + + + + + + + + + + A code list that enumerates possible rendering methods. + + + + + + + + XSTL Transformation results in XHTML + + + + + XSTL Transformation results in HTML + + + + + XSLT Transformation results in PDF ( XSL-FO ) + + + + + XSLT Transformation results in TXT + + + + + Other Stylesheet Transformation + + + + + Attachment was prerendered into a binary + + + + + Attachment was prerendered into unstructured narrative text + + + + + + + + A code list that enumerates possible rendering methods. + + + + + + + + + + + + + + Response status codes + + + + + + + + Execution of the request was successful + + + + + Execution of the request produced warnings + + + + + Execution of the request produced errors + + + + + + + + Response status codes + + + + + + + + + + + + + + All role types defined in the LEXS 3.1 data schema. Queries can specify that structured searches should only match certain roles. + + + + + + + + Criminal Organization role type, applies to Organization + + + + + Enforcement Official role type, applies to Person + + + + + Judicial role type, applies to Person + + + + + Juror role type, applies to Person + + + + + Missing Person role type, applies to Person + + + + + Other Involved Person role type, applies to Person + + + + + Property role type, applies to Aircraft, Drug, Explosive, Firearm, Tangible Item, Vehicle, and Vessel + + + + + Registered Offender role type, applies to Person + + + + + Resource role type, applies to Person and Tangible Item + + + + + Subject role type, applies to Person and Organization + + + + + Vehicle Brander role type, applies to Organization + + + + + Victim role type, applies to Person and Organization + + + + + Weapon role type, applies to Aircraft, Drug, Explosive, Firearm, Tangible Item, Vehicle, and Vessel + + + + + Witness role type, applies to Person + + + + + + + + All role types defined in the LEXS 3.1 data schema. Queries can specify that structured searches should only match certain roles. + + + + + + + + + + + + + + Code indicating what data should be returned if there are more hits than the responder can include in a response. + + + + + + + + Return most recent data first. + + + + + Return most relevant data first. + + + + + + + + Code indicating what data should be returned if there are more hits than the responder can include in a response. + + + + + + + + + + + + + + Indicates whether responses should include all available structured payloads, or no structured payloads. + + + + + + + + all payloads should be returned + + + + + no payloads should be returned + + + + + + + + Indicates whether responses should include all available structured payloads, or no structured payloads. + + + + + + + + + + + + \ No newline at end of file diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/digest/3.1/digest.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/digest/3.1/digest.xsd new file mode 100644 index 00000000..5ade0ff2 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/digest/3.1/digest.xsd @@ -0,0 +1,2685 @@ + + + + + + + + + + + + + + + + + LEXS Library for Digest Elements + + true + + + + + + A structure that describes an association between an activity and an e-mail address somehow involved in that activity. + + + + + + + + + + + + + + + + A data type for a relationship between an activity and a hash. + + + + + + + + + + + + + + + + A data type for a relationship between an activity and an instant messenger. + + + + + + + + + + + + + + + + A data type for a relationship between an activity and a network address. + + + + + + + + + + + + + + + + A structure that describes an association between an activity and a telephone number somehow involved in that activity. + + + + + + + + + + + + + + + + A structure that describes an association between a baling entity, bailee, and bail bondsman entity. + + + + + + + + + + + + + + + + + + + A data type for a credit card. + + + + + + + + + + + + + + + + + + + A structure that describes an association between a missing person and person who declared the other person missing. + + + + + + + + + + + + + + + + A data type that supplements scr:ElectronicAddressType. + + + + + + + + + + + + + + + + + A data type for an Internet Protocol (IP) address or Uniform Resource Locator (URL) that uniquely identifies a specific site on the Internet or another network. + + + + + + + + + + + + + + + A structure that describes an association between originator, receiver, and an e-mail message. Originator and receiver can be person and/or organization. + + + + + + + + + + + + + + + + + + + + A structure that wraps NIEM Activity object and its roles. + + + + + + + + + + + + + + + A structure that wraps NIEM Aircraft object and its roles. + + + + + + + + + + + + + + + + + + + + + + A structure that provides a container for all associations between objects. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A structure that provides association between a LEXS Entity object and a LEXS AttachmentLink Object, for example to link a person to their mug shot. + + + + + + + + + + + + + + + + A structure that wraps Credit Card object and its roles. + + + + + + + + + + + + + + + A structure that wraps NIEM Document object and its roles. + + + + + + + + + + + + + + + A structure that wraps NIEM Drug object and its roles. + + + + + + + + + + + + + + + + + + + + + + A structure that describes an association between a Person or Organization and email address, for example to indicate that a person has a particular email address. + + + + + + + + + + + + + + + + + A structure that wraps NIEM Email ID object. + + + + + + + + + + + + + + + A structure that wraps NIEM Explosive object and its roles. + + + + + + + + + + + + + + + + + + + + + + A structure that wraps NIEM Firearm object and its roles. + + + + + + + + + + + + + + + + + + + + + + A structure that wraps LEXS Hash object and its roles. + + + + + + + + + + + + + + + A data type for a relationship between an entity and an instant messenger, for example to indicate that a person has or uses a particular IRC chat address. + + + + + + + + + + + + + + + + + A structure that wraps NIEM Instant Messenger object and it's roles. + + + + + + + + + + + + + + + A structure that wraps NIEM Intangible Item object and its roles. + + + + + + + + + + + + + + + + + A structure that wraps NIEM Location object. + + + + + + + + + + + + + + + A data type for a relationship between an entity and a Network address, for example to indicate that a person has or uses a particular Network address. + + + + + + + + + + + + + + + + + A structure that wraps LEXS Network Address object. + + + + + + + + + + + + + + + A structure that wraps NIEM Organization object and its roles. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A structure that wraps LEXS Person object and its roles. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A structure that wraps NIEM Substance object and its roles. + + + + + + + + + + + + + + + + + + + + + + A structure that wraps NIEM Tangible Item object and its roles. + + + + + + + + + + + + + + + + + + + + + + A structure that describes an association between a Person or Organization and a telephone number, for example to indicate that a person has a particular number. + + + + + + + + + + + + + + + + + + + + + + + + + A structure that wraps LEXS TelephoneNumber object. + + + + + + + + + + + + + + + A structure that describes generic LEXS Entity object wrapper for LEXS/NIEM base entities and their roles. Groups metadata with wrapped entity. + + + + + + + + + + + + + + + A structure that wraps NIEM Vehicle object and its roles. + + + + + + + + + + + + + + + + + + + + + + A structure that wraps NIEM Vessel (boat) object and its roles. + + + + + + + + + + + + + + + + + + + + + + A data type for a relationship between originator, receiver, and an instant messenger. Originator and receiver can be a person or an organization. + + + + + + + + + + + + + + + + + + + + A structure that describes an association between a tangible item and an email address. + + + + + + + + + + + + + + + + A data type for a relationship between a tangible item and an instant messenger. + + + + + + + + + + + + + + + + A data type for a relationship between a tangible item and a Network address. + + + + + + + + + + + + + + + + A structure that describes an association between an item and a telephone number associated with it. + + + + + + + + + + + + + + + + A data type for a Hash of the image, movie, or any other data file or binary object. Can contain several hash values. + + + + + + + + + + + + + + + A data type for a Hash Value of the image, movie, or any other data file or binary object. Contains binary representation of the hash with corresponding hashing algorithm + + + + + + + + + + + + + + + + A structure that provides additional information for NIEM Metadata. + + + + + + + + + + + + + + + + + A data type for a relationship between originator, receiver, and a Network address. Originator and receiver can be a person or an organization. + + + + + + + + + + + + + + + + + + + + A data type for a person whose role in an activity has not been determined or is unknown. + + + + + + + + + + + + + + + + A structure that provides additional information about a person. + + + + + + + + + + + + + + + + + A structure that describes an association between a person and a contact person. + + + + + + + + + + + + + + + + + + + + + A structure that describes an association between a missing person and a witness. + + + + + + + + + + + + + + + + An identifier assigned to an inmate by the Bureau of Prisons (BOP). + + + + + + + + + + + + + + + + A structure that describes an association between a person and telephone numbers somehow connected to that person. + + + + + + + + + + + + + + + + A structure that provides additional information for NIEM's PersonType. + + + + + + + + + + + + + + + + A structure that describes an association between a sender and recipent. + + + + + + + + + + + + + + + + + + + + A structure that describes an association between a service provider entity (Person or Organization) and a service recipient entity. Used for associations such as a student relationship where a teacher or school organization provides a service to a student. + + + + + + + + + + + + + + + + + + A structure that describes an association between a subject and a victim. + + + + + + + + + + + + + + + + + + A structure that describes an association between a subject and a witness. + + + + + + + + + + + + + + + + + A structure that describes a telephone call with it's originator, receiver and duration. Originator and receiver can be a person and/or organization. + + + + + + + + + + + + + + + + + + + + + A structure that provides additional information for NIEM's TelephoneNumber. + + + + + + + + + + + + + + + A structure that describes an association between a victim and a witness. + + + + + + + + + + + + + + + + + A structure that describes an association between a visitor person or organization and visited person or organization. + + + + + + + + + + + + + + + + + + + + + An association between an Activity and an Email Address. + + + + + A relationship between an Activity and a Hash. + + + + + A relationship between an Activity and an instant messenger (e.g. IRC, AIM). + + + + + A relationship between an Activity and a Network address. + + + + + An association between an activity and a person primarily associated with that activity. + + + + + An association between an activity and a person who is responsible for the activity. + + + + + An association between an Activity and a Telelephone Number. + + + + + An association between an arrest and a weapon. + + + + + An association between an arrest and related offense. + + + + + An association between an arrest and involved officer + + + + + An association between an arrest and involved subject. + + + + + A container for all associations between objects. + + + + + Reference to an AttachmentLink. + + + + + + + + An association between a baling entity, bailee, and bail bondsman entity. + + + + + A reference to a bail bondsman organization. + + + + + + + + A reference to a bail bondsman person. + + + + + + + + A reference to a person who is being bailed out. + + + + + + + + A reference to a bailing organization. + + + + + + + + A reference to an bailing person. + + + + + + + + Indicates whether Board of Prisons is the originator (true) of the register number. + + + + + An association between a boyfriend and a girlfriend. + + + + + A duration of a call. + + + + + An association between a caregiver entity (Person or Organization) and person taken care of. + + + + + A cellmate association between people. + + + + + An association between a client entity (Person or Organization) and a service provider entity. + + + + + A reference to a contact person. + + + + + + + + Reference to an electronic mailing address by which a contact person may be contacted + + + + + + + + A capacity of a contact person for a language with which that person has the strongest familiarity. + + + + + Details about a contact Person's location. + + + + + + + + A relationship of a person to a contact person. + + + + + A reference to a contact telephone number + + + + + + + + A credit card. + + + + + A relationship between credit card and its billing address. + + + + + A data concept for a credit card category. + + + + + A credit card category. For example: Visa, MasterCard, American Express, etc. + + + + + A date the credit card expires. + + + + + A name of the credit card issuing organization. + + + + + A credit card number. + + + + + A name of the credit card owner as it appears on the card. + + + + + An association between a missing person and person who declared the other person missing. + + + + + A reference to a declaration person. + + + + + + + + An association between a client entity (Person or Organization) and a delivery entity. + + + + + An association between a document and its author. + + + + + Supplements scr:ElectronicAddressType + + + + + + + + A date when the Network Address was captured. + + + + + A description of the Network Address. This might be a description of what the site is used for, or a name of an online forum or group that is reached at that address. + + + + + A Media Access Control address (MAC address), Ethernet Hardware Address (EHA), hardware address, adapter address or physical address assigned to most network adapters or network interface cards (NICs) by the manufacturer for identification. If assigned by the manufacturer, a MAC address usually encodes the manufacturer's registered identification number. + + + + + Reference to an electronic mailing address by which a person or organization may be contacted + + + + + + + + An association between originator, receiver, and an e-mail message. Originator and receiver can be a person or an organization. + + + + + LEXS abstract entity object. + + + + + An Activity Entity + + + + + An Aircraft Entity + + + + + An association between an entity and an AttachmentLink. Used to connect Attachments to objects where more specific associations are not appropriate. + + + + + A Credit Card Entity + + + + + An association between an entity and an AttachmentLink to a crime scene image. + + + + + A Document Entity + + + + + A Drug Entity + + + + + An Email Entity + + + + + An association between an entity and an E-mail message, for example to indicate that a person has or uses a particular email address. + + + + + An Explosive Entity + + + + + A Firearm Entity + + + + + A Hash Entity + + + + + An Instant Messenger Entity + + + + + A relationship between an entity and an instant messenger, for example to indicate that a person has or uses a particular IRC chat address. + + + + + An Intangible Item Entity + + + + + An association between an entity and an AttachmentLink to an item image, such as a picture of a vehicle. + + + + + A Location Entity + + + + + A Network Address Entity + + + + + A relationship between an entity and a Network address, for example to indicate that a person has or uses a particular Network address. + + + + + An Organization Entity + + + + + A Person Entity + + + + + An association between an entity and an AttachmentLink to person facial image. Facial image should be of just a face, or at least an image from the waist up. + + + + + An association between an entity and an AttachmentLink to person image. Should be used when the image is not just a facial or waist up image. + + + + + An association between an entity and an AttachmentLink to person scar, mark, or tattoo image. + + + + + A reference to a LEXS Entity. + + + + + + + + A Substance Entity + + + + + An association between an entity and an AttachmentLink to supporting documentaion, such as a binary version of a report. + + + + + A Tangible Item Entity + + + + + A Telephone Number Entity + + + + + An association between an entity and a telephone number, for example to indicate that a person has or uses a particular phone number. + + + + + A Vehicle Entity + + + + + A Vessel Entity + + + + + An object that contains hash details for some binary item. + + + + + A reference to a hash. + + + + + + + + A value object for the Hash. + + + + + A binary base64 value object for the Hash. + + + + + A method used to obtain the hash value. For example one can use "http://www.w3.org/2000/09/xmldsig#sha1" string value if hash was obtained using SHA1 algorithm. + + + + + A data concept for a hash value. + + + + + A text value object for the Hash. + + + + + A homosexual association between people. + + + + + An association between an incident and an arrest. + + + + + An association between an Incident and an Email Address (e.g. harassing or threatening email). + + + + + An association between an activity and item somehow involved in that activity ( i.e. evidence). + + + + + A relationship between an Incident and an instant messenger(e.g. IRC, AIM). + + + + + An association between an arrest and involved item. + + + + + An association indicating where an incident occurred. + + + + + A relationship between an Incident and a Network address. + + + + + A relationship between originator, receiver, and an instant messenger. Originator and receiver can be a person or an organization. + + + + + An association between an offense and an incident in which it occurred. + + + + + An association between an incident and it's reporting official. + + + + + An association between an incident and a service call. + + + + + An association between an incident and an organization involved as subject. + + + + + An association between an incident and a person involved as subject. + + + + + An association between an Incident and a Telelephone Number (e.g. threatening phone call). + + + + + An association between an incident and an organization involved as victim. + + + + + An association between an incident and a person involved as victim. + + + + + An association between an incident and a weapon that was involved. + + + + + An association between an incident and a witness to it. + + + + + An informant. + + + + + An inmate. + + + + + An association between an inmate and approved telephone number list for calls. + + + + + An association between an inmate and calls placed to specific telephone number. + + + + + A reference to an instant messenger. + + + + + + + + An association between a tangible item and a Network address to which it is assigned. + + + + + An association between a tangible item and a telephone number to which it is assigned. + + + + + An association between a tangible item and an email address. + + + + + A relationship between a tangible item and an instant messenger. + + + + + An association between an item and an organization that has a lien on it. + + + + + An association between an item and a person that has a lien on it. + + + + + A relationship between a tangible item and a Network address. + + + + + An association between a tangible item and a telephone number. + + + + + A flag which indicates whether (true) or not (false) the location is where the item was recovered. + + + + + A flag which indicates whether (true) or not (false) the location is where the item was seized. + + + + + Used to indicate that objects may be the same. For example, if information for two people is reported by a single data owner as having the same LogicalIDText, then consumers understand that those two people are believed to be the same. + + + + + Provides additional information about an object. + + + + + A reference to a missing person. + + + + + + + + An Internet Protocol (IP) address or Uniform Resource Locator (URL) that uniquely identifies a specific site on the Internet or another network. + + + + + A relationship between originator, receiver, and a Network address. Originator and receiver can be a person or an organization. + + + + + A reference to a Network address. + + + + + + + + An association between an Incident and an Email Address (e.g. harassing or threatening email). + + + + + An association between an offense and an involved item. + + + + + An association between an offense and where it occurred. + + + + + An association between an offense and a subject organization. + + + + + A relationship between an Offense and an instant messenger (e.g. harassing or threatening messages via IRC). + + + + + A relationship between an Offense and a Network address. + + + + + An association between an offense and a subject person. + + + + + An association between an Offence and a Telelephone Number (e.g. threatening phone call). + + + + + An association between an offense and a victim organization. + + + + + An association between an offense and a victim person. + + + + + An association between an offense and an involved weapon. + + + + + An association between an offense and a witness person. + + + + + A reference to the originator EmailID + + + + + + + + A reference to an originator instant messenger address. + + + + + + + + A reference to an originator Network address. + + + + + + + + A reference to an originator organization. + + + + + + + + A reference to an originator person. + + + + + + + + A reference to an originator telephone number + + + + + + + + A person involved in an activity whose role has not yet been determined or is unknown. + + + + + A sequence number for an other involved person. Sequence number is assigned if an activity involves more then one person whose role is unknown. + + + + + A parolee. + + + + + An association between a patient and a person or organization who is treating them. + + + + + A person. + + + + + An association between a person where they were arrested. + + + + + Additional information about a person. + + + + + + + + An association between a person and where they were born. + + + + + An association between a person and where they were born. + + + + + An association between a missing person and location where person was found. + + + + + An association between a missing person and a witness. + + + + + An association between an activity and a person of interest involved in the activity. + + + + + An association between a sender and recipent.. + + + + + A person register number. + + + + + A person US Marshal Service fugitive ID. + + + + + A prisoner. + + + + + A person on probation. + + + + + An association between an item and where it was recovered. + + + + + An association between a property and where it was seized. + + + + + A person under protection. + + + + + A reference to a receiver EmailID + + + + + + + + A reference to a receiver instant messenger address. + + + + + + + + A reference to a receiver Network address. + + + + + + + + A reference to a receiver organization. + + + + + + + + A reference to a receiver person. + + + + + + + + A reference to a receiver telephone number. + + + + + + + + Details about a Recipient location. + + + + + + + + A reference to a Recipient organization. + + + + + + + + A reference to an Recipient person. + + + + + + + + Details about a Sender location. + + + + + + + + A reference to a Sender organization. + + + + + + + + A reference to an Sender person. + + + + + + + + An association between a service call and the person who called. + + + + + An association between a service call and the dispatching person. + + + + + An association between a service call and where assistance was dispatched. + + + + + An association between a service call and email address where a request for service originated. + + + + + A relationship between a Service Call and an instance messenger address (e.g. IRC, AIM). + + + + + A relationship between a Service Call and a Network address. + + + + + An association between a service call and where it was made from. + + + + + An association between a service call and an operator. + + + + + An association between a service call and a telephone number where a request for service originated. + + + + + A reference to an organization providing services. + + + + + + + + A reference to a person providing services. + + + + + + + + A reference to a service recipient organization. + + + + + + + + A reference to a person receiving services. + + + + + + + + An student association between a teaching entity and pupil. + + + + + A reference to a subject organization. + + + + + + + + A reference to a subject person. + + + + + + + + An association between a subject and a victim. + + + + + An association between a subject and a witness. + + + + + A subject under supervision. + + + + + An association between a telephone call originating entity and a telephone call recieving entity. + + + + + A telephone number. + + + + + Defines what kind of phone number this is, such as a fax versus a pager. + + + + + A flag which indicates whether (true) or not (false) the number is for daytime use. + + + + + A flag which indicates whether (true) or not (false) the number is for use in an emergency. + + + + + A flag which indicates whether (true) or not (false) the number is for evening use. + + + + + A flag which indicates whether (true) or not (false) this is a home number. + + + + + A flag which indicates whether (true) or not (false) the number is for nighttime use. + + + + + A flag which indicates whether (true) or not (false) this is a primary contact number. + + + + + A reference to a telephone number. + + + + + + + + A flag which indicates whether (true) or not (false) the number is for specific use. + + + + + A flag which indicates whether (true) or not (false) this is a work number. + + + + + Indicates whether the US Marshal's Service is the originator (true) of the register number. + + + + + A reference to a victim organization. + + + + + + + + A reference to victim person. + + + + + + + + An association between a victim and witness. + + + + + Describes a reason for a visit. + + + + + An association between a visitor person or organization and visited person or organization.. + + + + + A reference to a visited organization. + + + + + + + + A reference to visited person. + + + + + + + + A reference to a Visitor organization. + + + + + + + + A reference to Visitor person. + + + + + + + + A reference to a witness person. + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/lexs/3.1/lexs.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/lexs/3.1/lexs.xsd new file mode 100644 index 00000000..dae606e7 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/lexs/3.1/lexs.xsd @@ -0,0 +1,1679 @@ + + + + + + + + + + + + + + LEXS Message Format Schema + + + + + A structure that describes details about errors or warnings. Advisory is not used if the result code is Success. However, if there is an error or warning, there must be one or more advisory elements to provide additional details about the error or warning. + + + + + + + + + + + + + + + + A structure that represents Uniform Resource Identifier. For more information on Uniform Resource Identifier please see RFC3986. + + + + + + + + + + + + + A structure that describes details about Link to the Attachment and uniquely identifies the attachment. + + + + + + + + + + + + + + + + + + + A structure that describes details about Attachment Request Message. The responses to searches and get data item requests may include information about attachments, but in the interests of limiting the sizes of these results they do not include the attachments themselves. This request allows a consumer to request the attachments. Multiple attachments may be specified in a single request. All attachments are uniquely identified by Attachment URI. + + + + + + + + + + + + + + + A structure that describes Attachment Response Message. This message is returned by a service provider in response to a getAttachmentRequest(), and may include multiple attachments. + + + + + + + + + + + + + + + A structure that contains binary for the attachment and describes details about attachment. Structure uniquely identifies an attachment by an AttachmentURI and holds an attachment in binary format using NIEM nc:Binary. + + + + + + + + + + + + + + + + + + A structure that describes Availability Response Message. Message is returned by a service provider in response to a getAvailabilityRequest(). + + + + + + + + + + + + + + + + A structure that describes Capabilities Response Message. Message is returned by a service provider in response to a getCapabilitiesRequest(). Some capabilities apply at the service provider level, and some only apply to structured or unstructured searches. + + + + + + + + + + + + + + + A structure that describes details about Capabilities of the Service Provider. + + + + + + + + + + + + + + + + + + + + A structure that describes details about a Community Pedigree URI. Pedigree number attribute indicates community pedigree order. Digest is assigned pedigree 0, community recieve pedigree 1, and etc. + + + + + + + + + + + + + A structure that describes LEXS Contact Information for a data owner, system, or a data item. + + + + + + + + + + + + + + + + + + + + + A structure that provides information about the type of event or data type. This may be used by service providers to indicate what types of events or data are incorporated in the service provider and/or its data sources, or in an individual data item. Groups may work together to define an appropriate list of categories that can be used in searches among the groups to allow users to limit search results. Structure could also be used by user interfaces for sorting purposes. + + + + + + + + + + + + + A structure that provides packaging for a single Data Item. DataItemPackage is contained in a PublishMessage as part of a doPublish request, and in a DataItemResponseMessage as part of a getDataItemResponse. + + + + + + + + + + + + + + + + A structure that describes request message for a single Data Item. Only a single data item may be requested in each message. Requested Data Item is specified by DataItemID. + + + + + + + + + + + + + + + + A structure that describes data item response mesage format. Message contains only a single data item, which may include information that was not in the doSearchResponse. + + + + + + + + + + + + + + + + A structure that uniquely identifies an organization and a system in an organization that owns data. + + + + + + + + + + + + + + A structure that encapsulates data owner information. + + + + + + + + + + + + + + + + A structure that describes an organization that owns data. + + + + + + + + + + + + + + A structure describes a message returned by a service provider in response to a getDataOwnersRequest. Structure contains multiple elements that provide informaiton about available data owners. + + + + + + + + + + + + A structure describes a single digest query field and wrapps a single LEXS Entity, where the Entity includes a single element with a single value where allowed by schema. + + + + + + + + + + + + + + + A structure that describes a query statement against LEXS digest. Structures serves as a wrapper for the Digest elements being searched, their values, and any modifiers (such as "fuzzy"). This element may not exist if the search is only being performed on Structured Payload elements. This element includes a single Digest element with a single value; if multiple Digest elements are to be searched, or if multiple values are supplied for a single element, there must be multiple DigestQueryStatement blocks. + + + + + + + + + + + + + + + + A structure that describes LEXS Digest format. Structure contains LEXS Entities and Associations between Entities. While LEXS Entities are children of Digest element and don't follow any particular order , all LEXS Associations are wrapped in an element "Associations" and follow strict sequence. + + + + + + + + + + + + + + + + A structure that describes LEXS Dissemination Criterial Value. Structure contains dissemination criteria domain and dissemination criteria value used within the domain. + + + + + + + + + + + + + + + + A structure provides a placeholder for various domain attributes. For Name/Value pair attributes use lexs:AttributeName and lexs:AttributeValue elements. For hierarchical data xsd:any structure should be used. + + + + + + + + + + + + + + + + + + A structure that describes non-normative Domain Request Message. + + + + + + + + + + + + + + + A structure that describes non-normative Domain Response Message. + + + + + + + + + + + + + + + A structure that holds basic metadata about any message. + + + + + + + + + + + + + + + + + + A structure describes the number of search terms used in a query for a given structured payload. Structure provides a count of search terms in any included structured payload elements so that service providers that do not understand one or more structured payloads will have a count of terms that were ignored for the purposes of calculating an accurate MatchScore. This element indicates the structured payload to which it applies and provides the number of search terms in that structured payload section. + + + + + + + + + + + + + + + + An abstract structure that describes structure of the LEXS Package. Abstract Package is a base type for PD and SR data exchange. Logical group of data normally viewed as a whole, such as a document-based incident report or an entity-based subject report/response. Also referred to as a data item. This structure includes elements that are common for PD and SR exchanges. Note that Digest element is mandatory everywhere except SearchResultPackage. + + + + + + + + + + + + + + + + + + + A structure that describes Metadata about LEXS Package + + + + + + + + + + + + + + + + + + + + + + + + + + A structure describes metadata for LEXS Publish Mesage. + + + + + + + + + + + + + + + A structure that describes format for LEXS Publish Message Container. Structure wraps multiple LEXS publish messages and requires at least one message to publish. + + + + + + + + A structure describes Publish Mesage format. + + + + + + + + + + A structure that describes rendering instructions for LEXS Data Item Package. + + + + + + + + + + + + + + + + + + A structure that describes rendering parameters for XSLT + + + + + + + + + + + + + + + + A structure that describes base type for any Request Message. + + + + + + + + + + + + + + + A structure that describes base type for any Response Message. + + + + + + + + + + + + + + + A structure that describes response metadata. This structure is included in all results. + + + + + + + + + + + + + + + + + A structure that describes requested role types and an indicator as to whether the supplied role types should be included or excluded from the response. + + + + + + + + + + + + + + + + A structure describes base type for Search Request Message. + + + + + + + + + + + + + + + A structure that describes search request metadata. Used in StructuredSearchRequestMessage in a doStructuredSearch request and in TextSearchRequestMessage in a doTextSearch request. + + + + + + + + + + + + + + + + + + + + + + + + + + A structure that describes search response message format and contains "hits" from either a structured or text search. + + + + + + + + + + + + + + + + A structure that describes metadata about search response. + + + + + + + + + + + + + + + + + + + + + + A structure that describes format for search result package. ResponsePackage is contained in a ResponseMessage as part of a SearchResponseMessage or getDataItemResponseMessage. + + + + + + + + + + + + + + + + A structure that describes metadata about Search/Retrieve message. + + + + + + + + + + + + + + + + + A structure that describes base type for any SearchRetrieve message. Encapsulates SearchRetrieveMessageMetadata element describing the message. + + + + + + + + + + + A structure that describes metadata about a structured payload + + + + + + + + + + + + + + + + + + A structure that describes format for structured payload query field. Structure provides a wrapper for a single Structured Payload object, where the object includes a single element with a single value. + + + + + + + + + + + + + + + A structure that describes format for structured payload query statement. Provides a wrapper for Structured Payload elements being searched, their values, and any modifiers (such as "fuzzy"). This element includes a single Structured Payload element with a single value; if multiple Structured Payload elements are to be searched, or if multiple values are supplied for a single element, there must be multiple StructuredPayloadQueryStatement blocks. + + + + + + + + + + + + + + + + + A structure that describes container for Requested Structured Payloads. + + + + + + + + + + + + + + + A structure that contains a structured payload and a description for it. Structured payload contains data geared towards a community, such as incidents or arrests, or a sub-community, such as bomb and arson incidents. Builds on the contents of the digest. + + + + + + + + + + + + + + + + A structure that limits query match score to be less than 100 and bigger than 0. + + + + + + + + A structure that contains LEXS structured query, stated using the LEXS Digest and Structured Payload entities by supplying field values for selected elements. + + + + + + + + + + + + + + + + + A structure that describes format for structured search request message. + + + + + + + + + + + + A structure that describes structured seach capabilities for a service provider. + + + + + + + + + + + + + + + + + + + A structure that uniquely identifies an organization and a system where date originated, was submitted from, or is being sent. + + + + + + + + + + + + + + + + + A structure that describes metadata about an organization and a system where date originated, was submitted from, or is being sent. + + + + + + + + + + + + + + + + + A structure that describes format for text search request message. + + + + + + + + + + + + + + + A structure that describes text seach capability for a service provider. + + + + + + + + + + + + + + + + + A structure that describes assertion for the user submitting any search or get that is done by a user, or on behalf of a user by an application. Note that requests that come from applications, such as getCapabilities, getDataOwners, and getAvailability do not include a UserAssertion. + + + + + + + + + + + + + + + + + + + + + Additional Information about the availablity of a service provider. Element is populated by the service provider and can be used when the service is available, for example to indicate that a data owner is unavailable, or when the service is not available, for example to indicate that the service provider will be back up at a particular time. + + + + + Container for the advisory details. + + + + + Provides a machine-interpretable error/warning message from an enumerated code list that can be used programmatically. + + + + + Free form text describing the warning or error. Since this text may be provided to end-users, service providers should populate this text field with user friendly messages rather than technical jargon or stack traces. + + + + + A generic placeholder for Originating Agency ID or ORI code. + + + + + LEXS Attachment. Contains binary for the attachment and describes details about attachment. Attachment is uniquely identified by an AttachmentURI. + + + + + Link between an object, such as a Person, and an attachment. + + + + + Message that requests a LEXS Attachment. Multiple attachment may be requested in a single message. + + + + + Message returned by a service provider in response to a getAttachmentRequest(), and may include multiple attachments. + + + + + LEXS attachement is uniquely identified by AttachmentURI within given service provider. + + + + + A flag which indicates whether attachment can be displayed (true, such as for a mug shot) or not (false, such as for a stylesheet used for rendering). + + + + + Domain Attribute Name + + + + + Domain Attribute Value + + + + + Message is returned by a service provider in response to a getAvailabilityRequest() and shows the status of the service provider. + + + + + Service Provider Capabilities. + + + + + Message is returned by a service provider in response to a getCapabilitiesRequest(). Some capabilities apply at the service provider level, and some only apply to structured or unstructured searches. + + + + + Description of the community that originated a particular structured payload. + + + + + Structured palyload pedigree for the community, uniquely identified by CommunityPedigreeURI + + + + + Structured palyload community URI. Each community is uniquely identified by CommunityURI + + + + + Structured palyload community version. + + + + + Provides information about the type of event or data type. This may be used by service providers to indicate what types of events or data are incorporated in the service provider and/or its data sources, or in an individual data item. Groups may work together to define an appropriate list of categories that can be used in searches among the groups to allow users to limit search results. Element could also be used by user interfaces for sorting purposes. + + + + + Provides a description which can be used to better explain the meaning of the DataItemCategoryText element value, and could be multiple sentences. + + + + + Indicates the type of event or data type. This should be a user-friendly and reasonably intuitive string that can be used in a list or as a check-box label in a GUI. Used as a search parameter in SearchRequestMetadata. + + + + + A flag which indicates whether the package includes all available information (true) or whether more is available (false). If the indicator does not exist, it does not imply either complete or incomplete; merely that the data owner either did not supply the indicator or does not want to indicate completeness for this data item. + + + + + Contact information for the data item. Includes a person and organization to contact and their phone number and email address. + + + + + Date the Data Item was produced/generated. + + + + + Unique identifier for the data item. DataItemID is unique for a given service provider. + + + + + Specifies LEXS version used within the data item, for example 3.1.4. This version could differ from LEXSVersion used in MessageMetadata. For example LEXSVersion used in MessageMetadata is 3.1.4, however DataItemLEXSVersion is 3.1.3. + + + + + Packaging for a single Data Item. DataItemPackage is contained in a PublishMessage as part of a doPublish request, and in a DataItemResponseMessage as part of a getDataItemResponse response. + + + + + Data Item Publish instruction that indicates whether to insert or delete data item. + + + + + A human readable unique identifier that is meaningful to the owning system. May be the same as the Data Item ID. DataItemReferenceID is a data owner artifact and should not be changed by any intermediary, aggregator, or sharing system. + + + + + Request message for a single Data Item. Only a single data item may be requested in each message. + + + + + Data item response mesage returned in response to getDataItemRequest message. Message always contains only a single data item, which may include information that was not in the doSearchResponse. + + + + + Free text field that shows the status of the data item such as Valid/Invalid, etc. + + + + + Contact information for a data owner. + + + + + Identifier that uniquely identifies an organization and a system in an organization that owns data. This identifier is used in DataOwnerMetadata that is part of PackageMetadata, and in DataOwnerInformation that is part of DataOwnersResponseMessage. + + + + + Detailed information about data owner. + + + + + Describes and uniquely uniquely identifies an organization that owns the data. + + + + + Message returned by a service provider in response to a getDataOwnersRequest + + + + + "Information security classification level (e.g., SBU = Sensitive but Unclassified)". Note that this is different from dissemination criteria, which is included at the data item level. + + + + + Describes and uniquely uniqely identifies system that submitted data. + + + + + A flag which indicates whether service provider supports search by date range (true), or not (false). + + + + + Includes LEXS standardized Entities and Associations. + + + + + Single digest query field that wraps a single LEXS Entity, where the Entity includes a single element with a single value. + + + + + Query statement against LEXS Digest. + + + + + A generic placeholder for Dissemination Criteria code or text. + + + + + Data Dissemination Criteria. Information is provided by the data owner to indicate who is allowed to see the information. For publish it provides information to the service provider about what can be returned as the result of a search. For search or get results, it provides information to the user so they know the criteria for this information. Note that this is different from the data sensitivity included at the message level. + + + + + Data Dissemination Criteria Domain. Information is provided by the data owner to indicate domain that defines data dissemination criteria. + + + + + Data Dissemination Criteria. Information is provided by the data owner to indicate who is allowed to see the information. For publish it provides information to the service provider about what can be returned as the result of a search. For search or get results, it provides information to the user so they know the criteria for this information. Note that this is different from the data sensitivity included at the message level. + + + + + Data Dissemination Criteria Structure. Information is provided by the data owner to indicate who is allowed to see the information. For publish it provides information to the service provider about what can be returned as the result of a search. For search or get results, it provides information to the user so they know the criteria for this information. Note that this is different from the data sensitivity included at the message level. Dissemination Criteria Value structure differs from Dissemination Criteria: instead of providing strict enumerated list of predefined values Dissemination Criteria Value specifies the domain and dissemination criteria value valid within the domain. + + + + + Specifies domain name. + + + + + Placeholder for various domain attributes. For Value/Pair attributes use lexs:AttributeName and lexs:AttributeValue elements. For hierarchical data xsd:any structure should be used. + + + + + This request message includes an identifier for this request, LEXS version being used by the requestor, and the date/time the request was generated. This message is non-normative and is used for out-of-bound non LEXS conformant information exchanges between systems. + + + + + Message is returned by a service provider in response to a getDomainRequest(). This message is non-normative and is used for out-of-bound non LEXS conformant information exchanges between systems. + + + + + A flag which indicates whether the service provider supports exact phrases in text searches. + + + + + A flag which indicates whether the service provider supports some form of fuzzy search, such as soundex or metaphone. + + + + + Uniquely identifies the request message that resulted in this response. + + + + + Specifies LEXS version used within the document, for example 3.1.4 + + + + + Specifies whether logical operators are supported by the service provider in text searches. + + + + + Indicates to the service provider where the next set of hits should start. + + + + + Value is used by a service provider on a next/previous query to determine what set of data to return. Value is of string type to give service provider as much flexibility as possible for point data format. + + + + + Value is used by a service provider on a next/previous query to determine what set of data to return. Value is of string type to give service provider as much flexibility as possible for point data format. + + + + + Value is used by a service provider on a next/previous query to determine what set of data to return. Value is of string type to give service provider as much flexibility as possible for point data format. + + + + + Maximum number of hits that the service provider can return in a response. + + + + + The maximum number of hits the user (or application acting on behalf of the user) wants back in a response. Note that the service provider may override this value if the service provider's limit is less than the number requested. + + + + + The maximum number of hits the user (or application acting on behalf of the user) wants back in a response. + + + + + Date and time the message was created. + + + + + Specifies the organization and system that an SR message is being sent. + + + + + Specifies the organization and system where a message was originated. + + + + + Message Sequence Number uniquely identifies a message from a specific application or service provider. Used for auditing purposes, to track messages for troubleshooting, and to tie results to the originating request. + + + + + A flag which indicates whether this service provider allows for multiple values in individual elements in a structured search. + + + + + Unstructured (text) content for the package. + + + + + Number of matches found, as opposed to returned, by the service provider. Text field that can contain a number or an indication that there were more than a certain number of hits, such as 100+. + + + + + Number of search terms used in a query for a given structured payload. Structures provides a count of search terms in any included structured payload elements so that service providers that do not understand one or more structured payloads will have a count of terms that were ignored for the purposes of calculating an accurate MatchScore. This element indicates the structured payload to which it applies and provides the number of search terms in that structured payload section. + + + + + The number of search terms in the structured payload. + + + + + A flag which indicates whether the service provider supports queries on ranges for numeric elements, such as a range on a boat length. This also includes "open-ended" ranges, such as a search on a boat length less than a specified value. Note that a service provider may support range searches on some numbers and not others; this Boolean does not indicate what elements, just that the service provider supports some level of numeric range searches. + + + + + The unique NCIC Originating Agency Identifier Number that has been assigned to each agency. + + + + + An identifer for an agency that does not use an NCIC ORI. + + + + + Metadata about LEXS Package + + + + + A flag which indicates whether the service provider supports requests for additional hits from a search. + + + + + Metadata for LEXS Publish Mesage + + + + + Publish Mesage. Encapsulates PublishDiscoverMessageMetadata element describing the message and a message from a given Service Provider. + + + + + LEXS Publish Message Container + + + + + A placeholder for an Attachment or a DataItem Package + + + + + Match code for query field + + + + + Description of the rendered document. + + + + + LEXS Package Rendering Instructions + + + + + Rendering Method Code such as XHTMLStyleSheet, PDFStyleSheet, RenderedBinary, etc. + + + + + Rendering parameters for XSLT. + + + + + XSLT rendering parameter name. + + + + + XSLT rendering parameter value. + + + + + Reference to the XSLT attachment link. Note this is not direct reference to the attachment itself, but rather to the AttachmentLink located within DataItemPackage. + + + + + Requested Data Code value + + + + + Metadata for the response message indicates whether the request resulted in an error or warning or success(ResultCode), provides additional information about the result in cases of error or warning(Advisory), and provides an identifier for the message this is the result for(InResponseToMessageSequenceNumber). This element is included in all results. + + + + + Response status code value + + + + + Indicates whether included list of roles (see RoleList element for details) should be included in (true) or excluded from (false) roles returned in the response. + + + + + Lists requested role types and indicates whether the supplied role types should be included or excluded from the response. + + + + + Valid role types defined in LEXS. + + + + + Metadata about search request. This metadata is used in StructuredSearchRequestMessage in a doStructuredSearch request and in TextSearchRequestMessage in a doTextSearch request. + + + + + Search Response Message returned in response to structured or text search. + + + + + Search response metadata + + + + + Contains information about the data owner that provided the data, a digest, and possibly one or more structured payloads, narrative, snippet, rendering instructions, and attachment link elements. ResponsePackage is contained in a ResponseMessage as part of a SearchResponseMessage or getDataItemResponseMessage. + + + + + A flag which indicates whether the number of hits was restricted due to a service provider limit. True means the number returned was limited due to a server restriction. + + + + + A flag which indicates whether service provider is available. True if the service is available, false if there are problems, such as the database is down for maintenance. Note, that if there is no reply to the getAvailabilityRequest, it may indicate that the service provider is down, that there are network problems, that the requestor is not properly configured, etc. + + + + + This request message includes an identifier for this request, LEXS version being used by the requestor, and the date/time the request was generated. The specific request that is being made is determined from the parent element name. + + + + + Search ID value that is meaningful to the service provider for returning additional hits. This allows the service provider to utilize any state information it may retain so that it does not have to rerun the query again to get the next or previous set of results. Service providers define this value; requesters merely copy the value back into the follow-up query. + + + + + Summary information that represents the context of this data item in the responding system. Conceptually similar to the results returned from a Google search. + + + + + This indicates to the service provider what set of hits, most recent or most relevant, should be returned if there are more hits than can be returned in a single response. The responding system determines what is most relevant. + + + + + Metadata about Search/Retrieve message. + + + + + LEXS Structured Payload + + + + + Metadata about structured payload + + + + + Structured payload query field + + + + + Structured payload query statement + + + + + Abstract element that serves as a placeholder for either structured payload requested code or for list of structured payloads. + + + + + Structured Payloads Requested Code Value can have the values "All" or "None". "All" indicates that the requesting system would like to receive any structured payloads that the service provider can return. "None" indicates that the requesting system does not want any structured payloads. + + + + + List of requested structured payloads. If this list element is provided instead of the code element, it means that the requesting system does not want to receive responses with any structured payloads except for the ones specified. + + + + + LEXS Structured query, stated using the LEXS Digest and Structured Payload entities by supplying field values for selected elements. + + + + + Structured query match score is a positive integer between 0 and 100 representing a hit percentage. Service providers will make best effort to answer queries the way they are asked. StructuredQueryMatchScore represents the number of search elements that were matched for a structured search query. A result that matches all requested fields is always a perfect match, represented by the value 100. Match scores for structured queries where the service provider had to ignore one or more search terms will be provided using numbers less than 100 to represent the percentage. StructuredQueryMatchScore is not applicable for text search results. + + + + + Service provider structured seach capabilities + + + + + Structured Search Request Message + + + + + A flag which indicates whether the data owner includes structured data and can be searched using doStructureSearchRequest. + + + + + Contact information for the system owner. Includes a person and organization to contact and their phone number and email address. + + + + + A value that uniqely identifies the system within the service provider. + + + + + Element that uniquely identifies an organization and a system where date originated, was submitted from, or is being sent. + + + + + LEXS Text query for querying unstructured data. Search utilizes wildcards and matching all terms, any terms, or exact phrase. Logical operators AND as well as OR may be specified in the query string. + + + + + Service provider text seach capabilities + + + + + A flag which indicates whether the data owner includes unstructured data and can be searched using doTextSearchRequest. + + + + + Text Search Request Message + + + + + Specifies the time in seconds within which the requesting system would like to receive a response. This element would primarily be used to convey a time period past which a response would not be useable by the requesting system. The time period specified excludes time for connection overhead to avoid the need for time synchronization between systems and thus should be slightly shorter than the period needed by the requesting system. The server, if capable of supporting such functionality, should cancel the search and return a timeout advisory response within the time limit specified. It is suggested that the search query should be timed out by the server prior to the time limit specified in order to allow time for canceling the query and returning a response before the period expires. + + + + + Information about the user submitting any search or get. + + + + + Username or userID for the user on the originating system. + + + + + A flag which indicates whether the service provider allows wildcard character(s) in structured searches. + + + + + Indicates community pedigree order. + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/library/3.1/library.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/library/3.1/library.xsd new file mode 100644 index 00000000..89014d26 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/library/3.1/library.xsd @@ -0,0 +1,136 @@ + + + + + + + + + + A structure that defines association that identifies objects as the same. Association is used to connect object in digest to object located within payload ( downpoint reference ). + + + + + + + + + + + + + + + + + + + A structure that allows reference to an object that is located within closed(xsd:any) container (for example under lexs:StructuredPayload) and is beyond the scope of XML Schema validation. lexslib:ref element holds a valid ID value for the scope of the referenced document (located under xsd:any) rather than a local document. + + + + + + + + + Reference to an object + + + + + + + + + Reference to an object located within Payload. This reference is not validated by default with XML Schema validation during LEXS validation pass. + + + + + + + + + Reference to a Payload + + + + + + + + + Reference to an AttachmentLink. + + + + + + + + + + Association that identifies objects as the same. Association is used to connect object in digest to object located within payload ( downpoint reference ). + + + + + + + Reference to the object that is considered the same. Used to connect XML elements from the Structured Payload to XML elements in the Digest, when the Structured Payload builds upon the contents of the Digest. Sometimes referred to as an up-pointing reference. + + + + + + + + + + Reference to an object. Used to point to an object that is located beyond the scope of XML Schema validation mechanisms. + + + + + + + Reference to the external Structured Payload object which is beyond the scope of XML Schema validation mechanisms from inside of Structured Payload. + + + + + + + A structure that allows reference to an object that is located within closed (xsd:any) container (for example under lexs:StructuredPayload) and is beyond the scope of XML Schema validation. lexslib:ref element holds a valid ID value for the scope of the referenced document (located under xsd:any) rather than a local document. + + + + + + + + + + + Reference to the object that is considered the same. Used to connect XML elements from one Structured Payload to XML elements in another Structured Payload, when one Structured Payload builds upon the contents of another Structured Payload. Sometimes referred to as cross reference. + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/appinfo/2.0/appinfo.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/appinfo/2.0/appinfo.xsd new file mode 100644 index 00000000..bcaea262 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/appinfo/2.0/appinfo.xsd @@ -0,0 +1,94 @@ + + + + The appinfo schema provides support for high level + data model concepts and additional syntax to support the NIEM + conceptual model and validation of NIEM-conformant + instances. + + + + The Resource element provides a method for + application information to define a name within a schema, without the + name being bound to a schema component. This is used by the + structures schema to define names for structures:Object and + structures:Association. + + + + + + + + The Deprecated element provides a method for + identifying components as being deprecated. A deprecated component is + one which is provided, but whose use is not + recommended. + + + + + + + + + + + + + + The Base element provides a mechanism for + indicating base types and base elements in schema, for the cases in + which XML Schema mechanisms are insufficient. For example, it is used + to indicate Object or Association bases. + + + + + + + + + The ReferenceTarget element indicates a NIEM type + which may be a target (that is, a destination) of a NIEM reference + element. It may be used in combinations to indicate a set of valid + types. + + + + + + + + + The AppliesTo element is used in two ways. First, + it indicates the set of types to which a metadata type may be + applied. Second, it indicates the set of types to which an + augmentation element may be applied. + + + + + + + + + The ConformantIndicator element may be used in two + ways. First, it is included as application information for a schema + document element to indicate that the schema is NIEM-conformant. + Second, it is used as application information of a namespace import + to indicate that the schema is not + NIEM-conformant. + + + + + The ExternalAdapterTypeIndicator element indicates + that a complex type is an external adapter type. Such a type is one + that is composed of elements and attributes from non-NIEM-conformant + schemas. The indicator allows schema processors to switch to + alternative processing modes when processing NIEM-conformant versus + non-NIEM-conformant content. + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/atf/2.0/atf.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/atf/2.0/atf.xsd new file mode 100644 index 00000000..f3d2d84e --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/atf/2.0/atf.xsd @@ -0,0 +1,593 @@ + + + + Bureau of Alcohol, Tobacco, and Firearms + + true + + + + + + + A data type for an item contained within an explosive device designed to cause harm or damage when propelled by an explosion. + + + + + + + + Aluminum Foil + + + + + Nails + + + + + Nuts/Bolts/Screws + + + + + Pellets + + + + + Rubber bands/Straps + + + + + Shells + + + + + String/Rope + + + + + Styrofoam + + + + + Tape + + + + + Wax/Epoxy/Putty/Bondo/etc. + + + + + Wire Construction + + + + + Balloons + + + + + Wood + + + + + Other + + + + + BBs/Buckshot + + + + + Candles + + + + + Cardboard/Paper + + + + + Clay + + + + + Fragmentation + + + + + Magnet + + + + + Money/Coins + + + + + + + A data type for an item contained within an explosive device designed to cause harm or damage when propelled by an explosion. + + + + + + + + + + + + + A data type for an object that contains an explosive substance or agent. + + + + + + + + Bag + + + + + Letter/Book + + + + + Pipe + + + + + Radio/TV/Tape Player + + + + + Tubing + + + + + Vehicle + + + + + Other + + + + + Bottle/Jug + + + + + Box + + + + + Brief Case/Luggage + + + + + Can + + + + + CO2 Container + + + + + End Cap/Plugs + + + + + Gas Cylinder + + + + + Grenade + + + + + + + A data type for an object that contains an explosive substance or agent. + + + + + + + + + + + + + A data type for a substance that can cause an explosion when ignited or detonated. + + + + + + + + ANFO + + + + + Dynamite + + + + + Flam. Liquid + + + + + Flam. Solid; Flam. Gas + + + + + Liquid Explosive + + + + + Magnesium + + + + + Match Heads; Photo Flash Powder + + + + + Nitroglycerene + + + + + Ordnance + + + + + Pellet Powder + + + + + PETN + + + + + Black Powder + + + + + Potassium Chlorate/Chemical/Solidox/etc. + + + + + Primer; Ammonium Nitrate/Prill + + + + + Rdx, Nitroguandine + + + + + Shape Charge + + + + + Simulator + + + + + Smokeless Powder + + + + + TNT + + + + + Other + + + + + Blasting Agent + + + + + Booster + + + + + C3 + + + + + C4 + + + + + Composition B + + + + + Deta Sheet + + + + + Dynamite Binary + + + + + + + A data type for a substance that can cause an explosion when ignited or detonated. + + + + + + + + + + + + + A data type for a means by which an explosive is ignited or detonated. + + + + + + + + Alligator Clips + + + + + Detonating Cord + + + + + Electrically Initiated + + + + + Electronic Component + + + + + Firecracker/Fireworks + + + + + Firing Device + + + + + Flash/Light Bulb + + + + + Galvanometer + + + + + Igniter Cord + + + + + Improvised Detonators/Initiators + + + + + Lamp + + + + + Batteries + + + + + Male/Female Plugs + + + + + Matches + + + + + Military Fuse + + + + + Model Rocket + + + + + Mouse/Rat Trap + + + + + Remote Control + + + + + Safety Fuse + + + + + Signal Incendiary Fire + + + + + Spark Plug + + + + + Squib/Electric Matches + + + + + Blasting Machine + + + + + Switch + + + + + Timer + + + + + Trailers of Flammable Liquid + + + + + Wick + + + + + Wire + + + + + Other + + + + + Caps Electric + + + + + Caps Non-Electric + + + + + Cigarette + + + + + Clock + + + + + Clothespin + + + + + Connectors + + + + + + + A data type for a means by which an explosive is ignited or detonated. + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/dea/2.0/dea.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/dea/2.0/dea.xsd new file mode 100644 index 00000000..1ea39748 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/dea/2.0/dea.xsd @@ -0,0 +1,287 @@ + + + + Drug Enforcement Administration + + true + + + + + + + + + + + + + + Amphetamine (clandestine) + + + + + Methamphetamine (clandestine) + + + + + Crystal Methamphetamine ("ice") + + + + + P2P + + + + + Methcathinone + + + + + Other Stimulant (clandestine) + + + + + Amphetamine or Stimulant Related Chemical + + + + + Methylphenidate + + + + + Pseudoephedrine + + + + + Ephedrine + + + + + Iodine or Red Phosphorus + + + + + Cocaine HCL + + + + + Cocaine Base (excluding crack) + + + + + Crack Cocaine + + + + + Cocaine (pharmaceutical) + + + + + Cocaine Related Chemical + + + + + Depressant (clandestine) + + + + + Methaqualone + + + + + Fentanyl (clandestine) + + + + + Depressant Related Chemical + + + + + Chemical Equipment (non drug specific) + + + + + GHB or GBL or BD (And GHB Analogues) + + + + + Ketamine (And Its Analogues) + + + + + Unspecified Analogues + + + + + Heroin + + + + + Opium + + + + + Morphine Base + + + + + Opium or Heroin or Morphine Related Chemical + + + + + LSD + + + + + PCP + + + + + MDA or MDMA or MDE + + + + + Other Hallucinogen + + + + + Hallucinogen Related Chemical + + + + + Marijuana (foreign origin) + + + + + Marijuana (domestic origin) + + + + + Indoor cultivation + + + + + Hashish + + + + + Hashish Oil + + + + + Opioid Treatment Pharmaceuticals + + + + + Hydromorphone (Dilaudid) + + + + + Schedule II Pharmaceutical Narcotic + + + + + Schedule II Pharmaceutical Non Narcotic + + + + + Schedule III Narcotic + + + + + Benzodiazepine + + + + + All Other Pharmaceutical Controlled Substances + + + + + Oxycodone + + + + + Hydrocodone + + + + + Palladone + + + + + Steroid (pharmaceutical) + + + + + Steroid (clandestine) + + + + + No Specific Drug + + + + + + + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/domains/emergencyManagement/2.0/emergencyManagement.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/domains/emergencyManagement/2.0/emergencyManagement.xsd new file mode 100644 index 00000000..54b34220 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/domains/emergencyManagement/2.0/emergencyManagement.xsd @@ -0,0 +1,40 @@ + + + + Emergency Management + + true + + + + + + + + + + + + + + + + + + + + + + + + + + Free Text alternative to "Resource Keyword" (or may be used in addition). Any description of resource or resource characteristics, situation requiring resource assistance, statement of mission resource must satisfy, or RFI text. + + + + + A name or title of the resource. May be selected via the <Resource Keyword> if available. + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/domains/immigration/2.0/immigration.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/domains/immigration/2.0/immigration.xsd new file mode 100644 index 00000000..aa57fe91 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/domains/immigration/2.0/immigration.xsd @@ -0,0 +1,17 @@ + + + + Immigration + + true + + + + + + + + A number indicating a unique number assigned to an aliens file. + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/domains/jxdm/4.0/jxdm.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/domains/jxdm/4.0/jxdm.xsd new file mode 100644 index 00000000..5982292a --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/domains/jxdm/4.0/jxdm.xsd @@ -0,0 +1,1069 @@ + + + + Justice + + true + + + + + + + + + + + + A data type for an association between an activity and a location. + + + + + + + + + + + + + + + + A data type for an organization that is formed to or intentionally conducts illegal activities. + + + + + + + + + + + + + + + + + + + A data type for criminal characteristics associated with a person or a criminal organization. + + + + + + + + + + + + + + + + + + + + + A data type for an association between a document and a person. + + + + + + + + + + + + + + + + A data type for a person involved in the enforcement of law. + + + + + + + + + + + + + + + + + + A data type for a unit of an agency responsible for enforcing the law and maintaining peace. + + + + + + + + + + + + + + + + + + + A data type for a person involved in a judicial area of government. + + + + + + + + + + + + + + + + + + + A data type for a person who serves on a jury and listens to a case to determine the guilt or innocence of a person accused of a crime. + + + + + + + + + + + + + + + + + + + + + + A data type for details of a person whose whereabouts are unknown. + + + + + + + + + + + + + + + + + + + + A data type for additional information about a person. + + + + + + + + + + + + + + + + + A data type for information about a person who is required to register information with a law enforcement agency due to having been convicted of a certain type of crime. + + + + + + + + + + + + + + + + + + + + + + + A data type for an association between a subject and a person. + + + + + + + + + + + + + + + + A data type for a person who is involved or suspected of being involved in an incident or criminal activity. + + + + + + + + + + + + + + + + + + + A data type for a person who suffers injury, loss, or death as a result of an incident. + + + + + + + + + + + + + + + + + + + A data type for a person who has observed an incident. + + + + + + + + + + + + + + + + + + + + + + An association between an accomplice and a subject. + + + + + An association between an activity and someone who assists with that activity. + + + + + An association between an activity and a person who cleared information for that activity. + + + + + An association between an activity and a person who assigns people or units to respond to an activity or location. + + + + + An association between an activity and an enforcement official. + + + + + An association between an activity and a person who abstracted information about that activity. + + + + + An association between an activity and a person who approved information for that activity. + + + + + An association between an activity and a person who owns the information regarding that activity. + + + + + An association between an activity and a person who releases the information about that activity. + + + + + An association between an activity and a person who reports information about that activity. + + + + + An association between an activity and a judicial official. + + + + + An association between an activity and a location. + + + + + An association between an activity and a person of unknown involvement. + + + + + A judge that issues, orders, or authors an appellate case decision. + + + + + An attorney reported in an appellate case notice that originally tried a case. + + + + + A peace official who makes an arrest. + + + + + A person who is arrested. + + + + + A person admitted to practice law in his or her respective state and authorized to perform both civil and criminal legal functions for clients. + + + + + A person who is assigned bail. + + + + + An official who processes a subject for booking. + + + + + A corrections pre-trial screening official. + + + + + An official who searches a subject during a booking. + + + + + A person who is booked. + + + + + A peace official who supervises a subject making a telephone call. + + + + + An official who moves a subject to a detention facility. + + + + + An empanelled juror or an alternate juror. + + + + + The person/entity who has information relating to the activity or who testifies in court. + + + + + A person accused of committing a specific offense. + + + + + A person or entity who is the victim of an offense designated by the charge. + + + + + A peace official who gives a citation to a subject. + + + + + A person who violates a law and receives a citation. + + + + + A person who was found guilty of a crime. + + + + + A judge associated with a court event. + + + + + A person to which a court order applies. The subject could be a Protected Party, the recipient of a Summons or Subpoena, the subject of a Warrant, etc. + + + + + A judge or other judicial official that issued a court order. + + + + + An official who delivered a court order. + + + + + An official who delivered a court order. + + + + + + + + An official who delivered a court order. + + + + + + + + Details about an organization that is formed to or intentionally conducts illegal activities. + + + + + A caution or warning associated with a criminal organization. + + + + + An identifier assigned to a criminal organization. + + + + + An objective or purpose of the criminal organization. + + + + + A description of characteristic traits and identifiers of a criminal organization. + + + + + A color associated with criminal activity. + + + + + A description of the types of communication used by a criminal organization or person. + + + + + A description of criminal characteristics. + + + + + Identifying dress or clothing associated with a criminal organization or person. + + + + + A usual way in which a criminal organization or person acts or operates. + + + + + A description of a tattoo associated with a criminal organization or person. + + + + + A description of a location a criminal organization or person often frequents or considers to have control over. + + + + + A peace official that receives custody of a subject or property. + + + + + A peace official that releases custody of a subject or property. + + + + + A person who is being transferred from one custody to another. + + + + + A drug. + + + + + + + + A person involved in the enforcement of law. + + + + + An identifier used to refer to an enforcement official. + + + + + A kind of enforcement official. + + + + + An enforcement unit to which an enforcement officer is assigned. + + + + + A local area for which an enforcement unit is responsible. + + + + + An identifier of an enforcement unit. + + + + + A name of an enforcement unit. + + + + + A number that identifies an enforcement unit. + + + + + A section of an enforcement unit. + + + + + A person who used force against another. + + + + + A person who was a victim of force. + + + + + A hazardous material. + + + + + + + + An area, region, or unit in which a unique identification is issued. + + + + + + + + An area, region, or unit in which a unique identification is issued. + + + + + + + + A peace official that assisted in processing an incident. + + + + + An association between an incident and an informant for that incident. + + + + + An association between an incident and an investigator for that incident. + + + + + An association between an incident an item obtainer. + + + + + A peace official that submitted an incident report in an incident. + + + + + A peace official that responded to an incident. + + + + + A person whose actions caused an incident. + + + + + An enforcement supervisor responsible for, or present at, an incident. + + + + + An association between an incident and a person with an unknown link to that incident. + + + + + A person that was negatively affected in an incident. + + + + + A person who observed or has knowledge of an incident. + + + + + An official who hears and decides a case or who rules over a case proceeding. + + + + + A person involved in a judicial area of government. + + + + + A kind of judicial official. + + + + + An agency at which a judicial official works. + + + + + An identifier or name of a panel or group to which a judicial official is assigned. + + + + + An identifier assigned to a judicial official after registering within a state or region. + + + + + A person who serves on a jury and listens to a case to determine the guilt or innocence of a person accused of a crime. + + + + + A date a juror was dismissed from jury service. + + + + + True if a juror has been dismissed; false otherwise. + + + + + A reason why a juror was dismissed or excused. + + + + + True if a juror has been appointed as juror leader; false otherwise. + + + + + A juror number that identifies a juror within a panel on which he or she is serving + + + + + Identifies the panel on which a juror is serving. + + + + + True if a person is a primary indicator; false if a person in an alternate juror. + + + + + Details about a person whose whereabouts are unknown. + + + + + A circumstance surrounding the disappearance of a person. + + + + + A circumstance surrounding the disappearance of a person. + + + + + + + + A circumstance surrounding the disappearance of a person. + + + + + + + + A date a person was declared or legally assumed to be missing. + + + + + A date a missing person was found. + + + + + True if a missing person has been found; false otherwise. + + + + + A date a missing person was last seen before disappearing. + + + + + A person who last saw a missing person. + + + + + Additional information about a person. + + + + + + + + A number issued by the FBI's Automated Fingerprint Identification System (AFIS) based on submitted fingerprints. + + + + + A kind of identifier assigned to a person. + + + + + + + + A number issued by a state Automated Fingerprint Identification System (AFIS) based on submitted fingerprints. + + + + + A peace official that seized a property item. + + + + + Details about a person that is required to register their residential information with a local law enforcement agency due to having been convicted of a certain kind of crime. + + + + + An offense for which a person must register as being an offender. + + + + + A description of a registered offense for which a person must register. + + + + + A date a person no longer must register as an offender. + + + + + A date a person initially registered as an offender. + + + + + Identification information identifying a person as a certain kind of registered offender. + + + + + Requirements placed on a registered offender to report to a supervising agency. + + + + + The name of the profession a registered offender must report. + + + + + A date a person must being registering as an offender. + + + + + A person who is required to register as a sexual offender. + + + + + A person who is being sentenced. + + + + + An official assigned specifically to handle a call for service. + + + + + A higher court judge assigned the severity level to the referenced charge. + + + + + A person who is involved or suspected of being involved in an incident or criminal activity. + + + + + + + + A person who is involved or suspected of being involved in an incident or criminal activity. + + + + + A piece of cautionary information about a subject. + + + + + A set of identifying characteristics a subject has with regard to illegal activity. + + + + + An association between a person and a subject. + + + + + Additional information associated with a subject. + + + + + A person suspected of illegal activity. + + + + + A judge which issued a verdict. + + + + + A person who received a verdict. + + + + + Details about a person, organization, or other entity who suffers injury, loss, or death as a result of an incident. + + + + + Details about a victims property that was stolen or damaged. + + + + + + + + Describes what happens to the victim after the incident. + + + + + Details about an entity who suffers injury, loss, or death as a result of an incident. + + + + + True if a victim wants the alleged suspect prosecuted in a court of law. + + + + + An official who supervised a visit. + + + + + An official who supervised a visit. + + + + + + + + An official who supervised a visit. + + + + + + + + Details about a person who has observed an incident. + + + + + A description or narrative of an incident as reported by the witness. + + + + + A date a witness observed an incident. + + + + + A number or string identifying a witness. + + + + + A description of a location from which the witness observed an incident. + + + + + True if a witness's story has been corroborated or validated; false otherwise. + + + + + A special condition a witness requires to testify. + + + + + True if a witness is willing to testify; false otherwise. + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/domains/screening/2.0/screening.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/domains/screening/2.0/screening.xsd new file mode 100644 index 00000000..99c06483 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/domains/screening/2.0/screening.xsd @@ -0,0 +1,91 @@ + + + + The People Screening domain provides harmonized information sharing content within the Screening Portfolio of DHS. The Screening namespace is initially being populated with person screening information for immigrant and non-immigrant person types who have been encountered and identified by the Screening Portfolio Components. Screening expands on encounter-related NIEM elements currently included in the Immigration and Intelligence domains. + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An unmarried CHILD under 18 years of age taken voluntarily as a dependent by a person other than his/her biological parents. + + + + + The date on which the adoption of the ADOPTED CHILD took place. + + + + + The text that describes the ELECTRONIC ADDRESS. + + + + + An association between one LOCATION and another LOCATION. + + + + + An identifier that represents a LOCATION. + + + + + + + + An identifier that represents a LOCATION. + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/fbi/2.0/fbi.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/fbi/2.0/fbi.xsd new file mode 100644 index 00000000..5cd24f68 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/fbi/2.0/fbi.xsd @@ -0,0 +1,71833 @@ + + + + FBI code lists for National Crime and Information Center (NCIC-2000), National Incident-Based Reporting System (NIBRS), and National Law Enforcement Data Exchange (N-DEx). + + true + + + + + + + A data type for Boat Color. + + + + + + + + AME + + + + + BEIGE + + + + + BLACK + + + + + BLUE + + + + + BROWN + + + + + BRONZE + + + + + CAM + + + + + CHROME + + + + + COPPER + + + + + CREAM + + + + + DARK BLUE + + + + + DARK GREEN + + + + + GOLD + + + + + GREEN + + + + + GREY + + + + + LAVENDER + + + + + LIGHT BLUE + + + + + LIGHT GREEN + + + + + MAROON + + + + + MUL/COL + + + + + MVE + + + + + ORANGE + + + + + PURPLE + + + + + PINK + + + + + RED + + + + + SILVER + + + + + TAN + + + + + TEA + + + + + TPE + + + + + TURQUOISE + + + + + WHITE + + + + + YELLOW + + + + + + + A data type for Boat Color. + + + + + + + + + + + + + A data type for Boat Make. + + + + + + + + Wes-Co. Boats Division + + + + + Adams Enterprises + + + + + Trend Mfg. Co. Of America, Inc.(Jacksonville, FL) + + + + + Atlantic Boat Works (Boothbay, ME) + + + + + Sampson Marine + + + + + Sneak, The Inc. + + + + + Downeast Yachts, Inc. + + + + + Apollo Boat Mfg. Co. + + + + + Atlantic Boat Works + + + + + Alumacraft Boat Co.(Arkadelphia, AR) + + + + + Archercraft Boats + + + + + Achilles KCI Corp. + + + + + Action Marine (Chicago, IL) + + + + + Action Marine Inc. (Action Boats)(Hollywood, FL) + + + + + A. C. Interface Inc(Rancho Snta Mar, CA) + + + + + A. C. Mfg. Co. + + + + + Kidd Marine Sales + + + + + Atlantic Boat Works (Hull, MA) + + + + + Alindale Mfg., Inc. + + + + + Andrus Boats + + + + + Young Brothers Co., Inc. + + + + + Aardal Boats + + + + + Airline Equipment & Service Inc. + + + + + American Marine Engineer + + + + + American Fiberglass Co. + + + + + Airboat Engineering + + + + + American Fiberglass + + + + + American Fiber-Lite (Marion, IL)(American Fiberglass) + + + + + Phantom Boats (Aero-Glass Boat Co.) + + + + + Aeroglastics, Inc. (Baja Boat Co. &Sierra Boat Corp.) + + + + + Applegarth Marine Yard + + + + + Avenger Manufacturing Co.(Harvey, LA) + + + + + Apache Airboats, Inc. + + + + + Scooter Boats + + + + + Thunder Jet Boats + + + + + Maverick Sportboats(W. Columbia, SC) + + + + + Alcort Sailboats, Inc.(Waterbury, CT) + + + + + Abilities N S Inc (Beverly Hill, CA) + + + + + Augie's Marine Service(Pompano Beach, FL) + + + + + Anacapri Marine + + + + + Alaska Homemade Boats + + + + + Aladdin Mfg. Co. (Yazoo Boats) + + + + + Allison Craft Boat Co. + + + + + All Seasons Industries + + + + + Allison Craft Boats (Louisville, TN) + + + + + Al Grovers Marine Bass + + + + + Alabama Homemade Boats + + + + + AMF Alcort(Waterbury, CT) + + + + + American Multi-Craft + + + + + Amercian Sport Boat Mfg. Inc(Lexingon, KY) + + + + + American Mariner Inds + + + + + American Sail Inc (Aqua Cat, Inc.)(Charleston, SC) + + + + + Angler Boat Corp. + + + + + Anchor Industries, Inc. (SterncraftBoat Co. & Deckboat Corp.) + + + + + Anthony Boat Co. + + + + + Advantage Power Yachts + + + + + Arnold Industries + + + + + Appleby Mfg. Co. + + + + + Apollo Boats (Bountiful, UT) + + + + + Apache + + + + + American Pacific Inflatables Inc.(Temecula, CA) + + + + + Apollo Boats, Inc. (Clearwater, FL) + + + + + Aqua-Cycle International, Inc. + + + + + Arlington Special Editions + + + + + Arctco Inc (Thief River Falls, MN) + + + + + Arkansas Traveler Boat + + + + + Arrowcraft + + + + + Arrowhead Yachts (Vinita, OK) + + + + + Day Marine, Inc. (Day Co. & ArrowGlass) + + + + + Arkansas Homemade Boats + + + + + Academy Broadway Corp. + + + + + Ashcraft Boat Co. + + + + + Arizona Ski Boats + + + + + Anderson Suncoast Marine + + + + + Aquasport, Inc. + + + + + All Star + + + + + Astroglass Boats (Pro Craft) + + + + + Alcar Fiberglass & Boat Co. + + + + + Aristo Craft Boat Corp. (AtlantaBoat Works) + + + + + Atlantic Boat Works (Camden, ME)(Atlantic Steam Works) + + + + + Atlantic Eastern Corp. + + + + + Attex International (Akron, OH) + + + + + Seamaster Marine + + + + + Avon Rubber Co. (Seagull Marine)(Irvine, CA) + + + + + Acton Fiberglass, Inc. + + + + + Advantage Boats, Inc. + + + + + Advanced Marine Concepts Inc.(Avenger Mfg. Co., Inc.) + + + + + Avanti Industries, Inc. + + + + + Arrivee Inc. + + + + + Alumaweld Boats + + + + + Alweld Commercial Boats + + + + + Spirit Marine (Arctic Enterprises) + + + + + Aqua Terra Mfg. Co (indianola, IA) + + + + + Aztec Boat Corp. + + + + + Ayr-Way Industries + + + + + R K Bentley & Sons(Newport Beach, CA) + + + + + Arizona Homemade Boats + + + + + Bahner Custom Boats, Inc. + + + + + Thunderbird Products Corp.(Browning Aerocraft Marine) + + + + + Bear Airboats + + + + + Barron Boats, Inc. + + + + + Bass Cats Boats(Mountain Home, AR) + + + + + Brooks Boats (Mt. Desert, ME) + + + + + Brooks Fiberglass Co. + + + + + Blue Buoy Yachts + + + + + B-Craft Boat Mfg. Co. + + + + + Beachcraft Marine + + + + + Beach-Craft Boats + + + + + Boicourt Marine + + + + + Baycraft Marine (Irvine, CA) + + + + + Brendella Custom Boats + + + + + Boat City Paint & Body Shop(Pensacola, FL) + + + + + Buster Boat Co. + + + + + D Blackmans Boat Service(San Diego, CA) + + + + + Badger Boat Builders (Couderway, WI) + + + + + Beacon Boats (Bristol, RI) + + + + + CMF Boats + + + + + Berg Boats, Inc. + + + + + Bob E. Ayou Jr. Co. (Costa Mesa, CA) + + + + + Bemidji Boat Co., Inc. (Core CraftCanoes) + + + + + Whittaker Corp. (Bertram Yacht) + + + + + Bezer Boats (Lake Havasu City, AZ) + + + + + Blue Fin Industries, Inc. + + + + + Browning F/G Boat (Powell, TN) + + + + + Burchfiel Mfg. + + + + + Biffy Fiberglass Products(Encintas, CA) + + + + + Plastics Division of Indus(Atlanta, GA) + + + + + Bass Hound + + + + + Zebra Marine + + + + + Biddison Designs, Inc. + + + + + Beatty Industries + + + + + Durkee Enterprises, Inc. (Bojo BoatCo.) + + + + + Bass Hunter + + + + + Baker Custom Boats + + + + + Bayliner Marine, Inc. (Pipestone,MN) + + + + + Bayliner Marine, Inc. (Valdosta, GA) + + + + + Bayliner Marine, Inc. (Spokane, WA) + + + + + Bayliner Marine, Inc. (New Bern, NC) + + + + + Bayliner Marine, Inc. (Spokane, WA) + + + + + Bayliner Marine, Inc. (Seattle, WA) + + + + + Bomber Raider + + + + + Blue Star Marine Corp. + + + + + Bayou Boats + + + + + Bay Marine Plastics + + + + + Biesmeyer Boats + + + + + Bonair Boats, Inc. + + + + + Binder & Associates Inc. + + + + + Brownlow Mfg. Co. + + + + + Bonanza Molding Corp. + + + + + Ski West Boats Inc. (Merced, CA) + + + + + Bons Bateaux, The + + + + + Bonito Boats, Inc. + + + + + Force Engineering + + + + + BYI, Ltd., N.V. + + + + + Bentz Craft (Old Hickory, TN) + + + + + Boats Unlimited (Georgetown, SC) + + + + + Bradford Boatworks, Inc. + + + + + Buccaneer Power Boats + + + + + Bryant Boats Inc (Sweet Water, TN) + + + + + Barnett Boats (Green Lake, WI) + + + + + Bramco, Inc. + + + + + Seaswirl Boats + + + + + Broadbill Maine Corp. + + + + + Bracon Industries, Inc. + + + + + Burr Brothers Boats Inc (Marion, MA) + + + + + Burr Sailboat Sails + + + + + Smyrna Skiffs (Indian River Boats) + + + + + Harwill, Inc. (Browning Marine Div.& Aero-Craft Boat) + + + + + Banshee International, Inc. + + + + + Bassmaster Boats + + + + + J C Mfg. Inc. (North Webster, IN) + + + + + B-Craft Boat Co. + + + + + Bronta Boat Co., Inc. + + + + + Cotton Mouth Ind. Inc(French Settlement, LA) + + + + + Precision (Burgess Ent)(Fairbanks, AK) + + + + + Bass Tracker Corp. + + + + + Bass Tub Inc. + + + + + Brevard Boat Works (Fleetwing) + + + + + Bandit Mfg Inc (Vian, OK) + + + + + Broadwater Boat Co. + + + + + Boston Whaler, Inc. + + + + + Blue Water Boat Works + + + + + Baracuda Boats (Long Beach, CA) + + + + + B & W Plastics Inc. + + + + + Blue Water Boats + + + + + Bowland Marine + + + + + Bellco Boats, Inc. + + + + + Billy Seabold Racing Boats (EagleBoats, Ltd) + + + + + Bayrunner Boats, Inc (Woodbine, NJ) + + + + + B & A Dist. Company (Portland, OR) + + + + + Bush-Wacker Boat, Inc. + + + + + Bangor Punta Marine (Cal Boats) + + + + + California Boat Mfg. Co. + + + + + Cargile, Inc. + + + + + Carolina Cat + + + + + Calkins + + + + + Cobia Boat Co. + + + + + Texas Marine International, Inc.(Chrysler Boat Corp.) + + + + + Cee Bee Mfg. Co.(Lynwood, CA) + + + + + Corson Boat Co (Madison, ME) + + + + + Central Boat Works, Inc. + + + + + Craft Boat Works + + + + + Chris Craft (Algonac, MI) + + + + + Chris Craft (Sarasota, FL) + + + + + Chris Craft (Bradenton, FL) + + + + + Chris Craft + + + + + Chris Craft (Pompano, FL) + + + + + Chris Craft + + + + + Collinscraft, Inc. + + + + + Hobie Cat (Coast Catamaran Corp.) + + + + + Chris Craft (Swansboro, NC) + + + + + OMCCC Inc. (Swansboro, NC) + + + + + Chris Craft Roamer (Holland, MI) + + + + + Chris Craft (Gallipolis, OH) + + + + + Chris Craft (Fiumicino, Italy) + + + + + Chris Craft (Goshen, IN) + + + + + Cruise Boats, Inc. + + + + + C & C Yachts Inc. + + + + + Craig Catamaran Corp. (Orlando, FL) + + + + + Carver Boat Corp. (Cabral Boats) + + + + + Century Boat Co. + + + + + Blackhawk Canoe Co., Inc. + + + + + Centurian Boats, Inc. + + + + + Colorado Custom Design, Ltd. + + + + + Cole Boats (Cole Marine) + + + + + Custom Fiberglass Products + + + + + Columbia Fiberglass + + + + + Cacci Craft, Inc. + + + + + Cobra Mfg. Co. + + + + + California Homemade Boats + + + + + Collins Craft, Inc. + + + + + Islander Marine (Winter Garden, FL) + + + + + Crown Custom Fiberglass + + + + + General Marine Industries(Panama City, FL) + + + + + Challenger Boat, Inc. (ChallengerEnterprises) + + + + + Triton Custom Boats (Charger CustomBoats) + + + + + Checkmate Boats, Inc.(Bucyrus, OH) + + + + + Critchfield Marine, Inc. + + + + + Cheetah Boat Mfg., Inc. + + + + + Challenger Boat Works(Orlando, FL) + + + + + Culver-Chelle, Inc. + + + + + California Rivers (Geyserville, CA) + + + + + Chaparrel Marine Products + + + + + Carrera Boats + + + + + Cherokee Boat Co. + + + + + Concord Boat Corp. (Sherwood, AR) + + + + + Cape Craft Ltd. (St. James City, FL) + + + + + Classic Boat, Corp. + + + + + Caldwell High Perf. Boats(Pasco, WA) + + + + + Clark Boat Co. + + + + + Clipper Marine Corp. + + + + + Colorado Homemade Boats + + + + + Crosby Marine Engr Corp. + + + + + Custom Marine (Savannah, GA) + + + + + Cougar Marine, Inc. (N. Miami Beach,FL) + + + + + Camp Ways, Inc. + + + + + Carolina Boat Co. + + + + + Centark Industries, Inc. + + + + + Conroy Industries + + + + + The Coleman Co., Inc. (Wichita, KS) + + + + + Coronet Boats of North America + + + + + Classic Boats (Lindenhurst, NY) + + + + + Commander Boats + + + + + Hyundai Corp. + + + + + COOIBEE (Navy Canoe) + + + + + Caterpillar Boat Works + + + + + Cypress Shores Fabric (Florence, AL) + + + + + The Coleman Co., Inc. (New Braunfels, TX) + + + + + Campagna Fiberglass + + + + + Capri Sailboats + + + + + Cuda Craft + + + + + Custom Craft Unlimited + + + + + Cerne Marine + + + + + AMF Crestliner (Crestliner Div.) + + + + + Robalo Sport Fish Boat + + + + + Cruisers Div. (Mirro Marine Div.) + + + + + Cigarette Racing Team + + + + + Crews Craft, Inc. + + + + + Classic Boat, Inc. + + + + + Coastal Recreation (Aquarius Div. ofLaguna Yachts) + + + + + Correct Craft, Inc. + + + + + Answer Marine (Continental Boat Co.) + + + + + Catalina Yachts + + + + + Connecticut Homemade Boats + + + + + Custom Fiberglass + + + + + Cub Craft + + + + + Custom Marine + + + + + Catalina Boat Mfg. + + + + + Contender Custom Boats + + + + + Custom Marine (Vallejo, CA) + + + + + Custom Boat Mfg Co (St. Bernard, LA) + + + + + Condor Custom Boats + + + + + Caravelle Boat Co. + + + + + Cavalier Boats, Inc. + + + + + Coloso Boat Corp. + + + + + Storm Boats Ind. Inc. (Pompano, FL) + + + + + Crusader Custom Boats + + + + + Critchfield and Frobos Marina + + + + + Celebrity Boats Inc. + + + + + Cobra Boat Mfg., Inc. + + + + + Condor Boats + + + + + Bauteck Marine Corp.(St. Augustine, FL) + + + + + Dagger Canoe Company (Harriman, TN) + + + + + Dawson Boat Co. + + + + + Delta Dive Boats Inc.(Cape Canaveral, FL) + + + + + Dargel Boat Works (Donna, TX) + + + + + Dem-Craft Boat Co. + + + + + Dialcraft Boats + + + + + South Bay Duck Boats + + + + + Dick Clarke, Inc. + + + + + Doyle Craft + + + + + District of Columbia Homemade Boats + + + + + D & D Marine Mfg. Co.(Houston, TX) + + + + + Concepts Boats Inc. + + + + + Down East Dories + + + + + Delta Marine, Inc. + + + + + Delhi Mfg. Corp. (Delcraft) + + + + + Desoto Mfg. & Supply Co. + + + + + Deaver Custom Boat + + + + + Diversified Fiberglass Products + + + + + Dolphin Boats, Inc. (Princeton, FL) + + + + + Mossback Boat Mfg. Co. + + + + + Delco Fiberglass Products + + + + + Drifter Marine, Inc. + + + + + Tilton Boatworks Inc (JensenBeach, FL) + + + + + Diversity Lamenators, Inc. + + + + + Del-Craft (Antioch, CA) + + + + + Dolphin Boats, Inc. (Miami, FL) + + + + + Delaware Homemade Boats + + + + + Di Marco Boats + + + + + Douglass & McLeod Inc.(Grand River, OH) + + + + + Hosea Mfg. Co. + + + + + Doggett Marine Industries, Inc. + + + + + Dayton Marine Products + + + + + Donzi Marine, Inc. + + + + + Duranautic Mfg. Corp. + + + + + Duranautic, Inc. + + + + + Dana Custom Boats (Garden Grove, Ca) + + + + + C-Dory Inc. (Kent, WA) + + + + + Dolphin Canoe Co. + + + + + Bosun Marine Marketing, Inc.(Del Quay, USA, Ltd.) + + + + + Drift Craft + + + + + Dreamboat Co., Inc. + + + + + Cutler Gate (Perrine, FL) + + + + + Dolphin Boats Ltd.(North Chicago, IL) + + + + + Discovery Marine (Preble, NY) + + + + + Dorsett Marine, Inc. + + + + + Bumble Bee Boats (Tullahoma, TN) + + + + + Duracraft Boats, Inc. + + + + + Dusky Marine, Inc. + + + + + Duratech Mfg. Co. + + + + + Duroboat Mfg. Inc. + + + + + Douglas Marine Corp. (Douglas, MI) + + + + + Motion Marine (Clearwater, FL) + + + + + Davidson Motors + + + + + Associated Recreational ProductsCorp. (Playbouy Boats/Dar-VanMfg.) + + + + + Darrah Industries Inc. + + + + + Chief Mfg., Inc. (D & W Enterprises) + + + + + Fiber-Tech Products Inc. + + + + + Dixie Airboats, Inc. + + + + + Dixie Devil Mfg. Co. + + + + + Dixie Boat Works + + + + + Dixie Fiberglass Products + + + + + Dixie Marine Mfg. (Dixie Craft) + + + + + Dynamaglas Boat Co. + + + + + Dyercraft Boats (The Anchorage, Inc) + + + + + Karelsen Custom Boats + + + + + Explorer Boat & Canoe Co. + + + + + Ebko Industries + + + + + Eastern Boat Works + + + + + Bell Yachts (Destin, FL) + + + + + Cane Cutter, Inc. (Ed Cain, Inc., &Rigid Plastics, Inc.) + + + + + Page Powerboat Inc. (Gallatin, TN) + + + + + Egg Harbor Boat Co. + + + + + Eagle Mfg., Inc. + + + + + Cantrell Marine (Little Rock, AR) + + + + + Marlin Boats, Inc. (PerformerFiberglass Products) + + + + + Eliminator Boats + + + + + Eldo Craft Boat Co. + + + + + Elite Boats + + + + + Elgin + + + + + Elco Marine (Santa Ana, CA) + + + + + Eli Laminates Co., Inc. + + + + + Caribe Inflatable USA Inc(Miami, FL) + + + + + Enterprise Mitchell Co. + + + + + Eagle Marine Boat Mfg., Inc. + + + + + Enterprise Boats, Inc. + + + + + Ensign Yachts + + + + + ECO Products + + + + + Easy Rider Fiberglass + + + + + Ericson Yachts Inc(Irvine, California) + + + + + Eskay Plastics, Ltd. + + + + + Duckworth Boat Company + + + + + Randall Craft, Inc. + + + + + Ebbtide Corp. + + + + + East Tex Fiberglass Products + + + + + Edwards Boats & Tanksort Pierce, FL) + + + + + BENNINGTON MARINE CORP; ELKHART, INDIANA + + + + + Eagle Trawler Yachts + + + + + Envision Boats, Inc. (Monmouth, IL) + + + + + Eckler Watersports (Titusville, FL) + + + + + WALKER BAY BOATS, INC. + + + + + Exclusive Enterprises + + + + + Expoerts International(San Francisco, CA) + + + + + Astro Plastics Corp. (Excello Corp.) + + + + + Executive Boats + + + + + Ezy-Ryder Corp. (Clanton, AL) + + + + + Bruce Faer (Dunwoody, GA) + + + + + Fabuglass Co., Inc. + + + + + Sparkman Marine (Saugus, CA) + + + + + Quality Fabricators of Franklin,Inc. + + + + + Formosa Boat Building Co. + + + + + H & H Fiberglass, Inc.(Jim Henderson Mfg.) + + + + + Carsten Industries Inc.(Melrose, MN) + + + + + Fiber-Form (Div. of Bayliner Marine) + + + + + US Industries, Inc. (Fiberform) + + + + + Fiberking Boat Co. (Fiberking, Inc.) + + + + + Fantasy Boats Inc. (Glassport, PA) + + + + + Florida Bay Coaster Co (Green CoveSprings, FL) + + + + + Diversified Products (ForesterBoats, Inc.) + + + + + Fiber-Cell, Inc. + + + + + Falcon Boats of California + + + + + Fibercraft Mfg. Co. + + + + + Falcon Boats, Inc. + + + + + Freeland Manufacturing(Cape Coral, FL) + + + + + Feathercraft + + + + + Franklin Fiberglass (Eutis, FL) + + + + + F & F Boat Co. + + + + + Fiberglass Fabric, Inc. (ChaparralBoats, Inc.) + + + + + Fiberglass Unlimited + + + + + Cobalt Boats + + + + + Fountain Powerboats Inc. + + + + + Offshore Performance Industries,Inc. + + + + + F. A. McCullough, Inc. + + + + + Centurian Boats + + + + + Fiber Sport Inc. (Amory, MS) + + + + + Folbot Corp. + + + + + Flying Dutchman + + + + + Felt Industries, Inc. + + + + + Flagship Yacht Sales, Inc. + + + + + Florida Homemade Boats + + + + + Fisher Marine, Inc.(Topeka, IN) + + + + + Boston Whaler Multihull(Formulae Racing Sailboats) + + + + + FM Marine + + + + + Flare Marine Inc. (Lake Wales, FL) + + + + + Formall Plastics, Inc. + + + + + California Sport Boats(Newport Beach, CA) + + + + + Frost Marine + + + + + Kurtis Kraft Boats + + + + + Feather River Boat Co.(Yuba City, CA) + + + + + Fiber Steel Corp. + + + + + Four Star Fiberglass Corp.(Hallendale, FL) + + + + + Fish -N- Ski + + + + + Fiber Skiff, Incorporated + + + + + Fishmaster + + + + + Fiberglass Sales and Products + + + + + Fury Boats (Fury Speed and Marine) + + + + + Far West Marine Service + + + + + Four Winns (OMC) (Cadillac, MI) + + + + + Fiberglass Works + + + + + Gore Mfg. + + + + + Galaxie Boats, Inc. + + + + + Gagnier Mfg., Inc. + + + + + Galaxy Boat Mfg. Co.(Columbia, SC) + + + + + G-Cat Corporation + + + + + Aqua-Paddle + + + + + Georgia Homemade Boats + + + + + Gregor Boats (Gregor Boat Co. &W. W. Gregory) + + + + + Osagian Boats, Inc. + + + + + Grumman Allied Industries, Inc.(Grumman Boats) + + + + + Gibson Fiberglass Products + + + + + Grumman Boats Inc(Gruman-Carmichaels)(Corcoran, CA) + + + + + Galaxie Boat Works, Inc. + + + + + Glastron-Carlson + + + + + GO-DEVIL BOATS BATON ROUGE, LA + + + + + Godfrey Conveyor Co. + + + + + Golden Era Boats (Noank, CT) + + + + + General Marine Ino Inc. + + + + + Generation III, Inc. + + + + + Gigi Boat Manufacturers + + + + + G & G Boat Repair & Mfg(Hollywood, FL) + + + + + Gheenoe (Gheen Manufacturing)(Titusville, FL) + + + + + Gig Harbor Steel-Craft(Danville, IA) + + + + + Glastron Boat Co. + + + + + Gulfstream Boats, Inc. + + + + + Glasspar + + + + + Great Lake Inflatable, Inc. (GIL,Inc.) + + + + + General Marine Co. + + + + + Global Motorboat Corporation(Columbia, SC) + + + + + Greatest Marine Products ofFlorida + + + + + Glassmaster Boat Co., Inc. (GlassMaster Plastics) + + + + + Boats Unlimited Corp. (BeachcomberBoats & Glass Products Co.) + + + + + Grand Prize Boat Building, Inc. + + + + + Glassline Products, Inc. + + + + + Glas-Ply Boats, Inc. + + + + + Gazelle Products Co., Inc. + + + + + EZE Drift (Grants Pass, OR) + + + + + Genesis Powerboat Corp(Sandusky, OH) + + + + + G. R. International of Miami(Miami, FL) + + + + + Fiberstress, Inc. (Sure Cast Boats,Inc.) + + + + + Griffis & Sons Fiberglass(Starke, FL) + + + + + California Boats + + + + + Glasstream Boats + + + + + Glastex Co. + + + + + Gulfline Boats + + + + + Gulf Master + + + + + Gulf Wind Boat Co. (Geneva, AL) + + + + + Davis, George W. & Sons, Inc. + + + + + HAM Boat Works (Downers Grove, IL) + + + + + Sunshine Boats + + + + + Hallet + + + + + Hancock Boatworks + + + + + Hardin Marine (Anaheim, CA) + + + + + Hatteras Yacht Division + + + + + Hawaii Homemade Boats + + + + + Hawaiian Boats, Inc. + + + + + Holeton Boat Works + + + + + Hofeman Boat Works + + + + + Howmar Boats, Inc. + + + + + Howard Custom Boats + + + + + Harley Boat Corp. + + + + + Herters, Inc. + + + + + Hewes Marine Co. Inc. + + + + + Holmes Fiberglass Boat Co. + + + + + Higginbothan Boat Co. + + + + + Hydro Glass (Hagerstown, MD) + + + + + Hifley America Sports, Inc. + + + + + Harris Industries + + + + + Hustler Industries(Hampton Bays, NY) + + + + + Shipskills, Inc. + + + + + Haakon Boats, Ltd + + + + + Heritage Kayaks + + + + + Heritage Marine, Inc. + + + + + Master Fabricators + + + + + Hiliner Marine Corp. + + + + + Hugh McGinnis Boats + + + + + Holiday Manufacturing + + + + + Haskell Marine (San Fernando, CA) + + + + + Hondo Boats (Merced, CA) + + + + + Hans Klepper Corp. + + + + + Huckins Yacht Corp. + + + + + Hoog Boats, Inc. + + + + + Superior Hovercraft (Imperial Beach,CA) + + + + + Hy-Ryder Inc. (Tomahawk, WI) + + + + + Happy Traveler Marine + + + + + Hustler Boats + + + + + Hydro-Step Corp. + + + + + Hustler Boat Co. (Hustler Marine Co.& Hustler, Inc.) + + + + + Hydro Stream Boats + + + + + Master Enterprises, Inc. (HurstEnterprises, Inc.) + + + + + Hydra-Sports, Inc. + + + + + Custom Marine (Hot Boat Alley & MachOne Boats) + + + + + Hubbs Yacht Sales, Inc. + + + + + Valco Aluminum Boats (Hulls, Inc.) + + + + + Hunt Products, Ltd. + + + + + Hurricane Fiberglass Products Co. + + + + + Hustler Boat Co., Inc. + + + + + Hurst Enterprises, Inc. + + + + + Hustler Marine, Inc. + + + + + U. S. Hovercraft + + + + + Bonaventure Ind Inc. (Rockledge, FL) + + + + + Hollywood Enterprises, Inc. + + + + + Hydroswift Corp. (Dyna-Pac, Inc.) + + + + + Hostler Canoe + + + + + Impact Auto Sales (Red Oak, TX) + + + + + Iowa Homemade Boats + + + + + Idaho Homemade Boats + + + + + Signature Group, Inc. (The SignatureGroup) + + + + + Illinois Homemade Boats + + + + + Innovative Sports (Hudsonville, MI) + + + + + Indiana Homemade Boats + + + + + Intercoastal S E Inc. (Annapolis,MD) + + + + + Allmand Boats (John Allmand Boats,Inc.) + + + + + Jason Fiberglass + + + + + Ortiz Boat Mfg. (Westminster, CA) + + + + + Aluma-Weld (Jett Boat Company) + + + + + Jay Bee Boats + + + + + Jackson Boat Shop + + + + + Jet Boat Engineering (PerformanceEngineering) + + + + + Jet Boat Engineering of Oklahoma + + + + + Astroglass Boats (Maiden Craft &Pro Craft) + + + + + J.R. Custom Marine, Inc. + + + + + California Yachts/Carver(Tustin, CA) + + + + + Waterwerks Boat Co. + + + + + John Dory Boat Works, Inc. + + + + + Contender Boats, Inc. (J.D.Marine) + + + + + Jet Boats Inc. (Tacoma, WA) + + + + + Jet-Ster Boats (Rochester, WA)(Webb & Co.) + + + + + Glen-Coe Boat Mfg. + + + + + Jeffersons Fiberglass + + + + + Indian River Boats + + + + + Jim-Bar Co. Inc. (Manchester, FL) + + + + + Hot Sports USA Inc(Newport Beach, CA) + + + + + Foxcraft Boats, Inc. (Carbon Hill,AL) + + + + + Joel Jenkins (Decatur, GA) + + + + + J.B. Boat Co., Inc. + + + + + Jem-Craft + + + + + HMC Mfg. Co. (Port Star Boat Co.) + + + + + JRS Fiberglass Unlimited, Inc. (KonaBoats, Inc.) + + + + + J.R. Yacht Sales + + + + + Jet-Ster Boat Co. + + + + + Aqua Images Inc. + + + + + Jet-Ster Boats of Alabama + + + + + Jet-Ster Boat of Memphis + + + + + Crownline Boats Inc. + + + + + Jole Vecchi Sciomachen + + + + + Caliber 1 Boats (Anaheim, CA) + + + + + Kajun Industries, Inc. + + + + + The Roos Brothers + + + + + Kawasaki Motors Mfg (Lincoln, NB) + + + + + Kay Park Recreation Corp.(Janesville, IA) + + + + + Harris-Kayot, Inc. (Kayot, Inc.Marine Division) + + + + + Kansas Homemade Boats + + + + + Kindsvater Boats (Fresno, CA) + + + + + Invader + + + + + Kennedy Boat Co. (Lobo Boat Works &Kennedy Boat Works) + + + + + K-Craft, Inc. + + + + + Kenner Mfg. Co. Inc (Knoxville, AR) + + + + + Coastal Marine + + + + + Aggressor Boats, Inc. (CoocheeCraft/K & F Boat Co.) + + + + + Comanchee Boats + + + + + King Enterprises + + + + + Ghost Industries Inc.(Island Park, NY) + + + + + Kustom Kraft Performance Boats + + + + + Klassic Boat Company (Clebourne, TX) + + + + + Kiel Inc. (Goshen, IN) + + + + + Climate Boat Co.,Inc. + + + + + Tri-State Custom Fbgls Inc. (Bailey,NC) + + + + + K-Mac & Company (Addison, TX) + + + + + Don's Marine + + + + + Master Molders, Inc. (KingfisherFiberglass) + + + + + Sportco of Minden Inc. (Minden, LA) + + + + + K Enterprises + + + + + Kramsco Mfg., Inc. + + + + + Kustom Enterprises, Inc. + + + + + Image Boat Co. (KronenbergIndustries, Inc. + + + + + Cruisers, Inc. + + + + + Charloma Fiberglass, Incorporated(Cherryvale, KS) + + + + + Kenova Industries + + + + + KV Hydros (Winter Springs, FL) + + + + + Key West Boats Inc. (Ridgeville, SC) + + + + + Kentucky Homemade Boats + + + + + Baja Boat Co. (Sierra Boat Corp.) + + + + + Larson Boat Co. + + + + + Laguna Yachts, Inc. + + + + + Louisiana Homemade Boats + + + + + Livingston Boat Co., Inc. + + + + + Landau Boat Co. + + + + + Lucraft Boats-Labray + + + + + Landau Boat Company + + + + + Cimmarron Marine + + + + + Lyn-Craft Boat Co. + + + + + Maine Marine Co. (Lincoln Canoe Co.) + + + + + Radisson Canoes (George RossAssociation) + + + + + Small Craft, Inc. + + + + + Lee Boats + + + + + Cajun Special Boats (Lolell Ind.) + + + + + Leisure Imports, Inc. + + + + + Lake-Flite Plastics (Knoxville, TN) + + + + + Luhrs (St. Augustine, FL) + + + + + Laser Industries Inc. + + + + + Leisure Life LTD (Grand Rapids, MI) + + + + + Caddo Boat Mfg. Co., Inc. + + + + + Lorequin Marine, Inc. + + + + + Lion Mar Boat Corp. (Miami, FL) + + + + + L & M Mfg. Co. + + + + + Land -N- Craft + + + + + Lenhan Industries + + + + + Lone Star Fiberglass Co. + + + + + Mako Shark Boats (Lynch PerformanceBoats) + + + + + Leisure Products Marketing System + + + + + Laminated Products Co. + + + + + Lock Stock & Barrel (Elkhart, IN) + + + + + Ultra Boats, Inc. + + + + + Little and Upton, Inc. + + + + + Lott-Craft Boats + + + + + Luger Industries, Inc. + + + + + Lund American, Inc. + + + + + Cougar Marine, Inc. + + + + + Carl A. Lowe Industries, Inc. (LoweIndustries) + + + + + Lyn Craft Boat Co. + + + + + MacGregor Yacht Corp. + + + + + Mad River Canoe Co., Inc. + + + + + Magnum Marine + + + + + Monark Boat Co. + + + + + Crest Pontoons (Owosso, MI) + + + + + Maxum + + + + + Macs Airboats and Skiffs + + + + + Malibu Boats + + + + + Mastercraft Boat Co. + + + + + Marlin Boat Co. + + + + + Mantra Boat Co. + + + + + Magus Boat Co. + + + + + Mize Boats + + + + + Makai Boats, Inc. + + + + + Mitchell Boat Co. (Div. of WilsonProducts) + + + + + Mastercrafters Inc (Winnsboro, LA) + + + + + Marine City + + + + + Mich-Craft Corp. + + + + + McDaniel Boat Co., Inc. + + + + + Unicraft Boats (Bradenton, FL) + + + + + Maybury's Canoe Shop + + + + + River Jammer Canoe Co.(Brentwood, NH) + + + + + Michigan Homemade Boats + + + + + Middle Tennessee Fiberglass, Inc. + + + + + Maryland Homemade Boats + + + + + Meyers Industries, Inc. + + + + + Maine Homemade Boats + + + + + Molded Fiber Glass Boat (MFG Boats) + + + + + Myers Fiberglass Fabri + + + + + Mobile Fibergalss Services(Navarre, FL) + + + + + Marben Marine + + + + + Midwestern Fibergalss Products + + + + + Mike F. Shannon Co. (Witchcraft &Apache) + + + + + Glassline, Inc. + + + + + Magic Boats Inc. + + + + + Marine Group Inc. + + + + + Mike Gault Canoes + + + + + Magtex Co. (Magnum Boat) + + + + + Montgomery Ward Co. + + + + + Mirage Boat Co., Inc. + + + + + Milford Haven Marine + + + + + Mel-Hart Products, Inc. + + + + + Mariners Haven, Inc. + + + + + Miller Boats (Rockport, Texas) + + + + + Mirage Marine Corp. + + + + + Midwest Seat Mfg. Co., Inc. + + + + + Miscellanous BMA Code + + + + + Mississippi Homemade Boats + + + + + M and J Boat Co. + + + + + Dynasty Boats + + + + + Majek Boat Works + + + + + McKee Craft + + + + + Mike Butler Marine Design + + + + + Metzeler Kautschuk + + + + + Mako, Inc. + + + + + Muir Maid Boats + + + + + Melen Marine, Ltd. + + + + + Merrimack Marine, Inc. + + + + + Mohawk Mfg. Co. + + + + + Montgomery Marine Products + + + + + Muncie Metal Spinning, Inc. + + + + + Middle Bay Boats + + + + + Manning Enterprises + + + + + Borum Boats, Inc. + + + + + MANNIX PLASTICS; BOATS + + + + + Manate Marine + + + + + Manatee Marine Products, Inc. + + + + + Mannino Boats + + + + + Minnesota Homemade Boats + + + + + Modum Executive Services, Inc. + + + + + Muhlen Industries (Cincinnati, OH) + + + + + Moon Boats + + + + + Wesmor Company (Inverness, FL) + + + + + Morris Boat Shop + + + + + Ventura Wholesale, Inc. + + + + + Man-O-War Performance + + + + + Missouri Homemade Boats + + + + + Corsa Marine Ltd. (Opa Locka, FL) + + + + + Brunswick Marine Power (Topeka, KS) + + + + + Marshland Marine, Inc. + + + + + Combee Airboats, Inc. + + + + + Maelstrom Marine Inc. (Sarasota, FL) + + + + + Marquis Boat Co., Inc. + + + + + Moore Enterprises + + + + + Mirage Marine, Inc. (Palmetto, FL) + + + + + Mariah Boats + + + + + Marquis Boats, Inc. + + + + + Mako Marine, Inc. + + + + + Mirro Marine Div. (Mirrocraft &Mirro Marine) + + + + + Mariner Marine, Ltd. + + + + + Catalina Yachts/Morgan Div(Largo, FL) + + + + + Manset Marine Supply (Rockland, ME) + + + + + Massachusetts Homemade Boats + + + + + Mitsui (Miami, FL) + + + + + Mark Twain Marine Industries(West Frankfort, IL) + + + + + Team Ward Inc (Monticello, AR) + + + + + Montana Homemade Boats + + + + + Olson Co. Custom Yachts + + + + + Atlantis Fiberglass + + + + + Moravia Industries + + + + + Bobcat Boats (Gloster, LA) + + + + + Invader Boats, Inc. (Manufacturer'sWholesalers, Inc.) + + + + + Midnight Express, Inc. + + + + + Monza Marine + + + + + Tarva Custom Boats (Clovis, CA) + + + + + American Fiberlite, Incorporated + + + + + North American Boat Corp. + + + + + Naden Industries + + + + + Excalibur Marine Corp. (LightingBoats) + + + + + Norton Boat Works + + + + + National Boat Corp. + + + + + Marathon Boat Co., Inc. + + + + + Norman's Boat Shop + + + + + Nebraska Homemade Boats + + + + + North Carolina Homemade Boats + + + + + Nordic Boats + + + + + North Dakota Homemade Boats + + + + + Neodesha Plastics, Inc. + + + + + Norieaster Yachts + + + + + Newman Industries, Inc. + + + + + Noles Fiberglass Boats (WinterHaven, FL) + + + + + New Hampshire Homemade Boats + + + + + Nissan Marine & Power Products(Carrollton, TX) + + + + + New Jersey Homemade Boats + + + + + Intrepid Mfg. Co., Inc. + + + + + Fiberglass Builders, Inc. + + + + + Nitro Marine + + + + + Northside Mercury Marine (NorthsideMercury Sales/Royal AmericanNorthside) + + + + + New Mexico Homemade Boats + + + + + Nona Boat Co. + + + + + Crestliner Inc. (Little Falls, MN) + + + + + Janco Plastics + + + + + Dan Wertz + + + + + Grady-White Boats, Inc. (NationalBoat Works, Inc.) + + + + + Nuzums Marine (Los Alamitos, CA) + + + + + Navigator Yachts, Inc. (Perris, CA) + + + + + Nevada Homemade Boats + + + + + Northwest Watercraft (Salem, OR) + + + + + Newton Boats Inc. (Slidell, LA) + + + + + New York Homemade Boats + + + + + O'Brien Intl. Inc. (Redmond, WA) + + + + + Obar Marine, Inc. + + + + + Oceanic Boats + + + + + Offshore Industries + + + + + Offsounding + + + + + Ohio Homemade Boats + + + + + Oklahoma Homemade Boats + + + + + Omniboat International(Mt. Pleasant, SC) + + + + + Starline Boats, Inc. + + + + + Orca Marine & Fiberglassing, Inc. + + + + + Oregon Homemade Boats + + + + + Offshore Boat Corp. + + + + + Otter Craft, Inc. + + + + + Off Shore Yachts International + + + + + Pacemaker Corp. + + + + + Panther Airboats Corp. + + + + + Industrial Plastic Systems + + + + + Pennsylvania Homemade Boats + + + + + Pacific Northwest Designs Inc(Bellingham, WA) + + + + + Amercian Hovercraft & Sport(Anaheim, CA) + + + + + Pleasure Craft Marine EngineeringCo. + + + + + Precision Boat Works + + + + + P & D Boat Corp. + + + + + Prindle Catamarans (Surfglas, Inc.) + + + + + PEARSON YACHTS; MADISON, WISCONSIN + + + + + Performer Boat Co. + + + + + Sea-Raider Boats, Inc. + + + + + Pittsburg Fiberglass Inc.(Pittsburg, IL) + + + + + Performance Sailcraft + + + + + Progression Industries + + + + + Progressive Mfg. Co. + + + + + Pegasus Products + + + + + Phantom Boat, Inc. + + + + + Phantom Brothers, Inc. (PhantomBoat, Inc.) + + + + + Pacific Hovercraft + + + + + Phoenix Products, Inc. + + + + + Sea-Pro Boats, Inc. (Chapin, SC) + + + + + Piranha Marine + + + + + Payne's Boat Works (Milton, FL) + + + + + Novournia of North America(Proko International Ind.) + + + + + Peterson Mfg. Co. + + + + + Pro-Line Boat Co. + + + + + Pollard Enterprises, Inc. + + + + + Polaris Industries LP + + + + + Play-Craft Pontoon Co. + + + + + Polar Kraft Mfg. Co. + + + + + Precision Marine + + + + + Panther Marine Corp. + + + + + Pensacola Boat Mfg. Co. + + + + + Pioneer Boats + + + + + PFC, Inc. + + + + + Pro Advantage (Salt Lake City, UT) + + + + + Petes Plastic Boat Works(Blue Hill, ME) + + + + + Performance Plus Products + + + + + Paramount Powerboats + + + + + Powerquest Boats, Inc. + + + + + Pinch-A-Penny + + + + + Hydrotech Systems Inc (Medford, OR) + + + + + Fin and Feather Mfg. Co. + + + + + Prout USA (Baltimore, MD) + + + + + Pro Craft, Inc. + + + + + Porter Mfg., Inc. + + + + + Pearson Unlimited (Elkhorny, CA) + + + + + J Boats West (Performance & LaserSailcraft) + + + + + American Radhial (Para-TechInternational) + + + + + Privateer Mfg. Co., Inc. + + + + + Exclusive Power Boat(Hialea Gardens, FL) + + + + + Powell Lead Co. (Wallace, NC) + + + + + Power Marine Inc. (Ft. Lauderdale,FL) + + + + + Power Cat Mfg., Inc. + + + + + Pacific Water Sports (Seattle, WA) + + + + + Parker Marine Enterprise Inc.(Beaufort, NC) + + + + + Penn Yan Boats, Inc. + + + + + Python Boats + + + + + Quessy Canoes, Inc. + + + + + Supercraft Boat Mfg. (Port Alberni,BC) + + + + + Necky Kayaks Ltd. (Abbotsford, BC) + + + + + Mercury Marine (Fond du Lac, WI) + + + + + Zeppelin Technologies Inc. (Ft. Lauderdale, FL) + + + + + AMF Robalo Division + + + + + AMF Robalo (AMF Crestliner & AMFPowerboat) + + + + + Ranger Canoe Co. (Ashland, NH) + + + + + Rayson Marine (Raysoncraft) + + + + + Ray Bond Boats + + + + + Renken Boat Mfg. Co. + + + + + Rogers Custom Boats + + + + + Rich Line Boats (Richland Mfg. Co.) + + + + + Rabco Competition Marine + + + + + Rose Craft Mfr. Co. + + + + + Charger Boat Company + + + + + Sebrich Craft, Inc. + + + + + Regatta Boats + + + + + Reinell Boats, Inc. + + + + + Renegade Fiberglass In + + + + + Reed Fiberglass + + + + + Sea Core-Inwoods (Ventura, CA) + + + + + American Boat Building (Reef RoamerMarine) + + + + + Seabring Marine Ind + + + + + Roughneck Boat Co. + + + + + Sea Ranger Marine, Inc. + + + + + Hewes Boat Co. (Regal Fiberglass,Inc.) + + + + + Regal Marine Industries, Inc. + + + + + Road Basin Fiberglass + + + + + Rivers-Gilman Mould Prods. + + + + + Rochell Craft Corp. + + + + + Surf-Jet Corp. + + + + + Rhyan-Craft Boats Mfg. + + + + + Addictor Boats (Reef, Ltd.) + + + + + Riverview Marine Inc(Port Ritchie, FL) + + + + + Rhode Island Homemade Boats + + + + + Radiant Marine Corp. (Sarasota, FL) + + + + + Olympian Boats (R. J. Smith Co.) + + + + + River Lakes Manufacturing(Little Rock, AR) + + + + + Charleston Fiberglass Co. + + + + + Royal Craft Boat Co. + + + + + Reynold Fiberco, Inc. + + + + + Wood Manufacturing Co., Inc.(Forrest Wood Mfg. Co. & RangerBoats) + + + + + Rinker Boat Co., Inc. + + + + + River Queen Boats (Eutaw, AL) + + + + + Hydrocraft Inc (Scottsdale, AZ) + + + + + Rogue River Boat Shop + + + + + Robt Hammond & Associates(Austin, TX) + + + + + Goldenhawk Products (RecreationResearch) + + + + + RSB Fiberglass Forms + + + + + Bernard Rolsma & Co. (Topsfield, MA) + + + + + Charger Custom Boats (Russell Mfg.) + + + + + Bear Creek Canoe Inc (Limerick, ME) + + + + + Roberts Marine + + + + + Ruf-Maid Boat Works (Marathon, FL) + + + + + Riverside Associates (Francetown,NH) + + + + + Rivercraft Marine (Panama City, FL) + + + + + Rivermaster, Inc (Live Oak, FL) + + + + + River Runner Kayaks + + + + + Riva Yachts of Forida, Inc. + + + + + Rivera Boat, Inc. + + + + + Reaction Marine (Miami, FL) + + + + + Ryan Craft (Cape Coral, FL) + + + + + Sunray Products (Oldsmar, FL) + + + + + R & D Investments + + + + + Raven Boatworks Inc. + + + + + T. & S. Boats, Inc (White Bluff, TN) + + + + + Shew & Burnham (S Bristol, ME) + + + + + San Augustine Fiberglass Products(Ray Craft) + + + + + Tiderunner Inc. (Tacoma, WA) + + + + + Sanger Boat Mfg. + + + + + Sea Arrow Marine Corp. + + + + + Sawyer Canoe Co. + + + + + Shasta Aluminum Products + + + + + Sunbird Boat Co., Inc. + + + + + Summer Boat Co. + + + + + Spartan Boats, Inc. + + + + + Sooner Boat Mfg. Co. + + + + + American Power Boats (Seahawk BoatCorp./I.M.A. ManufactureUnlimited) + + + + + Ozark Fiberglass Products + + + + + Stauter Boat Works + + + + + Superboats, Inc. (Amityville, NY) + + + + + Scat-Craft Marine, Inc. + + + + + Sail Craft of Canada (Ile Perrot,PQ Canada) + + + + + Seacrest Marine Corp. + + + + + Scorpion Marine Inc. + + + + + Hawaiian Resources, Inc. + + + + + Starbuck Custom Boats-Products + + + + + Sport Craft, Inc. (Perry, FL) + + + + + Stowe Canoe (Stowe, VT) + + + + + Scott Boat Co., Inc. (Ankorcraft) + + + + + South Carolina Homemade Boats + + + + + Schiada Boats + + + + + Stur-dee Boat Co. + + + + + Seda Products + + + + + Sabrejets + + + + + South Dakota Homemade Boats + + + + + Sea Nymph Mfg. (Stanray Corp.) + + + + + Sea Craft, Inc. + + + + + Sunrise Enterprise (West Jordan, UT) + + + + + S.E.I. Corporation + + + + + Seajay Boats, Inc. + + + + + Sea King + + + + + Seabird Industries, Inc. + + + + + Sea Ray Boats, Inc. + + + + + Sears and Roebuck, Marine Div. + + + + + Sevylor USA, Inc. (Sevylor of NorthAmerica) + + + + + Dynaflite Mfg. Co., Inc.(Serendipity, Inc.) + + + + + Sikes Fiberglass Products(Cobbtown, GA) + + + + + Fiesta Boats + + + + + Surfside Houseboats In + + + + + Sunset Boat Co., Inc. (Silverton,OR) + + + + + Signa Corp. (Thunderbird Prods.) + + + + + Southeastern Gass Lamenators, Inc. + + + + + Shamar Glass + + + + + Shamrock Marine Division + + + + + Sherwood Industries, Inc. + + + + + Tracker Seacraft of Fl. (Tampa, FL) + + + + + Quest Aqua Prod Inc. (Spokane, WA) + + + + + Muff's Boatworks (Ponchatoula, LA) + + + + + Shark Industries, Inc. + + + + + Sea Crest Inc. + + + + + Sebring Boats (Div. of C & SEnterprises) + + + + + Sunkisst Jet Boats Mfg.(Cordova, TN) + + + + + Star Boat Co. + + + + + Dilks & Co. + + + + + Ski Boats, Inc. + + + + + Skimmar Boats + + + + + Shell Lake Boats (Div. of LundAmerican) + + + + + Sailcrafter Yacht Kits (CostaMesa, CA) + + + + + Sleek Craft Boats + + + + + AMF Slickcraft (AMF Powerboat & AMFRobalo) + + + + + Scout Boats Inc. (Summerville, SC) + + + + + Sailnetics, Inc. + + + + + Silverline, Inc. (MooreheadPlastics, Inc.) + + + + + Sea Maid + + + + + Smoker Lumber Co., Inc. + + + + + Sacramento Boat Mfg. + + + + + Snark Products, Inc. + + + + + Sing Fisher, Inc. + + + + + Collins Craft, Inc. (Santa RoseBoats-Campers) + + + + + Sundance Marine + + + + + Maritec Industires, Inc. + + + + + SEAARK BOATS; MONTICELLO, AR (SOM) USCG ASSIGNED CODE + + + + + Scorpion Power Boats + + + + + SUNSATION PERFORMANCE BOATS; ALGONAC,MI + + + + + Space Craft Boats Works, Inc. + + + + + Spectra Marine + + + + + Superior Plastics, Inc. (MarlinBoats) + + + + + Sportster Mfg. Co. + + + + + Sportsman Canoe Co. + + + + + Sportspal, Inc. + + + + + Steury Corp. + + + + + Starfire Industries + + + + + Helm Industries + + + + + Scariano Boats Inc. (New Orleans,LA) + + + + + Weeres Industries + + + + + Savage River Work (Swanton, MD) + + + + + Sea Sprite Boat Co., Inc. + + + + + Southern Star Mfg., Inc. + + + + + Sea Star Boat Co. + + + + + Somerset Boat Co. (Sumerset Marine) + + + + + S2 Yachts, Inc. + + + + + Stamas Yacht Inc. (Tarpon Springs,FL) + + + + + Skeeter Prods., Inc. (Stemco Marine) + + + + + Sterncraft Boat Co. + + + + + Saf-T-Mate, Inc. (Four Winns) + + + + + Silverton Marine Corp. + + + + + Starcraft Marine (Starcraft Co.) + + + + + Superior Plastics + + + + + Smoker-Craft (New Paris, IN) + + + + + Surfglas, Inc. (Prindle Cat) + + + + + Sutphen Marine Corp. + + + + + Stinger Boat Co. + + + + + The Stowe Canoe Co. (MansfieldCanoe) + + + + + Sea Swirl + + + + + Sidewinder of Wisconsin (SidewinderMarine, Inc.) + + + + + Switzer Craft, Inc. + + + + + Mac Industries + + + + + South Dade Boat Repair & Mfg. + + + + + Sea Vee Corp. + + + + + North American Catamarans (SolCatamarans & Tom Roland Sailboats) + + + + + Speedo Boat Inc. (Miami, FL) + + + + + Signature Marine Co. + + + + + Schucker & Associates (Cape Coral,FL) + + + + + R & R Fiberglass Co. (Stryker Boats) + + + + + Sylvan Industries, Inc. + + + + + Starboard Yacht Co. (Stuart, FL) + + + + + Shoal Runner Boats (Rolla, MO) + + + + + Spindrift Yacht (Newport, CA) + + + + + Shallow Sport Boats (Port Isabel,TX) + + + + + Tadd Manufacturing Corp(Poplar Bluff, MO) + + + + + Bell Industries (Tahiti Boats) + + + + + Jackson Corp. + + + + + Taylor Boats + + + + + Pemberton Airboats Inc(Inverness, FL) + + + + + Teels Boat Works + + + + + Tom-Boy Boat Co. + + + + + The Blue Hole Canoe Co. + + + + + Thomaston Boat Works, Inc. + + + + + T-Craft Boat Co., Inc. + + + + + Thunder Craft Boat, Inc. + + + + + Tremblay Custom Boats(Chiefland, FL) + + + + + Lazer + + + + + Tide Craft, Inc. + + + + + Steyr-Daimler-Puch of America Corp. + + + + + Trident Marine Sales, Ltd. + + + + + Shadow, Inc. (Team Majic) + + + + + Terry Bass Boat + + + + + Two Guys Fabrication (Central Point,OR) + + + + + Tide River USA Inc (Tampa, FL) + + + + + Thunder Hawk Boats (Nashville, GA) + + + + + Thunderbird Racing Technology(Portland, OR) + + + + + Boathouse, The + + + + + Sportboats Inc. (Justice, IL) + + + + + Triton Industries Inc (Lansing, MI) + + + + + Tiki Internationl + + + + + Tige Boats, Inc. + + + + + Sunset Boat Co. + + + + + The Canoe Outfitters (Birchwood, WI) + + + + + Glassmate Mfg. Co. Inc. + + + + + Tollycraft Corp. + + + + + Taft Marine, Inc. + + + + + Troller Boat Corp (Butler, PA) + + + + + Tomahawk, Inc. + + + + + Tradewinds Marine, Inc. + + + + + Talon Marine Co (Sarasota, FL) + + + + + Tom Sawyer Boats + + + + + Thompson Bros. Boat Mfg. + + + + + Thunderbird Products Corp.(North Miami, FL) + + + + + Tana Corp. + + + + + Thunderbird Products Corp.(Decatur, GA) + + + + + Tennessee Valley Fiberglass Co. + + + + + Tennessee Homemade Boats + + + + + Thomas Marine (Checotah, OK) + + + + + Cajun Persuasion Boat Bldrs.(Lafitte, LA) + + + + + Toyo-Tire and Rubber Co., Ltd. + + + + + Triple C Enterprises + + + + + Team Warlock Inc. (Corona, CA) + + + + + TPL Boats + + + + + T and P Plastics, Inc. + + + + + Trailorboats Co Inc (Sonoma, CA) + + + + + Three R Industries (Almont, MI) + + + + + Trojan Yacht Div. + + + + + NACR (North American Catamarans &Tom Roland Sailboats) + + + + + Tri-Sonic Marine Div. + + + + + The Skandia Co. (Green Cove SP, FL) + + + + + Traveller Boats (Stanry) + + + + + Explorer Yacht, Inc. (South CoastBoat Co.) + + + + + Champion Boats (The Storie Co.) + + + + + Tillotson-Pearson-Henry, Inc. + + + + + Sillinger America (Irvine, CA) + + + + + Bobby Jones Airboats (Davenport, FL) + + + + + Tim's Trailer Sails and Boats + + + + + Creek Craft Mfg. Inc. + + + + + Glasway Inc. + + + + + Viz Industries + + + + + Texas Homemade Boats + + + + + Flying Dutchman, Ltd. + + + + + Taylor Boats (Hi-Performance Marine) + + + + + Tyler Diesel Power Systems + + + + + Treasure Marine + + + + + UBM Manufacturing + + + + + Udisco, Inc. + + + + + Universal Marine Service + + + + + Murray Chris Craft (Bellingham, WA) + + + + + Quick Silver Inflatables + + + + + Maxum Marine + + + + + Bayliner Marine Corporation + + + + + Utah Homemade Boats + + + + + Valco Aluminum Boats (ValleyAluminum Boats) + + + + + Vagabond Sailboats, Inc. + + + + + Vampire Boat Corp. + + + + + Virginia Homemade Boats + + + + + Viking Boat Company + + + + + Caravell Boats Inc. (Americus, GA) + + + + + Vican, Inc. + + + + + Viking Boats (Stamton, CA) + + + + + Viking Boats (Stamton, CA) + + + + + Viking Boats (Groton, CT) + + + + + Seminole Boat Co. (Valdosta, GA) + + + + + Volunteer Corp. + + + + + Ventura Boats, Inc. + + + + + Vanguard, Inc. + + + + + Lake Raider (Camdenton, MO) + + + + + Vansant Mrine + + + + + Vermont Homemade Boats + + + + + Vivian Industries Plastics + + + + + Chrysler Boat Corp. + + + + + VIP Marine Industries + + + + + Mariah Boats, Inc. (Magnum Marine,Inc.) + + + + + Ria Yachts (Victoria Yachts, Inc.) + + + + + Waco Mfg., Inc. + + + + + Tim Wagner (Sarasota, FL) + + + + + Watercraft America, Inc. + + + + + Water Ventures(IRVINE, CA) + + + + + Westwind Boats, Inc. + + + + + Webbcraft, Inc. + + + + + White Boat Company(Baldwinville, MA) + + + + + Willard Boat Works + + + + + Equinox Boats (Louisville, TN) + + + + + Pantera Marine Inc. + + + + + Weldbilt (Alexander, AR) + + + + + Warrencraft Distributor, Inc. + + + + + Woodson + + + + + W.D. Schock (W.D. Schock MarineFiberglass) + + + + + Wreidt Custom Boats + + + + + Westbay Boat & Mfg Co (Sequin, WA) + + + + + Wellcraft Marine + + + + + Perception, Inc., (Marba Glas &William Masters) + + + + + Wenzel Fiberglass Boats + + + + + Dave Westphal Boats (Westphal Boats) + + + + + West Marine + + + + + Wilson Fiberglass Inc(Theodosia, MO) + + + + + Warrior Boats + + + + + World's Finest Product + + + + + Marian Boat Works (Anchorage, AK) + + + + + White Water Boats + + + + + Wahoo Boats Unlimited + + + + + White House + + + + + Windspeed International, Inc. + + + + + Starwing (Newport, RI) + + + + + Willie's R and D + + + + + Water Buster Inc. + + + + + Wave Industry Inc. (Dickson, TN) + + + + + Ultranautics Corp (Oxnard, CA) + + + + + Weldcraft Mfg. Inc. (Benton, AR) + + + + + Walkiki Marine + + + + + Wilderness Systems (High Point, NC) + + + + + Weldon Boats + + + + + Wolverine Marine Co. + + + + + Wilgate + + + + + Whiteline Marine Center (Blountstown, FL) + + + + + Newman Company + + + + + West Marine Products + + + + + Waitsboro Mfg. Co., Inc.(Corbin, KY) + + + + + Winner Boats + + + + + Winterport Boat Co. (Winterport, ME) + + + + + Harbour, Inc. + + + + + Washington State Homemade Boats + + + + + Wolfer Boats + + + + + Wilderness Products Co., Inc. + + + + + Winnebago Power Products(Oshkosh, WI) + + + + + Walden Paddlers Inc. (Concord, MA) + + + + + Advanced Marble System (Cocoa, FL) + + + + + Warren Craft (Hurricane & WarrenCustom Boats) + + + + + Weeres Industries (St. Cloud, MN) + + + + + Weins Salest Engineer (WSE Marine) + + + + + Windsurfing International, Inc. + + + + + West Shore Boat Co. (Hope, RI) + + + + + Wave Sports, Inc. (Steamboat Springs,CO) + + + + + Pisces Boat Co. (West Wind Boat Co.) + + + + + Kozloff Enterprises (Sales Sports,Ltd.) + + + + + Wisconsin Homemade Boats + + + + + Scandy White Boats, Inc(Blountstown, FL) + + + + + Western Aluminum Prods (Fresno, CA) + + + + + West Virginia Homemade Boats + + + + + Falcon Boats, Inc. (WI Hudson Co.,Inc.) + + + + + Inflatable Boat Center (WikingInflatables) + + + + + Watkins Yacht and Marine + + + + + Seaworthy Yachts, Inc. + + + + + Wyoming Homemade Boats + + + + + Bryant Interprises Inc(Maryville, TN) + + + + + Bahama Industries Inc (SanCarlos, CA) + + + + + Argosy Tours Service + + + + + Seminole Boat Co. (Willacoochee, GA) + + + + + Allen Marine Mfg Inc (Pomona, CA) + + + + + American International Airboat, Inc. + + + + + Maas Boat Co. (Richmond, CA) + + + + + Ozark Boat Works + + + + + Icon Boat Works, Inc. + + + + + Caribbean Yachts Inc(Ft. Lauderdale, FL) + + + + + Michael Creech (Bradenton, FL) + + + + + Carrera Powerboat Co. + + + + + Zodiac of North America + + + + + Bangor Punta Marine (O Day Corp.) + + + + + OME, Inc. + + + + + Clackacraft River Boats(Clackamus, OR) + + + + + Southeastern Plastic Tooling + + + + + Integrity Marine Corp. + + + + + Seidelmann Yachts + + + + + British Sports Hovercraft, Ltd.,(Sunrider Hovercraft) + + + + + Ocean Kayak (Ferndale, WA) + + + + + Supra Sports, Inc. + + + + + Seaway Boats, Inc. + + + + + Excel Marine + + + + + Olympic Boat Company (Gunnison, UT) + + + + + Sinbad the Sailor + + + + + Islander Yachts, Inc. + + + + + Omaha Fibergalss Co. + + + + + Tricorp Boats, Inc. (Omega BoatCorp.) + + + + + Imp Boats (Apeco Corp.) + + + + + Ouchita Mrne & Ind Corp(Arkadelphia, AR) + + + + + North American Fiberglass + + + + + Interpublic Industries (Montreal,PQ) + + + + + Adventure Boats, Inc. (Cobb, CA) + + + + + Stott Craft + + + + + Orrion Boats (Orrion Mfg., Inc.) + + + + + Coastal Marine Product + + + + + Osborn Boat-Marine, Inc. + + + + + Sabre Marine, Inc. + + + + + Ski Boats, Inc. + + + + + Supreme Industries, Inc. + + + + + Old Town Canoe Co. (Old Town, ME) + + + + + Speed Specialties Marine + + + + + Sterling Marine, Inc. + + + + + Sun Runner Marine + + + + + Sinterplast + + + + + Invader Corp. + + + + + Old Wharf Dory Co. (Wellfleet, MA) + + + + + Irwin Yacht and Marine + + + + + Commodore Yacht Corp. + + + + + Ocean Yachts Co. + + + + + Yamaha Motor Co., Ltd. + + + + + YAMA MOTOR COMPANY; JET SKIS ETC CYPRESS CALIFORNIA + + + + + Yar-Craft, Inc. + + + + + Yates Manufacturing Co. + + + + + Y & H Products (Coasta Messa, CA) + + + + + Yontech Marine USA Inc. (Dania, FL) + + + + + Seminole Marine (Havana, FL) + + + + + Yukon Inflatables USA (Soquel, CA) + + + + + Aqua Sport of Canada, Ltd. + + + + + CAMPION MARINE CORPORATION; BRITISH COLUMBIA CANADA + + + + + Alcan Products, Ltd. + + + + + Wedco Industries + + + + + D. B. R. Sports Inc.(Grandes-Piles, PQ) + + + + + Pelican International (Quebec,Canada) + + + + + Exe Fibrecraft, Ltd. + + + + + Les Voiliers Performance, Inc. + + + + + Harbor Mfg. Ltd. + + + + + Les Bateaux Peterborgh + + + + + Grand Banks Dory Works (Squamish,BC) + + + + + Kawartha Canoe Co. (LiftlockFiberglass Products) + + + + + Frontiersman Fiberglass Products + + + + + Lucat Marine Ltd (Shelter Cove/3 R's Marina) + + + + + Misty River Marine, Ltd + + + + + North American Fiberglass(London, ON) + + + + + Passarola Trading + + + + + Woodstream Corp. + + + + + York River Industries Ltd. + + + + + Altra Marine Products + + + + + Suzuki Marine + + + + + Mooney Enterprises Ltd. (Surrey,BC) + + + + + Bombardier Corporation (Wausau, WI) + + + + + + + A data type for Boat Make. + + + + + + + + + + + + + A data type for Vehicle Make for Boat Trailer. + + + + + + + + AAA Mobile Home Mfg. Co. + + + + + A.A.B. Co., Inc. + + + + + Aalite Co. + + + + + AAPEX TRAILERS, INC, CHICAGO, IL + + + + + Aardvark Co. + + + + + ALL-AMERICAN TRAILER MFG. CO., INC.; SELMA, AL + + + + + AAA Trailer Sales Mt. Pleasant, TX + + + + + AA WELDING SERVICE/CLINT R. WOODS, INC., MT. PLEASANT, TX + + + + + A-A Welding Service + + + + + Paul Abbot Co., Inc. + + + + + ABC (Aluminum Body Corp.) + + + + + ABC Coach Co. + + + + + ABC Homes + + + + + ABCO Trailer Mfg. Co. + + + + + Aberdeen Boat Trailer + + + + + ABF, INDUSTRIES, NEBRASKA + + + + + ABI Leisure Inc. + + + + + Amco Boat Trailer + + + + + A & B Trailer Mfg. Co., Inc. + + + + + Academy Mobile Home Corp. + + + + + ACCU-TEK,INC.; SHREWSBURY, MASSACHUSETTS + + + + + Ace Trailer of America + + + + + Ace Traveler Corp. + + + + + A & C Knight, Ltd. + + + + + Acme Trailer Mfg. Co. + + + + + Acro Tank Co. + + + + + Action Industries + + + + + Active Homes Corp. + + + + + Acton Mobile Industries, Inc. + + + + + Ada Horse Trailer + + + + + Addison Homes + + + + + Admiration Homes + + + + + Adams Engineering Co. + + + + + Adams Trailer Mfg. + + + + + Adspa Mobile Home + + + + + Advance Mfg. Co. + + + + + American Eagle + + + + + Aero Liner Co. + + + + + Aero Glass Boat Co. + + + + + Aeroil Products Co., Inc. + + + + + Aragon Distributing Co., Inc. + + + + + Agrolina SA Mexicali, Baha, CA + + + + + Ag-Systems, Inc. + + + + + Ag-Tronic, Inc. + + + + + Aire-Line Mobile Homes + + + + + Airflyte Mfg. Co. + + + + + Air Support Industries + + + + + Air-Flo Mfg. Co., Inc. + + + + + Air-O-Corp + + + + + Airstream Travel Trailers + + + + + Ajax Trailer Co. + + + + + A & J Industries Custom Fiberglassing + + + + + A. J. Travelute Trailer Mfg. Co. + + + + + Alabama Trailer Co. + + + + + Aladdin Trailer Co. + + + + + Alair Coach Corp. + + + + + All Around Horse Trailer + + + + + Alberta Trailer Co., Ltd. + + + + + Alcan American, Inc. + + + + + Alcoa Trailer + + + + + ALFAB INC.; TRAILERS + + + + + Alforge Metals Corp. + + + + + Aljo + + + + + All American Campers + + + + + Allied American Builders Corp. + + + + + Allied Mfg. Co. + + + + + Allied Products + + + + + Allis-Chalmers + + + + + All Lakes Trailer + + + + + All Steel Mfg. Co. + + + + + Alloy Machine Products Corp. + + + + + Alloy Trailers, Inc. + + + + + All Purpose Trailer Co., Inc. + + + + + All Star Coach, Inc. + + + + + All-State Trailer Co. + + + + + All States Trailer Co. + + + + + Allentown Brake & Wheel Service, Inc. + + + + + Al-Mac Products, Inc. + + + + + Allmand, Inc. + + + + + Alma Trailer Co. + + + + + Almac Industries, Ltd. + + + + + Alumna-Weld, Inc. + + + + + ALLEN MANUFACTURING, INC; FORT MORGAN, CO; TRAILERS + + + + + Aloha Trailer Co. + + + + + Alphine Mfg. Co. + + + + + THE ALUMINUM TRAILER COMPANY; NAPPANEE, INDIANA + + + + + Altec Industries + + + + + Aluma Craft + + + + + Aluminum + + + + + ALUTREC, INC.STE-AGATHE,QUEBEC CANADA + + + + + Aly Travel Trailer + + + + + A & M Boat Trailer + + + + + Ambassador + + + + + AMC Trailer + + + + + AMERI-CAMP; SYRACUSE, NY + + + + + A & M Coach + + + + + American Trailers, Inc. + + + + + American Beauty + + + + + American Body & Trailer Co. + + + + + American Aluminum Co. + + + + + American Coach Co. + + + + + American Duralite Corp. + + + + + American Pride Homes + + + + + American Pipe & Steel Corp. + + + + + American Trailer & Mfg. Co. + + + + + American Way Homes Corp. + + + + + Amerigo Travel Trailer + + + + + American Trailer Specialists + + + + + American Family Homes, Inc. + + + + + AMERICAN HAULER INDUSTRIES; ELKHART, IN + + + + + Ampco Mfg. + + + + + AMRAD PRODUCTS & SUPPLY (SNOWMOBILE& UTILITY TRAILERS) + + + + + Americana Mobile Homes, Inc. + + + + + Amtec Trailer + + + + + American Transportation Corp. + + + + + AMERICAN TRAVEL SYSTEMS, INC.; ELKHART, IN + + + + + Ana-Log + + + + + Anchor Homes, Inc. + + + + + Ander-Ett, Inc. + + + + + Anderson Coach Co. + + + + + Anderson Mobile Homes Mfg. Co. + + + + + Andrea Mobile Homes + + + + + Andrews Payloader + + + + + ANDERSON MANUFACTURING; CAMILLA, GA + + + + + Angelus Trailer Mfg. Co. + + + + + Anthony Co. + + + + + Anton Mfg. Co. + + + + + A-OK TRAILERS; DELAND, FL + + + + + A-1 Trailer + + + + + Apache Coach Co. + + + + + Apache Trailer Corp. + + + + + Apacheon Coach Co. + + + + + Apeco Mobile Homes + + + + + Apex Travelers, Inc. + + + + + Appleton Trailer + + + + + Apollo Homes + + + + + APPALACAIAN MFG., INC.; ELKHART, IN + + + + + Appleby Camper Trailer + + + + + Aqua Cruiser, Inc. + + + + + Aquaforge + + + + + Aqualand Trailers + + + + + Arabi Homes, Inc. + + + + + Arctic Cat + + + + + Arcos Boat Trailer + + + + + Arctic Enterprises, Inc. + + + + + American Road Equipment + + + + + Argosy Travel Trailer + + + + + Aristocrat Trailer Sales + + + + + ARISTOCRAT INDUSTRIES, INC; GOSHEN, IN + + + + + Armadillo Trailers, Inc. + + + + + ARMOR CHASSIS, LLC; RIDGELAND, SC + + + + + Armor Homes of Virginia + + + + + Armor Mobile Homes Mfg. Co. + + + + + ARMOR MOBILE TRAILERS, TRUCKS & BUSES; USED FOR MOBILE MEDICAL FACILITIES ETC. USED FOR HEALTH SCREE + + + + + American Road Trailer Camper + + + + + Arnold Travel Trailer Mfg. Co. + + + + + Arndt Trailers + + + + + AERO MANUFACTURING, INC.; SYRACUSE, INDIANA + + + + + Aros + + + + + Arrow Campers, Inc. + + + + + Arrow Motor Homes + + + + + Arrow Trailers, Inc. + + + + + Arrowhead Trailers + + + + + ARSENAL TRAILER MANUFACTURING, INC; HARRISONBURG, VA + + + + + Art James Mfg. + + + + + Artcraft of Georgia + + + + + Artcraft Mobile Homes Mfg. Co. + + + + + ARTEX FABRICATORS, LTD. LANGLES BRITISH COLUMBIA + + + + + Ashby Brothers + + + + + Ashdown Mfg. Corp. + + + + + Ashton Trailer + + + + + ASI Trailer + + + + + ASM TRAILERS; MOUNTAINBURG, AR + + + + + ASM TRAILERS; MOUNTAINBURG, AR + + + + + Aspen Camper, Inc. + + + + + Asplundh Manufacturing Div. + + + + + ASPT + + + + + Astro Mobile Homes Mfg. Co. + + + + + Athey Products Corp. + + + + + Atlantic Coast Camper + + + + + Atlantic Mobile Corp. + + + + + Atlas Division + + + + + Atlantic Mobile Sales + + + + + ATLAS SPECIALITY PRODUCTS/TRAILERS + + + + + Associated Truck & Trailer + + + + + Atwood Mobile Home + + + + + Auburn Homes + + + + + Aurora Mobile Homes + + + + + Auto Homes Industries + + + + + Auto Trailer Co. + + + + + Auto-Mate + + + + + Ava Travel Trailer + + + + + Avalair Corp. + + + + + Avalon Mobile Homes + + + + + Avco Corp. + + + + + AVENGER CORPORATION; MICHIGAN + + + + + Avion Coach Corp. + + + + + Away We Go Travel Trailer + + + + + Axle & Equipment Sales Co. + + + + + Ayr-Way Campers + + + + + Azalea Homes + + + + + A-Z MANUFACTURING; MADERA, CA + + + + + Aztec Products, Inc. + + + + + Aztec Mobile Homes + + + + + AZTEX OR AZ-TEX TRAILERS; FONTANA, CALIFORNIA + + + + + Babcock's Mobile Home Mfg. Co. + + + + + Bar-C Horse Trailer + + + + + Badger Trailer Co. + + + + + Baillies Tri-R Welding + + + + + Baker Equipment & Engineering Co. + + + + + Baker Trailer & Body Co. + + + + + Baldwin Enterprises + + + + + BaleMuvr + + + + + Balko, Inc. + + + + + Ballien Mfg. Co. + + + + + Baltz Industries, Inc. + + + + + Bame Three Axle Trailer + + + + + Barrington Homes + + + + + Bandera Trailer + + + + + Bankhead Enterprises, Inc. + + + + + Bankhead Welding Service + + + + + Banner Homes Corp. + + + + + Bar-A-Horse Trailer + + + + + Barcraft Homes, Inc. + + + + + Barrett Trailers, Inc. + + + + + Barth Corp. + + + + + Barrentine Mfg. Co. + + + + + Barker Trailer Manufacturers, Inc. + + + + + Bartlett Trailer Corp. + + + + + Barnes Pump Drain Unit + + + + + Baron Homes, Inc. + + + + + Bartolini Chassis Trailer + + + + + Bass Trail Trailer Co., Inc. + + + + + Batavia Trailers, Inc. + + + + + Bantam Camp Trailer + + + + + Baughman Mfg. Co. + + + + + Bay Trailers + + + + + B & B Custom Built Trailers + + + + + B & B Cozy-Home + + + + + BeeBee Sales Co. + + + + + B & B Trailer Mfg., Inc. + + + + + BEACON METAL WORKS + + + + + Beachcomber Industries Ltd. + + + + + Beaird Payliner + + + + + Beall, Inc. + + + + + Bear Industrial Trailers + + + + + Beall Trans-Liner, Inc. + + + + + Beaver Trailer + + + + + Bee Bob Trailers + + + + + Beck Camping Trailer + + + + + Becker, Charles H., Inc. + + + + + Bedell Trailers + + + + + Bendix Corp. + + + + + Beechcraft Mobile Home + + + + + Beechwood Industries, Inc. + + + + + Bee-Line Travel Trailers or Mobile Homes, Inc. + + + + + Beemer & Grubb Enterprises + + + + + Beemer Trailer Mfg. & Sales + + + + + Beeat Truck Mount Camper + + + + + Bel-Aire Campers or Coaches + + + + + Bel-Aire Mobile Homes + + + + + Bell Mfg. Corp. + + + + + Belshe Trailer + + + + + Bella Casa Co. + + + + + Bellamy's Mfr. & Research Products + + + + + Bellaire Products + + + + + Bellew's Perris Balley Campers + + + + + Bell's Camp Trailers + + + + + Bell's Custom Coaches + + + + + Belvedere Mobile Homes + + + + + Benlo Co. + + + + + Benson Truck Bodies, Inc. + + + + + Berkshire Industries + + + + + Bermar Mfg. Corp. + + + + + Bertran Trailer + + + + + Betten France Transportation + + + + + Bethany Fellowship + + + + + Better Built + + + + + B.FOSTER & COMPANY, INC.; WAYNESBORO,PA + + + + + BEHNKE ENTERPRISES, INC; FARLEY, IA + + + + + BIBB WELDING & TRAILERS, LLC; MACON, GEORGIA + + + + + Biewer Industries + + + + + BIG BUBBAS; OGDEN, UTAH + + + + + Big Horn Trailer + + + + + Big Well Industries + + + + + Big Tex + + + + + Big Valley Trailers, Inc. + + + + + Biltmore Mobile Homes + + + + + Bilken Enterprises + + + + + Bills Welding Model Trailer + + + + + Biltrite Mobile Homes + + + + + Biltwell (or Builtwell) + + + + + Binkley Co., The + + + + + Binks Mfg. Co. + + + + + Biot Camping Trailer + + + + + Bird Engineering, Inc. + + + + + Birmingham Mfg. Co., Inc. + + + + + BAJA CUSTOM TRAILERS + + + + + BJ'S CUSTOM TRAILERS; WOODSTOCK, AL + + + + + B & J Enterprises, Inc. Sikeston, Mo + + + + + BJ Mfg. Co. + + + + + Bill James Trailer Sales + + + + + BUCK DANDY COMPANY; TEXAS + + + + + BECKHAM TRAILERS, INC.; WICHITA, KANSAS + + + + + Black Built + + + + + Black Diamond Trailer, Inc. + + + + + Blazer + + + + + Blanchard Foundry Co. + + + + + Blair Horse Trailer + + + + + Black Diamond Enterprises + + + + + Blaze Industries + + + + + Blaine's Custom Mfg. Service + + + + + Blackwell Burner Co. + + + + + Blazon Mobile Homes Corp. + + + + + Blue Gator Boat Trailer + + + + + B-Line Farm Equip. + + + + + Blitz Mfg. Co. + + + + + Blix Coach + + + + + Bulk Equipment Mfr. Inc. + + + + + BELMONT MACHINE; GORDONVILLE, PA + + + + + BLOOMER TRAILER MANUFACTURING, INC.; LAMARQUE, TX + + + + + Bloom, Inc. + + + + + BLUE RIDGE TRAILERS + + + + + Blake Trailers Star, Idaho + + + + + Bullet Trailers, Inc. + + + + + Blue Bird Body Co. + + + + + Blue Ribbon Coach Co. + + + + + Blue-Ridge Pre-Built Mobile Homes + + + + + Blue, John Co. + + + + + B.M.B. Mfg. Co. + + + + + B & M Mfg. Co. + + + + + Boat Master Trailers Ft. Myers, FL + + + + + Ben Hur + + + + + B & S Boat Trailer Mfg. Co. + + + + + Boanza Mobile Homes + + + + + Boardman Co. + + + + + Bob S Trailer + + + + + Bob Coons + + + + + Bobko, Inc. + + + + + Bobby's Custom Camper Mfg. + + + + + Bock Products, Inc. + + + + + Bo Cats, Inc. + + + + + BOERNE TRAILER MANUFACTURING; BOERNE, TX + + + + + Boise Cascade Mobile Home + + + + + Boles-Aero, Inc. + + + + + Bolinger Flatbed Trailer + + + + + Bo-Mar Mfg. Co. + + + + + Bombardier, Ltd. + + + + + Bomag Trailer + + + + + Bon-Aire Homes, Inc. + + + + + Bonanza Travel Coach, Inc. + + + + + Bond Mobile Homes, Inc. + + + + + Bonnieville Mfg. Co. + + + + + Boone Trailers, Inc. + + + + + Borg Co. + + + + + Born Free + + + + + Boatel Trailer + + + + + Boulder Trailer + + + + + Bowers Mfg. Co. + + + + + Bowie Industries Corp. + + + + + Bowman & Sons + + + + + Bowen Mobile Homes, Inc. + + + + + Bowsman Trailers + + + + + Boxer Trailer + + + + + Boyd, E.G., Trailer Co. + + + + + Boyer Industries + + + + + Braco Custom Products + + + + + Brandt Trailers, Inc. + + + + + Bradford Industries + + + + + Branstrator Engineering Corp. + + + + + Braughms Travel Trailer + + + + + Bravo Trailer + + + + + Brandywine Travel Trailer + + + + + BRAY TRAILERS; TRENTON, FL + + + + + Barco Mfg. Co. + + + + + Bear Cat Mfg., Inc. + + + + + BROWN CARGO VAN, INC.; LAWRENCE, KS + + + + + Brooks Horse Trailer + + + + + Brent Industries + + + + + Brenner Tank, Inc. + + + + + Brentwood Mobile Homes + + + + + Brewer Utility + + + + + Breeze Camping Travel Trailer + + + + + Bridge Mfg. and Equipment Co. + + + + + Brigadier Mobile Homes + + + + + Brighton Built Trailers + + + + + Bristol Homes + + + + + Bristol Mfg. Co. + + + + + Brookwood Mobile Home + + + + + BRI-MAR MANUFACTURING; CHAMBERSBURG, PA + + + + + Brandy Industries Colon, MI; white tail camping tr + + + + + Broadlane Homes, Inc. of Indiana + + + + + Brobts & Associates + + + + + Broadmore Mobile Homes + + + + + Brooten Fabricating, Inc. + + + + + Broyhill Co., The + + + + + Broken Arrow Mobile Home + + + + + Brooklyn Trailer + + + + + Brock Star Trailer + + + + + Brooks Brothers Trailers, Inc. + + + + + Brougham Industries, Inc. + + + + + Brown Trailer + + + + + Brown Industries + + + + + Burro, Inc. + + + + + Brute Equipment Inc. + + + + + Brae Trailers, Inc Stoughton, WI; piggyback semi-t + + + + + Bertolini Container Co. + + + + + Bear Trailers Mfg., Inc + + + + + Brunswick Travel Trailer + + + + + BROWARD TRAILER; OAKLAND PARK, FL + + + + + Busse Brown Trailer + + + + + BRADTEC, LTD.; DERBY, KS + + + + + Buccaneer Mobile Homes + + + + + Bucita Pop Top Trailer + + + + + Buck Camper Co. + + + + + Buckeye Mobile Homes, Inc. + + + + + Buckeye Flatbed Trailer + + + + + Bucko, Inc. + + + + + Buckskin Trailer Mfg. Co. + + + + + Budd Co. Trailer Division, The + + + + + Buddy Mobile Homes, Inc. + + + + + Budger Mfg. Co. + + + + + Buck Dragster Flatbed + + + + + Budson Knobby Flatbed Trailer + + + + + Buhl Machine Works + + + + + Built Rite Trailer + + + + + Bulk-Hauler Trailer + + + + + Bullmobile Trailer, Inc. + + + + + BULK MANUFACTURING COMPANY; PLANT CITY, FLORIDA + + + + + Bunton Co. + + + + + Bunyan, Paul Co. + + + + + Burch Trailer + + + + + Burkeen Equipment & Supply Co. + + + + + Burkhart Trailer Mfg. Co. + + + + + Burlington Mfg. Co. + + + + + Burnup and Sims, Inc. + + + + + Burris Stock Trailer + + + + + Bushcraft Trailer + + + + + L.T. Butler + + + + + Butler Mfg. Co. + + + + + BEAVER CREEK ENT.; MOKENA, IL + + + + + BETTER-WAY PRODUCTS INC; INDIANA (BISSON) + + + + + B & W Homes, Inc. + + + + + Byerly Trailer & Mfg. Co. + + + + + BOYDSTUN METAL WORKS, INC. PORTLAND,OREGON + + + + + Byers Mfg. Inc. + + + + + BYSON TRAILERS + + + + + Car Caddy + + + + + Can-Car (Canadian Car Trailer Sales Div.) + + + + + CLASSIC ACQUISITIONS/CLASSIC VENTURES;HERNANDO FLORIDA + + + + + Cadet Coach Corp. + + + + + Calcinator + + + + + E. L. Caldwell & Sons + + + + + California Camper Mfg. + + + + + California Mobile Homes + + + + + Calvia Brothers Trailer Mfg. + + + + + Calkins Trailer + + + + + Callahan Engineering Co. + + + + + Callen Camper Co. + + + + + Calis Travel Trailer + + + + + Cal Trailer Manufacturing + + + + + Calumet Coach Co. + + + + + Calypso + + + + + Cambridge Homes, Inc. + + + + + Cambridge Mfg. Co., Inc. + + + + + Camp Cruiser Mfg. Co. + + + + + Camel Camper Trailer + + + + + Camp Equipment Co., Inc. + + + + + Camp Four Industries, Inc. + + + + + Cam-Pact Co., Inc. + + + + + Camp-A-While Homes Mfg. Co. + + + + + Camper City Coach Craft + + + + + Camper Corp. of America + + + + + Camper De Ville, Inc. + + + + + Campers, Inc. + + + + + Campers Unlimited + + + + + Camelot Camper Trailer + + + + + Camp-Mor, Inc. + + + + + Camp-N All Co. + + + + + Cam-O-Tel Corp. + + + + + Canadian Trailmobile Ltd. + + + + + Cane River Trailer Co., Inc. + + + + + Canoga Classic Campers + + + + + C & S + + + + + Canton Trailer Co. + + + + + Capital Industries, Inc. + + + + + Capco Flatbed + + + + + Capre Carrocerias Preconstruidas SA + + + + + Cataphote + + + + + Capitol + + + + + Capitol Trailer Coach Co. + + + + + Caprice Homes Mfrs. Co. + + + + + Capacity of Texas, Inc. + + + + + Car Camp + + + + + Caravan Industries + + + + + Carter Trailer Co., Inc. + + + + + Caravel Industries + + + + + Cardinal Industries + + + + + Care-Free Camper Mfg. Co. + + + + + Carriage, Inc. + + + + + Cardinal Homes, Inc. + + + + + Caribou Craft Pickup Camper & Trailer Mfg. Co. + + + + + Carley + + + + + Carlisle + + + + + Carma Mfg. Co. + + + + + Carolina Mobile Homes + + + + + Carolina Travel Trailers + + + + + Carrie-Craft Div. + + + + + Carry Craft Trailers + + + + + Car-Tel Corp. + + + + + Carnes Welding & Fabricating Co. + + + + + Carey Trailers, Inc. + + + + + Casa Manana Mfg. Corp. + + + + + Cascade Coach Co. + + + + + Cash Trailers, Inc. + + + + + Castle Enterprises, Inc. + + + + + Catalina Amphibious Homes + + + + + Carson Trailer Inc Carson, CA; utility trailers + + + + + Catolac Corp. + + + + + Caulkins Boat Trailer + + + + + Cavalier Homes, Inc. + + + + + Cavalier Trailer Mfg. Co. + + + + + Caveman Industries + + + + + Calvacade Industries, Inc. + + + + + C & B CUSTOM MODULAR, INC.; BRISTOL, TENNESSEE + + + + + COBRA TRAILERS, GERMANY ALFRED SPINDELBERGER + + + + + CUSTOM BUILT TRAILER AND OR CUSTOM TRILES, INC. + + + + + C. Butler Trailer Mfg. Co. + + + + + C & C DISTRIBUTORS, INC.; WINSLOW, ME + + + + + C&C MANUFACTURING & FAB + + + + + C & C TRAILERS, INC. NORMAN, OKLAHOMA + + + + + CZ Engineering, Inc. + + + + + CEI EQIPMENT COMPANY, INC. CEDAR RAPIDS, IA + + + + + Central Industries, Inc. + + + + + Centurion International, Inc. + + + + + Century Auto Body & Trailer Mfg. Co. + + + + + Centurion Travel Trailer + + + + + Certified Boat Trailer + + + + + Ceva Mfg. Co. + + + + + Custom Fab Bodies and Trailers, Inc. + + + + + Colony Factory Crafted Homes + + + + + CARGOMATE TRAILER ; CAMPING + + + + + J& L'S CARGO EXPRESS, INC.; BRISTOL, INDIANA + + + + + Challenge-Cook Brothers, Inc. + + + + + Challenger Homes, Inc. + + + + + Charger Pick-up Campers + + + + + Charmac Trailers + + + + + Chamberlin Trailers + + + + + Champion Home Builders Co. + + + + + Charlamor Corp. + + + + + Chateau Mfg. Co., Inc. + + + + + Cherne Industrial, Inc. + + + + + Cheney Weeder, Inc. + + + + + Cherokee Camper + + + + + Chevron Corp. + + + + + Cherokee Mobile Homes + + + + + Chesapeake Mobile Homes + + + + + Cheston & Eshelman Co. + + + + + Chevelle Mobile Homes, Inc. + + + + + CHEROKEE FABRICATION, INC.; OCALA, FLORIDA + + + + + Chickasha Mobile Homes + + + + + Chief Ocala Trailer Mfg. + + + + + Chief Industries + + + + + Chilton Trailer Co., Inc. + + + + + Chipmore Mfg. Co., Inc. + + + + + Chippewa Mobile Homes Corp. + + + + + Chisolm Trailers, Inc. + + + + + CHEROKEE MANUFACTURING COMPANY; SWEETWATER, TN + + + + + CHASSIS KING, LLC; CLEARWATER, FL + + + + + Challenger Trailer + + + + + Champ Horse Trailer + + + + + Chinook + + + + + Chaperalle Horse Trailer + + + + + Christianson Industries, Inc. + + + + + Cyrysler Boat Co. + + + + + Chateau Recreational Vehicle Div. + + + + + CHEETAH CHASSIS CORPORATION + + + + + CHATHAM ENTERPRISES; GEORGIA + + + + + Chukar, Inc. + + + + + Chinyuanchi Casting Corp. + + + + + CIRCLE C MANUFACTURER; LIVINGSTON, TX + + + + + CIMC HEAVY INDUSTRIES, LTD.; SHENZHEN, CHINA + + + + + Cimarron Mfg. Co. + + + + + Circle S Star Route + + + + + Circle D Trailer + + + + + Circle H Horse Trailer + + + + + Circle K Kennimore + + + + + CIRCLE M TRAILERS + + + + + Circle V Horse Trailer + + + + + Citation Travel Trailer + + + + + City Dump Trailer + + + + + City Welding & Mfg. Co. + + + + + Clapper Camper + + + + + B.M. Clark Co., Inc. + + + + + Clark Mfg. Co. + + + + + Clar-Mont Mfg. Co. + + + + + Clark Equipment Co. + + + + + Classic Trailer Mfg. + + + + + Clayton Homes, Inc. + + + + + Claxton + + + + + Clay Camper Co. + + + + + Clayton Craft + + + + + Calico Trailers + + + + + Cleveland Mfg. Co., Inc. (CMC) + + + + + Clement-Braswell + + + + + Cliff Office Trailer + + + + + Cliff Hall, Inc. + + + + + Cline + + + + + Clipper Mfg. Co. + + + + + Columbia + + + + + Colonial Flatbed Trailer + + + + + Clough Equipment Co. + + + + + CLASSIC MANUFACTURING, INC.; STURGIS, MI + + + + + Claster Trailer + + + + + Columbia Trailer Co., Ltd. + + + + + Calvade Trailer + + + + + Cleavers of Bismark + + + + + Campbell Coach Co., Inc. + + + + + CHARLESTON MARINE CONTAINERS, INC. CHARLESTON SC + + + + + Conchemco Homes Group + + + + + Cameo Travel Trailer + + + + + COM-FAB, INC; NORCROSS GEORGIA JET SKI & ATV TRAILERS + + + + + CMI Load King Elk Point, SD; commercial trailers + + + + + C-Mor + + + + + Campfire Travel Trailer + + + + + Campsite Mfg. Co. + + + + + Compact Equipment Co. + + + + + CAM SUPERLINE, INC.; GREENCASTLE, PA + + + + + CMWC Trailer Co., Inc. + + + + + CORNELIUS MANUFACTURING, INC; ELNORA IN + + + + + CONTRACT MANUFACTURERS INC ALSO KNOWN AS CM TRAILERS; MADILL, OK + + + + + Concord Products, Inc. + + + + + Conroy Industries + + + + + Constructore Trailers, Inc. + + + + + Continental Wheel & Trailer + + + + + Centreville Trailer + + + + + Conwed Trailer + + + + + Coach Craft, Inc. + + + + + Coachmen Homes Corp. + + + + + Middlebury + + + + + Coastal Trailer Corp. + + + + + Cobra Travel Trailers + + + + + Coburn Industries, Inc. + + + + + County Comfort Trailers + + + + + Cody Motorcycle Trailer + + + + + Coleman Camping Trailers + + + + + Colonial Mobile Homes Mfg. + + + + + Colony Mfg. & Sales Corp. + + + + + Colorado Mobile Homes + + + + + Colt Camper, Inc. + + + + + Columbia Mobile Homes, Inc. + + + + + Colt + + + + + Columbine Camp & Coach + + + + + Comanche Mobile Homes + + + + + Comanche Trailer Corp. + + + + + Comet Corp. + + + + + Competitive Boat Trailer + + + + + Commercial Structures + + + + + Com-Camp + + + + + Comet Construction Co. + + + + + Comet Mobile Homes + + + + + Commodore Corp. + + + + + Commercial Vehicles, Inc. + + + + + Community Homes, Inc. + + + + + Concord Mobile Homes + + + + + Concord Travelers + + + + + Conestega Mfg. Co. + + + + + Condor Motor Home + + + + + Conestoga Mobile Homes + + + + + Connell Industries, Inc. + + + + + Contempori Mobile Homes, Inc. + + + + + Consolidated Mobile Industries + + + + + Conner Industries, Inc. + + + + + Continental + + + + + Continental of Colorado, Inc. + + + + + Continental Homes, Inc. + + + + + Continental Mfg. Co., Inc. + + + + + Converto + + + + + Coose Trailer Mfg. Co. + + + + + Cook Semi Trailer + + + + + Coon Custom Coach Mfg. + + + + + Coos-Bilt Trailers + + + + + Copco Steel & Engineering + + + + + Copperstate Coach Co. + + + + + Corder Mfg. Co., Inc. + + + + + Corn Belt Manufacturing, Inc. + + + + + Corona Coach Co. + + + + + Correct Craft, Inc. + + + + + Corsair Div. + + + + + Cortez House Trailer + + + + + Corvette Travel Trailer + + + + + COREY ENTERPRISES, INC; LA GRANGE ME; COREY/REDLINE TRAILERS + + + + + Corner Utility Trailer + + + + + Cottage-Ette Mfg. + + + + + Country-Aire Travel Trailer + + + + + COUNTRY BLACKSMITH LLC + + + + + Countryside Industries, Inc. + + + + + Country Squire Travel Trailer + + + + + Courthouse Camper Trailer + + + + + Covered Wagon Trailer + + + + + Continental World Marine Mexico + + + + + Conway + + + + + Cox Trailers + + + + + Coynco Products + + + + + Coyote Mfg. Corp. + + + + + Cozad Trailer Sales + + + + + COMPTANK, CORP.; BOTHWELL ONTARIO CANADA + + + + + Charlie Perkins Trailer Company, Inc Hamshire, TX + + + + + COMPETITION TRAILERS, INC. + + + + + COMPETITIVE TRAILERS, INC.; BELLFLOWER CALIFORNIA + + + + + Camp Craft Travel Trailer + + + + + Craftmade Homes, Inc. + + + + + Crawler Trailer + + + + + CROSS COUNTRY MANUFACTURING; GREENE, NEW YORK (TRAILERS) + + + + + Connell Industries, Inc. + + + + + Cree Coaches, Inc. + + + + + Crest Mobile Homes, Inc. + + + + + Crescent Trailers, Inc + + + + + Creightons Trailer + + + + + CRAFTSMEN INDUSTRIES, INC; ST CHARLES, MISSOURI + + + + + CARGO KING, LLC; WHITE PEGEON, MICHIGAN + + + + + CARGO CRAFT, INC.; GEORGIA + + + + + CARGO PRO TRAILERS + + + + + Chris Craft Corp. + + + + + Cricket Corp. + + + + + Crimson Homes + + + + + Criterion Homes Mfg. Inc. + + + + + Carrier King Trailer + + + + + Crowley Mfg. + + + + + CAR MATE TRAILERS; LEEPER, PENNSYLVANIA + + + + + CORN PRO TRAILERS + + + + + Cross Truck Equipment Co., Inc. + + + + + Cross Hill Mobile Homes + + + + + Crossland Industries + + + + + Crown + + + + + Crossroads + + + + + Croft-INS + + + + + Crown Line + + + + + CARRON TRUCK REPAIR, LTD; GRANITE CITY ILLINOIS + + + + + Crest Trailer + + + + + Cruisaire Motor Corp. + + + + + Cruzmaster Camper + + + + + County R. V. Mfg., Inc. + + + + + Craft Weld Trailer + + + + + Crystal Welding Inc. + + + + + Circle Supreme Mfg. + + + + + CSM Manufacturing Co. + + + + + COASTAL METAL FAB, INC; TOPSHAM, ME + + + + + COASTAL MANUFACTURING CO., OR COASTAL BUILDING SYSTEMS; OFFICE TRAILERS ETC; RED LION, PA + + + + + C & S Trailer World + + + + + COR-TECH MFG., INC.; LUVERNE, MN + + + + + CENTRAL TRAILER CORP., CHICKASHA, OK + + + + + CONTRAIL INTERNATIONAL; CHICAGO, IL; GERMANY + + + + + CONSTRUCTION TRAILER SPECIALISTS, INC.; SIKESTON, MO + + + + + CUSTOM AMUSEMENT PRODUCTS, COMPANY; DOVER, FLORIDA + + + + + Custom Assembly + + + + + Cuke, Inc. + + + + + Custom King Horse Trailer + + + + + Cullip Industries + + + + + Culpepper Trailer Co. + + + + + Cumberland Coaches + + + + + CURRAHEE TRAILERS + + + + + Curtis + + + + + Custom Camper Co. + + + + + Custom Bond Mfg. Co. + + + + + Custom Coach Co. + + + + + Custom Engineering + + + + + Custom Craft Mfg. Co. + + + + + Custom Homes, Inc. + + + + + Custom Plumbing Co. + + + + + Custom Trailers, Inc. + + + + + Custom Frames, Inc. + + + + + Custom Metal works (CMW) + + + + + CAVALLO + + + + + C & V Welding and Fabricating + + + + + CWC Feather-Lite Mfg. Co. + + + + + C & W Trailers Golden, MS + + + + + Cycle Kamp, Inc. + + + + + Daco Trailer Corp. + + + + + Daffin Mfg. Co. + + + + + Dairy Equipment Co. + + + + + Dakota Mfg. Co., Inc. + + + + + Dalton, Inc. + + + + + DALTON ENTERPRISES, INC.; + + + + + Dalewood Manufacturing Co., Inc. + + + + + Damon Industries, Inc. + + + + + Dana Truck Mount Camper + + + + + Danny Boy Trailer + + + + + Dan Dee Industries, Inc. + + + + + Dandy Mobile Homes + + + + + DANZER INDUSTRIES & DANZER/MORRISON; HAGERSTOWN, MD + + + + + Darby Industries + + + + + Darcell Industries, Inc. + + + + + DARGO MANUFACTURING + + + + + Dart + + + + + Darvon Double Trailer + + + + + Davenco, Inc. + + + + + David Mfg. Co. + + + + + Dave Hicks Co., Inc. + + + + + Davenport Trailer or Mobile Home Co. + + + + + Davron Traveler, Inc. + + + + + Dawes Products Co. + + + + + DAWSON ENTERPRISES; ELKHART, IN + + + + + Day's Drydock North Webster, IN; trailers. + + + + + DOUBLE DELIGHT, INC.; ELKHART, IN + + + + + Deep South Sales Co. + + + + + DISCOUNT TRAILERS; FORT WORTH, TX + + + + + Diamond City Trailer Mfg. + + + + + Double Horse Trailer + + + + + D & D FABRICATIONS, ST LOUISS, MICHIGAN / TRAIL-TECH TRAILERS + + + + + D & D Trailer Inc. + + + + + Dean Industries, Inc. + + + + + Decamp Homes, Inc. + + + + + John Deere Trailer + + + + + DeGeest Mfg. Co. + + + + + Deico Auto Carrier Trailer + + + + + Dekco Mobile Mfg. + + + + + De-Lar, Inc. + + + + + Delhi Metal Products, Ltd. + + + + + Delmar Mfg. Co., Inc. + + + + + Delavan Trailer + + + + + Delphi Body Works, Inc. + + + + + Del Rey Industries, Inc. + + + + + Delta Homes Corp. + + + + + Delta Truck Trailer Co., Inc. + + + + + Delto Homes, Inc. + + + + + Deluxe Homes, Inc. + + + + + Demo Horse Trailer + + + + + Demco + + + + + Dempster + + + + + DENCO MANUFACTURING + + + + + Denver Trailer Supply, Inc. + + + + + Dennison Utility Trailer + + + + + De Rose Industries Inc. + + + + + Denzin & Rahn Mfg. Co., Inc. + + + + + De Soto Coach Co. + + + + + Design Intennt, Inc. + + + + + Design Structures + + + + + DRAGON ESP, LTD OR ENVIRONMENTAL SERVICE PRODUCTS; WASTE HAULING EQUIPMENT + + + + + Destiny Industries, Inc. + + + + + Detroit Trailer Co. + + + + + Dethmers Mfg. Co. + + + + + Detroiter Homes + + + + + Deville Industries, Inc. + + + + + Devil Travel Trailer + + + + + Devine's Machine & Design, Inc. + + + + + DewEze Mfg., Inc. + + + + + D & E WELDING; LYONS, GA + + + + + Diamond B + + + + + Diamond C + + + + + Diamond Mobile Home Mfg. + + + + + DIAMOND G TRAILER COMPANY /GRAHAM FABRICATIONS, INC.; PURVIS, MISSISSIPPI; MANUFACTURING HOME OF DRE + + + + + Diamond G Equipment + + + + + Diamond S + + + + + Diamond Steel Co., Inc. + + + + + Dickinson Homes, Inc. + + + + + Dickirson Equipment Corp. + + + + + Dico Co. + + + + + Didier Mfg. Co. + + + + + Dillis Trailer Mfg. + + + + + Dillon Enterprises, Inc. + + + + + Dilly + + + + + Ditch Witch + + + + + DIAMOND TRAILERS, INC; SHANDON, OH + + + + + Dively Mfg. Co. + + + + + Divco-Wayne Industries + + + + + Dixie Craft Trailers, Inc. + + + + + Dixie + + + + + DELUOPE, INC.; QUEBEC, CANADA + + + + + DM Utility Trailer + + + + + DMH Co. + + + + + DMI, Inc. + + + + + D.M. & V. Enterprises, Inc. + + + + + Dodd Mfg. Co., Inc., + + + + + Dodge Woodcraft + + + + + Doepker Industries, Ltd. + + + + + Dolan Corp. + + + + + Dolphin Homes + + + + + Don-A-Bell Homes, Inc. + + + + + Donhal, Inc. + + + + + Donnell Boat Trailer + + + + + Don May Enterprises + + + + + Dons Boat Trailer + + + + + Donahue Corp., The + + + + + Doo Snowmobile Trailer + + + + + Doolittle + + + + + Doonan Trailer Corp. + + + + + Dormi Industries, Inc. + + + + + Dorsey Trailers Inc. + + + + + Double Shuffle Mobile Home + + + + + DOUBLE D DISTRIBUTORS, INC; PINK HILL NORTH CAROLINA + + + + + Double E Trailer Mfg. + + + + + Douglas Homes, Inc. + + + + + Double J Horse Trailer + + + + + Downer Industries + + + + + Downey Sheet Metal Shop + + + + + D & P WELDING CO; DEKALB, TX + + + + + Drag Master Utility Trailer + + + + + DRAKE TRUCK BODIES; VERNON BRIDGE,PRINCE EDWARD ISLAND CANADA + + + + + DARDON, INC. + + + + + Dreamer + + + + + Dresser Industries, Inc. + + + + + Draglite Trailer + + + + + Drifter Mfg. Co. + + + + + Driftwood Homes Corp. + + + + + Drive On Trailer Mfg. + + + + + Dreamliner Trailer + + + + + DROPBOX, INC; + + + + + DRESSEN CUSTOM TRAILERS, INC.; DELL RAPIDS , SD; DCT TRAILERS + + + + + Drydock Trailer, Inc. + + + + + Super Cooker + + + + + DWS Storeway Trailer + + + + + DUTCH PARK HOMES, INC; GOSHEN, IN + + + + + Detrail Trailer + + + + + DOUBLETREE RV, LLC; LAGRANGE, INDIANA + + + + + Dual Evans Corp. + + + + + Dual-Wide, Inc. + + + + + Dude Trailer + + + + + Dugan Trailer, Inc. + + + + + Dusgo Trailer + + + + + Duke Mobile Homes + + + + + Dunbar Kapple + + + + + Dunham Mfg. Co., Inc. + + + + + DUN-RITE MANUFACTURING LLC; DENVER, CO + + + + + Dupage Coach Co. + + + + + Duplex Mill & Manufacturing Co. + + + + + Durobilt + + + + + Durcholz Trailer + + + + + Dura-Craft Mobile Homes + + + + + Duro Mobile Homes + + + + + Dutchman Manufacturing Middlebury, IN + + + + + Dutec Trailer + + + + + Dutton-Lainson Co., Mfg. Div. + + + + + Downs Clark Trailer + + + + + DOWN (2) EARTH TRAILERS OR DOWN TO EARTH TRAILERS; GEORGIA + + + + + Dynacruiser Mount Trailer + + + + + Dynaweld Trailer + + + + + East Dump Trailer + + + + + Eager Beaver Trailer + + + + + Eagle Custom Coach Mfg. Co. + + + + + Eagle Equipment + + + + + Eagle Trailer Mfg., Inc. + + + + + Easy Loader Trailer + + + + + Easy Rider Trailer + + + + + Eastern-Bilt, Inc. + + + + + Easom Engineering + + + + + Easton Car & Construction + + + + + East Se Trailer + + + + + Easy Traveler Trailer + + + + + Easyown Mfg. Co. + + + + + EAST TENNESEE TRAILERS LLC; MOSHEIM, TN + + + + + Easy Trail, Inc. + + + + + Ebony Line Products + + + + + Economy Camper Co. + + + + + ECONOLINE TRAILERS, INC.; DOUBLE SPRINGS, ALABAMA + + + + + Econo Flo Bulk Service + + + + + Ecsa Mexico; trailers + + + + + Edey & Duff + + + + + Edwards Trailer + + + + + EE-ZY Trailer Co. + + + + + EHM Mfg. Co. + + + + + Eidal International Corp. + + + + + Eight Point + + + + + Elcar Mobile Homes, Inc. + + + + + Elcona Homes Corp. + + + + + Electric Wheel Co. + + + + + El Do-Craft Boat Co., Inc. + + + + + Elder Trailer & Body + + + + + El Dorado Mfg., Ltd. + + + + + Elgin + + + + + Elite Mfg. + + + + + Eljay Mfg. Co. + + + + + ELK AUTOMOTIVE, INC; ELKHART, IN + + + + + Elkhart Mfg. Co. + + + + + Elliott Mobile Home Mfg. + + + + + Ellis Trailer Co. + + + + + Embassy Homes + + + + + Embassy Mobile Homes + + + + + Emmco Trailer + + + + + EMERSON TRAILERS, INC., FLORIDA + + + + + Empire Trailer, Inc. + + + + + Empress Industries + + + + + Energy Mfg. Co. + + + + + English Industries + + + + + En Route, Inc. + + + + + Ensenada Mobile Homes + + + + + Elkhart, Indiana + + + + + ENVASES DE ACERO, S.A. DE C.V. MEXICO; TRAILER + + + + + EQUIPMENT PRO ALSO KNOWN AS; MILRON COMPANY INC, GEORGIA + + + + + Eric Enterprises, Inc. + + + + + Erectors & Fabricators, Inc. + + + + + Erie City Welding & Spring + + + + + Erin Truck and Body Equipment + + + + + ELK RIVER MACHINE CO.; ELK RIVER, MN + + + + + Escape Trailer + + + + + Exco Boat Trailers + + + + + Escort Trailer Corp. + + + + + Esquire + + + + + Essick/Hadco Div. + + + + + Essick Trailer + + + + + Estevan Industries, Ltd. + + + + + E. D. Etnyre & Co. + + + + + EAST TEXAS LONGHORN TRAILERS LLC; EMORY, TX + + + + + John Evans Mfg. Co., Inc. + + + + + Evans-Plugge Co., Inc. + + + + + Evanston Coach Co. + + + + + Evens Trailer Mfg., Inc. + + + + + Evergreen Log Trailer + + + + + Evinrude Motors + + + + + EVERLITE , INC.; LONGVIEW, TX - FLEETRITE & OTHER MODEL OR SERIES + + + + + Excell Travel Trailer + + + + + Excalibur Trailer + + + + + Executive Industries, Inc. + + + + + EXCEL EZLOAD TTRAILERS, LLC; AMARILLO, TX + + + + + EXISS ALUMINAM TRAILERS, INC.; EL RENO, OK + + + + + Explorer Motor Home + + + + + Extend-Ell Industries + + + + + E Z Tow Manufacturing Co. + + + + + E.Z.A. Mfg. Co. + + + + + E-Z Camper (or Kamper) + + + + + E Z Haul + + + + + E-Z Loader Boat Trailer + + + + + E-Z Utiltiy Tailer + + + + + Ezzy Load Boat Trailer + + + + + FABRICATED ALLOY BUILDING CO.., LLC; COVENTRY RI + + + + + F.A.B. Mfg. Co. + + + + + Factory Outlet Trailers + + + + + Fairmont Homes, Inc. + + + + + Fairmont Steel Products + + + + + Falco Mfg. Co. + + + + + Falcon Coach Co. + + + + + Farenwald Boat Trailer + + + + + Fawn Corp. + + + + + Fayette Trailer + + + + + FECHTNER TRAILERS, ELBOW LAKE, MN + + + + + Federal Trailer Co. + + + + + Feldman Custom Trailers + + + + + Fellwon Trailer + + + + + Felps Mfg. Corp. + + + + + Ferree Trailer Corp. + + + + + Fertilizer Dealer Supply, Inc. + + + + + Feteri Mfg. Co. + + + + + Frank Fey & Co. + + + + + F & H Mfg. Co. + + + + + Fieldacre Horse Trailer + + + + + FIBERGLASS INTERNATIONAL, INC; SCHALLER, IA + + + + + Alex Fiegelson Co. + + + + + Field Office Mfg. Co. + + + + + Field & Stream + + + + + Fields Mfg. Co. + + + + + Fiesta Trailer + + + + + Fife Trailer + + + + + Figura, Mike + + + + + Finger Lakes Trailer + + + + + FIN CORPORATION; FAIRFIRLD, OH + + + + + Fireball Trailer Mfg. + + + + + First American Coach + + + + + Firestone Tire & Rubber Products + + + + + Fischer + + + + + FIVE STAR ENGINEERING + + + + + Five-K Trailer Co., Inc. + + + + + Flag Ship Boat Trailer + + + + + Flair Industries of Illinois, Inc. + + + + + Flamingo Trailer Mfg. + + + + + Flasko Mfg. Co. + + + + + Felburn Flatbed Trailer + + + + + Fleet Cap'n Trailers + + + + + Fleet-Aire Camper Co. + + + + + Fleetcraft Corp. + + + + + Flexi-Coil Ltd. + + + + + Fleetwing Mobile Homes + + + + + Fleming Mfg. Co., Inc. + + + + + Flintstone Industries + + + + + Fleming Equipment Co. + + + + + FIRST LINE REFINISHING; CORINTH, NY + + + + + SAUKE CENTRE WELDING & MACHINE WORKS, INC + + + + + Float-On of Florida + + + + + Florida Trailer Co. + + + + + FLOE INTERNATIONAL + + + + + Florida Wholesale Distributor + + + + + Florig Equipment Co., Inc. + + + + + Flote-Aire Corp. + + + + + Flow Boy, Inc. + + + + + Flying L Trailer, Inc. + + + + + Farm Shop, Inc. + + + + + FOLAND ENTERPRISES; SAN DIEGO, CA + + + + + Formaloy Flat Snowmobile Trailer + + + + + Fontaine Truck Equipment Co. + + + + + Fontenelle Homes, Inc. + + + + + Foot Hill Horse Trailer + + + + + Forte Trailer + + + + + Ford's Mobile Home Mfg. + + + + + Foreman Mfg. Co. + + + + + Foremost Mobile Home Mfg. + + + + + Forester + + + + + Forest City Industries, Inc. + + + + + Forlyn Engineering Co. + + + + + Forney Horse Trailer + + + + + Fostron's Factory Outlet Trailers + + + + + Fort Lupton Campers + + + + + Fort Smith Camper Mfg. Co. + + + + + Fortune Homes Corp. + + + + + Fost Joe Dog + + + + + Foster Flatbed Trailer + + + + + Fotografix Boat Trailers + + + + + Fountain Flatbed Trailer + + + + + Four Seasons Travel Trailer + + + + + Four Star Coach Co. + + + + + Four State Industries, Inc. + + + + + Four Winds + + + + + Four Winns + + + + + Frank Motor Homes, Inc. + + + + + Franklin Coach Co. + + + + + Franklin Homes, Inc. + + + + + Francis Travel Trailer + + + + + Freeway, Inc. + + + + + Freeway Travelers, Inc. + + + + + French Horse Trailer + + + + + Friess Trailer + + + + + FOUR H TRAILER MFG.INC; SUMNER, IA + + + + + Friendship Industries + + + + + Frolic Homes, Inc. + + + + + Frontier Homes Corp. + + + + + Frost Trailer Co. + + + + + FOREST RIVER, INC.; GOSHEN, INDIANA TRAILERS + + + + + Fruehauf Corp. + + + + + Frye + + + + + FAST LOAD; FLORIDA, BOAT TRAILERS + + + + + FASTLINE; KANSAS + + + + + Fleetwood Enterprises, Inc. + + + + + Fuller Mfg. Co. + + + + + Fulton Boat Trailer + + + + + Funliner Mfg. Co. + + + + + Funtime Camper Trailer + + + + + Fuqua Homes, Inc. + + + + + Futurama + + + + + General Amer Aero Coach + + + + + Gabriel Auto Carrier + + + + + Gad-About Trailers + + + + + Galactic Corp. + + + + + Galbreath, Inc. + + + + + Galion Manufacturing Div. (Hercules) + + + + + Gallatin Homes + + + + + Gardner, Inc. + + + + + Garway Homes, Inc. + + + + + Garwood + + + + + Gardner-Pacific-Sunrader, Inc. + + + + + Garson Flatbed Trailer + + + + + Gary Carolina Co. + + + + + Walter C. Gates + + + + + Gator Trailers Corp. + + + + + Gator Products, Inc. + + + + + G. & C. Mfg. Co. + + + + + Great Dane Trailers, Inc. + + + + + General Engines Co., Inc. + + + + + Gee-Bee-Dee Manufacturing & Supply Co. + + + + + Geer Co. + + + + + Geering Industries, Inc. + + + + + Gehl Co. + + + + + Gelt Trailers + + + + + Gem Industries, Inc. + + + + + Gemini Trailer + + + + + Gemtop + + + + + General Coach Works of Canada + + + + + General + + + + + GENERAL ENGINES CO. INC.; FLORIDA EAGER BEAVER & INTERSTATE____TRAILERS + + + + + General Trailer Co., Inc. + + + + + General Coach of Florida + + + + + General Coach Mfg. Co. + + + + + General Coach Works, Inc. + + + + + General Homes Div. + + + + + Gentry + + + + + Georgia Trailer & Equipment Corp. + + + + + Gerald Lowboy Trailer + + + + + Gerring Industries, Inc. + + + + + G & F HORSE TRAILER REPAIR; RIVERSIDE, CALIFORNIA + + + + + G & F Trailer + + + + + Ghieapy Jol Trailer + + + + + G & H Manufacturing, Inc. Arlington, TX + + + + + Giant + + + + + Osterlund, Inc. + + + + + Gibraltar Coach Mfg. Co. + + + + + Gibraltar Industries, Inc. + + + + + Giddings Machine Co., Inc. + + + + + Giles Industries, Inc. + + + + + Gilmore Trailer, Inc. + + + + + Gilson Brothers Co. + + + + + Gindy Mfg. Corp. Downingtown, Pennsylvania + + + + + Gin Ray Mfg. Co. + + + + + Girard's Mfg. Co. + + + + + Givens Mfg. Co. + + + + + Gladding Travel Trailer + + + + + Glasstite, Inc. + + + + + GREAT LAKES CARGO LLC; ELKHART, IN + + + + + Glenbrook Homes of Tennessee + + + + + Glen & Cecil Mobile Home Manufacturing & Sales + + + + + Glen Manor Homes, Inc. + + + + + Glendale Mobile Homes + + + + + Glenhill Road Machinery + + + + + Globe Fabricators, Inc. + + + + + Glider Mobile Homes Corp. + + + + + Glitsch + + + + + G & G TRAILERS; GILLIAND & GILLIAND;PRESTON GILLIAND, HALLS , TN + + + + + Glen-L Trailers + + + + + Globe Camper Mfg. + + + + + Globemaster Mobile Homes + + + + + Globestar Industries, Inc. + + + + + Glover Plastic Sprayer + + + + + GLENDALE RECREATIONLA VEHICLES; STRATHROY, ONTARIO, CANADA + + + + + Glass Stream Trailers + + + + + Glastron, Inc. + + + + + Glass-Wood Products, Inc. + + + + + GMR ENTERPRISES, INC.SULLIVAN, MO + + + + + General Marine Industries + + + + + GENERAL SHELTERS; CENTER, TX; CARGO TRAILERS ETC + + + + + GENERAL WELDING & FAB., INC. ELMA, NEW YORK + + + + + Go Corp. + + + + + Goebel Trailer Co. + + + + + Goff Mfg. Corp. + + + + + Go-Tag-Along + + + + + Go-Tel Leasing Corp. + + + + + Gold Leaf Engineering Co. + + + + + Gold Star Mobile Homes, Inc. + + + + + Golden Coach Mfg. Co. + + + + + Golden Isle Trailers, Inc. + + + + + Golden State Mobile Homes + + + + + Golden West Mobile Homes + + + + + Go-Lite, Inc. + + + + + Gonard Enterprises, Inc. + + + + + Golden Nugget Travel Trailer + + + + + Good Mfg. Co. + + + + + Gooseneck Trailer Mfg. Co., Inc. + + + + + Goodyear Camper Mfg., Inc. + + + + + Gorbett Brothers + + + + + Gore Trailer + + + + + Gorman-Rupp Company, The + + + + + GRAND PRIX TRAILER MANUFACTURING, CO.; FREDERICK, MD + + + + + Grady-White Boat Co. + + + + + Graffin Wellpoint Corp. + + + + + Gramm + + + + + Gray-Velle Mobile Homes + + + + + Great Divide Coach Mfg. + + + + + Green Boat Trailer + + + + + Gregory Mfg. Co. + + + + + Greenville + + + + + Great Lakes Mobile Homes + + + + + Greencastle Coach Co. + + + + + Gregory Trailer Sales + + + + + Grizzly Mfg. Co., Inc. + + + + + Great Lake + + + + + Green & Green Mfg. Co., Inc. + + + + + Greenhaven Mobile House Trailer + + + + + Gronewegen B.V + + + + + Great Southwest Corp. + + + + + Grumman-Olsen + + + + + GARDEN STATE CHASSIS REMANUFACTURING, INC + + + + + GOLD STAR ENTERPRISES; SIKESTON, MO + + + + + Guerdon Industries + + + + + Guidon Camper Trailer + + + + + Gulf States Mfg. Corp. + + + + + Guthrie Trailer Sales, Inc. + + + + + Gulf & Western Mfg. Co., Inc. + + + + + Gypsum Express LTD Baldwinsville, NY + + + + + Hackney & Sons, Inc. + + + + + Hadley Trailer Mfg. Co. + + + + + HADDOX QUALITY TRAILERS; OKLAHOMA + + + + + Hairgrove Industries, Inc. + + + + + Halco Co. + + + + + Hale Horse Trailer + + + + + R.D. Hall Mfg., Inc. + + + + + HAULIN TRAILERS LLC + + + + + Halliburton Co. + + + + + Hamby Co., The + + + + + Hamilton Trailer + + + + + Hamlite + + + + + Hampton Homes, Inc. + + + + + HAMPTON AMUSEMENT RIDES, LLC; MISSOURI + + + + + Hank's Mobile Home Service + + + + + Hanover + + + + + Happy Travl'r Coaches, Inc. + + + + + Harbortown Mobile Home + + + + + Harris Honker Camper Mfg. + + + + + Hardee Mfg. Co. + + + + + Harrison Trailer Mfg. Co. + + + + + Harding Trailer Co. + + + + + Hart Mobile Homes Corp. + + + + + Hartford Homes, Inc. + + + + + Harklau Industries, Inc. + + + + + Hartline Travel Trailers + + + + + Hart Mfg., Inc. + + + + + Harrington Mfg. Co., Inc. + + + + + Hartman + + + + + Harlow Travel Trailer + + + + + Haul-A-Day Trailers + + + + + Haulmark Industries, Inc. + + + + + Haulette Trailer + + + + + HAULRITE, INC.; MT. JULIET, TENNESSEE **(NOT HAULRITE OF MISSOURI VMA/BMMF)** + + + + + Haul-It-All-Flatbed Trailer + + + + + Hawkeye Camping Trailer + + + + + HAWN FREEWAY TRAILER SALES; (HAWN TRAILERS) DALLAS, TEXAS + + + + + Hawthorne Trailer + + + + + Hayes Equipment Corp. + + + + + Haynes Mfg. Co., Inc. + + + + + H & B Trailer Co. + + + + + Hudson Trailer + + + + + Hearthside Mobile Homes + + + + + Heckaman Mfg., Inc. + + + + + Heco Boat Trailer + + + + + Hed-Way, Inc. + + + + + Heil Co., The + + + + + Heilite Trailers, Inc. + + + + + Helm Mfg. Co. + + + + + Helmers Custom Coach + + + + + Henred-Fruehauf (Pty.) Ltd. + + + + + Henderson Mfg. Co. + + + + + Henslee Mobile Homes, Inc. + + + + + Herbst Brothers + + + + + Hercules + + + + + Heritage Mobile Homes + + + + + Heron Travel Campers + + + + + Herrli Industries, Inc. + + + + + Herter Snowmobile Trailer + + + + + Herzig Mfg. Co. + + + + + Hesse Corp. + + + + + HERITAGE-BY ABEL CORP ALSO SEE;FRANKLIN COACH COMPANY;NAPPANEE, ILLINOIS + + + + + Hewitt-Lucas Body Co. + + + + + Hatfield Welding & Trailer Sales, Inc. + + + + + H & H TRAILER CO. + + + + + Hi-Lo Travel Trailer + + + + + Hiawatha Mobile Homes + + + + + Hibdon Mfg. Co. + + + + + Hilbilt Mfg. Co. + + + + + High Chaparral, Inc. + + + + + Hicks + + + + + Hide-A-Way Camper + + + + + Highway Cruisers, Inc. + + + + + Highway Sleeper Corp. + + + + + Highway Trailer + + + + + Highway Trailer of Wisconsin & California + + + + + Master House + + + + + Highway Manufacturing Co. + + + + + Highway Industries + + + + + HITCH-HIKER MANUFACTURING, INC., NEW MIDDLETOWN, OH + + + + + Hillsboro Industries, Inc. + + + + + Hill Country Homes, Inc. + + + + + Hill Dump Trailer + + + + + Hill Mfg. Co. + + + + + Hillco, Inc. + + + + + Hillcrest Homes, Inc. + + + + + Hilton Mobile Homes, Inc. + + + + + Hilltopper Mfg. Corp. + + + + + Hilo Snyder Travel Trailer + + + + + Hilltop Mfg., Inc. + + + + + Hire Dump Trailer + + + + + Highstone Trailer + + + + + Hitching Rail Trailer + + + + + Hi-U-Trailer Mfg. + + + + + HI-WAY STAR, INC.; ODESSA, FL + + + + + Truck Trailer Sales & Service + + + + + Hickory King Horse Trailer + + + + + HAUL - A - FAME INC.; SALEM, OREGON + + + + + Holly Parks, Inc. + + + + + HIGH-LITE RIDES, INC.; GREER, SC + + + + + Hellwood Trailer + + + + + HM + + + + + Homemade Trailer Code (for further explanation--see Operating Manual, Part 1, Section 2.) + + + + + HME, INCORPORATED; WYOMING, MI + + + + + HOMESTEADER, INC; NEW TAZEWELL, TN + + + + + H.N.L. CORP AND OR HENRY L. LANCIANI CORP. + + + + + Hanson Camping Trailer + + + + + Holman Compressor Trailer + + + + + Hobbs Trailers + + + + + Ho-Bo Trailers + + + + + HODGES CUSTOM HAULERS; BENTON, KY + + + + + Hornet Industries, Inc. + + + + + Holsclaw Brothers, Inc. + + + + + Holden Trailer Mfg. Co. + + + + + Holiday House + + + + + Holiday Industries, Inc. + + + + + Holland Trailers + + + + + Holiday Mobile Homes + + + + + Holstein Mfg., Inc. + + + + + Holiday Royal Travel Trailer + + + + + Holiday Rambler Corp. + + + + + Holiday Trailer Sales & Mfg. Co. + + + + + Holt Trailer + + + + + Holland Camper Co. + + + + + Holva Travel Trailer + + + + + Hollywood Mobile Homes + + + + + Holly Industries (or Coach Co.) + + + + + Holmes-Craft + + + + + Holiday Marine Sales, Inc. + + + + + Homette Homes (or Corp.) + + + + + Homeway Mobile Homes + + + + + Ernest Holmes Div. + + + + + Honorbuilt Trailer Mfg. + + + + + Hooper Trailers Sales, Inc. + + + + + Hoosier Mobile Homes + + + + + Hop Cap P/U Camper Trailer + + + + + Hopkins Mfg. Corp. + + + + + Horizon Mobile Homes + + + + + Horner-Golem Co. + + + + + Hornet Flatbed Trailer + + + + + Houle Industries, Inc. + + + + + House of Architecture + + + + + House of Harmony, Inc. + + + + + Howard Mfg. Co. + + + + + Howdan Mfg. Co. + + + + + Howe Engineered Sales Co. + + + + + How-Lo Campers Co. + + + + + HARBEN, INC. + + + + + Harrell Mfr. + + + + + HARRIMAN SALES, INC.; DEKALB JCT, NEW YORK + + + + + HORSE CREEK MANUFACTURING; COOKVILLE, TX + + + + + HERITAGE CUSTOM TRAILERS; BENTON,ILLINOIS + + + + + Harmon Tank Co. + + + + + HEARTLAND TRAILER MANUFACTURING & SALES, INC.; SIKESTON, MO BARLOW TRAILERS + + + + + HORTON VANS, INC; EATONTON, GA + + + + + HORTON TRAILERS + + + + + FORCE MANUFACTURING, INC.AND/OR HARVEY; BANGOR, MAINE,NANCY HARVEY + + + + + Hus-Key Mfg., Inc. + + + + + H. & S. Mfg., Inc. + + + + + Hughes + + + + + Hullco + + + + + Humes Truck & Trailer Mfg. Co. + + + + + Hunter Custom Trailers + + + + + Huntington Distributors + + + + + Hunt's Trailer Mfg. + + + + + Huron Industries, Inc. + + + + + Hurst Trailers, Inc. + + + + + Huss Sales, Inc. + + + + + Hustler Boat Trailer + + + + + HUTCO BOAT TRAILER + + + + + Hunter Structures Trailer + + + + + HAWK TRAILERS, LLC; MANAWA, WI + + + + + H. & W. Mfg. Co. + + + + + Hyde Corp. + + + + + Hylander Utility Trailer + + + + + Hy-Line Enterprises, Inc. + + + + + Hylton Homes, Inc. + + + + + HAYSHED TRAILERS; ALBERTA CANADA + + + + + Hyster Corp. + + + + + HYDRO TEK CORP.; REDLANDS, CA + + + + + Hyundai Trailers + + + + + Iben Boat Trailer + + + + + ICL Cargo Trailer + + + + + I.D.E.C.O. + + + + + Ideal Industries + + + + + Idle-Time Cabover Camper Trailer + + + + + IRON HORSE TRAILER MANUFACTURING; TEXAS + + + + + International Jet Boats De Mexico S.A. + + + + + INTERMOUNTAIN WHOLESALE, INC.;COMMERCE CITY, CO + + + + + Impala Mobile Homes & Travel Trailers + + + + + Imperial Industries + + + + + Imperial Mobile Homes + + + + + Indies House, Inc. + + + + + Independence Products Co. + + + + + Indio Trailer Mfg. Corp. + + + + + Indian Campers, Inc. + + + + + Industrial & Municipal Engineering, Inc. + + + + + Ingerson Mfg. Co. + + + + + Inland Equipment Corp. + + + + + Inline Southwest Horse Trailer + + + + + INMAN TRAILERS; INMAN, KS + + + + + Intrapid Trailer + + + + + Insley Four Wheel Tag Trailer + + + + + Interconsult Mfg. Co. + + + + + International Coach Mfg. + + + + + INTEGRITY CUSTOM TRAILERS; R & D FABRICATION; DIV OF DF INDUSTRIES + + + + + International Industries, Inc. + + + + + International Harvester Co. + + + + + International Mobile Homes of California + + + + + Interstate Products + + + + + International Trailer Corp. + + + + + Interstate Travel Trailer + + + + + Interstate Trailers, Inc. + + + + + Invader Travel Trailer + + + + + Ioni-A-Home Mfg. Co. + + + + + IPSCO-Lambton Steel + + + + + Irabeck & Co. + + + + + IRD + + + + + IRONDOG TRAILERS + + + + + I.S.E., Inc. + + + + + INDIANA TRAILER MANUFACTURING + + + + + Jackson Trailer + + + + + Jack's Trailer Mfg. + + + + + Jaclen Mfg. Co. + + + + + Jacobsen Mobile Homes + + + + + Jack's Trailer Mfg. of Florida + + + + + Jahn Flatbed Trailer + + + + + Jalldee, Inc. + + + + + Ja-Mar Manufacturing Inc Sikeston, MO + + + + + JAMCO TRAILERS; BRUCEFIELD, ONTARIO CANADA + + + + + JAMIE'S WELDING; OKLAHOMA + + + + + Jantz Mfg., Inc. + + + + + Jarco, Inc. + + + + + Jason Mfg. + + + + + Jayco, Inc. + + + + + Jay Dee Industries + + + + + Jay-Kee Mfg., Inc. + + + + + Jay Wren Trailer + + + + + J B Enterprises + + + + + JD HANDLING SYSTEMS OR D.J.STEELE & CONSTRUCTION + + + + + Jec Ro + + + + + Jen Sell Corp. + + + + + JENNINGS TRAILERS, INC; EMORY, TEXAS + + + + + Jeraco Enterprises, Inc. + + + + + Jerrytime Camper + + + + + Jersey Trailer + + + + + Jerry's Welding Service (JWS) + + + + + Jet Stream Camping Trailer + + + + + Jewel Trailer, Inc. + + + + + J.F.W. Mfg., Inc. + + + + + Johns Corp. + + + + + Jim Dandy, Inc. + + + + + Jim & Dave's Trailer Mfg. + + + + + Jim Glo Trailers Wilcox, AZ + + + + + Jim's Trailer Shop + + + + + JINDO CORPORATION; SEOUL,SOUTH KOREA + + + + + J & J Flatbed Trailer + + + + + J.J.J., Inc. + + + + + J-J-N ENTERPRISES; SIKESTON,MO + + + + + Jerry James Trailers Sikeston, MO + + + + + J & J TRAILER MANUFACTURING OR J.D.J. TRAILER MANUFACTURING, ONTARIO, CANADA + + + + + JLM Industries, Inc. + + + + + J & L Tank, Inc. + + + + + Jimglo Trailers & Products Phoenix, AZ + + + + + Job Site Trailer + + + + + Joe's Custom Boat Trailer + + + + + Joe's Welding Service + + + + + Johnson Corp. + + + + + Johnson Motors + + + + + Johnson's Trailer Building & Repair + + + + + Joplin + + + + + Ira Jorgenson + + + + + Joshua Trailer + + + + + Joy Mfg. Co. + + + + + J & R MANUFACTURING CO., LLC; TRINITY AL. + + + + + J-Rod Trailer Co. + + + + + J.S. Mobile Homes + + + + + J.T. Ind., Ltd. + + + + + Jude Tent Trailer + + + + + Junior Camping Trailer + + + + + J & W TRAILERS; LAMAR, MO + + + + + Christie, J. W. Bill, Inc. + + + + + Johnson Welding & Steel Supply + + + + + Kal-Custom Boat Trailer + + + + + Kallio Co. + + + + + Kalyn Co. + + + + + Kamp-A-While Industries + + + + + Kampers Kabin + + + + + Kane Trailers + + + + + Kan Haul Trailer Sales + + + + + Kanzol Enterprises, Inc. + + + + + KARAVAN BOAT TRAILER + + + + + KARD CO.; RENSSELAER, INDIANA + + + + + Kari Cool Trailer + + + + + Kar-Go Metal Stamping Co. + + + + + Kar-Rite Corporation + + + + + Karson Industries, Inc. + + + + + Kartote + + + + + Kasey + + + + + Kassborth + + + + + Kaydel, Inc. + + + + + Kayout-Forester Travel Trailer + + + + + Kayot, Inc. + + + + + Kaywood Homes, Inc. + + + + + K-Bar Industries, Inc Savage, MN + + + + + KBH CORPORATION; CLARKSDALE, MS + + + + + KEARNEY TRAILERS CO.GRANDSALINE, TX + + + + + Kelley Manufacturing + + + + + C.C. Kelly & Sons + + + + + Kelson Engineering Co. + + + + + Kempf Car Hauler + + + + + Ken Trailer + + + + + Kden-Craft Products, Inc. + + + + + Kenron Corp. + + + + + Kenskill Trailer Corp. + + + + + Kentucky Mfg. Co. + + + + + Kenway Campers, Inc. + + + + + Kempter Trailer + + + + + JOHN KERR MANUFACTURING, CO. + + + + + KESLER MANUFACTURING, INC; LOYAL, WISCONSIN + + + + + Key Industries, Inc. + + + + + Keystone Trailer & Equipment Co. + + + + + Keystone Coach Mfg. Co. + + + + + Kings Highway + + + + + K & G Mfg. Co. + + + + + KIDRON; TRAILERS + + + + + Kiefer Built, Inc. + + + + + Kilgore Industries + + + + + Kill Bros. + + + + + King Fish Boat Trailer + + + + + King Homes, Inc. + + + + + King Richards, Inc. + + + + + King Trailer Co., Inc. + + + + + King-Co + + + + + Kingston Horse Trailer + + + + + Kipco + + + + + Kismet Mfg. Co. + + + + + Kit House Trailer + + + + + Kit Kamper + + + + + Klassen Homes, Ltd. + + + + + Klassic Trailer Mfg. + + + + + K Line Trailer + + + + + Klinger Products + + + + + Klimek Welding and Manufacturing Maple Lake, MN + + + + + K-Mart Camper Foldup + + + + + KMG INTERNATIONAL; TANGO TRADE NAME + + + + + K & M Mfg. Co. + + + + + Ken Craft Trailer + + + + + King Horse Trailer + + + + + Kingham + + + + + Kingsway Travel Trailer + + + + + KNL HOLDINGS, LLC;PARAGOULD, AR; PEERLESS SEMI-TRAILER + + + + + Knowles Mfg. Co. + + + + + Knox Homes Corp. + + + + + Kent Industries, Inc. + + + + + Kodiak Coach & Mfg. Co. + + + + + Koffel Machine & Metal Fabricating, Inc. + + + + + K & O MANUFACTURING CO., INC.; HULL, IA + + + + + Komfort Travel Trailer + + + + + Kompak Camping Trailer + + + + + Kon Kwest Mfg. + + + + + Kontiki Camper Trailer + + + + + Kory Farm Equipment Div. + + + + + Koster Mfg., Inc. + + + + + King of the Road Trailer Co. + + + + + Kountryaire Travel Trailer + + + + + Kozy Coach Co. + + + + + KAY PARK-REC CORP.; JANESVILLE, IA; SPPEDY BLEACHER MODEL + + + + + Krager Kustom Koach, Inc. + + + + + Kargo Trailers + + + + + Kris Kraft Mobile Homes + + + + + Kropf Mfg. Co., Inc. + + + + + Kross Kountry + + + + + Krown Camper + + + + + KRISTI TRAILER INDUSTRIES, INC; CANASTOTA, NY + + + + + Kurmann Trailer Mfg. Co. + + + + + Kustom Kraft + + + + + KUTZ FARM EQUIPMENT, INC; PINE GROVE, PA + + + + + K & K Mobile Homes + + + + + Kensington Welding & Trailer Co. + + + + + KEYSTONE RV COMPANY; GOSHEN,IN (SPRINGDALE TRAILER MODEL) + + + + + Lady Bea Trailers + + + + + La Crosse + + + + + W.E. Lacey & Sons + + + + + Lakeside Industries + + + + + Lakeland Camper & Mfg. + + + + + Lane Flatbed Trailer + + + + + Lancer Mobile Homes + + + + + Landcraft Corp. + + + + + Lane Horse Trailer + + + + + Landola Homes, Inc. + + + + + Landoll Corp. + + + + + Landmaster + + + + + Lanes Pacesetter Trailer + + + + + Landis Steel Co. + + + + + Lanheim, Inc. + + + + + LaOtto Metal Fabricating Co., Inc. + + + + + Larado Mobile Homes + + + + + Lark Trailer + + + + + Larson Machine, Inc. + + + + + Larsen Lapline Trailer + + + + + LaSalle + + + + + LaSalle Homes + + + + + L. A. Woods Co., Inc. + + + + + Lawndale Homes, Inc. + + + + + Lawrence Trailer + + + + + Layton Homes Corp. + + + + + Lazy J Horse Trailer + + + + + LEBEAU ENTERPRISES, LEXINGTON, NC + + + + + LOAD BOSS,INC/CHARLES H BURKETTS AUTORAMA INC; MANNS CHOICE.PENNSYLVANIA + + + + + LBT + + + + + LIBERTY,INC MAKER OF TRAV-A-LONG TRAILER + + + + + L-Cart, Inc. + + + + + L & D TTRAILERS , INCORPORATED; SIKESTON,MO + + + + + LOADMASTER INC; INDIANA + + + + + LOAD MAX TRAILERS, LTD.; SUMNER, TX + + + + + LOADMASTER TRAILER COMPANY, LTD. PORT CLINTON OHIO; DO NOT CONFUSE WITH LOADMASTER ELKHART INDIANA + + + + + LOAD TRAIL, INC.; SUMNER, TX + + + + + Leader Horse Trailer + + + + + Lechmere Construction + + + + + Ledwell & Son Enterprises, Inc. + + + + + Lee + + + + + Lee Coaches + + + + + L & E Enterprises + + + + + Leer, Inc. + + + + + Leesburg Div. + + + + + Leisure Craft + + + + + Leisure Home Trailer + + + + + Leisure Products, Inc. + + + + + Leland Engineering, Inc. + + + + + Lemco Tool Corp. + + + + + LEE ENTERPRISES MANUFACTURING CO., INC. ELKHART, INDIANA + + + + + Leroi + + + + + Leisure Manor, Inc. + + + + + Levco Manufacturers, Inc. + + + + + Lewaub Trailer Mfg. + + + + + Lifetime Custom Coach + + + + + Lafayette + + + + + L & G Trailer + + + + + Long Chih Industrial Co., Ltd. + + + + + LEGEND TRAILERS, INC + + + + + LONGHORN TANK & TRAILER, INC.; GRAVETTE, ARKANSAS + + + + + Liberty Coach Co. + + + + + Liberty Travel Trailers + + + + + Liberty Homes, Inc. + + + + + LIBERTY INDUSTRIES; CLAYTON, INDIANA + + + + + Little Champ Camper + + + + + Linco Trailer Home + + + + + Lieber Industries, Inc. + + + + + Light Equipment Div. (old code DAVI) + + + + + Lighter-Bilt Trailers, Inc. + + + + + Lil' Cat, Inc. + + + + + Lil'Z + + + + + Linde + + + + + Lincraft Industries + + + + + Lincoln Park Mobile Homes, Inc. + + + + + Lintzcraft Travel Trailer + + + + + Linville Horse Trailer + + + + + Linwood Mfg., Inc. + + + + + Liquid & Bulk Tank Div. + + + + + Lislet Foundries, Ltd. + + + + + Little Chum Mfg. Co. + + + + + Little Dude Trailer Co. + + + + + Little Prince Travel Trailer + + + + + Little Sport Enterprises + + + + + Littleford Brothers Inc. + + + + + Lakewood + + + + + Lloyd's Trailer Finishing + + + + + L & L Trailers + + + + + LMC + + + + + L & M Trailer Mfg. + + + + + Lance Truck Mount Camper + + + + + Lincoln Electric Co. + + + + + LA NEW INDUSTRIES, INC.; MINNESOTA + + + + + LONGHORN TRAILERS / MCKINLEY ENTERPRISES DBA (DOING BUSINESS AS) LOMGHORN TRAILERS; BAY MINETTE, AL + + + + + LEONARD ALUMINUM UTILITY BUILDINGS; UTILITY TRAILERS; MT. AIRY, NC + + + + + LONE STAR MANUFACTURING; VALLEY VIEW, TEXAS TRAILERS + + + + + LONE WOLFE + + + + + Load Rite Trailers + + + + + Load King Trailer Co. + + + + + LOCKE ENTERPRISES OF NEW YORK, INC.; LOCKE NEW YORK + + + + + Bushog/Loadcraft (Div. Allied Products Corp.) + + + + + Load Star Corp. + + + + + LOAD-EAZ Trailer Inc. + + + + + Logan Coach, Inc. + + + + + Lonaire Mfg. Corp. + + + + + Lone Star Boat Mfg. + + + + + Lonergan Corp. + + + + + F. A. Long + + + + + Longmark Mobile Homes + + + + + Lonnie's Trailer Sales + + + + + Longrun + + + + + Long Tailer Co., Inc. + + + + + Loprofile Boat Trailer + + + + + Lorak, Inc. + + + + + Lovebug Travel Trailer + + + + + Low Boy Trailer + + + + + Lowe Industries + + + + + Low Pro Custom Trailer + + + + + LORANGER ENTERPRISES, INC.; SAN ANTONIO, TX + + + + + L & S LINE MFG.; BRISTOL, TENNESSEE + + + + + LEISURE TRAVEL VANS, LTD.; MORDEN. ME + + + + + LEITCHFIELD TRUCK EQUIPMENT, INC.; LEITCHFIELD, KY + + + + + Lubbock + + + + + Luedtke Mfg., Inc. + + + + + Lufkin Trailers + + + + + Luger Industries + + + + + Lundell + + + + + Lundgreen Flatbed + + + + + Luv-It Mfg. + + + + + Luxor-Leffingwell Coach + + + + + Luxury Homes, Inc. + + + + + LONE WOLF TRAILER CO. INC.; FALKVILLE, AL + + + + + Lyncoach & Truck Co. + + + + + Lynch Manufacturing + + + + + Lynnton Mfg. Co. + + + + + MacDonald Camper Kit + + + + + McDonald Camper Kit Distributor + + + + + MacDonald's Mobile Homes + + + + + MacGregor Yacht Corp. + + + + + MAC-LANDER INC.; OSCEOLA, FL + + + + + Macoma Engineering, Inc. + + + + + Madden Trailer + + + + + Del Rio + + + + + Mays Enterprises, Inc. + + + + + Magic Tilt Trailer Mfg. Co., Inc. + + + + + Magic Touch, Inc. + + + + + Magline, Inc. + + + + + Magnolia Mobile Homes Mfg. + + + + + Magnolia Travel Trailer + + + + + Magnum Custom Trailer Mfg. Co. + + + + + Mahoning Homes, Inc. + + + + + Mai Mfg. Co. + + + + + Mark Line Industries, Inc. + + + + + Mair & Son, Inc. + + + + + Majestic Corp. + + + + + Major Way + + + + + Majestic Rides Mfg., Inc. + + + + + Mark V Trailer + + + + + Malheur Mobile Homes, Inc. + + + + + Malibu Campers + + + + + Mallard Coach Corp. + + + + + Malro USA Distributors Heber, CA + + + + + MANAC, Inc. + + + + + Mangar Co. + + + + + Mankato Mobile Homes, Inc. + + + + + MANN MADE PRODUCTS INC.; TRTAILMANN TRAILERS(TRADE NAME) + + + + + Richard Manning + + + + + Manor Homes, Inc. + + + + + Manatee Homes + + + + + Maple Leaf, Inc. + + + + + Mark Twain Mfg. Co. + + + + + Marbrough Boat Trailer + + + + + Mark Fore Vatco Industries + + + + + MARINE GROUP LLC; MURFREESBORO, TN (PRO-CRAFT) + + + + + Marietta Homes + + + + + Marine Camper Trailer + + + + + Marking Mfg. + + + + + Marshall + + + + + Marion Metal Products Co. + + + + + Marlette Homes, Inc. Marlette, Michigan + + + + + Marathon Homes Corp. + + + + + Marquette Custom Boat Trailer + + + + + Marlin Mfg. + + + + + Mars Camper Co. + + + + + Martin Trailers, Ltd. + + + + + Mar-Val Industries, Inc. + + + + + Marshfield Homes, Inc. + + + + + Mascot Homes, Inc. + + + + + Master Liner Mfg. Co. + + + + + Masterbilt Trailers, Inc. + + + + + Mastercraft + + + + + Massey-Ferguson, Inc. + + + + + Masterline Co., Inc. + + + + + Master View + + + + + Mate, Inc. + + + + + Matlock Trailer Corp. + + + + + MAUER MANUFACTURER, INC.; IOWA, TRAILERS + + + + + Maurell Trailer + + + + + Maverick Mobile Home + + + + + Maxcraft Trailer Mfg. + + + + + Maxey Mfg., Inc. + + + + + Mayfair Mobile Home + + + + + Mayco Two Wheel Trailer + + + + + Mayflower Trailers or Homes + + + + + MOBILE CONCEPTS BY SCOTTY; MT. PLEASANT, PA + + + + + Mobile International + + + + + Mobile Traveler + + + + + MCCLOSKEY BROTHERS MANUFACTURING; CANADA LIT.ONTARIO + + + + + McCain Industries + + + + + McCabe-Powers Body Co. + + + + + McCook Mfg. Co. + + + + + McClain Trailer Mfg. Co. + + + + + McCrabb Mfg., Inc. + + + + + McCoy Mfg. & Sales Co. + + + + + McCarthy Trailers + + + + + McClenny Machine Co. of Virginia, Inc. + + + + + McFarlane Mfg. Co., Inc. + + + + + John A. McKay + + + + + Mack Trailer Mfg. Co., Inc. + + + + + McNamee Coach Corp. + + + + + MCN Mobile Homes Corp. + + + + + McCollough Corporation Brookfield, MO + + + + + MECOX RESOURCES SA DE CV MEXICO + + + + + McCoy/Taylor, Inc. + + + + + McQuerry Tan Trailer + + + + + McQuerry Horse Trailer + + + + + McCord Manufacturing Co. + + + + + MID AMERICA MFG., INC.; BERTRAND, MO + + + + + MODULAR SYSTEMS INC; INDIANA + + + + + Mid States Camping Trailer + + + + + M-D Trailer Co. + + + + + Meade + + + + + MEB TRAILER SALES; WALNUT RIDGE, ARKANSAS + + + + + Mech Handling Co. + + + + + Medallion Mobile Homes + + + + + Medford Industries + + + + + Medical Coaches, Inc. + + + + + Melges Boat Works, Inc. + + + + + Melody Home Mfg. Co. + + + + + Macanismos Ensamblados S. A. De C. V. Mexico + + + + + Mercury Boat Co. + + + + + Mercury Coach Corp. + + + + + Merritt Equipment Co. + + + + + Merrimac Corp. + + + + + Mercury Trailer Industries + + + + + Merit Tank & Body + + + + + Merhow Industries + + + + + Mesa III Travel Trailer + + + + + Metal Craft Manufacturing + + + + + Metoo Travel Trailer + + + + + METAVIC TRAILERS; ST.PIERRE=BAPTISTE, QUEBEC CANADA + + + + + Metzendorf Trailer Mfg. + + + + + Metal Fabrication, Inc Winchester, TN + + + + + M.G.M., Inc. + + + + + Mgnol Tandem Boat Trailer + + + + + MONGOOSE TRAILERS; TEXAS + + + + + MGS, Inc. + + + + + M.H. Eby, Inc. + + + + + Manufactured Housing Management Corp. + + + + + Michalke Mfg. Corp. + + + + + Michigan Central Airlines + + + + + Mid-Atlantic Homes Co. + + + + + Middlesex Equipment Co. + + + + + Midway Engineering Co. + + + + + Midwest Industries, Inc. + + + + + Midland Industries, Inc. + + + + + Mid-Equipment Corp. + + + + + Midas International Corp. + + + + + Midwest Mini-Tote Co. + + + + + Midwest Mobile Homes & Trailer Mfg. Co. + + + + + Miller Electric Mfg. Co. + + + + + Millan Flatdeck + + + + + Milco Tank & Boat Co. + + + + + Miller & Smith + + + + + Miller Trailers Inc. + + + + + Miller Tilt-Top Trailer Inc. + + + + + Miley Trailer Co., Inc. + + + + + MILLER INDUSTRIES INC, OOLTEWAH, TENNESSEE + + + + + Mitchell Camper Trailer + + + + + Mitchell Industrial Tire Co., Inc. + + + + + Mitts & Merill, Inc. + + + + + MI-JACK PRODUCTS; HAZEL CREST, IL + + + + + M.J.M. Trailer Mfg., Inc. + + + + + MLBLT + + + + + MILLENIUM TRAILERS, INC. ADDISON, AL + + + + + Miller + + + + + MULTITEK, INC; PRENTICE, WI TRAILER & CONST EQUIP + + + + + M & M Mfg. Co. + + + + + MOND INDUSTRIES, INC.; MISSISSAUGA, ONTARIO, CANADA; PURCHAED BY TRAILMOBILE IN 1999; TRAILMOBILE US + + + + + MAINLINE INCORPORATED; N. TAZEWELL, VA + + + + + Monarc + + + + + Monroe Motors Inc., Wally-Mo Division Holladay, TN + + + + + Montebello Mobile Home Trailer + + + + + Montgomery, Bill + + + + + Monte Aluminum Trailer Dump + + + + + Mobilaire Mobile Homes + + + + + Mobile Chapel Trailer + + + + + Mobile Freeze + + + + + Mobile Engineering Co. + + + + + Mobile Facility Engineering Co. + + + + + Mobile Garage Mfg. Co. + + + + + Mobile Holding Corp. + + + + + Mobile Home Co. + + + + + Mobile Home Service + + + + + Mobile Mfg. Corp. + + + + + Mobile of Marysville + + + + + Mobile Office, Inc. + + + + + Mobile Products, Inc. + + + + + Mobile Scout Mfg. Corp. + + + + + Mobile Structures, Inc. + + + + + Mobile Tops, Inc. + + + + + Mobile Unit Mfg., Inc. + + + + + Mobilemanor, Inc. + + + + + Monte Carlo Mobile Homes + + + + + Mobley Metal Works + + + + + Modern Mobile Homes + + + + + Modernistic Industries + + + + + Moduline International, Inc. + + + + + Modern + + + + + MODERN, INC.TEXAS + + + + + Module, Inc. + + + + + Mohawk, Inc. + + + + + Mobile Home Industries, Inc. + + + + + Molloy Mobile Crafts + + + + + Monarch Boat Co. + + + + + Monarch Industries, Inc. + + + + + Monarch Mobile Homes + + + + + Monitor Coach Co. + + + + + Monon Trailer Div. + + + + + Mono + + + + + Monson & Sons Trailer + + + + + Montgomery Mfg. Co. + + + + + Monticlaire Mobile Homes + + + + + Montone Mfg. Co. + + + + + Moody Mfg. Co. + + + + + Morris Brothers + + + + + Morgan Mobile, Inc. + + + + + Morgan Trailer Mfg. Co. + + + + + Morse Horse Trailer + + + + + Moritz, Inc. + + + + + Moser + + + + + Motoc Semi Flatbed Trailer + + + + + Motel Mobile Corporation of America + + + + + Mo Trailer Corp. + + + + + Mount Vernon Mobile Home + + + + + Mountain Valley Enterprises + + + + + Mountain View Campers + + + + + Mountaineer Mfg. Co. + + + + + MPC Cruiser Camper Trailer + + + + + Marauder Travelers, Inc. + + + + + Mr. Ed. Boat Trailer + + + + + Marion Homes, Inc. + + + + + Marion Trailer Sales + + + + + MARINE TRANSPORTATION CO., INC.; NORWELL, MA + + + + + Marquez Mfg., Ltd. + + + + + Murray Marine Corp. + + + + + Martin Lowboy Semi Trailer + + + + + MARTINS ENTERPRISES; DONALDS, SC + + + + + Martinez Trailer + + + + + M-System, Inc. + + + + + MASTER TOW INC. FAYETTEVILLE, NC + + + + + Mississippi Tank Co., Inc. + + + + + MIGHTY MOVER TRAILERS, INC; CALIFORNIA + + + + + Maxwell Trailers & Pickup Accessories + + + + + Mastertrack + + + + + TRAILERS DE MONTERREY, S.A. NUEVO LEON, MEXICO + + + + + M.T. TRAILERS,INC; MCKINNEY,TX; MT TRAILERS,UTILITY TRAILERS + + + + + Multech Corp. + + + + + Multi Trailer + + + + + Muncy Homes, Inc. + + + + + Murray Trailers + + + + + Mustang Trailer Mfg. Inc. + + + + + Muv-All Trailer Multech Corp. + + + + + Marine Venture Enterprisers, Inc. + + + + + M & W Mfg. Co. + + + + + Martco Waste System Equipment + + + + + MAX-ATLAS EQUIPMENT INTERNATIONAL, INC.; ST-JEAN-SUR-RICHELIEU, QUBEC CANADA + + + + + Myco Industries + + + + + My-Way Corp. + + + + + Nabors Trailer, Inc. + + + + + N & Ha Mfg. Co. + + + + + Namco Industries + + + + + Nasan Trailer + + + + + Nash Mfg. + + + + + Nashua Mfg. Co. + + + + + National Mobile Homes + + + + + Nationwide + + + + + Navajo Horse Trailer + + + + + NORTHERN BAY CO. INC. ; PENOBSCOT, ME + + + + + Neal Mfg. Co., Inc. + + + + + New Bame Trailer + + + + + Neckover Trailer Mfg. Co. + + + + + NEDLAND INDUSTRIES, INC.; RIDGELAND, WI + + + + + New Holland Haybine + + + + + Nallej of Florida + + + + + Nelson-Dykes Co. + + + + + Nelson Mfg. Co. + + + + + Neosho Custom Coach Co. + + + + + Neptune Corp. + + + + + Nerco Trailer + + + + + Karl M. Neufeld + + + + + Nevada Air Products Co. + + + + + Nevadan Mfg. Co. + + + + + NEVILLE WELDING, INC., KINGMAN, KS + + + + + Nevlen Company Inc. + + + + + New Comer Industries, Inc. + + + + + New Dimension + + + + + New England Homes or Trailers + + + + + Sperry New Holland + + + + + New Yorker Homes Corp. + + + + + Newham Enterprises + + + + + Newman Trailers + + + + + Newport Homes, Inc. + + + + + New Style Homes, Inc. + + + + + New Paris Traveler Corp. + + + + + Northern Hydrolics, Inc. + + + + + Niagara Trailer Co. + + + + + Niceson Boat Trailer + + + + + Nickel & Holman + + + + + NICHOLS CUSTOM WELDING, INC., HOME OF NICHOLS TRAILERS; FARMINGTON, ME + + + + + Nimrod Tent Trailer + + + + + Nobility Homes, Inc. + + + + + Noble Cultivators Ltd. + + + + + North Country + + + + + Nodine Mfg. + + + + + Nordic + + + + + Noel Mfg. + + + + + Nolena Foster Trailer + + + + + Nomad Trailers and Mobile Homes + + + + + Nomanco, Inc. + + + + + Norcal Boat Trailer + + + + + Nordine Mfg. Co. + + + + + Norris Homes, Inc. + + + + + Norjack, Inc. + + + + + North American Mfg. Co. + + + + + North American Shipbuilding + + + + + Northern Cruisers + + + + + Norse Trailer + + + + + Northern Star Mobile Home + + + + + Northland + + + + + Northwest Trailers + + + + + Northwestern Mobile Homes + + + + + Nothsway Tandem Trailer + + + + + NOVA FABRICATING,INC.; AVON,MN + + + + + Northway Trailer + + + + + North River Homes + + + + + NORTHWOOD OF VIRGINIA INC; WINCHESTER VIRGINIA + + + + + Norwin Trailer + + + + + NU-CENTURY; MADERA, CA + + + + + Nuell Coach Corp. + + + + + NU-LIFE ENVIRONMENTAL, INC.; EASLEY, SC RECYCLING + + + + + Nuttall Trailers + + + + + Nu-Wa Campers, Inc. + + + + + NuWay Mobile Home Mfg. Co. + + + + + NUWA Horizon Camper Trailer + + + + + Northwest Custom Trailer + + + + + New McGrath + + + + + Oak Coach Co. + + + + + Oasis Travel Trailer + + + + + Oberlin Trailers, Inc. + + + + + Obrect Trailer + + + + + OCI MANUFACTURING CO.; OREGON, IL + + + + + CLASSIC MANUFACTURING,INC. OR OWENS-CLASSIC MANUFACTURING, INC.; STURGIS, MI + + + + + Odom Boyd Trailer Mfg. Co. + + + + + Odyssey Trailer Co. + + + + + Oelrich Mfg. Co. + + + + + Office Master, Inc. + + + + + The Officer + + + + + Ohio Body Mfg. Co. + + + + + OK Horse Trailer + + + + + Oklahoma Horse Trailer + + + + + Oklahoma Trailer, Inc. + + + + + Olds Trails Trailer + + + + + Olgen Mfg. Co. + + + + + Olson + + + + + Omaha Standard Flatbed Trailer + + + + + Boat trailers--Waukegan, Illinois + + + + + OMC Johnson + + + + + Oneida Coach Mfg. + + + + + Ono, Inc. + + + + + ONYX FLYER + + + + + Open Road Campers, Inc. + + + + + OPTIMA INDUSTRIES, LLC; EASTMAN,GEORGIA + + + + + Orbit Industries, Inc. + + + + + Orcon Industries + + + + + Oregon Mfg. Co., Inc. + + + + + Oriole Trailer Mfg. Co. + + + + + Orlando Boar Co. + + + + + Osage Trailer Mfg. Co., Inc. + + + + + C. D. Osborn & Son + + + + + Oshkosh Trailer Division Bradenton, FL + + + + + OUTLAW TRAILER, MFG; ST JOSEPH, MO + + + + + Otterbacher Mfg., Inc. + + + + + Outdoor Equipment + + + + + OVERBILT TRAILER COMPANY; DRUMRIGHT, OK + + + + + Overland Mfg. Co. + + + + + Over-Lowe Co. + + + + + Owens-Classic, Inc. + + + + + Ownahome, Inc. + + + + + Owens Mfg. Co. + + + + + Ozark Trailer & Mobile Homes + + + + + Pacemaker Boat Trailer + + + + + Pacemaker Mobile Homes & Travel Trailer + + + + + Pacific Campers + + + + + Pacesetter + + + + + Page Trailer + + + + + Paccar Incorporated Bellvue, WA + + + + + PAIUTE TRAILERS + + + + + Parkhurst Mfg. Co., Inc. + + + + + Pak-Mor Mfg. Co. + + + + + Pal Mfg. Co., Inc. + + + + + Palace Corp. + + + + + Palm Trailers + + + + + Palmetto Sales of Laurens + + + + + Palamino Camping Trailer + + + + + Palmers Machine Works, Inc. + + + + + Pamco Trailer + + + + + Pace American, Inc. + + + + + PACE AMERICAN OF UTAH, INC.; HURRICAN, UTAH + + + + + Pan American Mobile Homes + + + + + Panorama Homes, Inc. + + + + + Paris Trailer Co. + + + + + Pardonnet Mfg. Co. + + + + + Park Estates Homes + + + + + Park Homes, Inc. + + + + + Park Lane Mobile Homes + + + + + Park Royal + + + + + P.J. Parmiter & Sons, Ltd. + + + + + Park Trailer Corp. + + + + + Parker + + + + + Parkmaster + + + + + Parkway Mfg. Co. + + + + + Parkwood Homes, Inc. + + + + + Parkwood Mobile Homes of Florida + + + + + PERFECTION ARCHITECTURAL SYSTEMS, INC.; BOYNTON BEACH, FL + + + + + Pastime Mfg. Co. + + + + + Pathfinder Mobile Homes + + + + + Pauli Cooling Systems, Inc. + + + + + Pacific Boat Trailers Inc. + + + + + PARIS CUSTOM TRAILER CO.; TEXAS + + + + + P/D + + + + + Peabody Solid Waste Management + + + + + PEAK MANUFACTURING, INC._NORTH BATTLEFORD , SK CANADA + + + + + Pennstyle Campers, Inc. + + + + + Peek + + + + + Pelican Aluminum Mfg. + + + + + PEMBERTON FABRICATORS, INC; RANCOCAS, NJ + + + + + Pennsbury Manufacturing Corp Bensalem, PA + + + + + Pennco Industries, Inc. + + + + + Pendlay + + + + + Peninsula Camper Mfg. + + + + + J. C. Penney + + + + + Pennsylvania Furnace and Iron + + + + + Penn-Cupit Industries Ltd. + + + + + PEQUEA + + + + + I.B. Perch Co. + + + + + Performance Products, Inc. + + + + + Peerless Division + + + + + Perma Tent Camper + + + + + Perone Trailer + + + + + Perris Valley Campers + + + + + Peterson + + + + + Pfaudler Co. + + + + + PEGASUS VANS & TRAILERS, INC. SANDUSKY, OH + + + + + PILGRAM INTERNATIONAL, INC.; MIDDLEBURY, IN; FIFTH WHEEL TRAILERS;_____NOT SAME AS PILGRIM MFG. + + + + + P & H + + + + + Phelan Mfg. Co. + + + + + Phelps Horse Trailer + + + + + Phillips Trailers + + + + + Phill Trailer + + + + + Phillips Mfg. Co., Inc. + + + + + Phoenix Camping Trailer + + + + + Pick-Up Top Mfg. + + + + + Pickwick + + + + + Piedmont + + + + + Pierce Lowboy Trailer + + + + + Pike Trailer Co. + + + + + Pilgrim Mfg. Co. + + + + + Pines Trailer Corp. + + + + + Pinson Truck Equipment Co. + + + + + Pioneer Coach Mfg. + + + + + Pioneer Sales & Mfg. Co. + + + + + Pipestone Tandem Boat Trailer + + + + + Pitman Brothers Co. + + + + + John Pitzer Mfg. Co. + + + + + Pixie Piker Travel Trailer + + + + + P.J. Trailer Manufacturing, Inc Sumner, TX + + + + + Plastic Engs. & Consultants + + + + + Plattsburg Mfg. + + + + + Plains Industries, Inc. + + + + + Play-Mor Trailer, Inc. + + + + + Playmate Coaches + + + + + Plastic Forming Co. + + + + + Platt Trailer Co. + + + + + Pleasure Homes Mfg. + + + + + Pleasureway Mfg. + + + + + Pleasuremate Industries + + + + + PALM AIRE, INC; ELKHART, IN + + + + + PLATINUM MANUFACTURING, LLC; OKLAHOMA CITY, OK + + + + + PINE-HILL MANUFACTURING, CO.; GAP, PENNSYLVANIA + + + + + Penn Trailer + + + + + Pointer-Willamette + + + + + Polar Mfg. Co. + + + + + Pollock Industries + + + + + Poloron Homes of Pa., Inc. + + + + + Ponderosa Homes, Inc. + + + + + Ponderosa Industries + + + + + Poole, Inc. + + + + + Por Trailer + + + + + PORTA-DOCK, INC + + + + + Portable Structures + + + + + Porta-Kamp Mfg. + + + + + Porta-Built Industries + + + + + Powerline Products + + + + + PRESTON AMUSEMENTD, INC.; ALVARADO, TX + + + + + Prarie Schooner, Inc. + + + + + PRATT INDUSTRIES, INC.; BELLEAIR BLUFFS, FL + + + + + Prebuilt Mfg. + + + + + Precision Deburring & Fabricating, Inc. + + + + + Pre-Built Structures + + + + + Premier Trailer + + + + + Presidential Mobile Homes + + + + + Presvac Systems (Burlington) Ltd. + + + + + Prew Proco Travel Trailer + + + + + Parkhurst + + + + + Prince-Meyers Corp. + + + + + Princess Homes + + + + + Prior Products, Inc. + + + + + Private Coach + + + + + Pine Grove Mfg. + + + + + PRO LITE TRAILERS; PECULIAR, MISSOURI + + + + + PREMCO PRODUCTS, INC.; LA VERNE, CA; TRIPLE L TRIALERS + + + + + Progress Industries, Inc. + + + + + PRO LINE TRAILERS; COCOA, FL + + + + + LES MACHINERIES PRONOVOST, INC; CANADA + + + + + Pro-Trail, Inc. + + + + + Prowler Industries + + + + + Prestige Custom Trailers, Inc. + + + + + Prestige Housing, Inc. + + + + + PROTAINER, INC; PROTRAILER (TRADE NAME) ALEXANDRIA, MN + + + + + Port Trailer Mfg. Co. + + + + + PRO-TRAK TRAILERS, INC.; CANTON, TX + + + + + Patriot Homes, Inc. + + + + + Puckett Bros. Mfg. Co., Inc. + + + + + Pull A Long Mfg. & Sales + + + + + Puma Camper Sales + + + + + Puzey Bros., Inc. + + + + + POWER TRAC MACHINERY; + + + + + PW Trailer + + + + + Pyle Haul-It-All Flatbed + + + + + Pyramid Mobil Homes + + + + + QE Mfg. Co., Inc. + + + + + QUALITY BUILT TRAILERS; NEW MARKET, TN + + + + + Quaker City Iron Works Inc. + + + + + Quality Trailer + + + + + Quickload + + + + + QUIK MANUFACTURING, CO. + + + + + QUALITY MFG. CO., INC.; ROME, NEW YORK + + + + + Rach Welding + + + + + Racmac Trailer + + + + + Roadcraft Mfg. & Leasing + + + + + Radamacher Trailer + + + + + Raes Utility Trailer + + + + + Rainbow Camper Co. + + + + + Rainbow Corp. + + + + + Rainway Mfg. Co. + + + + + Rallymaster Travel Trailer + + + + + Ramada Tent Camping Trailer + + + + + Ramlin + + + + + R & A MANUFACTURING PARTNERS, LTD.; HOUSTON, TX + + + + + Ramsey Trailers + + + + + Ranchette Travel Trailer + + + + + Rancho Trailers, Inc. + + + + + Walter Randall + + + + + Randolph Coach + + + + + Ranch King Enterprises, Inc. + + + + + Rapid Traveler Coaches + + + + + RAPSURE, INC; NAPPANEE, IN UTILITY & OTHER TYPE TRAILERS + + + + + Ratco Welding + + + + + Ravens-Metal Products, Inc. + + + + + Rawhide Stock and Horse Trailer Mfr., Inc. + + + + + RAYCO MANUFACTURING, INC.; WOOSTER, OH TRAILERS & EQUIPMENT + + + + + Raymond Products Co. + + + + + Raymur Acceptance Corp. + + + + + Raynell Campers + + + + + RECREATION BY DESIGN LLC.; ELKHART, IN + + + + + Richards Utility Trailer + + + + + R.C. Industries, Inc. + + + + + ROCKIN L. RIGGIN CORP.; GRAHAM, TEXAS + + + + + ROAD CLIPPER BY DIAMOND C TTRAILER MANUFACTURING; MT. PLEASANT, TX + + + + + Reconstructed Trailer or Motorhome + + + + + RIDGELINE, INC; WASHBURN, TN + + + + + Road King Travel Trailer + + + + + Rea Trailer Co. + + + + + READI-BUILT TRAILERS; THOMASVILLE, NC + + + + + Realco Trailer + + + + + Rebel Mobile Home + + + + + Rebel Boat Trailer + + + + + R.E. Custom Boat Trailers + + + + + Reco Goliath Tent Trailer + + + + + Rec-Sha Trailer + + + + + Red Arrow Trailer Co. + + + + + Red Dale Coach Co. + + + + + Red Gooser Horse Trailer + + + + + Redman Homes, Inc. + + + + + Red River Custom Trailer + + + + + Redstone Coach Co. + + + + + Reed Enterprises, Inc. + + + + + Reed Mfg. Co. + + + + + REEL TRAILERS + + + + + Reeves Trailer + + + + + Regent Homes Corp. + + + + + Regis Corp. + + + + + Reids Trailers, Inc. + + + + + Reinell Boat Trailer + + + + + Reliable Tank Inc. + + + + + Relco Corp. + + + + + Reliance Trailer Mfg. + + + + + Reliart Trailer Mfg. Co. + + + + + Realite Trailer + + + + + Rembrant Mobile Home + + + + + Rome Engineering & Mfg. Co. + + + + + Remic Industries, Inc. + + + + + Remke Trailer + + + + + REMEQ, INC.; PRINCEVILLE,QUEBEC CANADA + + + + + Rent-A-Trailer Corp. + + + + + RETTIG ENTERPRISES, INC.; SIKESTON,MO + + + + + Revella Camping Trailer + + + + + Rex Mobile Homes + + + + + Reynolds Mfg. Co. + + + + + RFC Mfg., Inc. + + + + + R & G + + + + + RHEA'S TRAILER SALES, INC.; TEXAS + + + + + RHINO TRAILER MANUFACTURING; MANOR, TX + + + + + Richardson + + + + + Richardson Homes Corp. + + + + + Rickman Trailer + + + + + Richards & Clark Mfg. Co. + + + + + Richland Homes Mfg. Co. + + + + + Ride-On, Inc. + + + + + Ridgecraft Corp. + + + + + Right Products, Inc. + + + + + R & I Industries + + + + + Rimer, Inc. + + + + + Ring-o-Matic Mfg. Co. + + + + + Rink Mfg. Co. + + + + + Ripco, Inc. + + + + + Rite-Bilt + + + + + Rite-On Trailer + + + + + River Trail Trailers + + + + + Ritz-Craft, Inc. of Pennsylvania + + + + + Riverdale Steel Works + + + + + Rivinius, Inc. + + + + + Bill Rivers + + + + + Riverside + + + + + Riverside Trailer Mfg. Co. + + + + + River Run + + + + + Riviera Mfg. Co. + + + + + R.L. Allen Company, Inc. + + + + + ROLLINGSTAR MFG.,INC. ; BARNEVELD, NY + + + + + Reid's Mfg. and Welding Co. + + + + + RANCE ALUMINUM, INC; RENEGADE TRAILERS VARYING STYLES;SNOWMOBILE ETC. + + + + + REINKE MFG., INC; DESCHLER, NEBRASKA + + + + + Road Roamer Campers + + + + + Roadliner Mfg. Division + + + + + Roadmaster Mfg. Co. + + + + + Roadrunner Mfg. Corp. + + + + + Roadway Trailer, Ltd. + + + + + Roaminghome Co., Inc. + + + + + ROBB KAUFMAN, INC.; LEXINGTON, NORTH CAROLINA + + + + + Robin Mfg. Co. + + + + + Robin Hood Travel Trailers + + + + + Robert Horse Trailer + + + + + Rockin-Bar Trailer Ltd. + + + + + Rocket Trailer, Ltd. + + + + + Rockford Industries, Inc. + + + + + Rockie Mountain Mfg., Inc. + + + + + Rockland Homes, Inc. + + + + + Rochester Homes, Inc. + + + + + Rockport Trailer Mfg. Corp. + + + + + Rogers Brothers Corp. + + + + + Rogers Trailers, Inc. + + + + + Rogue River Trailer Mfg. Co. + + + + + Rockwood, Inc. + + + + + Rolco Mfg. Co. + + + + + Roll-A-Long & Sterling Coach Co. + + + + + Rolite, Inc. + + + + + Rolling Homes, Ltd. + + + + + Rollohome Corp. + + + + + ROLLS RITE TRAILERS, INC., MARIANNA, FL + + + + + Rolls International Trailer + + + + + Romae Industries + + + + + Ronco Coaches, Inc. + + + + + RON'S TRAILERS INC.; OREGON, OH + + + + + Roofmaster + + + + + ROOSE MANUFACTURING; PELLA, IA + + + + + Road Ranger Camper Trailer + + + + + Rosco Two Wheel Trailer + + + + + Rosemont Mobile Home + + + + + J.H. Ross Co. + + + + + Rockett Trailers Medley, FL + + + + + Rotocraft Boat Trailer + + + + + Roulette Caravan Co. + + + + + Roust-About + + + + + Rover + + + + + Royal Brothers + + + + + Royal Crest Co. + + + + + Royco Mfg. Co. + + + + + Roycraft Coach Co. + + + + + Royal Industries Noble Div. + + + + + Royals International + + + + + R & H Horse Trailer + + + + + R & R Mfg. Co. + + + + + Ridge Runner Industries, Inc. + + + + + R/S Truck Body Co., Inc. + + + + + R.T.R. TRTAILERS,INC.; FARMINGDALE, NJ + + + + + Ruchmore Homes + + + + + Rush Industries, Inc. + + + + + Run-About + + + + + Frank Russell Mfg. Co. + + + + + Rushmore Homes + + + + + RUSH & SON, INC; LENOIR CITY, TENNESSEE + + + + + Russco Lowboy Trailer + + + + + Rustler Horse Trailer + + + + + R-VISION, INC. INDIANA;MANUFACTURER OF TRAIL BAY TRAVEL TRAILERS AND OTHER BRANDS + + + + + R.V. Kompacts, Inc. + + + + + River Oaks Homes, Inc. + + + + + Randall's VIP Trailers, Inc. + + + + + Rice & Woolard Mfg., Inc Naylor, MO + + + + + Ryan Mfg. + + + + + Ryder + + + + + RAZORBACK TRAILERS; PENNSYLVANIA + + + + + Sabre Equipment Div. + + + + + Safari + + + + + Safeway Mobile Homes Div. + + + + + Sage Mfg. Co. + + + + + Sahara Mobile Homes + + + + + St. Clair Custom Built + + + + + St. Joseph Marine Trailer + + + + + Salem Mobile Home Trailer + + + + + Saling Mfg. Co. + + + + + Salvaco, Inc. + + + + + Sampson + + + + + Sams + + + + + SANDS WELDING, INC. ALBANY, MN + + + + + Sani-Cruiser Co. + + + + + Sanker Mfg. & Supply + + + + + Santa Cruz Trailer Mfg. Co. + + + + + Santa Fe Springs Div. + + + + + Santeler Brothers + + + + + Starcraft Mfg. Co. + + + + + Saturn Homes + + + + + SAUBER MANUFACTURING COMPANY; VIRGIL, IL + + + + + Savage Coach Mfg., Inc. + + + + + Savannah Homes, Inc. + + + + + Seabring Home, Inc. + + + + + Sebring Home Corp. + + + + + Scad-A-Bout Mfg. & Aluminum Co. + + + + + Scamper Coach Trailer + + + + + Scenic Campers Co. + + + + + Scepter Utility Trailer + + + + + Schantz & Sons, Inc. + + + + + Schrader Dump Trailer + + + + + Schenkel Brothers Mfg. Co. + + + + + SCHIFSKY TRAILERS + + + + + Schertzer Equipment Co. + + + + + Schetzky Equipment Corp. + + + + + Schevelle Homes Sales Corp. of Alabama + + + + + Schiebout Mfg. Co. + + + + + Schien Body & Equipment Co. + + + + + Schlemmer Boat Co. + + + + + Schult Mobile Homes Corp. + + + + + Schnure Ho' Trailer + + + + + Schwartz Mfg. Co. + + + + + SCI Trailer + + + + + Scamp Trailer + + + + + Scotsman Industries, Inc. + + + + + Scotsman Mfg. Co. + + + + + Scorpion Trailer + + + + + Scoutboat Trailer + + + + + Star Custom Trailers, Inc. + + + + + Scully Coach Co., Inc. + + + + + Sea Breeze Trailer + + + + + Seacamper Boat Trailer + + + + + Sea Lion Utility Trailer + + + + + Seal Mate + + + + + Sears + + + + + Sea Stallion Trailers + + + + + Wendell Sears + + + + + Seco Mfg. Co. + + + + + Security Industries + + + + + Seemore Flatbed Trailer + + + + + Seiden Mobile Homes + + + + + Selburn Flatbed Trailer + + + + + Selma Trailer & Mfg. Co. + + + + + Selox Mfg., Ltd. + + + + + Sellers Trailer + + + + + Selby Mfg. Co. + + + + + Semlac Corp. + + + + + Seminole Boat Trailer + + + + + Senora Trailers Yuma, AZ + + + + + Searover TC Camper + + + + + Serro Travel Trailer Co. + + + + + SEWER EQUIPMENT CO. OF AMERICA + + + + + Shamrock Campers + + + + + Shamrock Homes + + + + + Sharratt Mobile Homes & Supplies + + + + + Shasta Industries + + + + + Shaw-Wynn Homes Corp. + + + + + Sherwood Baronet Tent Trailer + + + + + Shadow Trailers + + + + + Shelby Mobile Homes + + + + + Sherman & Reilly, Inc. + + + + + Shertzer Dump Trailer + + + + + Shipbuilt Van Trailer + + + + + Shiloh Homes + + + + + Shipmate + + + + + Shippette Mobile Homes + + + + + SHIVVERS MANUFACTURING, IOWA + + + + + Sho-Me Campers Co. + + + + + Shoops Horse Trailer + + + + + Shopmade Flatbed Trailer + + + + + Showco Nomad Trailer + + + + + Sherwood Sentry Horse Trailer + + + + + S & H Trailer Mfg. Co., Inc. + + + + + Show-me Trailers, Inc. + + + + + Silver Eagle Travel Trailer + + + + + Siebert Trailers, Inc. + + + + + SIEMS ENTERPRISES; SHELLEY, IDAHO TRAILERS + + + + + Sierra Campers Mfg. + + + + + Sigame Corp. + + + + + Signal Division + + + + + Silvercrest Industries, Inc. + + + + + Silver Leaf Mfg. Co. + + + + + Silverline + + + + + Silver Streak Trailer Co. + + + + + Simek Mfg., Inc. + + + + + Simenson Mfg. Co. + + + + + Simon Utility Trailer + + + + + Simpson Enterprises, Inc. + + + + + SIMPSON WELDING & CUSTOM TRAILERS / HOWBOY TRAILER; HUGO, OK + + + + + Single Tilt Trailer + + + + + Silver Star Trailer + + + + + Sisu USA Inc. + + + + + Six Pac Camper + + + + + Skamper Corp. + + + + + Ski Kart + + + + + Skim Air Trailer + + + + + Skipper B Trailer Co., Inc. (Formerly Brown Ind.) + + + + + Ski-Tow Mfg. Co., Inc. + + + + + Academy Mobile Homes Mfd. by Skyline Motorized Div + + + + + Skippy Trailer + + + + + Skycraft Trailer + + + + + Skyhomes, Inc. + + + + + Skylark Industries, Inc. + + + + + Skyline Corp. + + + + + Sloat Mfg. Co. + + + + + Sleep Easy Trailer + + + + + Smartlee + + + + + Smithco + + + + + Smith-Roles Ltd. + + + + + Smokey Trailer + + + + + SAM PATTON INDUSTRIES + + + + + S & M Trailer Co. + + + + + SOUTHERN MISSOURI TRAILER SALES; WEST PLAINS, MO; HOOK-ON MODEL + + + + + Smallwood + + + + + SOUTHMAYD EQUIPMENT CORPORATION; SOUTHMAYD, TX + + + + + Snatcher Trailer Company + + + + + Sunbird Boat Company Columbia, SC + + + + + SunBird, Inc. + + + + + Sun Belt Energy Housing, Inc. + + + + + SANDPIPER + + + + + Sunflower Travel Trailer + + + + + Sun-Lite, Inc. + + + + + Sno-Bird Trailer Co., Inc. + + + + + Snowflake Coach Industry + + + + + Southern Energy Homes, Inc. + + + + + Remington Homes + + + + + Santa Fe Trailer Co. + + + + + Sun Trailer & Utilities + + + + + Snowton Trailer + + + + + SNUB-HARBOR OR DAY'S DRYDOCK TRAILERS; INDIANA + + + + + SNOWBEAR LIMITED; ONTARIO, CANADA + + + + + Snow Co., The + + + + + Snyder Trailer Co. + + + + + Society Coach Builders + + + + + SOUTHERN CLASSIC TRAILER MFG., INC. SUMNER, IOWA + + + + + Soderstrom Machine Shop + + + + + Sol Cat Boat Trailer + + + + + Southern Lifestyle Homes, Inc. + + + + + Son-Dyke Trailer Co. + + + + + Sooner Mfg. + + + + + SOPKO MANUFACTURING, INC; LAWRENCEVILLE, VA + + + + + SOUTHERN SALES, INC.; TRAVELERS REST, SC + + + + + SOUTH BAY TRAILERS; LOUISVILLE,KY + + + + + SOUDRE KERR, INC; COOKSHIRE, QUEBEC CANADA + + + + + Southeastern + + + + + Southern Trailers + + + + + Southlane Horse Trailer + + + + + Southwest Truck Body Co. + + + + + Space Age Campers + + + + + Space-Craft Trailers Mfg. + + + + + Sparrowhawk Trailer Co. + + + + + Spartan Aircraft Co. + + + + + Space Assemblies, Inc. + + + + + Spector Manufacturing, Inc. + + + + + Marvin A. Spears Co. + + + + + Speedway Trailer Div. + + + + + Special Endeavors, Inc. + + + + + Specialty Mfg. Co. + + + + + Spen & Co. + + + + + Spencer Sports Products + + + + + SPORT HAULER BY SPORT CHASSIS AT FREIGHTRLINER IN TULSA, OK___MAKER OF SPORT HAULER TRUCK & TRAILER + + + + + Sportsliner Tent Trailer + + + + + Sportsman + + + + + Sportcoach Corporation of America + + + + + Spokane Travel Homes + + + + + Sportcraft Homes, Inc. + + + + + Sport King Campers + + + + + Sportsman's Dream Mfg. Co. + + + + + Spartan Products + + + + + Sprayline Two Wheel Trailer + + + + + Sprite + + + + + Sportmasters of Tennessee, Inc. + + + + + Springtrail Mfg. Co. + + + + + Sprout, Waldron & Co., Inc. + + + + + Superior Office Trailer + + + + + Spreuer and Son, Inc. + + + + + Sportsliner Camping Trailer + + + + + SPECTRUM STEEL; HYRUM, UTAH + + + + + SUPERIOR TRAILERS OF GA., INC.; DANIELSVILLE, GA + + + + + Squire Travel Trailer + + + + + SS Trailer Co. + + + + + Star Machine Shop Co. Ltd. + + + + + Stack Truck, Inc. + + + + + Standard Steel + + + + + Stam Mfg. Co. + + + + + Stage Coach Mfg. Co. + + + + + Grenadier Mobile Homes + + + + + Starmaster Camping Trailer + + + + + Standard + + + + + Star Tank & Trailer Mfg. Co. + + + + + Star Fire, Inc. + + + + + Starlite Mfg. Co. + + + + + Star Meteor Florida + + + + + Star Mobile Homes + + + + + Stucco Trailer + + + + + Steelcraft Log Trailer + + + + + Steadman Containers Ltd. + + + + + Steco Trailer Co. + + + + + Steed-Pollak Mfg. Co. + + + + + Stew-Gar, Inc. + + + + + Sterling + + + + + Steelco, Inc. + + + + + Stepper Trailer + + + + + Stewart, Inc. + + + + + Steury Trailer + + + + + Stidham Horse Trailer + + + + + STILLWATER SUPPLY COMPANY; SULLIVAN, MO; TRAILERS + + + + + Sterline Flatbed Trailer + + + + + Stilo Trailer + + + + + Supertrail Mfg. Co., Inc. + + + + + Stockland + + + + + Stoddard Mfg. Co. + + + + + STOLL TRAILERS, INC; ABBEVILLE, SC + + + + + Stoner Trail + + + + + Stopover Traveler & Camper Co. + + + + + Stoner Totter Trailer + + + + + Stoughton Trailers, Inc. + + + + + STEPHENS PNEUMATICS, INC.; HASLET, TX + + + + + Starbuck Trailer + + + + + Strahan Mfg. Co. + + + + + Stardust Travel Trailer + + + + + Streamline Trailer Co. + + + + + STROHL CORPORATION; MISHAWAKA,IN; VARIOUS STYLES TRAILERS + + + + + Strick Trailers Corp. + + + + + Stark Bros. Motor Sales + + + + + Starline Trailer Mfg. Co. + + + + + Star Transport Trailers, Inc. + + + + + Stuart + + + + + Sun Blazer Travel Trailer + + + + + Suburban Motors, Inc. + + + + + SUGGS MANUFACTURING CO., INC; LAGRANGE, NC + + + + + Summit Trailer + + + + + Sunhome Mfg. + + + + + Sunset Mobile Homes + + + + + Sun State Mobile Homes + + + + + Sundancer + + + + + Sun Valley + + + + + Sunline Coach Co. + + + + + Sun Recreational Industries, Ltd. + + + + + Sunshine Homes + + + + + Sunset Travelers + + + + + Sun Devil Trailers, Inc. + + + + + Sundowner Trailer Co. + + + + + Superior Ideal Inc. + + + + + Supreme Industries, Inc. + + + + + Superior Trailer Works + + + + + Sureload + + + + + Surf-Rider, Inc. + + + + + Susquehanna-Santee Boat Works, Inc. + + + + + SPECIALIZED VEHICLE CORPORATION / HACKNEY DIVISIION; WASHINGTON, NORTH CAROLINA + + + + + Silver Trail + + + + + Swan Industries + + + + + Swanee Trailer Mfg. Co. + + + + + Sweetwater Metal Products Co., Inc. + + + + + SOUTHWEST GOOSENECK; SAN ANTONIO, TX + + + + + Swiss Colony Travelers, Inc. + + + + + Swinger Camper Mobile Home + + + + + Swanson Tilt trailer + + + + + SOUTHWEST EXPRESSLINE, WHITE PIGEON, MICHIGAN + + + + + Sycamore Mobile Homes + + + + + Sylvan Double Snowmobile Trailer + + + + + Tacoma Trailer + + + + + Tracer Horse Trailer + + + + + Tecnica Automotriz Del Noroeste SA Mexico + + + + + Tag-A-Long Trailers + + + + + Tahiti Ski Trailers + + + + + Tailor Maid Industries + + + + + Talbert Mfg. Inc. + + + + + Taylor Metal Works, Inc. + + + + + Tanden Boat Trailer + + + + + Tankraft Trailer + + + + + T & M Enterprises + + + + + Tannehill Trailer + + + + + Tandom Boat Trailer + + + + + Tara Products, Inc. + + + + + Target Coach Mfg. Co. + + + + + Tartan Corp. + + + + + TARASPORT TRAILERS, INC.; SWEETWATER, TN + + + + + Taube Tool Corp. + + + + + Tawas Trailers, Inc. + + + + + Taylor Mobile Homes + + + + + Travel Cruiser + + + + + TBC + + + + + Talbot-Carlson, Inc. + + + + + TRIPLE CROWN TRAILERS; OCALA, FL; UTILITY,EQUIPMENT,DUMP,& CAR TRAILERS + + + + + Tear Drop, Inc. + + + + + TEC + + + + + T&E ENTERPRISES OF HERSCHER, INC.; HERSCHER,IL + + + + + Tee Nee Trailer Co. + + + + + Tejas Trailers, Inc. + + + + + Tel Star Trailers + + + + + Tem Ken Trailers Mfg. + + + + + Tennessee Trailer + + + + + Tempe Trailers + + + + + Terra Cruiser Div. + + + + + Terra-Marina Mfg. Co. + + + + + Terry Industries of Virginia + + + + + T.E.S. (Truck Equipment & Sales Co.) + + + + + Teton Travel Trailer + + + + + Texan Trailer Mfg. Co. + + + + + Texarkana Div. + + + + + Tex Willett Co. + + + + + Texas Bragg + + + + + TUFF/LUGG MANUFACTURING + + + + + Tigerline Trailer + + + + + Joseph Thatcher + + + + + Thunderbolt Trailer + + + + + Theurer Atlantic, Inc. + + + + + The Highland Group Beachwood, OH + + + + + Thiermann Utility Equipment Div. + + + + + THOROUGHBRED INDUSTRIES, INC; RIDGELAND, SC STARLITE MODEL + + + + + Thiele, Inc. + + + + + Thimsen Mfg. Co. + + + + + Thompson Concrete Pump Trailer + + + + + Thomas Mfg. + + + + + THOR CALIFORNIA, INC., MORENO VALLEY, CA 5TH WHEEL TYPE + + + + + THOMAS EQUIPMENT LTD.; NEW BRUNSWICK, CANADA + + + + + Thomas & Co. + + + + + Thorns Trailer + + + + + Thoroughbred Boat Trailer + + + + + Three C's, Inc. + + + + + Three-Dimensional Mobiles + + + + + Three-Way Campers Mfg. + + + + + THRU AIR TRAILERS LLC; WEST SENECA, NY; TRAILERS & HULERS + + + + + Thunderbird Castles + + + + + Triangle-K Trailer Co. + + + + + Tiara Industries + + + + + Ti-Brook, Inc. + + + + + Tide Craft, Inc. + + + + + Tidwell Industries, Inc. + + + + + TIFFIN MOTORHOMES, INC; RED BAY, ALABAMA; ALLEGRO, PHAETON, ZEPHER MODELS + + + + + Tiger Trailer + + + + + Tilton-Hilton + + + + + Timberline Mfg. Co. + + + + + T.O. Corp. + + + + + Timken Bearing Boat Trailer + + + + + Timpte, Inc. + + + + + Tinker Clubs of America, Inc. + + + + + Tri-State Homes, Inc. + + + + + Titan Trailer Corp. + + + + + Titleist Travel Trailer + + + + + TRIPLE "J " CUSTOM TRAILERS, GANSEVOORT, NY + + + + + TIMBERKING + + + + + Tri-Lakes Mfg. Co., Inc. + + + + + T & L Trailers Sikeston, MO + + + + + TRAILERMAN TRAILERS, INC/INLOW CUSTOM TRAILERS; LOUISIANA,MISSOURI + + + + + Trailite Trailer + + + + + TIMBERLAND RV COMPANY; PERU, IN + + + + + Timberwolf + + + + + TMC Inc.Poskin, WI + + + + + T & M MANUFACTURING, INC.; PRINCETON, ONTARIO CANADA + + + + + TM Trailer + + + + + Travel Mate Trailer + + + + + Transco Trailer + + + + + TN TRAILERS, LLC; SHIPSHEWANA, INDIANA + + + + + Todco + + + + + Toddy Custom Built Trailers + + + + + Tow Go Trailers + + + + + Tourhome Camper Trailer + + + + + Token Flatbed Trailer + + + + + Tonco Lowboy Trailer + + + + + TOP BRAND TRAILERS + + + + + Top Campers + + + + + Top Kat + + + + + Topper Mobile Homes, Inc. + + + + + TOP-3 TRAILERS; TEXAS + + + + + Torch Industries + + + + + Torino + + + + + Totem Total Trailer + + + + + Tote Co. + + + + + Totemall + + + + + Topline Trailers Manufacturing Fort Worth, TX + + + + + Toura Products + + + + + Tourite Mobile Homes Mfg. + + + + + Towncrier Camper + + + + + Tow Mor Products + + + + + Tow Low + + + + + Town & Country Mfg. + + + + + Tow Pro, Inc. + + + + + Towmaster + + + + + Toyocar Van Container Trailer + + + + + TOP HAT INDUSTRIES, INC. TRAILERS + + + + + TOPLINE MANUFACTURING. CO., INC; TREMONT MISSISSIPPI + + + + + Tradewind Industries, Inc. + + + + + Trader Horn Trailer Supply + + + + + Trail Aire, Inc. + + + + + Trail Car Boat Trailer + + + + + Trail Haven Div. + + + + + Trailmaster Tanks, Inc. + + + + + Trailco-Norwin + + + + + Trail-R-Craft, Inc. + + + + + Trailex, Inc. + + + + + Trail-It Coach Mfg. Co. + + + + + Trailorama + + + + + Trail-Or-Floats + + + + + Trail-Wide Corp. + + + + + Trans Canada Rent-A-Trailer System + + + + + Transcraft Corp. + + + + + Transit + + + + + Transporter + + + + + Transvair + + + + + Travel Equipment Corp. + + + + + Travel Industries + + + + + Travelaire Trailer Mfg. + + + + + Travelmaster, Inc. + + + + + Travelpak Car Topper Sales + + + + + Travette Mfg. + + + + + Trav-L-Homes + + + + + Trav Otel Industries + + + + + Travois Trailer + + + + + Transfer + + + + + Trainliner + + + + + Trailblazer Trailer + + + + + Trailboss House Trailer + + + + + Tracker Corp. + + + + + Trailcraft Boat Trailer + + + + + Trailer Coach Metal Spec. + + + + + Tracpac Snowmobile Trailer + + + + + Treasure Chest Products + + + + + Trevco Enterprises + + + + + Trek, Inc. + + + + + Trail-Et Horse Trailer + + + + + TRAILERS EXPRESS, INC. SIKESTON, MO + + + + + Trailer Wheel and Frame Co. + + + + + Travelo Homes Co. + + + + + Tri-Way HD Snowmobile Trailer + + + + + Trail Mate Trailer Co. + + + + + Triple B Mfg. Co., Inc. + + + + + Triggs-Miner Corp. + + + + + Trail-O-Matic Trailer + + + + + Pullman Trailmobile + + + + + Trinity Products + + + + + Triple R Trailer + + + + + Triumph Sales & Service + + + + + Tri-Star Corp. + + + + + Trivellato + + + + + Tri-Way Trailer + + + + + Trail King Travel Trailer + + + + + Tracker Marine, Inc. + + + + + Trailco Mfg. & Sales Co. + + + + + Trail-Easy Travel Trailer + + + + + Trail It Horse Trailer + + + + + Trail King Industries + + + + + Trillium Trailer + + + + + Trail Master Trailers, Inc. + + + + + Trailers, Inc. + + + + + Travel Long Inc. + + + + + TRL ENTERPRISES, INC. + + + + + Unpublished trailer mfr. (see Operating Manual, Part 1, Section 2) + + + + + TRAILMOBILE CANADA & TRAILMOBILE TRAILER U.S. ARE SAME COMPANY.TRAILMOBILE TRAILER US UNDER CHAPT 1 + + + + + Tramco, Inc. + + + + + Traveler Mfg. Inc. + + + + + TRAILMANOR, INC.; LAKE CITY, TN + + + + + Transliner Insulated Tank Trailer + + + + + TRANSPORT TRAILERS; FENNVILLE, MI + + + + + Trojan Homes + + + + + Trojan + + + + + Trombly Woodworking Co. + + + + + Tropicana Mfg. Co. + + + + + Trophy Travel Trailer + + + + + Trotwood Trailer + + + + + Troy Industries + + + + + Troxell Trailer Mfg. + + + + + Troyler Corp. + + + + + TROPHY HOMES, INC.; ELKHART, IN + + + + + Tramper Travel Trailer + + + + + Travel Queen Coaches + + + + + Trail-Rite Trailer Mfg. Co. + + + + + TRIPLE R TRAILERS + + + + + Trailerette Trailer + + + + + TERRY'S UTILITY TRAILER OR TERRY W. BECK; WARENVILLE, SC + + + + + Transglobal New York; flatbed trailers + + + + + Transmobile Trailer + + + + + Trailstar Travel Trailer + + + + + TRAVEL SUPREME MOTORHOMES, 5TH WHEEL TRAILERS & RECREATIONAL VEHICLES + + + + + Tri-Pak Systems Co. + + + + + TRAILTECH; GRAVELBOURG,SASKATCHEWAN CANADA + + + + + Triad Trailers Ltd. + + + + + Triton Trailer CorAllentown, Wisconsin + + + + + Truck & Trailer Equipment Co. + + + + + Traveliner Travel Trailer + + + + + Truco + + + + + Truck Equipment Service Co. + + + + + Tru-Trailer Co. + + + + + Travco Corp. + + + + + Traveleze Industries, Inc. + + + + + Travel Home, Inc. + + + + + TRV Corp. + + + + + Trailevator + + + + + Travis Trailer + + + + + Travel World, Inc. + + + + + TEAM SPIRIT TRAILERS; ELKHART, INDIANA + + + + + T. & T. Industries + + + + + TRINITY TRAILER MFG., INC; BOISE, ID + + + + + Transport Systems, Inc. + + + + + Transport Trailers, Inc. + + + + + Trans-Trail Trailer + + + + + Turnbow Trailer + + + + + Al Tucker Trailer Co. + + + + + Tucker Sno-Cat Corp. + + + + + Tufby Converter Dolly + + + + + Tuff Cat Trailers, Inc. + + + + + Tuffy + + + + + Tuff-N-Lite + + + + + Tuff Thom Trailers, Inc. + + + + + Tuk-A-Way-Trailer + + + + + Twentieth Century Mfg. Co. + + + + + TRAILER WHEEL & FRAME COMPANY; TEXAS + + + + + Twin City Racing + + + + + Twin Grove Mfg., Inc. + + + + + Twilight Coach Mfg. + + + + + Twin Trailer + + + + + Twilite Mobile Home Mfg. + + + + + TRAILS WEST MANUFACTURING OF IDAHO, INC.; PRESTON, ID + + + + + TOWRITE MANUFACTURING; BUNN LEVEL, NC TRAILERS & DOLLIES + + + + + Traxcavator Tract + + + + + Tybex Corp. + + + + + Trailers Y Casetas Bonanza S. A. Mexico + + + + + Tyler Coach Mfg. + + + + + Tyson Skylark Trailer + + + + + U-Haul Co. + + + + + ULTIMATE TRAILERS; LAKEVIEW TERRACE, CA + + + + + Ultra, Inc. + + + + + UNITED EXPRESS LINE, INC; BRISTOL,INDIANA + + + + + Union Machine & Tool Works + + + + + United Fiberglass + + + + + United Mfg. Co. + + + + + Univision Industries Ltd. + + + + + United Mobile Sales + + + + + United States Aluminum Co. + + + + + United States Mobile Homes + + + + + Universal Tractor Foreign Trade Co. + + + + + United States Mobile Homes (Florida) + + + + + United Trailer Service & Supply Co. + + + + + Universal Camper Mfg. + + + + + Unverferth-McCurdy Mfg. Co., Inc. + + + + + UNIVERSAL TRAILERS, INC.; RIVERSIDE. CALIFORNIA + + + + + Urili Flatbed Trailer + + + + + USA Motor Corp. Bremen, IN + + + + + U-Save Trailers + + + + + U.S. COACHWORKS,INC; ZIEGLER, IL + + + + + USTS MANUFACTURING. INC; CANTON, OHIO + + + + + UTILITY TOOL & BODY., INC., CLINTONVILLE WI + + + + + Ute Trailer + + + + + Utah Mobile Homes + + + + + Utility Trailer Mfg. Co. + + + + + Utopia Coach Corp. + + + + + Vacation Homes + + + + + Vacation Industries + + + + + Vacation Wagon, Inc. + + + + + VACTRON TRAILERS, MANUFACTURED BY: ACOMPLETE ASSEMBLY; MASCOTTE, FL + + + + + Vada Open Top Cattle Trailer + + + + + Vador + + + + + Vagabond + + + + + Valiant Mobile Homes + + + + + Valley Campers + + + + + Valley Foundry & Machine Works + + + + + Valley Trailers + + + + + Van Art, Inc. + + + + + Van Bibber Enterprises + + + + + Van Camp Equipment + + + + + Van Car Corp. + + + + + Vance Campers, Inc. + + + + + Van Guard Trailer, Ltd. + + + + + Vanson Boat Trailer + + + + + Vaquero Trailer + + + + + Vacationeer Trail Trailer + + + + + Vegas Mfg. Co. + + + + + Venus Coaches + + + + + Ventoura Corp. + + + + + Vermeer Mfg. Co. + + + + + Vertex + + + + + Vesely Co. + + + + + Vet Boat Trailer + + + + + Virginia Homes Mfg. Corp. + + + + + Victorian Homes, Inc. + + + + + Victory Implement Co. + + + + + Victor Mobile Homes + + + + + Viking + + + + + Vindale Corp. + + + + + Vintage Homes + + + + + Virginia Mobile Homes Industries + + + + + Virginian Coach Camper Corp. + + + + + Viscount Trailers + + + + + Vista Queen Trailer + + + + + Vista Liner Coach & Trailer + + + + + Vito Mfg. Co. + + + + + Vivian Industrial Plastics + + + + + Villager Travel Trailer + + + + + VM Boat Trailer + + + + + VANGUARD INDUSTRIES OF MICHIGAN, INC.; COLON, MI + + + + + VANGUARD NATIONAL TRAILER CORPORATION; MONON, IN; VANS & TRAILERS + + + + + VANTAGE DUMP TRAILERS, INC.; KATY, TX + + + + + Ventura Tent Camper + + + + + Volunteer Mfg. Corp. + + + + + Vought Industries + + + + + Vermont Traveler + + + + + Versa Two Wheel Trailer + + + + + Vista Custom Trailer + + + + + VENTURE TRAILERS + + + + + Vulcan Trailer Mfg. Co. + + + + + Veenema & Wiegers, Inc. + + + + + Truckin Trailer + + + + + WADE SERVICES, INC; ELLISVILLE, MS + + + + + Wago Campers + + + + + Wagon Master Trailer + + + + + Wagon-Haven, Inc. + + + + + Wagon Train, Inc. + + + + + Walker Tractor Mfg. + + + + + Walsh Body & Trailer + + + + + Walker Stainless Equipment Co. + + + + + Wallstrong Boat Trailer + + + + + Wallstrom Boat Trailer + + + + + Walker Mobile Homes + + + + + Wanamaker Trailer + + + + + Wabash National Corporation Lafayette, Indiana + + + + + Wanderer Camper + + + + + Wa-Nee Homes Corp. + + + + + Ward Industries + + + + + Warhawk Mfg. Co. + + + + + WARRIOR TRAILERS; ONTARIO, CA + + + + + Warrior Mfr. + + + + + Warrenville Trailer Mfg., Inc. + + + + + Waverly Structures + + + + + Walter Products & Engineering Co. + + + + + Watson Industries + + + + + Watt Camper + + + + + Wayfarer Coach Mfg. + + + + + Waymatic Welding & Fabricating Co. + + + + + WAYNE METAL PRODUCTS;MARKLE,INDIANA + + + + + Wayside Campers + + + + + W.C. Manufacturing & Specialty Co. + + + + + WOOD-MIZER PRODUCTS, INC.; INDIANAPOLIS, IN + + + + + Weaver & Sons + + + + + Weber + + + + + Westcraft Mobile Homes + + + + + Wedgewood Homes + + + + + Week-N-Der Pickup Camper + + + + + Weeres Trailer + + + + + WE-HAUL TRAILERS; DIVISION OF FOREST RIVER, INC OF GOSHEN, IN + + + + + WEIERS TRAILER SALES; PHOENIX, AZ + + + + + Circle L + + + + + Welch Mfg. & Engineering Co. + + + + + Weld-It Company + + + + + Wells Cargo, Inc. + + + + + WeMac Mfg. Co. + + + + + Wenger Mfg. + + + + + Siefmund Werner + + + + + Werts Welding Service + + + + + West Coach Mfg. Co. + + + + + West Wind Trailer Co. + + + + + Western + + + + + Western Coach Corp. + + + + + Western Dynamics Corp. + + + + + Western Trailer Coach + + + + + Wesholt Mfg. + + + + + Westinghouse Equipped Mobile Home + + + + + Westland Trailer Co. + + + + + Westward Coach Mfg. + + + + + Westways Mfg. + + + + + W.F. Mickey Body Co., Inc. + + + + + Wheel Campers Corp. + + + + + WHEEL ESTATE SALES & SERVICE, INC; TRADE NAME/STEWART LODGES + + + + + Whitehaul Kaler Trailer + + + + + White Star Trailer + + + + + White Line Mfg. & Dist. Co. + + + + + White Motor Corp. + + + + + Whitley Mfg. Co. + + + + + Whitehead & Kales + + + + + Wheeler Truck Trailer + + + + + WHISPERING PINE CAMPER TRAILER + + + + + Wickes Homes + + + + + Wicks Engineering & Construction Co. + + + + + Williams Craft, Inc. + + + + + Wig-A-Wam, Inc. + + + + + Willmar Manufacturing + + + + + Will Craft Camper Trailer + + + + + Wildcat Travel Trailers + + + + + WILKENS MANUFACTURING, ING; STOCKTON, KANSAS + + + + + Wilson Trailer Mart + + + + + Wil-Ro, Inc. + + + + + Willborn Brothers + + + + + Williamsen Truck Equipment Corp. + + + + + Wilson Trailer Co., Inc. + + + + + Wil-Trail Corp. + + + + + Wilray Manufacturing + + + + + Windward Enterprises + + + + + Winger Mfg. Co. + + + + + Winston Industries + + + + + Winnebago Industries, Inc. + + + + + Winpower Corp. + + + + + Windsor Mobile Homes (old code WIND) + + + + + Winter Weiss Co. + + + + + Wisconsin Trailer Co., Inc. + + + + + Wise Welding, Inc. + + + + + Wise-Craft Mfg. + + + + + Wishbone Trailers, Inc. + + + + + Wisconsin Homes, Inc. + + + + + Wisconsin Tag-A-Long Trailer + + + + + Wizard + + + + + Wilderness Travel Trailer + + + + + WELDTITE TRAILERS; HUNTERSVILLE, NC + + + + + WALTRON LIMITED/ ALDURA; RIDGETOWN,ONTARIO CANADA + + + + + WESTERN RECREATION MFG. INC.; AND OR WELLS WESTERN TRAILER OGDEN, UTAH + + + + + W & M ENTERPRISES, INC.; LAWRENCEBURG, INDINA + + + + + G.T. Wolfe Mobile Homes + + + + + Wolfe Mfg. Co. + + + + + Wolverine Camper + + + + + Wonder Land Camper + + + + + Woodland Camper Co. + + + + + Wood Mfg. Co., Inc. + + + + + Woodline Custom Camper + + + + + Woodsmen Camper + + + + + Work Horse Mfg. + + + + + Work-N-Play + + + + + World Wide Industries + + + + + Worrell Trailer Mfg. + + + + + Woodland Park, Inc. + + + + + Wrangler Trailers + + + + + Wrangler Recreational Products + + + + + Wright Industries, Inc. + + + + + Wright Brothers, Inc. + + + + + World Trailers, Inc. + + + + + Wonder State Boat Trailer + + + + + WILD SIDE LLC; FRANKLIN, TN + + + + + Western Trailers Inc Co-Tem Corp. Boise, Idaho + + + + + WES-TEX MANUFACTURING, INC; LUBBOCK, TX + + + + + Watson Tractor Co., Inc. + + + + + Westank Industries, Inc. + + + + + WTM, INC; HALEYVILLE, AL + + + + + Wesco Truck & Trailer Sales + + + + + Western Trailer Works, Inc. + + + + + I.R. Witzer Company, Inc. + + + + + W-W Trailers + + + + + Westerwalder Eisenwerk + + + + + WORTHINGTON WELDING, INC. ;PENNSYLVANIA 4MV OR 1W9/003 + + + + + W.W. TRAILER MANUFACTURERS, INC; OKLAHOMA + + + + + W & W White Horse Trailer + + + + + John T. Wydro + + + + + Wy Frame Corp. + + + + + Wylie Mfg. Co. + + + + + Wynn Trailer Works + + + + + Wynona Corp. + + + + + X-CEL TRAILERS, INC.; FORNEY, TX + + + + + X-L SPECIALIZED TRAILERS;OELWIN, IA SD,DDE,MFG,FAA,HDG,LSD TRAILERS + + + + + Xplorer Enterprises of Constantine + + + + + X-Tra Camper Co. + + + + + XYZ Trailer + + + + + Yacht Club + + + + + Yadro Trailers + + + + + Yanger Mobile Homes + + + + + Yampa Coach Mfg. + + + + + YANGZHOU TONGHUA SEMI TRAILER CO. LTD.; CHINA ALSO THT + + + + + Yarbrough Mfg. Co., Inc. + + + + + Yazoo Mfg. Co., Inc. + + + + + Yellowstone, Inc. + + + + + YENTES BROTHERS WELDING; LANCASTER, CALIFORNIA + + + + + York Trailer + + + + + Young Spring & Wire + + + + + Ysob Co. + + + + + Yuchi Mobile Homes + + + + + Yukon Delta + + + + + Y W + + + + + Ziegler + + + + + Zieman + + + + + Zimmer Homes Corp. + + + + + Zipper, Inc. + + + + + ZIMMERMAN TRAILERS + + + + + Zollinger Trailer Co. + + + + + + + A data type for Vehicle Make for Boat Trailer. + + + + + + + + + + + + + A data type for Boat Type. + + + + + + + + AIRBOAT C + + + + + COMMERCIAL + + + + + CRUISER (A BOAT WITH AN INBOARD MOTOR) + + + + + HOVERCRAFT + + + + + HYDROPLANE + + + + + HOUSEBOAT + + + + + HYDROFOIL + + + + + JET-SKI (AQUA BIKE) + + + + + RUNABOUT (LAUNCH MOTORBOAT OUTRIDER) + + + + + SAILBOAT (CAT CATAMARAN CUTTER BARK) + + + + + UTILITY (FISHERMAN SEDAN ETC.) + + + + + YACHT (A BOAT WITH AN INBOARD MOTOR) + + + + + ALL OTHER (CANOE DINGHY DORY JOHNBOAT) + + + + + + + A data type for Boat Type. + + + + + + + + + + + + + A data type for Gun caliber. + + + + + + + + 10 mm, .40 S&W pistol cartridges; also used for 10-gauge shotgun + + + + + 11 mm Mauser + + + + + 12.5 mm is metric for .50-caliber Browning Machine Gun round; also used for 12-gauge shotgun + + + + + 13 mm Gyrojet rocket pistol/carbine + + + + + .17 Remington + + + + + .177 caliber (.17 caliber) is most often used in airguns + + + + + .22 Short/Long/Long Rifle rimfire cartridge family; also .22 Hornet, .22-250, .220 Swift, .222 Remington, .223 Remington, etc. + + + + + .221 Remington Fireball + + + + + .222 Remington, .222 Remington Magnum + + + + + .223 Remington/5.56x45 mm NATO + + + + + .243 Winchester + + + + + .25 ACP, .25-06, .25-20, .25-35, .250-3000 Savage, etc. + + + + + .250-3000 Savage + + + + + .256 Newton + + + + + .257 Roberts, .257 Weatherby Magnum + + + + + .260 Magnum Research Lone Eagle, .269 Remington Model XP 100, .260 Savage Striker, .260 Thompson/Center Encore + + + + + .264 Winchester Magnum + + + + + .270 Winchester, .270 Weatherby Magnum + + + + + .280 Remington/7 mm Express + + + + + .284 Winchester + + + + + .30 M1 Carbine, .30-40 Krag, .30-30 Winchester + + + + + .300 Winchester Magnum, .300 Weatherby Magnum, .300 Savage, .300 Holland & Holland Magnum + + + + + .30-06 U.S. (.30 Springfield) + + + + + .303 British, .303 Savage + + + + + .308 Winchester/7.62x51mm NATO + + + + + .32 ACP, .32 Short Colt, .32 Long Colt, .32 H&R Magnum + + + + + .32-20 Winchester + + + + + .338 Winchester Magnum + + + + + .35 Whelen, .35 Remington, .350 Remington Magnum + + + + + .351 Winchester + + + + + .357 Remington Magnum, .357 Maximum, .357 AutoMag + + + + + .36 caliber markings normally found only on black-powder firearms + + + + + .375 Holland & Holland Magnum, .375 Winchester + + + + + .38 S&W, .38 (S&W) Special, .38 ACP, .38 Super, etc. + + + + + .380 ACP in U.S.; also known in Europe as the 9 mm Kurz/Corto/Short, and the 9x17 + + + + + .40 S&W, 10 mm + + + + + .401 Winchester + + + + + .405 Winchester + + + + + .41 Short Rimfire, .41 Remington Magnum, .41 Action Express, .41 AutoMag + + + + + .44-40 Winchester, .44 Russian, .44 Special, .44 Remington Magnum, .44 AutoMag; also used in black-powder firearms + + + + + .444 Marlin + + + + + .45 ACP, .455 Webley, .45 AutoRim, .45 Long Colt, .45 Winchester Magnum + + + + + .455 Webley or .455 Manstopper + + + + + .45-70 U.S. Government + + + + + .458 Winchester Magnum + + + + + .460 Weatherby Magnum + + + + + .50 Browning Machine Gun, .50 Action Express; also used in black-powder firearms + + + + + Typically used in black-powder firearms + + + + + 5.56x45 mm NATO/.223 Remington + + + + + Typically used in black-powder firearms; also .577 Nitro Express elephant gun + + + + + 6 mm Remington, .243 Winchester, .240 Weatherby Magnum + + + + + Typically used in black-powder firearms; also the .600 Nitro Express elephant gun + + + + + 6.35 mm/.25 ACP + + + + + 6.5 mm Carcano; may also appear as .65 caliber on black-powder firearms + + + + + 7 mm Remington Magnum, 7 mm Bench Rest, 7 mm-08, 7 mm Weatherby Magnum, 7x57 Mauser, 7.7 Arisaka, .280 Remington, etc. + + + + + 7.35 mm/.32 ACP + + + + + Could either be a metric caliber (7.5 mm) or a .75 caliber. Use the MIS Field to further clarify. + + + + + 7.62x39 Soviet, 7.62x51 NATO/.308 Winchester, 7.62x54R used in Russian Moisin-Nagant and Dragunov riflle + + + + + 7.63 mm/.30 Mauser, 7.62 mm Tokarev + + + + + 7.65 mm Luger/.30 Luger + + + + + 8x57 Mauser, 8 mm Lebel, 8 mm Remington Magnum + + + + + 9 mm Luger/Parabellum/9x19, 9 mm Kurz/Corto/9x17 (.380 ACP), 9 mm Winchester Magnum, 9 mm Browning Long, 9 mm Steyr, 9 mm Bergmann-Bayard, 9 mm Makarov/9x18, 9x21, 9x23/Largo, etc. + + + + + Used for grenade launchers and guns that fire electrically charged darts. + + + + + + + A data type for Gun caliber. + + + + + + + + + + + + + A data type for Caution/Medical Conditions. + + + + + + + + ARMED AND DANGEROUS + + + + + OTHER + + + + + VIOLENT TENDENCIES + + + + + MARTIAL ARTS EXPERT + + + + + EXPLOSIVE EXPERTISE + + + + + KNOWN TO ABUSE DRUGS + + + + + ESCAPE RISK + + + + + SEXUALLY VIOLENT PREDATOR - CONTACT ORI FOR DETAILED INFORMATION + + + + + INTERNATIONAL FLIGHT RISK + + + + + HEART CONDITION + + + + + ALCOHOLIC + + + + + ALLERGIES + + + + + EPILEPSY + + + + + SUICIDAL + + + + + MEDICATION REQUIRED + + + + + HEMOPHILIAC + + + + + DIABETIC + + + + + + + A data type for Caution/Medical Conditions. + + + + + + + + + + + + + A data type for kinds of drugs. + + + + + + + + crack cocaine + + + + + cocaine + + + + + hashish + + + + + heroin + + + + + marijuana + + + + + morphine + + + + + opium + + + + + other narcotics + + + + + LSD + + + + + PCP + + + + + other hallucingens + + + + + meth/ amphetamines + + + + + other stimulants + + + + + barbiturates + + + + + other depressants + + + + + other drugs + + + + + unknown + + + + + more than 3 types + + + + + + + A data type for the kinds of measurements used to specify a quantity of drugs or narcotics. + + + + + + + + Dosage Units/Items + + + + + Fluid Ounce + + + + + Gallon + + + + + Gram + + + + + Kilogram + + + + + Pound + + + + + Liter + + + + + Milliliter + + + + + Number of Plants + + + + + Ounce + + + + + Not Reported + + + + + + + A data type for the kinds of measurements used to specify a quantity of drugs or narcotics. + + + + + + + + + + + + + A data type for Eye Color. + + + + + + + + BLACK + + + + + BLUE + + + + + BROWN + + + + + GREEN + + + + + GRAY + + + + + HAZEL + + + + + MAROON + + + + + MULTICOLORED + + + + + PINK + + + + + UNKNOWN + + + + + + + A data type for Eye Color. + + + + + + + + + + + + + A data type for Gun Color Finish. + + + + + + + + Beige + + + + + Black + + + + + Blue + + + + + Brown + + + + + Bronze + + + + + Camouflage + + + + + Chrome, Stainless Steel + + + + + Copper + + + + + Cream, Ivory + + + + + Blue, Dark + + + + + Green, Dark + + + + + Gold + + + + + Green + + + + + Gray + + + + + Lavendar + + + + + Blue, Light + + + + + Green, Light + + + + + Maroon, Burgundy + + + + + Orange + + + + + Purple + + + + + Pink + + + + + Red + + + + + Silver, Aluminum + + + + + Tan + + + + + Turquoise + + + + + White + + + + + Yellow + + + + + + + A data type for Gun Color Finish. + + + + + + + + + + + + + A data type for Hair Color. + + + + + + + + Black + + + + + Blond or Strawberry + + + + + Blue + + + + + Brown + + + + + Green + + + + + Gray or Partially Gray + + + + + Orange + + + + + Purple + + + + + Pink + + + + + Red or Auburn + + + + + Sandy + + + + + White + + + + + UNKNOWN OR COMPLETELY BALD + + + + + + + A data type for Hair Color. + + + + + + + + + + + + + A data type for Boat Hull Shape. + + + + + + + + CATAMARAN + + + + + DEEP-V + + + + + FLAT BOTTOM + + + + + OTHER + + + + + PONTOON + + + + + ROUND BOTTOM + + + + + SEMI-V + + + + + TRI-HULL + + + + + TUNNEL + + + + + + + A data type for Boat Hull Shape. + + + + + + + + + + + + + A data type for Boat Hull Type. + + + + + + + + Metal (aluminum, steel, etc.) + + + + + Other + + + + + Plastic (fiberglass, uniglass, etc.) + + + + + Wood (cedar, plywood, fir, etc.) + + + + + + + A data type for Boat Hull Type. + + + + + + + + + + + + + A data type for License State. + + + + + + + + Albania + + + + + Alberta + + + + + Andorra + + + + + Anguilla + + + + + Afghanistan + + + + + Aguascalientes + + + + + Ashmore and Cartier Islands + + + + + Antigua and Barbuda (formerly Antigua) + + + + + Aruba (now independent of NetherlandsAntilles) + + + + + Alaska + + + + + Alabama + + + + + American Samoa (Islands) + + + + + Algeria + + + + + Angola + + + + + Armenia + + + + + Azores Islands + + + + + Arkansas + + + + + Australia + + + + + Argentina + + + + + Austria + + + + + Azerbaijan + + + + + APACHE TRIBE + + + + + Arizona + + + + + Baja California (Northern Section) + + + + + Barbados + + + + + British Columbia + + + + + Bahamas, The + + + + + Bahrain/Bahrein + + + + + Bassas Da India (French possession) + + + + + Belgium + + + + + Belize (formerly British Honduras) + + + + + Burundi + + + + + Baja California (Southern Section) + + + + + Baker Island + + + + + Bangladesh + + + + + Bermuda + + + + + Bhutan + + + + + British Indian Ocean Territory + + + + + Bosnia and Hercegovenia + + + + + Bouvet Island (Norwegian territory) + + + + + Burma + + + + + British Solomon Islands (now SolomonIslands) + + + + + Botswana + + + + + Bulgaria + + + + + Bolivia + + + + + Balearic Islands + + + + + Brunei + + + + + Byelarus + + + + + Brazil + + + + + California + + + + + Colombia + + + + + Cuba + + + + + Canada(See separate list of CanadianProvinces; use code CD only whenprovince is unknown.) + + + + + Campeche + + + + + Chad + + + + + Caroline Islands + + + + + Chihuahua + + + + + Chiapas + + + + + Cambodia (formerly Khmer Republic& Kampuchea) + + + + + Colima + + + + + Cameroon + + + + + Colorado + + + + + Cayman Islands + + + + + Chile + + + + + Costa Rica + + + + + Cyprus + + + + + Connecticut + + + + + Coahuila + + + + + Cape Verde Islands + + + + + Central African Republic + + + + + Ceylon (Now Sri Lanka) + + + + + Canal Zone + + + + + CHEYENNE & ARAPAHO TRIBES + + + + + Clipperton Island (French possession) + + + + + District of Columbia + + + + + Cocos (Keeling) Islands (Australiandependency) + + + + + Delaware + + + + + Distrito Federal (Mexico, D. F.) + + + + + Comoros (or Comoros Islands) + + + + + Benin (formerly Dahomey) + + + + + Cook Islands + + + + + Coral Sea Islands (Australian territory) + + + + + Denmark + + + + + Devil's Lake Sioux Tribe + + + + + Dominica + + + + + Djibouti + + + + + Durango + + + + + COMANCHE NATION + + + + + Dominican Republic + + + + + MIAMI TRIBE + + + + + MUSCOGEE (CREEK) TRIBE + + + + + SENECA-CAYUGA TRIBES + + + + + CITIZEN BAND POTTAWATOMIE TRIBE + + + + + Absentee Shawnee + + + + + Equatorial Guinea + + + + + El Salvador + + + + + England + + + + + Ethiopia + + + + + Europa Island (French possession) + + + + + Estonia + + + + + Eretria + + + + + Ecuador + + + + + Egypt (formerly United Arab Republic) + + + + + Czech Republic + + + + + Falkland Islands + + + + + Fond du Lac + + + + + Finland + + + + + French Guiana + + + + + Fiji + + + + + Florida + + + + + France + + + + + Faroe Islands + + + + + French Polynesia + + + + + French Southern and Antartic Lands + + + + + Federated States of Micronesia + + + + + Sac & Fox + + + + + Georgia + + + + + Gabon + + + + + Greece + + + + + Georgia + + + + + Germany (East Germany: 1945-1989,for reference only)(West Germany: 1945-1989, for referenceonly) + + + + + Guernsey + + + + + Ghana + + + + + Guinea + + + + + Grenada + + + + + Gambia, The + + + + + Guam + + + + + Greenland + + + + + Glorioso Islands (French possession) + + + + + Guadeloupe + + + + + Guerrero + + + + + South Georgia and the South SandwichIslands + + + + + Guatemala + + + + + Guanajuato + + + + + Guyana + + + + + Gaza + + + + + Honduras + + + + + Heard Island and McDonald Island + + + + + Hawaii + + + + + Hong Kong + + + + + Hidalgo + + + + + New Hebrides (now Vanuatu) + + + + + Howland Island + + + + + Christmas Island + + + + + Saint Helena + + + + + Haiti + + + + + Hungary + + + + + Iowa + + + + + Isle of Man + + + + + Iceland + + + + + Idaho + + + + + Ireland (does not include NorthernIreland, see Northern Ireland) + + + + + India + + + + + Illinois + + + + + Madeira Islands + + + + + Indiana + + + + + Indonesia (now includes Portuguese Timor) + + + + + Iraq + + + + + Iran + + + + + Israel + + + + + Italy (includes Sicily and Sardinia) + + + + + Niue + + + + + IOWA TRIBE + + + + + Menominee + + + + + Cote d'Ivoire (Ivory Coast) + + + + + Japan + + + + + Jersey + + + + + Johnston Island + + + + + Jalisco + + + + + Jamaica + + + + + Jan Mayen + + + + + Jordan + + + + + Jarvis Island + + + + + Juan de Nova Island + + + + + Gilbert Islands (now Kiribati) + + + + + Croatia + + + + + Kenya + + + + + Manahiki Island + + + + + Kingman Reef + + + + + KICKAPOO TRIBE + + + + + North Korea + + + + + South Korea + + + + + Shakopee + + + + + Kansas + + + + + Kazakhstan + + + + + Kuwait + + + + + Kiowa + + + + + Kentucky + + + + + Kyrgyzstan + + + + + Louisiana + + + + + Liberia + + + + + Mille Lacs + + + + + Moldova + + + + + Lesotho + + + + + Slovakia + + + + + Lithuania + + + + + Liechtenstein + + + + + Leech Lake Band of Chippewa + + + + + Lebanon + + + + + Slovenia + + + + + Lac du Flambeau Band of Lake SuperiorChippewa + + + + + Laos + + + + + LATVIA + + + + + Saint Lucia + + + + + Luxembourg + + + + + Libya + + + + + Massachusetts + + + + + Manitoba + + + + + Michoacan + + + + + Maryland + + + + + Maine + + + + + Malawi + + + + + Mongolia + + + + + Marshall Islands + + + + + Michigan + + + + + Monaco + + + + + Mariana Islands + + + + + Mali + + + + + Mexico (See separate list of MexicanStates; use code MM only when state isunknown) + + + + + Minnesota + + + + + Missouri + + + + + Madagascar (included in Malagasy Republic) + + + + + Morocco + + + + + Morelos + + + + + Mississippi + + + + + Montana + + + + + Mauritania + + + + + Maldives + + + + + Midway Islands + + + + + Mexico (State) + + + + + Malta + + + + + Malaysia + + + + + Nayarit + + + + + Nebraska + + + + + North Carolina + + + + + North Dakota + + + + + Holland (Netherlands) + + + + + Newfoundland (includes Labrador) + + + + + Nigeria + + + + + New Hampshire + + + + + Northern Ireland + + + + + New Jersey + + + + + New Brunswick + + + + + Nuevo Leon + + + + + New Mexico + + + + + Niger + + + + + New Guinea (now Papua New Guinea) + + + + + Nepal + + + + + New Caledonia + + + + + Nauru + + + + + Nova Scotia + + + + + Northwest Territories + + + + + Nicaragua + + + + + Nevada + + + + + Norway + + + + + Bonaire (Netherlands Antilles) + + + + + New York + + + + + New Zealand + + + + + Oaxaca + + + + + Macao (now spelled Macau) + + + + + Norfolk Island + + + + + OSAGE NATION + + + + + Ohio + + + + + Okinawa + + + + + Oklahoma + + + + + Oman + + + + + Ontario + + + + + OTOE-MISSOURIA TRIBE + + + + + Oregon + + + + + Oglala Sioux + + + + + Oneida Tribe of Indians of Wisconsin + + + + + Pennsylvania + + + + + Puebla + + + + + Pitcairn,Henderson, Ducie, and OenoIslands + + + + + Palau, Republic of + + + + + Prince Edward Island + + + + + Parcel Islands + + + + + Guinea-Bissau (formerly Portuguese Guinea) + + + + + Philippines + + + + + Pakistan + + + + + Palmyra Atoll + + + + + Panama + + + + + PONCA TRIBE + + + + + Poland + + + + + Quebec + + + + + Puerto Rico + + + + + Saint Pierre and Miquelon + + + + + Portugal + + + + + Peru + + + + + Paraquay + + + + + PAWNEE TRIBE + + + + + Qatar + + + + + Quintana Roo + + + + + Queretaro + + + + + Russia + + + + + Republic of Congo, Brazzaville + + + + + People's Republic of China + + + + + Reunion + + + + + Russian Federation + + + + + Gibraltar + + + + + Rhodesia (now Zimbabwe) + + + + + Rhode Island + + + + + Red Lake + + + + + Montserrat + + + + + Spanish Sahara (now Western Sahara) + + + + + Romania/Rumania + + + + + Socialist Republic of Vietnam + + + + + Rwanda + + + + + Republic of Yemen + + + + + Sierre Leone (Sierra Leone) + + + + + Saudi Arabia + + + + + South Carolina + + + + + South Dakota + + + + + Seychelles + + + + + South Africa + + + + + Senegal + + + + + San Marino + + + + + Sinaloa + + + + + Namibia (South-West Africa) + + + + + SEMINOLE NATION + + + + + San Luis Potosi + + + + + Somalia + + + + + Saskatchewan + + + + + Sonora + + + + + Spain + + + + + Sweden + + + + + Singapore + + + + + Scotland + + + + + Sudan + + + + + Svalbard + + + + + Swaziland + + + + + Syria + + + + + Switzerland + + + + + Tamaulipas + + + + + Tabasco + + + + + Trucial States (now United Arab Emirates) + + + + + Trust Territory of the Pacific Islands + + + + + Spratly Islands + + + + + Tuamotu Archipelago + + + + + Tonga + + + + + Thailand + + + + + Tajikistan + + + + + Tokelau + + + + + Tlaxcala + + + + + Tromelin Island (French possession) + + + + + Tennessee + + + + + Togo + + + + + Sao Tome and Principe + + + + + Turks and Calcos Islands + + + + + Nevis and Saint Christopher "Kitts" + + + + + Trinidad and Tobago + + + + + Tunisia + + + + + Ellice Islands (now Tuvalu) + + + + + Taiwan, Republic of China + + + + + Texas + + + + + Turkey + + + + + Tanzania, United Republic of + + + + + Turtle Mtn. Band of Chipewa + + + + + Uganda + + + + + Ukraine + + + + + Mauritius + + + + + Turkmenistan + + + + + United States of America (USA) (Should beused in the following circumstances:1. To indicate the LIS + + + + + Utah + + + + + Burkina Faso (known as Burkina,formerly Upper Volta) + + + + + Uruguay + + + + + Uzbekistan + + + + + Virginia + + + + + British Virgin Islands + + + + + Veracruz + + + + + U.S. Virgin Islands + + + + + Navassa Island + + + + + Vermont + + + + + Saint Vincent and the Grenadines + + + + + Vatican City + + + + + Venezuela + + + + + Washington + + + + + West Bank + + + + + WYANDOTTE TRIBE + + + + + White Earth + + + + + Wallis and Futuna (French territory) + + + + + Wisconsin + + + + + Wake Island + + + + + Wales + + + + + West Indies (for West Indies Islands notfound separately listed) + + + + + Western Samoa + + + + + WICHITA TRIBE + + + + + West Virginia + + + + + Wyoming + + + + + Unknown Place of Birth (for use in IIIrecords only) + + + + + Yugoslavia + + + + + Mayotte + + + + + Yukon (Territory) + + + + + Yucatan + + + + + All others (Any foreign country/dependency/territory not included inthe above abbreviation list is t + + + + + Zacatecas + + + + + Martinique + + + + + Surinam + + + + + Macedonia + + + + + Canary Islands + + + + + Zambia + + + + + Mozambique + + + + + Congo Kinshasa, now Zaire + + + + + + + A data type for License State. + + + + + + + + + + + + + A data type for State/Country Index. + + + + + + + + ALBERTA + + + + + ALASKA + + + + + ALABAMA + + + + + ARKANSAS + + + + + ARIZONA + + + + + BRITISH COLUMBIA + + + + + CALIFORNIA + + + + + OTHER CANADA + + + + + COLORADO + + + + + CONNECTICUT + + + + + WASHINGTON D.C. + + + + + DELAWARE + + + + + ENGLAND + + + + + FLORIDA + + + + + GEORGIA + + + + + GUAM + + + + + HAWAII + + + + + IOWA + + + + + ROYAL CANADIAN MP + + + + + IDAHO + + + + + ILLINOIS + + + + + INDIANA + + + + + ITALY + + + + + KANSAS + + + + + KENTUCKY + + + + + LOUISIANA + + + + + MASSACHUSETTS + + + + + MANITOBA + + + + + MARYLAND + + + + + MAINE + + + + + MICHIGAN + + + + + MINNESOTA + + + + + MISSOURI + + + + + MISSISSIPPI + + + + + MONTANA + + + + + MEXICO CITY + + + + + NEBRASKA + + + + + NORTH CAROLINA + + + + + NORTH DAKOTA + + + + + NEWFOUNDLAND + + + + + NEW HAMPSHIRE + + + + + NEW JERSEY + + + + + NEW BRUNSWICK + + + + + NEW MEXICO + + + + + NOVA SCOTIA + + + + + NORTHWEST TERRITORIES + + + + + NEVADA + + + + + NEW YORK + + + + + OHIO + + + + + OKLAHOMA + + + + + ONTARIO + + + + + OREGON + + + + + PENNSYLVANIA + + + + + PRINCE EDWARD ISLAND + + + + + QUEBEC + + + + + PUERTO RICO + + + + + RHODE ISLAND + + + + + SOUTH CAROLINA + + + + + SOUTH DAKOTA + + + + + SASKATCHEWAN + + + + + TENNESSEE + + + + + TEXAS + + + + + UNITED STATES + + + + + UTAH + + + + + VIRGINIA + + + + + VIRGIN ISLANDS + + + + + VERMONT + + + + + WASHINGTON + + + + + WISCONSIN + + + + + WEST VIRGINIA + + + + + WYOMING + + + + + YUKON + + + + + + + A data type for State/Country Index. + + + + + + + + + + + + + A data type for Gun Make. + + + + + + + + AA Arms Corp.Model Hill, NC + + + + + AMERICAN ARMS/DELTA SPARKS,NEVADA + + + + + American Arms InternationalSalt Lake City, UT + + + + + Arkawa Kogyo K. K.Mfr. of rifles + + + + + ArmaliteUse AAL only when model is otherthan listed + + + + + American Arms & Ammo + + + + + American Arms, Inc.Garden Grove, CA + + + + + ARLINGTON WA ARNOLD ARMS + + + + + Armi Atis S. R. L. + + + + + Abercrombie & Fitch (A & F)Importer only + + + + + A. B. Distributors + + + + + Abadie + + + + + ARAMBERRY HERMANOS + + + + + Abesser & Merel + + + + + Arcus CompanyMfr.of 9mm semiautomatic pistolsrcus 94) + + + + + ArcoaSee Arms Corp. of America + + + + + Accu-TecChino, California + + + + + Acha/Acha Hermanos + + + + + Acier Comprime + + + + + Ackley, P. O.Mfr. of rifles. Importer + + + + + Action Arms Ltd.Importer for Britarms of England + + + + + Arrizabalaga, Calixto + + + + + Arms Corp. of AmericaBaltimore, Maryland + + + + + Amerigo Cosmi + + + + + Action/Action 1920 ModelMade by Modesto Santos + + + + + Accu-Match InternationalMesa,AZ + + + + + Adams + + + + + Aguirre, Pedro ArosaMfr. of shotguns + + + + + ARES DEFENSE SYSTEMS BLACKSBURG, VA + + + + + Adler/Adlerwaffenwerke + + + + + Aldens (Chieftan)Mfd. by Savage + + + + + ADVANCED ARMAMENTS, INC., TEXAS; MAKER OF RIFLES + + + + + Armeria El Cazador + + + + + Ameetec + + + + + BERSA/BERSA PICCOLAMADE BY INDUSTRIA ARGENTINA, MAHELY BRAND RIFLES ETC. + + + + + American ArmsNorth Kansas City, Missouri + + + + + AMERO ESPEEIALISTAS REUNIDAS + + + + + Aetna Arms Co. + + + + + AMERICAN FRONTIER FIREARMS + + + + + American Firearms Mfg. Co..38 single-shot derringer andstainless .25 automatic + + + + + Armory Gun Co.Mfr. of shotguns + + + + + Atkin, Grant & Lang + + + + + Agramonte, EdImporter only + + + + + Agristin-Farar-Espana + + + + + August Schuler + + + + + Aguirre y Aranzabal + + + + + Aguro + + + + + Agawam Arms + + + + + Alpha Arms + + + + + AIMCO HOUSTON, TX SEE ARMAS INTERNATIONAL MANUFACTURING CO. + + + + + Amtec 2000Gardner, MA; manufactures revolvers + + + + + American Industries Inc.Model Calico + + + + + Aiken, Henry + + + + + Accuracy International LimitedHampshire, England; Mfr. of rifles. + + + + + American Import Co. (Taico)Importer only + + + + + Armitage InternationalSeneca SC + + + + + A. Joseph Defourny + + + + + Alexander James Ordnance + + + + + AKKAR SILAH SANAYI TIC, LTD. IZMIR, TURKEY TRADENAME HATSAN + + + + + Akliengesellschaft + + + + + Alkar/AlkartasunaBrand names of Alkartasuan Fabricade Armas + + + + + AkahDistributed and imported byAlbrecht Kind + + + + + Armeria El Ciervo + + + + + AAA/AAA Model 1919Trademark of Aldazabal + + + + + Allen, Ethan, & Co. + + + + + AlfaTrademark of Adolf Frank Co. + + + + + Allies + + + + + AlamoAlso brand name of Stoeger on Rohmrevolver and Alamo Leather Co.on High Standard revolver. + + + + + Allen + + + + + ALPINE INDUSTRIES + + + + + Allied Arms + + + + + Allen & Wheelock + + + + + AlexiaMfr. of revolvers + + + + + ALCHEMY ARMS COMPANY; AUBURN, WASHINGTON + + + + + American Arms Co. + + + + + America S. A. + + + + + American ClubMfr. of shotguns + + + + + American Derringer Corp.Distributed by Early & ModernFirearms + + + + + American Craftsmen + + + + + American Firearms Corp. + + + + + American Standard Tool Co.Mfr. of revolvers + + + + + American Derringer Co.Waco, TX + + + + + American Steam Works + + + + + Ames, N. P. + + + + + ArmsportImporter + + + + + Amadeo Rossi & Co. + + + + + Amsden, R. W. + + + + + AMT (Arcadia Machine & Tool)Mfr. of frames and stainlesspistols + + + + + Amuategui, Martin + + + + + American S & W + + + + + Anciens Establishments Pieper + + + + + Andrus & Osborn + + + + + AvengerRevolvers + + + + + ARSENAL INC.; LAS VEGAS, NEVADA **DO NOT CONFUSE WITH: ARSENAL OF BULGARIA OR ARSENAL USA + + + + + Arizmendi, Norberto + + + + + Anschutz + + + + + Anson & DeeleyMfr. of shotguns + + + + + Angelo ZoliNot to be confused with AntonioZoli + + + + + Areito-Auriena + + + + + Auto-Ordnance Corp.Mfr. of submachine guns & semi-automatic rifles + + + + + Antonio Gil & Co. + + + + + ApacheMfr. of .45 carbines + + + + + AIM, INCORPORATED; PARTON, MARYLAND + + + + + Apaolozo/Apaolozo Hermanos + + + + + ApolloSee Voere + + + + + Armscor PrecisionImporter + + + + + AMERICAN SPIRIT ARMS CORP. + + + + + Arana y CieMfr. of revolvers + + + + + AR-7 INDUSTRIES + + + + + Armigas-Comega + + + + + Arizaga, Eusebio + + + + + Armaf S. A. + + + + + Argler + + + + + Armament Technology Corp. + + + + + Arisaka + + + + + AristocratBrand name of Supple-Biddle Hdw.or model of Stevens + + + + + Arizaga, CasparMfr. of shotguns + + + + + Arlington OrdnanceWeston, CT; importer - reimportssurplus US military weaponsshipped overseas (M1 Ga + + + + + ArminexScottsdale, AZ + + + + + ArminiusNot a make, but a brand mfd. byHerman Weihrauch, F. I. E. &others + + + + + Arriola + + + + + Armera + + + + + Campeon/Campeon PatentModel of Hijos de C. Arrizabalaga + + + + + A. R. Sales Co.Mfr. of .45 pistol frames + + + + + Artigis + + + + + Arva + + + + + Aramberri, Victor, & Sons + + + + + Arizmendi, Francisco + + + + + AustraliaCode by country if make cannot bedetermined + + + + + Advanced Small Arms IndustriesSolothurn,Switzerland + + + + + ARMI SPORT; BRESCIA, ITALY - MAKER OF REPRODUCTION FIREARMS + + + + + Ascaso, F. + + + + + Ashton (P. H. or W.) + + + + + Arsenal USA, LLC + + + + + Armi San MarcoReplicas of antiques + + + + + AustenMilitary weapons, see Sten + + + + + Aston (W. or H.) + + + + + Armi San Paolo + + + + + Ardessa + + + + + Astra + + + + + ArgentinaCode by country if make cannot bedetermined + + + + + Artistic ArmsMfr. of rifles + + + + + ATC + + + + + Advantage ArmsSt. Paul, Minnesota + + + + + Arms Technology + + + + + AtlasImporter/Distributor + + + + + Ata Arms + + + + + AUTO NINE CORP. PARMA, ID + + + + + Australian Arms + + + + + Armi Tecniche de EmilioBressicia, Italy + + + + + AustriaCode by country if make cannot bedetermined + + + + + Aurora + + + + + A. J. AubreyMfd. for Sears + + + + + Automatic Model 1924 + + + + + Automatic ArmsSouth Carolina + + + + + Automatic Pistole ZKPMilitary weapons + + + + + Auto MagSee T.D.E. or Jurras + + + + + Autograde + + + + + Automatique FrancaiseSee Societe D'Armes + + + + + ADVANCED ARMAMENT, GEORGIA; MAKER OF SILENCESR AND OTHER FIREARM ACCESORIES + + + + + Avion/Avion PistoletMade by Azpiri + + + + + Avant Industries + + + + + AMERICAN WESTERN ARMS; DEL RAY BEACH, FLORIDA + + + + + American Weapons Corp.Importer + + + + + AWI + + + + + A W C SYSTEMS TECHNOLOGY + + + + + APACHE TRIBE + + + + + Alexander Arms + + + + + MatadorShotgun model of AYA + + + + + AGUIRRE Y CIA + + + + + Arizmendi y Zulaica + + + + + AA Modelo 1916Model of Arrizabalaga & Azanza + + + + + Arrieta & AzcoagaImported by Galesi + + + + + Antonio AspiriMfr. of pistols, see Colon B. H. + + + + + Anzio Ironworks + + + + + BA + + + + + BALLARD ARMS LYNNDYL, UT .50 CALIBER RIFLE + + + + + BabyVarious mfrs. + + + + + B. A. Co.Bacon Arms Co. + + + + + Ballester-Riguad + + + + + Barker, T.Sold by Crescent, H & D Folsom,and Iver Johnson + + + + + Ballard & Fairbanks + + + + + Barrenechea & GallestegueAuto Pistols + + + + + Bailey, Thomas + + + + + Baker Gun Co.Imported or mfd. by Crescent + + + + + Baltimore Arms Co. + + + + + Angelo & Emelis Boniotti + + + + + Basculant + + + + + Batavia/Batavia LeaderModel of Crescent or Baker + + + + + Bauer Firearms Corp.Mfr. of pistols + + + + + Baldwin Co.Mfr. of shotguns + + + + + Baby DragoonVarious mfrs. including Colt inearly 1800's + + + + + Big Bear ArmsImporter. + + + + + Berben Corp.Importer of Beretta + + + + + Boston Bull Dog + + + + + Beebe Arms Co.Brand of Marlin or Remington + + + + + Bruno BologniniGardone, Italy + + + + + B. C. Automatic + + + + + BeckerMfr. of shotguns + + + + + BredaPistols + + + + + Broadhead ArmoryWyandotte, MI + + + + + BORDENS ACCURACY SHOP SPRINGVILLE, PA BENCHREST RIFLES + + + + + Beaumont-Vitali + + + + + Bergereon + + + + + Becker & Hollander + + + + + Bernedo + + + + + Beesley + + + + + BerdanEarly arms mfr. + + + + + Bergmann, Theodor + + + + + Beistegui + + + + + Ben Franklin + + + + + Berkshire + + + + + Amr ModelModel of Bernardelli + + + + + Bernardon-Martin + + + + + Berent Steel Co.Importer only + + + + + BantamModel mfd. by Beretta + + + + + Berns WholesaleImporter/Distributor + + + + + B. F. Arms Manufacturer + + + + + Bonnell Firearm Co. + + + + + Baford ArmsBristol, TN; mfr. "Thunder", amulticaliber derringer + + + + + Buffalo Arms Corp. + + + + + Belgique/BelgiumCode by country if make cannot bedetermined + + + + + Baby HammerlessModel of Sedgley or variousother manufacturers + + + + + B & H Small ArmsMfr. of handguns and rifles + + + + + Belknap HardwareUse BHE only when model is otherthan listed + + + + + BahiaTwo-barrel pistols + + + + + Big Horn Arms + + + + + B. H. + + + + + BushmasterMfd. by Gwinn Firearms + + + + + BII Sales + + + + + Bijou + + + + + Bittner, Gustav + + + + + BIZZINI + + + + + Belategui, Juan Antonio + + + + + Blue HenBrand name of Jellico Hardware + + + + + BenjaminMfr. of air guns + + + + + Bjorgum + + + + + Bellmore-Johnson Tool Co. + + + + + Blaser Jagdwaffen gmbh.Isny/Allgau, Germany + + + + + Buckeye Gun Co.Mfr. of shotguns + + + + + BaikalMfr. of shotguns + + + + + Blumenfeld Imports Co.Importer + + + + + Ball & WilliamsMfd. by C. H. Ballard + + + + + AmericaBrand name of Bliss & Goodyear + + + + + Bluegrass Armory + + + + + Blunt & Syms + + + + + BMMfr. of shotguns + + + + + Briley Mfg LicHouston,TX + + + + + Beeman + + + + + Bond ArmsGranbury,TX; makes Remington typeer/under Derringer + + + + + BurnsidesMfr. of Civil War carbines + + + + + Andrea Benetti + + + + + Benelli S.P.A. + + + + + Bascaran, Martin A. + + + + + BonanzaBacon Mfg. Co. + + + + + Bobcat Weapons, Inc. + + + + + BohicaLoveland, CO; Mfr. AR-15 rifles. + + + + + Borchers + + + + + Amantino, E. R.Previously Boito. Guns are nowmarked ERA + + + + + BojhoYugoslavian Army marks on Browning1922 + + + + + Boone, DanielDistributed by Belknap Hardware.Several mfrs. + + + + + Borchardt, Hugo + + + + + Boss & Co. + + + + + Boltun + + + + + Bolumburu, Gregorio + + + + + BockDouble-barrel pistols + + + + + Armas Bost + + + + + Brazier + + + + + Brandon + + + + + BALLARD RIFLE & CARTRIDGE, LLC CODY, WY + + + + + Bristol Firearms Co. + + + + + Black PrinceBrand name of Bridge Gun Co. + + + + + Brooklyn Arms Co. + + + + + Bauer, KarlDistributor + + + + + BrenSubmachine gun + + + + + American Browning + + + + + BLUE RIDGE PRECISION GUNWORKS FT. HILL, SC + + + + + Browerduit + + + + + Barett Firearms Manufacturing50 caliber riflesMurfeesboro, TN + + + + + Brevettate Industria ArmiShotguns + + + + + Brown Mfg. Co. + + + + + Brixia (Military Model)Italian copy of Walther + + + + + Bryco Arms + + + + + Brno Zbrojovka + + + + + BesaMfd. by BSA (Copy of two-barrel.37 machine gun) + + + + + Brescia Armas + + + + + Bayerische Sportwaffenfabrik + + + + + Bes-Tof-AlBrand of shotgun + + + + + Beschi, MarioMfr. of shotguns + + + + + BAR-STO PRECISION TWENTY-NINE PALMS, CA + + + + + BS or B/S + + + + + Berlin Suhler Waffen + + + + + Benet ArmsImporter + + + + + British EnfieldMilitary Surplus + + + + + Belmont FirearmsMfr. of shotguns + + + + + Bul Transmark LtdTel Aviv, Isreal + + + + + BETTINSOLI TARCISIO; GARDONE, ITALY + + + + + Buffalo Arms Corp.Tonowanda, NY + + + + + Buchel + + + + + Buddie Arms Co. + + + + + Bullfighter + + + + + Burgess + + + + + Buhag + + + + + BulldogVarious mfrs. + + + + + Burgham + + + + + Bang UpTrade name Graham & Haines Co. + + + + + BaronessMfd. by Butler Associates, Inc. + + + + + Burgo/Burgsmueller, KarlImporter/Distributor only + + + + + Buscher Strotmodell + + + + + Butterfield, Jesse S. + + + + + Bussu + + + + + Brevez-AW.410 gauge single-shot shotgun + + + + + Bohnmische Waffenfabrik + + + + + B. West Imports IncTucson, AZ; manufactures AK-typereceiver. + + + + + Bowers IndustriesMfr. of Defender carbines + + + + + Berestian & Cia + + + + + BrazilCode by country if make cannot bedetermined + + + + + Berasaluze Areitio AurtenaMfr. of pistols + + + + + Bozard & Co.Mfr. of shotguns + + + + + BATTISTA RIZZINI; MARCHENO, ITALY + + + + + CarcanoItalian military rifles + + + + + CHARTER ARMS CORPORATION + + + + + CASCADE ARM; TERRE HAUTE , IN + + + + + Calvert, John + + + + + CafeldMfr. of cane guns + + + + + Campo GiroMade by Astra + + + + + Century Arms Inc.St. Albans, VT & Boca Raton, FLG/primarily importer + + + + + California Arms + + + + + Catabria + + + + + Capitan + + + + + Carolina Arms Co.Trade name of H & D Folsom andSmith Wadsworth. Brand name ofCrescent-Davis + + + + + Ca-Si + + + + + CATCONapa,CA + + + + + CauceleguiMfr. of handguns + + + + + Cavalry Arms Corp. + + + + + Colombia Fuerzas MilitaresMilitary weapon + + + + + Cobb Mfg. + + + + + CBC (Cia Brazileria de Cartuchos) + + + + + COBRA ENTERPRISES; SALT LAKE CITY, UTAH + + + + + Competitor Corporation Inc.Groton, MA; manufactures theCompetitor-Rotary actionsingle-shot pistol. + + + + + CHARCO; SHELTON, CT WAS SUCCESSOR TO CHARTER ARMS + + + + + Cascade Arms + + + + + CLASSIC DOUBLES; KODENSHA,TOCHIGI CITY JAPAN; MADE IN JAPAN AND IMPORTED + + + + + CDM (Criterion Die & Machine Co.)Mfr. of handguns + + + + + Centaure + + + + + Celta + + + + + CesarUnknown mfr. + + + + + CETMESee also Heckler & Koch + + + + + Cherry's Fine Guns + + + + + Champlin Firearms Inc.Mfr. of deluxe rifles + + + + + CephyrBrand name of Stoeger + + + + + Caesar Guerini + + + + + C. H. + + + + + Chatellerault + + + + + Chicago + + + + + Chantecler + + + + + Charles DalyBrand of shotgun + + + + + Charles Lancaster & Co.Multibarreled pistols + + + + + Chicago Firearms, Inc.Mfr. of derringers + + + + + CHRISTENSEN ARMS; FAYETTE, UT + + + + + Cherokee Arms Co.Trade name of H & D Folsom + + + + + Churchill, E. J., Ltd. + + + + + Chimere Reinoir + + + + + Chan Chan + + + + + Chicago Arms Co. + + + + + Chicago Derringer Corp. + + + + + CHAPUIS FRANCE + + + + + Chamelot TypeImported from Italy + + + + + Charola-AnituaBergmann copy + + + + + Chylewski + + + + + CheyenneBrand name of American Import Co.and others + + + + + Century International Arms, Inc.St. Albans, VT; importer for BRNO,FEG, FAMAS, and NORINCO + + + + + Ciener, Jonathan ArthurMfr. of machine guns and silencers + + + + + Canadian Industries, Ltd. (C.I.L.)Use CIL only when model is otherthan listed + + + + + Cimarron Arms + + + + + CHINA JINGAN EQUIPMENT; BEIJING, CHINA + + + + + Chopitea Jose Maria + + + + + CzechoslovakiaCode by country if make cannot bedetermined + + + + + Central Kentucky Arms + + + + + CRAIG KLINTWORTH GUN & RIFLE MANUFACTURERS LTD. JOHANNESBURG,SOUTH AFRICA + + + + + Clabrough & Sons + + + + + Clic-ClacRevolver model + + + + + Claridge Hi-TecNorth Ridge, CA + + + + + Clement + + + + + Clair + + + + + Cannon BlockModel mfd. by Clerke + + + + + Climax + + + + + Classic ArmsMfr. of replicas + + + + + AceModel of Colt + + + + + Cleveland Arms Co. + + + + + Challenger Mfg. Co. + + + + + Century Manufacturing, Inc.Greenfield, IN + + + + + Covert Arms Mfg. CompanyEl Paso, TX + + + + + Continental Machine Tool Co., Inc. + + + + + CMMG, Inc. + + + + + Cougar ArmsLong guns + + + + + Cooksey Machine Shop + + + + + Clement-NeumannSemiautomatic carbines + + + + + China (prior to division in 1949)Code by country if make cannot bedetermined + + + + + COP, Inc. + + + + + Cuno Melcher + + + + + CONTINSOWLA + + + + + Coast-to-Coast StoresUse CO only when model is otherthan listed + + + + + CobraSemiautomatic pistols + + + + + Cobolt + + + + + Cockerill + + + + + Cody Mfg. Corp. + + + + + BulldozerModel of Connecticut Arms & Mfg.Co. + + + + + Colton Firearms Co.Mfr. of shotguns for Sears + + + + + Cogswell & Harrison + + + + + Coliat + + + + + Collath + + + + + ColonialSpanish mfr. Echeverria + + + + + Continental + + + + + Cooper Firearms Mfg. Co. + + + + + Continental Arms Co. + + + + + Constabler + + + + + Corrientes + + + + + Cooey + + + + + Cow BoyUnknown mfr. + + + + + Counet + + + + + Cow Boy RangerBrand of Rogers & Spencer + + + + + Corzo + + + + + Commercial Products + + + + + Chipmunk Mfg. Co.Medford, OR + + + + + Compass Lake Engineering + + + + + Champlin/Champlin-HasdinsMfr. of rifles + + + + + Component Metal ProductsAtlanta,GA + + + + + ChileCode by country if make cannot bedetermined + + + + + Craig + + + + + AjaxMfd. by Crescent + + + + + Crucelegui + + + + + Criolla + + + + + Crestwood Arms + + + + + Crosman Arms Co.Mfr. of air guns + + + + + Craft Product Co.Mfr. of handguns + + + + + Crucero + + + + + Carlo Riva + + + + + Crown City Arms + + + + + Bruno CastellaniMfr. of shotguns + + + + + Caspian Arms Ltd.Hardwick, VT + + + + + Crusader Arms Company + + + + + CROSSFIRE LLC LAGRANGE GA + + + + + CASUAL ARMS CORP. AFTON, WY + + + + + Coonan ArmsSt. Paul, MNMfgs. Coonan Stainless + + + + + CROSSFIRE + + + + + Centennial ArmsImporter only + + + + + Cotter & CompanyUse CTC only when model is otherthan listed + + + + + CHESTERFIELD ARMAMENT CHESTERFIELD, VA + + + + + Carlo CassartelliBrescia, Italy; mfr. of shotguns + + + + + CHARTER 2000; HUNTINGTON, CT,; DO NOT CONFUSE WITH CHARTER ARMS + + + + + CenturyMfr. of revolvers + + + + + Connecticut Valley Arms + + + + + CaverSingle-shot pistols + + + + + CALWESTCO Inc.Irwin, CA + + + + + CONTINENTAL WEAPONS LTD + + + + + CzarModel of Harrington & Richardson,Hood Firearms Co., and Hopkins& Allen + + + + + C Z U.S.A.; KANSAS CITY, KS + + + + + CHEYENNE & ARAPAHO TRIBES + + + + + DakinImporter, also see Union Armera ofSpain + + + + + Davis IndustriesChino, CA + + + + + Dance Bros. & Park + + + + + Davis ArmsMfrs. Davis Martin + + + + + Bird HunterModel of Darne shotguns + + + + + Daisy (Heddon)Mfr. of rifles and air guns + + + + + DakotaImported by EMF Co., Interarmco,and Salford Imports + + + + + DaredevilDistributed by Eppinger Gun Co. + + + + + Dardick Corp.Mfr. of pistols + + + + + Darling (B. or B. M.) + + + + + Daudeteau, L.Military weapons + + + + + Davis-Warner Arms Corp. + + + + + Davis GunsBrand name used by Crescent, Davis-Warner, and N. R. Davis & Sons + + + + + Dansk Rekylriffel Syndikat + + + + + Dubiel Arms Co. + + + + + DOUBLE STAR CORP., WINCHESTER, KENTUCKY + + + + + DAN COONAN INDUSTRIES; ALSO KNOWN AS DC INDUSTRIES; BLOOMINGTON, MINNESOTA + + + + + Dacin, Roger + + + + + Dornaus & Dixon Enterprises, Inc.Huntington Beach, CA + + + + + Demon "Marine" + + + + + Defense + + + + + Decker + + + + + Defender (handgun)Mfd. in U.S. by Iver Johnson + + + + + Defiance Mfr. Inc. + + + + + Degtyarev + + + + + Deringer, Henry, Sr. & Jr.Early mfr. of pistols and rifles + + + + + Decortis, G. + + + + + Dek-Du + + + + + Delphian Arms Co. + + + + + Delu, Fabrica D'Armes F. + + + + + Demontant + + + + + Demon + + + + + Derringer Corp. + + + + + Destroyer/Destroyer (Carbine)9mm police carbine + + + + + DetectiveBrand name of various mfrs. + + + + + Detroit Arms Co. + + + + + Deluxe (Pistol) + + + + + Deutsche Treff + + + + + DANL. FRASER & COMPANY; EDINBURGH, SCOTLAND + + + + + Diamond Arms Co. + + + + + Desert Industries IncLas Vegas,NV + + + + + DIKAR SPANISH MANUFACTURER (CVA-CT. VALLEY ARMS;IMPORTER OF THESE WEAPONS + + + + + DianaMfr. of shotguns + + + + + DicksonTrade name of various mfrs. + + + + + Diarm, S.A.Deba, Spain + + + + + Dickinson, E. L. + + + + + Dictator + + + + + Daiwa + + + + + Brown Bess (Grice)Musket--Imported by Dixie GunWorks + + + + + DenmarkCode by country if make cannot bedetermined + + + + + Dakota ArmsSturgie, SD; mfr. single-shotrifles based on 19th centurydesigns + + + + + Dickson CapitalBrand of shotguns + + + + + DokiMfr. of shotguns + + + + + Dlask Arms Corp. + + + + + Demain, Inc.Importer only + + + + + DIEMACO; CANADA + + + + + DamarTwo-barrel pistols + + + + + D. M. W. + + + + + D-Max IndustriesAlburn, WA + + + + + Denard, John C., Co.Distributor of firearms in Europe + + + + + Davis, N. R., & SonsMfr. of shotguns + + + + + D'Ordnance + + + + + Danok + + + + + Dorman + + + + + Domino.22 target pistols + + + + + Dormus + + + + + Dos Leones + + + + + Douglas + + + + + COMANCHE NATION + + + + + DAL PHON SA. SHELTON, WA + + + + + Defense Procurement ManufacturingServices, Inc.Becker, MN; does business as DPMSInc. + + + + + DreadnoughtMfd. in the U.S. by Hopkins & Allen + + + + + Demro Tac 1Demro Tac Products, Manchester, CT + + + + + Dreux + + + + + Drulov + + + + + MIAMI TRIBE + + + + + DSA INC.Round Lake,IL + + + + + Dschullnigg + + + + + Frank de HaasSingle-shot rifles + + + + + DiscoverBrand of shotguns + + + + + MUSCOGEE (CREEK) TRIBE + + + + + Defense Technology Corp. + + + + + DetonicsMfr. of handguns + + + + + Detonics USA + + + + + DucoBrand name of Dumoulin + + + + + Duo + + + + + Dutch HembrugMade for the Dutch military + + + + + SENECA-CAYUGA TRIBES + + + + + DavalonMfr. of shotguns + + + + + Davidson Firearms Co.Importer + + + + + AcmeBrand of Davenport + + + + + CITIZEN BAND POTTAWATOMIE TRIBE + + + + + Diawa + + + + + Deutsche Waffen & MunitionsSee D. W. M. + + + + + DaewooMfd. in Korea & imported to the USby Stoeger Industries, Inc.Hackensack, New Jersey + + + + + Dawson Precision + + + + + Dynamite NobelDistributor + + + + + European American Armory Corp.Hialeah, FL + + + + + Eastern SportsImporter for Dynamite Nobel + + + + + Eagle ArmsImported by J. L. Galef + + + + + European American Arms Corp. + + + + + EarthquakeBrand name of Dickinson Brothers + + + + + Arrostegui, Eulogio + + + + + Eastern Arms Co.Brand name of Meriden Firearms Co.and Stevens + + + + + E.A. BROWN MANUFACTURING ALEXANDRIA, MN SINGLESHOT PISTOLS + + + + + ED BROWN PRODUCTS INC. + + + + + BASQUEMODEL OF ECHASA - EIBAR ALSO SEE;ECHASA-ECHAVE ARIZMENDI + + + + + Eclipse + + + + + Buffalo ScoutImported by Excam + + + + + EclipseSee E. C. Meacham Arms Co. + + + + + ENCORE + + + + + Hijos de A. EcheverriaMfr. of Vesta + + + + + E. A.ECHAVE Y ARIZMENDI__ALSO SEE;ECHASA-EIBAR CORRECT CODE SHOULD BE MAK/ECE + + + + + EDM'L ARMS + + + + + Eusta/Eusta-SchiederBrand name of Kaschie-Wrage + + + + + Eddy Mfg. Co. (EMC) + + + + + Eagle ArmsCoal Valley, IL + + + + + Eastern Firearms Co.Importer, see Sherwood + + + + + EFFEBI SNC INC., ITALY FORMERLY KNOWN AS DOCTOR FRANCO BERETTA ALSO AS ARMI EFFEBI WWW.EFFEBI.ORG + + + + + Eagle Gun Co. + + + + + Enterprise Gun WorksMfr. of shotguns + + + + + Eig CutleryImporter of weapons mfd. in Italy,Japan, Spain, and West Germany + + + + + EinhandPocket pistols + + + + + Elderkin & Sons + + + + + El Cid + + + + + Eley/Eley-Kynoch + + + + + El Faisan + + + + + Elliott + + + + + El PerroMfd. by Las Curarin y Olasola + + + + + ElbertMfr. of cane guns + + + + + Ells, JosiahEarly arms mfr. + + + + + Electric CityMfd. by Crescent or H & D Folsom + + + + + East, German Democratic RepublicCode by country if make cannot bedetermined + + + + + Empire Arms Co.Made by Crescent and Hunter Armsfor Sears + + + + + E.R. Maples CompanyAntioch, TN + + + + + BodyguardMfd. by Gerstenberger & Eberwein + + + + + EMF Co. (Early & Modern FirearmImporter only + + + + + E & R Machine, Inc.Frames only + + + + + Emdeko International + + + + + Empire State Arms Co. + + + + + Britain (or England)Code by country if make cannot bedetermined + + + + + ENTERPRISE ARMS + + + + + Encom America + + + + + AlbionMfd. by Enfield + + + + + ENCOMSee also Enfield America + + + + + Erika + + + + + Armas Erbi + + + + + Erl SvendsenNow called Esfac Inc., mfr. ofderringers + + + + + Erma/Erma Werke + + + + + Erquiaga, Marguruza, y Cia + + + + + Antonio Errasti + + + + + Escodin + + + + + E. A. Co.Essential Arms Company + + + + + Esperanza + + + + + Espingarda + + + + + Essex Arms Corp.Frames only + + + + + Estal + + + + + Emerging Technologies, Inc.Little Rock, AR; makes Laseraim. + + + + + EurostahlImporter only + + + + + Etna + + + + + EasternBrand name of Stevens + + + + + Estul, Inc. + + + + + Ernst Thelmann WerkeMfr. of German Makarov + + + + + EuskaroCopy of Smith & Wesson revolver + + + + + EuromanufactureMfr. of black powder guns + + + + + Euroarms + + + + + Ever BestSingle barrel shotgun + + + + + Ewbank Mfg. + + + + + ExcaliburShotguns + + + + + ExcelsiorMfd. in U.S. by Bliss & Goodyear + + + + + Exel Arms of America + + + + + Excel Industries, Inc. + + + + + Expert Rifle + + + + + ExpressRevolver mfd. in U.S. by Bacon + + + + + Ancion-MarxMfr. of Extracteur + + + + + FAB ARM or FABARM + + + + + Fabrique D'Armes de Guerre de + + + + + Freedom Arms Co. + + + + + Fade + + + + + Fraser Arms CompanyFraser, MI + + + + + A. FagnusMfr. of revolvers & pistols + + + + + D. G. F. M.Mfd. by F. M. A. P. + + + + + Fajen Mfg. Co. + + + + + Falcon + + + + + Famars di-Abbiatico & SalvinelliMfr of rifles/shotguns + + + + + BRUNO ALBERTI ITALY SEE FALCO + + + + + Far + + + + + Fabrica Armi Sarezzo + + + + + Favorit + + + + + Farwell Arms Co. + + + + + Fabrinor Arma Corta Y; Microfusion SAL + + + + + FAB (F. A. Bower)Importer only + + + + + Factory Military (Fabricaciones Militares) or (Militares Fabricaciones) + + + + + FBN + + + + + Armi FabriMfr. of shotguns + + + + + Falling Block WorksSingle-shot rifles, see Fix + + + + + AlpineMfd. by Firearms Co. Ltd. + + + + + C. W. FranklinImported by H & D Folsom + + + + + FinlandCode by country if make cannot bedetermined + + + + + Fabrica D'Armas-IWA + + + + + Federal LaboratoriesMfr. of tear gas guns andammunition + + + + + DuoModel of F. Dusek Opotschno + + + + + Federal Engineering Corp.Mfr. of rifles + + + + + F. da de EscopatosMfr. of shotguns + + + + + AttilaAuto-loading pistol, mfd. by FegUnion + + + + + FerlachMfr. of shotguns and rifles. Alsocity in Austria + + + + + FeinwerkbauMfr. of F12 Sporter Pellet Rifle + + + + + Felia Arms Co. + + + + + Federal OrdnanceSouth ElMonte CA + + + + + Fernwood Gun SupplyMfr. of percussion kits + + + + + Feather EnterprisesBoulder, Colorado + + + + + Ferunion + + + + + Federal Firearms Co. + + + + + Fabrica D'Armi Fratelli Pietta + + + + + FFV (Forenade Fabrik Verken)Importer and exporter of Husqvarnaand Carl Gustav + + + + + FrigonClay Center, KS + + + + + BuckskinShotgun, model of Franchi + + + + + Fiala Arms & Equip. Co.Mfr. of pistols + + + + + FiatMilitary weapons + + + + + Fidjeland + + + + + Field & Fireside + + + + + Beretta USA Corp.Formerly F. I. Industries + + + + + Firearms International, Inc. + + + + + Finnish Lion/Finnish Lion Jr.Imported by Interarmco and F. I.Garcia + + + + + FiocchiLecco,Italy,mfr. of target pistolsd ammo. + + + + + Best, TheMfd. by F. I. E. + + + + + Firearms International Corp.Manufactures Kimel + + + + + Fahrzeug Und Jagdwaffgn + + + + + Frankfort Arsenal, Inc.Ft. Lauderdale, FL + + + + + Flaig'sMfr., also importer of Voere + + + + + FLEMING FIREARMS COLLINSVILLE,OK + + + + + Fritz Werke + + + + + Felk IndustriesWarners Bay,Australia + + + + + Florida + + + + + Florida FirearmsImporter and manufacturer + + + + + F AND L, SRL + + + + + FAME + + + + + Fabrica de Material de GuerraGovernment military arsenal + + + + + F.M.J.Full Metal Jacket, Copperhill, TN;mfg. .38 and .45 caliber single-shot derringer. Also mfrs. + + + + + FranceCode by country if make cannot bedetermined + + + + + Baby Browning + + + + + F.N. MANUFACTURING, INC.; COLUMBIA, SC + + + + + FRANZITE + + + + + Folsom, H. & D., Arms Co. + + + + + Fosbery, G. V. + + + + + FOSTER INDUSTRIES HARDWICK, VT;PISTOL FRAMES + + + + + Forehand Arms Co. + + + + + Foster Hardware Co. + + + + + A. H. Fox (Sterlingworth)Double-barrel shotguns + + + + + Ceska ZbrojovkaMfr. of Fox + + + + + F. PedrettiBrescia, Italy + + + + + FranconiaImporter only + + + + + August Francolette Co. + + + + + Friedr + + + + + Firing Line + + + + + Frontier Model DerringerNumerous mfrs. + + + + + Frontier Bulldog + + + + + Frontier + + + + + FerretBrand of Universal Sales + + + + + Frontier (Revolver)Brand name + + + + + F.A.I.R., TECNI-MEC, I. RIZZINI ITALY + + + + + FIRE STORM PRODUCTS, WANAMASSA, NJ + + + + + Fausti Stephano + + + + + Fausto MassiVicenza, Italy + + + + + Francisco Sarruigarte + + + + + Fratelli BertuzziBrescia, Italy; mfr. of shotguns + + + + + F.T.L. Marketing + + + + + Fulton Armory + + + + + FRATELLI PIOTTI OR PIOTTI FRATELLI; BRESCIA,ITALY + + + + + August FrancotteMfr. of shotguns + + + + + FURR ARMS OREM, UT + + + + + Fullerton + + + + + Fundalum S.A. + + + + + Bullseye Mfg. Co.Mfd. by Forehand & Wadsworth + + + + + FORT WORTH FIREARMS FT WORTH TX + + + + + Andrew Fyrberg & Co.Early mfr. + + + + + Franz Kettner + + + + + BuffaloMade by Gabilondo + + + + + Gabbett-Fairfax + + + + + G. A. C.Copy of Smith & Wesson revolver + + + + + Galand Arms Co. + + + + + Garate Anitua + + + + + Gamble Stores/Gamble Skogmo Inc.Use GAG only when model is otherthan listed + + + + + GarruchaMfd. by Rossi + + + + + Garantazado + + + + + Gordoney + + + + + Gastinne Renette + + + + + GatlingEarly machine guns + + + + + Armand Gavage + + + + + Destroyer (Pistol)Model of Gazanaga + + + + + GreenbackSingle-shot shotguns + + + + + Gun Crafter Ind. + + + + + Carl GustavSee FFV + + + + + GercarHandguns + + + + + DanzigRoyal arsenal + + + + + GALENA INDUSTRIES BEAR BUTTE, SD; AMT TYPE FIREARMS, ARCADIA MACHINE & TOOL + + + + + Dornheim, G. C.See Gecado. Trademark of GeorgeCarl Dornheim + + + + + Gevelot + + + + + GEMTECH; GEMINI TECHNOLOGIES, BOISE,ID + + + + + General Precision Corp. (G. P. C.)See Talon Model 10 + + + + + GecoImporter/Exporter only + + + + + Mayday Flare GunMfd. by Genrus EngineeringSpecialties + + + + + Gevarm, S. A.Mfr. of rifles + + + + + General Firearms Co.Mfr. of shotguns + + + + + Garfield.22 semiautomatic rifles + + + + + Grant Hammond Corp.Handguns + + + + + GehaBolt-action shotguns and Mauserrifles + + + + + Gering, H. M. + + + + + Giscosa + + + + + Gemini Investment Corp.Importer only + + + + + Gilbert Equipment Co.Importer + + + + + Armas Gib-Maximo + + + + + Galef, J. L., & SonImporter only + + + + + Gladiator + + + + + Glock, Inc. + + + + + GlisentiMfr. of military pistols + + + + + Galil IsraelSubmachine guns + + + + + GRULLA ARMAS; SPAIN, MAKER OF RIFLES & SHOTGUNS + + + + + Golden State ArmsImporter + + + + + Galaxy EnterprisesImporter only + + + + + Glaze, William, & Co. + + + + + GMDo not confuse with General Motors.Rifles and shotguns + + + + + GambaMfd. by LeArmeria Fratelli Gamba + + + + + GMF Co. (Guardian Mfg. Corp.) + + + + + G. McMillan CompanyPhoenix, AZ; Mfr. of rifles. + + + + + GAMO + + + + + Gonic Arms, IncGonic, NH; make of black-powderrifles + + + + + Grendel Inc. + + + + + Gnom/GnomeSingle-shot Flobert-type pistols + + + + + A. GilonMfr. of Velo-Dog revolvers + + + + + Goliat + + + + + Goncz Armament, Inc. + + + + + Gorosabel, PedroPedro Gorosabel--made in Spain + + + + + Great American + + + + + Gras + + + + + Gary Reeder Custom Guns + + + + + Greener MartiniType of Martini + + + + + Greifelt & Co. + + + + + Fabrica Armi GradogaMfr. of handguns + + + + + Griffin & HoweCustom manufacturer + + + + + Grieder, H. F.Importer only + + + + + Greeley Arms Co. + + + + + Greenfield + + + + + George E. Rose Co. (Geroco)Importer only + + + + + Group IndustriesLouisville, KY + + + + + Green River Rifle WorksAntique firearms + + + + + Gross Arms Co. + + + + + Grist Mill ManufacturerRosendale, NY + + + + + Gregorelli & Umberti + + + + + GENE SIMILLION CUSTOM; GUNNISON, COLORADO + + + + + Griffith & Semple + + + + + Gunsmoke EnterprisesOkeechobee, FL; mfr. of AR-15 basedhandgun, XM3215 + + + + + Gallyon & Sons, Ltd. + + + + + GAUCHER ARMES S.A. ; FRANCE + + + + + Guisasola Bros. + + + + + GuardianModel B. A. Co., Valor, and F. I.Garcia + + + + + Gueure + + + + + AVK-BVSee Gustloff + + + + + Armi Guiseppe TanfolglioMfr. of pistols. Same company asFratelli Tanfolglio + + + + + Gun Works Ltd.Tonawanda, NY + + + + + Guipuzcoana la Industrial + + + + + Gevelot of CanadaImporter + + + + + Continental, TheBrand of Great Western + + + + + Griswold & GunnisonCivil war revolvers + + + + + Grant, W. L.Distributor only + + + + + Garate y Mendiba + + + + + GAZELLE ARMS (HISAR AVCILIK) + + + + + AlexBrand of Hopkins & Allen + + + + + HabichtShotguns + + + + + Hamal + + + + + Hanscomb Hardware Co. + + + + + Hellenic Arms IndustryAthens,Greece + + + + + BayardMade by Haerens Tojhus + + + + + C. G. HaenelSame as Haenel-Schmeisser + + + + + Hamilton + + + + + Handy/Handy Auto Pistol/Handy + + + + + Elof Hansson + + + + + Hauptli + + + + + Hammerli + + + + + Hartman + + + + + Frank Harrison Arms Co.Imported by H & D Folsom forSickels Arms Co. + + + + + Hartford Arms Co.Various mfrs. + + + + + Haut RhinWalther-type pistols + + + + + Chief MarshalMfd. by Hawes/Sauer + + + + + HemburgMilitary weapons + + + + + Horns Custom Rifles + + + + + HerculesVarious mfrs. + + + + + H & D (Henrion & Dassy) + + + + + HDH + + + + + Hendrick Sales & Engineering Co.Importer only + + + + + Hecla + + + + + Heckler & Koch + + + + + C. E. HeinzelmannHandguns + + + + + FirebirdModel of Hege + + + + + Heinemann + + + + + He-Mo + + + + + Henry Gun Co.Imported by Crescent + + + + + Herman + + + + + HESSE LTD INVERGROVE,MN + + + + + Hermitage (Arms or Gun Co.)Various mfrs. + + + + + Herter's Inc.U.S. importer and mfr. + + + + + HeymMfr. of rifles and revolvers + + + + + Hermetic + + + + + Harris GunworksPhoenix,AZ,mfr. of bolt actionfles. + + + + + CarbojetModel of Hy Hunter + + + + + H & H ENTERPRISES REDWOOD CITY, CA + + + + + HARRISON & HUSSEY; ENGLAND + + + + + Chicago Long Range WonderBrand name of Hibbard, Spencer, &Bartlett + + + + + Higgins, J. C.In some cases, numbers appearingon barrel(s) of Higgins weaponsare production numbers, + + + + + Hi-PointMansfield, OH + + + + + Hispano Argentina + + + + + Ballester-MolinaMfd. by Hafdasa + + + + + H.J. IndustriesBrownsville, TX + + + + + Henry, J. J., & SonMfr. of Civil War muskets + + + + + Hawk Engineering, Inc.Northfield, IL + + + + + Hawk Industries + + + + + HubenbecklerMfr. of derringers + + + + + HelicodogModel of shotguns + + + + + Hall, J. H./Hall-NorthCivil War rifles + + + + + HolmesManufacturer of MP-83 and MP-22 + + + + + HOLLOWAY ARMS COMPANY; FT. WORTH, TX + + + + + Hatton Ind. + + + + + H & N MinicraftCovina, CA + + + + + Hanover ArmsMfr. of shotguns + + + + + Holt, Sam + + + + + Hoban Mfg. Co. + + + + + AlaskaBrand name of Hood Firearms Co. + + + + + Holland Firearms Co.Importer of shotguns + + + + + ApexModel of Holland & Holland + + + + + Hollenbeck + + + + + Hornet + + + + + Horsely + + + + + HotchkissMachine gun + + + + + HoppesReplicas of antiques + + + + + Abiline CentennialMfd. by Harrington & Richardson + + + + + Hamilton Rifle Co.Mfr. of rifles + + + + + Hartford Armory + + + + + COLT BLACK POWDER CO. JOINT OPER W/HENRY REPEATING RIFLE CO NY. + + + + + Heritage ArmsOpa Locka, FL; formerly QualityFirearms, Inc.; bought out byHeritage Manufacturing Inc. + + + + + Doublenine ConvertibleModel of High Standard + + + + + Haskell + + + + + Hollis & SonsMfr. of rifles and shotguns + + + + + H.S. PRECISION INC. + + + + + HOLSTON ENTERPRISES PINEY FLATS,TN + + + + + HungaryCode by country if make cannot bedetermined + + + + + Hubertus + + + + + HUGLU; HUGLU. TURKEY; MANUFACTURER OF SHOTGUNS + + + + + HummerImported by H & D Folsom + + + + + Bridgeport Arms Co.Brand name of Hunter Arms Co. + + + + + HuskyModel of Husqvarna + + + + + Hourat Et Vie + + + + + Golden BearModel of Howa + + + + + HawkenEarly rifle mfr. + + + + + HWP ENTERPRISES; MILWAUKEE, WI SLEDGEHAMMER REVOLVERS + + + + + Hy Score + + + + + Hyde + + + + + Hyper-Single + + + + + Industria Armi BrescianeMarcheno, Italy + + + + + Indian Arms Corp. + + + + + AGSee Galesi + + + + + Irwindale Arms Incorporated + + + + + Allen AmericanImported shotguns + + + + + International Antique + + + + + ArmotecniaMfr. of shotguns + + + + + IbargunModel of shotgun + + + + + Iberia FirearmsGalion, OH + + + + + S.I.A.C.E.; BRESCIA, ITALY + + + + + IndesolEibar, Spain + + + + + International Distributors + + + + + Investarm Fabrica D'Armi + + + + + I.G.A.Veranopolis, BrazilShotguns imported by Stoker + + + + + IMPERIAL GUN CO LTD SURREY EN + + + + + IG Destroyer + + + + + Inglis, JohnBrowning-type pistol + + + + + American BulldogBrand of Iver Johnson + + + + + IljaBrand of shotgun, mfd. by F. dade Escopatos + + + + + Illinois Arms Co. + + + + + ImbelShipped by Springfield Armory + + + + + I M METAL OZALJ, CROATIA + + + + + ImperialVarious mfrs. + + + + + I.M.I. (Israel Military Industries)Mfr. of Uzi semiautomatic machineguns + + + + + IMP (Imperial Metal Products)Mfr. of revolvers + + + + + I. N. A. (Industria National de + + + + + Intratec USA, Inc.Miami, FL -- Mfrs. Intratel(formerly Interdynamics) + + + + + IngramMfr. of machine guns + + + + + International Harvester + + + + + Indian Ordnance + + + + + Interarms, Ltd. (Interarmco)U.S. importer and mfr. + + + + + Interstate Arms Co.Mfd. by Crescent + + + + + Intercontinental ArmsImporter only + + + + + Invicta + + + + + InterdynamicConverts to machine pistolCompany closed December, 1984;for US models after 1984 seeMAK/ + + + + + InterordNashville, TN; formerlyInterordnance. Mfrs. US madecopy of (South Korean) DAEWOOmodel USAS-1 + + + + + Irwin-Pedersen Arms + + + + + IsraelCode by country if make cannot bedetermined + + + + + ISRAEL ARMS LTD + + + + + IshaporIshapore, India; state-ownedarsenal + + + + + ISRAEL ARMS INTERNATIONAL + + + + + Indian SalesImporter only + + + + + Desert EagleMfd. by Israeli Military Ind.Imported by Magnum Research + + + + + ItalyCode by country if make cannot bedetermined + + + + + Italo + + + + + ITM ARMS COMPANY AKA ITM TOOL & DIE; CLEVELAND, OH + + + + + I. G. I. (Italguns International) + + + + + CenturyShotgun, model of Ithaca + + + + + Industrial Technical MachineMade in Switzerland + + + + + IOWA TRIBE + + + + + IzhevskFormer Soviet arsenal. Mfr. IJ-18shotgun series + + + + + HamadaJapanese military arsenal + + + + + Jabe/Escopetas JabeMfr. of shotguns + + + + + Armi Jaeger/Armi JagerImported by Navy Arms Corp. + + + + + HeroldMfd. by Jager + + + + + Jerry's Gun & Ammo + + + + + Jannsen/Jannsen Sons & Co.Mfr. of shotguns + + + + + Jarmann + + + + + Joe B. SmithGlendale,CA + + + + + JERICHO FIREARMS + + + + + JCMMfr. of shotguns + + + + + Jennings Firearms Co.Chino, CA + + + + + Jenkins Special + + + + + Jennings Fine Tuning Inc.North Hollywood, CA + + + + + JGAMfr. of rifles + + + + + Guy T. JonesImporter only + + + + + Jackson Hole Arms Co.Jackson Hole, WY + + + + + JieffecoMade by Robes for Phoenix ArmsCo. + + + + + Jacquemart, J. + + + + + J-K ImportsU.S. importer + + + + + Jenks, WilliamMfr. of Civil War rifles + + + + + JLD Enterprises + + + + + J. C. Montgomery + + + + + Jimenez Arms + + + + + Jana International Co.Importer only + + + + + Joha + + + + + Johnson Arms + + + + + Johnson, Bye & Co.Predecessor of Iver Johnson + + + + + Johnston-TuckerMfr. of carbines + + + + + J's Pacific EnterprisePomona, CA; Mfr. of 1911 A-1 typepistols. Slides may be markedBrolin Arms. + + + + + John Pril FooteAlso known as J. P. Foote + + + + + J P Enterprises + + + + + J & R Engineering Co. + + + + + JRW SPORTS; EDGEWATER, FL + + + + + JOHNNY'S ARMORY MARGATE,FL + + + + + B. F. JoslynMfr. of Civil War rifles + + + + + Justice, P. S.Mfr. of Civil War rifles + + + + + Jukar + + + + + Just, Joset + + + + + John W. LinebaughMaryville, MO. + + + + + Kaltmann + + + + + Kappora + + + + + Kahout & Spol + + + + + Kawaguchiya Firearms Co. + + + + + ERNEST KAZIK MILWAUKEE WI + + + + + Kansas City Arms + + + + + KDF, Inc.Sequin, TXMfr. of Bolt action huntingrifles + + + + + Kendu + + + + + Kebler + + + + + Kerrco + + + + + KesslerMfr. of shotguns + + + + + KentuckianDistributed by IntercontinentalArms + + + + + Emil Kerner + + + + + Kessler Arms Corp. + + + + + Keystone Arms Co.Brand name of E. K. Tyron + + + + + KaffirSingle-shot shotgun + + + + + K and G Serviceshester,PA, maker of Ingram typemiautomatic firearms. + + + + + KHAN; ISTANBUL TURKEY + + + + + Kahr ArmsWorcester, MA; makes K9 9mm pistol. + + + + + Kimball Arms Co.Mfr. of pistols + + + + + Kimber + + + + + Kirtland Bros. + + + + + Kimel/Kimel Ind.Not associated with FirearmsInternational Corp. + + + + + Kirikkale (MKE) + + + + + Kjobenhauns Toihuus + + + + + KICKAPOO TRIBE + + + + + KnickerbockerMfd. by Crescent, American Gun Co.,and Stevens + + + + + HuskyModel of Krico + + + + + K. K. Snashin ShojukiMfr. of shotguns + + + + + Kelblys, Inc. + + + + + Klein Guenther + + + + + KOLAR ARMS RACINE, WI + + + + + North KoreaCode by country if make cannot bedetermined + + + + + Knight ArmamentVero Beach, FL; makes modernfirearms. + + + + + K. K. Nihon Ryoju Seike SeisakushoMfr. of shotguns + + + + + South KoreaCode by country if make cannot bedetermined + + + + + Kobra + + + + + Kobold + + + + + Kodiak Mfg. Co. + + + + + Kohnke Gun WorksRedwood Falls, MN; manufacturesblack-powder pistols. + + + + + KOLIBRI; REHBURG AUSTRIA; MAD BE GEORGE GABNER + + + + + Kokura + + + + + H. M. KolbMfr. of revolvers + + + + + Kommer, Theodor + + + + + H. Koon, Inc.Mfr. of Snake Charmer shotgunmodel + + + + + KorthMfr. of revolvers + + + + + Korea (prior to division of 1948)Code by country if make cannot bedetermined + + + + + KragMilitary weapons + + + + + J. H. KriderMfr. of Civil War rifles + + + + + Krepp + + + + + Krieghoff Firearms Co.Mfr. of shotguns and double-barrelrifles + + + + + KRINKS; NAPLES, FLORIDA M97 SPORTING RIFLES + + + + + Keystone Sporting ArmsMilton,PA, mfr's Cricket modelcal rifle + + + + + KBI, Inc.Harrisburg, PA; Kassnar BrothersInternational + + + + + KSN IndustriesManufacturer of Kareen Mark II 9mmpistol. Manufactured in KfarSaba, Israel. + + + + + Kel-TecCocoa, FL; 9mm pistol, part of CNCIndustries. + + + + + KTG Firearms + + + + + Kintrek, IncOwensboro, KY; mfrs .22 LR calibersemiautomatic rifle model KBP-1 + + + + + A. KrausserNot Iver Johnson + + + + + Keszler + + + + + J. H. Lau & Co.Importer only + + + + + LarandMfr. of silencers + + + + + Lanber Armas + + + + + LachaModel of shotgun + + + + + Ladies Pet + + + + + Lauf Pence + + + + + J. G. Landmann + + + + + F. L. (F. Langenhan) + + + + + Larose + + + + + Lampo + + + + + CenturianMfd. by Laurona + + + + + La France SpecialtiesMfrs. of pistols + + + + + LahtiMilitary weapons mfd. by Husqvarnaor Valtion Kivaari Tehdas + + + + + Harry Lawson Co. + + + + + LAZZERONI TUCSON,AZ MFR'S OF REVOLVERS + + + + + LobSingle-shot Pistols + + + + + Le Basque + + + + + Lebeau-Courally + + + + + Les Baer Custom IncorporatedLicensed in Millan and Hillsdale,ILCustom gunsmith, makes pistols. + + + + + LibertyShotguns mfd. by Hood Firearms Co.and Hopkins & Allen + + + + + Belleri, Luigi + + + + + LORCIN ENGINEERING CO, INC. FIREARMS, RIVERSIDE, CA + + + + + Lauer Custom Weaponry (Trade Name: LCW Mfg.) + + + + + Lenoir & Logue + + + + + Leader Dynamics + + + + + LebelMilitary weapons + + + + + J. Lloyd Lewis + + + + + Le Dragon + + + + + Lee Arms Co. + + + + + LefeverMfr. of shotguns + + + + + Lee Special/Lee's Munner SpecialImported by H & D Folsom + + + + + BritchModel of Lee Enfield + + + + + LefaucheuxImported + + + + + Left Destroyer + + + + + Le Fulgor + + + + + Legia Demontants + + + + + Le Majestic + + + + + Lefner + + + + + Le Martiny + + + + + Le Mat + + + + + Le Novo + + + + + Le Page + + + + + Le Protecteur + + + + + Le Rapide + + + + + Lepco + + + + + G. E. Lewismfr. of shotguns + + + + + Le Sane Parei/Le Sans Pariel + + + + + JubalaMfd. by Larranaga y Elartza + + + + + Lester, L. M. & G. H. + + + + + Le Tout Acier Duc + + + + + Lewes/LewisMachine guns + + + + + Lee's Firearms Co.Mfr. of Civil War rifles + + + + + LASAGABASTER HERMANOS EIBAR, SP + + + + + Hans V. Lidl + + + + + Little Pal + + + + + Liberty Arms Co.Mfd. by Rohm, Armalite, HerbertSchmidt, and Reck. Importer anddistributor + + + + + Lindsay Mfg. Co.Two-shot Civil War rifles + + + + + LignoseMfd. by A. G. Lignose + + + + + Little Tom + + + + + Lincoln + + + + + LiegeoiseMade by Robor & Co. + + + + + LIG (La Industria Guizpucoana) + + + + + Little All Right (palm pistol) + + + + + Lightning (pistol) + + + + + L.E. JURRAS & ASSOCIATES; PRESCOTT, ARIZONA + + + + + Ljungman + + + + + Ljutic Arms Co.Mfr. of shotguns + + + + + Lakefield Sales LimitedLakefield, Canada + + + + + CommancheModel of Llama + + + + + Lar ManufacturingWest Jordan, UT + + + + + Larranaga, MiguelMfr. of shotguns + + + + + Lames + + + + + Liviaoitl (Name stamped upsideCopy of .45 U.S. pistol + + + + + LEINAD DUCKTOWN,TN + + + + + Lobo + + + + + Loewe, Ludwig + + + + + Longines + + + + + Long Range Winner/Long Range WonderBrand of Sears & Roebuck + + + + + John P. Lower + + + + + Losada + + + + + Lovell Arms Co.Mfr. of custom rifles + + + + + Lowell Arms Co. + + + + + Loyola + + + + + LASSERRE S.A.; ARGENTINA + + + + + Leech & RigdonCivil War revolvers + + + + + Liberty Arms WorksWest Chester,PA; manufacturespistols. + + + + + LSA + + + + + L. E. S. Corp. + + + + + LONE STAR ARMAMENT; STEPHENVILLE, TX (DO NOT CONFUSE WITH '' LONE STARRIFLE COMPANY'' + + + + + LONE STAR RIFLE COMPANY; CONROE,TX; REMINGTON ROLLING BLOCK REPLICAS + + + + + Le Secours + + + + + Lucheni, Stefano + + + + + LATVIA + + + + + LithgowGovernment military arsenal + + + + + Lun Ebrug + + + + + LuchsgewehrfabrikMfr. of firearms + + + + + Lutetia + + + + + LugerVarious mfrs. + + + + + Luna + + + + + Deputy, L. A.Model of L. A. Fury + + + + + Luttick + + + + + FruhufMfd. by Lux + + + + + LUCZNIK METAL FACTORY ALSO SEE REFERENCE TO ZAKLADY METALOWE LUCZNIK RADOM, POLAND,LISTED UNDER MAK + + + + + Leitner Wise Rifle Co., Inc. + + + + + Lyman Gun Co.Percussion rifles and revolvers + + + + + LZH + + + + + LaszloImporter only + + + + + Le CayalierMfd. by Manufacture Automatiquesde Bayonne + + + + + Mannlicher/CarcanoMilitary weapons + + + + + MadsenMachine guns + + + + + Modele des Armes + + + + + La SalleMfd. by Manufrance + + + + + Hijos de Jorge BascaranMfr. of Marke and Martigry + + + + + Maltby & Henley + + + + + Mfg. D'Armes a Feu + + + + + Markwell Arms Co.Mfrs. of replicas of antiques + + + + + Massachusetts Arms Co.Brand of Stevens + + + + + Mannlicher + + + + + J. Manton & Co.Imported by H & D Folsom + + + + + Marksman ProductsMfr. of air guns + + + + + Ballard (Rifle)Model of Marlin + + + + + FA MASSee also M. A. S. + + + + + M. A. T. + + + + + AristocratRifle model of Mauser + + + + + MakarovSoviet military pistols + + + + + Marston, William M.Mfr. of Civil War carbines + + + + + MaximMachine guns + + + + + ArquebusierModel of Mayor + + + + + GyrojetMfd. by MB Associates + + + + + Marteau + + + + + M. A. C. + + + + + Game GetterModel of Marble + + + + + Mars (pistols)Various mfrs. + + + + + Maltby, Corliss & Co. + + + + + Merex Corp. GebruderDistributor of surplus weapons + + + + + Manchester ArmsLenor Tenn + + + + + Machine Crafters, Inc. + + + + + McLaughlin Gun Mfg. + + + + + Harris McMillan Gunworks, Inc.Phoenix, AZ; mfr. of custom boltrifles + + + + + Marcel Thys + + + + + AudaxBrand D'Armes des Pyrenees + + + + + Mfr. D'Armas de Fuego + + + + + AKMModel of Maadi + + + + + Mandall Supply Co.Importer + + + + + Manufacture Imperial de Mutzig + + + + + Mendoza + + + + + August Menz + + + + + Melina + + + + + Merwin & BrayMfr. of Civil War rifles + + + + + Mexican Model + + + + + Ajax ArmyMfd. by Meacham + + + + + Merkel + + + + + Meriden Firearms Co.Sears subsidiary + + + + + Federal Arms Co.Brand of Meridian + + + + + Mereilleux + + + + + Meteor RiflesVarious mfrs. Model 52 mfd. byStevens + + + + + CompetitionBrand name of John Meunier Gun Co. + + + + + MerveilleuxRepeating pistol + + + + + MercuryPistols & shotguns. Tradewindsbrand name + + + + + Fabrica de Armas Mexico City + + + + + Mitchel - MogalImporter + + + + + Mega Machine Shop, Inc. + + + + + Magnum ResearchMinneapolis, MN Imptr for IsraeliMilitary Indust., Tel Aviv,Israel + + + + + MagTech Recreational Products, Inc.Importers of CBC Products, Inc.shotgun of Brazil + + + + + MusgraveMfr. of rifles + + + + + Merwin & Hubert (M & H) + + + + + MATCH GUNS + + + + + Manhurin, S. A.French-made Walther + + + + + Mathieu Arms & DevelopmentMfr. of rifles + + + + + Midland Gun Co. + + + + + MEKANIKA INDUSTRIA E COMERCIO LTD + + + + + Madison Import Co.Imported only + + + + + Milady + + + + + Mieg, Armand + + + + + Minneapolis Firearms Co. + + + + + Mighty Midget + + + + + Michigan Armament + + + + + MIL IncorporatedPiney Flats, TN + + + + + Military Automatic + + + + + Minima + + + + + Diamond (Shotgun)Model of Miroku + + + + + Mississippi Valley Arms Co.Various mfrs. + + + + + MAC (Military Armament Corp.)Mfr. of Ingram submachine guns + + + + + Mikkenger Arms + + + + + M K BALLISTIC SYSTEMS HOLLISTER,CA + + + + + MK Arms, Inc.Irvine, CA + + + + + MKS Supply, Inc.Mansfield, OHMfg/dist for Haskell, High PointIberia, and Stallard Pistols + + + + + MK SPECIALTIES; GRAFTON, WV + + + + + M. L. + + + + + VYATSKIE POLYANY MACHINE BLDG PLANT (AKA MOLOT) + + + + + MexicoCode by country if make cannot bedetermined + + + + + Master Mag12 ga. shotgun + + + + + Monomac + + + + + Modern Muzzle Loading, Inc.Hastings, NB; makes muzzle loading,primitive ignition, black-powderin-lin + + + + + Mondial (blank pistols)Mfr. of starter guns + + + + + Renato MenegonBrescia, Italy; Mfr. rifle-shotguncombinations. + + + + + MORINI COMPETITION ARMS BEDANO, SWITZERLAND + + + + + Fritz Mann (Mann Werke) + + + + + Minnesota Arms Co. + + + + + Mentz + + + + + Mosin-NagantRussian military rifle + + + + + Montenegrin + + + + + MOA CorporationBrookville, OH + + + + + Mondragon + + + + + Hawthorne (Montgomery Ward)Brand sold by Montgomery Ward + + + + + Moneta-Guernica + + + + + Moore, William, & Co.Imported by H & D Folsom + + + + + Morley & Murphy Hdw. Co. + + + + + Morrisburg + + + + + Brownie (Pistol)Model of Mossberg + + + + + MonitorCommercial version of BAR. Variousmfrs. + + + + + Mt. Vernon Arms Co.Imported by H & D Folsom + + + + + Mowery Gun WorksMfr. of percussion rifles + + + + + MASTERPIECE ARMS, INC. CARROLLTON, GA + + + + + CommanderMfd. by Meiska Products Co.Not associated with Colt + + + + + Alex Martin, Ltd.Distributor/Importer + + + + + Merill Co.Mfr. of single-shot pistols + + + + + Gaulois Repeating PistolMfd. by Manufacture FrancaiseD'Armes et Cycles St. Etienne + + + + + Marochi & FigliMfr. of shotguns + + + + + MargolinHandgun model + + + + + MarocciniMfd. by Brescia + + + + + MarksBrand of Hunter Arms + + + + + J. H. Merrill & Co.Mfr. of Civil War rifles + + + + + Maverick ArmsEagle Pass, TXDerringer mfd. by Uberti + + + + + Merrimack ArmsNewburyport, MA + + + + + MearsModel of shotgun + + + + + Armas MarixaMfr. of shotguns + + + + + Modesto Santos (MS)Mfr. of shotguns + + + + + MSA + + + + + MarshwoodBrand of Charles Williams Store + + + + + Blue MallardModel of Masieri + + + + + Meiji Seika Kaisha + + + + + MATSAN; ISTANBUL,TURKEY ; MAKER OF DIAMOND BRAND SHOTGUNS.DO NOT CONFUSE WITH HATSAN ALSO FROM I + + + + + Man-StopperModel of Lancaster, Webley, andothers + + + + + Masquelier + + + + + Match MasterModel of M-S Safari Arms + + + + + MountaineerRifle, remanufactured Enfield + + + + + MatebaPavia,IT + + + + + Mitchell ArmsImported guns + + + + + MARATHON PRODUCTS, INC. + + + + + Mitchell Mfg. Corp. + + + + + Martini/Martini-HenrySingle-shot rifles + + + + + MTS + + + + + Manhattan Pocket Revolver + + + + + Marson, Samuel, & Co. + + + + + Maeleer + + + + + MusketeerRifle model of F. I. Garcia + + + + + Mueller + + + + + M.V.T. DiContento Eugenio + + + + + Mavi di Salvinelli + + + + + Maxwell ArmsMfr. of black powder guns + + + + + MaynardMfr. of Civil War rifles + + + + + Mayer & RiemMfr. of starter guns + + + + + Mayor & Sons + + + + + MarteModel of Muguruza + + + + + CosSee Merz Werke + + + + + North American ArmsMfr. of .225 single-shot Derringer + + + + + Nagant (Revolvers) + + + + + Naniwa Kogyo K. K.Mfr. of shotguns + + + + + Nashville Arms + + + + + Naval Company, IncorporatedDoylestown, PAUse NVL only when model is otherthan listed + + + + + ClaycoSee North China Industries + + + + + NOWLIN CUSTOM MFG. CLAREMORE,OK + + + + + NCP PRODUCTS, INC.; CANTON, OH MAKER OF MACH 1 SHOTGUN CROSS REFERENCEWITH MACH 1 FOR CODE PURPOSES + + + + + Artillerie InrichtigenMilitary arsenal + + + + + Hand EjectorModel of Neumann Freres + + + + + Newman BrothersDouble shotguns + + + + + New CarolinaModel of shotgun + + + + + New England Arms Co. + + + + + New England FirearmsGardner, MassachusettsTook over Harrington & Richardson + + + + + New EmpireBrand name of various manufacturers + + + + + Ned. Magaziji + + + + + New Liberty + + + + + Nemrod + + + + + Newton Arms Co. + + + + + Newport + + + + + NESIKA BAY PRECISION, INC. POULSBO, WA + + + + + Newton + + + + + NORTH FULTON ARMS LAWRENCEVILLE,GA + + + + + Nighthawk Custom + + + + + Mayer, N. H. (NHM)Mfr. of starter guns + + + + + King NitroVarious mfrs. + + + + + Niva + + + + + N.J.D. TACOMA, WA + + + + + Nihon Juho KogyoshoMfr. of shotguns + + + + + Budischowsky TP-70Model of Noramco + + + + + Nambu (Pistols)Military weapons + + + + + NorrahammarMfr. of rifles + + + + + American EagleBrand name of Noble + + + + + NordheimAlso uses name of Vono + + + + + North & Savage + + + + + National Ordnance, Inc.Mfr. of rifles + + + + + Norwich Lock Mfg. Co. + + + + + Norma + + + + + Norinco + + + + + Borealis (Brigadier W/Stock)Model of North American Arms + + + + + North, SimeonCarbines + + + + + Not Nac Mfg. Co.Mfd. by Crescent + + + + + Nouveau + + + + + Novamatic + + + + + Nopwich Arms + + + + + Noyo + + + + + Golden EagleMfd. by Nikko + + + + + NoricaMfd. by Norberto Arizmendi + + + + + Non-RayeBrand of shotguns + + + + + Norris & ClementMfr. of Civil War rifles + + + + + National Sports Products + + + + + Nighthawk FirearmsLorida,FL,mf's of M-10 type semi-tomatic frames. + + + + + Numrich Arms Corp. + + + + + Cutlass (Gun Kit)Brand name used by Navy Arms Co. + + + + + Naval Company + + + + + Norfolk, VirginiaShotguns, importer only + + + + + NorwayCode by country if make cannot bedetermined + + + + + NEW ENGLAND WESTINGHOUSE/REMINGTON + + + + + Nippon Yuki Co., Ltd.Mfr. of shotguns + + + + + Oddity Arms Co.Mfr. of knife pistols + + + + + Oak LeafVarious mfrs. + + + + + Oregon Arms LimitedProspect, OR. + + + + + Systema ObregonModel of Obregon + + + + + O'Brien Rifle Co. + + + + + Obregon + + + + + Ordnance Design Co. + + + + + O. D. I., IncorporatedMiddlepark, NJ + + + + + OSAGE NATION + + + + + Firearms Development Co.Mfr. of Omega rifles + + + + + Marubeni America Corp.Imports from Olin-Kodensha (Japan);trade name--Miida + + + + + OlympicBrand of various mfrs. + + + + + Olympia Pistole + + + + + OMBrand of Ojanguren y Marcaide + + + + + OMC "Back Up" + + + + + Omega (Handguns)Importer of handguns from Spain,Italy, and Germany + + + + + Onandia + + + + + OTOE-MISSOURIA TRIBE + + + + + OHIO ORDNANCE; CHARDON, OHIO + + + + + Iris, O. H. (Orbea Hermanos)Model of Orbea + + + + + Ordinanza + + + + + Oregon Arms, Inc. + + + + + DuanMfd. by Ormachea + + + + + Model D'Ordonnance + + + + + Deutsche Werke (Berlin)Pistols, see Ortgies + + + + + Oscilante-Azul + + + + + Osgood Gun Works + + + + + Osprey + + + + + Osteneichisha + + + + + Oterr-Sterr + + + + + Ordnance TechnologyStetson ME + + + + + ApacheMade by Ojanguren & Vidosa + + + + + O. W. A. + + + + + OwenSubmachine guns + + + + + Oyez + + + + + Palmetto ArmoryConfederate armory + + + + + Par & Case + + + + + Padre + + + + + Pretoria Arms FactoryPretoria,S.Africa, mf's PAFunior" (formally retired code) + + + + + Page-Lewis + + + + + Lee-Enfield Custom #1 or #4Model of Parker-Hale rifle + + + + + PAC (Pacific Arms Co.)Importer only + + + + + Pakistan Ordnance Factories + + + + + Paraga + + + + + ParamountMade by Spadozo, Apaolozo orRetolaza + + + + + Pagoma + + + + + Paragon + + + + + Parker/Parker Bros.Mfr. of shotguns + + + + + Parkhurst, William + + + + + PAWSFor additional information, seePolice Automatic Weapons Service. + + + + + H. O. PeabodyMfr. of Civil War rifles + + + + + Cap-ChureMfd. by Palmer Chemical and Equip-ment Co., Inc., Douglasville, GA + + + + + Pachmayr Gun Works + + + + + Mountain Arms Co.Mfr. of Precision Ind. + + + + + Mitraillette VigneronMfd. by Precision Liegeoise S. A. + + + + + Pasadena FirearmsImporter + + + + + Pneu-Dart,Inc.Tranquilizer guns + + + + + Perfect + + + + + PedersoliMfr. antique muzzle-load percussion + + + + + Perrin + + + + + PelicanTrademark of Olgilvie Hardware + + + + + PenguinMfr. of tear gas guns and distresssignals + + + + + Peote + + + + + Alonzo D. Perry + + + + + Precision Small Parts (PSP)Charlottesville, VA; mfg. of PSP-25 + + + + + Paxton & Gallegher (P & G) + + + + + PERUGINI VISINI; BRESCIA, ITALY + + + + + PGW + + + + + Phoenix Arms Co.Mfr. of pistols + + + + + PHILLIP AND ROGERS + + + + + DecaturImporter of Precise Imports Co. + + + + + FlobertMfr. of Pistolet Flobert + + + + + Friedrich Pickert + + + + + Pacific InternationalDistributor + + + + + Jaeger, Paul + + + + + PJK , INC.; BRADBURY, CALIFORNIA (DO NOT CONFUSE WITH (PJK-FEG IN HUNGARY) + + + + + Powell Knife/Pistol Co.Tuscon,AZ,mf's PKP knife-pistol + + + + + Parkington & Richardson + + + + + Plant's Mfg. Co. + + + + + PalmettoMarking on Tryon rifles + + + + + PlymouthVarious mfrs. + + + + + Plainfield Machine Co.Mfr. of commericial M1 carbines + + + + + Pistole M. 37 or M. 29Military pistol + + + + + Pistole Modell 27Military pistol + + + + + PHELPS MANUFACTURING, CO. EVANSVILLE, IN + + + + + PremierMfr. of shotguns + + + + + PONCA TRIBE + + + + + Penn ArmsPunxsutawney,PA,mf's of Striker 12otguns (classified as destr.vice) + + + + + PrinceVarious mfrs. + + + + + Peregrine IndustriesHuntington Beach, CA + + + + + J. C. PenneyUse PNY only when model is otherthan listed + + + + + PolandCode by country if make cannot bedetermined + + + + + Police Ordnance Co.(Machine Gun + + + + + Para Ordnance + + + + + Patriot Ordnance U.S.A. (Doing Business As POF) + + + + + Powder Horn + + + + + Polain, Prosper + + + + + Pompeya + + + + + Lucius W. Pond + + + + + POS (Pride of Spain)Mfr. of shotguns + + + + + Polytechnologies + + + + + Powell + + + + + PowermagImported by Herter, various mfrs. + + + + + Pony + + + + + PPI DUCKTOWN,TN MFG OF POCKET PAL + + + + + PardiniImported by Fiocchi + + + + + E. A. Prescott + + + + + PerfectaMfr. of starter pistols + + + + + Progress + + + + + Professional OrdnanceOntario,CD,mf's polymer frames andrearms. + + + + + Prima + + + + + ParagonBrand of Stevens and Hopkins &Allen + + + + + ProtectorVarious mfrs. in both Spain andU.S. + + + + + Protector Arms Co. + + + + + PatriotManufacturer of Partisan AvengerMfd. by Bliss & Goodyear + + + + + PerazziMfr. of shotguns + + + + + PETER STAHL PADERBORN, GERMANY + + + + + Pirlot/Pirlot Freres + + + + + James Purdey & SonsRifles and shotguns + + + + + PuppySpanish mfr. was FranciscoArizmendi and various other mfrs. + + + + + PAWNEE TRIBE + + + + + PWA (Pack West Arms)Manufactured in Milan, Illinoisand assembled in Spokane,Washington + + + + + PZK + + + + + H. M. Quackenbush + + + + + Quan-Doi Cao-DaiMilitary weapons + + + + + Quan-Doi Quoc. Gia. L. M.Military weapons + + + + + Ran + + + + + Replica Arms Co.Marrietta, OH + + + + + Radom + + + + + RAPID FIRE TROY, OH + + + + + Ramo, IncorporatedAntioch, TN + + + + + Texas-Ranger-Frontier + + + + + Rapid-Maxima + + + + + Raymond & Robitaille + + + + + Rast & Gasser + + + + + Ratmil + + + + + Raven Arms Co.Mfr. of handguns + + + + + Rayon + + + + + ROBAR CO INC PHOENIX,AZ + + + + + R. B. IndustriesFraser, MI + + + + + Rubi + + + + + Robbins & Lawrence + + + + + MeloirMfd. by Robar et Cie + + + + + RoubyMfr. of electric shotguns + + + + + ChicomAbbreviation for Chinese Communist + + + + + Reck + + + + + Robar et DekerkhoveEarly mfr. of rifles + + + + + Renegade + + + + + Record Match Pistols + + + + + Red ChieftanBrand of Stevens, various mfrs. + + + + + GENE REISING COMPANY + + + + + James Reid + + + + + E. M. Reilly & Co. + + + + + FieldmasterMfd. by Remington Arms + + + + + Republic + + + + + BenemeritaBrand of Retolaza + + + + + Revelation + + + + + Revelli + + + + + RexVarious mfrs. + + + + + Roberts Firearms ManufacturingOssian, IN + + + + + REynolds, Plant, & Hotchkins + + + + + Armee ModelMfd. by Roth Gasser + + + + + Galesi, RinoMfd. by Rigarmi + + + + + RG (With Numbers)See RG Industries reference + + + + + Ranger Arms, Inc.Mfr. of rifles + + + + + Rohrbaugh Firearms + + + + + MorroneModel of Rhode Island Arms + + + + + Rhoner/Rhonie + + + + + Richards, W.Imported by H & D Folsom + + + + + Richland Arms Co.Importer + + + + + Rigaud + + + + + John Rigby & Co. + + + + + Rival + + + + + RioPercussion pistols + + + + + R. J. BravermanMeredith, NH; manufacturer of penpistol. Originally sold byAmerican Derringer. + + + + + Ram Line, Inc. + + + + + R. M. A. C. (Rocky Mountain Arms + + + + + ROMARM/CUGIR AK TYPE RIFLES + + + + + DreyseMfd. by Rheinische Metalwaren + + + + + L. Romano Co., Inc. + + + + + Remo + + + + + RAMPRO CORPORATION WILMINGTON,NC + + + + + ROCKY MOUNTAIN ARMS, INCORPORATED + + + + + Ranger Machine & Tool (RMT)Mfr. of frames only + + + + + Randall Mfg. CompanyCalifornia + + + + + ROBINSON ARMAMENT COMPANY SALT LAKE CITY, UT + + + + + R B Rodda + + + + + Rogers & SpencerCivil War revolvers + + + + + Roth Frommer + + + + + Roger + + + + + Romer/Romerwerk + + + + + Rock Island ArmoryCommercial mfr.--do not confusewith Rock Island (military)Arsenal + + + + + Red Jacket + + + + + Rogak, Inc.9mm semiautomatic pistol,Skokie, IL + + + + + Big DBrand name of Rhoem Gesellschaft + + + + + Rollin White Arms + + + + + Rock Pistol Mfg. + + + + + Ross Rifle + + + + + Roth-Sauer + + + + + Routledge Mfg. Co. + + + + + Royal ServiceVarious mfrs. + + + + + Rosebush, Waldo + + + + + Royal Gun Co. + + + + + Royal Small Arms + + + + + Republic Arms IncChino,CA + + + + + RPB Industries + + + + + Phillip Clay RoettingerMfr. of rifles + + + + + ROCK RIVER ARMS CLEVELAND,IL + + + + + Riedlt Rifle Co.Mfr. of single-shot rifles + + + + + ROGUE RIFLE CO. PROSPECT,OR + + + + + Rome Revolver & Novelty Co. + + + + + R & R ENTERPRISES JEFFERSON, SD + + + + + Arsenal CompanyPrivate firm; Mfr. of pistols. + + + + + REPUBLIC ARMS OF SOUTH AFRICA JEPPESTOWN,SA + + + + + Roth-Steyr + + + + + ROMTEHNICA + + + + + Ranch & Silva (RTS)Also starter guns + + + + + Ruby Arms Co. + + + + + NeroMfd. by Rupertus + + + + + Rural + + + + + Russo-Chinois + + + + + Rival + + + + + RWS/DianaMfr. of airguns + + + + + Rexio S. R. L. + + + + + Royster Armament + + + + + Ryan, E., Pistol Mfg. Co. + + + + + NapoleonMfd. by Ryan + + + + + BATTISTA RIZZINI; ITALY + + + + + RaznoShotguns + + + + + Sabatti & Tanfolglio + + + + + S. A. Automatique + + + + + S. A. C. M. + + + + + Sanders + + + + + Sanderson + + + + + Sabatier + + + + + S. A. G. M. or S. A. G. E. M. + + + + + St. Hubert + + + + + St. Louis Arms Co.Imported by Folsom for Hunter Arms + + + + + FinnbearModel of Sako + + + + + Sarmco + + + + + Sangenhau + + + + + St. Gotthardt + + + + + Sporting Arms Mfg.Littlefield, TX + + + + + Felix Sarasqueta & Co.Mfr. of shotguns + + + + + DestructorModel of Salaverria + + + + + Sahsho Ltd. + + + + + Model B-63Model B-64Model B-65CModel B-68Model B-963Model B-967 + + + + + AgnerSee Saxhoj Product + + + + + S. A. (Suinaga y Aramberri)Mfr. of revolvers, see also VictorAramberri & Sons + + + + + SHINBISHA; JAPAN MAKER OF SHOTGUNS + + + + + Armi SabattiMfr. of shotguns + + + + + SERBU FIREAMS, INC. TAMPA, FL + + + + + Kaschie (Karl Schieder)Mfr. of derringers + + + + + Schoulhof, Wien + + + + + A. W. Schwarzlose + + + + + Schintad + + + + + Shin Chuo Kohyo, K. K.Mfr. of shotguns and pistols + + + + + Schultz/Larsen + + + + + SchmeisserMfd. by C. G. Haenel, Erma andothers + + + + + Schonberger + + + + + Scorpion + + + + + Schmidt-RubinSwiss military rifle + + + + + BisonBrand of Herbert Schmidt + + + + + Scott Arms Co. + + + + + Scout + + + + + Security Industry of America, Inc.Handguns + + + + + Saco DefenseSaco,ME,mf's Desert Eagle Pistolsr Magnum Research and someatherby Rifles. + + + + + Stallard Arms + + + + + Sucesor de e Guisasola + + + + + Sabre Defense Ind., LLC + + + + + Spider Firearms + + + + + R. F. Sedgley, Inc. + + + + + Sedco IndustriesLake Elsinore, CA + + + + + Johann Springer's ErbinMfr. of shotguns + + + + + Simson + + + + + Semmerling Corp.Mfr. of handguns + + + + + Handi-GunMfd. by Serna + + + + + Seecamp, L. W.Milford, CT + + + + + S. E. A. M. + + + + + Sears Roebuck & Co.Use only when mfr. is unknown + + + + + SpescoVarious mfrs. + + + + + Sentinal ArmsRideway, PA + + + + + South AfricaCode by country if make cannot bedetermined + + + + + Freses Ames SchroederDistributor + + + + + Sheriff's Model + + + + + Safety Harbor Firearms + + + + + SHAN DONG FIRST MACHINERY COMPANY, CHINA + + + + + Sterling ArmsMfr. of handguns + + + + + LH Gun Co.Springfield Armory M1A + + + + + Stag Arm + + + + + STINGER MANUFACTURING CORPORATION; SAULT ST. MARIE, MI; PENGUNS ETC + + + + + STAN'S GUNSMITHING SERVICE WEBSTER,NH + + + + + State Arms Gun Co.Waunakee, WI; Mfr. of rifles -Klaus Horstkamp. + + + + + SGW EnterprisesMfr. of frames only + + + + + C. Sharps & Co. (Sharps & Sons) + + + + + Old ReliableMarking on Sharps Borchardt rifles + + + + + C. S. Shattuck Arms Co. + + + + + Shadow/Shadow IndyModel of shotguns + + + + + KnockaboutModel of Sheridan + + + + + Sheffield + + + + + Schuyler, Hartley, & Graham + + + + + Schilling + + + + + Sharps & HankinsCivil War carbines + + + + + SchimelGas/air pistol + + + + + August SchnleAlso see Reform + + + + + Shapleigh Hardware Co.Distributor of shotguns + + + + + Shue's Special + + + + + SchoverSingle-shot rifles + + + + + S. I. A. + + + + + Sickles Arms Co. (Sickles & + + + + + Sierra Arms Co. + + + + + HammerliMfd. by S. I. G. + + + + + Springfield FirearmsSpringfield, MA + + + + + Sile Distributors, Inc. + + + + + Simmons + + + + + SingerMfd. by Francisco Arizmendi andFrantisek Dusek + + + + + Sirkis Industries, Ltd. + + + + + Sivispacem + + + + + Sites SpecterRamat-Gan, Israel + + + + + SimonovSoviet AK rifles + + + + + SEMINOLE NATION + + + + + AthenaSKB Firearms Company + + + + + Shiki (Copy Mauser M. P.)Shanghai Arsenal + + + + + Shinkosha + + + + + Skoda + + + + + SILAH MAKINA KLIP SAN, TIC, LTD. IZMIR TURKEY;TRADENAME HATSAN + + + + + Specialty ArmsMfd. in Springfield, OH + + + + + Solingen CutleryImporter, see Liberty Arms + + + + + Salford Imports + + + + + Shiloh Products (Sharps Rifle)Mfr. of custom rifles + + + + + STORM LAKE MACHINE INC. LENOIR CITY,TN + + + + + Steel City ArmsPittsburgh, PA + + + + + SLLR + + + + + Slavia + + + + + SmimuraDistributor + + + + + BakerBrand name of L. C. Smith Gun Co. + + + + + Steelville Mfr. Co. + + + + + Saeilo Mfg., Ind. + + + + + Smith (not Smith & Wesson) + + + + + Smok + + + + + Otis A. Smith + + + + + SHOOTERS ARMS MANUFACTURING (S.A.M.) PHILIPPINES + + + + + John M. Smythe Mdes. (or Hdw.) Co.Various mfrs. + + + + + SimplexImported by Stoeger + + + + + Smith-SonianMfd. by Crescent or Harrington &Richardson + + + + + Smith Manufacturing CompanyHolland, OH + + + + + SarsicmazMfr of shotguns + + + + + FRANCESCO SERENA; MAINLY MARKED SERENA; ITALY + + + + + Santa BarbaraRifles, imported by ConnecticutValley Arms + + + + + Sendra Corporation + + + + + Sundance IndustriesN. Hollywood, CA + + + + + StanleyImported by H & D Folsom + + + + + SAN MARTIN; EIBAR SPAIN + + + + + Shinn-A-SipjaSeoul, South Korea + + + + + SMITH ENTERPRISES TEMPE,AZ SEMI-AUTO M14 STYLE RIFLES + + + + + Scheintod/ScheintotMfr. of handguns + + + + + STANDARD ARMS OF NEVADA RENO, NV; NOT SAME AS STANDARD ARMS COMPANY (STD) IN DELAWARE + + + + + Societe Anonyme + + + + + Societe D'Armes + + + + + Franz SodiaMfr. of shotguns + + + + + SOKOLOVSKY CORP. SUNNYVALE, CA + + + + + Solway + + + + + Solothurn + + + + + Stanley Tool Co. (The Stanley + + + + + Soper + + + + + Guilio Sosso + + + + + SOUTHWEST MANUFACTURING CHANDLER,AZ + + + + + Espanola (or Spain)Code by country if make cannot bedetermined + + + + + Spiller & BurrCivil War revolvers + + + + + Standard Products Co.Mfr. of military-style carbines + + + + + SpandauRoyal arsenal + + + + + Special Service + + + + + Sport Arm of Florida + + + + + Spencer RifleCivil War military + + + + + Spanish American War VintageSpringfield Armory, Springfield, IL + + + + + Spirlet + + + + + San PauloBrand of shotgun (Mfr. unknown) + + + + + SportsmanNames of Harrington & Richardson,Crescent, and various other mfrs. + + + + + Sportco + + + + + Sportarms + + + + + Spencer Rifle Co. + + + + + Springfield Arms Co.Name used by Crescent, Savage, andWarner Arms Corp. + + + + + Spesco Corp.Importer and mfr. + + + + + CYQ"CYQ" is coding on Spreewerk guns + + + + + Sphinx Engineering, SAFormer ITM + + + + + SwedenCode by country if make cannot bedetermined + + + + + Bingham, Squire'sMfd. by Squibman + + + + + BearcatModel of Sturm, Ruger & Co. + + + + + Sporting Arms Co.Mfr. of shotguns + + + + + Charles Steen Armament Co. (Sarco)Importer + + + + + SARDIUS INDUSTRIES + + + + + Spitfire Mfg. Co.Police carbines + + + + + Serrifile, Inc.Lancaster, CA + + + + + Shilen Rifles, Inc.Mfr. of custom rifles + + + + + StormSingle-shot rifles + + + + + SternStarter guns + + + + + Saraquesta, VictorMfr. of shotguns + + + + + SERITSAN_ ISMIR, TURKEY + + + + + Service Armament Co.Importer + + + + + Sampson Mfg. Corp. + + + + + SitesBrescia, Italy + + + + + Schmeisser & Simpson + + + + + K-MartUse only when mfr. is unknown + + + + + Silma Sporting GunBrescia, Italy + + + + + Abiline MarshalMfd. by J. P. Sauer & Sons + + + + + Secret ServiceMfd. by Howard Arms, U.S. RevolverCompany, and several others + + + + + Acme Arms Co.Subsidiary of Stevens + + + + + Bonifacio EcheverriaSee Star + + + + + Staggs Bilt ProductsSerial numbers 1 thru 2000 + + + + + Standard Arms Co. + + + + + Mannlicher-SchoenauerMfd. by Steyr + + + + + Stillers Precision Firearms + + + + + STINGER MANUFACTURING CORP.; PENGUNS + + + + + Strayer Tripp, International + + + + + Striker 12Similar to Streetsweeper 12-gaugeshotgun + + + + + Grant, Stephen, & Joseph Land, Ltd. + + + + + SterlingSubmachine guns + + + + + Starr Arms Co.Mfr. of Civil War carbines + + + + + StenSubmachine guns + + + + + Franz StockMfr. of shotguns and pistols + + + + + Albin Wall + + + + + A. StroegerDo not confuse with Stoeger Arms + + + + + Scotti + + + + + Australian Automatic ArmsTazmania, Australia + + + + + Eugene StonerDesigner of Stoner Weapons System + + + + + Stewart + + + + + Alexander Stocking & Co. + + + + + Stanley Arms Co. + + + + + Stoeger ArmsImporter; France, Germany and Spain + + + + + Sudarev + + + + + SuperiorVarious mfrs. + + + + + Harold Sunngard + + + + + SuomiMfr. of submachine guns + + + + + Super Destroyer + + + + + Survival ArmsMaker of AR-7 rifle (Post-1991) + + + + + Shoeless Ventures, Inc., or FAB-10 + + + + + Strayer-VoigtGrand Prairie,TX mfr's of pistolsAustin, TX; manufactures Colt1911 clone, "Model 2011" + + + + + BodyguardModel of Smith & Wesson + + + + + Cobray FirearmsSmyrna, Ga + + + + + Swift Mfg. Co. + + + + + Sterlingworth II + + + + + SPECIAL WEAPONS LLC TEMPE, AZ; H&K TYPE WEAPONS + + + + + SELECT WEAPON SYSTEMS, INC. WALNUT CREEK,CA + + + + + Special Weapons and Individual + + + + + KalashnikovDesigner of Soviet AK machine gun + + + + + Syco Double Hammerless + + + + + LiraMfd. by Systema La Lira + + + + + SympathiqueMfd. by Manufacture D'Armes desPyrenees + + + + + Syracuse Forging Co.Succeeded by Baker Gun Forging Co. + + + + + Pistolet Auto. Francais UnionMfd. by Seytres + + + + + SwitzerlandCode by country if make cannot bedetermined + + + + + T. A. C. + + + + + Taico + + + + + GauchoModel of Tala + + + + + CaribouRifle model of Tampereen Asepaja + + + + + FalconTrade name of Spesco; mfd. byTaurus + + + + + Tatra + + + + + Texas ArmoryWaco, TX; makes derringers. + + + + + Brown Bess (Tower)Replica + + + + + TiberSingle-shot pistols + + + + + Bland, Thomas, & Sons + + + + + TECHNO ARMS + + + + + "International" PoliceStainless .357 revolvers + + + + + Traditions, Inc.Importers of Spanish black-powderfirearms + + + + + Thermo Dynamic SystemsMfr. of handguns + + + + + Teis + + + + + Ten StarImported by H & D Folsom + + + + + Teuf-TeufHandgun model + + + + + Texas Ranger + + + + + Fabrica D'Armi F. Lli TanfolglioMfr. of revolvers + + + + + THE TRIANGLE GUN CO; HUNGARY + + + + + Tokyo Gas & Electric + + + + + Tiger (Shotgun)Imported by H & D Folsom + + + + + The Triangle Gun Co. + + + + + Three G. Ordnance + + + + + ThailandCode by country if make cannot bedetermined + + + + + Thames Arms Co.Brand of Harrington & Richardson + + + + + American, The + + + + + J. Thomas + + + + + ContenderMfd. by Thompson Center + + + + + Three Barrel Gun Co. + + + + + Thayer, Robinson, & Cary + + + + + Fox CarbineModel of Tri-C-Corp + + + + + TALON INDUSTRIES, INC. ENNIS, MT + + + + + Tingle + + + + + Tippman Arms Company1/2 scale reproduction of Browningmachine gun, .22 caliber; FortWayne, IN + + + + + TisanMfd. by Salaverria + + + + + Tiwa + + + + + Tokyo Arsenal + + + + + FinlandiaModel of Tikka. Imported by F. I.Garcia + + + + + Texas Longhorn ArmsRichmond, TX + + + + + Golden West (Talon) + + + + + FellingSauke Center,MN + + + + + TEL-TEC + + + + + Titan Manufacturing Corp.Bought by F. I. E. in 1968 + + + + + Techniarm Metal Products + + + + + TNI + + + + + T N W TECHNETWORK VERONIA,OR + + + + + Tobin Arms Mfg. Co. + + + + + TOC Inc. + + + + + Buffalo ScoutMfd. by Francisco Tanfolglio;inscribed "Made in Italy" + + + + + Tobin SimplexMfr. of revolversRevolvers + + + + + Taiyo-JukiMfr. of shotguns + + + + + Toledo Firearms Co. + + + + + Thomas Arms Co. + + + + + TonoliniModel 440 Shotgun + + + + + Torpille + + + + + Torkelson Arms Co.Mfr. of shotguns + + + + + American BoyBrand name of Townley Metal Co. + + + + + Triple-S Development Co. + + + + + Traps Best + + + + + TRC + + + + + Trade + + + + + Tranter, William + + + + + Traff + + + + + Trejo + + + + + Trocaola, Aranzabal + + + + + TriompheMfd. by Apalozo + + + + + Trico + + + + + Trent Metal Industries + + + + + Tripp ResearchMaker of plastic replacement framesfor Colt 1911 style pistols + + + + + Tru-Test + + + + + Triplett & Scott + + + + + TradewindsImporter only, code for mfr. ifknown + + + + + TirmaxAutomatic loading rifle + + + + + Edward Tryon & Co.Distributor only + + + + + TSModel of shotgun + + + + + Texas Automatics + + + + + Top Snap ChampionBrand of Great Western Arms Corp. + + + + + Triumph Sports Distributor + + + + + Texas Sesquicentennial + + + + + TACTICAL SOLUTIONS, LLC; BOISE, ID + + + + + TaserFires electrically charged darts + + + + + Ttibar Pistola + + + + + TTI International + + + + + TRESSITU + + + + + Arsenal de Tula + + + + + Tue-Tue + + + + + Taiwan, Republic of ChinaCode by country if make cannot bedetermined + + + + + TWIN PINES, PHILIPPINES + + + + + "Tower" Brown BessPre-revolutionary war Britishmilitary weapons plant + + + + + TurkeyCode by country if make cannotdetermined + + + + + Tyrol (Rifle)Early name for Voere, also seeDumoulin + + + + + Bostwick BraunShotguns mfd. by Union Arms Co. + + + + + U. A. E. (Union Armera Eibar) + + + + + Aldo UbertiMfr. of revolvers + + + + + U. C. + + + + + Ignacio Ugartechea + + + + + Martin Ugarteburu + + + + + Ultra Light ArmsGranville, WV + + + + + Ultra Hi + + + + + ULTIMATE ACCURACY LONOKE, AR; .50 CALIBER RIFLE + + + + + Umarex + + + + + UnionVarious mfrs. + + + + + Uncle Sam + + + + + CorsairModel of Unique + + + + + Union/Union I + + + + + Unis + + + + + Unique + + + + + Auto-WingShotgun model of Universal + + + + + UplanderShotgun model + + + + + Urrejola + + + + + RenoModel of Uriguen + + + + + PremierMfd. by Tomas de Urizar y Cia + + + + + UrkoMfr. of rifles and shotguns + + + + + U.S.Use if nonmilitary-issue and gundoes not display make or modeland is manufactured in the U.S. + + + + + Aircraft Armaments Corp. + + + + + Union Sales Co. + + + + + United States Fire-Arms Mfg., Inc. + + + + + ULTRAMATIC SPORTWAFFEN G.M.B.H. + + + + + U.S. Arms & Cutlery Co. + + + + + U.S. ORDNANCE SPARKS, NV + + + + + El DoradoBrand name of United Sporting Arms + + + + + United States Arms Corp. + + + + + Utica + + + + + Spitfire-Super 777Starter gun mfd. by Uniwerke + + + + + UZISemiautomatic; imported Action ArmsPhiladelphia, PA + + + + + Uzumlu Arms + + + + + Vainqueur + + + + + Valiant/Valiant RifleVarious mfrs. + + + + + EraBrand of Valmet + + + + + Vandalis + + + + + ValorImporter of EMGE and Rohm + + + + + Varmeter + + + + + TompkinsModel of Varsity + + + + + Dynamic (Shotgun)Imported by Virginia CapesImporters + + + + + VOLQUARTSEN CUSTOM LTD + + + + + Vulcan Arms, Inc. + + + + + Verney Carron USA, Inc. + + + + + VedettSee Rouby + + + + + Velobrom + + + + + Velomith + + + + + Vergo + + + + + VetterliMilitary weapons + + + + + VegaDistributed by PI?C & Eddy Mfg. Co. + + + + + Vici + + + + + Vickers-Armstrong.30 caliber machine guns + + + + + Vilar + + + + + VictorVarious mfrs. + + + + + ViperSee Baby Hammerless + + + + + Tehdas + + + + + VOLBrand name of Blumenfield Imports + + + + + VolcanicModel of starter guns + + + + + Valkyrie Arms, Ltd. + + + + + VulcanMfd. by Pfanni + + + + + VM Hy-Tech, LLC + + + + + VERONA; ITALY + + + + + Vinceta y Cia + + + + + Verchrmont + + + + + Black ForestModel of Voere rifles + + + + + Valley Ordnance, Inc.Mfd. for Springfield Armory, Tx + + + + + Commando MK IIISemiautomatic carbines, seeVolunteer Enterprises + + + + + Volcanic Repeating Arms Co. + + + + + Vector Arms + + + + + Varner Arms + + + + + VorenbachMfr. of rifles + + + + + VASP (Visser Assault Pistol)Mfd. by Harwick Air Controls + + + + + ValtroCarcina,IT mfr's of shotguns + + + + + VEKTOR PRETORIA,SA + + + + + Vulcain + + + + + VURSAN; ISTANBUL, TURKEY + + + + + Virgin Valley Custom Guns + + + + + Western Arms Corp. + + + + + Warner-Counet + + + + + Walch Firearms Co. + + + + + Don Austin WagenknechtGrandview,MO + + + + + Armee (Pistol)Model of Walther + + + + + HamiltonModel of Whamo + + + + + Dunlap Special (Pistol)Model of Warner Arms Co. + + + + + Warren Arms Corp.Imported by H & D Folsom + + + + + Warrior PistolsImported by Laszio + + + + + AmelungModel of Warnant + + + + + Wautauga + + + + + Web Arms + + + + + Ward BurtonMfr. of Civil War rifles + + + + + WYANDOTTE TRIBE + + + + + WEI DONG MANUFACTURING; CHINESE + + + + + Weher + + + + + Roy WeatherbyMfr. of rifles and shotguns + + + + + G. S. Webber + + + + + Webley-FosberyAutomatic revolvers + + + + + Werder Lightning + + + + + Wesson & Harrington + + + + + Herman WeihrauchMfr. of Arminius + + + + + Frank Wesson + + + + + Wegria-Charlier + + + + + Wesson, Stevens, & Miller + + + + + Western MarshalMfd. by Sauer and various othermfrs. + + + + + Dan B. Wesson ArmsWent out of business. Now knownas Wesson Firearms Co., Inc. + + + + + Weaver Arms + + + + + Richards, WestleyImported by Harrington & Richardson + + + + + Western Valley Arms + + + + + Waffen Franconia + + + + + West, Federal Republic of GermanyCode by country if make cannot bedetermined + + + + + Whitneyville Armory + + + + + Lightning ModelSame as Wolverine + + + + + WhippetVarious mfrs. + + + + + Wilshire Arms Co. + + + + + Wichita ClassicBolt action rifle + + + + + Wedmer + + + + + Wischo (K. G. Wilsker & Co.)Importer + + + + + Ted WilliamsSold by Sears. Number appearingthereon is possibly Searsinventory control number rathert + + + + + WinfieldPistols only + + + + + Winfield Arms Co.Shotguns made by Crescent + + + + + Winslow Arms Co.Long guns + + + + + Olin-Mathieson Corp.Mfd. by Winchester + + + + + Wilkar Products, Inc. + + + + + Winco Arms Co. + + + + + Wiltshire Arms Co.Imported by H & D Folsom + + + + + Witte's IXL + + + + + Wildey Firearms CompanyWinston, NJ + + + + + W J JEFFERY & COMPANY, LTD.; ENGLAND + + + + + Diane (Pistol)Model of Wilkinson Arms Co. + + + + + Wilkinson & SonsAlso see Webley + + + + + WILSON COMBAT BERRYVILLE, AR + + + + + Falke/Falke World ArmsMfd. by World Arms Corporation + + + + + Walker + + + + + Wilmont Arms Co.Imported by H & D Folsom + + + + + Wesson & LeavittMfr. of Civil War revolvers + + + + + Winfield Arms Co.Importer only + + + + + Winkler-FerlackMfd. in Germany + + + + + Wichester + + + + + Wesco Ordnance, Division of B-C + + + + + E. Woerther + + + + + Wolf + + + + + James Woodward & Sons + + + + + Worthington Arms Co.Mfd. by Crescent & various othermfrs. + + + + + Werndl + + + + + ScottMfd. by Webley & Scott + + + + + Watson Brothers + + + + + Stenda/Stenda WerkeWaffenfabrik-Stenda Werke + + + + + WICHITA TRIBE + + + + + WITNESS P; GREY GHOST MODEL + + + + + Whitworth Rifle Co. + + + + + E. WhitneyEarly mfr. of rifles + + + + + WurffleinMfr. of rifles + + + + + Weiner Waffenfabrik + + + + + Wiener Waffenfabrik + + + + + Wyoming Arms + + + + + XLCRVarious mfrs. + + + + + X-Ploraco of Texas, Inc.Automatic weapons + + + + + ExpertBrand of Crescent + + + + + XIN SHAI DAI; CHINESE + + + + + Young AmericaImported by George E. Rose Co. + + + + + YatoMfd. by Hamada Arsenal + + + + + YugoslaviaCode by country if make cannot bedetermined + + + + + Yamamoto Juho SeisakushoMfr. of shotguns + + + + + Yildiz Sanayi + + + + + York CutleryImporter of Armalite and EMGE + + + + + YorkVarious mfrs. + + + + + Yovanovitch + + + + + Firearms Co.Mfr. of rifles + + + + + Ascensio Zabala + + + + + NOC-A-BOTMfd. by Zabala Hermanos + + + + + Zamacola Hermanos + + + + + Custom ModelShotgun, model of Zanotti + + + + + Z Aut. Pistole + + + + + CorlaModel of Zaragoza + + + + + Zastaza (Zavodi Crevena)Mfr. of rifles + + + + + Zavady Jana SvermyMfr. of shotguns + + + + + ZayreUse only when mfr. is unknown + + + + + Z-B + + + + + Zebra + + + + + Emil Zehner (Suhl)Mfr. of pistols + + + + + Zella + + + + + ClaybirderModel of Zephyr + + + + + ZuluSingle-shot shotguns + + + + + Z M WEAPONS BERNARDSTON,MA + + + + + Antonio ZoliMfr. of shotguns + + + + + Fara + + + + + Zouave + + + + + Fabio ZanottiMfr. of shotguns + + + + + M. Zulaica & Co. (Zulaica y Cia) + + + + + Zhongzhou Machine Works + + + + + UnknownSEE NCIC OPERATING MANUAL,PART 4, SECTION 2. CONTACT CJISLAW ENFORCEMENT SUPPORTSECTION + + + + + + + A data type for Gun Make. + + + + + + + + + + + + + A data type for Miscellaneous Number Value. + + + + + + + + AIR FORCE SERIAL NUMBER + + + + + NON-IMMIGRATION ADMISSION NUMBER + + + + + ALIEN REGISTRATION NUMBER + + + + + NATIONAL GUARD SERIAL NUMBER + + + + + US COAST GUARD SERIAL NUMBER + + + + + CANADIAN SOCIAL INSURANCE NUMBER + + + + + MARINE CORPS SERIAL NUMBER + + + + + MARINERS DOCUMENT OR IDENTIFICATION NUMBER + + + + + ROYAL CANADIAN MOUNTED POLICE ID OR FINGERPRINT SEC (FPS) NUMBER + + + + + NATIONAL AGENCY CASE NUMBER-MILITARY + + + + + NAVY SERIAL NUMBER + + + + + ORIGINATING AGENCY POLICE OR IDENTIFICATION NUMBER + + + + + PERSON IDENTIFICATION NUMBER + + + + + PASSPORT NUMBER + + + + + PORT SECURITY CARD NUMBER + + + + + SELECTIVE SERVICE NUMBER + + + + + VETERANS ADMINISTRATION CLAIM NUMBER + + + + + + + A data type for Miscellaneous Number Value. + + + + + + + + + + + + + A data type for Missing Person Circumstance. + + + + + + + + ABDUCTED BY A NON-CUSTODIAL PARENT + + + + + Runaway + + + + + Abducted by a stranger + + + + + + + A data type for Missing Person Circumstance. + + + + + + + + + + + + + A data type for Propulsion. + + + + + + + + Inboard (includes inboard/outboard, stern drive, and inboard/outdrives) + + + + + Manual (oars, paddles, etc.) + + + + + Outboard + + + + + Sail only + + + + + Sail w/Auxiliary Inboard Power + + + + + Sail w/Auxiliary Outboard Power + + + + + + + A data type for Propulsion. + + + + + + + + + + + + + A data type for Race. + + + + + + + + ASIAN + + + + + BLACK + + + + + AMERICAN INDIAN + + + + + UNKNOWN + + + + + WHITE + + + + + + + A data type for Race. + + + + + + + + + + + + + A data type for Registration state for boat registrations. + + + + + + + + Albania + + + + + Alberta + + + + + Andorra + + + + + Anguilla + + + + + Afghanistan + + + + + Aguascalientes + + + + + Ashmore and Cartier Islands + + + + + Antigua and Barbuda (formerly Antigua) + + + + + Aruba (now independent of NetherlandsAntilles) + + + + + Alaska + + + + + Alabama + + + + + Algeria + + + + + Angola + + + + + Armenia + + + + + Azores Islands + + + + + Arkansas + + + + + American Samoa (Islands) + + + + + Argentina + + + + + Austria + + + + + Azerbaijan + + + + + APACHE TRIBE + + + + + Arizona + + + + + Baja California (Northern Section) + + + + + Barbados + + + + + British Columbia + + + + + Bahamas, The + + + + + Bahrain/Bahrein + + + + + Bassas Da India (French possession) + + + + + Belgium + + + + + Belize (formerly British Honduras) + + + + + Burundi + + + + + Baja California (Southern Section) + + + + + Baker Island + + + + + Bangladesh + + + + + Bermuda + + + + + Bhutan + + + + + British Indian Ocean Territory + + + + + Bosnia and Hercegovenia + + + + + Bouvet Island (Norwegian territory) + + + + + Burma + + + + + British Solomon Islands (now SolomonIslands) + + + + + Botswana + + + + + Bulgaria + + + + + Bolivia + + + + + Balearic Islands + + + + + Brunei + + + + + Byelarus + + + + + Brazil + + + + + Colombia + + + + + Cuba + + + + + Canada(See separate list of CanadianProvinces; use code CD only whenprovince is unknown.) + + + + + Campeche + + + + + California + + + + + Caroline Islands + + + + + Chihuahua + + + + + Chiapas + + + + + Cambodia (formerly Khmer Republic& Kampuchea) + + + + + Colorado + + + + + Cameroon + + + + + Cayman Islands + + + + + Chile + + + + + Costa Rica + + + + + Cyprus + + + + + Connecticut + + + + + Coahuila + + + + + Cape Verde Islands + + + + + Central African Republic + + + + + Ceylon (Now Sri Lanka) + + + + + Canal Zone + + + + + CHEYENNE & ARAPAHO TRIBES + + + + + Clipperton Island (French possession) + + + + + District of Columbia + + + + + Cocos (Keeling) Islands (Australiandependency) + + + + + Distrito Federal (Mexico, D. F.) + + + + + Comoros (or Comoros Islands) + + + + + Benin (formerly Dahomey) + + + + + Cook Islands + + + + + Coral Sea Islands (Australian territory) + + + + + Denmark + + + + + Delaware + + + + + Dominica + + + + + Djibouti + + + + + Durango + + + + + COMANCHE NATION + + + + + Dominican Republic + + + + + MIAMI TRIBE + + + + + MUSCOGEE (CREEK) TRIBE + + + + + SENECA-CAYUGA TRIBES + + + + + CITIZEN BAND POTTAWATOMIE TRIBES + + + + + Absentee Shawnee + + + + + Equatorial Guinea + + + + + El Salvador + + + + + England + + + + + Ethiopia + + + + + Europa Island (French possession) + + + + + Estonia + + + + + Eretria + + + + + Ecuador + + + + + Egypt (formerly United Arab Republic) + + + + + Czech Republic + + + + + Falkland Islands + + + + + Fond du Lac + + + + + Finland + + + + + French Guiana + + + + + Fiji + + + + + Florida + + + + + France + + + + + Faroe Islands + + + + + French Polynesia + + + + + French Southern and Antartic Lands + + + + + Federated States of Micronesia + + + + + Sac & Fox + + + + + Georgia + + + + + Gabon + + + + + Greece + + + + + Georgia + + + + + Germany (East Germany: 1945-1989,for reference only)(West Germany: 1945-1989, for referenceonly) + + + + + Guernsey + + + + + Ghana + + + + + Guinea + + + + + Grenada + + + + + Gambia, The + + + + + Guam + + + + + Greenland + + + + + Glorioso Islands (French possession) + + + + + Guadeloupe + + + + + Guerrero + + + + + South Georgia and the South SandwichIslands + + + + + Guatemala + + + + + Guanajuato + + + + + Guyana + + + + + Gaza + + + + + Hawaii + + + + + Honduras + + + + + Heard Island and McDonald Island + + + + + Hong Kong + + + + + Hidalgo + + + + + New Hebrides (now Vanuatu) + + + + + Howland Island + + + + + Christmas Island + + + + + Saint Helena + + + + + Haiti + + + + + Hungary + + + + + Iowa + + + + + Isle of Man + + + + + Iceland + + + + + Idaho + + + + + Ireland (does not include NorthernIreland, see Northern Ireland) + + + + + India + + + + + Illinois + + + + + Madeira Islands + + + + + Indiana + + + + + Indonesia (now includes Portuguese Timor) + + + + + Iraq + + + + + Iran + + + + + Israel + + + + + Italy (includes Sicily and Sardinia) + + + + + Niue + + + + + IOWA TRIBE + + + + + Menominee + + + + + Cote d'Ivoire (Ivory Coast) + + + + + Japan + + + + + Jersey + + + + + Johnston Island + + + + + Jalisco + + + + + Jamaica + + + + + Jan Mayen + + + + + Jordan + + + + + Jarvis Island + + + + + Juan de Nova Island + + + + + Kansas + + + + + Gilbert Islands (now Kiribati) + + + + + Croatia + + + + + Kenya + + + + + Manahiki Island + + + + + Kingman Reef + + + + + KICKAPOO TRIBE + + + + + North Korea + + + + + South Korea + + + + + Shakopee + + + + + Kazakhstan + + + + + Kuwait + + + + + Kiowa + + + + + Kentucky + + + + + Kyrgyzstan + + + + + Louisiana + + + + + Liberia + + + + + Mille Lacs + + + + + Moldova + + + + + Lesotho + + + + + Slovakia + + + + + Lithuania + + + + + Liechtenstein + + + + + Leech Lake Band of Chippewa + + + + + Lebanon + + + + + Slovenia + + + + + Lac du Flambeau Band of Lake SuperiorChippewa + + + + + Laos + + + + + LATVIA + + + + + Saint Lucia + + + + + Luxembourg + + + + + Libya + + + + + Manitoba + + + + + Michigan + + + + + Maryland + + + + + Maine + + + + + Malawi + + + + + Mongolia + + + + + Marshall Islands + + + + + Mississippi + + + + + Monaco + + + + + Mariana Islands + + + + + Mali + + + + + Mexico (See separate list of MexicanStates; use code MM only when state isunknown) + + + + + Minnesota + + + + + Missouri + + + + + Madagascar (included in Malagasy Republic) + + + + + Morocco + + + + + Morelos + + + + + Massachusetts + + + + + Montana + + + + + Mauritania + + + + + Maldives + + + + + Midway Islands + + + + + Mexico (State) + + + + + Malta + + + + + Malaysia + + + + + Nayarit + + + + + Nebraska + + + + + North Carolina + + + + + North Dakota + + + + + Holland (Netherlands) + + + + + Newfoundland (includes Labrador) + + + + + Nigeria + + + + + New Hampshire + + + + + Northern Ireland + + + + + New Jersey + + + + + New Brunswick + + + + + Nuevo Leon + + + + + New Mexico + + + + + Niger + + + + + New Guinea (now Papua New Guinea) + + + + + Nepal + + + + + New Caledonia + + + + + Nauru + + + + + Nova Scotia + + + + + Northwest Territories + + + + + Nicaragua + + + + + Nevada + + + + + Norway + + + + + Bonaire (Netherlands Antilles) + + + + + New York + + + + + New Zealand + + + + + Oaxaca + + + + + Macao (now spelled Macau) + + + + + Norfolk Island + + + + + OSAGE NATION + + + + + Ohio + + + + + Okinawa + + + + + Oklahoma + + + + + Oman + + + + + Ontario + + + + + OTOE-MISSOURIA TRIBE + + + + + Oregon + + + + + Oglala Sioux + + + + + Oneida Tribe of Indians of Wisconsin + + + + + Pennsylvania + + + + + Puebla + + + + + Pitcairn,Henderson, Ducie, and OenoIslands + + + + + Palau, Republic of + + + + + Prince Edward Island + + + + + Parcel Islands + + + + + Guinea-Bissau (formerly Portuguese Guinea) + + + + + Philippines + + + + + Pakistan + + + + + Palmyra Atoll + + + + + Panama + + + + + PONCA TRIBE + + + + + Poland + + + + + Quebec + + + + + Puerto Rico + + + + + Saint Pierre and Miquelon + + + + + Portugal + + + + + Peru + + + + + Paraquay + + + + + PAWNEE TRIBE + + + + + Qatar + + + + + Quintana Roo + + + + + Queretaro + + + + + Russia + + + + + Republic of Congo, Brazzaville + + + + + People's Republic of China + + + + + Reunion + + + + + Russian Federation + + + + + Gibraltar + + + + + Rhodesia (now Zimbabwe) + + + + + Rhode Island + + + + + Red Lake + + + + + Montserrat + + + + + Spanish Sahara (now Western Sahara) + + + + + Romania/Rumania + + + + + Socialist Republic of Vietnam + + + + + Rwanda + + + + + Republic of Yemen + + + + + Sierre Leone (Sierra Leone) + + + + + Saudi Arabia + + + + + South Carolina + + + + + South Dakota + + + + + Seychelles + + + + + South Africa + + + + + Senegal + + + + + San Marino + + + + + Sinaloa + + + + + Namibia (South-West Africa) + + + + + SEMINOLE NATION + + + + + San Luis Potosi + + + + + Somalia + + + + + Saskatchewan + + + + + Sonora + + + + + Spain + + + + + Sweden + + + + + Singapore + + + + + Scotland + + + + + Sudan + + + + + Svalbard + + + + + Swaziland + + + + + Syria + + + + + Switzerland + + + + + Tamaulipas + + + + + Tabasco + + + + + Trucial States (now United Arab Emirates) + + + + + Trust Territory of the Pacific Islands + + + + + Spratly Islands + + + + + Tuamotu Archipelago + + + + + Tonga + + + + + Thailand + + + + + Tajikistan + + + + + Tokelau + + + + + Tlaxcala + + + + + Tromelin Island (French possession) + + + + + Tennessee + + + + + Togo + + + + + Sao Tome and Principe + + + + + Turks and Calcos Islands + + + + + Nevis and Saint Christopher "Kitts" + + + + + Trinidad and Tobago + + + + + Tunisia + + + + + Ellice Islands (now Tuvalu) + + + + + Taiwan, Republic of China + + + + + Texas + + + + + Turkey + + + + + Tanzania, United Republic of + + + + + Turtle Mtn. Band of Chipewa + + + + + Uganda + + + + + Ukraine + + + + + Mauritius + + + + + Turkmenistan + + + + + United States of America (USA) (Should beused in the following circumstances:1. To indicate the LIS + + + + + Utah + + + + + Burkina Faso (known as Burkina,formerly Upper Volta) + + + + + Uruguay + + + + + Uzbekistan + + + + + Virginia + + + + + British Virgin Islands + + + + + Veracruz + + + + + U.S. Virgin Islands + + + + + Navassa Island + + + + + Vermont + + + + + Saint Vincent and the Grenadines + + + + + Vatican City + + + + + Venezuela + + + + + West Bank + + + + + WYANDOTTE TRIBE + + + + + White Earth + + + + + Wallis and Futuna (French territory) + + + + + Wake Island + + + + + Wales + + + + + Washington + + + + + Wisconsin + + + + + WICHITA TRIBE + + + + + West Virginia + + + + + Wyoming + + + + + Unknown Place of Birth (for use in IIIrecords only) + + + + + Yugoslavia + + + + + Mayotte + + + + + Yukon (Territory) + + + + + Yucatan + + + + + All others (Any foreign country/dependency/territory not included inthe above abbreviation list is t + + + + + Zacatecas + + + + + Martinique + + + + + Surinam + + + + + Macedonia + + + + + Canary Islands + + + + + Zambia + + + + + Mozambique + + + + + Congo Kinshasa, now Zaire + + + + + + + A data type for Registration state for boat registrations. + + + + + + + + + + + + + A data type for Sex. + + + + + + + + FEMALE + + + + + MALE + + + + + UNKNOWN - FOR UNIDENTIFIED ONLY + + + + + + + A data type for Sex. + + + + + + + + + + + + + A data type for Gun Type. + + + + + + + + Cannon + + + + + Submachine gun or machine pistol + + + + + Rifle-shotgun combination + + + + + Disguised gun + + + + + Electric shock gun + + + + + Ammunition + + + + + Grenade + + + + + Bomb + + + + + Mine + + + + + Missile + + + + + Rocket + + + + + Machine gun + + + + + Mortar + + + + + Pistol + + + + + Shotgun pistol + + + + + Rifle + + + + + Shotgun + + + + + Silencer (muffler or sound moderator) + + + + + All others (including guns that fire electrically-charged darts). When the Z code is used, the type of firearm must be described in the MIS Field. + + + + + + + A data type for Gun Type. + + + + + + + + + + + + + A data type for Weapon description. + + + + + + + + Automatic action + + + + + Bolt action + + + + + Carbine + + + + + Derringer + + + + + Double-barrel (side-by-side) + + + + + Flare + + + + + Gas or air + + + + + Flintlock + + + + + Semiautomatic action (autoloading) + + + + + Jet-propelled + + + + + Blank + + + + + Lever action + + + + + Launcher + + + + + Over and under + + + + + Pump action + + + + + Revolver + + + + + Single-shot + + + + + Recoilless + + + + + Percussion (caplock) + + + + + Tear gas + + + + + Three barrels + + + + + Four or more barrels + + + + + + + A data type for Weapon description. + + + + + + + + + + + + + A data type for Vehicle Color. + + + + + + + + AMETHYST + + + + + BEIGE + + + + + BLACK + + + + + BLUE + + + + + BROWN + + + + + BRONZE + + + + + CAMOUFLAGE + + + + + CHROME, STAINLESS STEEL + + + + + COPPER + + + + + CREAM, IVORY + + + + + BLUE, DARK + + + + + GREEN, DARK + + + + + GOLD + + + + + GREEN + + + + + GRAY + + + + + LAVENDER (PURPLE) + + + + + BLUE, LIGHT + + + + + GREEN, LIGHT + + + + + MAROON, BURGUNDY (PURPLE) + + + + + MULTICOLORED + + + + + MAUVE + + + + + ORANGE + + + + + PURPLE + + + + + PINK + + + + + RED + + + + + SILVER + + + + + TAN + + + + + TEAL + + + + + TAUPE + + + + + TURQUOISE (BLUE) + + + + + WHITE + + + + + YELLOW + + + + + + + A data type for Vehicle Color. + + + + + + + + + + + + + A data type for Vehicle Make. + + + + + + + + AAA Mobile Home Mfg. Co. + + + + + A.A.B. Co., Inc. + + + + + Aalite Co. + + + + + AAPEX TRAILERS, INC.; CHICAGO, IL + + + + + Aardvark Co.Waxahachie, Texas + + + + + ALL-AMERICAN TRAILER MFG. CO., INC.; SELMA, AL + + + + + AAA Trailer SalesMt. Pleasant, TX + + + + + AA WELDING SERVICE/CLINT R. WOODS, INC.; MT. PLEASANT, TX + + + + + A-A WELDING SERVICEMOUNT PLEASANT, TEXAS_; ANS OR CLINT R. WOODS INC + + + + + Abarth + + + + + Abbot, Paul Co., Inc. + + + + + ABC (Aluminum Body Corp.) + + + + + ABC Coach Co.From 1960 on, see Vought Industries + + + + + ABC HomesDiv. Divco-Wayne Industries + + + + + ABCO Trailer Mfg. Co. + + + + + Aberdeen Boat Trailer + + + + + ABF, INDUSTRIES; NEBRASKA + + + + + ABI Leisure Inc.Ontario, Canada + + + + + Amco Boat Trailer + + + + + A & B Trailer Mfg. Co., Inc.Crown Point, Indiana + + + + + A C (Great Britian) + + + + + Acadian (GM of Canada) + + + + + Academy Mobile Home Corp. + + + + + Antique & Collectible Autos, Inc. + + + + + ACCU-TEK,INC.; SHREWSBURY, MASSACHUSETTS + + + + + Ace Trailer of America + + + + + Ace Traveler Corp. + + + + + Ace Enterprises, Inc.Miami, Florida + + + + + A & C Knight, Ltd. + + + + + Acme Trailer Mfg. Co. + + + + + Acme Mfg. Co., Inc. + + + + + Acorn Equipment Corp. + + + + + Acro Tank Co.Springfield, Missouri + + + + + Action Industries + + + + + Active Homes Corp. + + + + + Acton Mobile Industries, Inc.Elburn, Illinois + + + + + Acura + + + + + Ada Horse Trailer + + + + + A D BOIVIN SNOWMOBILES; SNOW HAWK MODELS + + + + + Addison HomesDiv. of Penthouse Industries, Inc.Addison, Alabama + + + + + Adette + + + + + ADLER + + + + + Admiration HomesElkhart, Indiana + + + + + Adams Engineering Co. + + + + + Adams Trailer Mfg. + + + + + Adspa Mobile HomeMfd. by Ad Space, Inc., Pomona, CA + + + + + Advance Mfg. Co. + + + + + Adventure Wheels Motor Home + + + + + Advance Machine Co. + + + + + Advanced Vehicle SystemChattanooga, TN; electric shuttle bus + + + + + American Eagle (also see make Eagle) + + + + + Aero Liner Co. + + + + + Aerocar + + + + + Aero Glass Boat Co. + + + + + Aeroil Products Co., Inc.Bensenville, Illinois + + + + + Aircraft (see Operating Manual,Part 1, Section 2.) + + + + + Aeta + + + + + Ag-Chem Equipment Co. Inc.Edina, Minnesota + + + + + AGCO INC. FORMERLY ALLIS CHALMERS & K-H DEUTZ OF GERMANY + + + + + Aragon Distributing Co., Inc. + + + + + AG-Rain, Inc. + + + + + Agri-Supply Co. + + + + + Agrolina SAMexicali, Baha, CA; trailers + + + + + Ag-Systems, Inc.Hutchinson, Minnesota + + + + + Ag-Tronic, Inc. + + + + + Argyle + + + + + AMERICAN IRONHORSE MOTORCYCLES FT. WORTH, TEXAS + + + + + Aircap Manufacturers, Inc.Tupelo, Mississippi--mfrs. power mowers + + + + + Aire-Line Mobile Homes + + + + + Airflyte Mfg. Co. + + + + + Air Support IndustriesGlassboro, New Jersey + + + + + Air-Flo Mfg. Co., Inc.Fort Worth, Texas + + + + + Air-O-Motor Home + + + + + Air-O-Corp. + + + + + Airstream Travel TrailersJackson Center, Ohio + + + + + Ajax Trailer Co. + + + + + A & J Industries Custom Fiberglassing + + + + + AJS (United Kingdom) + + + + + A. J. Travelute Trailer Mfg. Co. + + + + + AJW + + + + + Ajax Electric Motor Corp. + + + + + Alabama Trailer Co.Birmingham, Alabama + + + + + Aladdin Trailer Co. + + + + + Alair Coach Corp. + + + + + Allen Camper Mfg. Co., Inc. + + + + + All Around Horse Trailer + + + + + Alaskan Camper + + + + + Alberta Trailer Co., Ltd. + + + + + Alcan American, Inc. + + + + + Allen Coachworks Inc.(Mexican Manufacturer) + + + + + Alcoa Trailer + + + + + Allied + + + + + Allen Engineering Corp. + + + + + Alexander-Reynolds Corp. + + + + + Alfa Romeo + + + + + ALFAB INC.; TRAILERS + + + + + Alforge Metals Corp.Ontario, Canada + + + + + Allied + + + + + Allis Chalmers + + + + + AljoDiv. Skyline Homes + + + + + Alois Kober (AL-KO) + + + + + All American Campers + + + + + Allard + + + + + Allied American Builders Corp. + + + + + Allied Mfg. Co. + + + + + Allied ProductsDiv. Lonergan Corporation + + + + + Allegro Motor Home + + + + + Allisons Fiberglass mfg.,Inc. + + + + + Allis-Chalmers Corp. + + + + + All Lakes Trailer + + + + + Allied Leisure, Inc. + + + + + All Steel Mfg. Co. + + + + + Alloy Machine Products Corp. + + + + + Alloy Trailers, Inc.Spokane, Washington + + + + + All Purpose Trailer Co., Inc.Jefferson, South Dakota + + + + + All Star Coach, Inc. + + + + + All State + + + + + All-State Trailer Co. + + + + + All States Trailer Co. + + + + + Allentown Brake & Wheel Service, Inc.Allentown, Pennsylvania + + + + + Alma + + + + + Al-Mac Products, Inc. + + + + + Allmand, Inc.Holdrege, Nebraska + + + + + Alma Trailer Co. + + + + + Almac Industries, Ltd.Ville D'Anjou, Quebec + + + + + Alumna-Weld, Inc.Friendship, Arkansas + + + + + ALLEN MANUFACTURING, INC; FORT MORGAN, CO; TRAILERS + + + + + Aloha Trailer Co. + + + + + Aloutte + + + + + Alpine Mfg. Co. + + + + + Alpha + + + + + Alpine + + + + + All Seasons Motor Home + + + + + Alsport/Steen (also see Tri-Sport/Steen) + + + + + Allied Steel and Tractor Products,Inc. + + + + + Alta + + + + + THE ALUMINUM TRAILER COMPANY; NAPPANEE, INDIANA + + + + + Altec IndustriesIndianapolis, Indiana + + + + + Aluma Craft + + + + + AlouetteSee Alouette Recreation Products, Ltd. + + + + + Aluminum + + + + + ALUTREC INC. STE-AGATHE, QUEBEC CANADA + + + + + Alvis + + + + + Alloway Mfg. Co., Inc. + + + + + Aly Travel TrailersDiv. Layton Homes Corp. + + + + + A & M Boat Trailer + + + + + American Augers, Inc. + + + + + Ambassador + + + + + AMC Trailer + + + + + American Clipper Corp.Morgan Hill, California + + + + + Ameri-Camp + + + + + A & M Coach + + + + + AMCO Products + + + + + AMERICAN CRUISER MOTORHOME, NAPPANEE, IN + + + + + AMERICAN DIRT BIKE, INC.; CALIFORNIA + + + + + Agricultural Machinery Div.Div. FMC--mfrs the Bean sprayer + + + + + American Trailers, Inc.Div. Polar Mfg. Co. + + + + + American BeautyMfd. by American Shelter Systems, Inc. + + + + + American Body & Trailer Co. + + + + + American Aluminum Co. + + + + + American Coach Co.Div. Detroiter Homes + + + + + American Duralite Corp. + + + + + American Pride HomesDiv. Challenger Homes + + + + + American Pipe & Steel Corp. + + + + + American Economobile Hilif + + + + + American Trailer & Mfg. Co.See also Transporter, Downey, California + + + + + Amen + + + + + American Way Homes Corp. + + + + + American Motors (see make Ramblerfor Ramblers manufactured priorto 1966) + + + + + Amerigo Travel Trailer + + + + + American Trailer Specialists + + + + + AMF Lawn & Garden Div.AMF, Inc. + + + + + American DreamMfd. by American Family Homes, Inc. + + + + + AM General Corporation + + + + + American Hauler Ind. + + + + + American Hoist & Derrick Co. + + + + + American Microcar, Inc. + + + + + Advance MixerFt. Wayne, IN; truck, front dischargetransit mix + + + + + American Jenbach Corp. + + + + + American Lifan Ind., Inc. + + + + + Amerind-Mackissic, Inc. + + + + + Ammex + + + + + Ampco Mfg. + + + + + AMERICAN PERFORMANCE CYCLE;BULLHEAD CITY, AZ; SPIRIT AND BIG BOY CYCLES + + + + + Amphicar + + + + + Amphicat + + + + + AMERICAN QUANTUM CYCLES, INC. ; MELBOURNE, FL + + + + + American Coupler Systems, Inc. + + + + + AMRAD PRODUCTS & SUPPLY (SNOWMOBILE & UTILITY TRAILERS) + + + + + Americana Mobile Homes, Inc. + + + + + American Road Machinery, Inc. + + + + + American Steel Works + + + + + Amtec Trailer + + + + + American Transportation Corp. + + + + + American Trencher, Inc. + + + + + American Tractor Equipment Corp. + + + + + AMERICAN TRAVEL SYSTEMS, INC.; ELKHART, IN + + + + + AMERICAN YARD PRODUCTS, RIDING MOWERS, MOWERS;WEEDEATER & ELECTOLUX BRAND PRODUCTS + + + + + Ana-Log + + + + + AhoyMfd. by Anchor Homes, Inc. + + + + + Ander-Ett, Inc. + + + + + Anderson Coach Co. + + + + + Anderson Mobile Homes Mfg. Co. + + + + + Andrea Mobile Homes + + + + + Andrews Payloader + + + + + ANDERSON MANUFACTURING; CAMILLA, GA + + + + + Angelus Trailer Mfg. Co. + + + + + Angel + + + + + Anthony Co. + + + + + Anton Mfg. Co. + + + + + A-OK Trailers + + + + + A-1 Trailer + + + + + Apache Coach Co. + + + + + Apache Corp. + + + + + Apacheon Coach Co. + + + + + Apeco Mobile HomesDiv. Apeco Corp. + + + + + Apex Travelers, Inc.Elkhart, Indiana + + + + + Appleton Trailer + + + + + Apollo Homes + + + + + APPALACHIAN MFG. INC.;ELKHART, IN + + + + + Appleby Camper Trailer + + + + + APRILIA MOTORCYCLES + + + + + Aqua Cruiser, Inc.Columbia, Tennessee + + + + + AquaforgeWentzville, Missouri + + + + + Aqualand TrailersDiv. Mid-Atlantic Metal Distributors + + + + + Arabi Homes, Inc.Arabi, Georgia + + + + + Arctic Cat + + + + + Arctco, Inc.See Arctic Enterprises + + + + + Arcos Boat Trailer + + + + + Arctic Enterprises, Inc.Thief River Falls, Minnesota + + + + + American Road EquipmentOmaha, Nebraska + + + + + Argo + + + + + Argonaut State Limousine + + + + + Argosy Travel TrailerVersailles, Ohio--Sub. of Airstream + + + + + Aristocrat Trailer SalesDiv. I. B. Perch Company + + + + + Ariel (British) + + + + + ARISTOCRAT INDUSTRIES, INC.; GOSHEN, IN + + + + + Ariens Co. + + + + + Aristocrat Motor Home + + + + + Arista + + + + + Arlberg + + + + + Armadillo Trailers, Inc.Utility Trailer, Deport, Texas + + + + + ARMOR CHASSIS, LLC; RIDGELAND, SC + + + + + Armor Homes of Virginia + + + + + Armor Mobile Homes Mfg. Co.Subsidiary Magnolia Mobile Home + + + + + Armor Mobile Systems, Inc. + + + + + Armstrong Siddeley + + + + + American Road Trailer Camper + + + + + Arnold Travel Trailer Mfg. Co. + + + + + Arnold Mfg. Co. + + + + + Arnolt-Bristol + + + + + Arndt TrailersHorse trailers + + + + + AERO MANUFACTURING, INC.; SYRACUSE, INDIANA + + + + + Aros + + + + + Arps Div.Div. Chromalloy American Corp. + + + + + AMERICAN TRANSPORTATION; BUS + + + + + Arrow Campers, Inc. + + + + + Arrow Motor Homes + + + + + Arrow + + + + + Arrow Trailers, Inc.Affiliated with Great Dane Trailers--Memphis, Tennessee + + + + + Arrowhead Trailers + + + + + Ascort + + + + + ARSENAL TRAILER MANUFACTURING, INC; HARRISONBURG, VA + + + + + Art James Mfg. + + + + + Artcraft of Georgia + + + + + Artcraft Mobile Homes Mfg. Co. + + + + + Artie + + + + + Artex Fabricators, Ltd. + + + + + ASA + + + + + Asbury Industries, Inc. + + + + + Ashby Brothers + + + + + Ashdown Mfg. Corp.Ashdown, Arkansas + + + + + Ashley + + + + + Ashton Trailer + + + + + ASI Trailer + + + + + Ashland Industries, Inc. + + + + + ASM TRAILERS; MOUNTAINBURG, AR + + + + + ASM TRAILERS; MOUNTAINBURG, AR + + + + + Aspen Camper, Inc. + + + + + Asplundh Manufacturing Div.,Asplundh Tree Expert Co. + + + + + Aspes + + + + + ASPT + + + + + Aston-Martin + + + + + Astro Mobile Homes Mfg. Co. + + + + + Asuna + + + + + Assembled Vehicle (for furtherexplanation see Operating Manual,Part 1, Section 2.) + + + + + Atlas + + + + + Attachment Technologies, Inc. (ATI) + + + + + Atlas Copco, Inc.Wayne, New Jersey + + + + + Attex + + + + + Athey Products Corp. + + + + + ATK America Inc + + + + + Atlantic Coast Camper + + + + + Atlantic Mobile Corp. + + + + + Atlas DivisionDiv. Lonergan Corporation + + + + + Atlantic Mobile Sales + + + + + Atlas Hoist & Body, Inc. + + + + + Atlas Tool & Mfg. Co. + + + + + A-T-O Construction Equipment Div.,A-T-O, Inc. + + + + + ATLAS SPECIALITY_PRODUCTS/TRAILERS + + + + + Associated Truck & TrailerTigard, Oregon + + + + + All Terrain Vehicle (for furtherexplanation--see OperatingManual, Part 1, Section 2.) + + + + + Atwood Mobile Home + + + + + Auburn Homes + + + + + Auburn + + + + + Audi + + + + + Augustana + + + + + Austin-Healy + + + + + Autokraft + + + + + Austin Products, Inc.Subsidiary Austin Industries, Inc. + + + + + Auranthetic Charger + + + + + Aurora Mobile Homes + + + + + Aurora + + + + + Austin + + + + + Autobianchi + + + + + Autobieu + + + + + Auto Homes Industries + + + + + Auto Trailer Co. + + + + + Auto-Mate + + + + + AUTOCAR & AUTOCAR LLC CARS & TRUCKS + + + + + Autocarrier and A.C. + + + + + Auto Ski IncLevis, Quebec + + + + + Automatic Drilling Machines, Inc. + + + + + Auto Union + + + + + Austin-Western Div.Clark Equipment Co. + + + + + Ava Travel Trailer + + + + + Avalair Corp. + + + + + Available + + + + + AVANTI CYCLES,MOPEDS & SCOOTERS + + + + + Avalon Mobile Homes + + + + + Avco Corp. + + + + + Avenger + + + + + AVENGER CORPORATION; MICHIGAN + + + + + Avia + + + + + Avion Coach Corp. + + + + + Avant + + + + + Avanti + + + + + Away We Go Travel Trailer + + + + + Axle & Equipment Sales Co.Naperville, Indiana + + + + + Ayr-Way CampersDiv. K. V. Molded Products, Inc. + + + + + Azalea Homes + + + + + A-Z MANUFACTURING; MADERA, CA + + + + + Aztec Products Inc.Mansfield, Texas + + + + + Aztec Mobile Homes + + + + + AZTX or Az-Tex Trailers + + + + + Babcock's Mobile Home Mfg. Co. + + + + + Bar-C Horse Trailer + + + + + Badger Construction Equipment Co.,Division of Burro-Badger Corp. + + + + + Balderson, Inc. + + + + + Badger Trailer Co. + + + + + Badger Machine Div.Ronco Engineering Co. + + + + + Baillie's Tri-R Welding + + + + + Bainbridge Motor Home + + + + + BAJA USA MOPEDS, CYCLES & 3 WHEELERS + + + + + Baker Equipment & Engineering Co. + + + + + Baker Trailer & Body Co. + + + + + Baker Material Handling Corp. + + + + + Balboa Motor Home + + + + + Baldwin Enterprises + + + + + BaleMuvr + + + + + Balko, Inc. + + + + + Balkan + + + + + Ballien Mfg. Co. + + + + + Baltz Industries, Inc.Pocahontas, Arizona + + + + + Balzer Manufacturing Corp. + + + + + Badger-Northland, Inc.Subsidiary Massey-Ferguson, Inc. + + + + + Bame Three Axle Trailer + + + + + Barrington HomesSubsidiary Fleetwood Interprises + + + + + Bandera Trailer + + + + + Bankhead Enterprises, Inc.Atlanta, Georgia + + + + + Bankhead Welding Service + + + + + Bantam + + + + + Banner Industries, Inc. + + + + + BantamDiv. of Koehring Co., Waverly, Iowa + + + + + Bar-A-Horse Trailer + + + + + Telsmith Div., Subsidiary of Barber-Greene Co. + + + + + Barcraft Homes, Inc. + + + + + Barrett Trailers, Inc.Oklahoma City, Oklahoma--(See Circle BLivestock Trailer) + + + + + Barth corp. + + + + + Barrentine Mfg. Co.Greenwood, Mississippi + + + + + Barker Trailer Manufacturers, Inc.Phoenix, Arizona + + + + + Bartlett Trailer Corp.Chicago, Illinois--Predecessor toBartlett Lifting Devices + + + + + Barnes Pump Drain Unit + + + + + Baron Homes, Inc. (old code CGC)Formerly C&G Corp., Elhart, Indiana + + + + + Barret + + + + + Bartolini Chassis Trailer + + + + + Bass Trail Trailer Co., Inc.Mfrs. boat trailers--Midway, Arkansas + + + + + Batavia Trailers, Inc. + + + + + Bantam Camp Trailer + + + + + Baughman Mfg. Co. + + + + + Bay Trailers + + + + + Bay City Shovels, Inc. + + + + + B & B Custom Built TrailersNewport, Arkansas + + + + + B & B Cozy-Home + + + + + BeeBee Sales Co. + + + + + B & B Trailer Mfg., Inc.Wapanuck, Oklahoma + + + + + BOURGET'S BIKE WORKS + + + + + BEACON METAL WORKS + + + + + Bender-Florin + + + + + Beachcomber Industries Ltd.Morden, Manitoba + + + + + Beardmore + + + + + Beaver Monterey Motor Home + + + + + Beaird PaylinerShreveport, Louisiana + + + + + Beall, Inc.Billings, Montana + + + + + Beach-Craft Motor Homes Corp.Elkhart, Indiana + + + + + Bear Industrial Trailers + + + + + Motor Homes of America, Inc. + + + + + Beall Trans-Liner, Inc.Portland, Oregon + + + + + Beaver Trailer + + + + + Bebe + + + + + Bee Bob Trailers + + + + + Beck Camping Trailer + + + + + Becker, Charles H., Inc. + + + + + Bedell Trailers + + + + + Bedford + + + + + Bendix Corp.Mfr. of mobile homes and recreationalvehicles + + + + + Beechcraft Mobile Home + + + + + Beechwood Industries, Inc. + + + + + Bee-Line Travel Trailers or MobileHomes, Inc. + + + + + Beemer & Grubb Enterprises + + + + + Beechwood Motor Home + + + + + Beemer Trailer Mfg. & Sales + + + + + Beeat Truck Mount Camper + + + + + Beiler Hydraulics, Inc. + + + + + Beijing Jeep + + + + + Bel-Aire Campers or Coaches + + + + + Bel-Aire Mobile Homes + + + + + Bell Mfg. Corp. + + + + + Belshe TrailerTecumseh, Oklahoma + + + + + Bella Casa Co. + + + + + Bellamy's Mfr. & Research ProductsHiltons, Virginia + + + + + Bellaire Products + + + + + Bellew's Perris Balley Campers + + + + + Bell's Camp Trailers + + + + + Bell's Custom Coaches + + + + + Belarus Machinery, Inc. + + + + + Belvedere Mobile Homes + + + + + Benelli (Italy) + + + + + Benlo Co. + + + + + Benson Truck Bodies, Inc.Mineral Wells, West Virginia + + + + + Bentley + + + + + Beaird-Poulan Div., Emerson ElectricCo. + + + + + Berkeley Pump Co. + + + + + Bergantine + + + + + Berkshire Industries + + + + + Berkley + + + + + Bermar Mfg. Corp. + + + + + Bertone + + + + + Bering + + + + + Bertran Trailer + + + + + Ber-Vac (Canada) + + + + + Besasie Automobile Co., Inc + + + + + Beta + + + + + Betten France TransportationKentucky + + + + + Bethany Fellowship + + + + + Better Built + + + + + Beaver Mfg. Corp. + + + + + B.FOSTER & COMPANY, INC.; WAYNESBORO,PA + + + + + Big Bear Choppers + + + + + BIG DOG CUSTOM MOTORCYCLES, INC. + + + + + Bingham + + + + + BEHNKE ENTERPRISES, INC; FARLEY, IA + + + + + Bianchi + + + + + BIBB WELDING & TRAILERS, LLC; MACON, GEORGIA + + + + + Biewer Industries + + + + + Big Bubba's + + + + + Big Horn Trailer + + + + + Big Well Industries + + + + + Big Joe Manufacturing Co. + + + + + Big Tex + + + + + Big Valley Trailers, Inc.Wynne, Arkansas + + + + + Biltmore Mobile Homes + + + + + Bilken EnterprisesMfr. of Specialty Trailer (bought out byAmerican Enterprises) + + + + + Bills Welding Model Trailer + + + + + Biltrite Mobile Homes + + + + + Biltwell (or Builtwell) + + + + + Bi-Motor Stallion + + + + + Binkley Co., The + + + + + Binks Mfg. Co.Franklin Park, Illinois + + + + + Biot Camping Trailer + + + + + Bird + + + + + Bird Engineering, Inc. + + + + + Birmingham Mfg. Co., Inc.Springfield, Alabama + + + + + Bitter + + + + + Bivouac Industries, Inc.Vandalia, Michigan + + + + + Bizzarrini + + + + + Baja Custom Trailers + + + + + BJ'S CUSTOM TRAILERS; WOODSTOCK, AL + + + + + B & J Enterprises, Inc.Sikeston, Mo; mfg. utility trailers + + + + + BJ Mfg. Co.Harrison, Arkansas + + + + + Bill James Trailer SalesWinfield, Texas + + + + + BUCK DANDY COMPANY; TEXAS + + + + + BECKHAM TRAILERS, INC.; WICHITA , KANSAS + + + + + Black Built + + + + + Black Diamond Trailer, Inc.New Tazewell, Tennessee + + + + + Blazer + + + + + Blanchard Foundry Co. + + + + + Blair Horse Trailer + + + + + Black Diamond Enterprises + + + + + Blaw-Knox Construction Equipment Co.Div. of White Consolidated Industries,Inc. Matoon, Illinois + + + + + Blaze Industries + + + + + Blaine's Custom Mfg. ServiceJackson, Mississippi + + + + + Blackwell Burner Co.San Antonio, Texas . + + + + + Blazon Mobile Homes Corp. + + + + + Black and Decker + + + + + Blue Gator Boat Trailer + + + + + B-Line Farm EQuip.Mfrs. Cartow & Snowmobile trailersBristol, Virginia + + + + + Blitz Mfg. Co. + + + + + Blix Coach + + + + + Blizzard Mfg., Inc. + + + + + Bulk Equipment Mfr. Inc.Bulkiner Feed Trailer + + + + + Bellview Camper + + + + + Belmont Machine + + + + + BLOOMERTRAILER MANUFACTURING, INC.; LAMARQUE, TX + + + + + Bloom, Inc. + + + + + BLUE RIDGE TRAILERS + + + + + Blake TrailersStar, Idaho + + + + + Bullet Trailers, Inc.Boat Trailers, Glen Burnie, Maryland + + + + + Blue Bird Body Co. + + + + + Blue Ribbon Coach Co. + + + + + Blue-Ridge Pre-Built Mobile Homes + + + + + Bluebird International + + + + + Blue, John Co.Huntsville, Alabama + + + + + B-M-B. Mfg. Co. + + + + + Bombardier Inc.Valcourt, Quebec; Ski-Doo/Moto Ski + + + + + B M C + + + + + B & M Mfg. Co.South Camdenton, Missouri + + + + + Beatrice Motor Mart Mfg. & Easy-Haul + + + + + Boat Master TrailersFt. Myers, FL + + + + + BMW + + + + + Bounder Motor HomeMfd. by Fleetwood, Decatur, Indiana + + + + + BANDIT INDUSTRIES; MICHIGAN + + + + + Ben Hur + + + + + B & S Boat Trailer Mfg. Co.Gainesville, Florida + + + + + Bantam + + + + + Bonanza + + + + + Boanza Mobile Homes + + + + + Boardman Co. + + + + + AlsportSee Boa-Ski Alsport Ltd. + + + + + Boatel Ski + + + + + Bob S Trailer + + + + + Bobbi-Kar + + + + + Bob Coons + + + + + Bobko, IncMichigan City, Indiana + + + + + Bobby's Custom Camper Mfg. + + + + + Bocar + + + + + Broce Manufacturing Co. + + + + + Bock Products, Inc.Elkhart, Indiana + + + + + Bo Cats, Inc.Garden City, Kansas + + + + + Boerne Trailer Mfg. or Inter-National Crane & Trailer, Inc. + + + + + Boise Cascade Mobile HOmeBoise, Idaho + + + + + Boles-Aero, Inc. + + + + + Bolinger Flatbed Trailer + + + + + Bo-Mar Mfg. Co. + + + + + Bombardier Ltd. + + + + + Bomford & Evershed, Ltd. (England) + + + + + Bomag Trailer + + + + + Bon-Aire Homes, Inc. + + + + + Bonanza Travel Coach, Inc. + + + + + Bond + + + + + Bond Mobile Homes, Inc. + + + + + Bonnieville Mfg. Co. + + + + + Boone Trailers, Inc.Palmer, Massachusetts + + + + + Borg Co. + + + + + Born Free + + + + + Borgward + + + + + BOSS HOSS CYCLE, INC. ; DYERSBURG, TN + + + + + Boatel Trailer + + + + + Boulder Trailer + + + + + Bowers Mfg. Co. + + + + + Bowie Industries Corp.Bowie, Texas + + + + + Bowman & Sons + + + + + Bowen Mobile Homes, Inc.Mfd. by Bowen Mobile Homes, Inc. + + + + + Bowsman TrailersThree Rivers, Michigan + + + + + Boxer Trailer + + + + + Boyd, E.G., Trailer Co. + + + + + Boyer Industries + + + + + Braco Custom ProductsCassopolis, Michigan + + + + + Brandt Trailers, Inc. + + + + + Bradford IndustriesBradford, Illinois + + + + + Brall Motor Home + + + + + Branstrator Engineering Corp. + + + + + Brasinca + + + + + Brantley Mfg. Co.Fredrick, Oklahoma + + + + + Braughms Travel Trailer + + + + + Bravo Trailer + + + + + Brandywine Travel Trailer + + + + + Bray Trailers + + + + + Barco Mfg. Co.Johnstown, Pennsylvania + + + + + Bear Cat Mfg., Inc.Wickenburg, Arizona + + + + + BROWN CARGO VAN, INC.; LAWRENCE, KS + + + + + BRADCO; DIVISION OF ATTACHMENT TECHNOLOGIES, INC.IOWA + + + + + Brooks Horse Trailer + + + + + Bradley GT + + + + + Broderson Manufacturing Corp. + + + + + Breeze Motor Home + + + + + Brent IndustriesShell Rock, Iowa + + + + + Break + + + + + Bremen Sport Equipment, Inc.(Bremen,IN) + + + + + Brenner Tank, Inc.Fond du Lac, Wisconsin + + + + + Brentwood Mobile HomesSubsidiary DeRose Industries, Inc. + + + + + Brewer Utility + + + + + Breeze Camping Travel Trailer + + + + + Briggs Manufacturing, Inc. + + + + + Bridgeville Trailers, Inc. + + + + + Bricklin + + + + + Bridgestone + + + + + Bridge Mfg. and Equipment Co.Woodburn, Indiana + + + + + Brigadier Mobile HomesDiv. Brigadier Industries, Inc. + + + + + Brighton Built TrailersBrighton, Iowa + + + + + Brillion Iron Works Div., BeatriceFoods Co. + + + + + Bristol HomesDiv. Tidwell Ind., Inc., Goshen, Indiana + + + + + Bristol + + + + + Bristol Mfg. Co. + + + + + Brookwood Mobile Home + + + + + Borella + + + + + BRI-MAR MANUFACTURING; CHAMBERSBURG, PA + + + + + Brandy IndustriesColon, MI; white tail camping trailers. + + + + + BERING TRUCK DISTRIBUTION, LLC FRONT ROYAL, VA + + + + + Broadlane Homes, Inc. of Indiana + + + + + Brobts & Associates + + + + + BrockwayDiscontinued production in 1977 + + + + + Broadmore Mobile HomesSubsidiary of Fleetwood Trailers &Mobile Homes + + + + + Brooten Fabricating, Inc. + + + + + The Broyhill Co. + + + + + Broken Arrow Mobile Home + + + + + Broncco (Italy) + + + + + Brooklyn Trailer + + + + + Brock Star Trailer + + + + + Bros. Div.American Hoist Derrick Co., St. Paul,Minnesota + + + + + Brooks Brothers Trailers, Inc. + + + + + Brougham Industries, Inc. + + + + + Brown TrailerDiv. Clark Equipment Co. + + + + + Brown Industries + + + + + Burro, Inc.Plymouth, Minnesota + + + + + BRUSH ROADSTER + + + + + Briggs & Stratton Corp. + + + + + Brute Equipment Inc.Glen Alan, Mississippi + + + + + Brae Trailers, IncStoughton, WI; piggyback semi-trailers + + + + + Bertolini Container Co.Butler, New Jersey + + + + + Bear Trailer Mfg., Inc.Lebanon, Missouri + + + + + Baretta + + + + + Brunswick Travel Trailer + + + + + Brutt + + + + + BrutanzaSee Brutanza Engineering, Inc. + + + + + Broward Trailer + + + + + Brown + + + + + BSA (United Kingdom) + + + + + Busse Brown Trailer + + + + + BRADTEC, LTD.; DERBY, KS + + + + + Batavus Mo-ped + + + + + Buccaneer Mobile HomesDiv. Brigadier Industries, Inc. + + + + + Bucita Pop Top Trailer + + + + + Buck Camper Co. + + + + + Buckeye Mobile Homes, Inc. + + + + + Buckeye Flatbed Trailer + + + + + Bucko, Inc.Buhl, Indiana + + + + + Buckskin Trailer Mfg. Co.Boosier City, Lousisiana + + + + + Bucyrus-Erie Co. + + + + + Budd Co. Trailer Division, TheFormerly Ginchy Mfg. Corp.--Downingtown,Pennsylvania + + + + + Buddy Mobile Homes, Inc.Div. Skyline Homes + + + + + Budger Mfg. Co. + + + + + Buck Dragster Flatbed + + + + + Budson Knobby Flatbed Trailer + + + + + Buell Motor Co. + + + + + Buffalo-Bomag Div.Div. of Koehring Co. + + + + + Bug + + + + + Bugatti + + + + + Buhl Machine Works + + + + + Buick + + + + + Built Rite Trailer + + + + + Bulk-Hauler TrailerSee Kellebrew Mfg. Co. + + + + + Bullmobile Trailer, Inc.Caldwell, Kansas + + + + + BULK MANUFACTURING COMPANY; PLANT CITY, FLORIDA + + + + + Bulk Resources, Inc., doing business as Bulk Mfg. Co. + + + + + Bultaco (Spain) + + + + + Bunton CompanyLouisville, Kentucky + + + + + Bunyan, Paul Co. + + + + + Burch Trailer + + + + + Burkeen Equipment & Supply Co.Memphis, Tennessee + + + + + Burkhart Trailer Mfg. Co. + + + + + Burlington Mfg. Co. + + + + + Burnup and Sims, Inc.West Palm Beach, Florida + + + + + Burrito (also see make J.C.Penney) + + + + + Burris Stock Trailer + + + + + Bushcraft Trailer + + + + + Bushog Div.Subsidary of Allied Products Corp.Selma, Alabama + + + + + Buffalo-Springfield Div.Div. of Koehring Co. + + + + + Butler, L. T. + + + + + Butler Mfg. Co. + + + + + Butterfield Musketeer + + + + + BEAVER CREK ENT. ; MOKENA, IL + + + + + BETTER-WAY PRODUCTS, INC; INDIANA (BISSON) + + + + + B & W Homes, Inc. + + + + + Byerly Trailer & Mfg. Co. + + + + + BOYDSTUN METAL WORKS, INC.PORTLAND, OREGON + + + + + Baker-York Forklift + + + + + Byers Mfg. Inc.Lawton, Michigan + + + + + Byers + + + + + BYSON TRAILERS + + + + + B & Z Electric Car Co. + + + + + Carabela (Mexico) + + + + + Cabana Motor Home + + + + + Campus Bike + + + + + Car Caddy + + + + + Can-Car(Canadian Car Trailer Sales Div.)Rexdale, Ontario--Div. of Hawker-Siddeley, Canada + + + + + CLASSIC ACQUISITIONS/CLASSIC VENTURES; HERNANDO,FLORIDA + + + + + Caper Cycle + + + + + Cadet Coach Corp. + + + + + CADILLAC FABRICATION INC + + + + + Cadillac + + + + + Califfo + + + + + Cagiva + + + + + Campbell-Hausfeld Div., Scott &Fetzer Co. + + + + + Calcinator + + + + + E. L. Caldwell & Sons, Inc. + + + + + California Camper Mfg. + + + + + California Mobile Homes + + + + + Calvia Brothers Trailer Mfg. + + + + + Calkins Trailer + + + + + Callahan Engineering Co. + + + + + Calumet Co., Inc. + + + + + Callen Camper Co. + + + + + Capriolo + + + + + Calis Travel Trailer + + + + + Cal Trailer ManufacturingSan Fernando, California + + + + + Calumet Coach Co. + + + + + Caldweld Div., Smith International,Inc. + + + + + Calypso + + + + + Cambridge Homes, Inc. + + + + + Cambridge Mfg. Co., Inc. + + + + + Camp Cruiser Mfg. Co. + + + + + Camel Camper Trailer + + + + + Camp Equipment Co., Inc + + + + + Camp Four Industries, Inc. + + + + + Cam-Pact Co., Inc. + + + + + Camp-A-While Homes Mfg. Co. + + + + + Camper City Coach Craft + + + + + Camper Corp. of America + + + + + Camper De Ville, Inc. + + + + + Campers, Inc. + + + + + Campers Unlimited + + + + + Camelot Camper Trailer + + + + + Camp-Mor, Inc. + + + + + Camp-N-All Co. + + + + + Cam-O-Tel Corp. + + + + + Can-Am + + + + + Can-Car Inc.Tree-farming equipment--Div. Hawker-Siddeley Canada, Ontario, Canada + + + + + Canadian Trailmobile Ltd. + + + + + Cane River Trailer Co., Inc.Natchitoches, Louisiana + + + + + Canoga Classic Campers + + + + + CANNONDALE CORPORATION, MAKER OF MOTORCYCLES + + + + + Canoga Mfg. Co., Inc.Mfg. Cement Mixer + + + + + C & S + + + + + Canton Trailer Co. + + + + + Canadian Electric Vehicles, Ltd. + + + + + Capri (imported by Mercury priorto 1979) + + + + + Capital Industries, Inc. + + + + + Capco Flatbed + + + + + CapreCarrocerias Preconstruidas SASan Nicholas, Mexico, bus trailers + + + + + CataphoteDiv. Ferro Corp., Jackson, Mississippi + + + + + Capitol + + + + + Capitol Trailer Coach Co. + + + + + Caprice Homes Mfs. Co. + + + + + Capri + + + + + Capacity of Texas, Inc.Longview, Texas + + + + + Car Camp + + + + + Caravan Industries + + + + + Carter Trailer Co., Inc.Newport, Arkansas + + + + + Caravel IndustriesWylliesburg, Virginia + + + + + Cardinal Industries + + + + + Care-Free Camper Mfg. Co. + + + + + Carriage, Inc. + + + + + Cardinal Homes, Inc. + + + + + Caribou Craft Pickup Camper & TrailerMfg. Co. + + + + + Carley + + + + + Carlisle + + + + + Carma Mfg. Co. + + + + + Carolina Mobile Homes + + + + + Carolina Travel Trailers + + + + + Carpenter Manufacturing, IncMitchell, IN + + + + + Carrie-Craft Div.Div. Thrift Cts. of America + + + + + Carry Craft Trailers + + + + + Car-Tel Corp. + + + + + Carnes Welding & Fabricating Co.Crescent, Oklahoma + + + + + Carey Trailers, Inc.Weatherford, Texas + + + + + Casa Manana Mfg. Corp. + + + + + Cascade Corp. + + + + + Case, J. I., Co.Subsidiary Tenneco. Inc. + + + + + Cascade Coach Co. + + + + + Casal + + + + + Cash Trailers, Inc.Troy, Alabama + + + + + Castle Enterprises, Inc. + + + + + Caterpillar Tractor Co. + + + + + Catalina Amphibious Homes + + + + + Carson Trailer IncCarson, CA; utility trailers + + + + + Catalina Motor Home + + + + + Cat + + + + + Catolac Corp. + + + + + Caulkins Boat Trailer + + + + + Cavalier Homes, Inc. + + + + + Cavalier Trailer Mfg. Co. + + + + + Caveman Industries + + + + + Calvacade Industries, Inc.White Pigeon, Michigan + + + + + C & B CUSTOM MODULAR, INC.; BRISTOL, TENNESSEE + + + + + C. B. Mfg. Co., Inc. + + + + + COBRA TRAILERS, GERMANY; ALFRED SPINDELBERGER + + + + + CARTER BROTHERS + + + + + CUSTOM BUILT TRAILERS AN OR CUSTOM TRIKES, INC. + + + + + Butler, C. Trailer Mfg. Co.Greensboro, North Carolina + + + + + CCCCrane Carrier (A CCI Co.) + + + + + CAREFREE CUSTOM CYCLES, LLC + + + + + C & C DISTRIBUTORS, INC.; WINSLOW, ME + + + + + C&C MANUFACTURING & FAB; HAZLETON, PA + + + + + Country Coach Motor HomeJunction City, Oregon + + + + + C & C TRAILERS, INC. NORMAN OKLAHOMA + + + + + CZ Engineering, Inc.Dixon, Missouri + + + + + CEI EQUIPMENT COMPANY, INC; CEDAR RAPIDS, IA + + + + + Central Industries, Inc. + + + + + Centurion International, Inc.Waco, Texas + + + + + Century Auto Body & Trailer Mfg. Co. + + + + + Centaur + + + + + Centurion Travel Trailer + + + + + Century Engineering Corp. + + + + + Certified Boat Trailer + + + + + Ceva Mfg. Co. + + + + + Cezetta + + + + + Custom Fab Body Bodies andTrailers, Inc.Indiana, Pennsylvania + + + + + Colony Factory Crafted HomesShippenville, PA + + + + + CARGOMATE TRAILER ; CAMPING + + + + + J & L'S CARGO EXPRESS, INC.; BRISTOL, INDIANA + + + + + Challenge-Cook Brothers, Inc.Industry, California + + + + + Challenger Homes, Inc.Columbia, Tennessee + + + + + Charger Pick-up Campers + + + + + Charmac Trailers + + + + + Chaika + + + + + Chamberlin TrailersHampton, Iowa + + + + + Champion Home Builders Co.Dryden, Michigan + + + + + Chaparral + + + + + Charlamor Corp. + + + + + Chateau Mfg. Co., Inc. + + + + + Chausse Manufacturing Co., Inc. + + + + + Chance Coach IncWitchita, KS, city transit buses + + + + + Champ Corp. + + + + + Checker + + + + + Cherne Industrial, Inc.Edina, Minnesota + + + + + Chem-Farm, Inc. + + + + + Cheney Weeder, Inc. + + + + + Cherokee Camper + + + + + Chevron Corp.Elkhart, Indiana + + + + + Cherokee Mobile Homes + + + + + Chesapeake Mobile Homes + + + + + Cheston & Eshelman Co. + + + + + Chevrolet + + + + + Chevelle Mobile Homes, Inc. + + + + + CHEROKEE FABRICATION, INC.; OCALA, FLORIDA + + + + + Chicago Pneumatic Equipment Div.Chicago Pneumatic Tool Co., FranklinPennsylvania + + + + + Chibi + + + + + Chickasha Mobile Homes + + + + + Chief Ocala Trailer Mfg. + + + + + BonnavillaMfd. by Chief Industries + + + + + Chilton Trailer Co., Inc. + + + + + Chipmore Mfg. Co., Inc.Mfrs. chippers--Bay City, Michigan + + + + + Ching-Kan-Shan + + + + + Chippewa Mobile Homes Corp. + + + + + Chisolm Trailers, Inc.Chickasha, Oklahoma + + + + + CHEROKEE MANUFACTURING COMPANY; SWEETWATER, TN + + + + + CHASSIS KING, LLC; CLEARWATER, FL + + + + + Challenger Trailer + + + + + CHARLY ELECTRIC MOTOR SCOOTERS ETC. + + + + + CHEROKEE MOTORCYCLE COMPANY; OKLAHOMA FORMERLY KNOWN AS ''FAST TRAC MANUFACTURING '' OUT OF CALIFORN + + + + + Chaparral Mfg., Inc. + + + + + Champ Horse Trailer + + + + + Chinook + + + + + Chrysler Outboard CorporationHartford, WI + + + + + Chaperalle Horse Trailer + + + + + Champion Pneumatic Machinery Co.,Inc. + + + + + CHAMPION BUS, INC. MICHIGAN + + + + + ChaparralSee Chaparral Industries, Inc. + + + + + Chicago Pneumatic Tool Co. + + + + + Christianson Industries, Inc.Edwardsburg, Michigan + + + + + Chromalloy American Corp., FarmSystems Division + + + + + Chrysler Boat Co. + + + + + Chateau Recreational Vehicle Div.Christiana, Pennsylvania + + + + + Chrysler + + + + + Cheetah + + + + + Chatham Enterprises Custom Mfg. & Sales + + + + + Chuck Beck Motorsports + + + + + Chukar, Inc.Phoenix, Arizona + + + + + Chevallero Motor Home + + + + + Chin Yuan Chi Casting Corp.Paichung, Taiwan + + + + + CIRCLE C MANUFACTURER; LIVINGSTON, TX + + + + + Cimatti + + + + + CIMC HEAVY INDUSTRIES, LTD.; SHENZHEN, CHINA + + + + + Cimarron Mfg. Co.Oklahoma City, Oklahoma + + + + + Circle S Star RouteSulphur Springs, Texas + + + + + Circle D Trailer + + + + + Circle H Horse Trailer + + + + + Circle K KennimoreOklahoma City, Oklahoma + + + + + CIRCLE M TRAILERS + + + + + Circle R, Inc. + + + + + Circle V Horse Trailer + + + + + Cisitalia + + + + + Citation Travel Trailer + + + + + Citicar (electric car) + + + + + Citroen + + + + + City Dump Trailer + + + + + City Welding & Mfg. Co.Aluminum truck bodies & steel chassis + + + + + China Jiangmen Group Co., Ltd. + + + + + Clapper Camper + + + + + B.M. Clark Co., Inc. + + + + + Classic Roadsters, Ltd. + + + + + Classic Motor Carriages, Inc.(Hallandale, FL) + + + + + Clark Mfg. Co. + + + + + Clar-Mont Mfg. Co. + + + + + Construction Machinery Div., ClarkEquipment Co. + + + + + Classic Trailer Mfg. + + + + + Clayton Homes, Inc.Div. of Clayton Industries, Inc.,Knoxville, Tennessee + + + + + Claxton + + + + + Clay Camper Co. + + + + + Clayton Craft + + + + + Cleveland Brothers Equipment Co.D & B Products + + + + + Calico TrailersQuitman, Arkansas + + + + + Cleasby + + + + + Cleveland Mfg. Co., Inc. (CMC) + + + + + Clement-Braswell + + + + + Clenet Coach Works + + + + + Cleveland Trencher Co.Div. American Hoist & Derrick Co. + + + + + Cliff Office Trailer + + + + + Cliff Hall, Inc. + + + + + Cline + + + + + Clipper Mfg. Co. + + + + + Clinton Engine Corp. + + + + + Columbia + + + + + Clemco Industries + + + + + Coleman + + + + + Colonial Flatbed Trailer + + + + + Clough Equipment Co.Seattle, Washington + + + + + Cloud Electric Vehicles + + + + + Classic Mfg., Inc. + + + + + Claster Trailer + + + + + Clua . + + + + + Columbia Trailer Co., Ltd.Vancouver, Canada + + + + + Calvade Trailer + + + + + Cleavers of BismarkBismark, Arkansas + + + + + Clark-Wilcox + + + + + Clypso Motor Home + + + + + Construction Machinery Co. + + + + + Campbell Coach Co., Inc.Mfrs. horse trailes--Cheney, Kansas + + + + + CALIFORNIA MOTORCYCLE COMPANY; GILROY,CA; VENTANA,CABRILLO KING & DIABLO MOTORCYCLES + + + + + CHARLESTON MARINE CONTAINERS, INC. CHARLESTON, SC + + + + + BirchwoodMfd. by Conchemco Homes Group + + + + + CCM/Clews + + + + + Cameo Travel Trailer + + + + + Com-Fab, Inc. + + + + + CMI Corp. + + + + + CMI Load KingElk Point, SD; commercial trailers + + + + + Cummins Engine Co., Inc. + + + + + C-Mor + + + + + Campfire Travel Trailer + + + + + CAMPAGNA MOTO SPORT, INC; PLESSISVILLE, QUEBEC, CANADA + + + + + Campsite Mfg. Co.Seminole, Texas + + + + + Compact Equipment Co. + + + + + CAM SUPERLINE, INC.; GREENCASTLE,PA + + + + + CMWC Trailer Co., Inc. + + + + + CORNELIUS MANUFACTURING, INC.; ELNORA, IN + + + + + CONTRACT MANUFACTURERS INC ALSO KNOWN AS :CM TRAILERS; MADILL, OK + + + + + Concord Products, Inc. + + + + + Conroy IndustriesNew Braunfels, Texas + + + + + Constructore Trailers, Inc.Sarasota, Florida + + + + + Continental Wheel & Trailer + + + + + Centreville Trailer + + + + + Conwed Trailer + + + + + Coach Craft, Inc. + + + + + Coachmen Homes Corp.Subsidiary Coachmen Industries, Inc.,Middlebury, Indiana + + + + + COACH HOUSE,INC.; NOKOMIS,FL;CLASS B MOTORHOME + + + + + MiddleburyMfd. by Coachmen Homes Div.Coachman Industries, Inc. + + + + + Coastal Trailer Corp. + + + + + COBRA MOTORCYCLES + + + + + AC Cobra + + + + + Coburn Industries, Inc. + + + + + Country Comfort Trailers + + + + + Cochran Western Corp.Subsidiary of Western Gear Corp. + + + + + COUNTRY CLIPPER; RIDING MOWERS; JAZEE MODEL DIVISION OF SHIVVERS MANUFACTURING + + + + + Conmaco, Inc. + + + + + Conceptor Industries, Inc. + + + + + Cody Motorcycle Trailer + + + + + Unpublished construction equipment mfr.(See Operating Manual, Part 1,Section 2) + + + + + Columbia Mfg. Co. (subsidiary Yard-Man Co. - Columbia Commuter) + + + + + Coleman Camping Trailers + + + + + Colonial Mobile Homes Mfg. + + + + + Colony Mfg. & Sales Corp. + + + + + COLLINS BUS + + + + + Columbia Tractor Mower + + + + + Colorado Mobile Homes + + + + + Colt Camper, Inc. + + + + + Columbia Mobile Homes, Inc. + + + + + Colt + + + + + Columbine Camp & Coach + + + + + Comanche Mobile Homes + + + + + Comanche Trailer Corp. + + + + + Commander Motor Home + + + + + Comet Corp.Spokane, Washington + + + + + Competitive Boat Trailer + + + + + Commercial StructuresNappanee, Indiana + + + + + Com-Camp + + + + + Comet Construction Co. + + + + + Comet Mobile Homes + + + + + Commodore Corp.Syracuse, Indiana + + + + + Commercial Vehicles, Inc.Tulsa, Oklahoma + + + + + Comet Riding Mower + + + + + Commuter Industries, Inc. + + + + + Commuter Vehicles, Inc. + + + + + CommuneMfd. by Community Homes, Inc. + + + + + Concord Mobile Homes + + + + + Condor + + + + + Concord Travelers + + + + + CONFEDERATE MOTOR WORKS, INC. + + + + + Conestega Mfg. Co. + + + + + Condor Motor Home + + + + + Conestoga Mobile Homes + + + + + Connell Industries, Inc.Phil Campbell, Alabama + + + + + Contempori Mobile Homes, Inc. + + + + + Connaught + + + + + Condor Coach + + + + + Consolidated Mobile Industries + + + + + Conner Industries, Inc. + + + + + Contessa + + + + + Continental + + + + + Consulier + + + + + Continental of Colorado, Inc. + + + + + Continental Homes, Inc. + + + + + Continental Mfg. Co., Inc. + + + + + Cony Truck (Japan) + + + + + ConvertoCambridge City, Indiana--Div. Golay &Co., Inc. + + + + + Coose Trailer Mfg. Co.Lockwood, Missouri + + + + + Cook Semi Trailer + + + + + Coon Custom Coach Mfg. + + + + + Cooper + + + + + Coos-Bilt Trailers + + + + + Cooper Alpine Motor Home + + + + + Copco Steel & EngineeringSouthbend, Indiana + + + + + Copperstate Coach Co. + + + + + Corbitt + + + + + Cord + + + + + Corder Mfg. Co., Inc. + + + + + Corn Belt Manufacturing, Inc.Early, Iowa + + + + + Corona Coach Co. + + + + + Correct Craft, Inc. + + + + + Corsair Div.Div. Divco-Wayne Industries + + + + + Cortez House Trailer + + + + + Corvette Travel Trailer + + + + + Corey Enterprises + + + + + Cosmo + + + + + Concrete Surfacing Machinery Div.,Stewart Industries, Inc. + + + + + Corner Utility Trailer + + + + + CARRY ON TRAILER CORP + + + + + Cotton + + + + + Cottage-Ette Mfg. + + + + + Cortez Motor Home + + + + + Country-Aire Travel Trailer + + + + + COUNTRY BLACKSMITH LLC + + + + + Countryside Industries, Inc. + + + + + Country Squire Travel Trailer + + + + + Courthouse Camper Trailer + + + + + Covered Wagon Trailer + + + + + Continental World MarineMexico; trailers + + + + + Conway + + + + + Cox Trailers + + + + + Coynco Products + + + + + Coyote Mfg. Corp.Corona, California + + + + + Cozad Trailer SalesStockton, California + + + + + CPI U.S.A. + + + + + COMPTANK, CORP.; BOTHWELL, ONTARIO, CANADA + + + + + C/P Products Corp. + + + + + Charlie Perkins Trailer Company, IncHamshire, TX + + + + + COMPETITION TRAILERS, INC HENDERSON, TEXAS + + + + + COMPETITIVE TRAILERS, INC.; BELLFLOWER CALIFORNIA + + + + + Craftsman (also see make Sears,Roebuck & Co.) + + + + + Craftmade Homes, Inc. + + + + + Crane & Hoist OperationsSubsidiary of Dresser Industries, Inc. + + + + + Crawler Trailer + + + + + CREW CHIEF MOTORHOME/HAULER + + + + + CROSS COUNTRY MANUFACTURING; GREENE, NEW YORK (TRAILERS) + + + + + Connell Industries, Inc.Greene, New York + + + + + Cree Coaches, Inc.Div. of Southwest Michigan Ind.,Marcellus, Michigan + + + + + Corbin Electric + + + + + Crest Mobile Homes, Inc. + + + + + Crescent Trailers, Inc. + + + + + Creightons TrailerMaryland + + + + + Cable Crane and Excavator Div.FMC Corp. + + + + + Craftsman Ind., Inc. + + + + + Craftsman + + + + + CARGO KING, LLC; WHITE PEGEON, MICHIGAN + + + + + CARGO CRAFT, INC.; GEORGIA + + + + + CARGO PRO TRAILERS + + + + + Charger + + + + + Chris Craft Corp. + + + + + Cricket Corp.Elkhart, Indiana + + + + + Crimson HomesDiv. Winston Industries, Inc. + + + + + Criterion Homes Mfg. Inc.Largo, Florida + + + + + Carrier King Trailer + + + + + Crowley Mfg.Mathiston, Mississippi + + + + + CAR MATE TRAILERS; LEEPER, PENNSYLVANIA + + + + + CORN PRO TRAILERS + + + + + Cross Truck Equipment Co., Inc.Canton, Ohio + + + + + Crofton Cub + + + + + Cross Hill Mobile Homes + + + + + Crossland Industries + + + + + Crown + + + + + Crossroads + + + + + Crosley + + + + + Croft-INS + + + + + Crown Line + + + + + CARPENTER INDUSTRIES INC. + + + + + CARRON TRUCK REPAIR, LTD; GRANITE CITY ILLINOIS + + + + + Crest Trailer + + + + + Cruisaire Motor Corp. + + + + + Cruzmaster Camper + + + + + Country R. V. Mfg., Inc.Elkhart, Indiana + + + + + Craft Weld Trailer + + + + + Crystal Welding Inc. + + + + + Cushman + + + + + Circle Supreme Mfg.Knowville, Tennessee + + + + + CSM Manufacturing Co.Oklahoma City, Oklahoma + + + + + COASTAL METAL FAB, INC.; TOPSHAM, ME + + + + + Coastal Mfg. Co. or Coastal Building Systems + + + + + C & S Trailer WorldFort Worth, Texas + + + + + COR-TECH MFG., INC., LUVERNE, MN + + + + + Central Trailer Corp. + + + + + Contrail International + + + + + CONSTRUCTION TRAILER SPECIALISTS, INC.; SIKESTON, MO + + + + + Cleveland T-Trike Mfg., Inc. + + + + + CUSTOM AMUSEMENT PRODUCTS, COMPANY; DOVER, FLORIDA + + + + + CassMfd. by Custom Assembly + + + + + Cub Cadet Corp.Subsidiary of MTD Products, Inc.Purchased Cub Cadet tractor line fromInternational Ha + + + + + Cubster + + + + + Cuke, Inc.Mendota, Illinois + + + + + Custom King Horse Trailer + + + + + Cullip Industries + + + + + Cullison Mfg., Inc. + + + + + Culpepper Trailer Co.Clinton, Arkansas + + + + + Cumberland CoachesH & W Mfg. Co. + + + + + Cunningham + + + + + Curbmaster of America, Inc. + + + + + CURRAHEE TRAILERS + + + + + CurtisDiv. Globemaster Mobile Homes + + + + + Custom Camper Co. + + + + + Custom Bond Mfg. Co.Lansing, Michigan + + + + + Custom Coach Co. + + + + + Custom Engineering + + + + + Custom Craft Mfg. Co. + + + + + Cushman + + + + + Custom Homes, Inc. + + + + + Custom Plumbing Co. + + + + + Custom Trailers, Inc.Springfield, Missouri + + + + + Custom Frames, Inc.Normandy, Tennessee + + + + + CMW (Custom Metal Works) + + + + + Cushman Turf-OMC Lincoln + + + + + Cuyler Corp. + + + + + Cavco Ind. + + + + + CAVALLO + + + + + C & V Welding and Fabricating + + + + + CWC Feather-Lite Mfg. Co.El Reno, Oklahoma + + + + + Creekside Welding and Jamar Trailers + + + + + CHOPPER WORKS, PERFORMANCE, INC.; HAMPSTESD, NH + + + + + C & W TrailersGolden, MS + + + + + Cycle Kamp, Inc.Anaheim, California + + + + + Unpublished motorcycle mfr. (seeOperating Manual, Part 1,Section 2) + + + + + Cyclescoot + + + + + CZ (Czechoslavakia--also see makeJawa/CZ) + + + + + Brown, Dave L., Inc. + + + + + Daco Trailer Corp.Pocahontas, Arkansas + + + + + Daewoo + + + + + DAF + + + + + Daffin Mfg. Co. + + + + + Daihatsu + + + + + Daimler + + + + + D & A Vehicles, Inc. + + + + + Dairy Equipment Co.Madison, Wisconsin + + + + + Dakota Mfg. Co., Inc.Mitchell, South Dakota + + + + + Dalesman (United Kingdom) + + + + + Dalton, Inc. + + + + + DALTON ENTERPRISES INC. + + + + + Dalewood Manufacturing Co., Inc.Lauderdale, Mississippi + + + + + Damon Industries, Inc.Elkhart, Indiana + + + + + Dana Truck Mount Camper + + + + + Danny Boy Trailer + + + + + Dan Dee Industries, Inc. + + + + + Dandy Mobile HomesMfd. by Dan's Trailer Supply, Inc. + + + + + Danuvia + + + + + DANZER INDUSTRIES & DANZER/MORRISON; HAGERSTOWN, MD + + + + + Darby Industries + + + + + Darcell Industries, Inc. + + + + + Darf Corp. + + + + + Dargo Mfg. + + + + + Dart + + + + + Darvon Double Trailer + + + + + Darwin + + + + + Daton + + + + + Dart Truck Co., PACCAR, Inc. + + + + + Datsun + + + + + Dauphin + + + + + Davenco, Inc.Roscoe, Illinois + + + + + David Mfg. Co.Mason City, Iowa + + + + + Dave Hicks Co., Inc. + + + + + Davis + + + + + Davenport Trailer or Mobile Home Co. + + + + + Davron Traveler, Inc. + + + + + Davey Compressor Co. + + + + + Dawes Products Co. + + + + + DAWSON ENTERPRISES; ELKHART, IN + + + + + CommandoYard tractor--mfd. by Daybrook-OttawaDiv. + + + + + Daytona + + + + + Day's DrydockNorth Webster, IN; trailers. + + + + + Dayton Electric Mfg. Co.Mfrs. air compressors--Chicago, Illinois + + + + + Dazon, Inc. + + + + + D.B. + + + + + Double Delight, Inc. + + + + + Deep South Sales Co.Valdosta, Georgia + + + + + DISCOUNT TRAILERS; FORT WORTH, TX + + + + + Diamond City Trailer Mfg.Murfreesboro, Arkansas + + + + + Double Horse Trailer + + + + + D & D FABRICATIONS, ST LOUISS, MICHIGAN / TRAIL-TECH TRAILERS + + + + + D & D Trailer Inc.Trenton, New Jersey + + + + + Deutz-Allis Corporation + + + + + Dean Industries, Inc. + + + + + Debonair + + + + + Decamp Homes, Inc. + + + + + DeCourville + + + + + Deep Sanderson + + + + + Deere, JohnDeere & Co. + + + + + DeGeest Mfg. Co.Sioux Falls, South Dakota + + + + + Degelman Industries, Ltd. (Canada) + + + + + Deico Auto Carrier Trailer + + + + + Dekco Mobile Mfg.Menahga, Minnesota + + + + + De-Lar, Inc. + + + + + Delhi Metal Products, Ltd.Delhi, Ontario, Canada--mfrs. boattrailers + + + + + DELKRON TRANSMISSION + + + + + Dellow + + + + + Delmar Mfg. Co., Inc. + + + + + Delavan Trailer + + + + + De Lorean (imported from Belfast,Northern Ireland, UK) + + + + + Delphi Body Works, Inc. + + + + + Del Rey Industries, Inc. + + + + + Delta Homes Corp. + + + + + Delta Truck Trailer Co., Inc.Camden, Arkansas + + + + + Delto Homes, Inc. + + + + + Deluxe Homes, Inc. + + + + + Demo Horse Trailer + + + + + Demco + + + + + Dempster + + + + + De Muth Steel Products Co. + + + + + DENCO MANUFACTURING + + + + + Denver Trailer Supply, Inc. + + + + + Dennison Utility Trailer + + + + + Denzel + + + + + Derbi Motor Corp. + + + + + De Rose Industries Inc.Indianapolis, Indiana + + + + + Denzin & Rahn Mfg. Co., Inc. + + + + + De Soto Coach Co. + + + + + Design Intennt, Inc.Livingston, Tennessee + + + + + Design StructuresMfrs. office and special purposetrailers--Lombard, Illinois + + + + + DeSoto + + + + + Dragon ESP, Ltd., or Environmental Service Products + + + + + Destiny Industries, Inc.Moultrie, Georgia + + + + + Detroit Trailer Co.Detroit, Michigan + + + + + Dethmers Manufacturing CompanyBoyden, IA + + + + + Detroiter Homes + + + + + DeTomaso + + + + + Detroit Tool, Inc. + + + + + Deutz Tractor + + + + + Deville Industries, Inc. + + + + + Devil Travel Trailer + + + + + Devine's Machine & Design, Inc.Grantville, Pennsylvania + + + + + DEW Eze Mfg., Inc. + + + + + D & E WELDING; LYONS, GA + + + + + Dexter Trailer, Inc. + + + + + Diamond B + + + + + DIAMOND C MT. PLEASANT,TX, CAR HAULER + + + + + Diamond Mobile Home Mfg. + + + + + DIAMOND G TRAILER COMPANY /GRAHAM FABRICATIONS, INC.; PURVIS, MISSISSIPPI; MANUFACTURING HOME OF DRE + + + + + Diamond G EquipmentOklahoma City, Oklahoma + + + + + Diamond SWalters, Oklahoma + + + + + Diamond ReoDiscontinued production in 1974 + + + + + Diamond-BiltMfd. by Diamond Steel Co., Inc. + + + + + Diamond T + + + + + Charlevoix Mobile HomesMfd. by Dickinson Homes, Inc. + + + + + Dickirson Equipment Corp.Salem, Illinois + + + + + Dico Co.Des Moines, Iowa + + + + + Didier Mfg. Co.Franksville, Wisconsin + + + + + Digmor Equipment & Engineering Co., Inc. + + + + + Dillis Trailer Mfg. + + + + + Dille & McGuire Mfg. Co.Richmond, Indiana + + + + + Dillon Enterprises, Inc.North Liberty, Indiana + + + + + DillyNelson-Dykes Co., Inc. + + + + + Dina Camiones S. A. De C. V. + + + + + DINLI ATV'S + + + + + Diplomat Motor Home + + + + + Discover 25 Motor Home + + + + + Ditch Witch Div.Div. of Charles Machine Works, DIWTfor reference only + + + + + Di Tella + + + + + DIAMOND TRAILERS, INC. SHANDON,OH + + + + + Diva + + + + + Divco + + + + + Dively Mfg. Co.Claysburg, Pennsylvania + + + + + Divco-Wayne Industries + + + + + Dixie Craft Trailers, Inc.Eupora, Mississippi + + + + + DixieFruehauf Corp. Plant + + + + + Dixon Industries, Inc.Coffeyville, Kansas + + + + + DKR + + + + + DKW + + + + + Delahaye + + + + + DELOUPE, INC.; QUEBEC, CANADA + + + + + DOLPHIN MOTORHOMES + + + + + DM Utility TrailerGoodfield, Illinois + + + + + DMB Trailers + + + + + DMH Co.Div. of National Gypsum Co., St. Louis,Michigan + + + + + DMI, Inc.Goodfield, Illinois + + + + + DMP + + + + + D.M. & V. Enterprises, Inc. + + + + + Dodd Mfg. Co., Inc. + + + + + Dodge Woodcraft + + + + + Dodge + + + + + Doepker Industries Ltd. + + + + + Dolan Corp. + + + + + Dolphin HomesDiv. Tidwell Ind., Inc., Haleyville,Alabama + + + + + Dominion Road Machinery Co., Ltd. + + + + + DO-MOR Equipment, Inc. + + + + + Don-A-Bell Homes, Inc. + + + + + Dong Feng (East Wind) + + + + + Donhal, Inc. + + + + + Donnell Boat Trailer + + + + + Don May EnterprisesRichardson, Texas + + + + + Dons Boat Trailer + + + + + Donahue Corp., The + + + + + Doo Snowmobile Trailer + + + + + Doolittle + + + + + Doonan Trailer Corp.Great Bend, Kansas + + + + + Dormi Industries, Inc. + + + + + Dorsey Trailers Inc.Elba, Alabama + + + + + DORT MOTOR CAR COMPANY; FLINT, MICHIGAN + + + + + Dot + + + + + Double Shuffle Mobile Home + + + + + DOUBLE D DISTRIBUTORS, INC; PINK HILL, NORTH CAROLINA + + + + + Double E Trailer Mfg.Commanche, Oklahoma + + + + + Douglas Homes, Inc. + + + + + Double J Horse Trailer + + + + + Downer Industries + + + + + Downey Sheet Metal Shop + + + + + D & P Welding Co. + + + + + Drag Master Utility Trailer + + + + + DRAKE TRUCK BODIES, VERNON BRIDGE, PRINCE EDWARD ISLAND , CANADA + + + + + DARDON, INC. + + + + + Dreamer + + + + + Dresser Industries, Inc. + + + + + Draglite Trailer + + + + + Drifter Mfg. Co. + + + + + Driftwood Homes Corp. + + + + + Drive On Trailer Mfg.Mishawaka, Indiana + + + + + Dreamliner Trailer + + + + + Dropbox, Inc. + + + + + Drott Manufacturing Co.Div. J. I. Case Co. + + + + + Dressen Custom Trailers, Inc. + + + + + Drydock Trailer, Inc.Boat trailers--Freeport, Florida + + + + + Desperado Motor Racing & Motorcycles, Inc. + + + + + Super CookerMfd. by Deep South Sales Co. + + + + + DWS Storeway TrailerCrossville, Tennessee + + + + + DUTCH PARK HOMES, INC.; GOSHEN, IN + + + + + Detrail Trailer + + + + + DOUBLETREE RV, LLC; LAGRANGE, INDIANA + + + + + Dual Evans Corp. + + + + + Dual-Wide, Inc. + + + + + DuAl Mfg. Co. + + + + + Ducati + + + + + Dude Trailer + + + + + Duel + + + + + Duesenberg + + + + + Dugan Trailer, Inc.Groesbeck, Texas + + + + + Dusgo Trailer + + + + + Duke Mobile Homes + + + + + Dunbar KappleBatavia, Illinois + + + + + Dunham Mfg. Co., Inc.Minden, Louisiana + + + + + Dunham Lehr, Inc. + + + + + DUN-RITE MANUFACTURING LLC; DENVER, CO + + + + + Dupage Coach Co. + + + + + Duplex Truck Div.Div. of The Nolan Co., Midvale, Ohio + + + + + Duplex Mill & Manufacturing Co. + + + + + Durant + + + + + DurobiltEl Monte, California + + + + + Durcholz Trailer + + + + + Dura-Craft Mobile Homes + + + + + Durabilt Industries, Inc. + + + + + Duro Mobile Homes + + + + + Dutchman ManufacturingMiddlebury, IN + + + + + Dutec Trailer + + + + + Dutton-Lainson Co., Mfg. Div.Mfrs. of boat trailers, + + + + + Downs Clark Trailer + + + + + Down (2) Earth Trailers + + + + + Dixie Chopper + + + + + Dynacycle + + + + + Dynamic Industries, Inc. + + + + + Dynahoe Truck + + + + + Dynacruiser Mount Trailer + + + + + Dynamark Tractor Mower + + + + + Dynamics Corp. of America + + + + + Dynaweld Trailer + + + + + DAYTEC CENTER; HESPERIA, CA ; MOTORCYCLE FRAMES & PARTS + + + + + Eagle Crusher Co., Inc. + + + + + East Dump Trailer + + + + + Eager Beaver Trailer + + + + + Eagle Custom Coach Mfg. Co. + + + + + Eagle Equipment + + + + + Eagle International, Inc.Mfrs. buses--Brownsville, Texas + + + + + Eagle Trailer Mfg., Inc. + + + + + Easy Loader Trailer + + + + + Easy Rider Trailer + + + + + Eastern-Bilt, Inc. + + + + + Easom Engineering + + + + + Easton Car & Construction + + + + + East Se Trailer + + + + + Easy Traveler Trailer + + + + + Easyown Mfg. Co. + + + + + EAST TENNESSEE TRAILERS LLC; MOSHEIM, TN + + + + + Eaton Corp.Cleveland, Ohio + + + + + Easy Trail, IncBoat Trailers - Madison, Alabama + + + + + Ebony Line Products + + + + + E-Bus + + + + + Economy Camper Co. + + + + + ECONOLINE TRAILERS, INC. ; DOUBLE SPRINGS, ALABAMA + + + + + Eco-Bike Elec Motorcycle + + + + + Econo Flo Bulk Service + + + + + Economy-Wisconsin + + + + + EcsaMexico; trailers + + + + + Ecstasy Trikes of Allentown, Inc + + + + + DovekieMfd. by Edey & Duff + + + + + Edsel + + + + + Edwards Trailer + + + + + Edwins + + + + + CANADIAN MOTORHOME + + + + + EE-ZY Trailer Co. + + + + + Eagle + + + + + Eagle (also see make American Eagle) + + + + + EHM Mfg. Co. + + + + + Eidal International Corp. + + + + + Eidal International Corp. + + + + + Eight Point + + + + + El-Jay Div. Iowa Mfg. Co. + + + + + EK-CHOR MOTORCYCLE COMPANY; SHANGHAI, CHINA + + + + + Elcar Mobile Homes, Inc.Div. Divco-Wayne Industries + + + + + Elcona Homes Corp + + + + + Electric Wheel Co. + + + + + Electric Cycle + + + + + El Do-Craft Boat Co., Inc.Boat trailers--Smackover, Arkansas + + + + + Elder Trailer & Body + + + + + El Dorado Mfg., Ltd. + + + + + Elec-Trac + + + + + Electra Vacation Home + + + + + Elgin + + + + + Elgin Sweeper CompanyElgin, Illinois + + + + + Elite Mfg.Camper Shells--Merced, California + + + + + Eljay Mfg. Co. + + + + + ELK AUTOMOTIVE; ELKHART, IN + + + + + Elkhart Mfg. Co. + + + + + Elk River Corp. + + + + + Elgin-Leach Corp. + + + + + Elliott Mobile Home Mfg. + + + + + Ellis Trailer Co.Sylmar, California + + + + + Ellis Mfg. Co., Inc. + + + + + Elva + + + + + Electric Vehicle Corp. (mfrs. ofreplicas, Minneapolis, MN) + + + + + Electric Vehicle Technologies + + + + + Embassy HomesDiv. of Guerdon Industries + + + + + Embassy Mobile HomesDiv. of Guerdon Industries + + + + + Emmco Trailer + + + + + EMERSON TRAILERS, INC., FLORIDA + + + + + Emmert Mfg. Co., Inc. + + + + + EML + + + + + Emergency One, Inc. + + + + + Empire Corp., Inc. + + + + + Empire Generator Corp. + + + + + Empire Trailer, Inc. + + + + + Empire Plow Co. + + + + + Empress Industries + + + + + EMW + + + + + ENCORE; RIDING LAWNMOWERS + + + + + Encore + + + + + Energy Mfg. Co. + + + + + English Ford (British) + + + + + EconomyGarden tractor--mfd. by EngineeringProducts Co., Inc. + + + + + English Industries + + + + + (Generic Code--for use only whenmanufacturer is not listed) + + + + + Encore Motorcycle Co., USA + + + + + Enterprise Motor Home + + + + + En Route, Inc.Elkhart, Indiana + + + + + Ensenada Mobile Homes + + + + + ELKHART, INDIANA + + + + + ENVASES DE ACERO, S.A. DE C.V. MEXICO; TRAILER + + + + + Envirotech Corp., EIMCO ProcessMachinery Div. + + + + + Envoy + + + + + Enzmann + + + + + Equipment Pro or Milron Co., Inc. + + + + + Eric Enterprises, Inc.Coventry, Connecticut + + + + + Erectors & Fabricators, Inc.Tonganoxie, Kansas + + + + + Erickson Corp. + + + + + Erie City Welding & Spring + + + + + Erie-Go Mfg., Inc. + + + + + Erin Truck and Body EquipmentDolton, Illinois + + + + + Erie-Sprayer Co. + + + + + ELK RIVER MACHINE CO.; ELK RIVER, MN + + + + + Erskine + + + + + Escape Trailer + + + + + Esco Corp. + + + + + Exco Boat Trailers + + + + + Escapade Motor Home + + + + + Escort Trailer Corp.Seattle, Washington + + + + + Eshelman Sportabout + + + + + Essix + + + + + Esquire + + + + + Essex + + + + + Essick/Hadco Div.Div. A-T-O, Inc. (Formerly EssickMfg. Co.) + + + + + Essick Trailer + + + + + Establishment + + + + + Estevan Industries, Ltd. + + + + + Estate Mfg., Inc.Motor homes--Elkhart, Indiana + + + + + E. D. Etnyre & CompanyOregon, Illinois + + + + + E-TON DYNAMICS TECHNOLOGY INDUSTRY CO., LTD + + + + + East Texas Longhorn Trailers, LLC + + + + + Euclid, Inc., Subsidiary of WhiteMotor Corp. + + + + + Evans Mfg. Co., Inc., JohnSumter, South Carolina + + + + + Evans-Plugge Co., Inc.Columbus, Nebraska + + + + + Evanston Coach Co. + + + + + Evens Trailer Mfg., Inc. + + + + + Evergreen Log Trailer + + + + + Eversman Mfg. Co. + + + + + Evinrude Motors + + + + + EVERLITE, INC.; LONGVIEW, TX - FLEETRITE & OTHER MODEL OR SERIES + + + + + Electric Vehicles Northwest, Inc. + + + + + Everybody's Motor Car Mfg. + + + + + Electric Vehicle Systems, Inc. + + + + + Electric Vehicles of Texas + + + + + Red Ewald, Inc. + + + + + Excel Motor Home Truck + + + + + Excell Travel Trailer + + + + + Excel Industries, Inc.Hesston, Kansas + + + + + Excalibur + + + + + Excelsior + + + + + EXTREME CYCLES (MOTORCYCLES) + + + + + Executive Industries, Inc. + + + + + EXCEL EZLOAD TRAILERS, LLC; AMARILLO,TX + + + + + EXCELSIOR-HENDERSON MOTORCYCLES + + + + + EXISS ALUMINAM TRAILERS, INC.; EL RENO, OK + + + + + EXPEDITION MOTORHOMES; MANUFACTURED BY FLEETWOOD + + + + + Explorer + + + + + Extend-Ell Industries + + + + + E Z Tow Manufacturing Co.Madison, Connecticut + + + + + E.Z.A. Mfg. Co. + + + + + E-Z Camper (or Kamper) + + + + + EZ Dumper + + + + + E Z HaulDiv. of Parkhurst Manufacturing Co. + + + + + E-Z Loader Boat Trailer + + + + + E-Z Utility TrailerMfd. by Dutchie, Leola, Pennsylvania + + + + + Ezzy Load Boat Trailer + + + + + Fabricated Alloy Building Co., LLC + + + + + F.A.B. Mfg. Co. + + + + + FabcoDiv. of Kelsey-Hayes Co. + + + + + Facel-Vega + + + + + Facellia + + + + + Factory Outlet Trailers + + + + + Colonnade Mobile HomesMfd. by Fairmont Homes, Inc. + + + + + Fairmont Steel Products + + + + + Fairthorpe + + + + + Falcon (British) + + + + + FallsRiding lawn mower + + + + + Falco Mfg. Co. + + + + + Falcon Coach Co. + + + + + Fanc Motor Home Truck + + + + + Fargo + + + + + Farmhand, Inc. + + + + + Farm King, Ltd., (Canada) + + + + + Unpublished farm or garden equipment mfr(See Operating Manual, Part 1,Section 2) + + + + + Farenwald Boat Trailer + + + + + FAST ; SNOWMOBILES (TO INCLUDE BLADE MODEL) + + + + + Fat City Choppers + + + + + Fawn Corp. + + + + + Fayette Trailer + + + + + FECHTNER TRAILERS, ELBOW LAKE, MN + + + + + Federal Trailer Co. + + + + + Federal + + + + + Felber + + + + + Feldman Custom TrailersBowling Green, Kentucky + + + + + Fellwon Trailer + + + + + Felps Mfg. Corp.Johnson City, Texas + + + + + Feldman Engineering & Mfg., Co. + + + + + Ferree Trailer Corp.Climax, North Carolina + + + + + Ferguson Mfg. Co., Inc. + + + + + Ferrari + + + + + Fertilizer Dealer Supply, Inc.Philo, Illinois + + + + + Festival Homes of Ohio, Inc.Greenwich, Ohio + + + + + Feterl Mfg. Co. + + + + + Fey, Frank & Co. + + + + + FHL + + + + + F & H Mfg. Co. + + + + + Fiat-Abarth + + + + + Fieldacre Horse Trailer + + + + + Fiat-Allis Construction Machinery, Inc. + + + + + Fiat + + + + + Fiberfab, Inc. (Minneapolis, MN) + + + + + FIBERGLASS INTERNATIONAL, INC.; SCHALLER, IS + + + + + Alex Fiegelson Co. + + + + + Field Office Mfg. Co. + + + + + Field & StreamManufacturer Vacation Industries + + + + + Fields Mfg. Co. + + + + + Fiesta + + + + + Fife Trailer + + + + + Figura, MikeBruce, Wisconsin + + + + + FIAT KOBELCO; CONSTRUCTION EQUIPMENT/MACHINERY + + + + + Finger Lakes Trailer + + + + + FINN CORPORATION; FAIRFIELD, OH + + + + + Fireball Trailer Mfg. + + + + + Firestone Tractor + + + + + First American Coach + + + + + Air BuoyBoat trailers--mfd. by Firestone Tire &bber Products + + + + + Fischer + + + + + Fiesta (imported by Ford) + + + + + Five Star Engineering, Inc. + + + + + Five-K Trailer Co., Inc.Bethalto, Illinois + + + + + Flag Ship Boat Trailer + + + + + Flaherty Manufacturing Co.Div. of Koehring Co. + + + + + Flair Industries of Illinois, Inc.Macomb, Illinois + + + + + Flamingo Trailer Mfg. + + + + + A.Claeys Flandria (Belgium,imported by Saint Tropez) + + + + + Flasko Mfg. Co. + + + + + Felburn Flatbed Trailer + + + + + Fleet Cap'n Trailers + + + + + Fleet-Aire Camper Co. + + + + + Fleetcraft Corp. + + + + + Flexi-Coil Ltd. + + + + + Fleetwing Mobile Homes + + + + + Fleming Mfg. Co., Inc.Long Lake, Minnesota + + + + + Big Bear (mfd. by Flexo Products Co) + + + + + Flexible + + + + + Flintstone IndustriesOcilla, Georgia + + + + + Fleming Equipment Co.Ashdown, Arkansas + + + + + FIRST LINE REFINISHING; CORINTH, NY + + + + + SAUK CENTRE WELDING & MACHINE WORKS, INC. FELLING TRAILERS + + + + + Float-On of FloridaBoat Trailers--Ft. Pierce, Florida + + + + + Florida Trailer Co. + + + + + FLOE INTERNATIONAL + + + + + Florida Wholesale Distributor + + + + + Florig Equipment Co., Inc.Conshohocken, Pennsylvania + + + + + Flote-Aire Corp. + + + + + Flow Boy, Inc.Norman, Oklahoma + + + + + Flying Dutchman + + + + + Flying L Trailer, Inc.Falls City, Nebraska + + + + + FMC Corp. + + + + + Farm Shop, Inc.Congerville, Illinois + + + + + FN + + + + + FNM + + + + + Fantic + + + + + Foland Enterprises + + + + + Formaloy Flat Snowmobile Trailer + + + + + Foremost (also see make J.C.Penney) + + + + + Fontaine Truck Equipment Co.Birmingham, Alabama + + + + + Fontenelle Homes, Inc. + + + + + Foot Hill Horse Trailer + + + + + Forte Trailer + + + + + Forage King Industries Inc. + + + + + Forrest City Machine Works, Inc. + + + + + Ford (also see English, French,German, and Italian Ford) + + + + + Ford's Mobile Home Mfg. + + + + + Foreman Mfg. Co. + + + + + Foremost Mobile Home Mfg. + + + + + Forester + + + + + Forest City Industries, Inc. + + + + + Forlyn Engineering Co. + + + + + Forney Horse Trailer + + + + + Fostron's Factory Outlet Trailers + + + + + Fort Lupton Campers + + + + + Fort Smith Camper Mfg. Co. + + + + + Fortune Homes Corp. + + + + + Fost Joe Dog + + + + + Foster Flatbed Trailer + + + + + Fotografix Boat Trailers + + + + + Fountain Flatbed Trailer + + + + + Four Seasons Travel Trailer + + + + + Four Star Coach Co. + + + + + Four State Industries, Inc.Elkhart, Indiana + + + + + Four Winds + + + + + Four Winns + + + + + Fox + + + + + Foxi + + + + + Frank Motor Homes, Inc. + + + + + Franklin Coach Co. + + + + + Franklin Homes, Inc.Russellville, Alabama + + + + + Franklin + + + + + Frazier + + + + + Francis-Barnett + + + + + Francis Travel Trailer + + + + + Freeway, Inc. + + + + + Frederick-Willys + + + + + Freeway Travelers, Inc. + + + + + French Ford + + + + + French Horse Trailer + + + + + Friess Trailer + + + + + FOUR H MFG., INC; SUMNER, IA + + + + + Freightliner Corp. + + + + + Friendship Mobile Homes + + + + + Friggstad Mfg., Ltd., (Canada) + + + + + Frisky + + + + + Frazer-Nash + + + + + Franklin Equipment Co. + + + + + Frolic Homes, Inc. + + + + + Frontier Homes Corp. + + + + + Frost Trailer Co.West Monroe, Louisiana + + + + + Ferris Ind. + + + + + FOREST RIVER, INC.; GOSHEN, INDIANA TRAILERS + + + + + Foretravel, Inc.Nacogdoches, Texas + + + + + Fruehauf Corp.Detroit, Michigan + + + + + Fruin + + + + + Frye + + + + + Fast Load + + + + + FASTLINE; KANSAS + + + + + FAST TRAC MANUFACTURING; MOTORCYCLES, CALIFORNIA AS OF 5/2002 KNOWN AS CHEROKEE MOTORCYCLE COMPANY, + + + + + AvionMfd. by Fleetwood Enterprises + + + + + Fuerst Brothers, Inc. + + + + + Fuji Robbt Jr (Mfd. by H-MVehicles, Inc.) + + + + + Fuller Mfg. Co. + + + + + Fulton Boat Trailer + + + + + Funliner Mfg. Co. + + + + + Funtime Camper Trailer + + + + + Fuqua Homes, Inc.Div. Fuqua Industries--Arlington, Texas + + + + + Furatell IndustriesBruce, Wisconsin + + + + + Futura Mobile Home + + + + + Futurama + + + + + FWD Corp. + + + + + General Amer Aero Coach + + + + + Gabbianno + + + + + Gabriel Auto Carrier + + + + + Gad-About Trailers + + + + + Gadabout + + + + + Gafner Machine, Inc.Escanaba, Michigan + + + + + Galactic Corp. + + + + + Galbreath, Inc.Mfrs. refuse containers and trailers--Winimac, Indiana + + + + + Galion Manufacturing Div.Div. Dresser Industries, Inc. + + + + + Gallatin HomesBelgrade, Montana + + + + + Gannon Manufacturing Co., Inc. + + + + + Gar-Bro Manufacturing Co. + + + + + Gardner, Inc.Mfrs. travel trailers--Bristol, Indiana + + + + + Garelli + + + + + Garway Homes, Inc. + + + + + Garlock Equipment Co. + + + + + Gardner-Denver Cooper Industries, Inc.Denver, Colorado (formerly Gardener-Denver Co.) + + + + + Garwood + + + + + Gardner-Pacific-Sunrader, Inc.Vallejo, California + + + + + Garrett-Weldco Industries, Inc. + + + + + Garson Flatbed Trailer + + + + + Gary Carolina Co. + + + + + Garber Seeders, Inc. + + + + + Gast Manufacturing Co. + + + + + Gates, Walter C. + + + + + Gator Trailers Corp. + + + + + Gator Products, Inc.Jacksonville, Florida + + + + + GAZ + + + + + Gilson Brothers Company + + + + + G. & C. Mfg. Co. + + + + + Great Dane Trailers, Inc.Savannah, Georgia + + + + + General Electric + + + + + General Engines Co., Inc.Throfare, New Jersey + + + + + Gee-Bee-Dee Manufacturing & Supply Co. + + + + + Geer Co. + + + + + GEELY OF SHANGHAI CHINA; MOTORCYCLES,MOPEDS & PASSENGER CARS + + + + + General Engines Co., Inc.Throfare, New Jersey + + + + + Geering Industries, Inc. + + + + + Gehl Co. + + + + + Gelt Trailers + + + + + Gem Industries, Inc.Grand Rapids, Michigan + + + + + Gemini + + + + + Gemtop + + + + + General Coach Works of CanadaDiv. of Divco-Wayne Industries + + + + + General + + + + + GENERAL ENGINES CO. INC.; FLORIDA EAGER BEAVER & INTERSTATE + + + + + General Trailer Co., Inc.Springfield, Oregon + + + + + General Coach of FloridaDiv. of Divco-Wayne Industries + + + + + General Coach Mfg. Co.Div. of Divco-Wayne Industries + + + + + General Coach Works, Inc. + + + + + GENIE CONSTRUCTION EQUIPMENT; AERIAL,SCISSOR LIFTS ETC. + + + + + General Homes Div.Div. of Divco-Wayne Industries + + + + + General Moped Co. (New York,New York) + + + + + Gentry + + + + + GEO + + + + + Cruisemaster Motor HomeMfd. by Georgie Boy Mfg., Inc.Edwardsburg, Michigan + + + + + Georgia Trailer & Equipment Corp.Macon, Georgia + + + + + Gerard Lowboy Trailer + + + + + Generac Corp. + + + + + Gerlinger Foundry Machine Works + + + + + Forest ParkMfd. by Gerring Industries, Inc. + + + + + Getman Brothers Mfg. Co.Marion, Ohio + + + + + G & F HORSE TRAILER REPAIR; RIVERSIDE, CALIFORNIA + + + + + GULF STREAM + + + + + G & F TrailerBoat trailer mfd. in Bainbridge, Georgia + + + + + Gas Gas Motors of America, LLC + + + + + Ghieapy Jol Trailer + + + + + G & H Manufacturing, Inc.Arlington, TX; trailers. + + + + + GiantManufactured by Caldwell & Sons + + + + + Giannini + + + + + Osterlund, Inc.Harrisburg, Pennsylvania + + + + + Gibraltar Coach Mfg. Co. + + + + + Gibraltar Industries, Inc. + + + + + Giddings Machine Co., Inc.Fort Collins, Colorado + + + + + GIGI Industries, Inc.Motor homes + + + + + Gilbern + + + + + AlanMfd. by Giles Industries + + + + + Gilera + + + + + GILLIG CORPORATION HAYWARD, CALIFORNIA , BUS + + + + + Gill Mfg. Co. + + + + + Gilmore Trailer, Inc.Seneca, Pennsylvania + + + + + Gilson Brothers Co. + + + + + Gilmore-Tatge Mfg. Co., Inc. + + + + + Gindy Mfg. Corp.Downingtown, Pennsylvania + + + + + Ginetta + + + + + Gin Ray Mfg. Co.Nicollet, Minnesota + + + + + Girard's Mfg. Co. + + + + + Gilson + + + + + Gitane + + + + + Givens Mfg. Co. + + + + + Gladding Travel Trailer + + + + + Glas + + + + + Glasstite, Inc.Dunnell, Minnesota + + + + + Globe + + + + + GLOBAL ELECTRIC MOTOR CARS, LLC, FARGO,NORTH DAKOTA 2 & 4 PASSENGER, LONG & SHORT UTILITY TYPE VEHIC + + + + + Great Lakes Cargo, LLC + + + + + Goldenvale, Inc. + + + + + Gleason Corp. + + + + + Glenbrook Homes Of Tennesee + + + + + Glen & Cecil Mobile Home Manufacturing& Sales + + + + + Glen Manor Homes, Inc. + + + + + Glendale Mobile Homes + + + + + Glenhill Road Machinery + + + + + FeedlinerMfd. by Globe Fabricators, Inc. + + + + + Glider Mobile Homes Corp + + + + + Glitsch + + + + + Golfmobile + + + + + G & G TRAILERS; GILLIAND & GILLIAND; PRESTON GILLIAND, HALLS, TN + + + + + Glen-L TrailersLewiston, Idaho + + + + + Globe Camper Mfg. + + + + + Globemaster Mobile Homes + + + + + Globestar Industries, Inc. + + + + + Glover Plastic Sprayer + + + + + Glasride Trailer + + + + + GLENDALE RECREATIONAL VEHICLES; STRATHROY, ONTARIO, CANADA + + + + + Glassic + + + + + Glass Stream TrailersNashville, Georgia + + + + + Glastron, Inc.New Braunfels, Texas + + + + + G & L Utility Trailers + + + + + EZZ PullMfd. by Glass-Wood Products, Inc. + + + + + General Motors + + + + + General Motors Corp. + + + + + GMR Enterprises, Inc. + + + + + General Marine Industries + + + + + GENERAL SHELTERS; CENTER, TX CARGO TRAILERS ETC. + + + + + GENERAL WELDING & FAB., ELMA,NEW YORK + + + + + BILLY GOAT LAWN VACUUM + + + + + Co Corp. + + + + + Goebel Trailer Co. + + + + + Gorilla Electric Vehicles + + + + + Goff Mfg. Corp. + + + + + Go-Tag-Along + + + + + Go-Tel Leasing Corp. + + + + + Gogomobile + + + + + Go Kart + + + + + Gold Leaf Engineering Co. + + + + + Gold Star Mobile Homes, Inc. + + + + + Golden Coach Mfg. Co. + + + + + Goliath + + + + + Golden Isle Trailers, Inc. + + + + + Golden State Mobile Homes + + + + + Golden West Mobile Homes + + + + + Go-Lite, Inc. + + + + + Gonard Enterprises, Inc. + + + + + Golden Nugget Travel Trailer + + + + + Good Mfg. Co. + + + + + Gooseneck Trailer Mfg. Co., Inc.Bryan, Texas + + + + + Goodyear Camper Mfg., Inc.Lincoln, Nebraska + + + + + Gorbett BrothersFort Worth, Texas + + + + + Gordon + + + + + Gore Trailer + + + + + Gorman-Rupp Company, TheMansfield, Ohio + + + + + Gordon Smith & Co., Inc.Bowling Green, Kentucky + + + + + GRAND PRIX TRAILER MANUFACTURING, CO.; FREDERICK, MD + + + + + Grady-White Boat Co. + + + + + Graciela + + + + + GradallDiv. of Warner & Swasey Co. + + + + + Grace, W. E., Manufacturing Co. + + + + + Graffin Wellpoint Corp. + + + + + Graham + + + + + Gramm + + + + + Graco, Inc. + + + + + Graham-Paige + + + + + Gray-Velle Mobile HomesDiv. of Stahan Manufacturing Co. + + + + + GREAT DANE INCORPORATED; FARM & GARDEN EQUIP + + + + + Great Divide Coach Mfg. + + + + + Great Bend Mfg. Co., Inc. + + + + + Green Boat Trailer + + + + + Air-Flo Mobile HomeMfd. by Gregory Mfg. Co. + + + + + GreenvillaMfd. by Greenville Mobile Homes + + + + + Great Lakes Mobile HomesDiv. of Guerdon Industries + + + + + Green Mfg., Inc. + + + + + Greencastle Coach Co. + + + + + Gregory Trailer Sales + + + + + Great Escape + + + + + Greeves + + + + + Griffith + + + + + Grimmer-Schmidt Corp.Franklin, Indiana + + + + + Grizzly Mfg. Co., Inc. + + + + + Great Lake + + + + + Green & Green Mfg. Co., Inc.Lancaster, Texas + + + + + Greenhaven Mobile House Trailer + + + + + Gronewegen B.V.Netherlands + + + + + Grove + + + + + GRM + + + + + Coventry Mobile HomeMfd. by Great Southwest Corp. + + + + + Gran Spree Mini Camper + + + + + Gruendler Crusher and Pulverizer Co. + + + + + Grumman-Olsen + + + + + Clark-Gravely Corp.Gravely tractors + + + + + Grove Mfg. Co.Affiliated with Kidde, Inc.,Shady Grove,Pennsylvania + + + + + Grycner + + + + + Grizzly Corp. + + + + + GARDEN STATE CHASSIS REMANUFACTURING, INC + + + + + GOLD STAR ENTERPRISES; SIKESTON, MO + + + + + G. S. Industries, Inc. + + + + + GSM + + + + + Guerdon Industries + + + + + Guest Industries, Inc. + + + + + Guidon Camper Trailer + + + + + Guizzo + + + + + Gulf States Mfg. Corp. + + + + + Gustafson Mfg. Co., Inc. + + + + + Guthrie Trailer Sales, Inc.Great Bend, Kansas + + + + + Guazzoni + + + + + Ottawa Truck Div., Gulf & WesternMfg., Co. + + + + + Gypsum Express LTDBaldwinsville, NY; makes convertordollies + + + + + Gypsy Campers, Inc. + + + + + Gazelle + + + + + Haban/Agri-Fab or Agri-Fab/Haban + + + + + Hackney & Sons, Inc. + + + + + Hadley Trailer Mfg. Co.North Carolina + + + + + HADDOX QUALITY TRAILERS; OKLAHOMA + + + + + Hartman-Fabco, Inc. + + + + + Haflinger + + + + + Hahn, Inc.Evansville, Indiana + + + + + Hairgrove Industries, Inc.Longview, Texas + + + + + Halco Co. + + + + + Hale Horse Trailer + + + + + Hall, R.D. Mfg., Inc. + + + + + Hallmark Motor Home + + + + + HAULIN TRAILERS LLC, MUSKEGON, MI TRAILERS + + + + + Halliburton Co. + + + + + Hamby Co. + + + + + Hamilton Trailer + + + + + Hamlite + + + + + Hampton Homes, Inc.Edwardsburg, Michigan + + + + + HAMPTON AMUSEMENT RIDES, LLC; MISSOURI + + + + + Hank's Mobile Home Service + + + + + Clifford B. Hanney & Sons, Inc. + + + + + HanoverKingfisher, Oklahoma + + + + + Hanson Machinery Co. + + + + + Happy Wanderer Industry, Inc. + + + + + Happy Travl'r Coaches, Inc. + + + + + Harbortown Mobile HomeLeola, Pennsylvania + + + + + Harris Honker Camper Mfg. + + + + + Hardee Mfg. Co.Affiliated with Harsco Corp., PlantCity, Florida + + + + + Harrison Trailer Mfg. Co. + + + + + Harding Trailer Co.Fort Myers, Florida + + + + + Hart Mobile Homes Corp. + + + + + Hartford Homes, Inc. + + + + + Harklau Industries, Ind.Humboldt, Iowa + + + + + Hartline Travel Trailers + + + + + Hart Mfg., Inc.Chickasha, Oklahoma + + + + + Harnischfegar Corp.Subsidiary of Harnischfeger P&H + + + + + Harrington Mfg. Co., Inc.Mfr. of Roanoke-Hustler, Lewiston, NorthCarolina + + + + + Hartman + + + + + Harvest Motor Home + + + + + Harlow Travel Trailer + + + + + Haul-A-Day Trailers + + + + + Haulmark Industries, Inc. + + + + + Haulette Trailer + + + + + HAULRITE, INC.; MT. JULIET, TENNESSEE **(NOT HAULRITE OF MISSOURI VMA/BMMF)** + + + + + Haul-It-All-Flatbed Trailer + + + + + Hawkeye Camping Trailer + + + + + HAWN FREEWAY TRAILER SALES (HAWN TRAILERS); DALLAS, TEXAS + + + + + Hawthorne + + + + + EnerexMfd. by Hayes Equip. Corp. + + + + + Haynes Mfg. Co., Inc.Chickasha, Oklahoma + + + + + Hayes Log Truck + + + + + H & B Trailer Co.Damascus, Arkansas + + + + + Harley-Davidson + + + + + H. D. Hudson Manufacturing Co. + + + + + AMFSee Harley-Davidson + + + + + Hudson Trailer + + + + + Heald, Inc. + + + + + Hearthside Mobile HomesDiv. Moduline International, Inc. + + + + + Heathkit + + + + + Heckendorn Mfg. Co.Cedar Point, Kansas + + + + + Heckaman Mfg., Inc. + + + + + Heco Boat Trailer + + + + + Hed-Way, Inc. + + + + + Heil Co. + + + + + Heinkel + + + + + Heilite Trailers, Inc. + + + + + Helm Mfg. Co. + + + + + Helmers Custom Coach + + + + + Heltzel Co. + + + + + Hendrickson Manufacturing Co. + + + + + Henred-Fruehauf (Pty.) Ltd.South Africa + + + + + Henke Manufacturing Corp. + + + + + Hendrix Manufacturing Co. + + + + + Henderson Mfg. Co. + + + + + Henry J. + + + + + Henslee Mobile Homes, Inc. + + + + + Herbst Brothers + + + + + Hercules + + + + + Herd Seeder Co., Inc. + + + + + Heritage Mobile Homes + + + + + Heron Travel Campers + + + + + Herrli Industries, Inc. + + + + + Herter Snowmobile Trailer + + + + + Herzig Mfg. Co. + + + + + Woods Div., Hesston Corp. + + + + + Hesse Corp.Kansas City, Missouri + + + + + Hester Plow Co., Inc. + + + + + Heritage by Abel Corp. or Franklin Coach Co., Inc. + + + + + Hein-Werner Corp. + + + + + Hewitt-Lucas Body Co. + + + + + Hatfield Welding & TrailerSales, Inc.Mt. Pleasant, Texas + + + + + Hagon + + + + + H & H TRAILER CO. + + + + + Hi-Lo Travel Trailer + + + + + Hiawatha Mobile Homes + + + + + Hiab Cranes and Loaders, Inc.Newark, Delaware + + + + + Hiawatha + + + + + Hibdon Mfg. Co. + + + + + Hilbilt Mfg. Co.Benton, Arkansas + + + + + High Chaparral, Inc.Ft. Worth, Texas + + + + + Hickey Trail-Blazer + + + + + HICO Corp. of America + + + + + Hicks + + + + + Hide-A-Way Camper + + + + + Highway Cruisers, Inc. + + + + + High Country Trailer Sales & Mfg. + + + + + Highway Sleeper Corp. + + + + + Highway Trailer + + + + + Highway Trailer of Wisconsin &California + + + + + Master HouseMfd. by Highlander + + + + + Highway Manufacturing Co.Div. of Motac, Inc. + + + + + Highway IndustriesEdgerton, Wisconsin + + + + + HITCH-HIKER MANUFACTURING, INC., NEW MIDDLETOWN, OH + + + + + Hillsboro Industries, Inc. + + + + + Hill Country Homes, Inc. + + + + + Hill Dump Trailer + + + + + Hill Mfg. Co. + + + + + Hillco, Inc. + + + + + Hillman + + + + + Hillcrest Homes, Inc.Div. Skyline Homes + + + + + Hilton Mobile Homes, Inc. + + + + + Hilltopper Mfg. Corp. + + + + + Hilo Snyder Travel Trailer + + + + + Hilltop Mfg., Inc.El Dorado, Arkansas + + + + + Hindustan + + + + + Hines Mfg. Co.Rocky Mount, North Carolina + + + + + Hino + + + + + Hinson Mfg. Co., Inc. + + + + + Hinomoto Tractor Sales USA, Inc.Houston, Texas + + + + + Hire Dump Trailer + + + + + Highstone Trailer + + + + + Hitching Rail Trailer + + + + + Hi-U-Trailer Mfg. + + + + + High View, Inc. + + + + + HI-WAY STAR, INC; ODESSA, FL + + + + + Truck Trailer Sales & ServiceYankton, South Dakota, Inc. + + + + + Hickory King Horse Trailer + + + + + Holandia Holder + + + + + Haul-A-Fame, Inc. + + + + + Holly Parks, Inc.Mobile Homes + + + + + HIGH-LITE RIDES, INC.; GREER, SC + + + + + Hellwood Trailer + + + + + HM + + + + + Homemade Trailer code (See OperatingManual, Part 1, Section 2.)page 1-33) + + + + + HME, INCORPORATED; WYOMING, MI + + + + + HOMESTEADER, INC.; NEW TAZEWELL, TN + + + + + Free-Way II, (Mfd. by H-MVehicles, Inc.) + + + + + H.N.L. CORP AND OR HENRY L. LANCIANI CORP. + + + + + Hahn Motors, Inc. + + + + + Hanson Camping Trailer + + + + + Holman + + + + + Hobart Brothers Co.Troy, Ohio + + + + + Hobbs TrailersDiv. of Fruehauf Corp.--Fort Worth,Texas + + + + + Ho-Bo Trailers + + + + + Ace (model of Hodaka) + + + + + HODGES CUSTOM HAULERS; BENTON, KY + + + + + Hoffman + + + + + Hornet Industries, Inc. + + + + + Holsclaw Brothers, Inc.Evansville, Indiana + + + + + Holland Transplanter Co. + + + + + Holden + + + + + Holden Trailer Mfg. Co.Holiday House, Inc. + + + + + HOLIDAY HOUSE + + + + + Holiday Industries, Inc. + + + + + Holmes Wrecker + + + + + Holland Trailers + + + + + FairwayMfd. by Holiday Homes, Div. of BeatriceFoods + + + + + Holstein Mfg., Inc.Holstein, Iowa + + + + + Holiday Royal Travel Trailer + + + + + Hole Pumps + + + + + Aluma-liteMfd. by Holiday Rambler Corp. + + + + + Holiday Trailer Sales & Mfg. Co. + + + + + Holt Trailer + + + + + Holland Camper Co. + + + + + Holva Travel Trailer + + + + + Hollywood Mobile Homes + + + + + Holly Industries (or Coach Co.) + + + + + Holmes-Craft + + + + + Holiday Marine Sales, Inc. + + + + + Homemade motorcycle code (seeOperating Manual, Part 1,Section 2.) + + + + + Aly AllianceMfd. by Homette Corp. + + + + + HomeliteDiv. Textron, Inc. + + + + + Homeway Mobile Homes + + + + + Ernest Holmes Div. + + + + + Honda + + + + + Honeywell Motor Prods., Honeywell,Inc. + + + + + Hongki or Hong-Chi + + + + + Honorbuilt Trailer Mfg. + + + + + Hooper Trailer Sales, Inc.Monticello, GA; flatbed trailers. + + + + + Hoosier Mobile Homes + + + + + Hop Cap P/U Camper Trailer + + + + + Hopkins Mfg. Corp. + + + + + Horch Limousine + + + + + Horizon Mobile Homes + + + + + Horner-Golem Co. + + + + + Horseman Camper + + + + + Hornet Flatbed Trailer + + + + + Horex + + + + + Horizon Motor Home + + + + + Hotchkiss + + + + + Houle Industries, Inc. + + + + + House of Architecture + + + + + Hough Brothers, Inc. + + + + + House of Harmony, Inc. + + + + + Cycle-SleeperMfd. by Howard Mfg. Co. + + + + + Howard Commercial Turf Equipment Co.Mfrs. Mowers--St. Louis, Missouri + + + + + Howdan Mfg. Co. + + + + + Howe Engineered Sales Co.Waterloo, Iowa + + + + + How-Lo Campers Co. + + + + + Howard Rotavator Co., Inc., Subsidi-ary of Howard Machinery, Ltd. + + + + + Howse Implement Co., Inc. + + + + + Harben, Inc. + + + + + HRG + + + + + Harrell Mfr.North Carolina + + + + + HARRIMAN SALES, INC.; DEKALB JCT, NEW YORK + + + + + HORSE CREEK MANUFACTURING; COOKVILLE, TX + + + + + HERITAGE CUSTOM TRAILERS; BENTON,ILLINOIS + + + + + Herter's, Inc.Waseca, MN + + + + + Harmon Tank Co.Lubbock, Texas + + + + + HEARTLAND TRAILER MANUFACTURING & SALES, INC.; SIKESTON, MO BARLOW TRAILERS + + + + + HORTON VANS, INC.; EATONTON, GO + + + + + HORTON TRAILERS + + + + + Herter + + + + + FORCE MANUFACTURING, INC. AND/OR HARVEY; BANGOR MAINE, NANCY HARVEY + + + + + HUSKEE LAWN & GARDEN EQUIPMENT + + + + + Hus-Key Mfg., Inc. + + + + + H & S Mfg. Co., Inc. + + + + + Husqvarna + + + + + Hitachi + + + + + J. M. Huber Corp. + + + + + Hudson + + + + + Huffy + + + + + Huffy Corp. (Dayton, Ohio) + + + + + Hughes + + + + + HullcoSikeson, Missouri (Sikeston TrailerSales) + + + + + Humber + + + + + Humbee Surrey + + + + + Hummel + + + + + HUMMER; FORMERLY CODED AS AMGN/AMERICAN GENERAL CORP. AS OF 3/1/02 PART OF THE GENERAL MOTORS (GM) V + + + + + Humes Truck & Trailer Mfg. Co + + + + + Hunter Custom TrailersKingsbury, Indiana + + + + + Huntington Distributors + + + + + Hunt's Trailer Mfg. + + + + + Huntsman, Inc.Chetopa, Kansas + + + + + Hupmobile + + + + + Huron Industries, Inc. + + + + + Hurst Trailers, Inc.Washburn, Tennessee + + + + + Hustler-Rustler + + + + + HUSABERG MOTORCYCLES, SWEDEN + + + + + Husky Farm Equipment Ltd.Ontario, Canada + + + + + Husky + + + + + Husqvarna + + + + + Huss Sales, Inc. + + + + + Hustler Boat TrailerPowell, Tennessee + + + + + HUTCO BOAT TRAILER + + + + + Hunter Structures Trailer + + + + + Huber-Warco + + + + + HAWK TRAILERS, LLC; MANAWA, WI + + + + + H. & W. Mfg. Co. + + + + + Hewitt-Robins Crushing & VibratingDiv. Litton Systems, Inc.Equipment Div. + + + + + Hycaloader Co., Inc. + + + + + Hyde Corp.Hurst, Texas + + + + + Hy-Dynamic Div.Bucyrus-Erie Co. + + + + + Hylander Utility Trailer + + + + + Hy-line Enterprises, Inc.Elkhart, Indiana + + + + + Hylton Homes, Inc.Phil Campbell, Alabama + + + + + HYOSUNG MOTORCYCLES & MOPEDS; CHINA + + + + + HAYSHED TRAILERS; ALBERTA CANADA + + + + + Hyster Co. + + + + + HYDRO TEK CORP.; REDLANDS, CA + + + + + Hyundai Trailers + + + + + Hyundai + + + + + I. A. M. E. + + + + + Iben Boat Trailer + + + + + ICL Cargo Trailer + + + + + IC CORPORATION;FORMERLY AMERICAN TRANSPORTATION CORPORATION + + + + + I.D.E.C.O. + + + + + Ideal Industries + + + + + Idle-Time Cabover Camper Trailer + + + + + ISHIKAWAJIMA-HARIMA HEAVY INDURSTRIES CO, LTD.; JAPAN + + + + + IRON HORSE TRAILER MANUFACTURING; TEXAS + + + + + International Jet Boats De Mexico S.A.De C. V.Mexico; trailers + + + + + I. K. A. + + + + + INTERMOUNTAIN WHOLESALE, INC. ;COMMERCE CITY, CO + + + + + Impala Mobile Homes & Travel Trailers + + + + + I. M. P. (U.S.) + + + + + Imperial Industries + + + + + Imperial(for model years 1955-1983, useVMA/IMPE; for models prior to 1955and model years 1990-1993, + + + + + Imperial Mobile Homes + + + + + Indian (Taiwan) + + + + + Indies House, Inc.Hackleburg, Alabama + + + + + Independent Products Co. + + + + + Indiana + + + + + Indio Trailer Mfg. Corp. + + + + + Indian Campers, Inc. + + + + + Independent Mfg. Co., Inc. + + + + + IMEIndustrial & Municipal Engineering, Inc. + + + + + Infiniti + + + + + Infinity Trailer Sales + + + + + Ingerson Mfg. Co. + + + + + Blanco (model of Intramotor) + + + + + Ingram Manufacturing Co. + + + + + Ingersoll-Rand Co.Woodcliff Lake, New Jersey + + + + + Inger-Teco Corp. + + + + + Inland Equipment Corp.St. Charles, Illinois + + + + + Inline Southwest Horse Trailer + + + + + Insley Manufacturing Co.Subsidiary AMCA International Corp. + + + + + INDEPENDENCE MOTORCYCLE COMPANY + + + + + Intermeccanica + + + + + INMAN TRAILERS; INMAN, KS + + + + + Innocenti + + + + + Idaho Norland Co. + + + + + Intrapid Trailer + + + + + Insley Four Wheel Tag Trailer + + + + + Interconsult Mfg. Co. + + + + + International Coach Mfg. + + + + + Integrity Custom Trailers or R & D Fabrication + + + + + International Industries, Inc. + + + + + International Harvester Co. + + + + + International Mobile Homes of California + + + + + Interstate Products + + + + + International Trailer Corp. + + + + + Interstate Travel Trailer + + + + + Interstate Trailers, Inc.Arlington, Texas + + + + + Invader Travel Trailer + + + + + INNO VAN; MORAINE, OHIO/MERC HOLDING CO. + + + + + Iowa Mold Tooling Co., Inc. + + + + + Ioni-A-Home Mfg. Co. + + + + + Iowa Manufacturing Co.Cedar Rapids, Iowa + + + + + IPSCO-Lambton Steel + + + + + Irabeck & Co.Harrington, Delaware + + + + + IRD + + + + + IRONDOG TRAILERS + + + + + I.S.E., Inc.Denver, Colorado + + + + + Isetta + + + + + Islander Motor Home + + + + + ISO + + + + + Isuzu + + + + + Italian Ford + + + + + Italia + + + + + Italjet + + + + + Itasca Motor HomesDiv. Winnebago Ind., Inc.,Forest City, Iowa + + + + + Italtelai Mfg. Co. (Italy) + + + + + Italvelo + + + + + INDIANA TRAILER MANUFACTURING + + + + + Itom + + + + + Iveco Trucks of North America, Inc.Mfrs. of Magirus Tractors + + + + + Jackson Trailer + + + + + Jac-Trac, Inc.Marshfield, WI + + + + + Jack's Trailer Mfg. + + + + + Jaclen Mfg. Co. + + + + + EstatePower mowers--mfd. by Jacobsen Manu-facturing Co. + + + + + Jacobsen Mobile Homes + + + + + Jack's Trailer Mfg. of Florida + + + + + Jaeger Machine co.Columbus, Ohio + + + + + Jaguar + + + + + Jahn Flatbed Trailer + + + + + Jackel Motorsports or China Jialing Ind. Co., Ltd. + + + + + Jalldee, Inc.Spencer, Wisconsin + + + + + Ja-Mar Manufacturing IncSikeston, MO + + + + + Jamboree Motor Home Truck + + + + + JAMCO TRAILERS; BRUCEFIELD, ONTARIO, CANADA + + + + + JAMIE'S WELDING; OKLAHOMA + + + + + JAMMER CYCLE PRODUCTS, INC BURBANK, CA + + + + + Jantz Mfg., Inc. + + + + + Jarco, Inc.Newport Beach, California + + + + + Jason Mfg. + + + + + Babetta (mfd. by Jawa, imported byAmerican Jawa, Ltd., Plainview,New York) + + + + + Jayco, Inc. + + + + + Jay Dee IndustriesCassopolis, Michigan + + + + + Jay-Kee Mfg., Inc.State Center, Iowa + + + + + Jays Hy Lift Manufacturing Co. + + + + + Jay Wren Trailer + + + + + JB + + + + + J B EnterprisesElkhart, IN + + + + + JCB Excavators, Inc.Whitemarsh, Maryland + + + + + Deere and CompanyMoline, IL + + + + + JD HANDLING SYSTEMS OR D.J. STEELE & CONSTRUCTION + + + + + Jec Ro + + + + + Jeep (for model years 1989 throughresent) + + + + + JEHM POWERSPORTS; MOTOR SCOOTERS, MOTORCYCLES, ATVS, ETC. + + + + + Jen Sell Corp.Elkhart, Indiana + + + + + JENNINGS TRAILERS, INC; EMORY, TEXAS + + + + + Jensen + + + + + Jeep (for model years prior to 1970) + + + + + Jeraco Enterprises, Inc.Milton, Pennsylvania + + + + + Jerrytime Camper + + + + + Jersey Trailer + + + + + Jerry's Welding Service (JWS)Freeport, Illinois + + + + + Jetmobile + + + + + Jet Stream Camping Trailer + + + + + Jewel Trailer, Inc. + + + + + J.F.W. Mfg., Inc.Wichita, Kansas + + + + + Johns Corp. + + + + + JIANSHE MOTORCYCLES & MOTORSCOOTERS, CHINA + + + + + Jim Dandy, Inc.Chickasha, Oklahoma + + + + + Jim & Dave's Trailer Mfg. + + + + + Jim Glo TrailersWilcox, AZ + + + + + Jim's Trailer ShopPortland, Oregon + + + + + JINDO CORPORATION; SEOUL,SOUTH KOREA + + + + + JINSCENG MOTORCYCLES/MINIBIKES, CHINA + + + + + J & J Flatbed Trailer + + + + + J.J.J., Inc. + + + + + J-J-N ENTERPRISES; SISKETON,MO + + + + + Jerry James TrailersSikeston, MO; utility trailers + + + + + J & J TRAILER MANUFACTURING OR J.D.J. TRAILER MANUFACTURING, ONTARIO, CANADA + + + + + JLG Ind., Inc. + + + + + Bass TrackerMfd. by JLM Industries + + + + + J & L Tank, Inc.Saginaw, Texas + + + + + Jet + + + + + Jimglo Trailers & ProductsPhoenix, AZ; car trailers andutility trailers + + + + + James + + + + + Job Site Trailer + + + + + Joe's Custom Boat Trailer + + + + + Joe's Welding ServiceSalem, Illinois + + + + + Johnson Corp. + + + + + Johnson Motors + + + + + Johnson's Trailer Building & Repair + + + + + Johnny Lightning + + + + + Johnson Mfg. Co., Inc. + + + + + C. S. Johnson Co. + + + + + Joplin + + + + + Ira Jorgenson + + + + + Joshua Trailer + + + + + Carl A. Johnson & Sons + + + + + Journey Motor Homes, Inc.Elkhart, Indiana + + + + + Jowett + + + + + Joy Mfg. Co. (Air Power Group)Montgomeryville, Pennsylvania + + + + + Jupiter + + + + + J.P. Utility Trailers & Welding + + + + + JERR-DAN + + + + + J & R MANUFACTURING CO., LLC; TRINITY AL. + + + + + J-Rod Trailer Co.Red Oak, Texas + + + + + J.S. Mobile Homes + + + + + JOHNSTON SWEEPER CO., CHINO, CA + + + + + J.T. Ind., Ltd.Lenox, Iowa + + + + + Jude Tent Trailer + + + + + Five-Star ST, LTD Edition. or C2(mfd. by Juili Entp. Co., Ltd.,imported by General Moped Co. Inc) + + + + + Junior Camping Trailer + + + + + J & W TRAILERS; LAMAR, MO + + + + + Christie, J. W. Bill, Inc.Collin County, Texas + + + + + Johnson Welding & Steel SupplyPhilo, Illinois + + + + + Fahrzeugwerke GMBHKarls Kaessbohrer, Germany + + + + + Kaiser + + + + + Kaj'n Homes, Inc. + + + + + Kamp King Utopian + + + + + Kal-Custom Boat Trailer + + + + + Kallio Co.Fremont, Nebraska + + + + + Kalyn Co. + + + + + Kama + + + + + Kamp-A-While Industries + + + + + Kami + + + + + Kampers Kabin + + + + + Kane TrailersGreeley, Colorado + + + + + Kan Haul Trailer Sales + + + + + Kannon Motorcycles, LLC or SJH Mfg., Inc. + + + + + Kanzol Enterprises, Inc. + + + + + KARAVAN TRAILERS, INC. + + + + + KARD CO, RENSSELAER, INDIANA + + + + + Kari Cool Trailer + + + + + Kar-Go Metal Stamping Co.Willow Grove, Pennsylvania + + + + + Kar-Rite CorporationFranklin Park, Illinois + + + + + Karson Industries, Inc. + + + + + Kartote + + + + + Kasey + + + + + Kassborth + + + + + Kasten Mfg. Co.Allenton, Wisconsin + + + + + Katolight Corp. + + + + + Kato Engineering, Subsidiary ofReliance Electric + + + + + KAUFMAN TRAILERS INC. + + + + + Kawasaki (Japan) + + + + + Kaydel, Inc. + + + + + Kayout-Forester Travel Trailer + + + + + Kayot, Inc. + + + + + Kaywood Homes, Inc. + + + + + Kazuma (Stannic Mfg. Co., Ltd.) + + + + + K-Bar Industries, IncSavage, MN; utility trailers + + + + + KBH CORPORATION; CLARKSDALE, MS + + + + + Killer Chopper Cycle Fabrication, LLC + + + + + K-D Mfg. Co. + + + + + KEARNEY TRAILERS CO. GRNADSALINE, TX + + + + + Kelley ManufacturingBogata, Texas + + + + + C.C. Kelley & Son + + + + + Kellogg-American, Inc. + + + + + Kelson Engineering Co. + + + + + Kempf Car Hauler + + + + + Ken Trailer + + + + + Kent Air Tool Co. + + + + + Kden-Craft Products, Inc. + + + + + Kent Mfg. Co., Inc. + + + + + Kenron Corp. + + + + + Kenskill Trailer Corp. + + + + + Kensington Motor + + + + + Kentucky Mfg. Co.Louisville, Kentucky + + + + + Kenway Campers, Inc. + + + + + KENNY BOYCE MOTORCYCLES + + + + + Kempter Trailer + + + + + JOHN KERR MANUFACTURING, CO. + + + + + KESLER MANUFACTURING, INC; LOYAL, WISCONSIN;TRAILERS + + + + + Key Industries, Inc. + + + + + Keystone Trailer & Equipment Co.Kansas City, Missouri + + + + + Keystone Coach Mfg. Co. + + + + + Kings Highway + + + + + K & G Mfg. Co.Decatur, Illinois + + + + + KIA Motors Corporation + + + + + KIBBI, INC.; ELKHART, INDIANA + + + + + KIDRON; TRAILERS + + + + + Kiefer Built, Inc.Kanawha, Iowa + + + + + Kilgore IndustriesPomona, California + + + + + Kill Bros.Delphos, Ohio + + + + + King Midget + + + + + King Fish Boat Trailer + + + + + BuckinghamMfd. by King Homes, Inc., Elkhart,Indiana + + + + + King Richards, Inc. + + + + + King Trailer Co., Inc. + + + + + King-Co + + + + + Kinlon or Chongqing Kinlon Science & Tech. Grp. + + + + + Kingston Horse Trailer + + + + + KINZE; FARM & GARDEN EQUIPMENT + + + + + Kioti + + + + + Kipco + + + + + Kismet Mfg. Co. + + + + + KISSEL MOTOR CAR COMPANY OR KISSEL INDUSTRIES + + + + + Kit House Trailer + + + + + Kitty Cat (Kit Kat) + + + + + CompanionMfd. by Kit Mfg. Co. + + + + + Klassen Homes, Ltd. + + + + + Klassic Trailer Mfg. + + + + + Kelly-Creswall Co., Inc.Xenia, Ohio + + + + + Klein Products, Inc. + + + + + K Line Trailer + + + + + Klinger Products + + + + + Klimek Welding and ManufacturingMaple Lake, MN; manufactures trailers. + + + + + K-Mart Camper Foldup + + + + + Kawasaki Motors Corp., U.S.A.Santa Ana, CA + + + + + KMG INTERNATIONAL; TANGO TRADE NAME + + + + + K & M Mfg. Co.Renville, Minnesota + + + + + KMN Modern Farm Equipment, Inc. + + + + + Kamasura (U.S.A.) + + + + + Ken-Bar + + + + + Ken Craft Trailer + + + + + King Horse Trailer + + + + + Kingham + + + + + Kingsway Travel Trailer + + + + + Knight Mfg. Corp. + + + + + KNL Holdings, LLC + + + + + Kenworth Northwest, Inc.Seattle, Washington + + + + + Knowles Mfg. Co. + + + + + Knox Homes Corp. + + + + + Kinetic + + + + + Kent Industries, Inc.Bristol, Indiana + + + + + Kodiak Coach & Mfg. Co. + + + + + Master Div., Koehring Co. + + + + + Koehn Mfg., Inc. + + + + + KMMKoffel Machine & Metal Fabricating, Inc. + + + + + Kohler Co. + + + + + Kolberg Mfg. Corp., Subsidiary ofPortec, Inc. + + + + + Komatsu American Corp. + + + + + K & O MANUFACTURING CO., INC.;HULL, IA + + + + + KometicSee Moto Kometik + + + + + Komfort Travel Trailer + + + + + Kompak Camping Trailer + + + + + Komar + + + + + Kon Kwest Mfg. + + + + + Kontiki Camper Trailer + + + + + Kools Brothers, Inc. + + + + + Kory Farm Equipment Div. + + + + + Kosch Co. + + + + + Koster Mfg., Inc. + + + + + King of the Road Trailer Co.Conyers, Georgia + + + + + Kountryaire Travel Trailer + + + + + John R. Kovar Mfg. Co., Inc. + + + + + Kozy Coach Co. + + + + + Kay Park-Rec Corp. + + + + + Krager Kustom Koach, Inc. + + + + + Krause Plow Corp., Inc. + + + + + Kreidler + + + + + Kargo TrailersIvyland, Pennsylvania + + + + + Kris Kraft Mobile Homes + + + + + Kromag (Subs. of Puch) + + + + + Kropf Mfg. Co., Inc. + + + + + Kross KountryLittle Chute, Wisconsin + + + + + Krown Camper + + + + + KRISTI TRAILER INDUSTRIES, INC; CANASTOTA, NY + + + + + Kruz, Inc. + + + + + KASEA MOTORCYCLES + + + + + KTM + + + + + Kubota Tractor Corp.Compton, California + + + + + Kuhn Farm Machinery, Inc. + + + + + Kurmann Trailer Mfg. Co. + + + + + Kurtis Kraft + + + + + Kustom Kraft + + + + + Kut-Kwick Corp.Mfrs. industrial mowers--Brunswick,Georgia + + + + + KUTZ FARM EQUIPMENT; PINE GROVE, PA + + + + + Kenworth Motor Truck Co.Div. of Paccar, Inc. Also includesKenworth Glider. + + + + + Dart, KW + + + + + Kwick Kit Cement Mixer + + + + + K & K Mobile Homes + + + + + Kensington Welding & Trailer Co.Kensington, Connecticut + + + + + KYMCO SCOOTERS & MOTORCYCLES + + + + + KEYSTONE RV COMPANY, GOSHEN, IN. (SPRINGDALE TRAILER MODEL) + + + + + Lady Bea TrailersMalden, Massachusetts + + + + + Lawn Chief + + + + + La Crosse + + + + + Lacey, W.E. & Sons + + + + + Lada (imported from USSR) + + + + + American La FranceDiv. of A-T-O, Inc. + + + + + Lafayette Motor Home + + + + + Lagonda + + + + + Lagusa Motor Coach + + + + + BestrailMfd. by Lakeside Industries + + + + + Lakeland Camper & Mfg.Drayton Plains, Michigan + + + + + LaSalle + + + + + Lambretta + + + + + Lamborghini + + + + + Lane Flatbed Trailer + + + + + Lancer Mobile Homes + + + + + Lanchester + + + + + Landcraft Corp. + + + + + Lane Horse Trailer + + + + + Langley Mfg. Div., M.D. Knowlton Co. + + + + + Landola Homes, Inc. + + + + + Easy RiderMfd. by Landoll Corp. + + + + + Landmaster + + + + + Lanes Pacesetter Trailer + + + + + Lancer + + + + + Landis Steel Co. + + + + + Lanheim, Inc. + + + + + Landau Motor HomeAnaheim, Claifornia + + + + + BrindleLaOtto Metal Fobricating Co., Inc. + + + + + Larado Mobile Homes + + + + + Lark Trailer + + + + + W. F. Larson, Inc. + + + + + Larson Machine, Inc.Princeville, Illinois + + + + + Larsen Lapline Trailer + + + + + Firma LenkoSee Larvin + + + + + LaSalleDiv. Globemaster M.H. + + + + + Laser + + + + + Lake & Shore Camper + + + + + LaSalle HomesDiv. of Tidwell Industries, Inc.,Ripley, Mississippi + + + + + Laverda + + + + + L. A. Woods Co., Inc.Lawrenceville, Illinois + + + + + Lawndale Homes, Inc. + + + + + Lawrence Trailer + + + + + Layton Mfg. Co., Inc.Salem, Oregon + + + + + Layton Homes Corp. + + + + + Lazer + + + + + Lazy J Horse Trailer + + + + + LEBEAU ENTERPRISES; LEXINGTON, NC + + + + + LIEBHERR COMPANIES; CRANES & CONSTRUCTION EQUIPMENT + + + + + LOAD BOSS,INC/CHARLES H BURKETTS AUTORAMA INC; MANNS CHOICE,PENNSYLVANIA + + + + + Lawn BoyMfrd. by Outboard Marine Corp. + + + + + LBTDiv. Fruehauf Corp. + + + + + LIBERTY, INC. MAKER OF TRAV-A LONG TRAILER, LITTLE RIVER,SC + + + + + LONG CHANG; USA ATVS + + + + + L-Cart, Inc. + + + + + L & D TRAILERS INCORPORATED; SIKESTON,MO + + + + + Lazy Daze Motor HomeMfd. in Pomona, California + + + + + LOADMASTER INC; INDIANA + + + + + Load Max Trailers, Ltd. + + + + + Loadmaster Trailer Co., Ltd. + + + + + LOAD TRAIL, INC.; SUMNER, TX + + + + + Leader Horse Trailer + + + + + Lea-Francis + + + + + Lear Siegler, Inc., Hutchinson Div. + + + + + Lechmere Construction + + + + + Lectracan + + + + + Ledwell & Son Enterprises, Inc.Texarkana, Texas + + + + + Lee + + + + + Lee Boy Construction Equipment + + + + + Lee Coaches + + + + + L & E Enterprises + + + + + Leer, Inc.Elkhart, Indiana + + + + + Leesburg Div.Div. of Divco-Wayne Industries + + + + + Leisure Craft + + + + + Leisuretime Motor Home + + + + + Leisure Home TrailerManufacturer-Leisure Time + + + + + Leisure Products, Inc. + + + + + Lektracycle + + + + + Leland Engineering, Inc. + + + + + The Lely Corp. + + + + + Lem + + + + + Lemco Tool Corp.Cogan Station, Pennsylvania + + + + + Lee Enterprises Mfg. Co., Inc. + + + + + Leon Manufacturing Co., Ltd.,(Canada) + + + + + Le Roi Div.Dresser Ind., Inc., Sidney, Ohio + + + + + Lesco, Inc. + + + + + Leisure Manor, Inc. + + + + + Letourneau, R. G. + + + + + Levco Manufacturers, Inc. + + + + + LEVIS MOTORCYCLES; GREAT BRITAIN + + + + + Lewaub Trailer Mfg. + + + + + Lewis-Shepard + + + + + Lexus + + + + + Leyland TractorsBritish Leyland - Dist. by UniversalTractor-Equipment Corp. Richmond,Virginia + + + + + Lifetime Custom Coach + + + + + LafayetteLowboy trailers + + + + + LaforzaUtility vehicle; Hayward, California + + + + + L & G Trailer + + + + + Long Chih Industrial Co., LtdTaipai, Taiwan + + + + + Legendary Luxury Coach, LLC + + + + + LEGEND TRAILERS, INC + + + + + LONGHORN TANK & TRAILER, INC; GRAVETTE, ARKANSAS + + + + + Liberty Coach Co. + + + + + Liberty Travel Trailers + + + + + Liberty Homes, Inc.Goshen, Indiana + + + + + LIBERTY INDUSTRIES; CLAYTON, INDIANA + + + + + Lichty's Blacksmithing, Inc.Silverton, Oregon + + + + + Linco Trailer Home + + + + + Lieber Industries, Inc. + + + + + Liftmaster, Inc. + + + + + Little Giant Crane & Shovel, Inc.Des Moines, Iowa + + + + + Light Equipment Div.Div. of J. I. Case Co. + + + + + Little Giant Products, Inc.Peoria, Illinois + + + + + Lighter-Bilt Trailers, Inc.Durham, California + + + + + Lilac + + + + + Lil' Cat, Inc.Elkhart, Indiana + + + + + Lilliston Corp.Albany, Georgia + + + + + Lil Indian + + + + + Lil'ZManufactured by Zieman Products + + + + + Lincoln-Continental + + + + + Linde + + + + + Lincraft Industries + + + + + LINHAI MOPEDS, POWERMAX; CHINA + + + + + ApacheMfd. by Lindig Mfg. Corp. + + + + + Lincoln Park Mobile Homes, Inc.Shipshewana, Indiana + + + + + Lintzcraft Travel Trailer + + + + + Linville Horse Trailer + + + + + Linwood Mfg., Inc. + + + + + Lional Enterprises, Inc. + + + + + Liftall ForkliftMfg. by Lion Mfg. Co., Inc. + + + + + Little Prospector Motor Home + + + + + Liquid & Bulk Tank Div.Div. of Fruehauf Corp.--Omaha, Nebraska + + + + + Lislet Foundries, Ltd. + + + + + Little Chum Mfg. Co. + + + + + Little Dude Trailer Co.Affiliated with Texas Dude, Inc.(Formerly Texas Royal Mfg. Co.)Fort Worth, Te + + + + + Lift Truck, Inc. + + + + + Little Prince Travel TrailerMfrs. boat trailers + + + + + Little Sport Enterprises + + + + + Littleford Brothers, Inc.Mfrs. rollers + + + + + Lakewood + + + + + Lloyd's Trailer Finishing + + + + + Lloyd + + + + + L & L Trailers + + + + + LMC + + + + + LML Corp. + + + + + L & M Trailer Mfg. + + + + + Lance Truck Mount Camper + + + + + Lancia + + + + + Lincoln Electric Co.Cleveland, Ohio + + + + + London Taxi + + + + + Land Rover + + + + + LA NEW INDUSTRIES, INC; MINNESOTA + + + + + Longhorn Trailers; Also see McKinley Enterprises + + + + + LAND PRIDE FARM & GARDENING EQUIPMENT; MOWERS, ETC. + + + + + LEINARD ALUMINUM BUILDINGS, UTILITY TRAILERS; MT. AIRY, NC + + + + + LONE STAR MANUFACTURING; VALLEY VIEW , TEXAS + + + + + LONE WOLFE + + + + + Load Rite TrailersDiv. of Pennsbury Mfg., Inc. + + + + + Load King Trailer Co.Div. of CMI Corp.--Elk Point, SouthDakota + + + + + LOCKE ENTERPRISES OF NEW YORK, INC; LOCKE,NEW YORK + + + + + Locomobile + + + + + Lodal, Inc.Kinsford, Michigan + + + + + Bushog/Loadcraft (Div. Allied ProductsBrady, TexasCorp.) + + + + + Load Star Corp.Macon, Georgia + + + + + LOAD-EAZ Trailer Inc.Bensalem, Pennsylvania + + + + + Loftness Mfg. Co. + + + + + Logic Motor Co. + + + + + Logan Coach, Inc.Logan, Utah + + + + + Lola + + + + + Lombard + + + + + Lomac Boat Trailer + + + + + Lonaire Mfg. Corp. + + + + + Lone Star Boat Mfg. + + + + + Lone Star Classics + + + + + London Motors + + + + + CrestlaneMfd. by Lonergan Corp. + + + + + F. A. Long + + + + + Long Mfg. N.C., Inc., Const. & Ind. Div.Tarboro, North Carolina + + + + + Longmark Mobile Homes + + + + + Longlife + + + + + Lonnie's Trailer Sales + + + + + Longrun + + + + + Long Trailer Co., Inc.Tarboro, North Carolina + + + + + Loodcraft + + + + + Loprofile Boat Trailer + + + + + Lorain Div.Div. of Koehring Co. + + + + + Lorak, Inc. + + + + + Lotus + + + + + Lovebug Travel Trailer + + + + + J. E. Love Co. + + + + + Low Boy Trailer + + + + + Lowe IndustriesLebanon, Missouri + + + + + Low Pro Custom Trailer + + + + + LORANGER ENTERPRISES, INC.; SAN ANTONIO, TX + + + + + Lori Engineering Corp. + + + + + L & S LINE MFG.; BRISTOL, TENNESSEE + + + + + LEISURE TRAVEL VANS, LTD.; MORDEN, ME + + + + + LEITCHFIELD TRUCK EQUIPMENT, INC,; LEITCHFIELD, KY + + + + + Lubbock + + + + + Luedtke Mfg., Inc.Allenton, Wisconsin + + + + + Lufkin TrailersDiv. of Lufkin Industries--Lufkin, Texas + + + + + Luger Industries + + + + + Lucky + + + + + Lull Engineering Co.Subsidiary N. Marshal Seeburg & Sons,Inc. + + + + + Lundell Mfg. Co., Inc. + + + + + Lundgreen Flatbed + + + + + Luv-It Mfg. + + + + + Luxor-Leffingwell Coach + + + + + Luxury Homes, Inc. + + + + + LONE WOLF TTRAILER CO. INC.; FALKVILLE, AL + + + + + Lyman Metal Products Corp. + + + + + Lyncoach & Truck Co. + + + + + FloTrailMfd. by Lynch Manufacturing + + + + + Lynnton Mfg. Co. + + + + + Lynn-Towtruck + + + + + MacDonald Camper Kit + + + + + McDonald Camper Kit Distributor + + + + + MacDonald's Mobile Homes + + + + + MacGregor Yacht Corp.Costa Mesa, California + + + + + Mack Trucks, Inc. + + + + + MAC-LANDER, INC; OSCEOLA, FL + + + + + Macoma Engineering, Inc. + + + + + Master Craft Industrial Equip. Corp. + + + + + Madden TrailerAshdown, Arkansas + + + + + MADAMI MOTOR SCOOTERS, ETC. + + + + + Del RioMfd. by Madrid Homes + + + + + Mays Enterprises, Inc.Albertville, Alabama + + + + + Magna American Corp. + + + + + Magic Tilt Trailer Mfg. Co., Inc.Boat trailers--Clearwater, Florida + + + + + Magic Touch, Inc. + + + + + Magline, Inc.Pinconning, Michigan + + + + + Magnolia Mobile Homes Mfg. + + + + + Magnolia Travel Trailer + + + + + Magnum Custom Trailer Mfg. Co.Boat utility trailers--Austin, Texas + + + + + Marmon Harrington + + + + + MAHINDRA; TOMBALL,TX;MAKER OF VARIOUS SIZES TRACTORS & OTHER FARM/GARDEN EQUIPMENT + + + + + Mahoning Homes, Inc. + + + + + Mai Mfg. Co. + + + + + Maico (West Germany) + + + + + Mark Line Industries, Inc.Bristol, Indiana + + + + + Mair & Son., Inc. + + + + + Majestic Corp. + + + + + Major Way + + + + + Majestic Rides Mfg., Inc.New Waterford, Ohio + + + + + Mark V Trailer + + + + + Mal Tractor + + + + + Malaguti + + + + + Marathon Le Tourneau Co. + + + + + Malheur Mobile Homes, Inc. + + + + + Malibu Campers + + + + + Mallard Coach Corp. + + + + + Malanca + + + + + Malro USA DistributorsHeber, CA; recreational trailer + + + + + Mallard + + + + + Marliss Industries, Inc. + + + + + Malyette + + + + + MANAC, Inc. + + + + + MANCO PRODUCTS, INC + + + + + Manet + + + + + Mangar Co. + + + + + Manitowc Engineering Co., Inc. + + + + + Mankato Mobile Homes, Inc. + + + + + MANN MADE PRODUCTS INC. TRAILMANN TRAILERS (TRADE NAME) + + + + + Manning, Richard + + + + + Manor Homes, Inc. + + + + + Manatee HomesCommerce, Texas + + + + + Maple Leaf, Inc.Middlebury, Indiana + + + + + Marion Power Shovel Co., IncDiv. of Dresser Ind. + + + + + Marque, Inc.Bristol, Indiana + + + + + Mark Twain Mfg. Co. + + + + + Marbrough Boat Trailer + + + + + Marcos + + + + + Long Haul, TheMfd. by Mark Fore Vatco Ind. (M.F.V.) + + + + + MARINE GROUP LLC; MURFREESBORO, TN (PRO-CRAFT) + + + + + Alexandria Mobile HomeMfd. by Marietta Homes + + + + + Marine Camper Trailer + + + + + Marking Mfg. + + + + + Marshall + + + + + Marmon + + + + + Marion Metal Products Co. + + + + + Marlette Homes, Inc.Marlette, Michigan (formerly MarletteCoach Co.) + + + + + Marathon Homes Corp.Elkhart, Indiana + + + + + Marquette Custom Boat Trailer + + + + + Marlin Mfg. + + + + + Mars Camper Co. + + + + + Martin Trailers, Ltd.St. Laurent, Montreal + + + + + Marusho + + + + + Mar-Val Industries, Inc. + + + + + Marshfield Homes, Inc. + + + + + Mascot Homes, Inc. + + + + + Maserati + + + + + Master Liner Mfg. Co. + + + + + Masterbilt Trailers, Inc. + + + + + MASSON'S WELDING + + + + + MastercraftBryan Metal Products, Inc. + + + + + Massey-Ferguson, Inc. + + + + + Masterline Co., Inc. + + + + + Master View + + + + + Massey + + + + + Matra + + + + + Mate, Inc.Katy, Texas + + + + + Matlock Trailer Corp.Nashville, Tennessee + + + + + Matrette + + + + + Mauldin Mfg. Co., Inc. + + + + + MAUER MANUFACTURER, INC.; IOWA, TRAILERS + + + + + Maurell Trailer + + + + + Maverick + + + + + Maverick Mobile Home + + + + + Maginniss Vibrator Equip Co. + + + + + Marvell Mobile Home + + + + + Marvin Landplane + + + + + Maxcraft Trailer Mfg. + + + + + Maxey Mfg., Inc. + + + + + Maxim Ind., Inc.Mfr. of Maxim Fire Trucks, Middleboro,Massachusetts + + + + + Maxwell + + + + + Maxon EagleMfd. by Maxon Industries, Inc. + + + + + Mayfair Mobile HomeDiv. of DeRose Ind., Inc.,Indianapolis, Indiana + + + + + Maybach (Brand within Mercedes-Benz) + + + + + Mayco Pump Corp.Los Angeles, California + + + + + Mayflower Trailers or Homes + + + + + Mayrath Industries, Inc. + + + + + Mays Industries, Inc.Boaz, Alabama + + + + + Mazda + + + + + McBurnie Coach Craft, Inc. + + + + + M-B Co., Inc. of Wisconsin + + + + + MOBILE CONCEPTS BY SCOTTY; MT. PLEASANT, PA + + + + + Motobee + + + + + Mobile InternationalTulsa, Oklahoma + + + + + Mobile Traveler + + + + + M.B.M. + + + + + Mobile Traveler + + + + + M-B-W, Inc. + + + + + M. P. McCaffrey + + + + + MCCLOSKEY BROTHERS MANUFACTURING; CANADA LIT.ONTARIO + + + + + McCain Industries + + + + + McCabe-Powers Body Co. + + + + + McCook Mfg. Co. + + + + + McClain Trailer Mfg. Co.Boat trailers--Houston, Texas + + + + + McCrabb Mfg., Inc.West Liberty, Iowa + + + + + McCoy Mfg. & Sales Co. + + + + + McCarthy Trailers + + + + + McCulloch Mite-E-Lite, Inc.,McCulloch Corp. + + + + + McClenny Machine Co. of Virginia, Inc.Suffolk, Virginia + + + + + McFarlane Mfg. Co., Inc. + + + + + MCIsee Motor Coach Industries, Inc. + + + + + John A. McKay + + + + + Mack Trailer Mfg. Co., Inc.Detroit, Michigan + + + + + McKay Mfg. Co., Inc. + + + + + McNamee Coach Corp. + + + + + MCN Mobile Homes Corp. + + + + + McCollough CorporationBrookfield, MO + + + + + MECOX RESOURCES SA DE CV; MEXICO + + + + + McCoy/Taylor, Inc. + + + + + McQuerry Tan Trailer + + + + + McQuerry Horse Trailer + + + + + McCord Manufacturing Co. + + + + + Mc Kee Roughrider + + + + + MID AMERICA MFG.; INC.; BERTRAND, MO + + + + + MODULAR SYSTEMS, INC; INDIANA + + + + + Modena + + + + + MDS + + + + + Mid States Camping Trailer + + + + + M-D Trailer Co.Fort Worth, Texas + + + + + Meade + + + + + Mean + + + + + MEB TRAILER SALES; WALNUT RIDGE, ARKANSAS + + + + + Mech Handling Co. + + + + + Medallion Mobile Homes + + + + + Medford Industries + + + + + Medical Coaches, Inc. + + + + + Meitian Motorcycle Co., Ltd. Or Shanghai Meitian Motorcycle Co., Ltd. + + + + + Melmar Motor Home + + + + + Melges Boat Works, Inc.Zenda, Wisconsin + + + + + Melmak Motor Home + + + + + Melody Home Mfg. Co. + + + + + Bobcat Skid Steer LoaderManufactured by Melroe Div. + + + + + Macanismos Ensamblados S. A. De C. V.Mexico; tank trailers + + + + + Mercury Boat Co. + + + + + MercurySee Mercury Marine + + + + + Mercury Coach Corp. + + + + + Merritt Equipment Co.Portland, Oregon + + + + + Merkur + + + + + CharismaMfd, by Merrimac Corp. + + + + + Mercury Trailer Industries + + + + + Merit Tank & BodyBerkeley, California + + + + + Merhow Industries + + + + + Merry Mfg. Corp.Marysville,Washington--mfrs. cultivators + + + + + Mercedes-Benz + + + + + Mesa III Travel Trailer + + + + + Messerschmitt + + + + + Metal Craft ManufacturingGreenville, North Carolina + + + + + Meteor (Canadian Mercury) + + + + + Mercantile Mfg. Co., Inc. + + + + + Metoo Travel Trailer + + + + + Metropolitan + + + + + METAVIC TRAILERS; ST. PIERRE-BAPTISTE, QUEBEC CANADA + + + + + Metzendorf Trailer Mfg. + + + + + Meyer Morton Co. + + + + + Meyer Mfg. Corp. + + + + + Metal Fabrication, IncWinchester, TN + + + + + MG + + + + + M.G.M., Inc. + + + + + Magnum ManufacturingHarrisburg, OR; recreational vehicles + + + + + Mgnol Tandem Boat Trailer + + + + + MONGOOSE TRAILERS;TEXAS + + + + + MGS, Inc. + + + + + EBY, M.H., Inc.Blue Ball, Pennsylvania + + + + + Blair HouseMfd. by Manufactured Housing ManagementCorp. + + + + + Michalke Mfg. Corp. + + + + + Micro Concept Cars + + + + + Michigan Central Airlines + + + + + Mid-Atlantic Homes Co. + + + + + Mid-Cal Forklift, Inc. + + + + + Middlesex Equipment Co. + + + + + Midway Engineering Co. + + + + + Midwest Industries, Inc.Ida Grove, Iowa + + + + + CapellaMfd. by Midland Industries, Inc. + + + + + Midmark + + + + + Mid-Equipment Corp. + + + + + Midas International Corp. + + + + + Midwest Mini-Tote Co.Muskego, Wisconsin + + + + + Midwest Mobile Homes & Trailer Mfg. Co. + + + + + Mitsubishi FUSO Truck of America, IncFor vehicles with gross vehicle weight(GVW) of over 7,000 pound + + + + + Mikasa + + + + + Mikrus + + + + + Miller Electric Mfg. Co.Manufactures arc welders + + + + + Millan Flatdeck + + + + + Milco Tank & Boat Co. + + + + + Miller & Smith + + + + + Miller Trailers Inc.Bradenton, Florida + + + + + Miller Equip. Div., Miller Equip. Co + + + + + Miller Tilt-Top Trailer Inc.Milwaukee, Wisconsin + + + + + Milwaukee Electric Tool Corp. + + + + + ExhibitorMfd. by Miley Trailer Co., Inc. + + + + + Minneapolis-Moline (MOTEC), Inc. + + + + + MILLER INDUSTRIES, INC., OOLTEWAH, TENNESSEE + + + + + Miniscooter + + + + + Minelli + + + + + Mirage Motorhomes, Inc. + + + + + Mistral + + + + + Mitchell Camper Trailer + + + + + Mitchell Industrial Tire Co., Inc.Chattanooga, Tennessee + + + + + Mitsubishi + + + + + Mitts-Merrill, Inc. + + + + + MI-JACK PRODUCTS; HAZEL CREST, IL + + + + + MJM Enterprises, Inc. + + + + + M.J.M. Trailer Mfg., Inc. + + + + + McKee Farm Technologies, Inc. + + + + + MK 5-1400 Motor Home + + + + + MLBLT + + + + + MILLENIUM TRAILERS, INC.; ADDISON, AL + + + + + Miller + + + + + Moling Corp. and Car King Dolly Trailers + + + + + Melroe Tractor Truck + + + + + Multition Hydraulic Truck + + + + + MULTITEK, INC; PRENTICE, WI TRAILER & CONST EQUIP + + + + + Mobilux + + + + + Mini-Marcellino + + + + + Milwaukee Motorcycle Co. + + + + + M & M Mfg. Co. + + + + + Monaco Motor Home + + + + + Monarch (Sweden) + + + + + MOND INDUSTRIES, INC.MISSISSAUGA, ONTARIO, CANADA; PURCHASED BY TRAILMOBILE IN 1999 TRAILEMOBILE IN + + + + + Main Line, Inc. + + + + + MINI DIVISION OF BMW MAKER OF COOPER & COOPER-S + + + + + Monarc + + + + + Monark + + + + + Monroe Motors Inc., Wally-Mo DivisionHolladay, Tennessee; manufactures carcarriers and utility trail + + + + + MONSOON (ATV'S) ALL TERRAIN VEHICLES + + + + + MantaSee Three R Industries, Inc. + + + + + Montebello Mobile Home Trailer + + + + + Montgomery, Bill + + + + + Monte Aluminum Trailer Dump + + + + + Mobilaire Mobile Homes + + + + + Mobile Chapel Trailer + + + + + Moto Beta + + + + + Mobile Freeze + + + + + Mobile Engineering Co. + + + + + Mobile Facility Engineering Co. + + + + + Motobic + + + + + Mobile Garage Mfg. Co. + + + + + Mobile Holding Corp. + + + + + Mobile Home Co. + + + + + Mobile Home Service + + + + + Mobile Mfg. Corp. + + + + + Mobile of Marysville + + + + + Mobile Office, Inc. + + + + + Mobile Products, Inc. + + + + + Mobile Scout Mfg. Corp.Arlington, Texas + + + + + Cinderella Mobile HomesMfd. by Mobile Structures, Inc. + + + + + Mobile Tops, Inc. + + + + + Mobile Unit Mfg., Inc. + + + + + Mobilemanor, Inc. + + + + + Monte Carlo Mobile Homes + + + + + Mobley Metal Works + + + + + Motocicletas Carabela SA + + + + + Mod Cycles Corp. + + + + + Model A and Model T Motor CarReproduction Corp. + + + + + Modern Mobile Homes + + + + + Modernistic Industries + + + + + LamplighterMfd. by Moduline International, Inc. + + + + + Modern + + + + + MODERN, INC. TEXAS + + + + + Module, Inc. + + + + + MOFFETT ENGINEERING, LTD; FORKLIFTS ETC + + + + + Morgan Equipment Co. + + + + + Moto Guzzi (Italy) + + + + + Mohawk, Inc. + + + + + Mobile Home Industries, Inc.Tallahassee, Florida + + + + + Mojave + + + + + Molloy Mobile Crafts + + + + + Mobility, Inc.Minneapolis, Minnesota + + + + + Moto Morini + + + + + Monarch + + + + + Monarch Boat Co.Camper Division + + + + + Daytona Mobile HomesMfd. by Monarch Industries + + + + + Mondial + + + + + Lac St-Jean Motoneige, Ltd.See Montagnais + + + + + Monarch Mobile Homes + + + + + Monitor Coach Co. + + + + + Monon Trailer Div.Div. of Evans Products Co.--Monon,Indiana + + + + + Mono + + + + + Monroe Tractor + + + + + Monson & Sons Trailer + + + + + Monte + + + + + Montgomery Mfg. Co. + + + + + Monticlaire Mobile Homes + + + + + Montone Mfg. Co.Hazelton, Pennsylvania + + + + + Moody Mfg. Co. + + + + + Moore Equipment Co. + + + + + GrasshopperMfd. by Moridge Mfg., Inc. + + + + + Moretti + + + + + Morgan + + + + + Morris Brothers + + + + + Morgan Mobile, Inc. + + + + + Morgan Trailer Mfg. CoMorgantown, Pennsylvania + + + + + Morris + + + + + Morse Horse Trailer + + + + + Moritz, Inc.Mansfield, Ohio + + + + + Moto Rumi + + + + + Morger Welding & Mfg., Inc.Bakersfield, California + + + + + MoserSee also Vim Trailer + + + + + Moskovitch + + + + + Mobile Sweeper Div.Div. of Athey Products Corp. + + + + + Motoc Semi Flatbed Trailer + + + + + MOTOBECANE; SCOOTERS & CYCLES + + + + + Motel Mobile Corporation of America + + + + + Motom + + + + + Classic (model of Motron) + + + + + Motoroam Industries, Inc.Galva, Illinois + + + + + Mo Trailer Corp.Goshen, Indiana + + + + + Montesa (Spain) + + + + + Mount Vernon Mobile HomeDiv. Concord Mobile Homes + + + + + Mountain Valley Enterprises + + + + + Mountain View Campers + + + + + Mountaineer Mfg. Co. + + + + + Mountain Manufacturing Co., Inc. + + + + + Montgomery Ward - Snowmobiles + + + + + Mowett Sales Co., Inc. + + + + + MPC Cruiser Camper Trailer + + + + + Marauder Travelers, Inc. + + + + + Marco + + + + + M & R Enterprises, Inc., or Honeysuckle Enterprises, Inc. + + + + + Mercury (See Mercury Marine) + + + + + Mr. Ed. Boat Trailer + + + + + JamaicaMfd. by Marion Homes, Inc. + + + + + Marion Trailer SalesMarion, Indiana + + + + + MARINE TRANSPORTATION CO., INC.; NORWELL, MA + + + + + Marquez Mfg., Ltd.Sunnyside, Washington + + + + + Murray Marine Corp. + + + + + M-R-S Manufacturing Co. + + + + + Motorette + + + + + Martin Lowboy Semi Trailer + + + + + MARTINS ENTERPRISES; DONALDS, SC + + + + + Martinez Trailer + + + + + Massey-Ferguson, Inc.Des Moines, IA + + + + + M-System, Inc. + + + + + MUSTANG; CONSTRUCTION EQUIPMENT ETC. + + + + + MASTER TOW INC. FAYETTEVILLE, NC + + + + + + Lemoped (model of Motobecane) + + + + + Matchless + + + + + Mississippi Tank Co., Inc.Hattiesburg, Mississippi + + + + + Lawn FliteMfd. by MTD Products, Inc. + + + + + MIGHTY MOVER TRAILERS, INC; CALIFORNIA + + + + + Maxwell Trailers & Pickup AccessoriesMexico, MO + + + + + ColumbiaSee MTD Products, Inc. + + + + + C & C IndustriesMfg. of Master Track F.B. Trailer;Gaithersburg, MD + + + + + TRAILERS DE MONTERREY, S.A. NUEVO LEON, MEXICO + + + + + M.T. Trailers, Inc. + + + + + Mud Cat Div., National Car RentalSystem, Inc. + + + + + Muhlberg + + + + + Multech Corp.Canton, South Dakota and Souix City,Iowa + + + + + Muller Machinery Co.Metuchen, New Jersey + + + + + Multiquip + + + + + Multi Trailer + + + + + Muncy Homes, Inc.Muncy, Pennsylvania + + + + + Muntz + + + + + Murena + + + + + Carry-AllScrapers, rooters and chisels--mfd. byMurray Mfg. Co. + + + + + Murphy Engineering Co., Inc. + + + + + Murray Ohio Manufacturing Co.Brentwood, Tennessee + + + + + Murray TrailersCaldwell, Idaho + + + + + Mustang Trailer Mfg., Inc.Quitman, Arkansas + + + + + Mustang + + + + + Muv-All Trailers Multech Corp. + + + + + M.V. Agusta + + + + + Marine Venture Enterprisers, Inc.Baltimore, Maryland + + + + + Mid-West Choppers, Inc. + + + + + M & W Gear Co., Inc. + + + + + M & W Mfg. Co. + + + + + Martco Waste System Equipment + + + + + MAX-ATLAS EQUIPMENT INTERNATIONAL, INC.; ST-JEAN-SUR-RICHELIEU, QUEBEC CANADA + + + + + Myco Industries + + + + + Mayfairer Motor Home + + + + + My-Way Corp.Longwood, Florida + + + + + MZ + + + + + Mzma + + + + + Nabors Trailers, Inc.Mansfield, Louisiana + + + + + National Crane Corporation, Subsidi-ary of Walter Kidde & Co., Inc. + + + + + Nash-Healy + + + + + N & Ha Mfg. Co. + + + + + Namco., Inc. + + + + + Nardi-Danese + + + + + Nasan Trailer + + + + + Nash + + + + + Nash Mfg. + + + + + Nashua Mfg. Co. + + + + + National Mobile Homes + + + + + Nationwide + + + + + Navistar + + + + + Navajo Horse Trailer + + + + + NORTHERN BAY CO. INC. ; PENOBSCOT, ME + + + + + NISSAN DIESEL MOTOR CO. + + + + + Neal Mfg. Co., Inc. + + + + + New Bame Trailer + + + + + Neckar + + + + + Neckover Trailer Mfg. Co.Troup, Texas + + + + + NEDLAND INDUSTRIES, INC.; RIDGELAND, WI + + + + + Harvard (model of Negrini) + + + + + New Holland Haybine + + + + + Nallej of Florida + + + + + Nelson-Dykes Co. + + + + + Nelson Mfg. Co.Ottawa, Ohio + + + + + Neoplan USA CorporationLamar, CO; transit buses + + + + + Neosho Custom Coach Co.Div. Gearhart's Building Materials + + + + + Neptune Corp. + + + + + Nerco Trailer + + + + + Karl M. Neufeld + + + + + Nevada Air Products Co. + + + + + Nevadan Mfg. Co. + + + + + Neville Welding, Inc. + + + + + Nevlen Company Inc.Wakefield, Massachusetts + + + + + Neval Motorcycles Ltd. + + + + + New Comer Industries, Inc.Goshen, Indiana + + + + + New Dimension + + + + + New England Homes or Trailers + + + + + Sperry New HollandDiv. Sperry Corp., New Holland,Pennsylvania + + + + + New Idea Electric Lawn Garden Tractor + + + + + New Yorker Homes Corp. + + + + + Newell Coach Corp.Miami, Oklahoma + + + + + Newham Enterprises + + + + + Newman Trailers + + + + + Newport Homes, Inc. + + + + + New Style Homes, Inc.Pineville, Missouri + + + + + New Paris Traveler Corp.New Paris, Indiana + + + + + Enfield India LimitedMadras, India + + + + + New Flyer + + + + + New Horizons or Horizons, Inc. + + + + + Northern Hydrolics, Inc. + + + + + Niagara Trailer Co. + + + + + Niceson Boat Trailer + + + + + Nichols Mfg. Co., Inc. + + + + + Nickel & HolmanFenton, Michigan + + + + + NICHOLS CUSTOM WELDING; HOME OF NICHOLS TRAILERS; FARMINGTON, ME + + + + + Nimrod Tent Trailer + + + + + Nissan + + + + + Nobility Homes, Inc.Ocala, Florida + + + + + Noble Cultivators Ltd. + + + + + North Country + + + + + Hauler-TrailerMfd. by Nodine Mfg. + + + + + Nordic + + + + + Noel Mfg. + + + + + Nolena Foster Trailer + + + + + Nomad Trailers & Mobile HomesDewey, Oklahoma + + + + + Nomanco, Inc. + + + + + Northwestern Motor Co.Subsidiary Fairmont Railway Motors, Inc. + + + + + Norcal Boat Trailer + + + + + Nordine Mfg. Co. + + + + + Northwest Engineering Co. + + + + + Norris Homes, Inc. + + + + + Norjack, Incl + + + + + Norman + + + + + North American Mfg. Co. + + + + + North American Shipbuilding + + + + + Northern Cruisers + + + + + Norse Trailer + + + + + Norton (England) + + + + + Northern Star Mobile Home + + + + + NorthlandMagline, Inc. + + + + + Northwest Trailers + + + + + Northwestern Mobile HomesDiv. Rainway Manufacturing Company + + + + + Nothsway Tandem Trailer + + + + + NOVA FABRICATING, INC.; AVON, MN + + + + + NorthwaySee Northway Snowmobiles + + + + + Northway Trailer + + + + + North River HomesHamilton, Alabama + + + + + NORTHWOOD OF VIRGINIA; WINCHESTER VIRGINIA + + + + + Norwin Trailer + + + + + Nsu Prinz + + + + + Nsu-Fiat + + + + + NU-CENTURY; MADERA, CA + + + + + Nuell Coach Corp. + + + + + Nu-Life Environmental, Inc. + + + + + Number One + + + + + Nuttall Trailers + + + + + Nu-Wa Campers, Inc. + + + + + NuWay Mobile Home Mfg. Co. + + + + + NUWA Horizon Camper Trailer + + + + + Novae Corp. + + + + + NVT America (moped) + + + + + Northwest Custom TrailerRochester, Washington + + + + + New McGrath + + + + + NEWMAR CORPORATION; NAPPANEE, IN_ + + + + + Oak Coach Co. + + + + + Oakland + + + + + Oasis Travel Trailer + + + + + Oberlin Trailers, Inc. + + + + + Obrect Trailer + + + + + Orange County Choppers + + + + + OCI MANUFACTURING CO.; OREGON, IL + + + + + Ockelbo Industry AB + + + + + CLASSIC MANUFACTURING, INC. OR OWENS-CLASSIC MANUFACTURING, INC.; STURGIS, MI + + + + + ArgoSee Onatario Drive & Gear Ltd. + + + + + Odom Boyd Trailer Mfg. Co.Conroe, Texas + + + + + Odyssey + + + + + Odyssey Trailer Co. + + + + + Oelrich Mfg. Co. + + + + + Office Master, Inc.Hampshire, Tennessee + + + + + Officer, TheElkhart, Indiana + + + + + Ogle + + + + + Ohio Body Mfg. Co.New London, Ohio + + + + + Ohta + + + + + OK Horse Trailer + + + + + Oklahoma Horse Trailer + + + + + Oklahoma Trailer, Inc.Mfrs. boat trailers--Kingfisher,Oklahoma + + + + + Olathe Mfg. Co., Inc. + + + + + Oldsmobile + + + + + Olds Trails Trailer + + + + + Olgen Mfg. Co. + + + + + Oliver + + + + + Olson + + + + + Olympia Motor Home + + + + + Olympic Trailers + + + + + Omaha Standard Flatbed Trailer + + + + + BOAT TRAILERS, WAUKEGAN, ILLINOIS + + + + + OMC JohnsonBoat trailers--Waukegan, Illinois + + + + + Omega (Italian) + + + + + Omsteel Products Corp. + + + + + Onan Corp.Minneapolis, Minnesota + + + + + Oneida Coach Mfg.Grand Ledge, Michigan + + + + + Ono, Inc. + + + + + Ontario Bus Industries, Inc.Mississauga, Ontario, Canada; bus. + + + + + ONYX FLYER + + + + + BolensMfd. by Outdoor Power Equipment Div.,FMC + + + + + Opel (imported by Buick) + + + + + Open Road Industries + + + + + Open Roadsters of Texas + + + + + Opel + + + + + Open Road Campers, Inc. + + + + + Optima Ind., LLC + + + + + Orbit Industries, Inc. + + + + + Orcon Incustries + + + + + MANGMfd. by Oregon Mfg. Co., Inc. + + + + + Original Equipment Manufacturing, LTD.Sudbury, Ontario + + + + + Oriole Trailer Mfg. Co. + + + + + Orlando Boar Co. + + + + + Orthman Mfg., Inc. + + + + + Osage Trailer Mfg. Co., Inc. + + + + + C. D. Osborn & SonGrand Rapids, Michigan + + + + + Osca + + + + + Oshkosh Motor Truck Co. + + + + + Osi + + + + + Ossa (Spain) + + + + + Oshkosh Trailer DivisionBradenton, FL; manufactures trailers + + + + + Otasco + + + + + OUTLAW TRAILER, MFG.; ST. JOSEPH, MO + + + + + Otosan + + + + + Outdoor Power Equipment + + + + + Otterbacher Mfg., Inc.Crestline, Ohio + + + + + Ottawa Truck, Inc. + + + + + Outdoor Equipment + + + + + EvinrudeSee Outboard Marine Corporation + + + + + OBERBILT TRAILER COMPANY DRUMRIGHT, OK + + + + + Overland Mfg. Co. + + + + + Overland + + + + + Over-Lowe Co. + + + + + Owatonna Manufacturing Co., Inc. + + + + + Owen Div., Anvil Attachments, Inc. + + + + + Mighty MidgetMfd. by Owens-Classis, Inc. + + + + + Ownahome, Inc. + + + + + Owens Mfg. Co. + + + + + Ozark Trailer & Mobile Homes + + + + + OZBIKE; CYCLE IMPORTS; MIAMI,FL + + + + + Pacemaker Boat Trailer + + + + + Pacemaker Mobile Homes & Travel TrailerDiv. Lonergan Corporation + + + + + Pacemaker + + + + + Pacific Campers + + + + + Packard + + + + + Pacesetter + + + + + Panda Motor Home + + + + + Padgett, Inc. + + + + + Page Engineering Co. + + + + + Page Trailer + + + + + Pagsta + + + + + Paccar IncorporatedBellvue, WA + + + + + Paris + + + + + Paiute Trailers + + + + + Parkhurst Mfg. Co., Inc.Sedalia, Missouri + + + + + Pak-Mor Mfg. Co. + + + + + Pal Mfg. Co., Inc. + + + + + Palace Corp. + + + + + Palliser (racing car) + + + + + Palm Trailers + + + + + Palmetto Sales of Laurens + + + + + Palamino Camping Trailer + + + + + Palmer Machine Works, Inc.Armory, Mississippi + + + + + Pama Camper + + + + + Pamco Trailer + + + + + Pace American, Inc.White Pigeon, Michigan (throughMarch, 1988)Middlebury, Indiana (EffectiveApril, 1 + + + + + PACE AMERICAN OF UTAH, INC.; HURRICAN UTAH + + + + + Pan American Mobile HomesDiv. of Divco-Wayne Industries + + + + + PANDA MOTOR SPORTS NORTH AMERICA, INC. + + + + + Panther Westwinds, Ltd. + + + + + Panhard + + + + + Pannonia + + + + + Panorama Homes, Inc. + + + + + Panther + + + + + Panoz Auto Development Co. + + + + + Paris Trailer Co. + + + + + Pardonnet Mfg. Co.Livonia, Michigan + + + + + Park Estates Homes + + + + + BunkhouseModel of Siesta--mfd.by Park Homes, Inc. + + + + + Parilla + + + + + Park Lane Mobile Homes + + + + + Park Royal + + + + + Parmiter, P. J. & Sons Ltd. + + + + + Pace Arrow + + + + + Park Trailer Corp. + + + + + Parker + + + + + ParkmasterDiv. American Sterling Enterprises + + + + + Part (Generic Code--for use onlywhen manufacturer is not listed) + + + + + Parkway Mfg. Co. + + + + + Parkwood Homes, Inc. + + + + + Parkwood Mobile Homes of Florida + + + + + PERFECTION ARCHITECTURAL SYSTEMS, INC.; BOYNTON BEACH, FL + + + + + Parson Co. Div.Div. of Koehring Co. + + + + + Pasquali, USAVerona, Wisconsin + + + + + Passport + + + + + Pastime Mfg. Co. + + + + + Pathfinder Mobile Homes + + + + + Patz Co. + + + + + Paughco, Inc.Carson City, NV + + + + + Pauli Cooling Systems, Inc. + + + + + Pacific Boat Trailers, Inc.Anaheim, California + + + + + PCM Div.Div. of Koehring Co. + + + + + PARIS CUSTOM TRAILER CO.; TEXAS + + + + + P/D + + + + + Pederson + + + + + PDV + + + + + Peabody Solid Waste Management + + + + + Peace + + + + + PEAK MANUFACTURING, INC. NORTH BATLEFORD, SK CANADA + + + + + Ben Pearson Mfg. Co., Inc. + + + + + Peco, Inc. + + + + + Pennstyle Campers, Inc. + + + + + Pedalpower Electroped + + + + + Peddlers Choice + + + + + Peek + + + + + Peel + + + + + Peerless + + + + + Pegaso + + + + + Pelican Aluminum Mfg. + + + + + PEMBERTON FABRICATORS, INC.; RANCOCAS, NJ + + + + + Pennsbury Manufacturing CorpBensalem, PA; boat trailers + + + + + Pennco Industries, Inc.Subsidiary of DEC International, Inc.--Warren, Pennsylvania + + + + + Pendlay + + + + + Peninsula Camper Mfg. + + + + + J. C. Penney + + + + + Pennsylvania Furnace and IronMfrs. tankers--company bought out byDairy Equipment, Madison, Wisconsin + + + + + Penton (KTM--Austria) + + + + + Penn-Cupit Industries Ltd. + + + + + PEQUAGordonville, Pennsylvania + + + + + I.B. Perch Co. + + + + + Performance Products, Inc. + + + + + Peerless DivisionDiv. of Lear Siegler--Tualatin, Oregon + + + + + Perma Tent Camper + + + + + Perone Trailer + + + + + Perris Valley Campers + + + + + Peerless International Co., Inc. + + + + + Peterson + + + + + Pettibone Michigan Corp., SubsidiaryMercury Mfg., Co. + + + + + Peter Pirsch & Sons Co.Kenosha, Wisconsin + + + + + Pettibone Mercury, SubsidiaryMercury Mfg. Co. + + + + + Peugeot + + + + + Pfaudler Co. + + + + + PEGASUS VANS & TRAILERS, INC SANDUSKY, OH + + + + + Pilgrim Intl., Inc. + + + + + PEAGUSAS + + + + + P & H + + + + + Phelan Mfg. Co.Nashville, Tennessee + + + + + Phelps Horse Trailer + + + + + Phillips TrailersChickasha, Oklahoma + + + + + Phill Trailer + + + + + Phillips Mfg. Co., Inc.Lehi, Utah + + + + + Philift Equipment Sales Co. + + + + + Phoenix + + + + + Piazio + + + + + Pick-Up Top Mfg. + + + + + Pickwick + + + + + PiedmontDiv. of Concord Mobile Homes + + + + + Pierce Lowboy Trailer + + + + + Pike Trailer CoSouth Gate, California + + + + + Pilgrim Mfg. Co. + + + + + Pincor Products + + + + + Pines Trailer CorpChicago, Illinios + + + + + Pinifarina + + + + + Pinson Truck Equipment Co. + + + + + Pinto + + + + + Pioneer Coach Mfg. + + + + + Pioneer Sales & Mfg. Co. + + + + + Pipestone Tandem Boat Trailer + + + + + Piper Industries, Inc. + + + + + Piqua Engineering, Inc. + + + + + Pierce Mfg., Inc.Mfr. of Pierce Duplex,Appleton, Wisconsin + + + + + Pitman Div., Emerson Electric Co. + + + + + Pitman Brothers Co. + + + + + Pitman Div., A. B. Chance Co. + + + + + Pittsburgh Forging Co., Farm ToolsDiv. + + + + + John Pitzer Mfg. Co.Glenwood, Iowa + + + + + Pixie Piker Travel Trailer + + + + + P.J. Trailer Manufacturing, IncSumner, TX; utility trailer + + + + + Lindsay Co., Inc., P. K.Deerfield, New Hampshire + + + + + Plastic Engs. & Consultants + + + + + Plattsburg Mfg. + + + + + Plains Industries, Inc. + + + + + Play-Mor Trailers, Inc.Westphalia, Missouri + + + + + Playmate Coaches + + + + + Planet Plows, Inc. + + + + + Plastic Forming Co. + + + + + Platt Trailer Co. + + + + + Playboy + + + + + Pleasure Homes Mfg. + + + + + Pleasureway Mfg. + + + + + Pleasuremate Industries + + + + + PALM AIRE, INC.; ELKHART, IN + + + + + Poloron + + + + + PLATINUM MANUFACTURING LLC; OKLAHOMA CITY, OK + + + + + Playcat Industries, Inc.Polar BearSee Raybon Manufacturing CompanyPolar Bear/Whip ItSee Raybon Manuf + + + + + Plymouth + + + + + PINE-HILL MANUFACTURING, CO.; GAP, PENNSYLVANIA + + + + + Penn Trailer + + + + + Panterra + + + + + PANZER MOTORCYCLE WORKS, LLC COLORADO + + + + + Poclain Div., J. I. Case + + + + + Pointer-Willamette + + + + + Pointer + + + + + Poirier + + + + + Polar Mfg. Co.Holdingford, Minnesota + + + + + Raybon Manufacturing CompanyWallingford, CT + + + + + POLINI MOTORCYCLES + + + + + Pollock Industries + + + + + Poloron ProductsMfrs. riding mowers--Harrison, New York + + + + + Poloron Homes of Pa., Inc.Middleburg, Pennsylvania + + + + + E-Z-GoSee Polaris Industries Inc. + + + + + Ponderosa Homes, Inc. + + + + + Ponderosa Industries + + + + + Pontiac (Canadian) (Also see makePontiac) + + + + + Pontiac + + + + + Ponycycle + + + + + Poole, Inc. + + + + + Por Trailer + + + + + Portable Elevator Mfg. Div.,Dynamics Corp. of America + + + + + Pioneer Div., Portec, Inc. + + + + + PORTA-DOCK, INC + + + + + Portable Structures + + + + + Porta-Kamp Mfg. + + + + + Portland Wire & Iron Works + + + + + Porsche + + + + + Porta-Built Industries + + + + + Powerline ProductsDiv. of White Oak, Inc.--Washington,Indiana + + + + + Powell + + + + + Powell Mfg. Co., Inc. + + + + + Power Curber, Inc. + + + + + Prairie Schooner + + + + + PRESTON AMUSEMENTS, INC.; ALVARADO, TX + + + + + Prarie Schooner, Inc.Elkhart, Indiana + + + + + PRATT INDUSTRIES, INC.; BELLEAIR BLUFFS, FL + + + + + Pierce Arrow + + + + + Precision Cycle Works + + + + + Prebuilt Mfg. + + + + + Keel-HaulerMfd. by Precision Deburring &Fabricating, Inc. + + + + + Pre-Built Structures + + + + + Premier + + + + + Prevost Car, Inc.Mfrs. of "Prevost Bus"--Sainte Claire,Quebec, Canada + + + + + Presidential Mobile HomesDiv. U. S. Aluminum Company + + + + + Presvac Systems (Burlington) Ltd. + + + + + Prew Proco Travel Trailer + + + + + Parkhurst + + + + + ElktonMfd. by Price-Meyers Corp. + + + + + Pride & Joy Mini Motor Home + + + + + Prime Mover + + + + + Princess Homes + + + + + Prior Products, Inc.Dallas, Texas + + + + + Private CoachDiv. F & L Construction + + + + + Pines Trailer Corp.Pine Grove, Pennsylvania + + + + + PRO LITE TRAILERS; PECULIAR, MISSOURI + + + + + PREMCO PRODUCTS, INC.; LA VERNE, CA; TRIPLE L TRIALERS + + + + + Prince Motors + + + + + Pro One + + + + + Progress + + + + + PRO LINE TRAILERS; COCOA, FL + + + + + Promark Products Corp. + + + + + LES MACHINERIES PRONOVOST, INC; CANADA + + + + + Pro-Trail, Inc.Nashville, Tennessee + + + + + Prowler Industries + + + + + Prestige Custom TrailersChristopher,I1 + + + + + Prestige HousingConway, Arkansas + + + + + PROTAINER, INC; PROTRAILER (TRADE NAME) ALEXANDRIA, MN + + + + + Port Trailer Mfg. Co.City of Industry, California + + + + + Pryer Industries (Ada, Ohio) + + + + + Pure Steel Custom Cycles, Inc. + + + + + Peterbilt Motors Co.Div. of Paccar, Inc. + + + + + PRO-TRAK TTRAILERS, INC.; CANTON, TX + + + + + IndependenceMfd. by Patriot Homes, Inc. + + + + + PTV + + + + + Puch + + + + + Puckett Brothers Mfd. Div. Co. Inc.Lithonia, Georgia + + + + + Pull-Do Trailers + + + + + Pull A Long Mfg. & Sales + + + + + Pullers Pride, Inc., or Murphy's Welding + + + + + Puma Camper SalesDiv. American Sterling Enterprises + + + + + Puma + + + + + Puzey Bros., Inc.Fairmont, Illinois + + + + + Power Dyne + + + + + POWER TRAC MACHINERY + + + + + PW Trailer + + + + + Pyle Haul-It-All Flatbed + + + + + Pyramid Mobil Homes + + + + + QE Mfg. Co., Inc.New Berlin, Pennsylvania + + + + + CHINA QINGQI GROUP, INC; MOTORCYCLES, MOPEDS, SCOOTERS, ETC + + + + + Qianjiang Motorcycle Group Corp. + + + + + QUALITY BUILT TRAILER, INC.; NEW MARKET, TN + + + + + Quality Steel & Aluminum Products + + + + + Quaker City Iron Works, Inc.Philadelphia, Pennsylvania + + + + + Quality Trailer + + + + + Quickload + + + + + QUIK MANUFACTURING, CO; FOUNTAIN VALLEY, CA + + + + + Quincy Compressor Div.Colt Ind, Inc., Quincy, Illinois + + + + + QUALITY MFG. CO., INC.; ROME, NEW YORK + + + + + Qvale Automotive Group + + + + + Rabbit + + + + + Rabbit, Jr. + + + + + Rach WeldingSt. Joseph, Michigan + + + + + Racine Construction Tool Div.,Racine Federated, Inc. + + + + + Racmac Trailer + + + + + Roadcraft Mfg. & Leasing + + + + + Radamacher Trailer + + + + + Raes Utility Trailer + + + + + Rainbow Camper Co. + + + + + Rainbow Corp. + + + + + Leisure Vehicles, Inc.Troy, MI + + + + + Rainway Mfg. Co. + + + + + Rallymaster Travel TrailerArlington, Texas + + + + + Ramada Tent Camping Trailer + + + + + Rambler-manufactured prior to 1966(1966 and later Ramblers manufac-tured by American Motors - seeAme + + + + + Ramlin + + + + + R & A MANUFACTURING PARTENRS, LTD.; HOUSTON, TX + + + + + Ramsey Trailers + + + + + Ramses + + + + + Ranchette Travel Trailer + + + + + Rancho Trailers, Inc. + + + + + Randall, Walter + + + + + Randolph Coach + + + + + Ranch King Enterprises, Inc.Bellville, Texas + + + + + R-Anell Homes, Inc.Denver, Colorado + + + + + Ransome Lift Equipment Co., Subsidi-ary of Giles & Ransome, Inc. + + + + + Rapid Traveler Coaches + + + + + RAPSURE, INC; NAPPANEE, IN UTILITY & OTHER TYPE TRAILERS + + + + + Ratco WeldingBillings, Montana + + + + + Ravens-Metal Products, Inc.Parkersburg, West Virginia + + + + + Arkansas TravelerMfd. by Rawhide Stock & Horse TrailerMfr., Inc. + + + + + RAYCO MANUFACTURING,INC.; WOOSTER, OH ; EQUIPMENT & TRAILERS + + + + + Rayne Plane, Inc. + + + + + Raygo, Inc.Minneapolis, Minnesota + + + + + Raymond Products Co. + + + + + Raymur Acceptance Corp. + + + + + Raynell Campers + + + + + Mini-CruiserMfd. by R.B.R. Corp. + + + + + RECREATION BY DESIGN LLC.; ELKHART, IN + + + + + RC COMPONENTS + + + + + Richards Utility Trailer + + + + + R.C. Industries, Inc.Goshen, Indiana + + + + + Big AMfd. by Rickel Mfg. Corp. + + + + + ROCKIN L. RIGGIN CORP.; GRAHAM, TEXAS + + + + + Road Clipper + + + + + RC Motor Home + + + + + reconstructed trailers + + + + + Raider + + + + + RIDGELINE, INC; WASHBURN, TN + + + + + Road King Travel Trailer + + + + + RIDLEY MOTORCYCLE COMPANY; OKLAHOMA CITY, OK + + + + + Rea Trailer Co.Elgin, Illinois + + + + + READI-BUILT TRAILERS; THOMASVILLE, NC + + + + + Realco Trailer + + + + + Rear's Mfg. Co. + + + + + Rebel Mobile HomeDiv. Skyline Homes + + + + + Rebel Boat Trailer + + + + + R.E. Custom Boat TrailersWest Columbia, South Carolina + + + + + Reco Goliath Tent Trailer + + + + + Reconstructed Motorcycle (SeeOperating Manual,Part 1) + + + + + Recreative Industries, Inc. + + + + + Rec-Sha Trailer + + + + + Red Arrow Trailer Co. + + + + + Red Cat Motors + + + + + Red Dale Coach Co. + + + + + Red Gooser Horse Trailer + + + + + RED HORSE MOTORWORKS; LENEXA, KS + + + + + Redi-Go Traveler + + + + + Reddick Equipment Co., Inc. + + + + + Country EstateMfd. by Redman Homes, Inc. + + + + + Red River Custom TrailerClarksville, Texas + + + + + Redstone Coach Co. + + + + + Reed Enterprises, Inc. + + + + + Reed Mfg. Co. + + + + + REEL TRAILERS + + + + + Reeves Trailer + + + + + Regent Homes Corp. + + + + + Regis Corp. + + + + + Reids Trailers, Inc.Pleasant Garden, North Carolina + + + + + Reinell Boat Trailer + + + + + Reliant + + + + + Reliable Tank Inc.Rhone, Texas + + + + + Relco Corp.Mfd. in North Billerica, Massachusetts + + + + + Reliance Trailer Mfg.Div. Redwood Reliance Sales Co.,Cotati, California + + + + + Reliart Trailer Mfg. Co. + + + + + Realite Trailer + + + + + Rembrant Mobile Home + + + + + RemcoMfd. by Rome Engineering & Mfg. Co. + + + + + Countryside Mobile HomeMfd. by Remic Industries, Inc. + + + + + Remke Trailer + + + + + REMEQ, INC.; PRINCEVILLE, QUEBEC CANADA + + + + + Renault + + + + + Rent-A-Trailer Corp. + + + + + Reo + + + + + RETTIG ENTERPRISES; SIKESTON, MO + + + + + Revella Camping Trailer + + + + + Revcon + + + + + Reeves Roofing Equipment Co. + + + + + Rex + + + + + Rexhall + + + + + Rex Mobile HomesDiv. of Divco-Wayne Industries + + + + + Rexnord, Inc. + + + + + Reynolds Mfg. Co. + + + + + RFC Mfg., Inc. + + + + + R & G + + + + + RHEA'S TRAILER SALES, INC.; TEXAS + + + + + Rhino Tool Company + + + + + Rhino Trailer Mfg. + + + + + Richard Piche, Inc.Quebec, Canada + + + + + Darian Mobile HomesMfd. by Richardson Div. GreatSouthwestern Corp. + + + + + Richardson Homes Corp. + + + + + Rickman + + + + + Richards & Clark Mfg. Co. + + + + + Richland Homes Mfg. Co.Subsidiary Magnolia Mobile Home + + + + + Richardson Mfg. Co., Inc. + + + + + Ride-On, Inc.Mfrs. boat trailers--Ceres, California + + + + + Ridgecraft Corp.Breckenridge, Texas + + + + + Right Products, Inc. + + + + + R & I IndustriesCity of Industry, California + + + + + Riley + + + + + Rimer, Inc. + + + + + Rich Industries + + + + + Ring-o-matic Mfg. Co.Pella, Iowa + + + + + Rink Mfg. Co. + + + + + Ripco, Inc. + + + + + Rite-Bilt + + + + + Rite-On TrailersDiv. of Windward Marketing + + + + + River Trail TrailersLittle Rock, Arkansas + + + + + Ranger Mobile HomesMfd. by Ritz-Craft, Inc. of Indiana(see Ritz-Craft of Pa., Inc.) + + + + + Rivercraft Boat Trailers + + + + + Riverdale Steel Works + + + + + Riviera + + + + + Brown Trencher Div., Rivinius, Inc. + + + + + Bill Rivers + + + + + Montgomery Ward (Riverside)MONT for reference only + + + + + Riverside Trailer Mfg. Co. + + + + + River Run + + + + + Riviera Mfg. Co. + + + + + Rockwell + + + + + Allen, R. L. Company, Inc.Battle Creek, Michigan + + + + + ROLLINGSTAR, MFG., INC. ; BARNEVELD, NY + + + + + Country-BoyMfd. by Reid's Mfg. & Welding Co. + + + + + Rance Aluminum, Inc. + + + + + REINKE MFG. INC; DESCHLER, NEBRASKA + + + + + Ransome + + + + + Rinso Forklift + + + + + Roam-A-Bout Camper + + + + + Road Roamer Campers + + + + + Road Motor Home + + + + + Roadliner Mfg. Division + + + + + Roadmaster Mfg. Co. + + + + + Roadrunner Mfg. Corp. + + + + + Roadway Trailer, Ltd. + + + + + Roaminghome Co., Inc. + + + + + ROBB KAUFMAN, INC.; LEXINGTON, NORTH CAROLINA + + + + + Robin Mfg. Co. + + + + + Robinhood Motor Homes, Inc.Redondo Beach, California + + + + + Robin Hood Travel Trailers + + + + + Robert Horse Trailer + + + + + Rockin-Bar Trailers Ltd.Durant, Oklahoma + + + + + Rocket Trailer, Ltd. + + + + + Rockford Welding & Machine + + + + + Rochdale + + + + + Rockford + + + + + Rockie Mountain Mfg., Inc. + + + + + Rockland Homes, Inc. + + + + + R. O. Corp. + + + + + Manitou Mobile HomesMfd. by Rochester Homes, Inc. + + + + + Rockport Trailer Mfg. Corp. + + + + + Royal Enfield + + + + + Rogers Brothers Corp. + + + + + Rogers Trailers, Inc. + + + + + Rogue River Trailer Mfg. Co. + + + + + Rockne + + + + + Rockland Mfg. Co., Inc. + + + + + Rokon + + + + + Rockwood, Inc.Millersburg, Indiana + + + + + Rolls-Royce + + + + + Rolco Mfg. Co. + + + + + Roll-O-Flex, LTD.Regina, Saskatchewan + + + + + Roll-A-Long & Sterling Coach Co. + + + + + Rolite, Inc. + + + + + Rollfast + + + + + Rolling Homes, Ltd. + + + + + MayberryMfd. by Rollohome Corp. + + + + + ROLLS RITE TRAILERS, INC; MARIANNE, FL + + + + + Rolls International TrailerMobile Home + + + + + Rolling Thunder + + + + + Royal Land Yacht + + + + + Romae IndustriesMountain View, Missouri + + + + + Rome Industries, Inc. + + + + + Ronco Coaches, Inc. + + + + + RON'S TRAILERS INC.; OREGON, OH + + + + + Roofmaster + + + + + ROOSE MANUFACTURING; PELLA, IA + + + + + Rootes + + + + + Roper Outdoor Power ProductsKankakee, Illinois + + + + + Road Ranger Camper Trailer + + + + + Road Runner + + + + + Rosco Mfg. Co.Minneapolis, Minnesota + + + + + Rosemont Mobile HomeDiv. DeRose Industries + + + + + J.H. Ross Co. + + + + + Rotech, Inc. + + + + + Rockett TrailersMedley, FL; boat trailers + + + + + Rotocraft Boat TrailerGrants Pass, Oregon + + + + + Roulette Caravan Co. + + + + + Roust-About + + + + + Rover + + + + + Rowse Hydraulic Rake Co. + + + + + Royal Brothers + + + + + Royal Crest Co. + + + + + Royer Foundry and Machine Co.Kingston, Pennsylvania + + + + + Royco Mfg. Co. + + + + + Royal Cargo Trailers, Inc. + + + + + Roycraft Coach Co. + + + + + Royal Industries Noble Div. + + + + + Royals InternationalMillersburg, Indiana + + + + + H & H SnowmobilesCleveland, OH + + + + + RAPTOR; ATV + + + + + R & H Horse Trailer + + + + + Fat CatMfd. by R & R Mfg. Co. + + + + + ROYAL RIDER MOTORCYCLE MANUFACTURING CO., INC.; HUDSON, FL + + + + + Ridge Runner Industries, Inc.Fairmount, West Virginia + + + + + Range Rover of North America + + + + + R/S Truck Body Co., Inc.Allen, Kentucky + + + + + R.T.R. Trailers, Inc. + + + + + Ruchmore Homes + + + + + Rugg Manufacturing Co. + + + + + Rush Industries, Inc.Elkhart, Indiana + + + + + Rumi + + + + + Run-About + + + + + Rupp + + + + + Frank Russell Mfg. Co. + + + + + Rushmore Homes + + + + + RUSH & SON, INC; LENOIR CITY, TENNESSEE + + + + + Russco Lowboy Trailer + + + + + Rustler Horse Trailer + + + + + Ruttman + + + + + Rutt + + + + + RV Industries, Inc. + + + + + R-VISION, INC. INDIANA; MANUFACTURER OF TRAIL BAY TRAVEL TRAILER AND OTHER BRANDS + + + + + Hitch HikerMfd.by R. V. Kompacts, Inc. + + + + + River Oaks Homes, Inc.Boaz, Alabama + + + + + Randall's VIP Trailers, IncTempe, AZ; boat and utilitytrailers + + + + + Rice & Woolard Mfg., IncNaylor, MO + + + + + Ryan Mfg. + + + + + Rycsa + + + + + Ryder + + + + + Ryobi + + + + + RAZORBACK TRAILERS; PENNSYLVANIA + + + + + Saab + + + + + Recreatives, Inc.See Sabre + + + + + Sabine Mfg., Inc. + + + + + Sabre Equipment Div.Div. Sabre Metal Products + + + + + Sabra + + + + + Sachs + + + + + Safari + + + + + Safeway Mobile Homes Div.Div. Commodore Corporation + + + + + Safti + + + + + Sage Mfg. Co. + + + + + Sahara Mobile Homes + + + + + St. Clair Custom Built + + + + + St. Joseph Marine Trailer + + + + + Salsbury + + + + + Salem Mobile Home Trailer + + + + + Saling Mfg. Co. + + + + + The Salem Tool Co. + + + + + Salvaco, Inc.Columbus, Ohio + + + + + Safari Motor Coaches, Inc.Harrisburg, OR + + + + + Same & Lamborghini Tractors of NorthAmerica, Inc. + + + + + Sampson + + + + + Sams + + + + + SANDS WELDING INC; ALBANY,MN + + + + + Sangyong + + + + + Sani-Cruiser Co. + + + + + Sanker Mfg. & Supply + + + + + Santa Cruz Trailer Mfg. Co. + + + + + Santa Fe Springs Div.Div. of Divco-Wayne Industries + + + + + Santeler Brothers + + + + + Santo + + + + + Saracen + + + + + Starcraft Mfg. Co. + + + + + Satoh Japanese Tractor + + + + + Saturn Corporation + + + + + Saturn HomesDiv. Harrelson Corporation + + + + + SAUBER MANUFACTURING COMPANY; VIRGIL, IL + + + + + Savage Coach Mfg., Inc. + + + + + Savannah Homes, Inc.Savannah, Tennessee + + + + + Seabring Home, Inc. + + + + + Sebring Home Corp. + + + + + Scad-A-Bout Mfg. & Aluminum Co. + + + + + SCAG POWER EQUIPMENT, DIVISION OF MTEALCRAFT OF MAYVILLE,WI MAKER OF POWER RIDING MOWERS + + + + + Scamp + + + + + ScaniaOrange, Connecticut (Saab-Scania ofAmerica, Inc.) + + + + + Scamper Coach Trailer + + + + + Skat (or Skat-Kitty) + + + + + Scenic Campers Co. + + + + + Scepter Utility Trailer + + + + + Schantz & Sons, Inc.Marine, Illinois + + + + + Schrader Dump Trailer + + + + + Schenkel Brothers Mfg. Co. + + + + + SCHIFSKY TRAILERS + + + + + Schertzer Equipment Co. + + + + + Schetzky Equipment Corp. + + + + + Schevelle Homes Sales Corp. of Alabama + + + + + Schiebout Mfg. Co. + + + + + Schien Body & Equipment Co.Carlinville, Illinois + + + + + Schlemmer Boat Co. + + + + + Schult Mobile Homes Corp.Middlebury, Indiana + + + + + Schnure Ho' Trailer + + + + + Schwartz Mfg. Co. + + + + + SCION; NEW LINE/MAKE OF VEHICLE UNDER THE TOYOTA BRAND ______MODELS INCLUDE THE XA & AB + + + + + SCI Trailer + + + + + Schuler Mfg. & Equipment Co., Inc. + + + + + Scott Midland Div.Div. A-T-O, Inc. + + + + + Schramm, Inc.West Chester, Pennsylvania + + + + + Scamp Trailer + + + + + Scootalong + + + + + Scotsman Industries, Inc. + + + + + Scotsman Mfg. Co. + + + + + Scorpion + + + + + Scott + + + + + Scout Motor Home + + + + + ScorpionCrosby, MN + + + + + Scoutboat Trailer + + + + + Star Custom Trailers, Inc.Lebanon, Tennessee + + + + + SCAT TRAK; CONSTRUCTION EQUIPMENT + + + + + SCOTT'S RIDING MOWERS/TRACTORS MFG FOR SCOTTS BY JOHN DEERE + + + + + Scully Coach Co., Inc. + + + + + Sea Breeze Trailer + + + + + Seacamper Boat Trailer + + + + + Seagrave Fire ApparatusClintonville, Wisconsin + + + + + Seagull + + + + + Sea Lion Utility Trailer + + + + + Seal MateDiv. of Tateco, Inc. + + + + + Seaman Digz-AllMerrill, Iowa + + + + + Sears, Roebuck & Co. + + + + + Sea Stallion TrailersKlamath Falls, Oregon + + + + + Seat + + + + + Sears, Wendell + + + + + Seco Mfg. Co. + + + + + Security Industries + + + + + Servicycle + + + + + Seemore Flatbed Trailer + + + + + Seiden Mobile Homes + + + + + Selburn Flatbed Trailer + + + + + Selma Trailer & Mfg. Co. + + + + + Selox Mfg., Ltd.Toronto, Ontario, Canada + + + + + Sellers Trailer + + + + + Selby Mfg. Co.Nicollet, Minnesota + + + + + Semlac Corp. + + + + + Seminole Boat Trailer + + + + + Senora TrailersYuma, AZ; trailers + + + + + Searover TC Camper + + + + + Sera + + + + + Scotty SportsmanMfd. by Serro Travel Trailer Co. + + + + + SETRA OF NORTH AMERICA + + + + + Jenkins Equipment Co., Inc. Subsidi-ary of Sweepster, Inc. + + + + + SEWER EQUIPMENT CO. OF AMERICA + + + + + SEXTON MOTORCYCLE COMPANY + + + + + Safet Camper + + + + + SFM + + + + + Shamrock CampersDiv. Classic Mfg. Co. + + + + + GalwayMfd. by Shamrock Homes + + + + + Sharratt Mobile Homes & Supplies + + + + + Shasta Industries + + + + + Shaver Mfg. Co. + + + + + Shaw-Wynn Homes Corp. + + + + + Sherwood Baronet Tent Trailer + + + + + Shadow TrailersShadow Boat Trailer, Glencoe, OK + + + + + Shelby American + + + + + Shelby Mobile HomesDiv. Commodore Corporation + + + + + Puller-TensionerMfd. by Sherman & Reilly, Inc. + + + + + Shertzer Dump Trailer + + + + + Shipbuilt Van Trailer + + + + + Shiloh HomesDouble Springs, Alabama + + + + + ShipmateSemek Mfg., Inc. + + + + + Shippette Mobile Homes + + + + + Shivvers, Inc. + + + + + SHIJIAZHUANG MFG MOTORCYCLES AND ATV'S + + + + + SHL + + + + + Sho-Me Campers Co. + + + + + Shoops Horse Trailer + + + + + Shopmade Flatbed Trailer + + + + + Shovel Supply Co., Inc. + + + + + Showco Nomad Trailer + + + + + SHERCO MOTORCYCLE + + + + + Sherwood Sentry Horse Trailer + + + + + S & H Trailer Mfg. Co., Inc.Madill, Oklahoma + + + + + Show-Me Trailers, Inc.Smithton, Missouri + + + + + Siata + + + + + Silver Eagle Travel Trailer + + + + + Siebert Trailers, Inc.Stockton, California + + + + + SIEMS ENTERPRISES; SHELLEY, IDAHO TRAILERS + + + + + Sierra Campers Mfg. + + + + + Sigame Corp.Gardena, California + + + + + Lear SieglerMfd. by Signal Div. of Lear Siegler,Inc. + + + + + Sila Autoretta + + + + + Dorsett Mobile HomesMfd. by Silvercrest Industries, Inc. + + + + + Silver Leaf Mfg. Co. + + + + + Silverline + + + + + Silver Pigeon + + + + + Silent Hoist & Crane Co. + + + + + Silver Streak Trailer Co. + + + + + Simca + + + + + Simek Mfg., Inc. + + + + + Simenson Mfg. Co. + + + + + Simon Utility Trailer + + + + + LandlordMfd. by Simplicity Mfg. Co., Inc. + + + + + Simson + + + + + Simpson Enterprises, Inc. + + + + + SIMPSON WELDING & CUSTOM TRAILERS / HOWBOY TRAILERS; HUGO, OK + + + + + Singer + + + + + Single Tilt Trailer + + + + + SUN INTERNATIONAL RACING CORPORATION; CALIFORNIA + + + + + Silver Star Trailer + + + + + Sisu USA Inc. + + + + + Sightseer Motor Home + + + + + Six Pac Camper + + + + + Skamper Corp. + + + + + Ski Kart + + + + + Skim Air Trailer + + + + + Skipper B Trailer Co., Inc.Div. of Anderson Ind., Inc., Burleson,(formerly Brown Ind.)Texas + + + + + AriensSee Skiroule Ltd + + + + + Ski-Tow Mfg. Co., Inc.Elkhart, Indiana + + + + + Academy Mobile HomesMfd. by Skyline Motorized Div. + + + + + Skoda + + + + + Skippy Trailer + + + + + Skyteam Corp., Ltd. + + + + + Skycraft Trailer + + + + + Skyhomes, Inc.Div. Skyline Homes + + + + + Skylark Industries, Inc.Bristol, Indiana + + + + + Skyjack + + + + + AlyMfd. by Skyline Corp. + + + + + SKYTRAK; CONSTRUCTION EQUIPMENT;FORKLIFT ETC. + + + + + Solo Electra + + + + + Sloat Mfg. Co. + + + + + Sleep Easy Trailer + + + + + Smalley Mfg. Co. + + + + + Smartlee + + + + + SMB Teleiamotre (Bologna, Italy) + + + + + Smeal + + + + + L. B. Smith, Inc.Manufacturer of Smithco. Trailers + + + + + Smily + + + + + Smith-Roles Ltd. + + + + + Smith, T. L., Co.Div. A-T-O, Inc. + + + + + Simplex + + + + + Smokey Trailer + + + + + SAM PATTON INDUSTRIES + + + + + S & M Trailer Co. + + + + + Southern Missouri Trailer Sales + + + + + SmallwoodCounty Line Co. + + + + + SOUTHMAYD EQUIPMENT CORPORATION + + + + + Snapper + + + + + Snatcher Trailer CompanyBettendorf, Louisiana + + + + + Sunbird Boat CompanyColumbia, SC; boat trailers.Haleyville, Alabama + + + + + SunBird, Inc. + + + + + Sun Belt Energy Housing, Inc. + + + + + SANDPIPER + + + + + Hainan-Sundiro + + + + + Sunflower Travel Trailer + + + + + Sun-Lite, Inc.Bristol, Indiana + + + + + Sea BirdMfd. by Sno-Bird Trailer Co., Inc. + + + + + Snow Tri Scat + + + + + Snowflake Coach Industry + + + + + Sabre JetSee Sno*Jet, Inc. + + + + + Unlisted Snowmobile Manufacturer + + + + + Southern Energy Homes, Inc.Addison, Alabama + + + + + Remington HomesDallas, Texas (Division of SunrizonHomes, Inc.) + + + + + Sensation + + + + + Santa Fe Trailer Co. + + + + + SANTEE INDUSTRIES SYLMAR, CA + + + + + Sun Trailer & UtilitiesMid-West City, Oklahoma + + + + + Snowton Trailer + + + + + SNUB-HARBOR OR DAY'S DRYDOCK TRAILERS; INDIANA + + + + + Snowbear, Ltd. + + + + + SNOW Co. + + + + + Snyder Trailer Co. + + + + + Society Coach Builders + + + + + Southern Classic Trailer Mfg., Inc. + + + + + Soderstrom Machine ShopCanton, South Dakota + + + + + Soil Mover Mfd. Div. + + + + + Sol Cat Boat Trailer + + + + + Solectria + + + + + Solo Motors, Inc. + + + + + Southern Lifestyle Homes, Inc.Addison, Alabama + + + + + Son-Dyke Trailer Co.Boat Trailers--Calico Rock, Arakansas + + + + + Soni II + + + + + Sooner Mfg. + + + + + Sopko Mfg., Inc. + + + + + SOUTHERN SALES, INC; TRAVELERS REST,SC + + + + + SOUTH BAY TRAILERS; LOUISVILLE, KY + + + + + Southwest Welding & Mfg. Co. + + + + + Southeast Mfg. Co., Inc. + + + + + SOUDRE KERR, INC.; COOKSHIRE, QUEBEC CANADA + + + + + Southeastern + + + + + Southern Trailers + + + + + Southlane Horse Trailer + + + + + Southwest Truck Body Co.St. Louis, Missouri + + + + + Sovam + + + + + Southwind Motor Home + + + + + Space Motor Home + + + + + Space Age Campers + + + + + Space-Craft Trailers Mfg. + + + + + Sparrowhawk Trailer Co. + + + + + SpacemasterColumbia, Tennessee + + + + + Spano Crane Sales & Service Corp. + + + + + Sparta + + + + + Spartan Aircraft Co. + + + + + Speed Bird + + + + + Space Assemblies, Inc.Middlebury, Indiana + + + + + Spector Manufacturing, Inc. + + + + + Springcycle + + + + + Marvin A. Spears Co. + + + + + Special (Go-cart, Golf Cart, seeOperating Manual, Part 1,Section 2) + + + + + Speed + + + + + Speedway Trailer Div.Div. Dunphy Boat Corp. + + + + + Spirit Eagle + + + + + Speicher Brothers, Inc.Auger products + + + + + Speed King Mfg. Co., Inc. + + + + + Special Endeavors, Inc.Omaha, Nebraska + + + + + Specialty Mfg. Co.Red Bay, Alabama + + + + + Spen & Co. + + + + + Spencer Sports Products + + + + + Speedex Tractor Co.Ravenna, Ohio + + + + + SPORT HAULER BY SPORT CHASSIS AT FREIGHTRLINER IN TULSA, OK___MAKER OF SPORT HAULER TRUCK & TRAILER + + + + + Sportliner Tent Trailer + + + + + Specialized Trailers + + + + + Sportsman + + + + + Sprinter + + + + + SPRINTER MOTORCYCLE + + + + + Sportcoach Corporation of America + + + + + Spokane Travel Homes + + + + + Shalimar Mobile HomesMfd. by Sportcraft Homes + + + + + Sport King Campers + + + + + Sportsman + + + + + Sportsman's Dream Mfg. Co. + + + + + Speedway Products, Inc.Mansfield, OH + + + + + Spartan ProductsWest St. Paul, Minnesota + + + + + Sprayline Two Wheel Trailer + + + + + Sperry Rand + + + + + Sprite + + + + + Sprite + + + + + Sportmasters of Tennessee, Inc. + + + + + Springtrail Mfg. Co.Springfield, Missouri + + + + + Sprout, Waldron & Co., Inc. + + + + + Superior Office Trailer + + + + + HoosierBoat Trailer--mfd. by Spreuer and Son,c. + + + + + Sportcoach Motor HomeMfd. by Sportscoach Corp. of America,Chatsworth, California + + + + + Sprayrite Mfg. Co. + + + + + Sportsliner Camping Trailer + + + + + SPECTRUM STEEL, HYRUM, UTAH + + + + + Spartan Motors, Inc.Mfd. in Charlotte, Michigan + + + + + SUPERIOR TRAILERS OF GA. INC.; DANIELSVILLE, GA + + + + + Speedway + + + + + Spyder + + + + + Squire Travel Trailer + + + + + SearsSears, Roebuck & Company + + + + + BPMfd, by SS Trailer Co. + + + + + Star Machine Shop Co. Ltd. + + + + + Stack Truck, Inc. + + + + + Standard Steel + + + + + Stam Mfg. Co. + + + + + Stage Coach Mfg. Co. + + + + + Grenadier Mobile HomesMfd. by Statler Homes Mfg. + + + + + Starmaster Camping Trailer + + + + + Standard + + + + + Starcraft Corp. + + + + + Star Tank & Trailer Mfg. Co. + + + + + Star + + + + + Star Fire, Inc. + + + + + Startrek + + + + + Starlite Mfg. Co. + + + + + Star Meteor FloridaDiv. of Divco-Wayne Industries + + + + + Star Mobile Homes + + + + + Stucco Trailer + + + + + Starcraft Corporation + + + + + Steelcraft Log Trailer + + + + + Steyr-Daimler-Puch + + + + + Steadman Containers Ltd.Brampton, Ontario + + + + + Steco Trailer Co. + + + + + Steed-Pollak Mfg. Co. + + + + + Stew-Gar, Inc. + + + + + SterlingSterling-Salem Corp. + + + + + Steelco, Inc.Alto Loma, Texas + + + + + Stepper Trailer + + + + + Sterling Industrial Corp. + + + + + Stewart, Inc. + + + + + Steury Trailer + + + + + Stewart Engineering & Equipment Co. + + + + + Steyr-Puch + + + + + Stidham Horse Trailer + + + + + Stillwater Supply Co. + + + + + Sterling + + + + + Sterline Flatbed Trailer + + + + + Stilo Trailer + + + + + STANLEY YARD & GARDEN TRACTOR/MOWER ETC. + + + + + Supertrail Mfg. Co., Inc.Aberdeen, Misssippi + + + + + Stampings, Inc. + + + + + Stanley Hydraulic Tools + + + + + Stockland + + + + + Stoddard Mfg. Co.Waterloo, Iowa + + + + + Stone Construction Equipment Inc.Honeyoye, New York + + + + + STOLL TRAILERS, INC; ABBEVILLE, SC + + + + + Stoner Trail + + + + + Stopover Traveler & Camper Co. + + + + + Stoner Totter Trailer + + + + + Stoughton Trailers, Inc.Stoughton, Wisconsin + + + + + EconorollMfd. by Stow Mfg. Co. + + + + + STEPHENS PNEUMATICS, INC.; HASLET, TEXAS + + + + + Stewart Park Homes, Inc. + + + + + Strale + + + + + Starbuck Trailer + + + + + Strahan Mfg. Co. + + + + + Stardust Travel Trailer + + + + + Streamline Trailer Co. + + + + + TK Sterling + + + + + STROHL CORPORATION; MISHAWAKA,IN ; VARIOUS STYLES TRAILERS + + + + + Strick Trailers Corp.Fort Washington, Pennsylvania + + + + + Star TrailMfd. by Stark Bros. Motor Sales + + + + + Starline Trailer Mfg. Co. + + + + + Streamline Motor Home + + + + + Saturn + + + + + Starcrest Motor Home + + + + + Star Transport Trailers, Inc.Sunnyside, Washington + + + + + Studebaker + + + + + Stuart + + + + + Stutz + + + + + Subaru + + + + + Sun Blazer Travel Trailer + + + + + Suburban Motors, Inc. + + + + + Superior Equipment Co.Buckeye Products + + + + + Super Flea + + + + + Sunflower Mfg. Co., Inc. + + + + + SUGGS MANUFACTURING CO., INC.; LAGRANGE, NC + + + + + Sullair Corp.Michigan City, Indiana + + + + + Superior Mfg., Inc. + + + + + Summers Mfg. Co. + + + + + Summitt Trailer + + + + + Sun + + + + + Sunbeam + + + + + Sundial Motor Home + + + + + Sunliner Motor Home + + + + + Sunhome Mfg. + + + + + Sunset Mobile Homes + + + + + Sun State Mobile Homes + + + + + FlamencoMfd. by Sundancer Div. of WinstonIndustries + + + + + Sun Valley + + + + + Sunline Coach Co. + + + + + Sun ChaserMfd. by Sun Recreational Industries, Ltd + + + + + Sunshine HomesRed Bay, Alabama + + + + + Sunset Travelers + + + + + Sun Devil Trailers, Inc.Boat trailers--Tulsa, Oklahoma + + + + + HogerMfd. by Sundowner Trailer Co. + + + + + Superior Motor Home + + + + + Superformance International (Maker of replica vehicles) + + + + + Superior Ideal, Inc.Oskaloosa, Iowa + + + + + Supreme Industries, Inc.Louisville, Tennessee + + + + + Superior Trailer WorksLos Angeles, California + + + + + Super Two + + + + + Sureload + + + + + Surf-Rider, Inc. + + + + + Surveyor Motor Home + + + + + Susquehanna-Santee Boat Works, Inc.Boat Trailers; Willow Street,Pennsylvania + + + + + Sutphen Corp.Amlin, Ohio + + + + + Suvega Tiger + + + + + Suzuki + + + + + Suzulight Su + + + + + Specialized Vehicles Corp. + + + + + Silver Trail + + + + + Swan Industries + + + + + Swanee Trailer Mfg. Co. + + + + + Sweetheart Motor Home + + + + + SMPMfd. by Sweetwater Metal Products Co.,Inc. + + + + + Sweepster, Inc. + + + + + SOUTHWEST GOOSENECK; SAN ANTONIO, TX + + + + + Griswold IndustriesSee Swinger Snowmobiles + + + + + Swift Motorsports, Inc. + + + + + Swisher Mower & Machine Co.Warrensburg, Missouri + + + + + Swinger + + + + + Swiss Colony Travelers, Inc.Div. Herrli Industries + + + + + C.M.Cub (mfd. by SWI Tong Corp.,imported by Convenience Machines) + + + + + SWM + + + + + Swinger Camper Mobile Home + + + + + Swanson Tilt trailer + + + + + SOUTHWEST EXPRESSLINE, WHITE PIGEON,MICHIGAN + + + + + Sycamore Mobile Homes + + + + + Sylvan Double Snowmobile Trailer + + + + + Syrena + + + + + Tacoma Trailer + + + + + Tacquito + + + + + Tracer Horse Trailer + + + + + Tecnica AutomotrizDel Noroeste SAMexico; trailers + + + + + Tag-A-Long Trailers + + + + + Target Products Division, Federal-Mogul Corp. + + + + + Tahiti Ski Trailers + + + + + Tahoe Motor Home + + + + + Tailor Maid Industries + + + + + Taizhou Hisource Intl. Trade Co., Ltd. + + + + + Taka (Imported by Rockford) + + + + + Takeuchi Manufacturing (U.S.) Ltd.Atlanta, GA; manufactures compact trackequipment + + + + + Talbert Mfg. Inc.Rensselaer, Indiana + + + + + Tailgater + + + + + Taylor Metal Works, Inc.Milan, Tennessee + + + + + Taylor Mfg. Co., Inc. + + + + + Tama + + + + + Tampo Manufacturing Co. Inc. + + + + + Tanden Boat Trailer + + + + + Tankraft Trailer + + + + + T & M EnterprisesCookville, Texas + + + + + Tannehill Trailer + + + + + Tandom Boat Trailer + + + + + Tara Products, Inc.White Pigeon, Michigan + + + + + Target Coach Mfg. Co.Div. Central Builders Supply + + + + + Tartan Corp.Div. American Duralite Corporation + + + + + TARASPORT TRAILERS, INC.; SWEETWATER, TN + + + + + Tatra + + + + + Taube Tool Corp.Mfd. Taube n Taube Trailer,Richmond, Indiana + + + + + Taunus (German Ford) + + + + + Tawas Trailers, Inc. + + + + + Taylor-Dunn Industrial Electric VehiclesAnaheim, California + + + + + Taylor Mobile HomesDiv. Troy Lumber Company + + + + + Taylor Machine Works, Inc. + + + + + Travel Cruiser + + + + + TBC + + + + + Tchaika + + + + + Talbot-Carlson, Inc.Audubon, Iowa + + + + + TC Industries, Inc.Crystal Lake, Illinois + + + + + HerculiftMfd. by TCI Power Products, Inc. + + + + + Triple Crown Trailers, Inc. + + + + + Tear Drop, Inc. + + + + + Tebben Mfg. Co., Inc. + + + + + TEC + + + + + Tecumseh Products Co., Engine Div. + + + + + Tecnoma, Ltd., (Canada) + + + + + Tecumseh + + + + + T&E ENTERPRISES OF HERSCHER, INC.; HERSCHER.IL + + + + + Tee Nee Trailer Co.Youngstown, Ohio + + + + + Tejas Trailers, Inc.Bellville, Texas + + + + + Tel Star Trailers + + + + + Tem Ken Trailers Mfg. + + + + + Tempo + + + + + Tennant Co. + + + + + Tennessee Trailer + + + + + Tempe Trailers + + + + + Terra Cruiser Div.Div, of Divco-Wayne Industries + + + + + Terra-Marina Mfg. Co. + + + + + Terramite Corp. + + + + + Terravac Corp.Stockton, California + + + + + Terry Industries of Virginia + + + + + Terex Div.Euclid & Terex products + + + + + T.E.S. (Truck Equipment & Sales Co.) + + + + + Testi + + + + + Teton Travel Trailer + + + + + Texan Trailer Mfg. Co. + + + + + Texarkana Div.Div. of Divco-Wayne Industries + + + + + Tex Willett Co. + + + + + Texoma, Inc. + + + + + Texas Bragg EnterprisesMt. Pleasant, TX; utility trailers + + + + + TUFF/LUGG MANUFACTURING + + + + + Tote Gote + + + + + Tigerline Trailer + + + + + The Thackery Co., Inc. + + + + + Thames + + + + + Joseph Thatcher + + + + + Thunderbolt Trailer + + + + + Theurer Atlantic, Inc.Newark, New Jersey + + + + + The Highland GroupBeachwood, OH; utility trailers + + + + + Thiermann Utility Equipment Div.Milwaukee, Wisconsin + + + + + THOROUGHBRED INDUSTRIES, INC; RIDGELAND, SC STARLITE MODEL + + + + + Thiele, Inc.Windber, Pennsylvania + + + + + Thimsen Mfg. Co. + + + + + Thompson Concrete Pump Trailer + + + + + Thomas Built Bus Co. + + + + + THINK ELECTRIC VEHICLES; DIVISION OF FORD MOTOR COMPANY + + + + + BoatoterMfd. by Thomas Mfg. + + + + + Thor California, Inc. + + + + + THOMAS EQUIPMENT LTD.; NEW BRUNSWICK, CANADA + + + + + Thomas & Co. + + + + + Thorns Trailer + + + + + Thor Power Tool Co. + + + + + Thoroughbred Boat Trailer + + + + + Thomas Conveyor Co. + + + + + Thompson + + + + + Three C's, Inc. + + + + + Three-Dimensional Mobiles + + + + + Three-Way Campers Mfg. + + + + + Thru-Air Trailers, LLC + + + + + Thomsen Equipment Co. + + + + + Thule Trailers, Inc. + + + + + Thunderbird CastlesDiv. Thunderbird Products + + + + + Triangle-K Trailer Co.Drumright, Oklahoma + + + + + Tiara Industries + + + + + Ti-Brook, Inc.Brookville, Pennsylvania + + + + + Tide Craft, Inc. + + + + + Dorado Mobile HomesMfd. by Tidwell Industries, Inc. + + + + + TIFFIN MOTORHOMES, INC; RED BAY, ALABAMA; ALLEGRO, PHAETON, ZEPHER MODELS + + + + + Tiger Trailer + + + + + Tilton-Hilton + + + + + Timberline Mfg. Co. + + + + + Time OutT.O. Corp. + + + + + Timken Bearing Boat Trailer + + + + + Timpte, Inc.Denver, Colorado + + + + + Tinker Clubs of America, Inc. + + + + + Tioga Motor Home + + + + + Tri-State Homes, Inc. + + + + + Titan Trailer Corp.Div. Concord Mobile Homes--Woodland,California + + + + + Titleist Travel Trailer + + + + + TITAN MOTORCYCLE + + + + + Tjaarda + + + + + TRIPLE "J" CUSTOM TRAILERS, GANSEVOORT, NY + + + + + TIMBERKING, INC + + + + + Ozark TrailwayMfd. by Tri-Lakes Mfg. Co., Inc. + + + + + T & L TrailersSikeston, MO; utility trailers + + + + + TRAILERMAN TRAILERS,INC/INLOW CUSTOM TRAILERS; LOUISIANA, MISSOURI + + + + + Trailite Trailer + + + + + TIMBERLAND RV COMPANY; PERU, IN + + + + + TimberwolfElkhart, Indiana + + + + + Transportation Manufacturing CorporationRoswell, New Mexico + + + + + THUNDER MOUNTAIN CUSTON CYCLES; LOVELAND, COLORADO + + + + + TMC Inc.Poskin, WI; mfg. pontoon trailers + + + + + T & M MANUFACTURING, INC.; PRINCETON, ONTARIO CANADA + + + + + TM Trailer + + + + + Travel Mate Trailer + + + + + Tanckon FRP, Inc. + + + + + Transco Trailer + + + + + TN TRAILERS, LLC; SHIPSHEWANA, INDIANA + + + + + Todco + + + + + Toddy Custom Built TrailersMfrs. stock trailers--Bradford, Arizona + + + + + Tow Go TrailersTonganoxie, Kansas + + + + + Tohatsu + + + + + Tourhome Camper Trailer + + + + + Token Flatbed Trailer + + + + + Tour-A-Lodge + + + + + Towmotor Corp.Subsidiary Caterpillar Tractor Co. + + + + + TOMOS/TOMAS; BULLET, SPRINT & OTHER MODELS + + + + + Tonco Lowboy Trailer + + + + + TOP BRAND TRAILERS + + + + + Top Campers + + + + + Top Kat + + + + + Topper Mobile Homes, Inc. + + + + + TOP-3 TRAILERS; TEXAS + + + + + Tora (Imported by Rockford) + + + + + Torch IndustriesElkhart, Indiana + + + + + Torino + + + + + Tornado (British) + + + + + Toro Co. + + + + + Torrot + + + + + Totem Total Trailer + + + + + Tote Co.Lenox, Iowa + + + + + TotemallMfd. by Birmingham Mfg. Co., Inc. + + + + + Topline Trailers ManufacturingFort Worth, TX + + + + + Toura Products + + + + + Tourite Mobile Homes Mfg. + + + + + Towncrier Camper + + + + + Tow Mor ProductsCanon, Georgia + + + + + Towner Mfg. Co. + + + + + Tow Low + + + + + Tow Mobile Forklift + + + + + New CastleMfd. by Town & Country Mfg. Co. + + + + + Tow Pro, Inc.McKinney, Texas + + + + + Towmaster + + + + + Toyocar Van Container Trailer + + + + + Toyopet + + + + + Toyota + + + + + TOP HAT INDUSTRIES, MT. PLEASANT, TX (TRAILERS) + + + + + TOPLINE MANUFACTURING, CO., INC.; TREMONT, MISSISSIPPI + + + + + Tradewind Industries, Inc.Formerly J. H. Holland Co. + + + + + Trader Horn Trailer Supply + + + + + Trabant + + + + + Trail Aire, Inc. + + + + + Trail Car Boat Trailer + + + + + Trail Haven Div. + + + + + Trailmaster Tanks, Inc.Ft. Worth, Texas + + + + + Trailco-Norwin + + + + + Art Roll Mfg. Co., Inc.New name is Trail-R-Craft, Inc. + + + + + Trailex, Inc.Canfield, Ohio + + + + + Trail-It Coach Mfg. Co. + + + + + Trailorama + + + + + Trail-Or-Floats + + + + + Trail-Wide Corp. + + + + + Trans Canada Rent-A-Trailer System + + + + + Transcraft Corp.Anna, Illinois + + + + + Transit + + + + + TransporterAmerican Trailer & Mfg. Co. + + + + + Transvair + + + + + Travel Equipment Corp. + + + + + Travel Industries + + + + + Travoy Motor Home + + + + + Travelaire Trailer Mfg. + + + + + Travelmaster, Inc. + + + + + Travelpak Car Topper Sales + + + + + Travette Mfg. + + + + + Trav-L-Homes + + + + + Trav Otel Industries + + + + + Travois Trailer + + + + + Transfer + + + + + Trainliner + + + + + Trailblazer Trailer + + + + + Trail Boss + + + + + Trail Breaker + + + + + Trail Blazer + + + + + Tracker Corp.Boat trailers--Winchester, Tennessee + + + + + Trailcraft Boat Trailer + + + + + Trailer Coach Metal Spec.Vancouver, Washington + + + + + Tracpac Snowmobile Trailer + + + + + Travel Car Motor Home + + + + + Trac + + + + + Treasure Chest Products + + + + + Trevco Enterprises + + + + + Trek, Inc.Elkhart, Indiana + + + + + Trail-Et Horse Trailer + + + + + TRAILERS EXPRESS, INC. SIKESTON, MO + + + + + Trail Flight + + + + + Trailer Wheel and Frame Co.Bellville, Texas + + + + + Trail Hawk + + + + + Travelo Homes Co.Div. Saginaw Products + + + + + Trail Horse + + + + + Tri-Way HD Snowmobile Trailer + + + + + Trail Mate Trailer Co.Bellingham, Washington + + + + + Triple B Mfg. Co., Inc.Mascoutah, Illinois + + + + + Triggs-Miner Corp. + + + + + Trihawk Inc. + + + + + Trike + + + + + ChanceyMfd. by Trail-O-Matic + + + + + Pullman TrailmobileDiv. of Pullman, Inc.--Chicago, Illinois + + + + + Trinity Products + + + + + Triple R TrailerStockton, Missouri + + + + + Triumph Sales & Service + + + + + Tri-Star Corp. + + + + + Triumph + + + + + Trivellato + + + + + Tri-Way Trailer + + + + + Trojan Industries, Inc. + + + + + Trail King Travel Trailer + + + + + Tracker Marine, Inc.Nixa, Missouri + + + + + Trailco Mfg. & Sales Co.Div. of Dorsey Trailers--Hummels Wharf,Pennsylvania + + + + + Trail-Easy Travel Trailer + + + + + Trail It Horse Trailer + + + + + Trail King IndustriesDiv. W.A.S., Inc., Mitchell,South Dakota + + + + + Trillium Trailer + + + + + Trail Master Trailers, Inc.Coleman, Oklahoma + + + + + SkeeterMfd. by Trailers, Inc. + + + + + Travel Long Inc. + + + + + TRL ENTERPRISES TRAILERS LOVELAND, COLORADO + + + + + Unpublished trailer mfr. + + + + + Trac-Machinery Corp.Subsidiary of E. D. Etnyre & Co. + + + + + Trailmobile + + + + + Tramco, Inc.Mfrs. liquid propane gas transport--Dallas, Texas + + + + + Traveler Mfg. Inc.Concordia, Missouri + + + + + Transmission (Generic Code--for useonly when manufacturer is notlisted) + + + + + Triumph Machinery Co. + + + + + TRAILMANOR, INC.; LAKE CITY, TN + + + + + Transliner Insulated Tank Trailer + + + + + TRANSPORT TRAILERS; FENNVILLE, MI + + + + + Trojan Homes + + + + + Trojan + + + + + Trombly Woodworking Co. + + + + + Tropicana Mfg. Co. + + + + + Trophy Travel Trailer + + + + + Troyer Mfg. Co. + + + + + Trotwood Trailer + + + + + Troy Industries + + + + + Troxell Trailer Mfg.Ft. Worth, Texas + + + + + Troyler Corp. + + + + + Terraplane + + + + + TROPHY HOMES, INC.; ELKHART, IN + + + + + Tramper Travel Trailer + + + + + Tri-Sport/Steen (formerly Alsport/Steen) + + + + + Travel Queen Motor Home + + + + + Travel Queen Coaches + + + + + Tri-Rod + + + + + AquariusBoat trailers--mfd. by Trail-Rite, Inc. + + + + + TRIPLR R TRAILERS INC. BOONEVILLE,MISSISSIPPI + + + + + Trailerette Trailer + + + + + TERRY'S UTILITY TRAILER OR TERRY W. BECK; WARRENVILLE, SC + + + + + TransglobalNew York; flatbed trailers + + + + + Transmobile Trailer + + + + + Trans-Sport + + + + + Trail Star Tent Trailer + + + + + Travel Supreme, Inc. + + + + + Tri-Pak Systems Co.Louisville, Kentucky + + + + + TRAILTECH; GRAVELBOURG,SASKATCHEWAN CANADA + + + + + Triad Trailers Ltd.New Milford, Connecticut + + + + + Triton Trailer Corp.Allentown, Wisconsin; manufacturestrailers including snowmobile trailers + + + + + TRANSTEQ (Transportation Techniques, LLC) + + + + + Trail Tramp + + + + + Traveliner Travel Trailer + + + + + Truco + + + + + Truck Equipment Service Co.Lincoln, Nebraska + + + + + Unpublished truck mfr.(see Operating Manual, Part 1,Section 2) + + + + + Triumph Motor Co. (TRIU for autoentry) + + + + + Tru-Trailer Co. + + + + + Tru-Tow Trailers + + + + + Cozy CraftMfd. by Travelcraft, Inc. + + + + + Travco Corp. + + + + + Traveleze Industries, Inc. + + + + + Travel Home, Inc. + + + + + Traveliner Motor Home + + + + + Stow and GoMfd. by TRV Corp. + + + + + TrailevatorDiv. Magline, Inc. + + + + + Travis + + + + + Travel World, Inc.Utility Trailers; Hope Hill,North Carolina + + + + + TROY-BILT FARM & GARDEN EQUIPMENT + + + + + Tryco Mfg. Co., Inc.Decatur, Illinois + + + + + AKTIVSee Tucker Sno-Cat Corporation + + + + + Tessy + + + + + TEAM SPIRIT TRAILERS; ELKHART, INDIANA + + + + + T & T Industtries, Inc. + + + + + Titan Trailers, Inc. + + + + + Cycle-MateMfd. by T & T Industries + + + + + TRINITY TRAILER MEG., INC. BOISE, ID + + + + + Transport Systems, Inc.Denton, Texas + + + + + Transport Trailers, Inc.Cedar Rapids, Iowa + + + + + Trans-Trail Trailer + + + + + Turnbow Trailer + + + + + Al Tucker Trailer Co. + + + + + Tucker + + + + + Sno-CatMfd. by Tucker-Sno-Cat Corp. + + + + + Tufby Converter Dolly + + + + + Tuff Cat Trailers, Inc.Tekonsha, Michigan + + + + + Tuffy + + + + + Tuff-N-Lite + + + + + Tuff Thom Trailers, Inc.Brunswick, Georgia + + + + + Tuk-A-Way-Trailer + + + + + Turner + + + + + Turtle Top + + + + + Tule Trooper + + + + + Travelcraft Motor Home + + + + + TVR + + + + + Twentieth Century Mfg. Co.or 20th Century Mfg. Co. + + + + + TRAILER WHEEL & FRAME COMPANY; TEXAS + + + + + Necedah FlyersMfd. by Twin City Racing + + + + + Twin Grove Mfg., Inc.Verona, Wisconsin + + + + + Twilight Coach Mfg. + + + + + Twin Trailer + + + + + TWIST N GO MOTOR SCOOTERS & CYCLES + + + + + Twilite Mobile Home Mfg. + + + + + TWINKLE; HEARSES + + + + + TRAILS WEST MANUFACTURING OF IDAHO, INC.; PRESTON, ID + + + + + TWN + + + + + Tow-Rite Mfg. + + + + + TOWRITE MANUFACTURING; BUNN LEVEL, NC; TTRAILERS & DOLLIES + + + + + Twister + + + + + Traxcavator Tract + + + + + Tyran + + + + + Tybex Corp.Bangor, Pennsylvania & Belvidere, N.J. + + + + + Trailers Y Casetas Bonanza S. A.Mexico; trailers + + + + + Toyoco + + + + + The Tye Co., Inc. + + + + + Tyler Coach Mfg. + + + + + TCI,Inc.Benson, Minnesota + + + + + Tyson Skylark Trailer + + + + + TZ + + + + + UAZ (Ulianovsk Automobile Zavod) + + + + + Nissan Diesel Motor Co. (for reference + + + + + U-Dump, Inc.Ocala, Florida + + + + + U-HaulPhoenix, AZ; utility trailers + + + + + ULTRA ACQUISITION CORPORATION; RIVERSIDE, CA + + + + + ULTRA MOTORCYCLE CO. + + + + + ULTIMATE TRAILERS; LAKEVIEW TERRACE, CA + + + + + ULTIMA MOTORCYCLE + + + + + Ultra, Inc. + + + + + Unit Crane & Shovel Corp. + + + + + UNITED EXPRESS LINE,INC; BRISTOL INDIANA + + + + + Unger Motor Home + + + + + Union Machine & Tool Works + + + + + Unicar + + + + + United Fiberglass + + + + + United Mfg. Co. + + + + + MountaineerLawn & Garden tractor--mfd. by UnitedFarm Tools, Inc. + + + + + Univision Industries Ltd. + + + + + United Mobile Sales + + + + + United States Aluminum Co. + + + + + United States Mobile Homes + + + + + Unipower + + + + + Universal Tractor Foreign Trade Co. + + + + + United States Mobile Homes (Florida) + + + + + United Trailer Service & Supply Co. + + + + + Universal Camper Mfg. + + + + + UNILLI ATVS ETC + + + + + United Motors + + + + + United Rock Picker Co. + + + + + Unverferth-McCurdy Mfg. Co., Inc. + + + + + Universal Trailers, Inc. + + + + + URAL MOTORCYCLES OF AMERICA; PREVIOUSLY OR ALSO KNOWN AS: IRBIT MOTORWORKS OF AMERICA; REDMOND, WA + + + + + Urili Flatbed Trailer + + + + + U.S. ARMY VEHICLE; MAKE IS UNKNOWN + + + + + USA Motor Corp.Bremen, IN; manufactures motor homes + + + + + U.S. AIRFORCE VEHICLE; MAKE IS UNKNOWN + + + + + U-Save TrailersPomona, California + + + + + U.S. CARGO, INC + + + + + U.S. COAST GUARD; MAKE IS UNKNOWN + + + + + U.S. COACHWORKS, INC.;ZEIGLER, IL + + + + + U.S. Electricar Corp. + + + + + U.S. MARINE CORPS; MAKE IS UNKNOWN + + + + + U.S. NAVY; MAKE IS UNKNOWN + + + + + U.S. Suzuki Motor Corp., Inc.Santa Fe Springs, CA + + + + + USTS MANUFACTURING. INC; CANTON, OHIO + + + + + Utah King Motor Home + + + + + UTILITY TOOL & BODY CO., INC. CLINTONVILLE, WI + + + + + Ute Trailer + + + + + Uteliner Motor Home + + + + + Utah Mobile Homes + + + + + Utility Trailer Mfg. Co.City of Industry, California + + + + + Util-I-VanMfd. by Utilimaster Div. HolidayRambler Corp. + + + + + Utopia Coach Corp. + + + + + Vacation Homes + + + + + Big SurMfg. by Vacation Industries + + + + + Vacationar Motor Home Truck + + + + + Vacation Wagon, Inc. + + + + + Vector Aeromotive Corporation + + + + + VACTRON TRAILERS, MANUFACTURED BY: A COMPLETE ASSEMBLY;MASCOTTE, FL + + + + + Vada Open Top Cattle Trailer + + + + + Vador + + + + + VagabondDiv. Guerdon Industries + + + + + VAL + + + + + Valiant Mobile Homes + + + + + Valley Campers + + + + + Valiant + + + + + Valkrie + + + + + Valley Foundry & Machine Works + + + + + Valley TrailersCynthiana, Ohio + + + + + Van Art, Inc. + + + + + Van Bibber Enterprises + + + + + Van Camp Equipment + + + + + Vanguard (Canada) + + + + + Van American, Inc.Goshen, Indiana + + + + + Van Car Corp. + + + + + Vance Campers, Inc. + + + + + Van Guard Trailer, Ltd. + + + + + Vanson Boat Trailer + + + + + Vanette + + + + + Van Veen + + + + + Vaquero Trailer + + + + + Van Tech + + + + + Vauxhall + + + + + Vacationeer Trail trailer + + + + + Victory Motorcycles + + + + + Vehiculos Automares Mexacano S. A.De C. V. (Mexican manufacturer) + + + + + V. E. Enterprises + + + + + Vegas Mfg. Co. + + + + + Veglia + + + + + Venus Coaches + + + + + Vengeance Motorcycle; Div. of Vengeance Performance Products, LLC + + + + + Ventura Mfg. and Implement Co.Oxnard, California + + + + + Ventoura Corp. + + + + + Venus + + + + + Versatile Power Corp.Grantsburg, Wisconsin + + + + + Veritas + + + + + Vermette Machine Co. + + + + + Vermeer Manufacturing Co. + + + + + Versatile Manufacturing Co.Div. Versatile Cornat Corp., KansasCity, Missouri + + + + + Vertex + + + + + Vesely Co. + + + + + Vespa + + + + + Vet Boat Trailer + + + + + Virginia Homes Mfg. Corp.Boydton, Virginia + + + + + Dynapac Mfg., Inc. + + + + + Victorian Homes, Inc.Middlebury, Indiana + + + + + Vicon Farm Machinery, Inc. + + + + + Victory Implement Co. + + + + + Victor Mobile HomesDiv. DeRose Industries + + + + + Victoria + + + + + Viking + + + + + Villiers + + + + + Black Knight (model of Vincent) + + + + + Vindale Corp. + + + + + Vintage Homes + + + + + Virginia Mobile Homes Industries + + + + + Virginian Coach Camper Corp. + + + + + Viscount Trailers + + + + + Vista Queen Trailer + + + + + Vista Liner Coach & Trailer + + + + + Vito Mfg. Co.Hazleton, Pennsylvania + + + + + Viva Motor Home + + + + + Vivian Industrial PlasticsVivian, Louisiana + + + + + Viking Snowmobiles, Inc.Twin Valley, MN + + + + + VULCAN WORKS, INC; MANCHESTER, NEW HAMPSHIRE; MOTORCYCLES + + + + + Velocette + + + + + Villager Travel Trailer + + + + + VM Boat Trailer + + + + + Vanden Plas + + + + + VANGUARD INDUSTRIES OF MICHIGAN, INC.; COLON, MI + + + + + VAN HOOL BUSES & MOTOR COACHES + + + + + Vanguard National Trailer Corp. + + + + + VANTAGE DUMP TRAILERS, INC.; KATY, TX + + + + + VENTO MOTORCYCLES + + + + + VENTURI PARIS S. A. + + + + + Ventura Tent Camper + + + + + Volga + + + + + Vogue Motor Home + + + + + Volkswagen + + + + + Voloci + + + + + Volunteer Mfg. Corp. + + + + + Volvo + + + + + Vought Industries + + + + + VOR ENDURO MOTORCYCLE, ITALY + + + + + Vermont Traveler + + + + + Versa Two Wheel Trailer + + + + + Vista Custom TrailerJane, Missouri + + + + + VERTEMATI MOTORCYCLES + + + + + VENTURE TRAILERS + + + + + Vulcan Trailer Mfg. Co.Birmingham, Alabama + + + + + Veenema & Wiegers, Inc.Mfrs. "V & W" trailers--No. Haledon,New Jersey + + + + + Truckin TrailerMfd. by V.W.T. Corp. + + + + + Wabco Construction & Mining EquipmentSubsidiary of American Standard, Inc.Group + + + + + Wacker Corp.Milwaukee, Wisconsin + + + + + WADE SERVICES, INC.; ELLISVILLE, MS + + + + + Wago Campers + + + + + Wagon Master Trailer + + + + + Wagner + + + + + Wagon-Haven, Inc. + + + + + Wagon Train, Inc. + + + + + Ward LaFrance International Inc. + + + + + Waldon, Inc. + + + + + Walker Tractor Mfg. + + + + + Walsh Body & Trailer + + + + + Walker Stainless Equipment Co.New Lisbon, Wisconsin + + + + + Wallstrong Boat Trailer + + + + + Wallstrom Boat Trailer + + + + + Walker Mobile Homes + + + + + Walter Motor Truck Co. + + + + + Wanamaker Trailer + + + + + Wabash National CorporationLafayette, Indiana + + + + + Wanderer Camper + + + + + Wa-Nee Homes Corp. + + + + + Montgomery Ward + + + + + Warren Mfg. Co. + + + + + Warhawk Mfg. Co. + + + + + WARRIOR TRAILERS, ONTARIO, CA + + + + + Warrior Mfr.Henderson, Texas + + + + + Wain-Roy, Inc. + + + + + Warrenville Trailer Mfg., Inc.Warrenville, Illinois + + + + + Warszawa + + + + + Wartburg + + + + + Warwick + + + + + Wasp + + + + + Waverly StructuresNorth Carolina + + + + + Warner & Swasey Co. + + + + + Watford + + + + + Walter Products & Engineering Co. + + + + + Watson Industries + + + + + Watt Camper + + + + + Wayne Corp.Richmond, IN + + + + + Wayfarer Coach Mfg.Div. St. Paul Fence & Iron Works + + + + + Waymatic Welding & Fabricating Co.Fulton, Kentucky + + + + + Wayne SweeperSweeper Div., FMC, Pomona, California + + + + + WAYNE METAL PRODUCTS;MARKLE,INDIANA + + + + + Wayside Campers + + + + + W.C. Manufacturing & Specialty Co. + + + + + West Coaster Mailster3 wheels + + + + + WOOD-MIZER PRODUCTS, INC.; INDIANAPOLIS, IN + + + + + Weaver & SonsDiv. Ventoura Corporation + + + + + Weber + + + + + Westcraft Mobile Homes + + + + + Wedgewood Homes + + + + + Week-N-Der Pickup Camper + + + + + Weeres Trailer + + + + + WE-HAUL TRAILERS; DIVISION OF FOREST RIVER, INC. GOSHEN. IN + + + + + Weirs Trailer Sales + + + + + Circle LMfd. by Well-Built Trailers, Inc. + + + + + Welch Mfg. & Engineering Co. + + + + + Weld-It CompanyLos Angeles, California + + + + + Wells Cargo, IncElkhart, IN; commercial trailers + + + + + WeMac Mfg. Co.North Kansas City, Missouri + + + + + Wendax + + + + + Wenger Mfg. + + + + + Siefmund Werner + + + + + Werts Corp., Inc. + + + + + Werts BiltMfd. by Werts Welding Service + + + + + West Coach Mfg. Co. + + + + + West Wind Trailer Co. + + + + + Western + + + + + Westgo Industries, Inc. + + + + + Western Coach Corp. + + + + + Western Dynamics Corp. + + + + + Western Trailer Coach + + + + + Westholt Mfg. + + + + + Westinghouse Equipped Mobile Home + + + + + Westland Trailer Co.Portland, Oregon + + + + + Westward Coach Mfg. + + + + + Westways Mfg. + + + + + Western Products Div., DouglasDynamics, Inc. + + + + + W.F. Mickey Body Co., Inc. + + + + + Wheel Horse Products, Inc.Subsidiary American Motors Corp., SouthBend, Indiana + + + + + Wheel Campers Corp. + + + + + WHEEL ESTATE SALES & SERVICE, INC; TRADE NAME/STEWART LODGES + + + + + White GMC + + + + + Whitehaul Kaler Trailer + + + + + White Star Trailer + + + + + White Line Mfg. & Dist. Co. + + + + + Whippet + + + + + George White & Sons Co., Ltd.,(Canada) + + + + + White Motor Corp. + + + + + Whitley Mfg. Co. + + + + + Whitehead & Kales + + + + + Wheeler Truck TrailerMorley, Missouri + + + + + White Materials Handling, SubsidiaryWhite Motor Corp. + + + + + WHISPERING PINE CAMPER TRAILER + + + + + Whiteman Mfg. Co. + + + + + White Pine Campers, Inc.Waupaca, Wisconsin + + + + + Whizzer + + + + + Wisconsin Body & Hoist + + + + + Style-Craft Mobile HomesMfd. by Wickes Homes + + + + + Wicks Engineering & Construction Co. + + + + + Williams Craft, Inc. + + + + + Wig-A-Wam, Inc. + + + + + Wiggins Lifts Co., Inc.Mfgs. Forklifts + + + + + Wigwam Motor Home + + + + + Willmar ManufacturingWillmar, Minnesota + + + + + Will Craft Camper Trailer + + + + + Wildcat + + + + + Wildfire + + + + + Wildgoose + + + + + WILKENS MANUFACTURING, INC.; STOCKTON, KANSAS + + + + + Willys-Overland + + + + + Sun-RayMfd. by Wilson Trailer Mart + + + + + Wil-Ro, Inc.Gallatin, Tennessee + + + + + Willborn Brothers + + + + + Wilson + + + + + Williamsen Truck Equipment Corp.Mfr. "Williamsen Dump & Special Trailer"Salt Lake City, Utah + + + + + Wilson Trailer Co., Inc.Grain, livestock trailers--Sioux City,Iowa + + + + + Wil-Trail Corp. + + + + + Wilray ManufacturingFt. Benton, Montana + + + + + Winco Div.Dyna Technology, Inc., Minneapolis,Minnesota + + + + + Windjammer Motorcoach + + + + + Windward Enterprises + + + + + Winger Mfg. Co. + + + + + Winston IndustriesMobile homes--Double Springs, Alabama + + + + + Winder Liberator Camper + + + + + Winnebago Industries, Inc. + + + + + Winpower Corp.Newton, Iowa + + + + + Windsor Mobile Homes (old code WIND) + + + + + Winter Weiss Co. + + + + + Melvin Manufacturing Corp.See Whip It Snowmobiles + + + + + Wisconsin Trailer Co., Inc.Richfield, Wisconsin + + + + + Wise Welding, Inc. + + + + + Wise-Craft Mfg. + + + + + Wishbone Trailers, Inc.Hot Springs, Arkansas + + + + + Penn RoyalMfd. by Wisconsin Homes, Inc. + + + + + Wisconsin Tag-A-Long Trailer + + + + + Witzco Trailers, Inc. + + + + + Western Auto Supply Co.Also see make Wizard + + + + + Welchel Enterprises, LLC + + + + + Wilderness Travel Trailer + + + + + WELDTITE TRAILERS; HUNTERSVILLE, NC + + + + + Walker + + + + + Willys + + + + + WALTRON LIMITED/ALDURA; RIDGETOWN, ONTARIO CANADA + + + + + Wells Western Trailers; Also see Western Recreation Mfg., Inc. + + + + + W & M ENTERPRISES, INC.; LAWRENCEBURG, INDIANA + + + + + Windham Mfg. Co., Inc.Mfgs. loaders + + + + + G.T.Wolfe Mobile Homes + + + + + Wolfe Mfg. Co. + + + + + Wolseley + + + + + Wolverine Camper + + + + + Wonder Land Camper + + + + + Woodland Camper Co. + + + + + Wood/Chuck Chipper Corp.Mfrs. brushchippers--Shelby, NorthCarolina + + + + + Woodill Wildfire + + + + + Ranger Trail TrailersMfd. by Wood Mfg. Co., Inc. + + + + + Woodline Custom Camper + + + + + Woodsmen Camper + + + + + Work Horse Mfg. + + + + + Worthington Compressors, Inc.Holyoke, Massachusetts + + + + + Work-N-Play + + + + + World Wide Industries + + + + + Worrell Trailer Mfg. + + + + + Worthington Champ + + + + + Woodland Park, Inc.Middleberry, Iowa + + + + + Wrangler Trailers + + + + + Wrangler Recreational ProductsFlorence, Alabama + + + + + WRIGHT; STANDER & SENTAR MOWER MODELS;FARM & GARDEN EQUIPMENT + + + + + Hunter's DreamMfd. by Wright Industries, Inc. + + + + + Kitty HawkMfd. by Wright Brothers, Inc. + + + + + WORKHORSE CUSTOM CHASIS + + + + + World Trailers, Inc.Ocala, Florida + + + + + WESTERN RECREATIONAL VEHICLES, INC.; YAKIMA, WA + + + + + Wonder State Boat Trailer + + + + + WILD SIDE LLC; FRANKLIN, TN + + + + + WSK + + + + + Western Trailers IncCo-Tem Corp. Boise, Idaho + + + + + Western Star + + + + + WES-TEX MANUFACTURING, INC.; LUBBOCK, TX + + + + + Watson Tractor Co., Inc.Danielsville, Georgia + + + + + Westank Industries, Inc. + + + + + WTM, INC.; HALEYVILLE, AL + + + + + WTM, Inc. + + + + + Watsonian + + + + + Wesco Truck & Trailer SalesWoodland, California + + + + + Circle J Stock TrailerMfd. by Western World Inc., previouslyknown as Western Trailers Works, Inc. + + + + + West Texas Dollies + + + + + I.R. Witzer Company, Inc. + + + + + W-W TrailersStock Trailers + + + + + Westerwalder EisenwerkWest Germany + + + + + WILD WEST MOTOR COMPANY; POWAY, CA. (PEACEMAKER MODEL) + + + + + WORTHINGTON WELDING, INC. TRAILERS; PENNSYLVANIA 4MV OR 1W9/OO3 + + + + + W.W. TRAILER MANUFACTURERS, INC; OKLAHOMA + + + + + W & W White Horse Trailer + + + + + John T. Wydro + + + + + Wy Frame Corp.Elkhart, Indiana + + + + + Wylie Manufacturing Co.Subsidiary E. D. Etynre & Co.--Oregon,Illinois + + + + + Wynn Trailer Works + + + + + Wynona Corp.Nappanee, Indiana + + + + + X-CEL TRAILERS, INC.; FORNEY, TX + + + + + X-L SPECIALIZED TRAILERS; OELWIN, IA.; SD,DDE,MFG,HDG,LSD TRAILERS + + + + + EXMARK RIDING LAWN MOWER + + + + + XPLORER MOTOR HOME DIV OF FRANK INDUSTRIES + + + + + Xplorer Enterprises of Constantine + + + + + X-Tra Camper Co. + + + + + XTREME ATVS + + + + + XYZ Trailer + + + + + Yacht Club + + + + + Yadro TrailersMilwaukee, Wisconsin + + + + + Yanger Mobile Homes + + + + + Materials Handling Div., Eaton Corp. + + + + + Chappy (mfd. by Yamaha Motor Corp.) + + + + + Yampa Coach Mfg. + + + + + Yamoto + + + + + Yangzhou Tonghua Semi-Trailer Co., Ltd. + + + + + Yankee + + + + + Yanmar Tractor USA, Inc.Bensenville, Illinois + + + + + Comet Motorcycle TrailerMfd. by Yarbrough Mfg. Co., Inc. + + + + + Yard-Man Co. + + + + + YARD MACHINE; SUBSIDIARY OF MTD INDUSTRIES (MOWERS ETC) + + + + + Yazoo Mfg. Co., Inc.Jackson, Mississippi + + + + + Yellowstone, Inc. + + + + + Yenco + + + + + Yenko + + + + + YENTES BROTHERS WELDING; LANCASTER, CALIFORNIA + + + + + Yetter Mfg. Co. + + + + + YLN (Yue Loong Motor Co.) + + + + + Yamaha Motor Company, Ltd.Cypress, CA + + + + + York Forklift + + + + + York Modern Corp. + + + + + Young Corp. + + + + + Young Spring & Wire + + + + + Ysob Co. + + + + + Yuchi Mobile Homes + + + + + Yukon Delta + + + + + Y W + + + + + Zaporozhets + + + + + ZAP (Zero Air Pollution) + + + + + Zar Car + + + + + Zastavia (ZCZ-Yugoslavia) + + + + + Zeta + + + + + ZHONGYU GROUP; MOTORCYCLES ETC. + + + + + Ziegler + + + + + Zieman + + + + + Zil + + + + + Zim + + + + + Consort Mobile HomesMfd. by Zimmer Homes Corp. + + + + + Zimmerman Automobiles + + + + + Zipper, Inc. + + + + + ZIMMER MOTOR CAR COMPANY; SYRACUSE, NY + + + + + ZIMMERMAN TRAILERS + + + + + Zanella + + + + + Zoboda + + + + + Zollinger Trailer Co. + + + + + Zongshen Motorcycle Co., Ltd., or Cixi Zongshen Motorcycle Co., Ltd. + + + + + Zundapp + + + + + Zwickau + + + + + + + A data type for Vehicle Make. + + + + + + + + + + + + + A data type for Vehicle Model. + + + + + + + + (BMW) 2002 Series, BMW + + + + + (AUDI) 100, Audi; (AUHE) 100 Series, Austin-Healy; (DODG) A 100 Compact, Dodge; (ENGF) 100 E Series, English Ford (British); (NSU) 1000, Nsu Prinz; (SIM) 1000 & 1000GL, Simca; (SUBA) 100 Series, Subaru + + + + + (DKW) F102, DKW + + + + + (ENGF) 105 E Series, English Ford (British) + + + + + (AUST) 1100, Austin; (DATS) 110, Datsun; (FIAT) 1100 - D or R, Fiat; (MORR) 1100, Morris; (NSU) 110 Type, Nsu Prinz; (SUBA) 1100 Series, Subaru + + + + + (VOLK) 113, Volkswagen + + + + + (DATS) 1200, Datsun; (FIAT) 1200, Fiat; (SIM) 120, Simca; (TRIU) 1200, Triumph; (VOLK) 1200, Volkswagen + + + + + (VOLV) 122 Series, Volvo + + + + + (FIAT) 124 Series, Fiat + + + + + (TRIU) 1250, Triumph + + + + + (FIAT) 128 Series, Fiat + + + + + (LAMO) LM129, Lamborghini + + + + + (PORS) 1300, Porsche; (SUBA) 1300 Series, Subaru; (TRIU) 1300, Triumph; (VOLK) 1300, Volkswagen + + + + + (FIAT) 131 Series, Fiat + + + + + (SUBA) 1400 Series, Subaru; (VOLV) 140 Series, Volvo + + + + + (FIAT) 1500, Fiat; (PORS) 1500, Porsche; (VOLK) 1500, Volkswagen + + + + + (ENCR) M151, Encore + + + + + (BMW) 1600, BMW; (HILL) 1600 Series, Hillman; (MG) 1600, MG; (PORS) 1600, Porsche; (SUBA) 1600 Series, Subaru + + + + + (ALFA) 164, Alfa Romeo; (VOLV) 164 Series, Volvo + + + + + (RENA) 18i, Renault + + + + + (AUST) 1800, Austin; (BMW) 1800, BMW; (MERZ) 180 Series, Mercedes-Benz; (VOLV) 1800 Series, Volvo + + + + + (MERZ) 190 Series, Mercedes-Benz; (OPEL) 1900, Opel (imported by Buick); (VOLV) P1900, Volvo + + + + + (AUDI) 100GL, Audi + + + + + (AUDI) 100LS, Audi + + + + + (BMW) 200, BMW + + + + + L200 + + + + + (PEUG) 203, Peugeot + + + + + (FERR) 206, Ferrari + + + + + (FERR) 208, Ferrari + + + + + (CHEV) 210 Series, Chevrolet; (DATS) 210 (or B-210), B-210 (or 210), Datsun + + + + + (MERZ) 219 Series, Mercedes-Benz + + + + + (MERZ) 220 Series, Mercedes-Benz + + + + + (MASE) 228, Maserati + + + + + (MERZ) 230 Series, Mercedes-Benz + + + + + (MERZ) 240 Series, Mercedes-Benz; (NISS) 240SX, Nissan; (VOLV) 240 Series, Volvo + + + + + (VOLV) 245 Series, Volvo + + + + + (JAGU) 2.4 Litre, Jaguar + + + + + (DATS) 240Z, Datsun + + + + + (ROV) Rover 25, Rover + + + + + (BMW) 2500 Series, BMW; (LEXS) ES250, Lexus; (MDNA) GT250, Modena; (MERZ) 250 Series, Mercedes-Benz; (TRIU) 250, Triumph; (LEXS) IS250, Lexus + + + + + (DATS) 260Z, Datsun; (MERZ) 260 Series, Mercedes-Benz; (VOLV) 260 Series, Volvo + + + + + (ALFA) 2600 Sprint, Alfa Romeo + + + + + (ALFA) 2600 Spider, Alfa Romeo + + + + + (BMW) 2.8, BMW + + + + + (BMW) 2800 Series, BMW; (DATS) 280Z, Datsun; (MERZ) 280 Series, Mercedes-Benz; (MERZ) SLK280, Mercedes - Benz; (ISU) i280, Isuzu + + + + + (BMW) 328i, BMW + + + + + (CITR) 2CV, Citroen + + + + + (PONT) 2+2, Pontiac + + + + + (DATS) 200SX, Datsun + + + + + (DATS) 280ZX, Datsun + + + + + (BMW) 3.0 Si, BMW + + + + + L300 + + + + + (PEUG) 304, Peugeot + + + + + (FERR) 308, Ferrari + + + + + (DATS) 310, Datsun + + + + + (DATS) 311, Datsun + + + + + (BMW) 318i, BMW + + + + + (BMW) 320i, BMW; (MERZ) 320 Series, Mercedes-Benz + + + + + (BMW) 323i, BMW; (MAZD) 323, Mazda + + + + + (BMW) 325, BMW; (BMW) 325Xi, BMW + + + + + (BMW) 328is, BMW; (FERR) 328, Ferrari + + + + + (BMW) 325i, BMW + + + + + (DODG) 330 Series, Dodge; (BMW) 330I, BMW; (LEXS) ES330, Lexus; (BMW) 330Xi, BMW + + + + + (JAGU) 340, Jaguar + + + + + (FERR) 348, Ferrari + + + + + (JAGU) 3.4 Litre, Jaguar + + + + + (MASE) 3500 (series), Maserati; (ROV) 3500, Rover; (NISS) 350Z, Nissan ; (MERZ) E350 OR SLK350, Mercedes Benz; (MERZ) S350, Mercedes - Benz; (ISU) i350, Isuzu; (LEXS) IS350, Lexus + + + + + (PORS) 356, Porsche + + + + + 360 Challenge Stradale + + + + + (MERZ) 380 Series, Mercedes-Benz + + + + + (JAGU) 3.8 Litre, Jaguar + + + + + (MITS) 3000 GT, Spyder 3000 GT, Mitsubishi + + + + + (ROV) 3 Litre, Rover + + + + + (BMW) 318ti, BMW + + + + + (AUDI) 4000, Audi; (DODG) 400 Series, Dodge; (LEXS) LS400, Lexus; (MASE) 4000 (series), Maserati; (MERZ) 400 Series, Mercedes-Benz + + + + + (PEUG) 403, Peugeot + + + + + (PEUG) 404, Peugeot + + + + + (PEUG) 405, Peugeot + + + + + (VOLK) 411/412, Volkswagen + + + + + (JAGU) 420, Jaguar; (MASE) 4200 GT, Maserati; (MERZ) 420 Series, Mercedes-Benz + + + + + (MASE) 425, Maserati + + + + + (JAGU) 4.2 Litre, Jaguar + + + + + (MASE) 430, Maserati + + + + + (DODG) 440 Series, Dodge + + + + + (OLDS) 37350, Oldsmobile + + + + + (VOLV) PV444, Volvo + + + + + (ROV) Rover 45, Rover + + + + + (MERZ) 450 Series, Mercedes-Benz + + + + + (FERR) 456GT, Ferrari + + + + + (MG) Princess 4-R, MG + + + + + (TOYT) 4-Runner, Highlander (4Runner), Toyota + + + + + (AUDI) 5000, Audi; (MASE) 5000 (series), Maserati; (FORD) Five Hundred (500), Ford; (MERZ) CLS500, Mercedes Benz; (MERZ) S500, Mercedes - Benz + + + + + (PEUG) 504 Series, Peugeot + + + + + (PEUG) 505 Series, Peugeot + + + + + (DATS) 510, Datsun + + + + + (FERR) 512, Ferrari + + + + + (BMW) 520, BMW + + + + + (BMW) 524 Series, BMW + + + + + (BMW) 525ia, BMW; (BMW) 525i, BMW + + + + + (BMW) 528i, BMW + + + + + (BMW) 530i, BMW + + + + + (BMW) 533i, BMW + + + + + (BMW) 535 Series, BMW + + + + + (BMW) 540, BMW + + + + + (VOLV) PV544, Volvo + + + + + (BMW) 545i, BMW + + + + + (MERZ) 560 Series, Mercedes-Benz + + + + + (FERR) 575 MM, Ferrari + + + + + (CADI) 60 Series, Cadillac + + + + + (BMW) 600, BMW; (DODG) 600, Dodge; (FIAT) 600D, Fiat; (MERZ) 600 Series, S600, Mercedes-Benz; (PONT) 6000, Pontiac + + + + + (PEUG) 604, Peugeot + + + + + (CADI) 61 Series, Cadillac + + + + + (DATS) 610, Datsun + + + + + 612 Scaglietti + + + + + (MAZD) 616, Mazda + + + + + (MAZD) 618, Mazda + + + + + (CADI) 62 Series, Cadillac + + + + + (MAZD) 626, Mazda + + + + + (BMW) 630csi, BMW + + + + + (BMW) 633csi, BMW + + + + + (BMW) 635 Series, BMW + + + + + (BMW) 645, BMW + + + + + (DATS) 710, Datsun + + + + + (BMW) 733 Series, BMW + + + + + (BMW) 735 Series, BMW + + + + + (BMW) 740, BMW; (VOLV) 740 Series, Volvo + + + + + (BMW) 745i, BMW; (VOLV) 745 Series, Volvo + + + + + (BMW) 740i, BMW + + + + + (CADI) 75 Series, Cadillac; (ROV) Rover 75, Rover + + + + + (BMW) 750, BMW; (FIAT) 750, Fiat; (RENA) 750, Renault; (BMW) 750i, BMW; (BMW) 750L, BMW + + + + + (BMW) 750iL, BMW + + + + + (VOLV) 760, Volvo; (BMW) 760 LI, BMW ; (BMW) 760i, BMW + + + + + (VOLV) 765 Series, Volvo + + + + + (VOLV) 780 Series, Volvo + + + + + (FORD) 7 Litre, Ford (see English, French, German, and Italian Ford) + + + + + (MAZD) 808 Series (piston engine), Mazda + + + + + (DATS) 810, Datsun + + + + + (STLG) 825, Sterling; (GLBL) E825, Global Electric Motorcars + + + + + (STLG) 827, Sterling + + + + + (BMW) 840Ci, BMW + + + + + (AUDI) 850, Audi; (AUST) 850, Austin; (BMW) 850i, BMW; (MORR) 850 Series, Morris; (VOLV) 850 Series, Volvo + + + + + (BMW) 850Ci, BMW + + + + + (FIAT) 850 Fastback, Fiat + + + + + (OLDS) 88, Oldsmobile + + + + + (DODG) 880 Series, Dodge + + + + + (SAA) 900, Saab + + + + + (SAA) 9000, Saab + + + + + (PORS) 911, Porsche + + + + + (PORS) 912, Porsche + + + + + (PORS) 914, Porsche + + + + + 9-2X + + + + + (PORS) 924, Porsche + + + + + (PORS) 928, Porsche + + + + + (MAZD) 929, Mazda + + + + + (SAA) 93 & 93B, Saab + + + + + (PORS) 930, Porsche + + + + + (VOLV) 940, Volvo + + + + + (PORS) 944, Porsche + + + + + (SAA) 95, Saab + + + + + (SAA) 96, Saab + + + + + (VOLV) 960, Volvo + + + + + (PORS) 968, Porsche + + + + + 9-7X + + + + + (OLDS) 98, Oldsmobile + + + + + (SAA) 99, Saab + + + + + (AUST) A99 & 110, Austin + + + + + (AUDI) A2, Audi + + + + + A3 (Sportback) + + + + + (AUST) A40, Austin + + + + + (AUST) A55, Austin + + + + + (AUST) Cambridge, Austin + + + + + (AUDI) 80, Audi + + + + + (AUDI) 90, Audi + + + + + (AUDI) A4, Audi + + + + + (AUDI) A6, Audi + + + + + (AUDI) A8, Audi + + + + + (AVTI) Series A, Avanti + + + + + (AVTI) Series B, Avanti + + + + + (HYUN) Accent, Hyundai; (HOND) Accord, Honda; (PLYM) Acclaim, Plymouth + + + + + EL, Acura (Import from Canada) + + + + + (OLDS) Achieva, Oldsmobile + + + + + (DESO) Adventurer, DeSoto + + + + + (CHEC) Aerobus, Checker; (FORD) Aerostar, Ford (see English, French, German, and Italian Ford) + + + + + (ALFA) Alfetta GT, Alfa Romeo + + + + + (AMER) Alliance, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (CADI) Allante, Cadillac; (AUDI) Allroad, Audi + + + + + (OLDS) Alero, Oldsmobile + + + + + (ROOT) Alpine, Rootes; (SUNB) Alpine, Sunbeam + + + + + (BUIC) Allure, Buick + + + + + (NISS) Altima, Nissan + + + + + (CITR) AM16, Citroen + + + + + (KIA) Amanti, Kia Motors Corp. + + + + + (AMER) Ambassador, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (NASH) Ambassador, Nash; (RAMB) Ambassador, Rambler (mfd. prior to 1966; 1966 and later Ramblers - see make American Motors) + + + + + (ISU) Amigo, Isuzu + + + + + (AMER) AMX, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (ITAF) Anglia, Italian Ford; (ENGF) Anglia, English Ford (British) + + + + + (PLYM) Arrow (imported), Plymouth + + + + + (BUIC) Apollo, Buick + + + + + (DODG) Aries, Dodge + + + + + Armada (Formerly Pathfinder Armada) + + + + + (ALFA) Arna, Alfa Romeo; (AMER) American, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (BENT) Arnage, Bentley; (RAMB) American (AME for reference only), Rambler (mfd. prior to 1966; 1966 and later Ramblers - see make American Motors) + + + + + (SIM) Aronde, Simca; (SUZI) Aerio, Suzuki + + + + + (ROOT) Arrow, Rootes; (SUNB) Arrow, Sunbeam + + + + + (AUDI) S4, Audi + + + + + (AUDI) S6, Audi + + + + + (AUDI) S8, Audi + + + + + (ISU) Ascender, Isuzu + + + + + (DODG) Aspen, Dodge; (FORD) Aspire, Ford (see English, French, German, and Italian Ford); (CHRY) Aspen, Chrysler + + + + + (CHEV) Astro Van, Chevrolet; (OPEL) Astra, Opel (imported by Buick); (PONT) Astre, Pontiac + + + + + (ACUR) TL, Acura + + + + + (HYUN) Atos, Hyundai + + + + + (NISS) ALTRA-EV, Nissan + + + + + (DKW) Audi, DKW + + + + + (OLDS) Aurora, Oldsmobile; (STRN) Aura, XE, XR, Saturn + + + + + (ASVE) Assembled Vehicles + + + + + (HYUN) Avatar, Hyundai; (AUDI) Avant, Audi; (CHEV) Avalanche, Chevrolet; (NSU) Auto Nova, Nsu Prinz; (STU) Avanti, Studebaker; (TOYT) Avalon, Toyota; (LINC) Aviator, Lincoln + + + + + (KIA) Avella, Kia Motors Corp.; (TOYT) Avensis, Toyota + + + + + (DODG) Avenger, Dodge + + + + + (CHEV) Aveo, Chevrolet + + + + + (CITR) AX, Citroen + + + + + (ISU) Axiom, Isuzu + + + + + (NISS) Axxess, Nissan + + + + + Azera + + + + + (PONT) Aztek, Pontiac + + + + + (BENT) Azure, Bentley + + + + + (MAZD) B2000, Mazda + + + + + (MAZD) B2200, Mazda + + + + + (MAZD) B2300, Mazda + + + + + (MAZD) B2500, Mazda + + + + + (MAZD) B2600, Mazda + + + + + (MAZD) B3000, Mazda + + + + + (MAZD) B4000, Mazda + + + + + (BESA) Baci, Besasie Automobile Co., Inc. + + + + + (PACK) Balboa, Packard + + + + + (FERR) Barchetta (or F130), F130 (Barchetta), Ferrari; (PLYM) Barracuda, Plymouth + + + + + (BMW) Bavaria, BMW + + + + + (ACAD) Beaumont Series, Acadian (GM of Canada) + + + + + (BORG) Bel Air, Borgward; (CHEV) Bel Air, Chevrolet; (PLYM) Belvedere, Plymouth + + + + + (ALFA) Berlina, Alfa Romeo; (BORG) Beretta, Borgward; (CHEV) Beretta, Chevrolet; (LNCI) Berlina, Lancia; (SIM) Bertone, Simca + + + + + (LNCI) Beta Series, Lancia + + + + + (BORG) Biscayne, Borgward; (CHEV) Biscayne, Chevrolet + + + + + (MASE) Biturbo, Maserati + + + + + (SUBA) Baja, Subaru + + + + + (AERO) Blimp + + + + + (CHEV) Blazer, Chevrolet + + + + + (MERC) Bobcat, Mercury + + + + + (PONT) Bonneville, Pontiac + + + + + (MASE) Bora, Maserati + + + + + (PORS) Boxter 986, Porsche + + + + + (FIAT) Brava, Fiat + + + + + (MERC) Breezeway, Mercury + + + + + (CHEV) Brookwood, Chevrolet + + + + + (BENT) Brooklands, Bentley; (CADI) Brougham, Cadillac; (FORD) Bronco/Bronco II, Ford (see English, French, German, and Italian Ford); (MERC) Brougham, Mercury + + + + + (SUBA) Brat, Subaru + + + + + (FORD) Brewster (antique vehicle), Ford + + + + + (PLYM) Breeze, Plymouth + + + + + (VOLK) Beetle (Super Beetle or Bug), Volkswagen + + + + + (OLDS) Bravada, Oldsmobile + + + + + (LINC) Blackwood, Lincoln + + + + + (CHEV) C10, Chevrolet + + + + + (CHEV) C/K 1500, Chevrolet + + + + + (MERZ) C220, Mercedes-Benz + + + + + (MERZ) C230, Mercedes-Benz + + + + + (MERZ) C240, Mercedes-Benz + + + + + (CHEV) C/K 2500, Chevrolet + + + + + (MERZ) C280, Mercedes-Benz + + + + + (MERZ) C320, Mercedes-Benz + + + + + (CHEV) C/K 3500, Chevrolet; (MERZ) C350, Mercedes Benz + + + + + (MERZ) C36, Mercedes-Benz + + + + + (MERZ) C43, Mercedes-Benz + + + + + C55, CLS55 + + + + + CL65 + + + + + (VOLV) C70, Volvo + + + + + (AUDI) Cabriolet, Audi; (BERO) Cabrio, Bertone; (GMC) Cabellero, General Motors Corp.; (PORS) Cabriolet, Porsche; (VOLK) Cabriolet, Volkswagen + + + + + (BUIC) California, Buick; (CADI) Calais, Cadillac; (OLDS) Calais, Oldsmobile; (DODG) Caliber, Dodge + + + + + (CHEV) Camaro, Chevrolet; (PLYM) Cambridge, Plymouth; (ROL) Camargue, Rolls-Royce; (TOYT) Camry, Toyota + + + + + (ACAD) Canso Series, Acadian (GM of Canada) + + + + + (CHEV) Caprice, Chevrolet; (ENGF) Capri, English Ford (British); (MERC) Capri (1979 and later), Mercury + + + + + (KAIS) Carolina, Kaiser; (OPEL) Caravan, Opel (imported by Buick); (PACK) Caribbean, Packard; (PORS) Carrera, Porsche; (TOYT) Carina, Toyota + + + + + (CADI) Catera, Cadillac; (PONT) Catalina, Pontiac + + + + + (CHEV) Cavalier, Chevrolet; (PACK) Cavalier, Packard; (TOYT) Cavalier, Toyota + + + + + Cayman + + + + + (CHEV) Cobal, Chevrolet + + + + + (MERC) Country Cruiser, Mercury; (OLDS) Custom Cruiser, Oldsmobile + + + + + Construction Equipment + + + + + (CHEV) Celebrity, Chevrolet + + + + + (BUIC) Century, Buick + + + + + (CHEV) Chevy II, Chevrolet + + + + + (DAIH) Charade, Daihatsu; (DODG) Charger (and Shelby Charger), Dodge; (GAZ) Chaika, GAZ; (MITS) Chariot, Mitsubishi; (PLYM) Champ (imported), Plymouth; (SIN) Chamois, Singer; (STU) Challenger, Studebaker + + + + + (PONT) Chieftain, Pontiac + + + + + (JEEP) Cherokee, Jeep (for vehicle years 1989 to present, use VMA/JEEP); (JEP) Cherokee, Jeep (for vehicle years prior to 1970, use VMA/JEP); (AMER) Cherokee, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (DODG) Challenger, Dodge + + + + + (STU) Champion, Studebaker + + + + + (CADI) Cimarron, Cadillac + + + + + (CHRY) Cirrus, Chrysler + + + + + (CHEV) Citation, Chevrolet; (EDSE) Citation, Edsel + + + + + (HOND) Civic (and CRX), Del Sol, Honda + + + + + (JEEP) CJ-5, Jeep (for vehicle years 1989 to present, use VMA/JEEP); (JEP) CJ-5, Jeep (for vehicle years prior to 1970, use VMA/JEP); (AMER) CJ-5, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (JEEP) CJ-6, Jeep (for vehicle years 1989 to present, use VMA/JEEP); (JEP) CJ-6, Jeep (for vehicle years prior to 1970, use VMA/JEP); (AMER) CJ-6, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (JEEP) CJ-7, Jeep (for vehicle years 1989 to present, use VMA/JEEP); (JEP) CJ-7, Jeep (for vehicle years prior to 1970, use VMA/JEP); (AMER) CJ-7, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (JEEP) CJ-8, Jeep (for vehicle years 1989 to present, use VMA/JEEP); (JEP) CJ-8, Jeep (for vehicle years prior to 1970, use VMA/JEP); (AMER) CJ-8, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (MERZ) CLK500, Mercedes-Benz + + + + + (ACUR) CL (sport coupe), Acura + + + + + (MERZ) CLK430, Mercedes-Benz + + + + + (MERZ) CL500, Mercedes-Benz + + + + + (MERZ) CL600, Mercedes-Benz + + + + + (RAMB) Classic, Rambler (mfd. prior to 1966; 1966 and later Ramblers - see make American Motors); (CHEV) Classic, Chevrolet + + + + + (CHEV) Colorado, Chevrolet + + + + + (MERC) Caliente, Mercury; (PACK) Clipper, Packard + + + + + (KIA) Clarus, Kia Motors Corp. + + + + + (DODG) Colt (imported), Dodge; (PLYM) Colt (Canadian), Plymouth + + + + + (SANG) CM600S, Sangyong + + + + + Commander + + + + + (MERC) Commuter, Mercury + + + + + (CHRY) Concorde, Chrysler + + + + + (CHEV) Confederate (antique vehicle), Chevrolet + + + + + (BUIC) Centurion, Buick; (FORD) Contour, Ford (see English, French, German, and Italian Ford) + + + + + (TOYT) Corolla, Toyota + + + + + (EXCL) Cobra, Excalibur; (FORD) Cobra (also see make Shelby American), Ford (see English, French, German, and Italian Ford); (VOLV) Combi, Volvo + + + + + (MERC) Colony Park, Mercury + + + + + (HUDS) Commodore, Hudson; (JEEP) Comanche, Jeep (for vehicle years 1989 to present, use VMA/JEEP); (JEP) Comanche, Jeep (for vehicle years prior to 1970, use VMA/JEP); (AMER) Comanche, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (CHRY) Commander, Chrysler; (COMV) Comuta-Car, Commuter Vehicles, Inc.; (DODG) Compact Sportsman, Dodge; (FREF) Comete, French Ford; (MERC) Comet, Mercury; (STU) Commander, Studebaker + + + + + (AMER) Concord, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (BENT) Continental Convertible, Bentley; (CADI) Concours, Cadillac; (CHRY) Conquest (vehicle year 1987 and later), Chrysler; (DODG) Conquest (vehicle year 1986 only), Dodge; (ENGF) Consul, English Ford (British); (LINC) Continental, Lincoln-Continental + + + + + (FORD) Country Squire, Ford (see English, French, German, and Italian Ford); (PLYM) Conquest (vehicle years 1984-1986), Plymouth + + + + + (BENT) Corniche, Bentley; (CHRY) Cordoba, Chrysler; (DODG) Coronet, Dodge; (EDSE) Corsair, Edsel; (ENGF) Corsair, English Ford (British); (MITS) Cordia, Mitsubishi; (ROL) Corniche, Rolls-Royce; (TOYT) Corona, Toyota; (VOLK) Corrado, Volkswagen + + + + + (LAMO) Countach, Lamborghini; (MERC) Cougar, Mercury + + + + + (FORD) Country Sedan, Ford (see English, French, German, and Italian Ford); (METE) Country Sedan, Meteor (Canadian Mercury) + + + + + (MASE) Coupe/Coupe GT, Maserati + + + + + (MNNI) Cooper/Cooper-S (rights bought by BMW), Mini + + + + + (AUST) Cooper "S", Austin + + + + + (PLYM) Cranbrook, Plymouth + + + + + (BREM) Creighton, Bremen Sport Equipment, Inc. (Bremen, IN); (FORD) Crestline, Ford (see English, French, German, and Italian Ford); (TOYT) Cressida, Toyota; (VAUX) Cresta, Vauxhall + + + + + (CHRY) Crossfire, Chrysler + + + + + (PLYM) Cricket (imported), Plymouth + + + + + (PLYM) Caravelle, Plymouth + + + + + (IMPE) Crown, Imperial (for vehicle years 1955-1983, use VMA/IMPE; for vehicle years prior to 1955 and vehicle years 1990-1993, see make Chrysler); (TOYT) Crown, Toyota + + + + + (CHEV) Corsica, Chevrolet + + + + + (CHRY) PT Cruiser, Chrysler; (STU) Cruiser, Studebaker + + + + + (HOND) CRV, Honda; (OLDS) Caravan, Oldsmobile; (RENA) Caravelle, Renault + + + + + (MAZD) Cosmo, Mazda + + + + + (FORD) Customline, Ford (see English, French, German, and Italian Ford); (TOYT) Celica, Toyota + + + + + (SHEB) CSX, Shelby American; (ACUR) CSX, Acura + + + + + (ENGF) Cortina, English Ford (British) + + + + + (CADI) CTS, Cadillac + + + + + (SOLE) Citi Van, Solectria + + + + + (FORD) Think City (Elec.Veh. Model Year 2002), Ford + + + + + (IMPE) Custom, Imperial (for vehicle years 1955-1983, use VMA/IMPE; for vehicle years prior to 1955 and vehicle years 1990-1993, see make Chrysler); (CHEC) Custom, Checker; (DESO) Custom, DeSoto; (FORD) Custom, Ford (see English, French, German, and Italian Ford); (LINC) Custom, Lincoln-Continental; (MERC) Custom, Mercury; (OLDS) Custom, Oldsmobile; (PONT) Custom, Pontiac; (RAMB) Custom, Rambler (mfd. prior to 1966; 1966 and later Ramblers - see make American Motors) + + + + + (OLDS) Cutlass/Ciera, Supreme, Oldsmobile + + + + + (FORD) Crown Victoria, Ford + + + + + (DODG) Caravan, Dodge; (CHRY) Caravan, Chrysler + + + + + (CHEV) Corsa (Corvair), Corvair, Chevrolet + + + + + (CHEV) Corvette, Chevrolet + + + + + (FORD) Club Wagon E150, Ford (see English, French, German, and Italian Ford) + + + + + (FORD) Club Wagon E250, Ford (see English, French, German, and Italian Ford) + + + + + (FORD) Club Wagon E350, Ford (see English, French, German, and Italian Ford) + + + + + (MERC) Cyclone, Mercury + + + + + Motorcycles + + + + + (GMC) Canyon, General Motors Corp. ; (PORS) Cayenne, Porsche + + + + + (CITR) DS-19, Citroen + + + + + (CITR) DS-21 & D21, Citroen + + + + + (JEEP) Dakar, Jeep (for vehicle years 1989 to present, use VMA/JEEP); (JEP) Dakar, Jeep (for vehicle years prior to 1970, use VMA/JEP); (AMER) Dakar, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (DODG) Dakota, Dodge + + + + + (KAIS) Darrin, Kaiser; (DODG) Dart, Dodge + + + + + (VOLK) Dasher, Volkswagen + + + + + (RENA) Dauphine, Renault + + + + + (DODG) Daytona, Dodge; (FERR) Daytona, Ferrari; (STU) Daytona, Studebaker + + + + + (ASTO) DB-5, Aston Martin + + + + + (ASTO) DB-6, Aston Martin + + + + + (ASTO) DB7 (Coupe), Volante (DB7), Aston Martin + + + + + DB9 + + + + + (DETO) Deauville, DeTomaso + + + + + (LNCI) Dedra, Lancia + + + + + (LNDR) Defender 90, Defender 110, Land Rover + + + + + (HUDS) Deluxe, Hudson; (KAIS) Deluxe, Kaiser; (CHEV) Del Ray, Chevrolet; (DESO) Deluxe, DeSoto; (DODG) Deluxe, Dodge; (FORD) Deluxe, Ford (see English, French, German, and Italian Ford); (HILL) Deluxe, Hillman; (MORR) Deluxe, Morris; (OLDS) Deluxe, Oldsmobile; (PONT) Deluxe, Pontiac; (RAMB) Deluxe, Rambler (mfd. prior to 1966; 1966 and later Ramblers - see make American Motors); (SUNB) Deluxe, Sunbeam; (VANG) Deluxe, Vanguard (Canada) + + + + + (DODG) Demon (Dart), Dodge + + + + + (GMC) Denali, General Motors Corp. + + + + + (CADI) DeVille, Cadillac; (PANE) DeVille, Panther Westwinds, Ltd. + + + + + (LAMO) Diablo, Lamborghini; (MITS) Diamante, Mitsubishi + + + + + (DODG) Diplomat, Dodge + + + + + (LNDR) Discovery, Land Rover + + + + + (SUBA) DL, Subaru; (VOLV) DL, Volvo + + + + + (OLDS) Delmont 88, Oldsmobile + + + + + (OLDS) Delta 88, LSS (Delta 88), Royale, Oldsmobile + + + + + (OPEL) Diplomat, Opel (imported by Buick) + + + + + (KAIS) Dragon, Kaiser + + + + + DTS (Replaced DeVille Model Name) + + + + + (ALFA) Duetto, Alfa Romeo + + + + + (SPEC) Dune Buggies + + + + + (DODG) Durango, Dodge + + + + + (PLYM) Duster, Plymouth + + + + + (DODG) Dynasty, Dodge; (OLDS) Dynamic 88, Oldsmobile; (CHRY) Dynasty, Chrysler + + + + + (BUGA) EB110, Bugatti + + + + + (MERZ) E300, Mercedes-Benz + + + + + (MERZ) E320, Mercedes-Benz + + + + + (MERZ) E420, Mercedes-Benz + + + + + (MERZ) E430, Mercedes-Benz + + + + + (FORD) Econoline E-450, Ford + + + + + (MERZ) E500, Mercedes-Benz + + + + + (MERZ) E55, Mercedes-Benz; (FORD) Econoline E-550, Ford + + + + + (AMER) Eagle, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (FORD) Econoline E150, Ford (see English, French, German, and Italian Ford) + + + + + (FORD) Econoline E250, Ford (see English, French, German, and Italian Ford) + + + + + (FORD) Econoline E350, Ford (see English, French, German, and Italian Ford) + + + + + (CHRY) E Class, Chrysler; (LOTU) Eclat, Lotus; (MITS) Eclipse, Eclipse Spyder GS-T, Mitsubishi + + + + + (FORD) Econoline 100, Ford (see English, French, German, and Italian Ford); (TOYT) Echo, Toyota + + + + + (FORD) Escape, Ford (see English, French, German, and Italian Ford) + + + + + (MITS) Endeavor, Mitsubishi + + + + + (BENT) Eight, Bentley + + + + + (ACUR) EL, Acura (Import from Canada) + + + + + (LOTU) Elan, Lotus + + + + + (CHEV) El Camino, Chevrolet + + + + + (CADI) Eldorado, Cadillac + + + + + (BUIC) Electra (Park Avenue), Park Avenue (Electra), Buick; (BZEL) Electra-King, B & Z Electric Car Co.; (HOND) Element, Honda + + + + + (FORD) Elite, Ford (see English, French, German, and Italian Ford); (LOTU) Elite, Lotus + + + + + (CHEV) Chevelle, Concours (Chevelle only), Deluxe (Chevelle), Greenbrier (Chevelle), Nomad (Chevelle), Chevrolet + + + + + (HYUN) Elantra, Hyundai + + + + + Elise + + + + + (AMER) Encore, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (BUIC) Enclave, Buick + + + + + (VANG) Ensign, Vanguard (Canada) + + + + + (GMC) Envoy, General Motors Corp.; (VAUX) Envoy, Vauxhall + + + + + (FERR) Enzo, Ferrari + + + + + (VAUX) Epic, Vauxhall + + + + + (FORD) Expedition, Ford (see English, French, German, and Italian Ford) + + + + + (ENVY) Epic, Envoy; (CHEV) Epica, LS & LT, Chevrolet + + + + + (CHEV) Equinox, Chevrolet + + + + + (CADI) Escalade, Cadillac; (ENGF) Escort, English Ford (British); (FORD) Escort, Ford (see English, French, German, and Italian Ford) + + + + + (LAMO) Espada, Lamborghini; (LOTU) Esprit, Lotus; (PANZ) Esperante, Panoz + + + + + (BUIC) Estate Wagon, Buick; (CHEV) Estate Wagon, Chevrolet; (RENA) Estafette, Renault; (SUZI) Esteem, Suzuki + + + + + (SIM) Etoile, Simca + + + + + (JAGU) "E" Type, Jaguar + + + + + (LOTU) Europa, Lotus; (VOLK) Eurovan, Volkswagen + + + + + (GM) EV1, General Motors + + + + + (CHEV) Chevette, Chevrolet + + + + + (HOND) EVPLUS, Honda + + + + + (HYUN) Excel, Hyundai; (FORD) Excursion, Ford (see English, French, German, and Italian Ford) + + + + + (CHRY) Executive Sedan, Chrysler; (PONT) Executive, Pontiac + + + + + (CHEV) Express (full-size van), Chevrolet; (FORD) EXP, Ford (see English, French, German, and Italian Ford); (MITS) Expo, Mitsubishi; (RENA) Export, Renault + + + + + (DATS) F-10, Datsun; (FORD) F100, Ford (see English, French, German, and Italian Ford) + + + + + (FORD) F-150XLT (has third door on passenger side), Ford (see English, French, German, and Italian Ford) + + + + + (FORD) F250 Supercab (pickup), Ford (see English, French, German, and Italian Ford) + + + + + (FERR) F355, Ferrari; (FORD) F350, Ford (see English, French, German, and Italian Ford) + + + + + (FERR) F40, Ferrari + + + + + (FORD) F450, Ford (see English, French, German, and Italian Ford) + + + + + (FORD) F550, Ford (see English, French, German, and Italian Ford) + + + + + (FORD) F650 Super Crew, Ford + + + + + (OLDS) F-85, Oldsmobile + + + + + (SKOD) Fabia, Skoda + + + + + (FORD) Fairlane, Ford (see English, French, German, and Italian Ford) + + + + + (FORD) Falcon, Ford (see English, French, German, and Italian Ford) + + + + + (FORD) Fairmont, Ford (see English, French, German, and Italian Ford) + + + + + (CHRY) Fifth Avenue, Chrysler + + + + + (VOLK) Fastback, Volkswagen + + + + + (PONT) Firebird, Firehawk, Trans Am (Firebird), Pontiac + + + + + (HOND) FCX (Fuel Cell Vehicle), Honda + + + + + Farm and Garden Equipment + + + + + (SUBA) Fe, Subaru + + + + + (FORD) Festiva, Ford (see English, French, German, and Italian Ford) + + + + + (RENA) Fuego, Renault + + + + + (PONT) Fiero, Pontiac + + + + + (VAUX) Firenza, Vauxhall + + + + + Fit + + + + + FJ Cruiser + + + + + (LNCI) Flavia, Lancia + + + + + (CADI) Fleetwood, Cadillac; (CHEV) Fleetline, Chevrolet + + + + + (LNCI) Flaminia, Lancia + + + + + (DODG) Fleet Special, Dodge; (SOLE) Flash, Solectria + + + + + (SUZI) Forenza (S, EX, LX), Suzuki + + + + + (FORD) Focus, Ford (see English, French, German, and Italian Ford) + + + + + (SOLE) Force, Solectria; (SUBA) Forrester, Subaru; (SUZI) Forsa, Suzuki + + + + + (AUDI) 80 LS (Fox), Audi; (VOLK) Fox, Volkswagen + + + + + (ROL) Flying Spur, Rolls-Royce + + + + + (DESO) Firedom, DeSoto + + + + + (LNDR) Freelander, Land Rover; (FORD) Freestar, Ford + + + + + (DESO) Firelite, DeSoto + + + + + (FORD) Frontenac, Ford (see English, French, German, and Italian Ford) + + + + + (DESO) Firesweep, DeSoto + + + + + (NISS) Frontier, Nissan + + + + + (PONI) Firefly, Pontiac (Canadian) (Also see make Pontiac) + + + + + Freestyle + + + + + (LNCI) Fulvia, Lancia + + + + + (PLYM) Fury (also Grand Fury), Plymouth + + + + + Fusion + + + + + (FORD) Futura, Ford (see English, French, German, and Italian Ford) + + + + + (INFI) FX35, Infiniti + + + + + (INFI) FX45, Infiniti + + + + + (OLDS) Firenza, Oldsmobile + + + + + (INFI) G20, Infiniti + + + + + (ALFA) GTV6 2.5, Alfa Romeo + + + + + (BUIC) GS350, Buick; (SHEB) Cobra GT350, Shelby American; (INFI) G35, Infiniti + + + + + (BUIC) GS400, Buick + + + + + (LEXS) GS430, Lexus + + + + + (BUIC) GS455, Buick; (LEXS) GS450h, Lexus + + + + + (LEXS) GX470, Lexus + + + + + (SHEB) Cobra GT500, Shelby American; (MERZ) G500, Mercedes-Benz + + + + + (MERZ) G55, Mercedes-Benz + + + + + (PONT) G6, Pontiac + + + + + (SAA) GT 750, Saab + + + + + (FORD) Galaxie, Ford (see English, French, German, and Italian Ford); (MITS) Galant, Mitsubishi; (LAMO) Gallardo, Lamborghini + + + + + (JEEP) Grand Cherokee, Jeep (for vehicle years 1989 to present, use VMA/JEEP); (JEP) Grand Cherokee, Jeep (for vehicle years prior to 1970, use VMA/JEP); (AMER) Grand Cherokee, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (MASE) Ghibli, Maserati + + + + + (ALFA) Giulia Sprint, Alfa Romeo + + + + + (ALFA) Giulia Spider, Alfa Romeo + + + + + (ALFA) Giulietta, Alfa Romeo + + + + + (ALFA) Giulia, Alfa Romeo + + + + + (SUBA) GL, Subaru; (VOLV) GL, Volvo + + + + + (MAZD) GLC ("Great Little Car"), Mazda + + + + + (ZMCC) Golden Spirit, Zimmer Motor Car Co. + + + + + (VOLV) GLE, Volvo + + + + + (SUBA) GLF, Subaru + + + + + (SIM) GLS, Simca + + + + + (VOLV) GLT, Volvo + + + + + (MERZ) Gelaendewagen (G-Wagen), Mercedes-Benz + + + + + (CONU) GCP, Consulier + + + + + Grand Marquis + + + + + (SPEC) Golf Carts + + + + + (GLAS) Goggomobile, Glas + + + + + (VOLK) Golf, Volkswagen + + + + + (RENA) Gordini, Renault + + + + + (PONI) Grand Parisienne, Pontiac (Canadian) (Also see make Pontiac) + + + + + (FORD) Granada, Ford (see English, French, German, and Italian Ford); (PONT) Grand Prix, Pontiac; (STU) Grand Turismo, Studebaker + + + + + (PONT) Grand Ville, Pontiac + + + + + (AMER) Gremlin, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (PONT) Grand AM, Pontiac + + + + + (SPEC) Go-Carts + + + + + (BUIC) Grand Sports (G.S.), Buick + + + + + (LEXS) GS300, Lexus + + + + + (LEXS) GS400, Lexus + + + + + Gran Sport + + + + + (BEJE) Gang Star, Beijing Jeep + + + + + (ASUN) GT, Asuna; (ENGF) GT, English Ford (British); (OPEL) GT, Opel (imported by Buick); (TRIU) GT Series, Triumph; (FORD) GT, Ford + + + + + (PONT) GT0, Pontiac + + + + + (ALFA) Alfa GT6, Alfa Romeo + + + + + (MASE) GTI Series, Maserati; (VOLK) GTI, Volkswagen + + + + + (CONU) GTP, Consulier + + + + + (ALFA) GT Veloce, Alfa Romeo + + + + + (PLYM) GTX, Plymouth + + + + + (SUZI) Grand Vitara, Suzuki + + + + + (CHRY) Grand Voyager, Chrysler + + + + + (BORG) Hansa, Borgward + + + + + (HUMB) Hawk, Humber; (STU) Hawk Series, Studebaker + + + + + (JENS) Healy, Jensen + + + + + (AERO) Helicopters and other Rotor Wing (or rotary- blade drive aircraft) + + + + + (TRIU) Herald, Triumph + + + + + (TOYT) Highlander (beginning vehicle year 2001), Toyota + + + + + HHR + + + + + (TOYT) Hi-Lux, Toyota + + + + + (OLDS) Holiday, Oldsmobile + + + + + (ISU) Hombre (pickup), Isuzu + + + + + (DATS) Honey Bee, Datsun + + + + + (HUDS) Hornet, Hudson; (AMER) Hornet, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (PLYM) Horizon (also TC3), Plymouth + + + + + (AERO) Hot Air Balloon + + + + + (HUMM) Hummer 2, HUMMER + + + + + HU3 + + + + + (AMGN) Hummer, AM General Corp.; (HUMM) Hummer, HUMMER + + + + + (HILL) Husky, Hillman + + + + + (INFI) I30, Infiniti + + + + + (INFI) I35, Infinit + + + + + (CITR) ID-19, Citroen + + + + + (ISU) I-Mark, Isuzu + + + + + (ISU) Impulse, Isuzu; (CHEV) Impala, Chevrolet; (HILL) IMP, Hillman; (ROOT) Imp, Rootes; (SUBA) Impreza, Outback Impreza, Subaru; (SUNB) IMP, Sunbeam + + + + + (MASE) Indy, Maserati + + + + + (HOND) Insight, Honda + + + + + (JENS) Interceptor, Jensen; (ACUR) Integra, Acura; (DODG) Intrepid, Dodge; (OLDS) Intrigue, Oldsmobile; (CHRY) Intrepid, Chrysler + + + + + (ACAD) Invader Series, Acadian (GM of Canada); (BUIC) Invicta, Buick + + + + + (STRN) Ion, Saturn + + + + + (CHRY) Imperial (for vehicle years prior to 1955 and for vehicle years 1990-1993; for 1955-1983, see make Imperial), Chrysler + + + + + (LEXS) IS300, Lexus + + + + + (BORG) Isabella, Borgward + + + + + (BMW) Isetta, BMW + + + + + (HUDS) Italia, Hudson + + + + + (JEEP) J-10, Jeep (for vehicle years 1989 to present, use VMA/JEEP); (JEP) J-10, Jeep (for vehicle years prior to 1970, use VMA/JEP); (AMER) J-10, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (JAGU) XJ12, Jaguar + + + + + (JEEP) J-20, Jeep (for vehicle years 1989 to present, use VMA/JEEP); (JEP) J-20, Jeep (for vehicle years prior to 1970, use VMA/JEP); (AMER) J-20, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (PONT) J2000, Pontiac + + + + + (INFI) J30, Infiniti + + + + + (PANE) J72, Panther Westwinds, Ltd. + + + + + (EXCL) JAC 427 Cobra, Excalibur + + + + + (LAMO) Jalpa, Lamborghini + + + + + (LAMO) Jarma, Lamborghini + + + + + (AMER) Javelin, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (SANG) Jeep, Sangyong + + + + + (HUDS) Jet, Hudson; (AERO) Jet Propelled; (MUNT) Jet, Muntz; (VOLK) Jetta, Volkswagen + + + + + (GMC) Jimmy, General Motors Corp. + + + + + (OLDS) Jetfire, Oldsmobile + + + + + (OLDS) Jetstar, Oldsmobile + + + + + (SUBA) Justy, Subaru + + + + + (FORD) KA, Ford (see English, French, German, and Italian Ford) + + + + + (OPEL) Kadette, Opel (imported by Buick) + + + + + (PANE) Killeta, Panther Westwinds, Ltd. + + + + + (OPEL) Kapitan, Opel (imported by Buick) + + + + + (PORS) Karman, Porsche; (VOLK) Karmann Ghia, Volkswagen + + + + + (MASE) Khamsin, Maserati + + + + + (CHEV) Kingswood, Chevrolet + + + + + (VOLK) Kombi, Volkswagen + + + + + (DAEW) Korando, Daewoo + + + + + (MESS) KR200, Messerschmitt + + + + + (MESS) KR201, Messerschmitt + + + + + (LEXS) LS430, Lexus + + + + + (LEXS) LX450 (luxury sport utility), Lexus + + + + + (LEXS) LX470, Lexus + + + + + (BMW) L6, BMW + + + + + (BMW) L7, BMW + + + + + (NASH) Lafayette, Nash + + + + + (ASTO) Lagonda, Aston Martin + + + + + Lancer Evolution + + + + + (STU) Lark Series, Studebaker + + + + + (CHRY) Laser, Chrysler; (FORD) Laser (foreign and Puerto Rican distribution only), Ford (see English, French, German, and Italian Ford); (PLYM) Laser, Plymouth + + + + + (BREM) Laufer, Bremen Sport Equipment, Inc. (Bremen, IN); (PONI) Laurentian, Pontiac (Canadian) (Also see make Pontiac) + + + + + (CHRY) Le Baron (for vehicle year 1978 or later), Chrysler + + + + + (JEEP) Liberty, Jeep + + + + + (TOYT) Land Cruiser, Toyota; (BUIC) Lacrosse, Buick + + + + + (IMPE) Le Baron (for vehicle year thru 1975), Imperial (for vehicle years 1955-1983, use VMA/IMPE; for vehicle years prior to 1955 and vehicle years 1990-1993, see make Chrysler) + + + + + (RENA) Le Car, Renault + + + + + (ACUR) Legend, Acura; (DAEW) Leganza, Daewoo; (SUBA) Legacy, Outback Legacy, Subaru + + + + + (METE) Lemoyne, Meteor (Canadian Mercury); (PONT) LeMans, Pontiac + + + + + (SUBA) Leone GL Coupe, Subaru + + + + + (BUIC) Le Sabre, Buick + + + + + (CHRY) LHS, Chrysler + + + + + (CHRY) Lido, Chrysler + + + + + (DATS) LiL Hustler, Datsun + + + + + (BUIC) Limited, Buick; (CHRY) Limousine, Chrysler; (PANE) Lima, Panther Westwinds, Ltd. + + + + + (MERZ) CLK320, Mercedes-Benz + + + + + (MERZ) CLK55, Mercedes-Benz + + + + + (CHEV) Lumina APV, Chevrolet + + + + + (MERC) LN7, Mercury + + + + + (DETO) Longchamp, DeTomaso + + + + + (ENGF) Lotus, English Ford (British) + + + + + (SUBA) Loyale, Subaru + + + + + (ROV) Land Rover, Rover + + + + + LR3 + + + + + (LINC) LS, Lincoln-Continental; (STRN) LS-Sedan, Saturn + + + + + (LINC) LS6, Lincoln-Continental + + + + + (LINC) LS8, Lincoln-Continental + + + + + (FORD) LTD II, Ford (see English, French, German, and Italian Ford) + + + + + (USEL) Lectric Leopard, U.S. Electricar Corp. + + + + + (FORD) LTD, Ford (see English, French, German, and Italian Ford) + + + + + (MONA) Lucerne, Monarch; (BUIC) Lucerne, Buick + + + + + (CHEV) Lumina, Chevrolet + + + + + (CHEV) Luv, Chevrolet + + + + + (OPEL) Luxus, Opel (imported by Buick); (VANG) Luxury, Vanguard (Canada) + + + + + (STRN) LW-Wagon, Saturn + + + + + (RENA) Luxe, Renault + + + + + (MERC) Lynx, Mercury + + + + + (VACR) M12 (sport coupe), Vector Aeromotive Corp. + + + + + (BMW) M3, BMW + + + + + (INFI) M30, Infiniti + + + + + (MERZ) ML350, Mercedes-Benz; (INFI) M35, M35 Sport, M35 X, Infiniti + + + + + (INFI) M45, Infiniti + + + + + (BMW) M5, BMW + + + + + (MERZ) ML500, Mercedes-Benz + + + + + (BMW) M6, BMW + + + + + (DODG) Magnum, Dodge; (MG) Magnette, MG + + + + + (FORD) Mainline, Ford (see English, French, German, and Italian Ford) + + + + + (CHEV) Malibu Maxx + + + + + (KAIS) Manhattan, Kaiser; (OPEL) Manta, Opel (imported by Buick); (QVAL) Mangusta, Qvale Automotive Group + + + + + (HYUN) Marcia, Hyundai; (JAGU) Mark V Series, Jaguar; (AMER) Marlin, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (AUST) Marina, Austin; (FERR) F-550 Maranello, Ferrari; (MERC) Marquis, Mercury; (MG) Marina, MG + + + + + (AMER) Matador, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (MERC) Marauder, Mercury + + + + + (FORD) Maverick, Ford (see English, French, German, and Italian Ford) + + + + + (BREM) Maxi-Taxi, Bremen Sport Equipment, Inc. (Bremen, IN); (DATS) Maxima, Datsun; (NISS) Maxima, Nissan + + + + + (MICC) MC1, Micro Concept Cars + + + + + (VOLK) Microbus, Volkswagen + + + + + (ACUR) MDX, Acura + + + + + (DODG) Meadowbrook, Dodge + + + + + (AMER) Medallion (through vehicle year 1987), American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (EGIL) Medallion (vehicle year 1988), Eagle; (MERC) Medalist, Mercury + + + + + (MASE) Merak, Maserati + + + + + (CHEV) Metro (beginning vehicle year 1998), Chevrolet; (GEO) Metro, GEO; (NASH) Metropolitan, Nash + + + + + (MASE) Mexico, Maserati + + + + + (MG) 1100, MG + + + + + (MG) MGA, MG + + + + + (MG) MGB, MG + + + + + (MG) MGC, MG + + + + + (MG) MGB/GT, MG + + + + + (MERC) Montego, Mercury; (METE) Montego, Meteor (Canadian Mercury) + + + + + (MG) MGC/GT, MG + + + + + (MAZD) Miata (MX5), Merlot Mica (Miata), Mazda + + + + + Micra + + + + + (MG) Midget, MG + + + + + (DAYO) Migi, Daytona + + + + + (MORR) Mini Series, Morris; (TOYT) Mark II, Toyota + + + + + (ALFA) Milano, Alfa Romeo; (MAZD) Millenia, Mazda + + + + + (AUST) Mini, Austin; (BREM) Mini-Mark, Bremen Sport Equipment, Inc. (Bremen, IN); (HILL) Minx, Hillman; (MITS) Minica, Mitsubishi; (MORR) Minor, Morris; (SUNB) Minx, Sunbeam + + + + + (DODG) Mirada, Dodge; (MITS) Mirage, Mitsubishi + + + + + (MASE) Mistrell, Maserati; (MAZD) Miser (piston engine), Mazda + + + + + (LAMO) Miura SV, Lamborghini + + + + + (ENGF) Mark II, English Ford (British); (LINC) Mark II, Lincoln-Continental + + + + + (LINC) Mark III, Lincoln-Continental; (VANG) Mark III, Vanguard (Canada) + + + + + (LINC) Mark IV, Lincoln-Continental; (ROV) Mark IV, Rover + + + + + (LINC) Mark V, Lincoln-Continental; (MORG) 4/4 Mark 5, Morgan + + + + + (LINC) Mark VI, Lincoln-Continental + + + + + (LINC) Mark VII, Lincoln-Continental + + + + + (LINC) Mark VIII, Lincoln-Continental + + + + + Mark LT + + + + + (MG) Mark II, MG + + + + + (MERZ) ML320 (sport utility), Mercedes-Benz + + + + + (MERZ) ML430, Mercedes-Benz + + + + + (MERZ) ML55, Mercedes-Benz + + + + + Milan + + + + + (DETO) Mangusta, DeTomaso + + + + + (MERC) Monarch, Mercury + + + + + Mariner + + + + + (FORD) Model A, Ford (see English, French, German, and Italian Ford) + + + + + (CHEV) Monte Carlo, Chevrolet + + + + + (MODE) Model A, Model A and Model T Motor Car Reproduction Corp. + + + + + (ALFA) Montreal, Alfa Romeo; (CHEV) Monza, Chevrolet; (DODG) Monaco, Dodge; (FERR) Mondial, Ferrari; (MERC) Monterey, Mercury; (METE) Montcalm, Meteor (Canadian Mercury); (MITS) Montero/Montero Sport, Mitsubishi + + + + + (FORD) Model T, Ford (see English, French, German, and Italian Ford); (MERC) Montclair, Mercury + + + + + (DAYO) Moya, Daytona + + + + + (MAZD) MPV, Mazda + + + + + (TOYT) MR2, Toyota + + + + + (CREL) Merlin, Corbin Motors (electric vehicles) + + + + + (PONT) Montana, Pontiac + + + + + (CHEC) Marathon, Checker + + + + + (MERC) Mountaineer (sport utility), Mercury + + + + + (JAGU) Mark Ten Salon, Jaguar + + + + + (MITS) Mighty Max, Mitsubishi; (TOYT) Matrix (sport wagon), Toyota + + + + + (CHEV) Matiz, Chevrolet; (PONT) Matiz, Pontiac + + + + + (BENT) Mulsanne, Bentley; (ROL) Mulsanne, Rolls-Royce + + + + + (LAMO) Murcielago, Lamborghini ; (NISS) Murano, Nissan + + + + + (FORD) Mustang, Ford (see English, French, German, and Italian Ford) + + + + + (MAZD) MX3, Mazda + + + + + (MAZD) MX6, Mazda + + + + + (MERC) Mystique, Mercury + + + + + (MAZD) Mazda 3, Mazda + + + + + Mazda 5 (Five) + + + + + (MAZD) 6 (Six), Mazda + + + + + (LINC) Navigator, Lincoln-Continental; (MAZD) Navajo, Mazda + + + + + (FORD) Think Neighbor (Elec. Veh. Model Year 2002), Ford + + + + + (DODG) Neon, Dodge; (PLYM) Neon, Plymouth + + + + + (FORD) Nevada, Ford (see English, French, German, and Italian Ford) + + + + + (CHRY) Newport, Chrysler + + + + + (METE) Niagara, Meteor (Canadian Mercury) + + + + + (LADA) Niva, Lada (imported from USSR) + + + + + (CHEV) Nova (Chevy II & Concours), Chevrolet + + + + + NSX + + + + + (DAEW) Nubira, Daewoo + + + + + (NISS) NX, Nissan + + + + + (CHRY) New Yorker, Chrysler + + + + + (ISU) Oasis (minivan), Isuzu + + + + + (SKOD) Octavia, Skoda + + + + + (HOND) Odyssey (minivan), Honda + + + + + (OPEL) Olympia, Opel (imported by Buick) + + + + + (OLDS) Omega, Oldsmobile + + + + + (DODG) Omni (also 024), Dodge + + + + + (KIA) Opirus, KIA + + + + + (PASS) Optima, Passport; (KIA) Optima, Kia; (CHEV) Optra, Chevrolet + + + + + (MITS) Outlander, Mitsubishi ; (STRN) Outlook, Saturn; (SUBA) Outback, Subaru + + + + + (MORR) Oxford, Morris + + + + + (HUDS) Pacemaker, Hudson; (AMER) Pacer, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (EDSE) Pacer, Edsel + + + + + (BERO) Palinuro, Bertone + + + + + (CHEV) Parkwood, Chevrolet; (MERC) Parklane, Mercury; (PONI) Parisienne, Pontiac (Canadian) (Also see make Pontiac); (PONT) Parisienne, Pontiac + + + + + (HOND) Passport, Honda; (TOYT) Paseo, Toyota; (VOLK) Passat, Volkswagen + + + + + (PACK) Patrician, Packard; (JEEP) Patriot, Jeep + + + + + (CHRY) Pacifica (Sport Wagon), Chrysler + + + + + (ENGF) Perfect, English Ford (British) + + + + + (ROL) Phantom, Rolls-Royce; (VOLK) Phaeton, Volkswagen + + + + + (DODG) Phoenix, Dodge; (PONT) Phoenix, Pontiac + + + + + (ROL) Phantom, Rolls-Royce + + + + + (FORD) Pinto, Ford (see English, French, German, and Italian Ford) + + + + + (DODG) Pioneer, Dodge + + + + + (MORG) Plus 4 Series, Morgan + + + + + (MORG) Plus 8 Series, Morgan + + + + + (PLYM) Plaza, Plymouth + + + + + (HOND) Pilot, Honda + + + + + (LOTU) Plus Two, Lotus + + + + + (DODG) Polara, Dodge; (VOLK) Polo, Volkswagen + + + + + (HYUN) Pony, Hyundai + + + + + (DESO) Powermaster, DeSoto + + + + + (PACK) Predictor, Packard + + + + + (HOND) Prelude, Honda; (EGIL) Premier, Eagle; (LINC) Premiere, Lincoln-Continental; (MITS) Precis, Mitsubishi; (STU) President, Studebaker; (TOYT) Pre Runner, Toyota + + + + + (BMC) Princess, B M C; (CHEV) Prism (beginning vehicle year 1998), Chevrolet; (GEO) Prizm, GEO; (NSU) Prinz, Nsu Prinz; (TOYT) Prius, Toyota + + + + + (BUIC) Park Avenue, Buick; (ROL) Park Ward, Rolls-Royce + + + + + (DODG) Power Ram, Dodge + + + + + (AERO) Propeller Driven; (FORD) Probe, Ford (see English, French, German, and Italian Ford); (MAZD) Familia, Protege, Mazda + + + + + (TOYT) Previa, Toyota + + + + + (PLYM) Prowler, Plymouth + + + + + (DETO) Pantera, DeTomaso + + + + + (NISS) Pathfinder (Armada), Nissan + + + + + (NISS) Pulsar, Nissan + + + + + (FIAT) Punto, Fiat + + + + + (PONT) Pursuit, Pontiac + + + + + (INFI) Q45, Infiniti + + + + + (INFI) QX56, Infiniti + + + + + (ZMCC) Quick Silver, Zimmer Motor Car Co. + + + + + (NISS) Quest, Nissan + + + + + (VOLK) Quantum, Volkswagen + + + + + (AUDI) Quattro, Audi + + + + + (FERR) Quattrovalvolve, Ferrari; (MASE) Quattroporte, Maserati + + + + + (INFI) QX4, Infiniti + + + + + (RENA) R-10, Renault + + + + + (RENA) R-12, Renault + + + + + (DODG) Ram 1500 (pickup), Dodge; (RENA) R-15, Renault + + + + + (RENA) R-16, Renault + + + + + (RENA) R-17, Renault + + + + + (DODG) Ram 2500 (pickup), Dodge + + + + + (VOLK) R32, Volkswagen + + + + + (LEXS) RX330, Lexus + + + + + (DODG) Ram 3500 (pickup), Dodge; (LEXS) RX350, Lexus; (MERZ) R350 (Sport Wagon), Mercedes Benz + + + + + (RENA) R-4, Renault + + + + + (RENA) R-5, Renault + + + + + (RENA) R-8, Renault + + + + + (AMER) Rambler American, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (VOLK) Rabbit, Volkswagen + + + + + Raider + + + + + (GZL) Rage (sport utility), Gazelle + + + + + (FORD) Ranch, Ford (see English, French, German, and Italian Ford) + + + + + (OPEL) Rallye, Opel (imported by Buick) + + + + + (HUDS) Rambler, Hudson; (NASH) Rambler, Nash + + + + + (EDSE) Ranger, Edsel; (FORD) Ranchero, Ford (see English, French, German, and Italian Ford) + + + + + (SUNB) Rapier, Sunbeam + + + + + (TOYT) RAV4 (sport utility), Toyota + + + + + (FORD) Ranch Wagon, Ford (see English, French, German, and Italian Ford); (METE) Ranch Wagon, Meteor (Canadian Mercury) + + + + + (AMER) Rambler Classic, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (DODG) Ram Charger, Dodge + + + + + (DODG) Raider, Dodge + + + + + (BUIC) Rendezvous, Buick + + + + + RDX + + + + + (BUIC) Reatta, Buick + + + + + (AMER) Rebel, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (BUIC) Regal, Buick; (OLDS) Regency (Ninety-eight Series), Oldsmobile + + + + + (OPEL) Rekord, Opel (imported by Buick) + + + + + (PLYM) Reliant, Plymouth + + + + + Replica + + + + + (PACK) Request, Packard + + + + + Ridgeline + + + + + (MONA) Richelieu, Monarch + + + + + (METE) Rideau, Meteor (Canadian Mercury) + + + + + (FIAT) Rimto, Fiat + + + + + (KIA) RIO, Kia + + + + + (BUIC) Riviera, Buick + + + + + (DAIH) Rocky, Daihatsu + + + + + RL + + + + + (GMC) Rally, General Motors Corp.; (SAT) Relay, Saturn + + + + + (FORD) Ranger (pickup), Ford (see English, French, German, and Italian Ford) + + + + + Reno + + + + + (BUIC) Ranier, Buick + + + + + (BUIC) Roadmaster, Buick; (CLEN) Roadster, Clenet Coach Works; (DECO) Roadster, DeCourville + + + + + (ISU) Rodeo, Isuzu; (DLHY) Roadster, Delahaye; (LAMO) Roadster, Lamborghini; (PANZ) Roadster, Panoz Auto Development Co.; (BRSH) Roadster, Brush (antique vehicles); (SHEB) Roadster, Shelby + + + + + (CHRY) Royal, Chrysler; (DODG) Royal, Dodge + + + + + (AMER) Rambler Rogue, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (PLYM) Road Runner, Plymouth + + + + + (LNDR) Range Rover, Land Rover + + + + + RS4 + + + + + (AUDI) RS6, Audi + + + + + (ACUR) RSX, Acura + + + + + (SUBA) RX, Subaru + + + + + (MAZD) RX2 (rotary engine), Mazda + + + + + (LEXS) RX300, Lexus; (MAZD) RX3 (rotary engine), Mazda + + + + + RX400 or RX400H (Hybrid) + + + + + (MAZD) RX7 (rotary engine), Mazda + + + + + (MAZD) RX8, Mazda + + + + + (CHEV) S10, Chevrolet + + + + + (HOND) S2000, Honda + + + + + (MERC) S-22, Mercury + + + + + (LEXS) SC300, Lexus + + + + + (MERC) S-33, Mercury; (METE) S-33, Meteor (Canadian Mercury) + + + + + (LEXS) SC400, Lexus; (VOLV) S40, Volvo + + + + + (LEXS) SC430, Lexus; (MERZ) S430V, Mercedes-Benz + + + + + SLK55 + + + + + (VOLV) S60, Volvo + + + + + SL65 + + + + + (VOLV) S70, Volvo + + + + + (VOLV) S80, Volvo + + + + + (AUDI) Super 90, Audi; (VOLV) S90, Volvo + + + + + (MERC) Sable, Mercury + + + + + (GMC) Safari, General Motors Corp.; (PONT) Safari, Pontiac + + + + + (AERO) Sailplane (Glider); (CHRY) Salon, Chrysler + + + + + (SUZI) Samurai, Suzuki + + + + + (PLYM) Sapporo (imported), Plymouth + + + + + (CHRY) Saratoga, Chrysler + + + + + (PLYM) Satellite, Plymouth + + + + + (GMC) Savanna (full-size van), General Motors Corp.; (PLYM) Savoy, Plymouth + + + + + (AUHE) Saxon, Austin-Healy + + + + + (VOLK) Squareback, Volkswagen + + + + + (STRN) SC, Saturn + + + + + (PLYM) Scamp (Valiant), Plymouth + + + + + (VOLK) Scirocco, Volkswagen + + + + + (MERK) Scorpio, Merkur; (STU) Scotsman, Studebaker + + + + + (HYUN) Scoupe, Hyundai; (HILL) Sceptre, Hillman; (MONA) Sceptre, Monarch + + + + + (SUZI) Sidekick, Suzuki + + + + + (ASUN) SE, Asuna; (NISS) SE-V6, Nissan + + + + + (BREM) Sebring, Bremen Sport Equipment, Inc. (Bremen, IN); (CHRY) Sebring, Chrysler; (MASE) Sebring, Maserati + + + + + (KIA) Sedona, Kia + + + + + (DODG) Seneca, Dodge; (NISS) Sentra, Nissan + + + + + (KIA) Sephia, Kia Motors Corp. + + + + + (ROL) Silver Seraph, Rolls-Royce + + + + + (CADI) Seville, Cadillac + + + + + (HYUN) Santa Fe, Hyundai + + + + + (SUZI) Swift, Suzuki + + + + + (DODG) Shadow, Dodge + + + + + (MASE) Shamal, Maserati + + + + + (ROL) Silver Cloud, Rolls-Royce + + + + + (ROL) Silver Dawn, Rolls-Royce + + + + + (MITS) Sigma, Mitsubishi; (PLYM) Signet (Valiant), Plymouth + + + + + (OLDS) Silhouette, Oldsmobile + + + + + (ROL) Silver Shadow, Rolls-Royce + + + + + (ROL) Silver Wraith, Rolls-Royce + + + + + (BUIC) Skyhawk, Buick + + + + + (SNOW) Skis and Tracks, Snowmobiles + + + + + (SNOW) Skis and Wheels, Snowmobiles + + + + + (BUIC) Skylark, Buick; (PONT) Sky Chief, Pontiac; (STRN) Sky, Saturn + + + + + (STRN) SL, Saturn + + + + + (MERZ) SLK230, Mercedes-Benz + + + + + (MERZ) SLK320 Coupe/Roadster, Mercedes-Benz + + + + + (MERZ) SL500, Mercedes-Benz + + + + + (MERZ) SL600, Mercedes-Benz + + + + + (LAMO) Silhouette, Lamborghini + + + + + (MERZ) SLR McLaren, Mercedes-Benz + + + + + SLS (Badged Separately Beginning 7/2003) + + + + + (CHEV) Silverado, Chevrolet + + + + + (ACUR) SLX (sport utility), Acura + + + + + (CITR) SM, Citroen + + + + + (MERZ) Smart City Vehicle, Mercedes-Benz + + + + + (TOYT) Sienna (van), Toyota + + + + + (PONT) Sunfire, Pontiac + + + + + (HUMB) Snipe, Humber; (HILL) Snipe, Hillman + + + + + (TOYT) Solara, Toyota; (PONT) Solstice, Pontiac + + + + + (BUIC) Somerset, Buick + + + + + (HYUN) Sonata, Hyundai; (GMC) Sonoma, General Motors Corp.; (SAA) Sonnet, Saab + + + + + (KIA) Sorrento, Kia + + + + + (JAGU) Sovereign, Jaguar + + + + + (TRIU) Sport "6", Triumph + + + + + (KIA) Spectra, Kia Motors Corp. + + + + + (BUIC) Special, Buick; (CHEV) Spectrum, Chevrolet; (FORD) Special, Ford (see English, French, German, and Italian Ford) + + + + + (ALFA) Spider Series, Alfa Romeo; (AMER) Spirit, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (DODG) Spirit, Dodge; (FIAT) Spider Series, Fiat; (NSU) Spider (Wankel), Nsu Prinz; (PINI) Spidereuropa, Pinifarina; (TRIU) Spitfire, Triumph + + + + + (GMC) Sprint (VMA/GMSP for reference only), General Motors Corp. + + + + + (AMER) Sportabout, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (BUIC) Sportswagon, Buick; (VOLV) Sport, Volvo + + + + + (AUHE) Sprite, Austin-Healy; (CHEV) Sprint, Chevrolet; (MG) Sprite, MG; (ROL) Silver Spur, Rolls-Royce; (MERZ) Sprinter, Mercedes-Benz ; (DODG) Sprinter, Dodge + + + + + (MG) Sports Sedan, MG + + + + + (CHEV) Sportvan, Chevrolet; (ENCR) Sport, Encore; (KIA) Sportage (sport utility), Kia Motors Corp.; (SUBA) Outback Sport (station wagon), Subaru + + + + + (CREL) Sparrow, Corbin Motors (electric vehicles) + + + + + Spyder + + + + + (TOYT) Sequoia, Toyota + + + + + (ENGF) Squire, English Ford (British); (FORD) Squire (Falcon or Fairlane), Ford (see English, French, German, and Italian Ford) + + + + + (TOYT) SR5, Toyota + + + + + (GMC) Sierra, General Motors Corp. + + + + + (CHEC) Superba, Checker + + + + + (CADI) SRX, Cadillac + + + + + (PONT) SSE, Pontiac + + + + + (EXCL) SSK, Excalibur + + + + + (EXCL) SS Phaeton, Excalibur; (ROL) Silver Spirit, Rolls-Royce + + + + + (EXCL) SS Roadster, Excalibur; (CHEV) SSR, Chevrolet + + + + + (DODG) Stratus, Dodge; (FORD) Starliner, Ford (see English, French, German, and Italian Ford); (LINC) Standard, Lincoln-Continental; (MITS) Starion, Mitsubishi; (NASH) Statesman, Nash; (NISS) Stanza, Nissan; (OLDS) Starfire, Oldsmobile; (PONT) Star Chief, Pontiac; (PORS) Standard, Porsche; (SUBA) Standard, Subaru; (TOYT) Starlet, Toyota; (TRIU) Stag, Triumph + + + + + (OLDS) Standard, Oldsmobile + + + + + (HYUN) Steilar, Hyundai; (DODG) Stealth, Dodge + + + + + (CHEV) Style Master, Chevrolet + + + + + (GEO) Storm, GEO + + + + + (DODG) St. Regis, Dodge; (FIAT) Strada, Fiat; (PONI) Strato Chief, Pontiac (Canadian) (Also see make Pontiac); (PONT) Streamliner, Pontiac + + + + + STS (Badged Separately Beginning 7/2003) + + + + + (ISU) Stylus, Isuzu; (JAGU) S-Type, Jaguar; (CHEV) Style Line, Chevrolet + + + + + (CHEV) Suburban, Chevrolet; (GMC) Suburban, General Motors Corp.; (PLYM) Suburban, Plymouth + + + + + (ASUN) Sunfire, Asuna + + + + + (EGIL) Summit, Eagle + + + + + (FORD) Sunliner, Ford (see English, French, German, and Italian Ford); (PLYM) Sundance, Plymouth; (PONT) Sunbird, Pontiac; (SOLE) Sunrise, Solectria + + + + + (HUDS) Super, Hudson; (BUIC) Super, Buick; (FORD) Super, Ford (see English, French, German, and Italian Ford); (HILL) Super Minx, Hillman; (LOTU) Super 7, Lotus; (OLDS) Super 88, Oldsmobile; (PONT) Super Chief, Pontiac; (PORS) Super, Porsche; (RAMB) Super, Rambler (mfd. prior to 1966; 1966 and later Ramblers - see make American Motors); (TOYT) Supra, Toyota + + + + + (ASUN) Sunrunner, Asuna; (VOLK) Sunroof, Volkswagen + + + + + (SUBA) SVX, Subaru + + + + + (STRN) SW, Saturn + + + + + (DODG) Swinger (Dart), Dodge + + + + + (GMC) Syclone, General Motors Corp. + + + + + (PONT) T-1000, Pontiac; (TOYT) T-100, Toyota + + + + + (TOYT) T-150, Toyota + + + + + (TOYT) Tacoma, Toyota + + + + + (CHEV) Tahoe, Chevrolet + + + + + (EGIL) Talon, Eagle; (TLCC) Talbo, TLC Carrossiers; (TLCC) Talbo Lago, TLC Carrossiers + + + + + (FORD) Taurus, Ford (see English, French, German, and Italian Ford) + + + + + (BENT) Turbo R, Bentley + + + + + (CHEV) Trail Blazer, Chevrolet + + + + + (CHRY) TC, Chrysler; (SCIO) TC, Scion + + + + + Tucson + + + + + (FORD) Tempo, Ford (see English, French, German, and Italian Ford); (PONI) Tempest, Pontiac (Canadian) (Also see make Pontiac) + + + + + (TOYT) Tercel, Toyota + + + + + (FERR) Testarossa, Ferrari + + + + + (MG) TF Series, MG + + + + + (PONT) Tempest GT0, Pontiac + + + + + (PORS) Targa, Porsche + + + + + (ENGF) Thames, English Ford (British) + + + + + (VOLK) The Thing, Volkswagen + + + + + (FORD) Thunderbird, Ford (see English, French, German, and Italian Ford); (MODE) 1955 Thunderbird, Model A and Model T Motor Car Reproduction Corp. + + + + + (BMW) TI, BMW + + + + + (HYUN) Tiburon, Hyundai + + + + + (MESS) Tiger, Messerschmitt; (ROOT) Tiger, Rootes; (SUNB) Tiger, Sunbeam + + + + + (FERR) Tipo, Ferrari + + + + + Trucks (including heavy-duty trucks, buses, motorized homes, etc.) + + + + + Trailers + + + + + (CHRY) Town & Country Minivan, Chrysler + + + + + (MERC) Topaz, Mercury + + + + + (FORD) Torino (Fairlane), Ford (see English, French, German, and Italian Ford); (OLDS) Toronado, Oldsmobile; (PONT) Torrent, Pontiac + + + + + (CHEV) Townsman, Chevrolet; (CHRY) Town & Country, Chrysler; (LINC) Town Car, Lincoln-Continental + + + + + (SPEC) Motorized Ride-On Toys + + + + + (TRIU) TR-3 & TR-3A, Triumph + + + + + (TRIU) TR-4 & TR-4A, Triumph + + + + + (TRIU) TR6, Triumph + + + + + (TRIU) TR7, Triumph + + + + + (TRIU) TR8, Triumph + + + + + (ATV) Tracks only; (MERC) Tracer, Mercury; (SNOW) Tracks only, Snowmobiles + + + + + (MAZD) Tribute, Mazda; (SUBA) B9 Tribeca, Subaru + + + + + (MITS) Tredia, Mitsubishi + + + + + (VOLK) Touareg, Volkswagen + + + + + (CHEV) Tracker (beginning vehicle year 1998), Chevrolet; (GEO) Tracker, GEO + + + + + (PLYM) Trail Duster, Plymouth + + + + + (VOLK) Touran, Volkswagen + + + + + (NISS) Terrano, Nissan; (OLDS) Trofeo, Oldsmobile + + + + + (ISU) Trooper, Isuzu + + + + + (CADI) Touring Sedan, Cadillac + + + + + (MORR) Traveller, Morris + + + + + (ATV) Tracks and Wheels; (SNOW) Tracks and Wheels, Snowmobiles + + + + + (BUIC) Terraza, Buick + + + + + (PONT) Trans Sport/Transport, Pontiac; (VOLK) Transporter, Volkswagen + + + + + (ACUR) TSX, Acura + + + + + (AUDI) 2000 TT-Coupe, 2000 TT-Roadster, Audi + + + + + (NISS) Titan, Nissan + + + + + (TOYT) Tundra, Toyota + + + + + (MERC) Turnpike Cruiser, Mercury; (PLYM) Turismo, Plymouth + + + + + (TVR) Tuscan, TVR + + + + + (GMC) Typhoon, General Motors Corp.; (RAMB) Typhoon, Rambler (mfd. prior to 1966; 1966 and later Ramblers - see make American Motors) + + + + + (CHEV) U100 (Joint Venture w/Daewoo); (DAEW) U100 (Joint Venture w/Chevrolet) + + + + + (AERO) Ultralights + + + + + (FIAT) Ulysse, Fiat + + + + + (FIAT) Uno, Fiat + + + + + (CHEV) Uplander (Crossover Sport Van), Chevrolet + + + + + (JAGU) V12, Jaguar + + + + + (DODG) Ram 1500 (van), Dodge + + + + + (DODG) Ram 2500 (van), Dodge + + + + + (DODG) Ram 3500 (van), Dodge + + + + + (VOLV) V40, Volvo + + + + + (VOLV) V50 (Sport Wagon), Volvo + + + + + (VOLV) V70, Volvo + + + + + (AUDI) V-8, Audi + + + + + (VOLV) V90, Volvo + + + + + (PLYM) Valiant, Plymouth + + + + + (JAGU) Vanden Plas, Jaguar; (ASTO) Vantage, Aston Martin; (GMC) Vandura, General Motors Corp. + + + + + (VOLK) Variant, Volkswagen + + + + + (ISU) VehiCross, Isuzu + + + + + (VACR) Vector, Vector Aeromotive Corp. + + + + + (FREF) Vedette, French Ford; (SIM) Vedette, Simca + + + + + (CHEV) Vega, Chevrolet + + + + + (VAUX) Velox, Vauxhall + + + + + (DKW) Vemag, DKW + + + + + (CHEV) Venture (minivan), Chevrolet; (FREF) Vendome, French Ford; (PONT) Ventura, Pontiac + + + + + (LINC) Versailles, Lincoln-Continental + + + + + (VOLK) Vanagon, Volkswagen + + + + + (MERC) Nautica Villager, Villager Minivan, Mercury + + + + + (PONT) Vibe (sport wagon), Pontiac + + + + + (FORD) Victoria, Ford (see English, French, German, and Italian Ford); (VAUX) Victor, Vauxhall + + + + + (ACUR) Vigor, Acura + + + + + (EDSE) Villager, Edsel; (MERC) Villager, Mercury + + + + + (DODG) Viper, Dodge; (PLYM) Vip, Plymouth + + + + + (ASTO) Saloon (Virage), Virage (Saloon), Aston Martin + + + + + (EGIL) Vision, Eagle; (OLDS) Vista Cruiser, Oldsmobile + + + + + (SUZI) Vitara, Suzuki; (TRIU) Vitesse, Triumph + + + + + (VAUX) Viva, Vauxhall + + + + + (TVR) Vixen, TVR + + + + + Vanquish, Vanquish S + + + + + (SIN) Vogue, Singer + + + + + (GAZ) Volga, GAZ; (PLYM) Volare, Plymouth + + + + + (CHRY) Voyager, Chrysler; (MERC) Voyager, Mercury; (PLYM) Voyager, Plymouth + + + + + (SUZI) Verona, Suzuki + + + + + (STRN) Vue, Saturn + + + + + (JEEP) Wagoneer, Jeep (for vehicle years 1989 to present, use VMA/JEEP); (JEP) Wagoneer, Jeep (for vehicle years prior to 1970, use VMA/JEP); (AMER) Wagoneer, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (STU) Wagonaire, Studebaker + + + + + (HUDS) Wasp, Hudson + + + + + Wave + + + + + (DODG) Wayfarer, Dodge + + + + + (AUST) Westminster, Austin + + + + + (ATV) Wheels only; (SNOW) Wheels only, Snowmobiles; (SPEC) Motorized Wheelchairs + + + + + (BUIC) Wildcat, Buick + + + + + (CHRY) Windsor, Chrysler; (FORD) Windstar, Ford (see English, French, German, and Italian Ford) + + + + + (JEEP) Wrangler, Jeep (for vehicle years 1989 to present, use VMA/JEEP); (JEP) Wrangler, Jeep (for vehicle years prior to 1970, use VMA/JEP); (AMER) Wrangler, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (BERO) X19, Bertone; (FIAT) X19, Fiat + + + + + (BMW) X3, BMW + + + + + (BMW) X5, BMW + + + + + (SUZI) X-90 (sport utility), Suzuki + + + + + (SCIO) XA, Scion + + + + + (SCIO) XB, Scion + + + + + (VOLV) XC70, Volvo + + + + + (VOLV) XC90, Volvo + + + + + (NISS) XE, Nissan + + + + + (HYUN) XG, Hyundai + + + + + (JAGU) XJ, Jaguar + + + + + (JAGU) XJ40, Jaguar + + + + + (JAGU) XJ6, Jaguar + + + + + (JAGU) XJ8, Jaguar + + + + + (JAGU) XJC, Jaguar + + + + + (JAGU) XJR, Jaguar + + + + + (JAGU) XJS, Jaguar + + + + + (JAGU) XK Series, Jaguar + + + + + (JAGU) XK8, Jaguar + + + + + (JAGU) XK-E Series, Jaguar + + + + + (JAGU) XKR, Jaguar + + + + + (FORD) XL, Ford (see English, French, German, and Italian Ford) + + + + + (SUZI) XL-7 or XL-7 Grand Vitara, Suzuki + + + + + (CADI) XLR, Cadillac + + + + + (FORD) Explorer, Ford (see English, French, German, and Italian Ford) + + + + + (MERK) XR4Ti, Merkur + + + + + (FORD) Explorer Sport Trac, Ford (see English, French, German, and Italian Ford) + + + + + (SUBA) XT6, Subaru + + + + + (SUBA) XT Coupe, Subaru + + + + + (NISS) X-Terra, Nissan + + + + + (JAGU) X-Type, Jaguar + + + + + (ZCZY) Yugo (series), Zastavia (ZCZ-Yugoslavia) + + + + + (GMC) Yukon, General Motors Corp. + + + + + (BMW) Z3, BMW + + + + + (BMW) Z8, BMW + + + + + (ALFA) Zagato, Alfa Romeo; (LNCI) Zagato, Lancia + + + + + (ENGF) Zephyr, English Ford (British); (LINC) Zephyr, Lincoln-Continental; (MERC) Zephyr, Mercury + + + + + (ENGF) Zodiac, English Ford (British) + + + + + (FORD) ZX2, Ford + + + + + + + A data type for Vehicle Model. + + + + + + + + + + + + + A data type for Vehicle Style. + + + + + + + + Single-Engine, Jet + + + + + Single-Engine, Propeller + + + + + Sedan, 2 door + + + + + Hatchback, 2 door. + + + + + Twin-Engine, Jet + + + + + Twin-Engine, Propeller + + + + + Hardtop, 2 door. + + + + + 3-DoorSome truck makes will have twodoors on the drivers side andone on the passenger side. Otherm + + + + + Tri-Engine, Jet + + + + + Tri-Engine, Propeller + + + + + SEDAN, 4 DOOR; TRUCK/PICK-UP 4 DOOR + + + + + Hatchback, 4 door. + + + + + Hardtop, 4 door. + + + + + Auto Carrier + + + + + Asphalt Distributor + + + + + Aerial Platform + + + + + Air CompressorShould be entered as a part if notif not permanently mounted. + + + + + Ambulance + + + + + Armored Truck + + + + + Bulk AgricultureBulk transport of raw vegetables.May have live floor, belt, or tiphead. + + + + + Brush Chipper + + + + + Bulldozer + + + + + Buggy, ConcreteAlso known as a power cart. + + + + + Backhoe + + + + + Backhoe/Loader + + + + + Blimp + + + + + Beverage Truck + + + + + Boat + + + + + Bus + + + + + Biohazard + + + + + Chassis and Cab + + + + + Unpublished style of ConstructionEquipmentExplain style in the MIS field + + + + + Converter Gear + + + + + Coach. + + + + + Corn Picker + + + + + Cotton Picker + + + + + Concrete mixer + + + + + CombineAlso known as a grain harvester + + + + + Coupe. Use this code when unable to determine if vehicle is a two-door sedan or a two-door hardtop. + + + + + Crane + + + + + Construction Signal + + + + + Campingalso known as camper or traveltrailer + + + + + Convertible + + + + + Cotton Stripper + + + + + Detasseling Equipment + + + + + Potato Digger + + + + + Dump + + + + + Drill, RockAlso known as a drifter drill. + + + + + Tractor Truck, Diesel + + + + + Dump Trailer + + + + + Auxiliary Dolly + + + + + Enclosed Body, Removable Enclosure + + + + + Enclosed Body, Nonremovableenclosure + + + + + ExcavatorAlso known as a digger. + + + + + Flatbed or Platform + + + + + Flotation ChassisAlso known as implement carrier + + + + + Field ChopperAlso known as a sileage cutter + + + + + Fork LiftAlso known as a lift truck. + + + + + Flatrack + + + + + Fertilizer SpreaderEnter as a part if not permanentlymounted + + + + + Fire Truck + + + + + Wagonalso known as Gondola, Cart, orContainer + + + + + Grader + + + + + GeneratorEnter as a part, if not permanentlymounted. + + + + + Garbage or Refuse + + + + + Grain + + + + + Glass Rack + + + + + Hot Air Ballon + + + + + Hatchback/Fastback. Use this code for a vehicle that has a rear door, and the number of side doors is unknown. + + + + + Hydraulic Dump + + + + + Horse + + + + + Hay Bale Loader + + + + + Hammer + + + + + Hopper + + + + + Helicopter + + + + + Hearse + + + + + HouseMobile home + + + + + Hardtop. This code is used only when the number of doors is unknown. + + + + + Harvester + + + + + Hay Baler + + + + + Lowboy or Lowbed + + + + + Loader + + + + + Lift Boom (personnel)Also known as an orchard or cherrypicker. + + + + + LogUsed to transport logs, poles, orpipe. May be self loading or mayhave a grappling arm or jammer. + + + + + Log SkidderAlso known as a grappler skidder. + + + + + Carry-allrugged trail and pleasure vehicles(e.g., Blazaer, Bronco, Jeep, etcetc.) + + + + + Limousine + + + + + Polealso known as logging trailer-usedto transport logs and pipes + + + + + Livestock Rack + + + + + Light Tower (Typically used around or near construction sites and powered by a generator.) + + + + + Law Enforcement + + + + + Lunch Wagon + + + + + Motorbike + + + + + Motorcycle + + + + + Moped + + + + + Unpublished Style of Farm Equipment + + + + + Motorized Home + + + + + Multi-Engine, Jet + + + + + Minibike + + + + + Mower, Riding or Garden Tractor + + + + + Multi-Engine, Propeller + + + + + Mower-ConditionerFor grass or hay + + + + + Motorscooter + + + + + Motorcycle Trailer + + + + + Multi-wheeled vehicleManufactured for off-road use, butbut licensed as street legal,e.g., 3-wheel mo + + + + + Minicycle + + + + + Open Body + + + + + Pickup + + + + + Pallet + + + + + Pickup with mounted camperenter as a part or add-on part + + + + + Prime MoverAlso known as a road packer. + + + + + PaverAlso known as a finisher or roadsurfacer. + + + + + Roadster. + + + + + Refrigerated Vanalso known as reefer + + + + + Retractable Hardtop. + + + + + RollerAlso known as a compactor. + + + + + Sailplane + + + + + Scraper + + + + + SedanUse this code only if the number ofdoors is unknown. + + + + + Semiuse only when the specific bodystyle of the semi-trailer isunknown + + + + + Stump Grinder + + + + + ShovelAlso known as a power or steamshovel. + + + + + Striper + + + + + Snowmobile + + + + + Snowblower + + + + + Search and Rescue + + + + + SweeperAlso known as a power broom usedto clean streets and parking lots + + + + + Stake or Rack + + + + + Station Wagon + + + + + Sprayer + + + + + SawUsed in cutting asphalt, concrete,or masonry. + + + + + Tree HarvesterAlso known as a feller-buncher + + + + + Tractor, Track Type + + + + + Auto Tow DollyTwo-wheel towing equipment + + + + + Tent Trailer + + + + + Tractor, Wheel Type + + + + + TrencherAlso known as a ditcher + + + + + Tanker + + + + + Touring Car. + + + + + Tractor Truck, Gasoline + + + + + Tow Truck/Wrecker + + + + + Ultralight (including hang gliders) + + + + + Utility + + + + + Vacuum CleanerHeavy duty ride-on type enter as apart, if not permanently mounted + + + + + Van Camper + + + + + Vanincludes open or closed top boxtrailers + + + + + Vanette + + + + + Well Driller + + + + + Welder + + + + + Windrower + + + + + Wood Splitter + + + + + + + A data type for Vehicle Style. + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/fips_10-4/2.0/fips_10-4.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/fips_10-4/2.0/fips_10-4.xsd new file mode 100644 index 00000000..f7f77373 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/fips_10-4/2.0/fips_10-4.xsd @@ -0,0 +1,1364 @@ + + + + Countries, dependencies, areas of special sovereignty, and their principal administrative divisions from the Federal Information Processing Standards (FIPS) 10-4. + + true + + + + + + + A data type for country, territory, or dependency codes. + + + + + + + + ARUBA + + + + + ANTIGUA AND BARBUDA + + + + + UNITED ARAB EMIRATES + + + + + AFGHANISTAN + + + + + ALGERIA + + + + + AZERBAIJAN + + + + + ALBANIA + + + + + ARMENIA + + + + + ANDORRA + + + + + ANGOLA + + + + + AMERICAN SAMOA + + + + + ARGENTINA + + + + + AUSTRALIA + + + + + ASHMORE AND CARTIER ISLANDS + + + + + AUSTRIA + + + + + ANGUILLA + + + + + ANTARCTICA + + + + + BAHRAIN + + + + + BARBADOS + + + + + BOTSWANA + + + + + BERMUDA + + + + + BELGIUM + + + + + BAHAMAS, THE + + + + + BANGLADESH + + + + + BELIZE + + + + + BOSNIA AND HERZEGOVINA + + + + + BOLIVIA + + + + + BURMA + + + + + BENIN + + + + + BELARUS + + + + + SOLOMON ISLANDS + + + + + NAVASSA ISLAND + + + + + BRAZIL + + + + + BASSAS DA INDIA + + + + + BHUTAN + + + + + BULGARIA + + + + + BOUVET ISLAND + + + + + BRUNEI + + + + + BURUNDI + + + + + CANADA + + + + + CAMBODIA + + + + + CHAD + + + + + SRI LANKA + + + + + CONGO + + + + + CONGO, DEMOCRATIC REPUBLIC OF THE + + + + + CHINA + + + + + CHILE + + + + + CAYMAN ISLANDS + + + + + COCOS (KEELING) ISLANDS + + + + + CAMEROON + + + + + COMOROS + + + + + COLOMBIA + + + + + NORTHERN MARIANA ISLANDS + + + + + CORAL SEA ISLANDS + + + + + COSTA RICA + + + + + CENTRAL AFRICAN REPUBLIC + + + + + CUBA + + + + + CAPE VERDE + + + + + COOK ISLANDS + + + + + CYPRUS + + + + + DENMARK + + + + + DJIBOUTI + + + + + DOMINICA + + + + + JARVIS ISLAND + + + + + DOMINICAN REPUBLIC + + + + + ECUADOR + + + + + EGYPT + + + + + IRELAND + + + + + EQUATORIAL GUINEA + + + + + ESTONIA + + + + + ERITREA + + + + + EL SALVADOR + + + + + ETHIOPIA + + + + + EUROPA ISLAND + + + + + CZECH REPUBLIC + + + + + FRENCH GUIANA + + + + + FINLAND + + + + + FIJI + + + + + FALKLAND ISLANDS (ISLAS MALVINAS) + + + + + MICRONESIA, FEDERATED STATES OF + + + + + FAROE ISLANDS + + + + + FRENCH POLYNESIA + + + + + BAKER ISLAND + + + + + FRANCE + + + + + FRENCH SOUTHERN AND ANTARCTIC LANDS + + + + + GAMBIA, THE + + + + + GABON + + + + + GEORGIA + + + + + GHANA + + + + + GIBRALTAR + + + + + GRENADA + + + + + GUERNSEY + + + + + GREENLAND + + + + + GERMANY + + + + + GLORIOSO ISLANDS + + + + + GUADELOUPE + + + + + GUAM + + + + + GREECE + + + + + GUATEMALA + + + + + GUINEA + + + + + GUYANA + + + + + GAZA STRIP + + + + + HAITI + + + + + HONG KONG + + + + + HEARD ISLAND AND MCDONALD ISLANDS + + + + + HONDURAS + + + + + HOWLAND ISLAND + + + + + CROATIA + + + + + HUNGARY + + + + + ICELAND + + + + + INDONESIA + + + + + ISLE OF MAN + + + + + INDIA + + + + + BRITISH INDIAN OCEAN TERRITORY + + + + + CLIPPERTON ISLAND + + + + + IRAN + + + + + ISRAEL + + + + + ITALY + + + + + COTE D'IVOIRE + + + + + IRAQ + + + + + JAPAN + + + + + JERSEY + + + + + JAMAICA + + + + + JAN MAYEN + + + + + JORDAN + + + + + JOHNSTON ATOLL + + + + + JUAN DE NOVA ISLAND + + + + + KENYA + + + + + KYRGYZSTAN + + + + + NORTH KOREA + + + + + KINGMAN REEF + + + + + KIRIBATI + + + + + SOUTH KOREA + + + + + CHRISTMAS ISLAND + + + + + KUWAIT + + + + + KAZAKHSTAN + + + + + LAOS + + + + + LEBANON + + + + + LATVIA + + + + + LITHUANIA + + + + + LIBERIA + + + + + SLOVAKIA + + + + + PALMYRA ATOLL + + + + + LIECHTENSTEIN + + + + + LESOTHO + + + + + LUXEMBOURG + + + + + LIBYA + + + + + MADAGASCAR + + + + + MARTINIQUE + + + + + MACAU + + + + + MOLDOVA + + + + + MAYOTTE + + + + + MONGOLIA + + + + + MONTSERRAT + + + + + MALAWI + + + + + MONTENEGRO + + + + + MACEDONIA + + + + + MALI + + + + + MONACO + + + + + MOROCCO + + + + + MAURITIUS + + + + + MIDWAY ISLANDS + + + + + MAURITANIA + + + + + MALTA + + + + + OMAN + + + + + MALDIVES + + + + + MEXICO + + + + + MALAYSIA + + + + + MOZAMBIQUE + + + + + NEW CALEDONIA + + + + + NIUE + + + + + NORFOLK ISLAND + + + + + NIGER + + + + + VANUATU + + + + + NIGERIA + + + + + NETHERLANDS + + + + + NO MAN'S LAND + + + + + NORWAY + + + + + NEPAL + + + + + NAURU + + + + + SURINAME + + + + + NETHERLANDS ANTILLES + + + + + NICARAGUA + + + + + NEW ZEALAND + + + + + OCEANS + + + + + PARAGUAY + + + + + PITCAIRN ISLANDS + + + + + PERU + + + + + PARACEL ISLANDS + + + + + SPRATLY ISLANDS + + + + + PAKISTAN + + + + + POLAND + + + + + PANAMA + + + + + PORTUGAL + + + + + PAPUA NEW GUINEA + + + + + PALAU + + + + + GUINEA-BISSAU + + + + + QATAR + + + + + SERBIA + + + + + REUNION + + + + + MARSHALL ISLANDS + + + + + ROMANIA + + + + + PHILIPPINES + + + + + PUERTO RICO + + + + + RUSSIA + + + + + RWANDA + + + + + SAUDI ARABIA + + + + + SAINT PIERRE AND MIQUELON + + + + + SAINT KITTS AND NEVIS + + + + + SEYCHELLES + + + + + SOUTH AFRICA + + + + + SENEGAL + + + + + SAINT HELENA + + + + + SLOVENIA + + + + + SIERRA LEONE + + + + + SAN MARINO + + + + + SINGAPORE + + + + + SOMALIA + + + + + SPAIN + + + + + SAINT LUCIA + + + + + SUDAN + + + + + SVALBARD + + + + + SWEDEN + + + + + SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS + + + + + SYRIA + + + + + SWITZERLAND + + + + + TRINIDAD AND TOBAGO + + + + + TROMELIN ISLAND + + + + + THAILAND + + + + + TAJIKISTAN + + + + + TURKS AND CAICOS ISLANDS + + + + + TOKELAU + + + + + TONGA + + + + + TOGO + + + + + SAO TOME AND PRINCIPE + + + + + TUNISIA + + + + + EAST TIMOR + + + + + TURKEY + + + + + TUVALU + + + + + TAIWAN + + + + + TURKMENISTAN + + + + + TANZANIA + + + + + UNDERSEA FEATURES + + + + + UGANDA + + + + + UNITED KINGDOM + + + + + UKRAINE + + + + + UNITED STATES + + + + + BURKINA FASO + + + + + URUGUAY + + + + + UZBEKISTAN + + + + + SAINT VINCENT AND THE GRENADINES + + + + + VENEZUELA + + + + + BRITISH VIRGIN ISLANDS + + + + + VIETNAM + + + + + UNITED STATES VIRGIN ISLANDS + + + + + VATICAN CITY + + + + + NAMIBIA + + + + + WEST BANK + + + + + WALLIS AND FUTUNA + + + + + WESTERN SAHARA + + + + + WAKE ISLAND + + + + + SAMOA + + + + + SWAZILAND + + + + + YEMEN + + + + + ZAMBIA + + + + + ZIMBABWE + + + + + + + A data type for country, territory, or dependency codes. + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/hazmat/2.0/hazmat.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/hazmat/2.0/hazmat.xsd new file mode 100644 index 00000000..9839a153 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/hazmat/2.0/hazmat.xsd @@ -0,0 +1,11507 @@ + + + + Pipeline and Hazardous Materials Safety Administration - Office of Hazardous Materials Safety. + + true + + + + + + + + + + + + + + Black powder for small arms + + + + + Jet perforating guns, charged oil well, with detonator + + + + + Model rocket motor + + + + + Model rocket motor + + + + + Ammonium nitrate-fuel oil mixture [containing only prilled ammonium nitrateandfueloil] + + + + + Toy Caps + + + + + Jet perforating guns, charged oil well, with detonator + + + + + Gasohol [gasoline mixed with ethyl alcohol, with not more than 20 percent alcohol] + + + + + Petroleum oil + + + + + Fusee ([railway or highway]) + + + + + Sulfur + + + + + Charcoal [briquettes, shell, screenings, wood, etc.] + + + + + Cotton + + + + + Methyldichloroarsine + + + + + Hydrocyanic acid, aqueous solutions [with less than 5 percent hydrogen cyanide] + + + + + Tear gas devices [with more than 2 percent tear gas substances, by mass] + + + + + Ferrous chloride, solid + + + + + Chemical kit + + + + + Diborane mixtures + + + + + Refrigerant gases, n.o.s. [or] Dispersant gases, n.o.s. + + + + + Organic phosphate, mixed with compressed gas [or] Organic phosphate compound, mixed with compressed gas [or] Organic phosphorus compound, mixed with compressed gas + + + + + Ethane-Propane mixture, refrigerated liquid + + + + + Parathion and compressed gas mixture + + + + + Combustible liquid, n.o.s. + + + + + Asphalt, [at or above its flash point] + + + + + Asbestos + + + + + Sulfur, molten + + + + + Isobutyl chloroformate + + + + + Compounds, tree killing, liquid [or] Compounds, weed killing, liquid + + + + + Ethyl phosphonous dichloride, anhydrous [pyrophoric liquid] + + + + + Ethyl phosphonothioic dichloride, anhydrous + + + + + Hazardous waste, solid, n.o.s. + + + + + Hazardous waste, liquid, n.o.s. + + + + + Smokeless powder for small arms ([100 pounds or less]) + + + + + Self-defense spray, non-pressurized + + + + + Oxygen generator, chemical, spent + + + + + Gas identification set + + + + + Chlorine dioxide, hydrate, frozen + + + + + Carbon monoxide, refrigerated liquid [(cryogenic liquid)] + + + + + Methyl phosphonic dichloride + + + + + Aluminum, molten + + + + + Chloropivaloyl chloride + + + + + 3,5-Dichloro-2,4,6-trifluoropyridine + + + + + Trimethoxysilane + + + + + Ammonium picrate, [dry or wetted with less than 10 percent water, by mass] + + + + + Cartridges for weapons, [with bursting charge] + + + + + Cartridges for weapons, [with bursting charge] + + + + + Cartridges for weapons, [with bursting charge] + + + + + Ammunition, incendiary [with or without burster, expelling charge, or propellingcharge] + + + + + Ammunition, incendiary [with or without burster, expelling charge, or propellingcharge] + + + + + Cartridges for weapons, inert projectile [or] Cartridges, small arms + + + + + Cartridges for weapons, blank [or] Cartridges, small arms, blank + + + + + Ammunition, smoke [with or without burster, expelling charge or propellingcharge] + + + + + Ammunition, smoke [with or without burster, expelling charge or propellingcharge] + + + + + Ammunition, tear-producing [with burster, expelling charge or propelling charge] + + + + + Ammunition, tear-producing [with burster, expelling charge or propelling charge] + + + + + Ammunition, toxic [with burster, expelling charge, or propelling charge] + + + + + Ammunition, toxic [with burster, expelling charge, or propelling charge] + + + + + Black powder [or] Gunpowder, [granular or as a meal] + + + + + Black powder, compressed [or] Gunpowder, compressed [or] Black powder, in pellets[or] Gunpowder, in pellets + + + + + Detonators, non-electric, [for blasting] + + + + + Detonators, electric, [for blasting] + + + + + Bombs, [with bursting charge] + + + + + Bombs, [with bursting charge] + + + + + Bombs, [with bursting charge] + + + + + Bombs, photo-flash + + + + + Bombs, photo-flash + + + + + Bombs, photo-flash + + + + + Boosters, [without detonator] + + + + + Bursters, [explosive] + + + + + Primers, cap type + + + + + Charges, demolition + + + + + Cartridges, flash + + + + + Cartridges, flash + + + + + Cartridges, signal + + + + + Cases, cartridge, empty with primer + + + + + Charges, depth + + + + + Charges, shaped, [without detonator] + + + + + Charges, supplementary explosive + + + + + Cord, detonating, [flexible] + + + + + Cord, igniter + + + + + Cutters, cable, explosive + + + + + Cyclotrimethylenetrinitramine, wetted [or] Cyclonite, wetted [or] Hexogen,wetted[or] RDX, wetted [with not less than 15 percent water by mass] + + + + + Detonators for ammunition + + + + + Diazodinitrophenol, wetted [with not less than 40 percent water or mixtureof alcoholand water, by mass] + + + + + Diethyleneglycol dinitrate, desensitized [with not less than 25 percent non-volatilewater-insoluble phlegmatizer, by mass] + + + + + Dinitrophenol, [dry or wetted with less than 15 percent water, by mass] + + + + + Dinitrophenolates [alkali metals, dry or wetted with less than 15 percent water,by mass] + + + + + Dinitroresorcinol, [dry or wetted with less than 15 percent water, by mass] + + + + + Hexanitrodiphenylamine [or] Dipicrylamine [or] Hexyl + + + + + Explosive, blasting, type A + + + + + Explosive, blasting, type B + + + + + Explosive, blasting, type C + + + + + Explosive, blasting, type D + + + + + Flares, surface + + + + + Flares, aerial + + + + + Flash powder + + + + + Fracturing devices, explosive, [without detonators for oil wells] + + + + + Fuse, non-detonating [instantaneous or quickmatch] + + + + + Cord detonating [or] Fuse detonating [metal clad] + + + + + Fuse, igniter [tubular metal clad] + + + + + Cord, detonating, mild effect [or] Fuse, detonating, mild effect [metal clad] + + + + + Fuse, safety + + + + + Fuzes, detonating + + + + + Fuzes, detonating + + + + + Grenades, practice, [hand or rifle] + + + + + Guanyl nitrosaminoguanylidene hydrazine, wetted [with not less than 30 percent water,by mass] + + + + + Guanyl nitrosaminoguanyltetrazene, wetted [or] Tetrazene, wetted [with notlessthan30 percent water or mixture of alcohol and water, by mass] + + + + + Hexolite, [or] Hexotol [dry or wetted with less than 15 percent water, by mass] + + + + + Igniters + + + + + Jet perforating guns, charged [oil well, without detonator] + + + + + Lead azide, wetted [with not less than 20 percent water or mixture of alcohol andwater, by mass] + + + + + Lead styphnate, wetted [or] Lead trinitroresorcinate, wetted [with not lessthan20 percent water or mixture of alcohol and water, by mass] + + + + + Lighters, fuse + + + + + Deflagrating metal salts of aromatic nitroderivatives, n.o.s. + + + + + Mannitol hexanitrate, wetted [or] Nitromannite, wetted [with not less than40 percentwater, or mixture of alcohol and water, by mass] + + + + + Mercury fulminate, wetted [with not less than 20 percent water, or mixtureof alcoholand water, by mass] + + + + + Mines [with bursting charge] + + + + + Mines [with bursting charge] + + + + + Mines [with bursting charge] + + + + + Nitroglycerin, desensitized [with not less than 40 percent non-volatile water insoluble phlegmatizer, by mass] + + + + + Nitroglycerin, solution in alcohol, [with more than 1 percent but not morethan10percent nitrogylcerin] + + + + + Nitrostarch, [dry or wetted with less than 20 percent water, by mass] + + + + + Nitro urea + + + + + Pentaerythrite tetranitrate, wetted [or] Pentaerythritol tetranitrate, wetted, [or] PETN, wetted [with not less than 25 percent water, by mass, or] Pentaerythrite tetranitrate, [or] Pentaerythritol tetranitrate [or] PETN, desensitized [with not less than + + + + + Pentolite, [dry or wetted with less than 15 percent water, by mass] + + + + + Trinitroaniline [or] Picramide + + + + + Trinitrophenol [or] Picric acid, [dry or wetted with less than 30 percent water,by mass] + + + + + Trinitrochlorobenzene [or] Picryl chloride + + + + + Powder cake, wetted [or] Powder paste, wetted [with not less than 25 percent water, by mass] + + + + + Powder, smokeless + + + + + Powder, smokeless + + + + + Projectiles, [with bursting charge] + + + + + Projectiles, [with bursting charge] + + + + + Projectiles, [with bursting charge] + + + + + Ammunition, illuminating [with or without burster, expelling charge or propellingcharge] + + + + + Release devices, explosive + + + + + Rivets, explosive + + + + + Rockets, [with bursting charge] + + + + + Rockets, [with bursting charge] + + + + + Rockets, [with bursting charge] + + + + + Rockets, [with inert head] + + + + + Rocket motors + + + + + Samples, explosive, [other than initiating explosives] + + + + + Signal devices, hand + + + + + Signals, railway track, explosive + + + + + Signals, railway track, explosive + + + + + Signals, distress, [ship] + + + + + Signals, distress, [ship] + + + + + Signals, smoke + + + + + Signals, smoke + + + + + Sounding devices, explosive + + + + + Tetranitroaniline + + + + + Trinitrophenylmethylnitramine [or] Tetryl + + + + + Trinitrotoluene [or] TNT, [dry or wetted with less than 30 percent water, by mass] + + + + + Tracers for ammunition + + + + + Trinitroanisole + + + + + Trinitrobenzene, [dry or wetted with less than 30 percent water, by mass] + + + + + Trinitrobenzoic acid, [dry or wetted with less than 30 percent water, by mass] + + + + + Trinitro-meta-cresol + + + + + Trinitronaphthalene + + + + + Trinitrophenetole + + + + + Trinitroresorcinol [or] Styphnic acid, [dry or wetted with less than 20 percentwater, or mixture of alcohol and water, by mass] + + + + + Urea nitrate, [dry or wetted with less than 20 percent water, by mass] + + + + + Warheads, torpedo [with bursting charge] + + + + + Ammonium nitrate, [with more than 0.2 percent combustible substances, includingany organic substance calculated as carbon, to the exclusion of any other added substance] + + + + + Barium azide, [dry or wetted with less than 50 percent water, by mass] + + + + + Boosters with detonator + + + + + Cyclotetramethylenetetranitramine, wetted [or] HMX, wetted [or] Octogen, wetted[withnot less than 15 percent water, by mass] + + + + + Sodium dinitro-o-cresolate, [dry or wetted with less than 15 percent water,by mass] + + + + + Sodium picramate, [dry or wetted with less than 20 percent water, by mass] + + + + + Zirconium picramate, [dry or wetted with less than 20 percent water, by mass] + + + + + Charges, shaped, flexible, linear + + + + + Rockets, line-throwing + + + + + Rockets, line-throwing + + + + + Explosive, blasting, type E + + + + + Charges, propelling, for cannon + + + + + Ammunition, incendiary, white phosphorus, [with burster, expelling charge or propelling charge] + + + + + Ammunition, incendiary, white phosphorus, [with burster, expelling charge or propelling charge] + + + + + Ammunition smoke, white phosphorus [with burster,expelling charge, or propellingcharge] + + + + + Ammunition, smoke, white phosphorus [with burster, expelling charge, or propellingcharge] + + + + + Ammunition, incendiary [liquid or gel, with burster, expelling charge or propelling charge] + + + + + Contrivances, water-activated, [with burster, expelling charge or propelling charge] + + + + + Contrivances, water-activated, [with burster, expelling charge or propelling charge] + + + + + Rocket motors with hypergolic liquids [with or without an expelling charge] + + + + + Ammunition, illuminating [with or without burster, expelling charge or propellingcharge] + + + + + Detonators, electric, [for blasting] + + + + + Fuzes, detonating + + + + + Octolite [or] Octol, [dry or wetted with less than 15 percent water, by mass] + + + + + Detonators, non-electric, [for blasting] + + + + + Boosters with detonator + + + + + Charges, propelling + + + + + Charges, propelling + + + + + Cartridges, power device + + + + + Cartridges, power device + + + + + Cartridges, oil well + + + + + Cartridges, oil well + + + + + Charges, propelling, for cannon + + + + + Rocket motors + + + + + Rocket motors + + + + + Nitroguanidine [or] Picrite, [dry or wetted with less than 20 percent water, bymass] + + + + + Boosters, [without detonator] + + + + + Grenades, [hand or rifle, with bursting charge] + + + + + Grenades, [hand or rifle, with bursting charge] + + + + + Warheads, rocket [with bursting charge] + + + + + Warheads, rocket [with bursting charge] + + + + + Charges, shaped, flexible, linear + + + + + Cord, detonating, [flexible] + + + + + Cord, detonating [or] Fuse, detonating [metal clad] + + + + + Bombs, [with bursting charge] + + + + + Grenades, [hand or rifle, with bursting charge] + + + + + Grenades, [hand or rifle, with bursting charge] + + + + + Mines [with bursting charge] + + + + + Rockets, [with bursting charge] + + + + + Sounding devices, explosive + + + + + Ammunition, illuminating [with or without burster, expelling charge or propellingcharge] + + + + + Bombs, photo-flash + + + + + Ammunition, incendiary [with or without burster, expelling charge or propellingcharge] + + + + + Ammunition, tear-producing [with burster, expelling charge or propelling charge] + + + + + Ammunition, smoke [with or without burster, expelling charge or propellingcharge] + + + + + Flash powder + + + + + Tracers for ammunition + + + + + Cartridges, signal + + + + + Signals, smoke + + + + + Igniters + + + + + Igniters + + + + + Fuzes, igniting + + + + + Fuzes, igniting + + + + + Grenades, practice, [hand or rifle] + + + + + Primers, tubular + + + + + Primers, tubular + + + + + Cartridges for weapons, [with bursting charge] + + + + + Rocket motors with hypergolic liquids [with or without an expelling charge] + + + + + Cartridges, power device + + + + + Projectiles, [with bursting charge] + + + + + Igniters + + + + + Cartridges for weapons, blank + + + + + Cartridges for weapons, blank [or] Cartridges, small arms, blank + + + + + Cartridges for weapons, inert projectile + + + + + Torpedoes [with bursting charge] + + + + + Torpedoes [with bursting charge] + + + + + Explosive, blasting, type B [or] Agent blasting, Type B + + + + + Explosive, blasting, type E [or] Agent blasting, Type E + + + + + Fireworks + + + + + Fireworks + + + + + Fireworks + + + + + Fireworks + + + + + Fireworks + + + + + Cartridges for weapons, blank [or] Cartridges, small arms, blank + + + + + Cartridges for weapons, inert projectile [or] Cartridges, small arms + + + + + Nitrocellulose, [dry or wetted with less than 25 percent water (or alcohol), bymass] + + + + + Nitrocellulose, [unmodified or plasticized with less than 18 percent plasticizingsubstance, by mass] + + + + + Nitrocellulose, wetted [with not less than 25 percent alcohol, by mass] + + + + + Nitrocellulose, plasticized [with not less than 18 percent plasticizing substance,bymass] + + + + + Projectiles, [with bursting charge] + + + + + Projectiles, [inert with tracer] + + + + + Projectiles, [with burster or expelling charge] + + + + + Projectiles, [with burster or expelling charge] + + + + + Cartridges for weapons, [with bursting charge] + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Substances, explosive, n.o.s. + + + + + Substances, explosive, n.o.s. + + + + + Substances, explosive, n.o.s. + + + + + Detonator assemblies, non-electric [for blasting] + + + + + Detonator assemblies, non-electric, [for blasting] + + + + + Ammunition, practice + + + + + Ammunition, proof + + + + + Detonators for ammunition + + + + + Detonators for ammunition + + + + + Detonators for ammunition + + + + + Fuzes, detonating + + + + + Fuzes, igniting + + + + + Warheads, rocket [with bursting charge] + + + + + Warheads, rocket [with burster or expelling charge] + + + + + Warheads, rocket [with burster or expelling charge] + + + + + Grenades, practice, [hand or rifle] + + + + + Signal devices, hand + + + + + Sounding devices, explosive + + + + + Sounding devices, explosive + + + + + Primers, tubular + + + + + Primers, cap type + + + + + Primers, cap type + + + + + Cases, cartridges, empty with primer + + + + + Articles, pyrophoric + + + + + Cartridges, power device + + + + + Components, explosive train, n.o.s. + + + + + Components, explosive train, n.o.s. + + + + + Components, explosive train, n.o.s. + + + + + 5-Nitrobenzotriazol + + + + + Trinitrobenzenesulfonic acid + + + + + Trinitrofluorenone + + + + + Trinitrotoluene and Trinitrobenzene mixtures [or] TNT and trinitrobenzene mixtures[or] TNT and hexanitrostilbene mixtures [or] Trinitrotoluene and hexanitrostilnene mixtures + + + + + Trinitrotoluene mixtures containing Trinitrobenzene and Hexanitrostilbene [or] TNTmixtures containing trinitrobenzene and hexanitrostilbene + + + + + Tritonal + + + + + RDX and HMX mixtures, wetted [with not less than 15 percent water by mass][or]RDX and HMX mixtures, desensitized [with not less than 10 percent phlegmatizer by mass] + + + + + Hexanitrostilbene + + + + + Hexotonal + + + + + Trinitroresorcinol, wetted [or] Styphnic acid, wetted [with not less than 20 percentwater, or mixture of alcohol and water by mass] + + + + + Rocket motors, liquid fueled + + + + + Rocket motors, liquid fueled + + + + + Rockets, liquid fueled [with bursting charge] + + + + + Rockets, liquid fueled [with bursting charge] + + + + + Bombs with flammable liquid, [with bursting charge] + + + + + Bombs with flammable liquid, [with bursting charge] + + + + + Dipicryl sulfide, [dry or wetted with less than 10 percent water, by mass] + + + + + Ammonium perchlorate + + + + + Flares, aerial + + + + + Flares, aerial + + + + + Cartridges, signal + + + + + Dinitrosobenzene + + + + + Tetrazol-1-acetic acid + + + + + Fuzes, detonating, [with protective features] + + + + + Fuzes, detonating, [with protective features] + + + + + Fuzes, detonating, [with protective features] + + + + + Pentaerythrite tetranitrate [or] Pentaerythritol tetranitrate [or] PETN, [with notless than 7 percent wax by mass] + + + + + Cartridges for weapons, [with bursting charge] + + + + + Cartridges for weapons, blank + + + + + Charges, propelling, for cannon + + + + + Charges, propelling + + + + + Cartridges for weapons, inert projectile [or] Cartridges, small arms + + + + + Flares, surface + + + + + Flares, surface + + + + + Flares, aerial + + + + + Flares, aerial + + + + + Projectiles, [inert, with tracer] + + + + + Projectiles, [inert, with tracer] + + + + + Projectiles, [with burster or expelling charge] + + + + + Projectiles, [with burster or expelling charge] + + + + + Articles, pyrotechnic [for technical purposes] + + + + + Articles, pyrotechnic [for technical purposes] + + + + + Articles, pyrotechnic [for technical purposes] + + + + + Articles, pyrotechnic [for technical purposes] + + + + + Articles, pyrotechnic [for technical purposes] + + + + + Powder cake, wetted [or] Powder paste, wetted [with not less than 17 percent alcoholby mass] + + + + + Projectiles, [with burster or expelling charge] + + + + + Projectiles, [with burster or expelling charge] + + + + + Rockets, [with expelling charge] + + + + + Rockets, [with expelling charge] + + + + + Rockets, [with expelling charge] + + + + + Charges, shaped, [without detonator] + + + + + Charges, shaped, [without detonator] + + + + + Charges, shaped, [without detonator] + + + + + Charges, explosive, commercial [without detonator] + + + + + Charges, explosive, commercial [without detonator] + + + + + Charges, explosive, commercial [without detonator] + + + + + Charges, explosive, commercial [without detonator] + + + + + Cases, combustible, empty, without primer + + + + + Cases, combustible, empty, without primer + + + + + 5-Mercaptotetrazol-1-acetic acid + + + + + Torpedoes, liquid fueled, [with or without bursting charge] + + + + + Torpedoes, liquid fueled, [with inert head] + + + + + Torpedoes [with bursting charge] + + + + + Grenades practice [Hand or rifle] + + + + + Rockets, line-throwing + + + + + Igniters + + + + + Detonators, non-electric,[for blasting] + + + + + Detonators, electric [for blasting] + + + + + Charges, bursting, plastics bonded + + + + + Charges, bursting, plastics bonded + + + + + Charges, bursting, plastics bonded + + + + + Charges, bursting, plastics bonded + + + + + Components, explosive train, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Substances, explosive, n.o.s. + + + + + Substances, explosive, n.o.s. + + + + + Substances, explosive, n.o.s. + + + + + Substances, explosive, n.o.s. + + + + + Substances, explosive, n.o.s. + + + + + Substances, explosive, n.o.s. + + + + + Substances, explosive, n.o.s. + + + + + Substances, explosive, n.o.s. + + + + + Substances, explosive, n.o.s. + + + + + Substances, explosive, very insensitive, n.o.s., [or] Substances, EVI, n.o.s. + + + + + Cyclotrimethylenetrinitramine, desensitized [or] Cyclonite, desensitized [or] Hexogen, desensitized [or] RDX, desensitized + + + + + Cyclotetramethylenetetranitramine, desensitized [or] Octogen, desensitized[or]HMX,desensitized + + + + + Substances, explosive, n.o.s. + + + + + Articles, explosive, extremely insensitive [or] Articles, EEI + + + + + Signals, smoke + + + + + Ammunition, practice + + + + + Dinitroglycoluril [or] Dingu + + + + + Nitrotriazolone [or] NTO + + + + + Charges, propelling + + + + + Signals, railway track, explosive + + + + + Signals, railway track, explosive + + + + + Jet perforating guns, charged, [oil well, without detonator] + + + + + Propellant, liquid + + + + + Octonal + + + + + Propellant, liquid + + + + + Propellant, solid + + + + + Propellant, solid + + + + + Detonator, assemblies, non-electric [for blasting] + + + + + Propellant, solid + + + + + Rockets, [with inert head] + + + + + Air bag inflators, [or] Air bag modules, [or] Seat-belt pretensioners. + + + + + 1H-Tetrazole + + + + + Acetylene, dissolved + + + + + Air, compressed + + + + + Air, refrigerated liquid, [(cryogenic liquid) non-pressurized] + + + + + Ammonia, anhydrous + + + + + Argon, compressed + + + + + Boron trifluoride + + + + + Bromotrifluoromethane [or] Refrigerant gas, R 13B1. + + + + + Butadienes, stabilized [or] Butadienes and Hydrocarbon mixture, stabilized[containing more than 40% butadienes] + + + + + Butane [see also] Petroleum gases, liquefied + + + + + Butylene [see also] Petroleum gases, liquefied + + + + + Carbon dioxide + + + + + Carbon dioxide and oxygen mixtures, compressed + + + + + Carbon dioxide and nitrous oxide mixtures + + + + + Carbon monoxide, compressed + + + + + Chlorine + + + + + Chlorodifluoromethane [or] Refrigerant gas R 22 + + + + + Chloropentafluoroethane [or] Refrigerant gas R 115 + + + + + 1-Chloro-1,2,2,2-tetrafluoroethane[or] Refrigerant gas R 124 + + + + + Chlorotrifluoromethane [or] Refrigerant gas R 13 + + + + + Coal gas, compressed + + + + + Cyanogen + + + + + Cyclopropane + + + + + Dichlorodifluoromethane [or] Refrigerant gas R 12 + + + + + Dichlorofluoromethane [or] Refrigerant gas R21 + + + + + 1,1-Difluoroethane [or] Refrigerant gas R 152a + + + + + Dimethylamine, anhydrous + + + + + Dimethyl ether + + + + + Ethane + + + + + Ethylamine + + + + + Ethyl chloride + + + + + Ethylene, refrigerated liquid [(cryogenic liquid)] + + + + + Ethyl methyl ether + + + + + Ethylene oxide [or] Ethylene oxide with nitrogen [up to a total pressure of1MPa(10bar) at 50 degrees C] + + + + + Ethylene oxide and carbon dioxide mixtures [with more than 9 percent but not morethan 87 percent ethylene oxide] + + + + + Fertilizer ammoniating solution [with free ammonia] + + + + + Fire extinguishers [containing compressed or liquefied gas] + + + + + Fluorine, compressed + + + + + Helium, compressed + + + + + Hydrogen bromide, anhydrous + + + + + Hydrogen, compressed + + + + + Hydrogen chloride, anhydrous + + + + + Hydrogen cyanide, stabilized [with less than 3 percent water] + + + + + Hydrogen fluoride, anhydrous + + + + + Hydrogen sulfide + + + + + Isobutylene [see also] Petroleum gases, liquefied + + + + + Krypton, compressed + + + + + Lighters [or] Lighter refills [containing flammable gas] + + + + + Liquefied gases, [non-flammable charged with nitrogen, carbon dioxide or air] + + + + + Methyl acetylene and propadiene mixtures, stabilized + + + + + Methylamine, anhydrous + + + + + Methyl bromide + + + + + Methyl chloride, [or] Refrigerant gas R 40 + + + + + Methyl mercaptan + + + + + Neon, compressed + + + + + Nitrogen, compressed + + + + + Dinitrogen tetroxide + + + + + Nitrosyl chloride + + + + + Nitrous oxide + + + + + Oil gas, compressed + + + + + Oxygen, compressed + + + + + Oxygen, refrigerated liquid [(cryogenic liquid)] + + + + + Petroleum gases, liquefied [or] Liquefied petroleum gas + + + + + Phosgene + + + + + Propylene [see also] Petroleum gases, liquefied + + + + + Refrigerant gases, n.o.s. + + + + + Sulfur dioxide + + + + + Sulfur hexafluoride + + + + + Tetrafluoroethylene, stabilized + + + + + Trifluorochloroethylene, stabilized + + + + + Trimethylamine, anhydrous + + + + + Vinyl bromide, stabilized + + + + + Vinyl chloride, stabilized + + + + + Vinyl methyl ether, stabilized + + + + + Acetal + + + + + Acetaldehyde + + + + + Acetone + + + + + Acetone oils + + + + + Acrolein, stabilized + + + + + Acrylonitrile, stabilized + + + + + Allyl alcohol + + + + + Allyl bromide + + + + + Allyl chloride + + + + + Amyl acetates + + + + + Pentanols + + + + + Amylamines + + + + + Amyl chlorides + + + + + 1-Pentene [(n-amylene)] + + + + + Amyl formates + + + + + n-Amyl methyl ketone + + + + + Amyl mercaptans + + + + + Amyl nitrate + + + + + Amyl nitrites + + + + + Benzene + + + + + Butanols + + + + + Butyl acetates + + + + + n-Butylamine + + + + + 1-Bromobutane + + + + + Chlorobutanes + + + + + n-Butyl formate + + + + + Butyraldehyde + + + + + Camphor oil + + + + + Carbon disulfide + + + + + Adhesives, [containing a flammable liquid] + + + + + Chlorobenzene + + + + + Ethylene chlorohydrin + + + + + Coal tar distillates, flammable + + + + + Coating solution ([includes surface treatments or coatings used for industrial orother purposes such as vehicle undercoating, drum or barrel lining]) + + + + + Crotonaldehyde, stabilized + + + + + Crotonylene + + + + + Cyclohexane + + + + + Cyclopentane + + + + + Decahydronaphthalene + + + + + Diacetone alcohol + + + + + Dibutyl ethers + + + + + 1,2-Dichloroethylene + + + + + Dichloropentanes + + + + + Ethylene glycol diethyl ether + + + + + Diethylamine + + + + + Diethyl ether [or] Ethyl ether + + + + + Diethyl ketone + + + + + Diisobutyl ketone + + + + + Diisopropylamine + + + + + Diisopropyl ether + + + + + Dimethylamine solution + + + + + Dimethyl carbonate + + + + + Dimethyldichlorosilane + + + + + Dimethylhydrazine, unsymmetrical + + + + + Dimethyl sulfide + + + + + Dioxane + + + + + Dioxolane + + + + + Divinyl ether, stabilized + + + + + Extracts, aromatic, liquid + + + + + Ethanol [or] Ethyl alcohol [or] Ethanol solutions [or] Ethyl alcohol solutions + + + + + Ethylene glycol monoethyl ether + + + + + Ethylene glycol monoethyl ether acetate + + + + + Ethyl acetate + + + + + Ethylbenzene + + + + + Ethyl borate + + + + + 2-Ethylbutyl acetate + + + + + 2-Ethylbutyraldehyde + + + + + Ethyl butyl ether + + + + + Ethyl butyrate + + + + + Ethyl chloroacetate + + + + + Ethyl chloroformate + + + + + Ethyldichlorosilane + + + + + Ethylene dichloride + + + + + Ethyleneimine, stabilized + + + + + Ethylene glycol monomethyl ether + + + + + Ethylene glycol monomethyl ether acetate + + + + + Ethyl formate + + + + + Octyl aldehydes + + + + + Ethyl lactate + + + + + Ethyl methyl ketone [or] Methyl ethyl ketone + + + + + Ethyl nitrite solutions + + + + + Ethyl propionate + + + + + Ethyltrichlorosilane + + + + + Extracts, flavoring, liquid + + + + + Formaldehyde, solutions, flammable + + + + + Furaldehydes + + + + + Fusel oil + + + + + Diesel fuel + + + + + Gasoline + + + + + Nitroglycerin solution in alcohol [with not more than 1 percent nitroglycerin] + + + + + Heptanes + + + + + Hexaldehyde + + + + + Hexanes + + + + + Printing ink, [flammable or] Printing ink related material [(including printingink thinning or reducing compound), flammable] + + + + + Isobutanol [or] Isobutyl alcohol + + + + + Isobutyl acetate + + + + + Isobutylamine + + + + + Isooctenes + + + + + Isoprene, stabilized + + + + + Isopropanol [or] Isopropyl alcohol + + + + + Isopropyl acetate + + + + + Isopropylamine + + + + + Isopropyl nitrate + + + + + Kerosene + + + + + Ketones, liquid, n.o.s. + + + + + Mercaptans, liquid, flammable, toxic, n.o.s. [or] Mercaptan mixtures, liquid, flammable, toxic, n.o.s. + + + + + Mesityl oxide + + + + + Methanol + + + + + Methyl acetate + + + + + Methylamyl acetate + + + + + Methylal + + + + + Methylamine, aqueous solution + + + + + Methyl butyrate + + + + + Methyl chloroformate + + + + + Methyl chloromethyl ether + + + + + Methyldichlorosilane + + + + + Methyl formate + + + + + Methylhydrazine + + + + + Methyl isobutyl ketone + + + + + Methyl isopropenyl ketone, stabilized + + + + + Methyl methacrylate monomer, stabilized + + + + + Methyl propionate + + + + + Methyl propyl ketone + + + + + Methyltrichlorosilane + + + + + Methyl vinyl ketone, stabilized + + + + + Nickel carbonyl + + + + + Nitromethane + + + + + Octanes + + + + + Paint [including paint, lacquer, enamel, stain, shellac solutions, varnish,polish, liquid filler, and liquid lacquer base] + + + + + Paraldehyde + + + + + Pentanes + + + + + Perfumery products [with flammable solvents] + + + + + Petroleum crude oil + + + + + Petroleum distillates, n.o.s. [or] Petroleum products, n.o.s. + + + + + Pine oil + + + + + n-Propanol [or] Propyl alcohol, normal + + + + + Propionaldehyde + + + + + n-Propyl acetate + + + + + Propylamine + + + + + 1-Chloropropane + + + + + 1,2-Dichloropropane + + + + + Propylene oxide + + + + + Propyl formates + + + + + Pyridine + + + + + Rosin oil + + + + + Rubber solution + + + + + Shale oil + + + + + Sodium methylate solutions [in alcohol] + + + + + Tetraethyl silicate + + + + + Tinctures, medicinal + + + + + Toluene + + + + + Trichlorosilane + + + + + Triethylamine + + + + + Trimethylamine, aqueous solutions [with not more than 50 percent trimethylaminebymass] + + + + + Trimethylchlorosilane + + + + + Turpentine + + + + + Turpentine substitute + + + + + Vinyl acetate, stabilized + + + + + Vinyl ethyl ether, stabilized + + + + + Vinylidene chloride, stabilized + + + + + Vinyl isobutyl ether, stabilized + + + + + Vinyltrichlorosilane, stabilized + + + + + Wood preservatives, liquid + + + + + Xylenes + + + + + Zirconium suspended in a liquid + + + + + Aluminum powder, coated + + + + + Ammonium picrate, wetted [with not less than 10 percent water, by mass] + + + + + Borneol + + + + + Calcium resinate + + + + + Calcium resinate, fused + + + + + Cobalt resinate, precipitated + + + + + Dinitrophenol, wetted [with not less than 15 percent water, by mass] + + + + + Dinitrophenolates, wetted [with not less than 15 percent water, by mass] + + + + + Dinitroresorcinol, wetted [with not less than 15 percent water, by mass] + + + + + Ferrocerium + + + + + Films, nitrocellulose base, [gelatine coated (except scrap)] + + + + + Flammable solids, organic, n.o.s. + + + + + Hafnium powder, wetted [with not less than 25 percent water (a visible excess ofwater must be present) (a) mechanically produced, particle size less than 53 microns; (b) chemically produced, particle size less than 840 microns] + + + + + Hexamethylenetetramine + + + + + Manganese resinate + + + + + Matches, strike anywhere + + + + + Metaldehyde + + + + + Cerium, [slabs, ingots, or rods] + + + + + Naphthalene, crude [or] Naphthalene, refined + + + + + Nitroguanidine, wetted [or] Picrite, wetted [with not less than 20 percentwater,bymass] + + + + + Nitrostarch, wetted [with not less than 20 percent water, by mass] + + + + + Phosphorus, amorphous + + + + + Phosphorus heptasulfide, [free from yellow or white phosphorus] + + + + + Phosphorus pentasulfide, [free from yellow or white phosphorus] + + + + + Phosphorus sesquisulfide, [free from yellow or white phosphorus] + + + + + Phosphorus trisulfide, [free from yellow or white phosphorus] + + + + + Trinitrophenol, wetted [with not less than 30 percent water, by mass] + + + + + Rubber scrap [or] shoddy, [powdered or granulated, not exceeding 840 microns andrubber contend exceeding 45%] + + + + + Silicon powder, amorphous + + + + + Silver picrate, wetted [with not less than 30 percent water, by mass] + + + + + Sodium dinitro-o-cresolate, wetted [with not less than 15 percent water, bymass] + + + + + Sodium picramate, wetted [with not less than 20 percent water, by mass] + + + + + Sulfur + + + + + Titanium powder, wetted [with not less than 25 percent water (a visible excess ofwater must be present) (a) mechanically produced, particle size less than 53 microns; (b) chemically produced, particle size less than 840 microns] + + + + + Fibers [or] Fabrics impregnated with weakly nitrated nitrocellulose, n.o.s. + + + + + Trinitrobenzene, wetted [with not less than 30 percent water, by mass] + + + + + Trinitrobenzoic acid, wetted [with not less than 30 percent water, by mass] + + + + + Trinitrotoluene, wetted [with not less than 30 percent water, by mass] + + + + + Urea nitrate, wetted [with not less than 20 percent water, by mass] + + + + + Zirconium powder, wetted [with not less than 25 percent water (a visible excessofwater must be present) (a) mechanically produced, particle size less than 53 microns; (b) chemically produced, particle size less than 840 microns] + + + + + Calcium phosphide + + + + + Carbon, [animal or vegetable origin] + + + + + Carbon, activated + + + + + Copra + + + + + Cotton waste, oily + + + + + Cotton, wet + + + + + Diethylzinc + + + + + p-Nitrosodimethylaniline + + + + + Dimethylzinc + + + + + Fibers, animal [or] Fibers, vegetable [burnt, wet or damp]. + + + + + Fibers [or] Fabrics, animal [or] vegetable [or] Synthetic, n.o.s. [with animal orvegetable oil] + + + + + Fish meal, unstablized [or] Fish scrap, unstabilized + + + + + Iron oxide, spent, [or] Iron sponge, spent [obtained from coal gas purification] + + + + + Metal catalyst, wetted [with a visible excess of liquid] + + + + + Paper, unsaturated oil treated [incompletely dried (including carbon paper)] + + + + + Pentaborane + + + + + Phosphorus, white dry [or] Phosphorus, white, under water [or] Phosphorus white,in solution [or] Phosphorus, yellow dry [or] Phosphorus, yellow, under water [or] Phosphorus, yellow, in solution + + + + + Potassium sulfide, anhydrous [or] Potassium sulfide [with less than 30 percent waterof crystallization] + + + + + Pyrophoric metals, n.o.s., [or] Pyrophoric alloys, n.o.s. + + + + + Sodium dithionite [or] Sodium hydrosulfite + + + + + Sodium sulfide, anhydrous [or] Sodium sulfide [with less than 30 percent water ofcrystallization] + + + + + Seed cake [with more than 1.5 percent oil and not more than 11 percent moisture] + + + + + Wool waste, wet + + + + + Alkali metal amalgam, liquid + + + + + Alkali metal amides + + + + + Alkali metal dispersions, [or] Alkaline earth metal dispersions + + + + + Alkaline earth metal amalgams, liquid + + + + + Alkaline earth metal alloys, n.o.s. + + + + + Aluminum carbide + + + + + Aluminum ferrosilicon powder + + + + + Aluminum powder, uncoated + + + + + Aluminum phosphide + + + + + Aluminum silicon powder, uncoated + + + + + Barium + + + + + Calcium + + + + + Calcium carbide + + + + + Calcium cyanamide [with more than 0.1 percent of calcium carbide] + + + + + Calcium hydride + + + + + Calcium silicide + + + + + Cesium [or] Caesium + + + + + Ferrosilicon [with 30 percent or more but less than 90 percent silicon] + + + + + Metal hydrides, water reactive, n.o.s. + + + + + Lithium aluminum hydride + + + + + Lithium aluminum hydride, ethereal + + + + + Lithium borohydride + + + + + Lithium hydride + + + + + Lithium + + + + + Lithium silicon + + + + + Magnesium, powder [or] Magnesium alloys, powder + + + + + Magnesium aluminum phosphide + + + + + Potassium, metal alloys, liquid + + + + + Alkali metal alloys, liquid, n.o.s. + + + + + Potassium sodium alloys, liquid + + + + + Rubidium + + + + + Sodium borohydride + + + + + Sodium hydride + + + + + Sodium + + + + + Sodium methylate + + + + + Sodium phosphide + + + + + Stannic phosphide + + + + + Zinc ashes + + + + + Zinc powder [or] Zinc dust + + + + + Zirconium hydride + + + + + Aluminum nitrate + + + + + Ammonium dichromate + + + + + Ammonium perchlorate + + + + + Ammonium persulfate + + + + + Barium chlorate, solid + + + + + Barium nitrate + + + + + Barium perchlorate, solid + + + + + Barium permanganate + + + + + Barium peroxide + + + + + Bromates, inorganic, n.o.s. + + + + + Cesium nitrate [or] Caesium nitrate + + + + + Calcium chlorate + + + + + Calcium chlorite + + + + + Calcium nitrate + + + + + Calcium perchlorate + + + + + Calcium permanganate + + + + + Calcium peroxide + + + + + Chlorate and borate mixtures + + + + + Chlorate and magnesium chloride mixture, solid + + + + + Chlorates, inorganic, n.o.s. + + + + + Chlorites, inorganic, n.o.s. + + + + + Chromium trioxide, anhydrous + + + + + Didymium nitrate + + + + + Ferric nitrate + + + + + Guanidine nitrate + + + + + Lead nitrate + + + + + Lead perchlorate, solid + + + + + Lithium hypochlorite, dry [with more than 39% available chlorine (8.8% availableoxygen) or] Lithium hypochlorite mixtures, dry [with more than 39% available chlorine (8.8% available oxygen)] + + + + + Lithium peroxide + + + + + Magnesium bromate + + + + + Magnesium nitrate + + + + + Magnesium perchlorate + + + + + Magnesium peroxide + + + + + Nitrates, inorganic, n.o.s. + + + + + Oxidizing solid, n.o.s. + + + + + Perchlorates, inorganic, n.o.s. + + + + + Permanganates, inorganic, n.o.s. + + + + + Peroxides, inorganic, n.o.s. + + + + + Potassium bromate + + + + + Potassium chlorate + + + + + Potassium nitrate + + + + + Potassium nitrate and sodium nitrite mixtures + + + + + Potassium nitrite + + + + + Potassium perchlorate + + + + + Potassium permanganate + + + + + Potassium peroxide + + + + + Potassium persulfate + + + + + Silver nitrate + + + + + Sodium bromate + + + + + Sodium chlorate + + + + + Sodium chlorite + + + + + Sodium nitrate + + + + + Sodium nitrate and potassium nitrate mixtures + + + + + Sodium nitrite + + + + + Sodium perchlorate + + + + + Sodium permanganate + + + + + Sodium peroxide + + + + + Sodium persulfate + + + + + Strontium chlorate + + + + + Strontium nitrate + + + + + Strontium perchlorate + + + + + Strontium peroxide + + + + + Tetranitromethane + + + + + Urea hydrogen peroxide + + + + + Zinc ammonium nitrite + + + + + Zinc chlorate + + + + + Zinc nitrate + + + + + Zinc permanganate + + + + + Zinc peroxide + + + + + Zirconium picramate, wetted [with not less than 20 percent water, by mass] + + + + + Acetone cyanohydrin, stabilized + + + + + Alkaloids, solid, n.o.s. [or] Alkaloid salts, solid, n.o.s. [poisonous] + + + + + Allyl isothiocyanate, stabilized + + + + + Ammonium arsenate + + + + + Aniline + + + + + Aniline hydrochloride + + + + + Antimony compounds, inorganic, solid, n.o.s. + + + + + Antimony lactate + + + + + Antimony potassium tartrate + + + + + Arsenic acid, liquid + + + + + Arsenic acid, solid + + + + + Arsenic bromide + + + + + Arsenic compounds, liquid, n.o.s. [inorganic, including arsenates, n.o.s.;arsenites,n.o.s.; arsenic sulfides, n.o.s.; and organic compounds of arsenic, n.o.s.] + + + + + Arsenic compounds, solid, n.o.s. [inorganic, including arsenates, n.o.s.; arsenites,n.o.s.; arsenic sulfides, n.o.s.; and organic compounds of arsenic, n.o.s.] + + + + + Arsenic + + + + + Arsenic pentoxide + + + + + Arsenic trichloride + + + + + Arsenic trioxide + + + + + Arsenical dust + + + + + Barium compounds, n.o.s. + + + + + Barium cyanide + + + + + Beryllium compounds, n.o.s. + + + + + Beryllium, powder + + + + + Bromoacetone + + + + + Brucine + + + + + Barium azide, wetted [with not less than 50 percent water, by mass] + + + + + Cacodylic acid + + + + + Calcium arsenate + + + + + Calcium arsenate and calcium arsenite, mixtures, solid + + + + + Calcium cyanide + + + + + Chlorodinitrobenzenes, liquid. + + + + + Chloronitrobenzenes, solid [meta or para] + + + + + 4-Chloro-o-toluidine hydrochloride, solid + + + + + Chloropicrin + + + + + Chloropicrin and methyl bromide mixtures + + + + + Chloropicrin and methyl chloride mixtures + + + + + Chloropicrin mixtures, n.o.s. + + + + + Copper acetoarsenite + + + + + Copper arsenite + + + + + Copper cyanide + + + + + Cyanides, inorganic, solid, n.o.s. + + + + + Cyanogen chloride, stabilized + + + + + Dichloroanilines, liquid + + + + + o-Dichlorobenzene + + + + + Dichloromethane + + + + + Diethyl sulfate + + + + + Dimethyl sulfate + + + + + Dinitroanilines + + + + + Dinitrobenzenes, liquid + + + + + Dinitro-o-cresol + + + + + Dinitrophenol solutions + + + + + Dinitrotoluenes, molten + + + + + Disinfectants, solid, toxic, n.o.s. + + + + + Dyes, liquid, toxic, n.o.s. [or] Dye intermediates, liquid, toxic, n.o.s. + + + + + Ethyl bromoacetate + + + + + Ethylenediamine + + + + + Ethylene dibromide + + + + + Ferric arsenate + + + + + Ferric arsenite + + + + + Ferrous arsenate + + + + + Hexaethyl tetraphosphate, [liquid] + + + + + Hexaethyl tetraphosphate and compressed gas mixtures + + + + + Hydrocyanic acid, aqueous solutions [or] Hydrogen cyanide, aqueous solutions [withnot more than 20 percent hydrogen cyanide] + + + + + Hydrogen cyanide, stabilized, [with less than 3 percent water and absorbedin aporous inert material] + + + + + Lead acetate + + + + + Lead arsenates + + + + + Lead arsenites + + + + + Lead cyanide + + + + + London purple + + + + + Magnesium arsenate + + + + + Mercuric arsenate + + + + + Mercuric chloride + + + + + Mercuric nitrate + + + + + Mercuric potassium cyanide + + + + + Mercurous nitrate + + + + + Mercury acetate + + + + + Mercury ammonium chloride + + + + + Mercury benzoate + + + + + Mercury bromides + + + + + Mercury cyanide + + + + + Mercury gluconate + + + + + Mercury iodide + + + + + Mercury nucleate + + + + + Mercury oleate + + + + + Mercury oxide + + + + + Mercury oxycyanide, desensitized + + + + + Mercury potassium iodide + + + + + Mercury salicylate + + + + + Mercury sulfates + + + + + Mercury thiocyanate + + + + + Methyl bromide and ethylene dibromide mixtures, liquid + + + + + Acetonitrile + + + + + Motor fuel anti-knock mixtures + + + + + beta-Naphthylamine + + + + + Naphthylthiourea + + + + + Naphthylurea + + + + + Nickel cyanide + + + + + Nicotine + + + + + Nicotine compounds, solid, n.o.s. [or] Nicotine preparations, solid, n.o.s. + + + + + Nicotine hydrochloride liquid [or] solution + + + + + Nicotine salicylate + + + + + Nicotine sulfate solution + + + + + Nicotine tartrate + + + + + Nitric oxide, compressed + + + + + Nitroanilines ([o-; m-; p-;]) + + + + + Nitrobenzene + + + + + Nitrophenols ([o-; m-; p-;]) + + + + + Nitrotoluenes, liquid + + + + + Nitroxylenes, liquid + + + + + Pentachloroethane + + + + + Perchloromethyl mercaptan + + + + + Phenol, solid + + + + + Phenylcarbylamine chloride + + + + + Phenylenediamines [(o-; m-; p-;)] + + + + + Phenylmercuric acetate + + + + + Potassium arsenate + + + + + Potassium arsenite + + + + + Potassium cuprocyanide + + + + + Potassium cyanide, solid + + + + + Silver arsenite + + + + + Silver cyanide + + + + + Sodium arsenate + + + + + Sodium arsenite, aqueous solutions + + + + + Sodium azide + + + + + Sodium cacodylate + + + + + Sodium cyanide, solid + + + + + Sodium fluoride, solid + + + + + Strontium arsenite + + + + + Strychnine [or] Strychnine salts + + + + + Tear gas substances, liquid, n.o.s. + + + + + Bromobenzyl cyanides, liquid + + + + + Chloroacetone, stabilized + + + + + Chloroacetophenone, solid (CN) + + + + + Diphenylamine chloroarsine + + + + + Diphenylchloroarsine, liquid + + + + + Tear gas candles + + + + + Xylyl bromide, liquid + + + + + 1,1,2,2-Tetrachloroethane + + + + + Tetraethyl dithiopyrophosphate + + + + + Thallium compounds, n.o.s. + + + + + Toluidines, liquid + + + + + 2,4-Toluylenediamine, solid [or] 2,4-Toluenediamine, solid + + + + + Trichloroethylene + + + + + Xylidines, liquid + + + + + Zinc arsenate [or] Zinc arsenite [or] Zinc arsenate and zinc arsenite mixtures + + + + + Zinc cyanide + + + + + Zinc phosphide + + + + + Acetic anhydride + + + + + Acetyl bromide + + + + + Acetyl chloride + + + + + Butyl acid phosphate + + + + + Caustic alkali liquids, n.o.s. + + + + + Allyl chloroformate + + + + + Allyl iodide + + + + + Allyltrichlorosilane, stabilized + + + + + Aluminum bromide, anhydrous + + + + + Aluminum chloride, anhydrous + + + + + Ammonium hydrogendifluoride, solid + + + + + Amyltrichlorosilane + + + + + Anisoyl chloride + + + + + Antimony pentachloride, liquid + + + + + Antimony pentachloride, solutions + + + + + Antimony pentafluoride + + + + + Antimony trichloride, liquid + + + + + Benzoyl chloride + + + + + Benzyl bromide + + + + + Benzyl chloride + + + + + Benzyl chloroformate + + + + + Hydrogendifluorides, n.o.s. + + + + + Boron trichloride + + + + + Boron trifluoride acetic acid complex, liquid + + + + + Boron trifluoride propionic acid complex, liquid + + + + + Bromine [or] Bromine solutions + + + + + Bromine pentafluoride + + + + + Bromine trifluoride + + + + + Butyltrichlorosilane + + + + + Calcium hypochlorite, dry [or] Calcium hypochlorite mixtures dry [with morethan39 percent available chlorine (8.8 percent available oxygen)] + + + + + Chlorine trifluoride + + + + + Chloroacetic acid, solution + + + + + Chloroacetic acid, solid + + + + + Chloroacetyl chloride + + + + + Chlorophenyltrichlorosilane + + + + + Chlorosulfonic acid [(with or without sulfur trioxide)] + + + + + Chromic acid solution + + + + + Chromic fluoride, solid + + + + + Chromic fluoride, solution + + + + + Chromium oxychloride + + + + + Corrosive solids, n.o.s. + + + + + Corrosive liquids, n.o.s. + + + + + Cupriethylenediamine solution + + + + + Cyclohexenyltrichlorosilane + + + + + Cyclohexyltrichlorosilane + + + + + Dichloroacetic acid + + + + + Dichloroacetyl chloride + + + + + Dichlorophenyltrichlorosilane + + + + + Diethyldichlorosilane + + + + + Difluorophosphoric acid, anhydrous + + + + + Diphenyldichlorosilane + + + + + Diphenylmethyl bromide + + + + + Dodecyltrichlorosilane + + + + + Ferric chloride, anhydrous + + + + + Fire extinguisher charges, [corrosive liquid] + + + + + Fluoroboric acid + + + + + Fluorophosphoric acid anhydrous + + + + + Fluorosulfonic acid + + + + + Fluorosilicic acid + + + + + Formic acid + + + + + Fumaryl chloride + + + + + Hexadecyltrichlorosilane + + + + + Hexafluorophosphoric acid + + + + + Hexamethylenediamine solution + + + + + Hexyltrichlorosilane + + + + + Hydrofluoric acid and Sulfuric acid mixtures + + + + + Hydriodic acid + + + + + Hydrobromic acid, [with more than 49 percent hydrobromic acid] + + + + + Hydrochloric acid + + + + + Hydrofluoric acid, [with more than 60 percent strength] + + + + + Hypochlorite solutions + + + + + Iodine monochloride + + + + + Isopropyl acid phosphate + + + + + Lead sulfate [with more than 3 percent free acid] + + + + + Nitrating acid mixtures [with more than 50 percent nitric acid] + + + + + Nitrohydrochloric acid + + + + + Nonyltrichlorosilane + + + + + Octadecyltrichlorosilane + + + + + Octyltrichlorosilane + + + + + Perchloric acid [with not more than 50 percent acid by mass] + + + + + Phenolsulfonic acid, liquid + + + + + Phenyltrichlorosilane + + + + + Phosphoric acid solution + + + + + Phosphorus pentachloride + + + + + Phosphorus pentoxide + + + + + Phosphorus tribromide + + + + + Phosphorus trichloride + + + + + Phosphorus oxychloride + + + + + Potassium hydrogendifluoride solid + + + + + Potassium fluoride, solid + + + + + Potassium hydroxide, solid + + + + + Potassium hydroxide, solution + + + + + Propionyl chloride + + + + + Propyltrichlorosilane + + + + + Pyrosulfuryl chloride + + + + + Silicon tetrachloride + + + + + Sodium aluminate, solution + + + + + Sodium hydroxide, solid + + + + + Sodium hydroxide solution + + + + + Sodium monoxide + + + + + Nitrating acid mixtures spent [with not more than 50 percent nitric acid] + + + + + Stannic chloride, anhydrous + + + + + Sulfur chlorides + + + + + Sulfur trioxide, stabilized + + + + + Sulfuric acid [with more than 51 percent acid] + + + + + Sulfuric acid, fuming [with 30 percent or more free sulfur trioxide] + + + + + Sulfuric acid, spent + + + + + Sulfurous acid + + + + + Sulfuryl chloride + + + + + Tetramethylammonium hydroxide solution + + + + + Thionyl chloride + + + + + Thiophosphoryl chloride + + + + + Titanium tetrachloride + + + + + Trichloroacetic acid + + + + + Zinc chloride, solution + + + + + Acetaldehyde ammonia + + + + + Ammonium dinitro-o-cresolate, solid + + + + + Carbon dioxide, solid [or] Dry ice + + + + + Carbon tetrachloride + + + + + Potassium sulfide, hydrated [with not less than 30 percent water of crystallization] + + + + + Propionic acid + + + + + Sodium sulfide, hydrated [with not less than 30 percent water] + + + + + Medicine, liquid, toxic, n.o.s. + + + + + Barium alloys, pyrophoric + + + + + Calcium, pyrophoric [or] Calcium alloys, pyrophoric + + + + + Rags, oily + + + + + Textile waste, wet + + + + + Hexafluoropropylene compressed [or] Refrigerant gas R 1216 + + + + + Silicon tetrafluoride + + + + + Vinyl fluoride, stabilized + + + + + Ethyl crotonate + + + + + Fuel, aviation, turbine engine + + + + + n-Propyl nitrate + + + + + Resin solution, [flammable] + + + + + Decaborane + + + + + Magnesium [or] Magnesium alloys [with more than 50 percent magnesium in pellets,turnings or ribbons] + + + + + Potassium borohydride + + + + + Titanium hydride + + + + + Lead dioxide + + + + + Perchloric acid [with more than 50 percent but not more than 72 percent acid, bymass] + + + + + Barium oxide + + + + + Benzidine + + + + + Benzylidene chloride + + + + + Bromochloromethane + + + + + Chloroform + + + + + Cyanogen bromide + + + + + Ethyl bromide + + + + + Ethyldichloroarsine + + + + + Phenylmercuric hydroxide + + + + + Phenylmercuric nitrate + + + + + Tetrachloroethylene + + + + + Acetyl iodide + + + + + Diisooctyl acid phosphate + + + + + Disinfectant, liquid, corrosive, n.o.s. + + + + + Selenic acid + + + + + Sludge, acid + + + + + Soda lime [with more than 4 percent sodium hydroxide] + + + + + Chlorite solution + + + + + Calcium oxide + + + + + Diborane + + + + + Methyl chloride and methylene chloride mixtures + + + + + Neon, refrigerated liquid [(cryogenic liquid)] + + + + + Butyl propionates + + + + + Cyclohexanone + + + + + 2,2-Dichlorodiethyl ether + + + + + Ethyl acrylate, stabilized + + + + + Isopropylbenzene + + + + + Methyl acrylate, stabilized + + + + + Nonanes + + + + + Propyleneimine, stabilized + + + + + Pyrrolidine + + + + + Calcium dithionite [or] Calcium hydrosulfite + + + + + Methyl magnesium bromide, in ethyl ether + + + + + Potassium dithionite [or] Potassium hydrosulfite + + + + + Zinc dithionite [or] Zinc hydrosulfite + + + + + Zirconium scrap + + + + + Cyanide solutions, n.o.s. + + + + + Bromoacetic acid solution + + + + + Phosphorus oxybromide + + + + + Thioglycolic acid + + + + + Dibromodifluoromethane[, R12B2] + + + + + Ammonium nitrate, [with not more than 0.2% total combustible material, includinganyorganic substance, calculated as carbon to the exclusion of any other added substance] + + + + + Matches, safety [(book, card or strike on box)] + + + + + Matches, wax, Vesta + + + + + Aerosols, [corrosive, Packing Group II or III, (each not exceeding 1 L capacity)] + + + + + Argon, refrigerated liquid [(cryogenic liquid)] + + + + + Ethylene oxide and carbon dioxide mixtures [with not more than 9 percent ethyleneoxide] + + + + + Compressed gas, toxic, flammable, n.o.s. [Inhalation hazard Zone A] + + + + + Compressed gas, flammable, n.o.s. + + + + + Compressed gas, toxic, n.o.s. [Inhalation Hazard Zone A] + + + + + Compressed gas, n.o.s. + + + + + Deuterium, compressed + + + + + 1,2-Dichloro-1,1,2,2- tetrafluoroethane [or] Refrigerant gas R 114 + + + + + 1,1-Difluoroethylene [or] Refrigerant gas R 1132a + + + + + Ethane, refrigerated liquid + + + + + Ethylene + + + + + Helium, refrigerated liquid [(cryogenic liquid)] + + + + + Hydrocarbon gas mixture, compressed, n.o.s. + + + + + Hydrocarbon gas mixture, liquefied, n.o.s. + + + + + Hydrogen, refrigerated liquid [(cryogenic liquid)] + + + + + Insecticide gases, toxic, n.o.s. + + + + + Insecticide gases, n.o.s. + + + + + Isobutane [see also] Petroleum gases, liquefied + + + + + Krypton, refrigerated liquid [(cryogenic liquid)] + + + + + Methane, compressed [or] Natural gas, compressed [(with high methane content)] + + + + + Methane, refrigerated liquid [(cryogenic liquid)] [or] Natural gas, refrigeratedliquid [(cryogenic liquid), with high methane content)] + + + + + Chlorodifluoromethane and chloropentafluoroethane mixture [or] Refrigerantgas R502[with fixed boiling point, with approximately 49 percent chlorodifluoromethane] + + + + + Chlorodifluorobromomethane [or] Refrigerant gas R 12B1 + + + + + Nitric oxide and dinitrogen tetroxide mixtures [or] Nitric oxide and nitrogen dioxidemixtures + + + + + Octafluorocyclobutane, [or] Refrigerant gas RC 318 + + + + + Nitrogen, refrigerated liquid [cryogenic liquid] + + + + + Propane [see also] Petroleum gases, liquefied + + + + + Rare gases mixtures, compressed + + + + + Rare gases and oxygen mixtures, compressed + + + + + Rare gases and nitrogen mixtures, compressed + + + + + Tetrafluoromethane [or] Refrigerant gas R 14 + + + + + 1-Chloro-2,2,2-trifluoroethane [or] Refrigerant gas R 133a + + + + + Trifluoromethane [or] Refrigerant gas R 23 + + + + + Alcohols, flammable, toxic, n.o.s. + + + + + Alcohols, n.o.s. + + + + + Aldehydes, flammable, toxic, n.o.s. + + + + + Aldehydes, n.o.s. + + + + + Benzaldehyde + + + + + Chloroprene, stabilized + + + + + Flammable liquids, toxic, n.o.s. + + + + + Flammable liquids, n.o.s. + + + + + Iron pentacarbonyl + + + + + Tars, liquid [including road asphalt and oils, bitumen and cut backs] + + + + + Celluloid, [in block, rods, rolls, sheets, tubes, etc., except scrap] + + + + + Cobalt naphthenates, powder + + + + + Celluloid, scrap + + + + + Magnesium diamide + + + + + Magnesium diphenyl + + + + + Plastics, nitrocellulose-based, self-heating, n.o.s. + + + + + Zirconium powder, dry + + + + + Zirconium, dry, [finished sheets, strip or coiled wire] + + + + + Magnesium hydride + + + + + Magnesium phosphide + + + + + Potassium phosphide + + + + + Strontium phosphide + + + + + Hydrogen peroxide, aqueous solutions [with more than 40 percent but not more than60percent hydrogen peroxide (stabilized as necessary)] + + + + + Hydrogen peroxide, stabilized [or] Hydrogen peroxide aqueous solutions, stabilized[with more than 60 percent hydrogen peroxide] + + + + + Ammunition, toxic, non-explosive, [without burster or expelling charge, non-fuzed] + + + + + Ammunition, tear-producing, non-explosive, [without burster or expelling charge,non-fuzed] + + + + + Chloroanilines, solid + + + + + Chloroanilines, liquid + + + + + Chlorophenols, solid + + + + + Chlorophenols, liquid + + + + + Cresylic acid + + + + + Epichlorohydrin + + + + + Mercury compounds, liquid, n.o.s. + + + + + Mercury compounds, solid, n.o.s. + + + + + Phenylmercuric compounds, n.o.s. + + + + + Sodium arsenite, solid + + + + + Bombs, smoke, non-explosive, [with corrosive liquid, without initiating device] + + + + + Hydrazine, anhydrous + + + + + Hydrazine aqueous solution, [with more than 37% hydrazine, by mass] + + + + + Nitric acid [other than red fuming, with more than 70 percent nitric acid] + + + + + Nitric acid, red fuming + + + + + Potassium monoxide + + + + + Hydrogen and Methane mixtures, compressed + + + + + 1,1,1-Trifluoroethane [or] Refrigerant gas, R 143a + + + + + Xenon + + + + + Gas cartridges, [(flammable) without a release device, non-refillable] + + + + + Dinitrotoluenes, [liquid] + + + + + 2,2-Dimethylpropane + + + + + Isobutyraldehyde [or] Isobutyl aldehyde + + + + + Cymenes + + + + + Dichloropropenes + + + + + Dicyclopentadiene + + + + + Diethylbenzene + + + + + Diisobutylene, isomeric compounds + + + + + 2-Dimethylaminoethanol + + + + + Dipentene + + + + + Methyl isobutyl carbinol + + + + + Morpholine + + + + + Styrene monomer, stabilized + + + + + Tetrahydrofuran + + + + + Tripropylene + + + + + Valeraldehyde + + + + + Nitrocellulose, solution, flammable [with not more than 12.6 percent nitrogen, bymass, and not more than 55 percent nitrocellulose] + + + + + Ammonium nitrate based fertilizer + + + + + Ammonium nitrate based fertilizer + + + + + Ammonia solutions, [relative density less than 0.880 at 15 degrees C in water, with more than 35 percent but not more than 50 percent ammonia] + + + + + Acrylamide, solid + + + + + Chloral, anhydrous, stabilized + + + + + Cresols, liquid + + + + + alpha-Naphthylamine + + + + + Toluene diisocyanate + + + + + Diethylenetriamine + + + + + Hydrogen chloride, refrigerated liquid + + + + + Carbon dioxide, refrigerated liquid + + + + + Arsine + + + + + Dichlorosilane + + + + + Oxygen difluoride, compressed + + + + + Sulfuryl fluoride + + + + + Germane + + + + + Hexafluoroethane, [or] Refrigerant gas R 116 + + + + + Selenium hexafluoride + + + + + Tellurium hexafluoride + + + + + Tungsten hexafluoride + + + + + Hydrogen iodide, anhydrous + + + + + Phosphorus + + + + + Phosphine + + + + + Propadiene, stabilized + + + + + Nitrous oxide, refrigerated liquid + + + + + Hydrogen selenide, anhydrous + + + + + Silane + + + + + Carbonyl sulfide + + + + + Adiponitrile + + + + + Isocyanates, toxic, n.o.s. [or] Isocyanate solutions, toxic, n.o.s., [flashpointmore than 61 degrees C and boiling point less than 300 degrees C] + + + + + Calcium hypochlorite mixtures, dry, [with more than 10 percent but not morethan39 percent available chlorine] + + + + + Formaldehyde, solutions, [with not less than 25 percent formaldehyde] + + + + + Maneb [or] Maneb preparations [with not less than 60 percent maneb] + + + + + Polymeric beads, expandable, [evolving flammable vapor] + + + + + Blue asbestos [(Crocidolite)] [or] Brown asbestos [(amosite, mysorite)] + + + + + Paraformaldehyde + + + + + Phthalic anhydride [with more than .05 percent maleic anhydride] + + + + + Maleic anhydride + + + + + Fish meal, stabilized [or] Fish scrap, stabilized + + + + + Seed cake [with not more than 1.5 percent oil and not more than 11 percentmoisture] + + + + + Acrylic acid, stabilized + + + + + Allyl glycidyl ether + + + + + Anisole + + + + + Benzonitrile + + + + + Benzene sulfonyl chloride + + + + + Benzotrichloride + + + + + n-Butyl methacrylate, stabilized + + + + + 2-Chloroethanal + + + + + Chloroanisidines + + + + + Chlorobenzotrifluorides + + + + + Chlorobenzyl chlorides, liquid + + + + + 3-Chloro-4-methylphenyl isocyanate, liquid + + + + + Chloronitroanilines + + + + + Chlorotoluenes + + + + + Chlorotoluidines, solid + + + + + Chromosulfuric acid + + + + + Cycloheptane + + + + + Cycloheptene + + + + + Cyclohexyl acetate + + + + + Cyclopentanol + + + + + Cyclopentanone + + + + + Cyclopentene + + + + + n-Decane + + + + + Di-n-butylamine + + + + + Dichlorodimethyl ether, symmetrical + + + + + Dichlorophenyl isocyanates + + + + + Bicyclo [2,2,1] hepta-2,5-diene, stabilized [or] 2,5-Norbornadiene, stabilized + + + + + 1,2-Dimethoxyethane + + + + + N,N-Dimethylaniline + + + + + Matches, fusee + + + + + Cyclohexene + + + + + Potassium + + + + + 1,2-Propylenediamine + + + + + Triethylenetetramine + + + + + Tripropylamine + + + + + Xylenols, solid + + + + + Dimethylcarbamoyl chloride + + + + + Dimethylcyclohexanes + + + + + N,N-Dimethylcyclohexylamine + + + + + N,N-Dimethylformamide + + + + + Dimethyl-N-propylamine + + + + + Dimethyl thiophosphoryl chloride + + + + + 3,3-Iminodipropylamine + + + + + Ethylamine, aqueous solution [with not less than 50 percent but not more than 70percent ethylamine] + + + + + Ethyl amyl ketone + + + + + N-Ethylaniline + + + + + 2-Ethylaniline + + + + + N-Ethyl-N-benzylaniline + + + + + 2-Ethylbutanol + + + + + 2-Ethylhexylamine + + + + + Ethyl methacrylate, stabilized + + + + + n-Heptene + + + + + Hexachlorobutadiene + + + + + Hexamethylenediamine, solid + + + + + Hexamethylene diisocyanate + + + + + Hexanols + + + + + Isobutyl methacrylate, stabilized + + + + + Isobutyronitrile + + + + + Isocyanatobenzotrifluorides + + + + + Pentamethylheptane + + + + + Isoheptenes + + + + + Isohexenes + + + + + Isophoronediamine + + + + + Isophorone diisocyanate + + + + + Lead compounds, soluble, n.o.s. + + + + + 4-Methoxy-4-methylpentan-2-one + + + + + N-Methylaniline + + + + + Methyl chloroacetate + + + + + Methylcyclohexane + + + + + Methylcyclohexanone + + + + + Methylcyclopentane + + + + + Methyl dichloroacetate + + + + + 2-Methyl-5-ethylpyridine + + + + + 2-Methylfuran + + + + + 5-Methylhexan-2-one + + + + + Isopropenylbenzene + + + + + Naphthalene, molten + + + + + Nitrobenzenesulfonic acid + + + + + Nitrobenzotrifluorides, liquid + + + + + 3-Nitro-4-chlorobenzotrifluoride + + + + + Nitrosylsulfuric acid, liquid + + + + + Octadiene + + + + + Pentane-2,4-dione + + + + + Phenetidines + + + + + Phenol, molten + + + + + Picolines + + + + + Polychlorinated biphenyls, liquid + + + + + Sodium cuprocyanide, solid + + + + + Sodium cuprocyanide, solution + + + + + Sodium hydrosulfide, [with less than 25 percent water of crystallization] + + + + + Terpene hydrocarbons, n.o.s. + + + + + Tetraethylenepentamine + + + + + Trichlorobenzenes, liquid + + + + + Trichlorobutene + + + + + Triethyl phosphite + + + + + Triisobutylene + + + + + 1,3,5-Trimethylbenzene + + + + + Trimethylcyclohexylamine + + + + + Trimethylhexamethylenediamines + + + + + Trimethylhexamethylene diisocyanate + + + + + Trimethyl phosphite + + + + + Undecane + + + + + Zinc chloride, anhydrous + + + + + Acetaldehyde oxime + + + + + Allyl acetate + + + + + Allylamine + + + + + Allyl ethyl ether + + + + + Allyl formate + + + + + Phenyl mercaptan + + + + + Benzotrifluoride + + + + + 2-Bromobutane + + + + + 2-Bromoethyl ethyl ether + + + + + 1-Bromo-3-methylbutane + + + + + Bromomethylpropanes + + + + + 2-Bromopentane + + + + + Bromopropanes + + + + + 3-Bromopropyne + + + + + Butanedione + + + + + Butyl mercaptans + + + + + Butyl acrylates, stabilized + + + + + Butyl methyl ether + + + + + Butyl nitrites + + + + + Butyl vinyl ether, stabilized + + + + + Butyryl chloride + + + + + Chloromethyl ethyl ether + + + + + 2-Chloropropane + + + + + Cyclohexylamine + + + + + Cyclooctatetraene + + + + + Diallylamine + + + + + Diallylether + + + + + Diisobutylamine + + + + + 1,1-Dichloroethane + + + + + Ethyl mercaptan + + + + + n-Propyl benzene + + + + + Diethyl carbonate + + + + + alpha-Methylvaleraldehyde + + + + + alpha-Pinene + + + + + 1-Hexene + + + + + Isopentenes + + + + + 1,2-Di-(dimethylamino)ethane + + + + + Diethoxymethane + + + + + 3,3-Diethoxypropene + + + + + Diethyl sulfide + + + + + 2,3-Dihydropyran + + + + + 1,1-Dimethoxyethane + + + + + 2-Dimethylaminoacetonitrile + + + + + 1,3-Dimethylbutylamine + + + + + Dimethyldiethoxysilane + + + + + Dimethyl disulfide + + + + + Dimethylhydrazine, symmetrical + + + + + Dipropylamine + + + + + Di-n-propyl ether + + + + + Ethyl isobutyrate + + + + + 1-Ethylpiperidine + + + + + Fluorobenzene + + + + + Fluorotoluenes + + + + + Furan + + + + + 2-Iodobutane + + + + + Iodomethylpropanes + + + + + Iodopropanes + + + + + Isobutyl formate + + + + + Isobutyl propionate + + + + + Isobutyryl chloride + + + + + Methacrylaldehyde, stabilized + + + + + 3-Methylbutan-2-one + + + + + Methyl tert-butyl ether + + + + + 1-Methylpiperidine + + + + + Methyl isovalerate + + + + + Piperidine + + + + + Propanethiols + + + + + Isopropenyl acetate + + + + + Propionitrile + + + + + Isopropyl butyrate + + + + + Isopropyl isobutyrate + + + + + Isopropyl chloroformate + + + + + Isopropyl propionate + + + + + 1,2,3,6-Tetrahydropyridine + + + + + Butyronitrile + + + + + Tetrahydrothiophene + + + + + Tetrapropylorthotitanate + + + + + Thiophene + + + + + Trimethyl borate + + + + + Carbonyl fluoride + + + + + Sulfur tetrafluoride + + + + + Bromotrifluoroethylene + + + + + Hexafluoroacetone + + + + + Nitrogen trioxide + + + + + Octafluorobut-2-ene [or] Refrigerant gas R 1318 + + + + + Octafluoropropane[or] Refrigerant gas R 218 + + + + + Ammonium nitrate, liquid [(hot concentrated solution)] + + + + + Potassium chlorate, aqueous solution + + + + + Sodium chlorate, aqueous solution + + + + + Calcium chlorate aqueous solution + + + + + Alkylphenols, solid, n.o.s. [(including C2-C12 homologues)] + + + + + Anisidines + + + + + N, N-Diethylaniline + + + + + Chloronitrotoluenes, liquid + + + + + Dibenzyldichlorosilane + + + + + Ethylphenyldichlorosilane + + + + + Thioacetic acid + + + + + Methylphenyldichlorosilane + + + + + Trimethylacetyl chloride + + + + + Sodium hydrogendifluoride + + + + + Stannic chloride pentahydrate + + + + + Titanium trichloride, pyrophoric [or] Titanium trichloride mixtures, pyrophoric + + + + + Trichloroacetyl chloride + + + + + Vanadium oxytrichloride + + + + + Vanadium tetrachloride + + + + + Lithium alkyls, liquid + + + + + Nitrocresols, solid + + + + + Phosphorus white, molten + + + + + Sulfur, molten + + + + + Nitrogen trifluoride + + + + + Ethylacetylene, stabilized + + + + + Ethyl fluoride [or] Refrigerant gas R161 + + + + + Methyl fluoride, [or] Refrigerant gas R 41 + + + + + 2-Chloropropene + + + + + 2,3-Dimethylbutane + + + + + Hexadienes + + + + + 2-Methyl-1-butene + + + + + 2-Methyl-2-butene + + + + + Methylpentadienes + + + + + Aluminum hydride + + + + + Beryllium nitrate + + + + + Dichloroisocyanuric acid, dry [or] Dichloroisocyanuric acid salts + + + + + Potassium superoxide + + + + + Trichloroisocyanuric acid, dry + + + + + Zinc bromate + + + + + Phenylacetonitrile, liquid + + + + + Osmium tetroxide + + + + + Sodium arsanilate + + + + + Thiophosgene + + + + + Vanadium trichloride + + + + + Methyl isothiocyanate + + + + + Isocyanates, flammable, toxic, n.o.s. [or] Isocyanate solutions, flammable,toxic,n.o.s. [flash point less than 23 degrees C] + + + + + Methyl isocyanate + + + + + Ethyl isocyanate + + + + + n-Propyl isocyanate + + + + + Isopropyl isocyanate + + + + + tert-Butyl isocyanate + + + + + n-Butyl isocyanate + + + + + Isobutyl isocyanate + + + + + Phenyl isocyanate + + + + + Cyclohexyl isocyanate + + + + + Dichloroisopropyl ether + + + + + Ethanolamine [or] Ethanolamine solutions + + + + + Hexamethyleneimine + + + + + Iodine pentafluoride + + + + + Propionic anhydride + + + + + 1,2,3,6-Tetrahydrobenzaldehyde + + + + + Tris-(1-aziridinyl)phosphine oxide, solution + + + + + Valeryl chloride + + + + + Zirconium tetrachloride + + + + + Tetrabromoethane + + + + + Ammonium fluoride + + + + + Ammonium hydrogen sulfate + + + + + Chloroplatinic acid, solid + + + + + Molybdenum pentachloride + + + + + Potassium hydrogen sulfate + + + + + 2-Chloropropionic acid + + + + + Aminophenols (o-; m-; p-) + + + + + Bromoacetyl bromide + + + + + Bromobenzene + + + + + Bromoform + + + + + Carbon tetrabromide + + + + + 1-Chloro-1,1-difluoroethane[ or] Refrigerant gas R 142b + + + + + 1,5,9-Cyclododecatriene + + + + + Cyclooctadienes + + + + + Diketene, stabilized + + + + + 2-Dimethylaminoethyl methacrylate + + + + + Ethyl orthoformate + + + + + Ethyl oxalate + + + + + Furfurylamine + + + + + Isobutyl acrylate, stabilized + + + + + Isobutyl isobutyrate + + + + + Isobutyric acid + + + + + Methacrylic acid, stabilized + + + + + Methyl trichloroacetate + + + + + Methylchlorosilane + + + + + 4-Methylmorpholine [or] n-methylmorpholine + + + + + Methyltetrahydrofuran + + + + + Nitronaphthalene + + + + + Terpinolene + + + + + Tributylamine + + + + + Hafnium powder, dry + + + + + Titanium powder, dry + + + + + Sodium superoxide + + + + + Chlorine pentafluoride + + + + + Hexafluoroacetone hydrate, liquid + + + + + Methyl allyl chloride + + + + + Nitrocellulose with water [with not less than 25 percent water, by mass] + + + + + Nitrocellulose with alcohol [with not less than 25 percent alcohol by mass,andwithnot more than 12.6 percent nitrogen, by dry mass] + + + + + Nitrocellulose, [with not more than 12.6 percent nitrogen, by dry mass, or]Nitrocellulose mixture with pigment [or] Nitrocellulose mixture with plasticizer [or] Nitrocellulose mixture with pigment and plasticizer + + + + + Epibromohydrin + + + + + 2-Methylpentan-2-ol + + + + + 3-Methyl-1-butene + + + + + Trichloroacetic acid, solution + + + + + Dicyclohexylamine + + + + + Sodium pentachlorophenate + + + + + Cadmium compounds + + + + + Alkylsulfuric acids + + + + + Phenylhydrazine + + + + + Thallium chlorate + + + + + Tricresyl phosphate [with more than 3 percent ortho isomer] + + + + + Phosphorus oxybromide, molten + + + + + Phenylacetyl chloride + + + + + Phosphorus trioxide + + + + + Piperazine + + + + + Aluminum bromide, solution + + + + + Aluminum chloride, solution + + + + + Ferric chloride, solution + + + + + Alkyl sulfonic acids, solid [or] Aryl sulfonic acids, solid, [with more than 5 percent free sulfuric acid] + + + + + Alkyl sulfonic acids, liquid [or] Aryl sulfonic acids, liquid [with more than 5percent free sulfuric acid] + + + + + Alkyl sulfonic acids, solid [or] Aryl sulfonic acids, solid [with not morethan5percent free sulfuric acid] + + + + + Alkyl sulfonic acids, liquid [or] Aryl sulfonic acids, liquid [with not more than5 percent free sulfuric acid] + + + + + Benzoquinone + + + + + Pesticides, solid, toxic, n.o.s. + + + + + Vinyl chloroacetate + + + + + White asbestos [(chrysotile, actinolite, anthophyllite, tremolite)] + + + + + Xenon, refrigerated liquid [(cryogenic liquids)] + + + + + Chlorotrifluoromethane and trifluoromethane azeotropic mixture [or] Refrigerantgas R503 [with approximately 60 percent chlorotrifluoromethane] + + + + + Carbon monoxide and hydrogen mixture, compressed + + + + + Cyclobutane + + + + + Dichlorodifluoromethane and difluoroethane azeotropic mixture [or] Refrigerant gasR500 [with approximately 74 percent dichlorodifluoromethane] + + + + + Cycloheptatriene + + + + + Boron trifluoride diethyl etherate + + + + + Methoxymethyl isocyanate + + + + + Methyl orthosilicate + + + + + Acrolein dimer, stabilized + + + + + Nitropropanes + + + + + Triallyl borate + + + + + Triallylamine + + + + + Propylene chlorohydrin + + + + + Methyl propyl ether + + + + + Methallyl alcohol + + + + + Ethyl propyl ether + + + + + Triisopropyl borate + + + + + Methylcyclohexanols, [flammable] + + + + + Vinyltoluenes, stabilized + + + + + Benzyldimethylamine + + + + + Amyl butyrates + + + + + Acetyl methyl carbinol + + + + + Glycidaldehyde + + + + + Firelighters, solid [with flammable liquid] + + + + + Magnesium silicide + + + + + Chloric acid aqueous solution, [with not more than 10 percent chloric acid] + + + + + Nitrites, inorganic, n.o.s. + + + + + Potassium fluoroacetate + + + + + Sodium fluoroacetate + + + + + Selenates [or] Selenites + + + + + Fluoroacetic acid + + + + + Methyl bromoacetate + + + + + Methyl iodide + + + + + Phenacyl bromide + + + + + Hexachlorocyclopentadiene + + + + + Malononitrile + + + + + 1,2-Dibromobutan-3-one + + + + + 1,3-Dichloroacetone + + + + + 1,1-Dichloro-1-nitroethane + + + + + 4,4-Diaminodiphenyl methane + + + + + Benzyl iodide + + + + + Potassium fluorosilicate + + + + + Quinoline + + + + + Selenium disulfide + + + + + Sodium chloroacetate + + + + + Nitrotoluidines (mono) + + + + + Hexachloroacetone + + + + + Hydroquinone, solid + + + + + Dibromomethane + + + + + Butyltoluenes + + + + + Chloroacetonitrile + + + + + Chlorocresols solution + + + + + Cyanuric chloride + + + + + Aminopyridines [(o-; m-; p-)] + + + + + Ammonia solutions, [relative density between 0.880 and 0.957 at 15 degreesC inwater, with more than 10 percent but not more than 35 percent ammonia] + + + + + 2-Amino-4-chlorophenol + + + + + Sodium fluorosilicate + + + + + Stibine + + + + + Rubidium hydroxide solution + + + + + Rubidium hydroxide + + + + + Lithium hydroxide, solution + + + + + Lithium hydroxide + + + + + Caesium hydroxide solution + + + + + Caesium hydroxide + + + + + Ammonium sulfide solution + + + + + 3-Diethyamino-propylamine. + + + + + N,N-Diethylethylenediamine + + + + + 2-Diethylaminoethanol + + + + + Dicyclohexylammonium nitrite + + + + + 1-Bromo-3-chloropropane + + + + + Glycerol alpha-monochlorohydrin + + + + + N-n-Butyl imidazole + + + + + Phosphorus pentabromide + + + + + Boron tribromide + + + + + Bisulfites, aqueous solutions, n.o.s. + + + + + Tetrahydrophthalic anhydrides [with more than 0.05 percent of maleic anhydride] + + + + + Trifluoroacetic acid + + + + + 1-Pentol + + + + + Dimethyldioxanes + + + + + Butyl benzenes + + + + + Dipropyl ketone + + + + + Acridine + + + + + Zinc resinate + + + + + Aluminum resinate + + + + + 1,4-Butynediol + + + + + Camphor, [synthetic] + + + + + Barium bromate + + + + + Chromium nitrate + + + + + Copper chlorate + + + + + Lithium nitrate + + + + + Magnesium chlorate + + + + + Manganese nitrate + + + + + Nickel nitrate + + + + + Nickel nitrite + + + + + Thallium nitrate + + + + + Zirconium nitrate + + + + + Hexachlorobenzene + + + + + Nitroanisole, liquid + + + + + Nitrobromobenzenes, liquid + + + + + Amines, flammable, corrosive, n.o.s. [or] Polyamines, flammable, corrosive,n.o.s. + + + + + Amines, liquid, corrosive, flammable, n.o.s. [or] Polyamines, liquid, corrosive,flammable, n.o.s. + + + + + Amines, liquid, corrosive, n.o.s., [or] Polyamines, liquid, corrosive, n.o.s. + + + + + N-Butylaniline + + + + + Butyric anhydride + + + + + n-Propyl chloroformate + + + + + Barium hypochlorite [with more than 22 percent available chlorine] + + + + + Chloroformates, toxic, corrosive, flammable, n.o.s. + + + + + n-Butyl chloroformate + + + + + Cyclobutyl chloroformate + + + + + Chloromethyl chloroformate + + + + + Phenyl chloroformate + + + + + tert-Butylcyclohexylchloroformate + + + + + 2-Ethylhexyl chloroformate + + + + + Tetramethylsilane + + + + + 1,3-Dichloropropanol-2 + + + + + Diethylthiophosphoryl chloride + + + + + 1,2-Epoxy-3-ethoxypropane + + + + + N-Ethylbenzyltoluidines liquid + + + + + N-Ethyltoluidines + + + + + Carbamate pesticides, solid, toxic + + + + + Carbamate pesticides, liquid, flammable, toxic, [flash point less than 23 degreesC] + + + + + Arsenical pesticides, solid, toxic + + + + + Arsenical pesticides, liquid, flammable, toxic, [flash point less than 23 degreesC] + + + + + Organochlorine pesticides, solid, toxic + + + + + Organochlorine pesticides liquid, flammable, toxic, [flash point less than23 degreesC] + + + + + Triazine pesticides, solid, toxic + + + + + Triazine pesticides, liquid, flammable, toxic, [flash point less than 23 degreesC] + + + + + Thiocarbamate pesticides, solid, toxic + + + + + Thiocarbamate pesticide, liquid, flammable, toxic, [flash point less than 23 degreesC] + + + + + Copper based pesticides, solid, toxic + + + + + Copper based pesticides, liquid, flammable, toxic, [flash point less than 23 degreesC] + + + + + Mercury based pesticides, solid, toxic + + + + + Mercury based pesticides, liquid, flammable, toxic, [flash point less than23 degreesC] + + + + + Substituted nitrophenol pesticides, solid, toxic + + + + + Substituted nitrophenol pesticides, liquid, flammable, toxic, [flash pointlessthan23 degrees C] + + + + + Bipyridilium pesticides, solid, toxic + + + + + Bipyridilium pesticides, liquid, flammable, toxic, [flash point less than 23 degreesC] + + + + + Organophosphorus pesticides, solid, toxic + + + + + Organophosphorus pesticides, liquid, flammable, toxic, [flash point less than 23degrees C] + + + + + 4-Thiapentanal + + + + + Organotin pesticides, solid, toxic + + + + + Organotin pesticides, liquid, flammable, toxic, [flash point less than 23 degreesC] + + + + + Organotin compounds, liquid, n.o.s. + + + + + Acetic acid, glacial [or] Acetic acid solution, [with more than 80 percentacid,by mass] + + + + + Acetic acid solution, [not less than 50 percent but not more than 80 percent acid,bymass] + + + + + Ferrous metal borings [or] Ferrous metal shavings [or] Ferrous metal turnings [or]Ferrous metal cuttings [in a form liable to self-heating] + + + + + Batteries, wet, filled with acid, [electric storage] + + + + + Batteries, wet, filled with alkali, [electric storage] + + + + + Battery fluid, acid + + + + + Battery fluid, alkali + + + + + Phenyl phosphorus dichloride + + + + + Phenyl phosphorus thiodichloride + + + + + Batteries, wet, non-spillable, [electric storage] + + + + + Dyes, liquid, corrosive, n.o.s. or Dye intermediates, liquid, corrosive, n.o.s. + + + + + Copper chloride + + + + + Gallium + + + + + Lithium hydride, fused solid + + + + + Lithium nitride + + + + + Mercury + + + + + Toxic, liquids, organic, n.o.s. + + + + + Toxic solids, organic, n.o.s. + + + + + Sodium aluminate, solid + + + + + Water-reactive solid, n.o.s. + + + + + Infectious substances, affecting humans + + + + + N-Aminoethylpiperazine + + + + + Ammonium hydrogendifluoride, solution + + + + + Ammonium polysulfide, solution + + + + + Amyl acid phosphate + + + + + Butyric acid + + + + + Phenol solutions + + + + + 2-Chloropyridine + + + + + Crotonic acid [liquid] + + + + + Ethyl chlorothioformate + + + + + Caproic acid + + + + + Lithium ferrosilicon + + + + + 1,1,1-Trichloroethane + + + + + Phosphorous acid + + + + + Sodium aluminum hydride + + + + + Bisulfate, aqueous solution + + + + + Vinyl butyrate, stabilized + + + + + Aldol + + + + + Butyraldoxime + + + + + Di-n-amylamine + + + + + Nitroethane + + + + + Calcium manganese silicon + + + + + Pyrophoric liquids, organic, n.o.s. + + + + + Pyrophoric solids, organic, n.o.s. + + + + + 3-Chloropropanol-1 + + + + + Propylene tetramer + + + + + Boron trifluoride dihydrate + + + + + Dipicryl sulfide, wetted [with not less than 10 percent water, by mass] + + + + + Magnesium fluorosilicate + + + + + Ammonium fluorosilicate + + + + + Zinc fluorosilicate + + + + + Fluorosilicates, n.o.s. + + + + + Refrigerating machines, [containing non-flammable, non-toxic, or ammonia solution(UN2672)] + + + + + Zirconium, dry, [coiled wire, finished metal sheets, strip (thinner than 254 micronsbut not thinner than 18 microns)] + + + + + Ammonium metavanadate + + + + + Ammonium polyvanadate + + + + + Vanadium pentoxide, [non-fused form] + + + + + Sodium ammonium vanadate + + + + + Potassium metavanadate + + + + + Hydroxylamine sulfate + + + + + Titanium trichloride mixtures + + + + + Aluminum borohydride [or] Aluminum borohydride in devices + + + + + Antimony powder + + + + + Dibromochloropropane + + + + + Dibutylaminoethanol + + + + + Furfuryl alcohol + + + + + Hexachlorophene + + + + + Resorcinol + + + + + Titanium sponge granules [or] Titanium sponge powders + + + + + Selenium oxychloride + + + + + Calcium hypochlorite, hydrated [or] Calcium hypochlorite, hydrated mixtures, [withnot less than 5.5 percent but not more than 16 percent water] + + + + + Metal catalyst, dry + + + + + Infectious substances, affecting animals [only] + + + + + Bromine chloride + + + + + Pesticides, liquid, toxic, n.o.s. + + + + + Pesticides, liquid, toxic, flammable, n.o.s. [flash point not less than 23degreesC] + + + + + Chlorophenolates, liquid [or] Phenolates, liquid + + + + + Chlorophenolates, solid [or] Phenolates, solid + + + + + Isosorbide dinitrate mixture [with not less than 60 percent lactose, mannose, starchor calcium hydrogen phosphate] + + + + + Radioactive material, excepted package-empty packaging + + + + + Radioactive material, excepted package-articles manufactured from natural uranium[or] depleted uranium [or] natural thorium + + + + + Radioactive material, excepted package-limited quantity of material + + + + + Radioactive material, excepted package-instruments [or] articles + + + + + Radioactive material, low specific activity (LSA-I) [non fissile or fissile-excepted] + + + + + Radioactive material, surface contaminated objects (SCO-I [or] SCO-II) [nonfissile or fissile-excepted] + + + + + Radioactive material, Type A package [non-special form, non fissile or fissile-excepted] + + + + + Radioactive material, Type B(U) package [non fissile or fissile-excepted] + + + + + Radioactive material, Type B(M) package [non fissile or fissile-excepted] + + + + + Radioactive material, transported under special arrangement, [non fissile or fissileexcepted] + + + + + Corrosive liquids, flammable, n.o.s. + + + + + Corrosive solids, flammable, n.o.s. + + + + + Corrosive liquids, toxic, n.o.s. + + + + + Corrosive solids, toxic, n.o.s. + + + + + Flammable liquids, corrosive, n.o.s. + + + + + Flammable solids, corrosive, organic, n.o.s. + + + + + Flammable solids, toxic, organic, n.o.s. + + + + + Toxic liquids, corrosive, organic, n.o.s. + + + + + Toxic solids, corrosive, organic, n.o.s. + + + + + Toxic liquids, flammable, organic, n.o.s. + + + + + Toxic solids, flammable, organic, n.o.s. + + + + + Vanadyl sulfate + + + + + Methyl 2-chloropropionate + + + + + Isopropyl 2-chloropropionate + + + + + Ethyl 2-chloropropionate + + + + + Thiolactic acid + + + + + alpha-Methylbenzyl alcohol, liquid + + + + + 9-Phosphabicyclononanes [or] Cyclooctadiene phosphines + + + + + Fluoroanilines + + + + + 2-Trifluoromethylaniline + + + + + Tetrahydrofurfurylamine + + + + + N-Methylbutylamine + + + + + 2-Amino-5-diethylaminopentane + + + + + Isopropyl chloroacetate + + + + + 3-Trifluoromethylaniline + + + + + Sodium hydrosulfide [with not less than 25 percent water of crystallization] + + + + + Magnesium granules, coated, [particle size not less than 149 microns] + + + + + 5-tert-Butyl-2,4,6-trinitro-m-xylene [or] Musk xylene + + + + + Boron trifluoride dimethyl etherate + + + + + Thioglycol + + + + + Sulfamic acid + + + + + Maneb stabilized [or] Maneb preparations, stabilized [against self-heating] + + + + + Castor beans [or] Castor meal [or] Castor pomace [or] Castor flake + + + + + Radioactive material, uranium hexafluoride, fissile + + + + + Radioactive material, uranium hexafluoride [non fissile or fissile-excepted] + + + + + Ethylene oxide and propylene oxide mixtures[, with not more than 30 percentethyleneoxide] + + + + + Hydrogen peroxide, aqueous solutions [with not less than 8 percent but lessthan20 percent hydrogen peroxide (stabilized as necessary)] + + + + + Chlorosilanes, flammable, corrosive, n.o.s. + + + + + Chlorosilanes, corrosive, flammable, n.o.s. + + + + + Chlorosilanes, corrosive, n.o.s. + + + + + Chlorosilanes, water-reactive, flammable, corrosive, n.o.s. + + + + + Lead phosphite, dibasic + + + + + Life-saving appliances, self inflating + + + + + Carbamate pesticides, liquid, toxic, flammable, [flash point not less than23 degreesC] + + + + + Carbamate pesticides, liquid, toxic + + + + + Arsenical pesticides, liquid, toxic, flammable, [flash point not less than23 degreesC] + + + + + Arsenical pesticides, liquid, toxic + + + + + Organochlorine pesticides, liquid, toxic, flammable, [flash point not lessthan23degrees C] + + + + + Organochlorine pesticides, liquid, toxic + + + + + Triazine pesticides, liquid, toxic, flammable, [flash point not less than 23 degreesC] + + + + + Triazine pesticides, liquid, toxic + + + + + Thiocarbamate pesticide, liquid, toxic, flammable, [flash point not less than 23degrees C] + + + + + Thiocarbamate pesticide, liquid, toxic + + + + + Copper based pesticides, liquid, toxic, flammable, [flash point not less than 23degrees C] + + + + + Copper based pesticides, liquid, toxic + + + + + Mercury based pesticides, liquid, toxic, flammable, [flash point not less than 23degrees C] + + + + + Mercury based pesticides, liquid, toxic + + + + + Substituted nitrophenol pesticides, liquid, toxic, flammable, [flash pointnot less than 23 degrees C] + + + + + Substituted nitrophenol pesticides, liquid, toxic + + + + + Bipyridilium pesticides, liquid, toxic, flammable, [flash point not less than 23degrees C] + + + + + Bipyridilium pesticides, liquid, toxic + + + + + Organophosphorus pesticides, liquid, toxic, flammable, [flash point not less than23degrees C] + + + + + Organophosphorus pesticides, liquid, toxic + + + + + Organotin pesticides, liquid, toxic, flammable, [flash point not less than23 degreesC] + + + + + Organotin pesticides, liquid, toxic + + + + + Pesticides, liquid, flammable, toxic, [flash point less than 23 degrees C] + + + + + 1,2-Butylene oxide, stabilized + + + + + 2-Methyl-2-heptanethiol + + + + + Coumarin derivative pesticides, liquid, flammable, toxic, [flash point lessthan23 degrees C] + + + + + Coumarin derivative pesticides, liquid, toxic, flammable, [flash point notlessthan23 degrees C] + + + + + Coumarin derivative pesticides, liquid, toxic + + + + + Coumarin derivative pesticides, solid, toxic + + + + + Batteries, dry, containing potassium hydroxide solid, [electric, storage] + + + + + Aluminum phosphide pesticides + + + + + Aluminum alkyls + + + + + Aluminum alkyl halides, liquid + + + + + Magnesium alkyls + + + + + Cyclohexyl mercaptan + + + + + 2-(2-Aminoethoxy) ethanol + + + + + n-Heptaldehyde + + + + + Trifluoroacetyl chloride + + + + + Nitroglycerin, solution in alcohol, [with more than 1 percent but not morethan5percent nitroglycerin] + + + + + Alcoholic beverages + + + + + Paint [or] Paint related material + + + + + Ethylene oxide and dichlorodifluoromethane mixture, [with not more than 12.5 percentethylene oxide] + + + + + Mercaptans, liquid, toxic, flammable, n.o.s. [or] Mercaptan mixtures, liquid, toxic,flammable, n.o.s.[, flash point not less than 23 degrees C] + + + + + Life-saving appliances, not self inflating [containing dangerous goods as equipment] + + + + + Vinylpyridines, stabilized + + + + + Aluminum alkyl hydrides + + + + + Environmentally hazardous substances, solid, n.o.s. + + + + + Cerium, [turnings or gritty powder] + + + + + Methacrylonitrile, stabilized + + + + + Isocyanates, toxic, flammable, n.o.s. [or] Isocyanate solutions, toxic, flammable,n.o.s., [flash point not less than 23 degrees C but not more than 61 degrees C and boiling point less than 300 degrees C] + + + + + Environmentally hazardous substances, liquid, n.o.s. + + + + + Perchloryl fluoride + + + + + Corrosive solids, oxidizing, n.o.s. + + + + + Oxidizing solid, corrosive, n.o.s. + + + + + Toxic solids, oxidizing, n.o.s. + + + + + Oxidizing solid, toxic, n.o.s. + + + + + Self-heating, solid, organic, n.o.s. + + + + + Metal powders, flammable, n.o.s. + + + + + Lithium battery + + + + + Lithium batteries packed with equipment + + + + + 1-Methoxy-2-propanol + + + + + Corrosive liquids, oxidizing, n.o.s. + + + + + Corrosive liquids, water-reactive, n.o.s. + + + + + Corrosive solids, self-heating, n.o.s. + + + + + Corrosive solids, water-reactive, n.o.s. + + + + + Flammable solid, oxidizing, n.o.s. + + + + + Oxidizing liquid, corrosive, n.o.s. + + + + + Oxidizing liquid, toxic, n.o.s. + + + + + Oxidizing solid, self-heating, n.o.s. + + + + + Organic peroxide type B, liquid + + + + + Organic peroxide type B, solid + + + + + Organic peroxide type C, liquid + + + + + Organic peroxide type C, solid + + + + + Organic peroxide type D, liquid + + + + + Organic peroxide type D, solid + + + + + Organic peroxide type E, liquid + + + + + Organic peroxide type E, solid + + + + + Organic peroxide type F, liquid + + + + + Organic peroxide type F, solid + + + + + Organic peroxide type B, liquid, temperature controlled + + + + + Organic peroxide type B, solid, temperature controlled + + + + + Organic peroxide type C, liquid, temperature controlled + + + + + Organic peroxide type C, solid, temperature controlled + + + + + Organic peroxide type D, liquid, temperature controlled + + + + + Organic peroxide type D, solid, temperature controlled + + + + + Organic peroxide type E, liquid, temperature controlled + + + + + Organic peroxide type E, solid, temperature controlled + + + + + Organic peroxide type F, liquid, temperature controlled + + + + + Organic peroxide type F, solid, temperature controlled + + + + + Oxidizing solid, water-reactive, n.o.s. + + + + + Toxic liquids, oxidizing, n.o.s. + + + + + Toxic liquids, water-reactive, n.o.s. + + + + + Toxic solids, self-heating, n.o.s. + + + + + Toxic solids, water-reactive, n.o.s. + + + + + Self-heating, solid, corrosive, organic, n.o.s. + + + + + Self-heating, solid, oxidizing, n.o.s. + + + + + Self-heating, solid, toxic, organic, n.o.s. + + + + + Water-reactive liquid, corrosive, n.o.s. + + + + + Water-reactive liquid, toxic, n.o.s. + + + + + Water-reactive solid, corrosive, n.o.s. + + + + + Water-reactive solid, flammable, n.o.s. + + + + + Water-reactive, solid, oxidizing, n.o.s. + + + + + Water-reactive solid, toxic, n.o.s. + + + + + Water-reactive solid, self-heating, n.o.s. + + + + + Trifluoromethane, refrigerated liquid + + + + + Oxidizing solid, flammable, n.o.s. + + + + + Ethylene, acetylene and propylene in mixture, refrigerated liquid [with atleast71.5percent ethylene with not more than 22.5 percent acetylene and not more than 6 percent propylene] + + + + + Oxidizing liquid, n.o.s. + + + + + Alkaloids, liquid, n.o.s., [or] Alkaloid salts, liquid, n.o.s. + + + + + Antimony compounds, inorganic, liquid, n.o.s. + + + + + Disinfectants, liquid, toxic, n.o.s. + + + + + Dyes, solid, toxic, n.o.s. [or] Dye intermediates, solid, toxic, n.o.s. + + + + + Nicotine compounds, liquid, n.o.s. [or] Nicotine preparations, liquid, n.o.s. + + + + + Alkylphenols, liquid, n.o.s. [(including C2-C12 homologues)] + + + + + Organotin compounds, solid, n.o.s. + + + + + Dyes, solid, corrosive, n.o.s. [or] Dye intermediates, solid, corrosive, n.o.s. + + + + + Water-reactive liquid, n.o.s. + + + + + Hydrogen peroxide and peroxyacetic acid mixtures, stabilized [with acids, waterand not more than 5 percent peroxyacetic acid] + + + + + Devices, small, hydrocarbon gas powered [or] Hydrocarbon gas refills for small devices [with release device] + + + + + Polyhalogenated biphenyls, liquid [or] Polyhalogenated terphenyls liquid + + + + + Polyhalogenated biphenyls, solid [or] Polyhalogenated terphenyls, solid + + + + + Perfluoro(methyl vinyl ether) + + + + + Perfluoro(ethyl vinyl ether) + + + + + Pentachlorophenol + + + + + Compressed gas, oxidizing, n.o.s. + + + + + Liquefied gas, oxidizing, n.o.s. + + + + + Gas, refrigerated liquid, n.o.s. [(cryogenic liquid)] + + + + + 1,1,1,2-Tetrafluoroethane [or] Refrigerant gas R 134a + + + + + Liquefied gas, toxic, flammable, n.o.s. [Inhalation Hazard Zone A] + + + + + Liquefied gas, flammable, n.o.s. + + + + + Liquefied gas, toxic, n.o.s. [Inhalation Hazard Zone A] + + + + + Liquefied gas, n.o.s. + + + + + Articles, pressurized pneumatic [or] hydraulic [containing non-flammable gas] + + + + + Aircraft hydraulic power unit fuel tank [(containing a mixture of anhydroushydrazineand monomethyl hydrazine) (M86 fuel)] + + + + + Engines, internal combustion, [flammable gas powered] + + + + + Gas sample, non-pressurized, flammable, n.o.s., [not refrigerated liquid] + + + + + Gas sample, non-pressurized, toxic, flammable, n.o.s., [not refrigerated liquid] + + + + + Gas sample, non-pressurized, toxic, n.o.s., [not refrigerated liquid] + + + + + Aluminum smelting by-products [or] Aluminum remelting by-products + + + + + Battery-powered vehicle [or] Battery-powered equipment + + + + + Toxins, extracted from living sources, liquid, n.o.s. + + + + + Titanium disulphide + + + + + Solids containing flammable liquid, n.o.s. + + + + + Flammable solid, organic, molten, n.o.s. + + + + + Flammable solid, inorganic, n.o.s. + + + + + Flammable solid, toxic, inorganic, n.o.s. + + + + + Flammable solid, corrosive, inorganic, n.o.s. + + + + + Metal salts of organic compounds, flammable, n.o.s. + + + + + Metal hydrides, flammable, n.o.s. + + + + + Self-heating liquid, organic, n.o.s. + + + + + Self-heating liquid, toxic, organic, n.o.s. + + + + + Self-heating liquid, corrosive, organic, n.o.s. + + + + + Self-heating liquid, inorganic, n.o.s. + + + + + Self-heating liquid, toxic, inorganic, n.o.s. + + + + + Self-heating liquid, corrosive, inorganic, n.o.s. + + + + + Metal powder, self-heating, n.o.s. + + + + + Self-heating solid, inorganic, n.o.s. + + + + + Self-heating solid, toxic, inorganic, n.o.s. + + + + + Self-heating solid, corrosive, inorganic, n.o.s. + + + + + Pyrophoric liquid, inorganic, n.o.s. + + + + + Pyrophoric solid, inorganic, n.o.s. + + + + + Alkaline earth metal alcoholates, n.o.s. + + + + + Alkali metal alcoholates, self-heating, corrosive, n.o.s. + + + + + Metallic substance, water-reactive, n.o.s. + + + + + Metallic substance, water-reactive, self-heating, n.o.s. + + + + + Chlorates, inorganic, aqueous solution, n.o.s. + + + + + Perchlorates, inorganic, aqueous solution, n.o.s. + + + + + Hypochlorites, inorganic, n.o.s. + + + + + Bromates, inorganic, aqueous solution, n.o.s. + + + + + Permanganates, inorganic, aqueous solution, n.o.s. + + + + + Persulfates, inorganic, n.o.s. + + + + + Persulfates, inorganic, aqueous solution, n.o.s. + + + + + Nitrates, inorganic, aqueous solution, n.o.s. + + + + + Nitrites, inorganic, aqueous solution, n.o.s. + + + + + Pentafluoroethane [or] Refrigerant gas R 125 + + + + + Self-reactive liquid type B + + + + + Self-reactive solid type B + + + + + Self-reactive liquid type C + + + + + Self-reactive solid type C + + + + + Self-reactive liquid type D + + + + + Self-reactive solid type D + + + + + Self-reactive liquid type E + + + + + Self-reactive solid type E + + + + + Self-reactive liquid type F + + + + + Self-reactive solid type F + + + + + Self-reactive liquid type B, temperature controlled + + + + + Self-reactive solid type B, temperature controlled + + + + + Self-reactive liquid type C, temperature controlled + + + + + Self-reactive solid type C, temperature controlled + + + + + Self-reactive liquid type D, temperature controlled + + + + + Self-reactive solid type D, temperature controlled + + + + + Self-reactive liquid type E, temperature controlled + + + + + Self-reactive solid type E, temperature controlled + + + + + Self-reactive liquid type F, temperature controlled + + + + + Self-reactive solid type F, temperature controlled + + + + + 2-Bromo-2-nitropropane-1,3-diol + + + + + Azodicarbonamide + + + + + Solids containing toxic liquid, n.o.s. + + + + + Solids containing corrosive liquid, n.o.s. + + + + + Methanesulfonyl chloride + + + + + Sodium peroxoborate, anhydrous + + + + + Medicine, liquid, flammable, toxic, n.o.s. + + + + + Medicine, solid, toxic, n.o.s. + + + + + Chloroacetic acid, molten + + + + + Isosorbide-5-mononitrate + + + + + Difluoromethane [or] Refrigerant gas R 32 + + + + + Disodium trioxosilicate + + + + + Tributylphosphane + + + + + tert-Butyl hypochlorite + + + + + Elevated temperature liquid, flammable, n.o.s., [with flash point above 37.8 C,atorabove its flash point] + + + + + Elevated temperature liquid, n.o.s., [at or above 100 C and below its flashpoint(including molten metals, molten salts, etc.)] + + + + + Elevated temperature solid, n.o.s., [at or above 240 C, see 173.247(h)(4)] + + + + + Amines, solid, corrosive, n.o.s., [or] Polyamines, solid, corrosive n.o.s. + + + + + Corrosive solid, acidic, inorganic, n.o.s. + + + + + Corrosive solid, acidic, organic, n.o.s. + + + + + Corrosive solid, basic, inorganic, n.o.s. + + + + + Corrosive solid, basic, organic, n.o.s. + + + + + Corrosive liquid, acidic, inorganic, n.o.s. + + + + + Corrosive liquid, acidic, organic, n.o.s. + + + + + Corrosive liquid, basic, inorganic, n.o.s. + + + + + Corrosive liquid, basic, organic, n.o.s. + + + + + Air bag inflators, [or] Air bag modules, [or] Seat-belt pretensioners. + + + + + Polyester resin kit + + + + + Nitrocellulose membrane filters, [with not more than 12.6% nitrogen, by drymass] + + + + + Ethers, n.o.s. + + + + + Esters, n.o.s. + + + + + Nitriles, flammable, toxic, n.o.s. + + + + + Alcoholates solution, n.o.s., [in alcohol] + + + + + Nitriles, toxic, flammable, n.o.s. + + + + + Nitriles, toxic, liquid, n.o.s. + + + + + Chloroformates, toxic, corrosive, n.o.s. + + + + + Organophosphorus compound, toxic, liquid, n.o.s. + + + + + Organophosphorus compound, toxic, flammable, n.o.s. + + + + + Organoarsenic compound, liquid, n.o.s. + + + + + Metal carbonyls, liquid, n.o.s. + + + + + Organometallic compound, toxic, liquid, n.o.s. + + + + + Selenium compound, solid, n.o.s. + + + + + Tellurium compound, n.o.s. + + + + + Vanadium compound, n.o.s. + + + + + Flammable liquid, toxic, corrosive, n.o.s. + + + + + Toxic liquid, inorganic, n.o.s. + + + + + Toxic solid, inorganic, n.o.s. + + + + + Toxic liquid, corrosive, inorganic, n.o.s. + + + + + Toxic solid, corrosive, inorganic, n.o.s. + + + + + Regulated medical waste + + + + + Batteries, containing sodium + + + + + Hydrazine, aqueous solution [with not more than 37 percent hydrazine, by mass] + + + + + Hydrogen cyanide, solution in alcohol [with not more than 45 percent hydrogen cyanide] + + + + + Hydrocarbons, liquid, n.o.s. + + + + + Heptafluoropropane [or] Refrigerant gas R 227 + + + + + Ethylene oxide and chlorotetrafluoroethane mixture [with not more than 8.8percentethylene oxide] + + + + + Ethylene oxide and pentafluoroethane mixture [with not more than 7.9 percent ethyleneoxide] + + + + + Ethylene oxide and tetrafluoroethane mixture [with not more than 5.6 percent ethyleneoxide] + + + + + Ethylene oxide and carbon dioxide mixture [with more than 87 percent ethylene oxide] + + + + + Corrosive liquid, self-heating, n.o.s. + + + + + 2-Dimethylaminoethyl acrylate + + + + + Compressed gas, toxic, oxidizing, n.o.s. [Inhalation Hazard Zone A] + + + + + Compressed gas, toxic, corrosive, n.o.s. [Inhalation Hazard Zone A] + + + + + Compressed gas, toxic, flammable, corrosive, n.o.s. [Inhalation Hazard ZoneA] + + + + + Compressed gas, toxic, oxdizing, corrosive, n.o.s. [Inhalation Hazard ZoneA] + + + + + Liquefied gas, toxic, oxidizing, n.o.s. [Inhalation Hazard Zone A] + + + + + Liquefied gas, toxic, corrosive, n.o.s. [Inhalation Hazard Zone A] + + + + + Liquefied gas toxic, flammable, corrosive, n.o.s. [Inhalation Hazard Zone B] + + + + + Liquefied gas, toxic, oxidizing, corrosive, n.o.s. [Inhalation Hazard ZoneA] + + + + + Gas, refrigerated liquid, oxidizing, n.o.s. [(cryogenic liquid)] + + + + + Gas, refrigerated liquid, flammable, n.o.s. [(cryogenic liquid)] + + + + + Organic pigments, self-heating + + + + + Plastic molding compound [in dough, sheet or extruded rope form evolving flammablevapor] + + + + + Chemical kits + + + + + 2-Amino-4,6-Dinitrophenol, wetted [with not less than 20 percent water by mass] + + + + + Ammonia solution, [relative density less than 0.880 at 15 degrees C in water, withmore than 50 percent ammonia] + + + + + Nitroglycerin mixture, desensitized, solid, n.o.s. [with more than 2 percent butnotmore than 10 percent nitroglycerin, by mass] + + + + + Sodium borohydride and sodium hydroxide solution, [with not more than 12 percentsodium borohydride and not more than 40 percent sodium hydroxide by mass] + + + + + Radioactive material, low specific activity (LSA-II) [non fissile or fissile-excepted] + + + + + Radioactive material, low specific activity (LSA-III) [non fissile or fissile excepted] + + + + + Radioactive material, Type A package, fissile [non-special form] + + + + + Radioactive material, Type B(U) package, fissile + + + + + Radioactive material, Type B(M) package, fissile + + + + + Radioactive material, transported under special arrangement, fissile + + + + + Radioactive material, Type A package, special form [non fissile or fissile-excepted] + + + + + Radioactive material, Type A package, special form, fissile + + + + + Aviation regulated liquid, n.o.s. + + + + + Aviation regulated solid, n.o.s. + + + + + Mercaptans, liquid, flammable, n.o.s. [or] Mercaptan mixture, liquid, flammable,n.o.s. + + + + + Refrigerant gas R 404A + + + + + Refrigerant gas R 407A + + + + + Refrigerant gas R 407B + + + + + Refrigerant gas R 407C + + + + + Thiourea dioxide + + + + + Xanthates + + + + + Nitroglycerin mixture, desensitized, liquid, flammable, n.o.s. [with not more than30percent nitroglycerin, by mass] + + + + + Pentaerythrite tetranitrate mixture, desensitized, solid, n.o.s. [with morethan10 percent but not more than 20 percent PETN, by mass] + + + + + Phenoxyacetic acid derivative pesticide, solid, toxic + + + + + Phenoxyacetic acid derivative pesticide, liquid, flammable, toxic [flash point less than 23 degrees C] + + + + + Phenoxyacetic acid derivative pesticide, liquid, toxic, flammable, [flash pointnot less than 23 degrees C] + + + + + Phenoxyacetic acid derivative pesticide, liquid, toxic + + + + + Pyrethroid pesticide, solid, toxic + + + + + Pyrethroid pesticide, liquid, flammable, toxic, [flash point less than 23 degreesC] + + + + + Pyrethroid pesticide, liquid, toxic, flammable, [flash point not less than23 degreesC] + + + + + Pyrethroid pesticide, liquid toxic + + + + + Insecticide gases, flammable, n.o.s. + + + + + Insecticide gases, toxic, flammable, n.o.s. [Inhalation hazard Zone A] + + + + + Oxygen generator, chemical [(including when contained in associated equipment, e.g.,passenger service units (PSUs), portable breathing equipment (PBE), etc).] + + + + + Nitroglycerin mixture, desensitized, liquid, n.o.s. [with not more than 30%nitroglycerin, by mass] + + + + + Refrigerating machines, [containing flammable, non-toxic, liquefied gas] + + + + + Fibers, vegetable, dry + + + + + Chlorosilanes, toxic, corrosive, n.o.s. + + + + + Chlorosilanes, toxic, corrosive, flammable, n.o.s. + + + + + Dangerous Goods in Machinery [or] Dangerous Goods in Apparatus + + + + + Trinitrophenol (picric acid), wetted, [with not less than 10 percent waterby mass] + + + + + Trinitrobenzene (picryl chloride), wetted, [with not less than 10% water bymass] + + + + + Trinitrotoluene (TNT), wetted, [with not less than 10 percent water by mass] + + + + + Trinitrobenzene, wetted, [with not less than 10% water, by mass] + + + + + Trinitrobenzoic acid, wetted [with not less than 10% water by mass] + + + + + Sodium dinitro-o-cresolate, wetted [with not less than 10% water, by mass] + + + + + Urea nitrate, wetted, [with not less than 10 percent water by mass] + + + + + 2-Methlybutanal + + + + + Ammonium nitrate emulsion [or] Ammonium nitrate suspension [or] Ammonium nitrategel,[intermediate for blasting explosives] + + + + + 4-Nitrophenylhydrazine, [with not less than 30% water, by mass] + + + + + Sodium perborate monohydrate + + + + + Sodium carbonate peroxyhydrate + + + + + Desensitized explosive, liquid, n.o.s. + + + + + Desensitized explosive, solid, n.o.s. + + + + + Toxic by inhalation liquid, n.o.s. [with an inhalation toxicity lower thanor equal to 200 ml/m3 and saturated vapor concentration greater than or equal to 500 LC50] + + + + + Toxic by inhalation liquid, n.o.s. [with an inhalation toxicity toxicity lower than or equal to 1000 ml/m3 and saturated vapor concentration greater than or equal to 10 LC50] + + + + + Toxic by inhalation liquid, flammable, n.o.s. [with an inhalation toxicitylowerthanor equal to 200 ml/m3 and saturated vapor concentration greater than or equal to 500 LC50] + + + + + Toxic by inhalation liquid, flammable, n.o.s. [with an inhalation toxicitylowerthanor equal to 1000 ml/m3 and saturated vapor concentration greater than or equal to 10 LC50] + + + + + Toxic by inhalation liquid, water-reactive, n.o.s. [with an inhalation toxicitylowerthan or equal to 200 ml/m3 and saturated vapor concentration greater than or equal to 500 LC50] + + + + + Toxic by inhalation liquid, water-reactive, n.o.s. [with an inhalation toxicitylowerthan or equal to 1000 ml/m3 and saturated vapor concentration greater than or equal to 10 LC50] + + + + + Toxic by inhalation liquid, oxidizing, n.o.s. [with an inhalation toxicitylowerthanor equal to 200 ml/m3 and saturated vapor concentration greater than or equal to 500 LC50] + + + + + Toxic by inhalation liquid, oxidizing, n.o.s. [with an inhalation toxicitylowerthanor equal to 1000 ml/m3 and saturated vapor concentration greater than or equal to 10 LC50] + + + + + Toxic by inhalation liquid, corrosive, n.o.s. [with an inhalation toxicitylowerthanor equal to 200 ml/m3 and saturated vapor concentration greater than or equal to 500 LC50] + + + + + Toxic by inhalation liquid, corrosive, n.o.s. [with an inhalation toxicitylowerthanor equal to 1000 ml/m3 and saturated vapor concentration greater than or equal to 10 LC50] + + + + + Organometallic substance, solid, pyrophoric + + + + + Organometallic substance, liquid, pyrophoric + + + + + Organometallic substance, solid, pyrophoric, water-reactive + + + + + Organometallic substance, liquid, pyrophoric, water-reactive + + + + + Organometallic substance, solid, water-reactive + + + + + Organometallic substance, solid, water-reactive, flammable + + + + + Organometallic substance, solid, water-reactive, self-heating + + + + + Organometallic substance, liquid, water-reactive + + + + + Organometallic substance, liquid, water-reactive, flammable + + + + + Organometallic substance, solid, self-heating + + + + + Alkali metal amalgam, solid + + + + + Alkaline earth metal amalgams, solid + + + + + Potassium, metal alloys, solid + + + + + Potassium sodium alloys, solid + + + + + Barium chlorate, solution + + + + + Barium perchlorate, solution + + + + + Chlorate and magnesium chloride mixture solution + + + + + Lead perchlorate, solution + + + + + Chloronitrobenzene, liquid [ortho] + + + + + 4-Chloro-o-toluidine hydrochloride, solution + + + + + beta-Naphthylamine solution + + + + + Potassium cyanide solution + + + + + Sodium cyanide solution + + + + + Sodium fluoride solution + + + + + Chloroacetophenone, liquid [CN] + + + + + Xylyl bromide, solid + + + + + 2,4-Toluylenediamine solution [or] 2,4-Toluenediamine solution + + + + + Boron trifluoride acetic acid complex, solid + + + + + Boron trifluoride propionic acid complex, solid + + + + + Potassium hydrogendifluoride solution + + + + + Potassium fluoride solution + + + + + Tetramethylammonium hydroxide, solid + + + + + Ammonium dinitro-o-cresolate solution + + + + + Bromoacetic acid, solid + + + + + Acrylamide solution + + + + + Chlorobenzyl chlorides, solid + + + + + 3-Chloro-4-methylphenyl isocyanate, solid + + + + + Chlorotoluidines, liquid + + + + + Xylenols, liquid + + + + + Nitrobenzotrifluorides, solid + + + + + Polychlorinated biphenyls, solid + + + + + Lithium alkyls, solid + + + + + Nitrocresols, liquid + + + + + Hydroquinone solution + + + + + Hexafluoroacetone hydrate, solid + + + + + Chlorocresols, solid + + + + + alpha-Methylbenzyl alcohol, solid + + + + + Nitriles, toxic, solid, n.o.s. + + + + + Selenium compound, liquid, n.o.s. + + + + + Chlorodinitro-benzenes, solid + + + + + Dichloroanilines, solid + + + + + Dinitrobenzenes, solid + + + + + Nicotine hydrochloride, solid + + + + + Nicotine sulphate, solid + + + + + Nitrotoluenes, solid + + + + + Nitroxylenes, solid + + + + + Tear gas substance, solid, n.o.s. + + + + + Bromobenzyl cyanides, solid + + + + + Diphenyl-chloroarsine, solid + + + + + Toluidines, solid + + + + + Xylidines, solid + + + + + Phosphoric acid, solid + + + + + Dinitrotoluenes, solid + + + + + Cresols, solid + + + + + Nitrosylsulphuric acid, solid + + + + + Chloronitrotoluenes, solid + + + + + Nitroanisoles, solid + + + + + Nitrobromobenzenes, solid + + + + + N-Ethylbenzyltoluidines, solid + + + + + Aluminium alkyl halides, solid + + + + + Toxins, extracted from living sources, solid, n.o.s. + + + + + Organophosphorus compound, toxic, solid, n.o.s. + + + + + Organoarsenic compound, solid, n.o.s. + + + + + Metal carbonyls, solid, n.o.s. + + + + + Organometallic compound, toxic, solid, n.o.s. + + + + + Hydrogen in a metal hydride storage system + + + + + + + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/iso_4217/2.0/iso_4217.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/iso_4217/2.0/iso_4217.xsd new file mode 100644 index 00000000..0245be57 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/iso_4217/2.0/iso_4217.xsd @@ -0,0 +1,1026 @@ + + + + Codes for the representation of currencies and funds from the International Organization for Standardization (ISO) 4217:2001. + + true + + + + + + + A data type for a currency that qualifies a monetary amount. + + + + + + + + Andorran Peseta: Andorra + + + + + UAE Dirham: United Arab Emirates + + + + + Afghani: Afghanistan + + + + + Lek: Albania + + + + + Armenian Dram: Armenia + + + + + Antillian Guilder: Netherlands Antilles + + + + + New Kwanza: Angola + + + + + Kwanza Reajustado: Angola + + + + + Argentine Peso: Argentina + + + + + Schilling: Austria + + + + + Australian Dollar: Australia, Christmas Island, Cocos (Keeling) Islands, Heard and Mcdonald Islands, Kiribati, Nauru, Norfolk Island, Tuvalu + + + + + Aruban Guilder: Aruba + + + + + Azerbaijanian Manat: Azerbaijan + + + + + Convertible Marks: Bosnia and Herzegovina + + + + + Barbados Dollar: Barbados + + + + + Taka: Bangladesh + + + + + Belgian Franc: Belgium + + + + + Lev: Bulgaria + + + + + Bulgarian LEV: Bulgaria + + + + + Bahraini Dinar: Bahrain + + + + + Burundi Franc: Burundi + + + + + Bermudian Dollar: Bermuda + + + + + Brunei Dollar: Brunei Darussalam + + + + + Brazilian Real: Brazil + + + + + Bahamian Dollar: Bahamas + + + + + Ngultrum: Bhutan + + + + + Pula: Botswana + + + + + Belarussian Ruble: Belarus + + + + + Belize Dollar: Belize + + + + + Canadian Dollar: Canada + + + + + Franc Congolais: Congo, The Democratic Republic Of + + + + + Swiss Franc: Liechtenstein, Switzerland + + + + + Unidades de fomento: Chile + + + + + Chilean Peso: Chile + + + + + Yuan Renminbi: China + + + + + Colombian Peso: Colombia + + + + + Costa Rican Colon: Costa Rica + + + + + Cuban Peso: Cuba + + + + + Cape Verde Escudo: Cape Verde + + + + + Cyprus Pound: Cyprus + + + + + Czech Koruna: Czech Republic + + + + + Deutsche Mark: Germany + + + + + Djibouti Franc: Djibouti + + + + + Danish Krone: Denmark, Faeroe Islands, Greenland + + + + + Dominican Peso: Dominican Republic + + + + + Algerian Dinar: Algeria + + + + + Sucre: Ecuador + + + + + Unidad de Valor Constante (UVC): Ecuador + + + + + Kroon: Estonia + + + + + Egyptian Pound: Egypt + + + + + Nakfa: Eritrea + + + + + Spanish Peseta: Andorra, Spain + + + + + Ethiopian Birr: Ethiopia + + + + + Euro: + + + + + Markka: Finland + + + + + Fiji Dollar: Fiji + + + + + Pound: Falkland Islands (Malvinas) + + + + + French Franc: Andorra, France, French Guiana, French Southern Territories, Guadeloupe, Martinique, Monaco, Reunion, St Pierre and Miquelon + + + + + Pound Sterling: United Kingdom + + + + + Lari: Georgia + + + + + Cedi: Ghana + + + + + Gibraltar Pound: Gibraltar + + + + + Dalasi: Gambia + + + + + Guinea Franc: Guinea + + + + + Drachma: Greece + + + + + Quetzal: Guatemala + + + + + Guinea-Bissau Peso: Guinea-Bissau + + + + + Guyana Dollar: Guyana + + + + + Hong Kong Dollar: Hong Kong + + + + + Lempira: Honduras + + + + + Kuna: Croatia + + + + + Gourde: Haiti + + + + + Forint: Hungary + + + + + Rupiah: East Timor, Indonesia + + + + + Irish Pound: Ireland + + + + + New Israeli Sheqel: Israel + + + + + Indian Rupee: Bhutan, India + + + + + Iraqi Dinar: Iraq + + + + + Iranian Rial: Iran (Islamic Republic Of) + + + + + Iceland Krona: Iceland + + + + + Italian Lira: Italy, San Marino, Vatican City State (Holy See) + + + + + Jamaican Dollar: Jamaica + + + + + Jordanian Dinar: Jordan + + + + + Yen: Japan + + + + + Kenyan Shilling: Kenya + + + + + Som: Kyrgyzstan + + + + + Riel: Cambodia + + + + + Comoro Franc: Comoros + + + + + North Korean Won: Korea, Democratic People's Republic Of + + + + + Won: Korea, Republic Of + + + + + Kuwaiti Dinar: Kuwait + + + + + Cayman Islands Dollar: Cayman Islands + + + + + Tenge: Kazakhstan + + + + + Kip: Lao People's Democratic Republic + + + + + Lebanese Pound: Lebanon + + + + + Sri Lanka Rupee: Sri Lanka + + + + + Liberian Dollar: Liberia + + + + + Loti: Lesotho + + + + + Lithuanian Litas: Lithuania + + + + + Luxembourg Franc: Luxembourg + + + + + Latvian Lats: Latvia + + + + + Libyan Dinar: Libyan Arab Jamahiriya + + + + + Moroccan Dirham: Morocco, Western Sahara + + + + + Moldovan Leu: Moldova, Republic Of + + + + + Malagasy Franc: Madagascar + + + + + Denar: Macedonia, The Former Yugoslav Republic Of + + + + + Kyat: Myanmar + + + + + Tugrik: Mongolia + + + + + Pataca: Macau + + + + + Ouguiya: Mauritania + + + + + Maltese Lira: Malta + + + + + Mauritius Rupee: Mauritius + + + + + Rufiyaa: Maldives + + + + + Kwacha: Malawi + + + + + Mexican Peso: Mexico + + + + + Mexican Unidad de Inversion (UDI): Mexico + + + + + Malaysian Ringgit: Malaysia + + + + + Metical: Mozambique + + + + + Namibia Dollar: Namibia + + + + + Naira: Nigeria + + + + + Cordoba Oro: Nicaragua + + + + + Netherlands Guilder: Netherlands + + + + + Norwegian Krone: Bouvet Island, Norway, Svalbard and Jan Mayen Islands + + + + + Nepalese Rupee: Nepal + + + + + New Zealand Dollar: Cook Islands, New Zealand, Niue, Pitcairn, Tokelau + + + + + Rial Omani: Oman + + + + + Balboa: Panama + + + + + Nuevo Sol: Peru + + + + + Kina: Papua New Guinea + + + + + Philippine Peso: Philippines + + + + + Pakistan Rupee: Pakistan + + + + + Zloty: Poland + + + + + Portuguese Escudo: Portugal + + + + + Guarani: Paraguay + + + + + Qatari Rial: Qatar + + + + + Leu: Romania + + + + + Russian Ruble: Russian Federation + + + + + Russian Ruble: Russian Federation + + + + + Rwanda Franc: Rwanda + + + + + Saudi Riyal: Saudi Arabia + + + + + Solomon Islands Dollar: Solomon Islands + + + + + Seychelles Rupee: Seychelles + + + + + Sudanese Dinar: Sudan + + + + + Swedish Krona: Sweden + + + + + Singapore Dollar: Singapore + + + + + St Helena Pound: St Helena + + + + + Tolar: Slovenia + + + + + Slovak Koruna: Slovakia + + + + + Leone: Sierra Leone + + + + + Somali Shilling: Somalia + + + + + Surinam Guilder: Suriname + + + + + Dobra: Sao Tome and Principe + + + + + El Salvador Colon: El Salvador + + + + + Syrian Pound: Syrian Arab Republic + + + + + Lilangeni: Swaziland + + + + + Baht: Thailand + + + + + Tajik Ruble (old): Tajikistan (Old) + + + + + Somoni: Tajikistan + + + + + Manat: Turkmenistan + + + + + Tunisian Dinar: Tunisia + + + + + Pa'anga: Tonga + + + + + Timor Escudo: East Timor + + + + + Turkish Lira: Turkey + + + + + Trinidad and Tobago Dollar: Trinidad and Tobago + + + + + New Taiwan Dollar: Taiwan, Province Of China + + + + + Tanzanian Shilling: Tanzania, United Republic Of + + + + + Hryvnia: Ukraine + + + + + Uganda Shilling: Uganda + + + + + US Dollar: American Samoa, British Indian Ocean Territory,, Guam, Haiti, Marshall Islands, Micronesia, Northern Mariana Islands, Palau, Panama, Puerto Rico, Turks and Caicos Islands, United States, United States Minor Outlaying Islands, Virgin Islands (British), Virgin Islands (U.S.) + + + + + (Next day): United States + + + + + (Same day): United States + + + + + Peso Uruguayo: Uruguay + + + + + Uzbekistan Sum: Uzbekistan + + + + + Bolivar: Venezuela + + + + + Dong: Vietnam + + + + + Vatu: Vanuatu + + + + + Tala: Samoa + + + + + CFA Franc BEAC: Cameroon, Central African Republic, Chad, Congo, Equatorial Guinea, Gabon + + + + + Silver: Bond Markets Units + + + + + Gold Bond Markets Units: + + + + + European Composite Unit (EURCO): Bond Markets Units + + + + + European Monetary Unit (E.M.U.-6): Bond Markets Units + + + + + European Unit of Account 9 (E.U.A.- 9): Bond Markets Units + + + + + European Unit of Account 17 (E.U.A.- 17): Bond Markets Units + + + + + East Caribbean Dollar: Anguilla, Antigua and Barbuda, Dominica, Grenada, Montserrat, St Kitts - Nevis, Saint Lucia, Saint Vincent and The Grenadines + + + + + SDR: International Monetary Fund (Imf) + + + + + Gold-Franc: Special settlement currencies + + + + + UIC-Franc: Special settlement currencies + + + + + CFA Franc BCEAO: Benin, Burkina Faso, Cote D'ivoire, Guinea-Bissau, Mali, Niger, Senegal, Togo + + + + + Palladium: Bond Markets Units + + + + + CFP Franc: French Polynesia, New Caledonia, Wallis and Futuna Islands + + + + + Platinum: Bond Markets Units + + + + + Codes specifically reserved for testing purposes: + + + + + The codes assigned for transactions where no currency is involved are:: + + + + + Yemeni Rial: Yemen + + + + + New Dinar: Yugoslavia + + + + + (financial Rand): Lesotho + + + + + Rand: Lesotho, Namibia, South Africa + + + + + Kwacha: Zambia + + + + + New Zaire: Zaire + + + + + Zimbabwe Dollar: Zimbabwe + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/iso_639-3/2.0/iso_639-3.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/iso_639-3/2.0/iso_639-3.xsd new file mode 100644 index 00000000..8b1d139d --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/iso_639-3/2.0/iso_639-3.xsd @@ -0,0 +1,37979 @@ + + + + Codes for the representation of names of languages - Part 3: Alpha-3 code for comprehensive coverage of languages. + + true + + + + + + + A data type for language codes. + + + + + + + + Ghotuo + + + + + Alumu-Tesu + + + + + Ari + + + + + Amal + + + + + Arbereshe Albanian + + + + + Aranadan + + + + + Arifama-Miniafia + + + + + Ankave + + + + + Afade + + + + + Aramanik + + + + + Anambe + + + + + Algerian Saharan Arabic + + + + + Para Arara + + + + + Eastern Abnaki + + + + + Afar + + + + + Aasax + + + + + Arvanitika Albanian + + + + + Abau + + + + + Solong + + + + + Mandobo Atas + + + + + Aariya + + + + + Amarasi + + + + + Abe + + + + + Bankon + + + + + Ambala Ayta + + + + + Camarines Norte Agta + + + + + Western Abnaki + + + + + Abai Sungai + + + + + Abaga + + + + + Tajiki Arabic + + + + + Abidji + + + + + Aka-Bea + + + + + Abkhazian + + + + + Abung + + + + + Abanyom + + + + + Abua + + + + + Abon + + + + + Abenlen Ayta + + + + + Abaza + + + + + Abron + + + + + Ambonese Malay + + + + + Ambulas + + + + + Abure + + + + + Baharna Arabic + + + + + Pal + + + + + Inabaknon + + + + + Aneme Wake + + + + + Abui + + + + + Achagua + + + + + Anca + + + + + Cubulco Achi + + + + + Gikyode + + + + + Achinese + + + + + Saint Lucian Creole French + + + + + Acoli + + + + + Aka-Cari + + + + + Aka-Kora + + + + + Akar-Bale + + + + + Mesopotamian Arabic + + + + + Achang + + + + + Eastern Acipa + + + + + Ta'izzi-Adeni Arabic + + + + + Rabinal Achi + + + + + Acroa + + + + + Achterhoeks + + + + + Achuar-Shiwiar + + + + + Achumawi + + + + + Hijazi Arabic + + + + + Omani Arabic + + + + + Cypriot Arabic + + + + + Acheron + + + + + Adangme + + + + + Adabe + + + + + Dzodinka + + + + + Adele + + + + + Dhofari Arabic + + + + + Andegerebinha + + + + + Adhola + + + + + Adi + + + + + Adioukrou + + + + + Galo Adi + + + + + Adang + + + + + Abu + + + + + Adap + + + + + Adangbe + + + + + Adonara + + + + + Adamorobe Sign Language + + + + + Adynyamathanha + + + + + Aduge + + + + + Amundava + + + + + Amdo Tibetan + + + + + Adyghe + + + + + Areba + + + + + Tunisian Arabic + + + + + Saidi Arabic + + + + + Argentine Sign Language + + + + + Northeast Pashayi + + + + + Haeke + + + + + Ambele + + + + + Arem + + + + + Armenian Sign Language + + + + + Aer + + + + + Eastern Arrernte + + + + + Alsea + + + + + Ambakich + + + + + Amerax + + + + + Amele + + + + + Gulf Arabic + + + + + Putukwam + + + + + Afrihili + + + + + Akrukay + + + + + Defaka + + + + + Eloyi + + + + + Afrikaans + + + + + Afro-Seminole Creole + + + + + Afitti + + + + + Awutu + + + + + Obokuitai + + + + + Aguano + + + + + Legbo + + + + + Agatu + + + + + Agarabi + + + + + Angal + + + + + Arguni + + + + + Angor + + + + + Ngelima + + + + + Agariya + + + + + Argobba + + + + + Isarog Agta + + + + + Fembe + + + + + Angaatiha + + + + + Agutaynen + + + + + Tainae + + + + + Paranan + + + + + Aghem + + + + + Aguaruna + + + + + Esimbi + + + + + Central Cagayan Agta + + + + + Aguacateco + + + + + Remontado Agta + + + + + Kahua + + + + + Aghul + + + + + Southern Alta + + + + + Mt. Iriga Agta + + + + + Ahanta + + + + + Axamb + + + + + Ahe + + + + + Qimant + + + + + Aghu + + + + + Tiagbamrin Aizi + + + + + Akha + + + + + Igo + + + + + Mobumrin Aizi + + + + + Ahan + + + + + Ahom + + + + + Aproumu Aizi + + + + + Ahirani + + + + + Ashe + + + + + Ahtena + + + + + Arosi + + + + + Ainu (China) + + + + + Ainbai + + + + + Alngith + + + + + Amara + + + + + Agi + + + + + Antigua and Barbuda Creole English + + + + + Ai-Cham + + + + + Assyrian Neo-Aramaic + + + + + Lishanid Noshan + + + + + Ake + + + + + Aimele + + + + + Aimol + + + + + Ainu (Japan) + + + + + Aiton + + + + + Burumakok + + + + + Aimaq + + + + + Airoran + + + + + Nataoran Amis + + + + + Arikem + + + + + Aigon + + + + + Ali + + + + + Aari + + + + + Aja (Sudan) + + + + + Aja (Benin) + + + + + Ajie + + + + + South Levantine Arabic + + + + + Judeo-Tunisian Arabic + + + + + Judeo-Moroccan Arabic + + + + + Ajawa + + + + + Amri + + + + + Akan + + + + + Batak Angkola + + + + + Mpur + + + + + Ukpet-Ehom + + + + + Akawaio + + + + + Akpa + + + + + Anakalangu + + + + + Angal Heneng + + + + + Aiome + + + + + Aka-Jeru + + + + + Akkadian + + + + + Aklanon + + + + + Aka-Bo + + + + + Amikoana + + + + + Akurio + + + + + Siwu + + + + + Ak + + + + + Araki + + + + + Akaselem + + + + + Akolet + + + + + Akum + + + + + Akhvakh + + + + + Akwa + + + + + Aka-Kede + + + + + Aka-Kol + + + + + Alabama + + + + + Alago + + + + + Qawasqar + + + + + Alladian + + + + + Aleut + + + + + Alege + + + + + Alawa + + + + + Amaimon + + + + + Alangan + + + + + Alak + + + + + Allar + + + + + Amblong + + + + + Gheg Albanian + + + + + Larike-Wakasihu + + + + + Alune + + + + + Algonquin + + + + + Alutor + + + + + Tosk Albanian + + + + + Southern Altai + + + + + 'Areare + + + + + Alaba + + + + + Alatil + + + + + Alyawarr + + + + + Alur + + + + + Amanaye + + + + + Ambo + + + + + Amahuaca + + + + + Amapa Creole + + + + + Yanesha' + + + + + Hamer-Banna + + + + + Amarag + + + + + Amharic + + + + + Amis + + + + + Amdang + + + + + Ambai + + + + + War + + + + + Ama (Papua New Guinea) + + + + + Amanab + + + + + Amo + + + + + Alamblak + + + + + Amahai + + + + + Amarakaeri + + + + + Southern Amami-Oshima + + + + + Amto + + + + + Guerrero Amuzgo + + + + + Ambelau + + + + + Western Neo-Aramaic + + + + + Anmatyerre + + + + + Ami + + + + + Atampaya + + + + + Andaqui + + + + + Andoa + + + + + Ngas + + + + + Ansus + + + + + Xaracuu + + + + + Animere + + + + + Old English (ca. 450-1100) + + + + + Nend + + + + + Andi + + + + + Anor + + + + + Goemai + + + + + Anu + + + + + Anal + + + + + Obolo + + + + + Andoque + + + + + Angika + + + + + Jarawa (India) + + + + + Andh + + + + + Anserma + + + + + Antakarinya + + + + + Anuak + + + + + Denya + + + + + Anaang + + + + + Andra-Hus + + + + + Anyin + + + + + Anem + + + + + Angolar + + + + + Abom + + + + + Pemon + + + + + Andarum + + + + + Angal Enen + + + + + Bragat + + + + + Angoram + + + + + Arma + + + + + Anindilyakwa + + + + + Mufian + + + + + Arho + + + + + Alor + + + + + Omie + + + + + Bumbita Arapesh + + + + + Aore + + + + + Taikat + + + + + A'tong + + + + + Atorada + + + + + Uab Meto + + + + + Sa'a + + + + + North Levantine Arabic + + + + + Sudanese Arabic + + + + + Bukiyip + + + + + Ampanang + + + + + Athpariya + + + + + Apiaca + + + + + Jicarilla Apache + + + + + Kiowa Apache + + + + + Lipan Apache + + + + + Mescalero-Chiricahua Apache + + + + + Apinaye + + + + + Apalik + + + + + Apma + + + + + A-Pucikwar + + + + + Arop-Lukep + + + + + Arop-Sissano + + + + + Apatani + + + + + Apurina + + + + + Western Apache + + + + + Aputai + + + + + Apalai + + + + + Safeyoka + + + + + Archi + + + + + Arigidi + + + + + Atohwaim + + + + + Northern Alta + + + + + Atakapa + + + + + Arha + + + + + Arabic + + + + + Standard Arabic + + + + + Aramaic + + + + + Arabana + + + + + Western Arrarnta + + + + + Arafundi + + + + + Aragonese + + + + + Arhuaco + + + + + Arikara + + + + + Arapaso + + + + + Arikapu + + + + + Arabela + + + + + Mapudungun + + + + + Araona + + + + + Arapaho + + + + + Algerian Arabic + + + + + Karo (Brazil) + + + + + Najdi Arabic + + + + + Arua + + + + + Arbore + + + + + Arawak + + + + + Arua + + + + + Moroccan Arabic + + + + + Egyptian Arabic + + + + + Asu (Tanzania) + + + + + Assiniboine + + + + + Casuarina Coast Asmat + + + + + Asas + + + + + American Sign Language + + + + + Australian Sign Language + + + + + Cishingini + + + + + Abishira + + + + + Buruwai + + + + + Nsari + + + + + Ashkun + + + + + Asilulu + + + + + Assamese + + + + + Xingu Asurini + + + + + Dano + + + + + Algerian Sign Language + + + + + Austrian Sign Language + + + + + Asuri + + + + + Ipulo + + + + + Asturian + + + + + Asurini + + + + + Asoa + + + + + Australian Aborigines Sign Language + + + + + Muratayak + + + + + Yaosakor Asmat + + + + + As + + + + + Pele-Ata + + + + + Zaiwa + + + + + Atsahuaca + + + + + Ata Manobo + + + + + Atemble + + + + + Atuence + + + + + Ivbie North-Okpela-Arhe + + + + + Attie + + + + + Atikamekw + + + + + Ati + + + + + Mt. Iraya Agta + + + + + Ata + + + + + Ashtiani + + + + + Atong + + + + + Pudtol Atta + + + + + Aralle-Tabulahan + + + + + Atruahi + + + + + Gros Ventre + + + + + Pamplona Atta + + + + + Reel + + + + + Northern Altai + + + + + Atsugewi + + + + + Arutani + + + + + Aneityum + + + + + Arta + + + + + Asumboa + + + + + Waorani + + + + + Anuta + + + + + =/Kx'au//ein + + + + + Aguna + + + + + Aushi + + + + + Anuki + + + + + Awjilah + + + + + Heyo + + + + + Aulua + + + + + Asu (Nigeria) + + + + + Molmo One + + + + + Auyokawa + + + + + Makayam + + + + + Anus + + + + + Aruek + + + + + Austral + + + + + Auye + + + + + Awyi + + + + + Aura + + + + + Awiyaana + + + + + Uzbeki Arabic + + + + + Avaric + + + + + Avau + + + + + Alviri-Vidari + + + + + Avestan + + + + + Avikam + + + + + Eastern Egyptian Bedawi Arabic + + + + + Avatime + + + + + Agavotaguerra + + + + + Aushiri + + + + + Au + + + + + Avokaya + + + + + Ava-Canoeiro + + + + + Awadhi + + + + + Awa + + + + + Western Acipa + + + + + Aweti + + + + + Awbono + + + + + Aekyom + + + + + Awabakal + + + + + Arawum + + + + + Awngi + + + + + Awak + + + + + Awera + + + + + South Awyu + + + + + Arawete + + + + + Central Awyu + + + + + Jair Awyu + + + + + Awun + + + + + Awara + + + + + Edera Awyu + + + + + Abipon + + + + + Mato Grosso Arara + + + + + Yaka (Central African Republic) + + + + + Middle Armenian + + + + + Xaragure + + + + + Awar + + + + + Ayizo Gbe + + + + + Southern Aymara + + + + + Ayabadhu + + + + + Ayere + + + + + Ginyanga + + + + + Hadrami Arabic + + + + + Leyigha + + + + + Akuku + + + + + Libyan Arabic + + + + + Aymara + + + + + Sanaani Arabic + + + + + Ayoreo + + + + + North Mesopotamian Arabic + + + + + Ayi (Papua New Guinea) + + + + + Central Aymara + + + + + Sorsogon Ayta + + + + + Bataan Ayta + + + + + Ayu + + + + + Ayi (China) + + + + + Tayabas Ayta + + + + + Mai Brat + + + + + South Azerbaijani + + + + + Azerbaijani + + + + + San Pedro Amuzgos Amuzgo + + + + + North Azerbaijani + + + + + Ipalapa Amuzgo + + + + + Awing + + + + + Adzera + + + + + Faire Atta + + + + + Highland Puebla Nahuatl + + + + + Babatana + + + + + Bainouk-Gunyuno + + + + + Badui + + + + + Bare + + + + + Nubaca + + + + + Tuki + + + + + Bahamas Creole English + + + + + Barakai + + + + + Bashkir + + + + + Baluchi + + + + + Bambara + + + + + Balinese + + + + + Waimaha + + + + + Bantawa + + + + + Bavarian + + + + + Basa (Cameroon) + + + + + Bada (Nigeria) + + + + + Vengo + + + + + Bambili-Bambui + + + + + Bamun + + + + + Batuley + + + + + Tunen + + + + + Baatonum + + + + + Barai + + + + + Batak Toba + + + + + Bau + + + + + Bangba + + + + + Baibai + + + + + Barama + + + + + Bugan + + + + + Barombi + + + + + Ghomala' + + + + + Babanki + + + + + Bats + + + + + Babango + + + + + Uneapa + + + + + Northern Bobo Madare + + + + + West Central Banda + + + + + Bamali + + + + + Girawa + + + + + Bakpinka + + + + + Mburku + + + + + Kulung (Nigeria) + + + + + Karnai + + + + + Baba + + + + + Bubia + + + + + Befang + + + + + Babalia Creole Arabic + + + + + Central Bai + + + + + Bainouk-Samik + + + + + Southern Balochi + + + + + North Babar + + + + + Bamenyam + + + + + Bamu + + + + + Baga Binari + + + + + Bariai + + + + + Baoule + + + + + Bardi + + + + + Bunaba + + + + + Central Bicolano + + + + + Bannoni + + + + + Bali (Nigeria) + + + + + Kaluli + + + + + Bali (Democratic Republic of Congo) + + + + + Bench + + + + + Babine + + + + + Kohumono + + + + + Bendi + + + + + Awad Bing + + + + + Shoo-Minda-Nye + + + + + Bana + + + + + Pamona + + + + + Bacama + + + + + Bainouk-Gunyaamolo + + + + + Bayot + + + + + Basap + + + + + Embera-Baudo + + + + + Bunama + + + + + Bade + + + + + Bonggi + + + + + Baka (Sudan) + + + + + Burun + + + + + Bai + + + + + Budukh + + + + + Indonesian Bajau + + + + + Buduma + + + + + Baldemu + + + + + Bernde + + + + + Bende + + + + + Bahnar + + + + + West Coast Bajau + + + + + Burunge + + + + + Bokoto + + + + + Oroko + + + + + Bodo Parja + + + + + Baham + + + + + Budong-Budong + + + + + Bandjalang + + + + + Badeshi + + + + + Beaver + + + + + Bebele + + + + + Iceve-Maci + + + + + Bedoanas + + + + + Byangsi + + + + + Benabena + + + + + Belait + + + + + Biali + + + + + Bekati' + + + + + Beja + + + + + Bebeli + + + + + Belarusian + + + + + Bemba (Zambia) + + + + + Bengali + + + + + Beami + + + + + Besoa + + + + + Beembe + + + + + Besme + + + + + Guiberoua Bete + + + + + Blagar + + + + + Daloa Bete + + + + + Betawi + + + + + Jur Modo + + + + + Beli (Papua New Guinea) + + + + + Bena (Tanzania) + + + + + Bari + + + + + Pauri Bareli + + + + + Northern Bai + + + + + Bafut + + + + + Betaf + + + + + Bofi + + + + + Busang Kayan + + + + + Blafe + + + + + British Sign Language + + + + + Bafanji + + + + + Ban Khor Sign Language + + + + + Banda-Ndele + + + + + Mmen + + + + + Bunak + + + + + Malba Birifor + + + + + Beba + + + + + Badaga + + + + + Bazigar + + + + + Southern Bai + + + + + Balti + + + + + Gahri + + + + + Bondo + + + + + Bagheli + + + + + Mahasu Pahari + + + + + Gwamhi-Wuri + + + + + Bobongko + + + + + Haryanvi + + + + + Rathwi Bareli + + + + + Bauria + + + + + Bangandu + + + + + Bugun + + + + + Bogan + + + + + Giangan + + + + + Bangolan + + + + + Bit + + + + + Bo (Laos) + + + + + Baga Mboteni + + + + + Western Balochi + + + + + Baga Koga + + + + + Eastern Balochi + + + + + Bagri + + + + + Bawm Chin + + + + + Tagabawa + + + + + Bughotu + + + + + Mbongno + + + + + Warkay-Bipim + + + + + Bhatri + + + + + Balkan Gagauz Turkish + + + + + Benggoi + + + + + Banggai + + + + + Bharia + + + + + Bhili + + + + + Biga + + + + + Bhadrawahi + + + + + Bhaya + + + + + Odiai + + + + + Binandere + + + + + Bukharic + + + + + Bhilali + + + + + Bahing + + + + + Albay Bicolano + + + + + Bimin + + + + + Bathari + + + + + Bohtan Neo-Aramaic + + + + + Bhojpuri + + + + + Bima + + + + + Tukang Besi South + + + + + Bara Malagasy + + + + + Buwal + + + + + Bhattiyali + + + + + Bhunjia + + + + + Bahau + + + + + Biak + + + + + Bhalay + + + + + Bhele + + + + + Bada (Indonesia) + + + + + Badimaya + + + + + Bissa + + + + + Bikaru + + + + + Bidiyo + + + + + Bepour + + + + + Biafada + + + + + Biangai + + + + + Bisu + + + + + Vaghat-Ya-Bijim-Legeri + + + + + Bikol + + + + + Bile + + + + + Bimoba + + + + + Bini + + + + + Nai + + + + + Bila + + + + + Bipi + + + + + Bisorio + + + + + Bislama + + + + + Berinomo + + + + + Biete + + + + + Southern Birifor + + + + + Kol (Cameroon) + + + + + Bijori + + + + + Birhor + + + + + Baloi + + + + + Budza + + + + + Banggarla + + + + + Bariji + + + + + Bandjigali + + + + + Biao-Jiao Mien + + + + + Barzani Jewish Neo-Aramaic + + + + + Bidyogo + + + + + Bahinemo + + + + + Burji + + + + + Kanauji + + + + + Barok + + + + + Bulu (Papua New Guinea) + + + + + Bajelani + + + + + Banjar + + + + + Mid-Southern Banda + + + + + Southern Betsimisaraka Malagasy + + + + + Binumarien + + + + + Bajan + + + + + Balanta-Ganja + + + + + Busuu + + + + + Bedjond + + + + + Bakwe + + + + + Banao Itneg + + + + + Bayali + + + + + Baruga + + + + + Kyak + + + + + Finallig + + + + + Baka (Cameroon) + + + + + Binukid + + + + + Bengkulu + + + + + Beeke + + + + + Buraka + + + + + Bakoko + + + + + Baki + + + + + Pande + + + + + Brokskat + + + + + Berik + + + + + Kom (Cameroon) + + + + + Bukitan + + + + + Kwa' + + + + + Boko (Democratic Republic of Congo) + + + + + Bakairi + + + + + Bakumpai + + + + + Masbate Sorsogon + + + + + Boloki + + + + + Buhid + + + + + Bekwarra + + + + + Bekwil + + + + + Baikeno + + + + + Bokyi + + + + + Bungku + + + + + Siksika + + + + + Bilua + + + + + Bella Coola + + + + + Bolango + + + + + Balanta-Kentohe + + + + + Buol + + + + + Balau + + + + + Kuwaa + + + + + Bolia + + + + + Bolongan + + + + + Pa'o Karen + + + + + Biloxi + + + + + Beli (Sudan) + + + + + Southern Catanduanes Bicolano + + + + + Anii + + + + + Blablanga + + + + + Baluan-Pam + + + + + Blang + + + + + Balaesang + + + + + Tai Dam + + + + + Hmong Njua + + + + + Bolo + + + + + Balangao + + + + + Mag-Indi Ayta + + + + + Notre + + + + + Balantak + + + + + Lame + + + + + Bembe + + + + + Biem + + + + + Baga Manduri + + + + + Limassa + + + + + Bom + + + + + Bamwe + + + + + Kein + + + + + Bagirmi + + + + + Bote-Majhi + + + + + Ghayavi + + + + + Bomboli + + + + + Northern Betsimisaraka Malagasy + + + + + Bina (Papua New Guinea) + + + + + Bambalang + + + + + Bulgebi + + + + + Bomu + + + + + Muinane + + + + + Bilma Kanuri + + + + + Biao Mon + + + + + Burum-Mindik + + + + + Bum + + + + + Bomwali + + + + + Baimak + + + + + Bemba (Democratic Republic of Congo) + + + + + Baramu + + + + + Bonerate + + + + + Bookan + + + + + Central Bontoc + + + + + Banda (Indonesia) + + + + + Bintauna + + + + + Masiwang + + + + + Benga + + + + + Banawa + + + + + Bangi + + + + + Eastern Tawbuid + + + + + Bierebo + + + + + Boon + + + + + Batanga + + + + + Bunun + + + + + Bantoanon + + + + + Bola + + + + + Bantik + + + + + Butmas-Tur + + + + + Bundeli + + + + + Bentong + + + + + Bonerif + + + + + Bisis + + + + + Bangubangu + + + + + Bintulu + + + + + Beezen + + + + + Bora + + + + + Boni + + + + + Bakung Kenyah + + + + + Tibetan + + + + + Mundabli + + + + + Bolon + + + + + Bamako Sign Language + + + + + Boma + + + + + Barbareno + + + + + Anjam + + + + + Bonjo + + + + + Bole + + + + + Berom + + + + + Bine + + + + + Tiema Ciewe Bozo + + + + + Bonkiman + + + + + Bogaya + + + + + Bororo + + + + + Bosnian + + + + + Bongo + + + + + Bondei + + + + + Tuwuli + + + + + Rema + + + + + Buamu + + + + + Bodo (Central African Republic) + + + + + Tieyaxo Bozo + + + + + Dakaka + + + + + Barbacoas + + + + + Banda-Banda + + + + + Bonggo + + + + + Botlikh + + + + + Bagupi + + + + + Binji + + + + + Orowe + + + + + Broome Pearling Lugger Pidgin + + + + + Biyom + + + + + Dzao Min + + + + + Anasi + + + + + Kaure + + + + + Banda Malay + + + + + Koronadal Blaan + + + + + Sarangani Blaan + + + + + Barrow Point + + + + + Bongu + + + + + Bian Marind + + + + + Bo (Papua New Guinea) + + + + + Palya Bareli + + + + + Bishnupriya + + + + + Bilba + + + + + Tchumbuli + + + + + Bagusa + + + + + Boko (Benin) + + + + + Bung + + + + + Navarro-Labourdin Basque + + + + + Baga Kaloum + + + + + Bago-Kusuntu + + + + + Baima + + + + + Bakhtiari + + + + + Bandial + + + + + Banda-Mbres + + + + + Bilakura + + + + + Wumboko + + + + + Bulgarian Sign Language + + + + + Balo + + + + + Busa + + + + + Biritai + + + + + Burusu + + + + + Bosngun + + + + + Bamukumbit + + + + + Boguru + + + + + Begbere-Ejar + + + + + Buru (Nigeria) + + + + + Baangi + + + + + Bali Sign Language + + + + + Bakaka + + + + + Braj + + + + + Lave + + + + + Berbice Creole Dutch + + + + + Baraamu + + + + + Breton + + + + + Bera + + + + + Baure + + + + + Brahui + + + + + Mokpwe + + + + + Bieria + + + + + Birked + + + + + Birwa + + + + + Barambu + + + + + Boruca + + + + + Brokkat + + + + + Barapasi + + + + + Breri + + + + + Birao + + + + + Baras + + + + + Bitare + + + + + Eastern Bru + + + + + Western Bru + + + + + Bellari + + + + + Bodo (India) + + + + + Burui + + + + + Bilbil + + + + + Abinomn + + + + + Brunei Bisaya + + + + + Bassari + + + + + Sarawak Bisaya + + + + + Wushi + + + + + Bauchi + + + + + Bashkardi + + + + + Kati + + + + + Bassossi + + + + + Bangwinji + + + + + Burushaski + + + + + Basa-Gumna + + + + + Busami + + + + + Barasana + + + + + Buso + + + + + Baga Sitemu + + + + + Bassa + + + + + Bassa-Kontagora + + + + + Akoose + + + + + Basketo + + + + + Bahonsuai + + + + + Baga Sobane + + + + + Baiso + + + + + Yangkam + + + + + Sabah Bisaya + + + + + Souletin Basque + + + + + Bata + + + + + Beti (Cameroon) + + + + + Bati (Cameroon) + + + + + Batak Dairi + + + + + Gamo-Ningi + + + + + Birgit + + + + + Gagnoa Bete + + + + + Biatah + + + + + Burate + + + + + Bacanese Malay + + + + + Bhatola + + + + + Batak Mandailing + + + + + Ratagnon + + + + + Iriga Bicolano + + + + + Budibud + + + + + Batek + + + + + Baetora + + + + + Batak Simalungun + + + + + Bete-Bendi + + + + + Batu + + + + + Bateri + + + + + Butuanon + + + + + Batak Karo + + + + + Bobot + + + + + Batak Alas-Kluet + + + + + Buriat + + + + + Bua + + + + + Bushi + + + + + Ntcham + + + + + Beothuk + + + + + Bushoong + + + + + Buginese + + + + + Younuo Bunu + + + + + Bongili + + + + + Basa-Gurmana + + + + + Bugawac + + + + + Bulgarian + + + + + Bulu (Cameroon) + + + + + Sherbro + + + + + Terei + + + + + Busoa + + + + + Brem + + + + + Bokobaru + + + + + Bungain + + + + + Budu + + + + + Bun + + + + + Bubi + + + + + Boghom + + + + + Bullom So + + + + + Bukwen + + + + + Barein + + + + + Bube + + + + + Baelelea + + + + + Baeggu + + + + + Berau Malay + + + + + Boor + + + + + Bonkeng + + + + + Bure + + + + + Belanda Viri + + + + + Baan + + + + + Bukat + + + + + Bolivian Sign Language + + + + + Bamunka + + + + + Buna + + + + + Bolgo + + + + + Birri + + + + + Burarra + + + + + Belgian Sign Language + + + + + Bati (Indonesia) + + + + + Bukit Malay + + + + + Baniva + + + + + Boga + + + + + Dibole + + + + + Bauzi + + + + + Bwatoo + + + + + Namosi-Naitasiri-Serua + + + + + Bwile + + + + + Bwaidoka + + + + + Bwe Karen + + + + + Boselewa + + + + + Barwe + + + + + Bishuo + + + + + Baniwa + + + + + Laa Laa Bwamu + + + + + Bauwaki + + + + + Bwela + + + + + Biwat + + + + + Wunai Bunu + + + + + Boro + + + + + Mandobo Bawah + + + + + Southern Bobo Madare + + + + + Bura-Pabir + + + + + Bomboma + + + + + Bafaw-Balong + + + + + Buli (Ghana) + + + + + Bahau River Kenyah + + + + + Bwa + + + + + Bu-Nao Bunu + + + + + Cwi Bwamu + + + + + Bwisi + + + + + Bauro + + + + + Belanda Bor + + + + + Molengue + + + + + Pela + + + + + Birale + + + + + Bilur + + + + + Bangala + + + + + Buhutu + + + + + Pirlatapa + + + + + Bayungu + + + + + Bukusu + + + + + Jalkunan + + + + + Mongolia Buriat + + + + + Burduna + + + + + Barikanchi + + + + + Bebil + + + + + Beele + + + + + Russia Buriat + + + + + Busam + + + + + Buxinhua + + + + + China Buriat + + + + + Berakou + + + + + Bankagooma + + + + + Borna + + + + + Binahari + + + + + Batak + + + + + Bikya + + + + + Ubaghara + + + + + Benyadu' + + + + + Pouye + + + + + Bete + + + + + Baygo + + + + + Bujhyal + + + + + Buyu + + + + + Bina (Nigeria) + + + + + Biao + + + + + Bayono + + + + + Bidyara + + + + + Bilin + + + + + Biyo + + + + + Bumaji + + + + + Basay + + + + + Baruya + + + + + Burak + + + + + Berti + + + + + Buyang + + + + + Medumba + + + + + Belhariya + + + + + Qaqet + + + + + Buya + + + + + Banaro + + + + + Bandi + + + + + Andio + + + + + Bribri + + + + + Jenaama Bozo + + + + + Boikin + + + + + Babuza + + + + + Mapos Buang + + + + + Belize Kriol English + + + + + Nicaragua Creole English + + + + + Boano (Sulawesi) + + + + + Bolondo + + + + + Boano (Maluku) + + + + + Bozaba + + + + + Kemberano + + + + + Buli (Indonesia) + + + + + Biri + + + + + Brazilian Sign Language + + + + + Brithenig + + + + + Burmeso + + + + + Bebe + + + + + Basa (Nigeria) + + + + + Hainyaxo Bozo + + + + + Obanliku + + + + + Evant + + + + + Chorti + + + + + Garifuna + + + + + San Sebastian Coatan Chuj + + + + + Caddo + + + + + Lehar + + + + + Southern Carrier + + + + + Nivacle + + + + + Cahuarano + + + + + Chane + + + + + Central Cakchiquel + + + + + Carolinian + + + + + Cemuhi + + + + + Chambri + + + + + Chacobo + + + + + Chipaya + + + + + Car Nicobarese + + + + + Galibi Carib + + + + + Tsimane + + + + + Catalan + + + + + Cavinena + + + + + Callawalla + + + + + Chiquitano + + + + + Cayuga + + + + + Canichana + + + + + Cabiyari + + + + + Carapana + + + + + Carijona + + + + + Chipiajes + + + + + Chimila + + + + + Cagua + + + + + Chachi + + + + + Ede Cabe + + + + + Chavacano + + + + + Bualkhaw Chin + + + + + Yepocapa Southwestern Cakchiquel + + + + + Nyahkur + + + + + Izora + + + + + Cashibo-Cacataibo + + + + + Cashinahua + + + + + Chayahuita + + + + + Candoshi-Shapra + + + + + Cacua + + + + + Carabayo + + + + + Cauca + + + + + Chamicuro + + + + + Cafundo Creole + + + + + Chopi + + + + + Samba Daka + + + + + Atsam + + + + + Kasanga + + + + + Cutchi-Swahili + + + + + Malaccan Creole Malay + + + + + Comaltepec Chinantec + + + + + Chakma + + + + + Chaungtha + + + + + Cacaopera + + + + + Northern Zhuang + + + + + Southern Zhuang + + + + + Choni + + + + + Chenchu + + + + + Chiru + + + + + Chamari + + + + + Chambeali + + + + + Chodri + + + + + Churahi + + + + + Chepang + + + + + Chaudangsi + + + + + Min Dong Chinese + + + + + Cinda-Regi-Tiyal + + + + + Chadian Sign Language + + + + + Koda + + + + + Lower Chehalis + + + + + Cebuano + + + + + Chamacoco + + + + + Czech + + + + + Centuum + + + + + Dijim-Bwilim + + + + + Cara + + + + + Como Karim + + + + + Changriwa + + + + + Kagayanen + + + + + Chiga + + + + + Chocangacakha + + + + + Chamorro + + + + + Chibcha + + + + + Catawba + + + + + Highland Oaxaca Chontal + + + + + Chechen + + + + + Tabasco Chontal + + + + + Chagatai + + + + + Chinook + + + + + Ojitlan Chinantec + + + + + Chuukese + + + + + Cahuilla + + + + + Mari (Russia) + + + + + Chinook jargon + + + + + Choctaw + + + + + Chipewyan + + + + + Quiotepec Chinantec + + + + + Cherokee + + + + + Chumash + + + + + Cholon + + + + + Church Slavic + + + + + Chuvash + + + + + Chuwabu + + + + + Chantyal + + + + + Cheyenne + + + + + Ozumacin Chinantec + + + + + Cia-Cia + + + + + Ci Gbe + + + + + Chickasaw + + + + + Chimariko + + + + + Cineni + + + + + Chinali + + + + + Chitkuli Kinnauri + + + + + Cimbrian + + + + + Cinta Larga + + + + + Chiapanec + + + + + Tiri + + + + + Chittagonian + + + + + Chippewa + + + + + Chaima + + + + + Western Cham + + + + + Chru + + + + + Upper Chehalis + + + + + Chamalal + + + + + Chokwe + + + + + Eastern Cham + + + + + Chenapian + + + + + Asheninka Pajonal + + + + + Cabecar + + + + + Chorotega + + + + + Shor + + + + + Chuave + + + + + Jinyu Chinese + + + + + Khumi Awa Chin + + + + + Central Kurdish + + + + + Northern Cakchiquel + + + + + South Central Cakchiquel + + + + + Eastern Cakchiquel + + + + + Southern Cakchiquel + + + + + Chak + + + + + Santa Maria De Jesus Cakchiquel + + + + + Santo Domingo Xenacoj Cakchiquel + + + + + Acatenango Southwestern Cakchiquel + + + + + Cibak + + + + + Anufo + + + + + Kajakse + + + + + Kairak + + + + + Tayo + + + + + Chukot + + + + + Koasati + + + + + Kavalan + + + + + Western Cakchiquel + + + + + Caka + + + + + Cakfem-Mushere + + + + + Cakchiquel-Quiche Mixed Language + + + + + Ron + + + + + Chilcotin + + + + + Chaldean Neo-Aramaic + + + + + Lealao Chinantec + + + + + Chilisso + + + + + Chakali + + + + + Idu-Mishmi + + + + + Chala + + + + + Clallam + + + + + Lowland Oaxaca Chontal + + + + + Caluyanun + + + + + Chulym + + + + + Eastern Highland Chatino + + + + + Maa + + + + + Cerma + + + + + Classical Mongolian + + + + + Embera-Chami + + + + + Chimakum + + + + + Campalagian + + + + + Michigamea + + + + + Mandarin Chinese + + + + + Central Mnong + + + + + Mro Chin + + + + + Messapic + + + + + Camtho + + + + + Changthang + + + + + Chinbon Chin + + + + + Coong + + + + + Northern Qiang + + + + + Haka Chin + + + + + Ashaninka + + + + + Khumi Chin + + + + + Lalana Chinantec + + + + + Ixtatan Chuj + + + + + Con + + + + + Central Asmat + + + + + Tepetotutla Chinantec + + + + + Chenoua + + + + + Ngawn Chin + + + + + Middle Cornish + + + + + Cocos Islands Malay + + + + + Chicomuceltec + + + + + Cocopa + + + + + Cocama-Cocamilla + + + + + Koreguaje + + + + + Colorado + + + + + Chong + + + + + Chonyi + + + + + Cochimi + + + + + Santa Teresa Cora + + + + + Columbia-Wenatchi + + + + + Comanche + + + + + Cofan + + + + + Comox + + + + + Coptic + + + + + Coquille + + + + + Cornish + + + + + Corsican + + + + + Caquinte + + + + + Wamey + + + + + Cao Miao + + + + + Cowlitz + + + + + Nanti + + + + + Coyaima + + + + + Chochotec + + + + + Palantla Chinantec + + + + + Ucayali-Yurua Asheninka + + + + + Ajyininka Apurucayali + + + + + Cappadocian Greek + + + + + Chinese Pidgin English + + + + + Cherepon + + + + + Capiznon + + + + + Pichis Asheninka + + + + + Pu-Xian Chinese + + + + + South Ucayali Asheninka + + + + + Chilean Quechua + + + + + Chara + + + + + Island Carib + + + + + Lonwolwol + + + + + Coeur d'Alene + + + + + Cree + + + + + Caramanta + + + + + Michif + + + + + Crimean Tatar + + + + + Saotomense + + + + + Southern East Cree + + + + + Plains Cree + + + + + Northern East Cree + + + + + Moose Cree + + + + + El Nayar Cora + + + + + Crow + + + + + Iyo'wujwa Chorote + + + + + Carolina Algonquian + + + + + Seselwa Creole French + + + + + Iyojwa'ja Chorote + + + + + Carutana + + + + + Chaura + + + + + Chrau + + + + + Carrier + + + + + Cori + + + + + Cruzeno + + + + + Chiltepec Chinantec + + + + + Kashubian + + + + + Catalonian Sign Language + + + + + Chiangmai Sign Language + + + + + Czech Sign Language + + + + + Cuba Sign Language + + + + + Chilean Sign Language + + + + + Asho Chin + + + + + Coast Miwok + + + + + Jola-Kasa + + + + + Chinese Sign Language + + + + + Central Sierra Miwok + + + + + Colombian Sign Language + + + + + Sochiapan Chinantec + + + + + Croatia Sign Language + + + + + Costa Rican Sign Language + + + + + Southern Ohlone + + + + + Northern Ohlone + + + + + Swampy Cree + + + + + Siyin Chin + + + + + Coos + + + + + Tataltepec Chatino + + + + + Chetco + + + + + Tedim Chin + + + + + Tepinapa Chinantec + + + + + Tila Chol + + + + + Tlacoatzintepec Chinantec + + + + + Chitimacha + + + + + Chhintange + + + + + Embera-Catio + + + + + Western Highland Chatino + + + + + Northern Catanduanes Bicolano + + + + + Tumbala Chol + + + + + Zacatepec Chatino + + + + + Cua + + + + + Cubeo + + + + + Usila Chinantec + + + + + Cung + + + + + Chuka + + + + + Cuiba + + + + + Mashco Piro + + + + + San Blas Kuna + + + + + Culina + + + + + Cumeral + + + + + Cunen Quiche + + + + + Cumanagoto + + + + + Cupeno + + + + + Cun + + + + + Chhulung + + + + + Teutila Cuicatec + + + + + Tai Ya + + + + + Cuvok + + + + + Chukwa + + + + + Tepeuxila Cuicatec + + + + + Valle Nacional Chinantec + + + + + Kabwa + + + + + Maindo + + + + + Woods Cree + + + + + Kwere + + + + + Chewong + + + + + Kuwaataay + + + + + Nopala Chatino + + + + + Cayubaba + + + + + Welsh + + + + + Cuyonon + + + + + Huizhou Chinese + + + + + Knaanic + + + + + Zenzontepec Chatino + + + + + Min Zhong Chinese + + + + + Zotung Chin + + + + + Dangaleat + + + + + Dambi + + + + + Marik + + + + + Duupa + + + + + Dan + + + + + Dagbani + + + + + Gwahatike + + + + + Day + + + + + Dar Fur Daju + + + + + Dakota + + + + + Dahalo + + + + + Danish + + + + + Daai Chin + + + + + Nisi + + + + + Dandami Maria + + + + + Dargwa + + + + + Daho-Doo + + + + + Darang Deng + + + + + Dar Sila Daju + + + + + Taita + + + + + Davawenyo + + + + + Dayi + + + + + Dao + + + + + Bangeri Me Dogon + + + + + Deno + + + + + Dadiya + + + + + Dabe + + + + + Edopi + + + + + Dogul Dom Dogon + + + + + Doka + + + + + Ida'an + + + + + Dyirbal + + + + + Duguri + + + + + Duriankere + + + + + Dulbu + + + + + Duwai + + + + + Daba + + + + + Dabarre + + + + + Bondum Dom Dogon + + + + + Dungu + + + + + Dibiyaso + + + + + Deccan + + + + + Negerhollands + + + + + Dongotono + + + + + Doondo + + + + + Fataluku + + + + + Diodio + + + + + Jaru + + + + + Dendi (Benin) + + + + + Dido + + + + + Donno So Dogon + + + + + Dawera-Daweloor + + + + + Dagik + + + + + Dedua + + + + + Dewoin + + + + + Dezfuli + + + + + Degema + + + + + Dehwari + + + + + Demisa + + + + + Dek + + + + + Delaware + + + + + Dem + + + + + Slave (Athapascan) + + + + + Pidgin Delaware + + + + + Dendi (Central African Republic) + + + + + Deori + + + + + Desano + + + + + German + + + + + Domung + + + + + Dengese + + + + + Southern Dagaare + + + + + Casiguran Dumagat Agta + + + + + Dagaari Dioula + + + + + Degenan + + + + + Doga + + + + + Dghwede + + + + + Northern Dagara + + + + + Dagba + + + + + Dagoman + + + + + Dogri (individual language) + + + + + Dogrib + + + + + Dogoso + + + + + Degaru + + + + + Doghoro + + + + + Daga + + + + + Dhanwar (India) + + + + + Dhundari + + + + + Dhangu + + + + + Dhimal + + + + + Dhalandji + + + + + Zemba + + + + + Dhanki + + + + + Dhodia + + + + + Dhargari + + + + + Dhaiso + + + + + Dhurga + + + + + Dehu + + + + + Dhanwar (Nepal) + + + + + Dia + + + + + South Central Dinka + + + + + Lakota Dida + + + + + Didinga + + + + + Dieri + + + + + Digo + + + + + Kumiai + + + + + Dimbong + + + + + Dai + + + + + Southwestern Dinka + + + + + Dilling + + + + + Dime + + + + + Dinka + + + + + Dibo + + + + + Northeastern Dinka + + + + + Dimli + + + + + Dirim + + + + + Dimasa + + + + + Dirari + + + + + Diriku + + + + + Dhivehi + + + + + Northwestern Dinka + + + + + Dixon Reef + + + + + Diuwe + + + + + Ding + + + + + Djinba + + + + + Dar Daju Daju + + + + + Djamindjung + + + + + Zarma + + + + + Djangun + + + + + Djinang + + + + + Djeebbana + + + + + Aukan + + + + + Djiwarli + + + + + Jamsay Dogon + + + + + Djauan + + + + + Djongkang + + + + + Djambarrpuyngu + + + + + Kapriman + + + + + Djawi + + + + + Dakpakha + + + + + Dakka + + + + + Kolum So Dogon + + + + + Kuijau + + + + + Southeastern Dinka + + + + + Mazagway + + + + + Dolgan + + + + + Dalmatian + + + + + Darlong + + + + + Duma + + + + + Dimir + + + + + Dugwor + + + + + Upper Kinabatangan + + + + + Domaaki + + + + + Dameli + + + + + Dama + + + + + Kemezung + + + + + East Damar + + + + + Dampelas + + + + + Dubu + + + + + Dumpas + + + + + Dema + + + + + Demta + + + + + Upper Grand Valley Dani + + + + + Daonda + + + + + Ndendeule + + + + + Dungan + + + + + Lower Grand Valley Dani + + + + + Dengka + + + + + Dzuungoo + + + + + Danaru + + + + + Mid Grand Valley Dani + + + + + Danau + + + + + Western Dani + + + + + Deni + + + + + Dom + + + + + Dobu + + + + + Northern Dong + + + + + Doe + + + + + Domu + + + + + Dong + + + + + Dogri (macrolanguage) + + + + + Dondo + + + + + Doso + + + + + Toura (Papua New Guinea) + + + + + Dongo + + + + + Lukpa + + + + + Dominican Sign Language + + + + + Dori'o + + + + + Dogose + + + + + Dass + + + + + Dombe + + + + + Doyayo + + + + + Bussa + + + + + Dompo + + + + + Dorze + + + + + Papar + + + + + Dair + + + + + Darmiya + + + + + Dolpo + + + + + Rungus + + + + + Darkhat + + + + + C'lela + + + + + Darling + + + + + West Damar + + + + + Daro-Matu + + + + + Dura + + + + + Dororo + + + + + Gedeo + + + + + Drents + + + + + Rukai + + + + + Darwazi + + + + + Darai + + + + + Lower Sorbian + + + + + Dutch Sign Language + + + + + Daasanach + + + + + Disa + + + + + Danish Sign Language + + + + + Dusner + + + + + Desiya Oriya + + + + + Tadaksahak + + + + + Daur + + + + + Labuk-Kinabatangan Kadazan + + + + + Tene Kan Dogon + + + + + Tomo Kan Dogon + + + + + Central Dusun + + + + + Lotud + + + + + Toro So Dogon + + + + + Toro Tegu Dogon + + + + + Duala + + + + + Dubli + + + + + Duna + + + + + Hun-Saare + + + + + Umiray Dumaget Agta + + + + + Dumbea + + + + + Duruma + + + + + Dungra Bhil + + + + + Dumun + + + + + Dhuwal + + + + + Duduela + + + + + Alabat Island Agta + + + + + Middle Dutch (ca. 1050-1350) + + + + + Dusun Deyah + + + + + Dupaninan Agta + + + + + Duano' + + + + + Dusun Malang + + + + + Dii + + + + + Dumi + + + + + Drung + + + + + Duvle + + + + + Dusun Witu + + + + + Duungooma + + + + + Dicamay Agta + + + + + Duli + + + + + Duau + + + + + Diri + + + + + Dutton World Speedwords + + + + + Dawawa + + + + + Dyan + + + + + Dyaberdyaber + + + + + Dyugun + + + + + Villa Viciosa Agta + + + + + Djimini Senoufo + + + + + Land Dayak + + + + + Dyangadi + + + + + Jola-Fonyi + + + + + Dyula + + + + + Dyaabugay + + + + + Duguza + + + + + Daza + + + + + Dazaga + + + + + Dzalakha + + + + + Dzando + + + + + Dzongkha + + + + + Ebughu + + + + + Teke-Ebo + + + + + Ebrie + + + + + Embu + + + + + Eteocretan + + + + + Ecuadorian Sign Language + + + + + Eteocypriot + + + + + E + + + + + Efai + + + + + Efe + + + + + Efik + + + + + Ega + + + + + Eggon + + + + + Egyptian (Ancient) + + + + + Ehueun + + + + + Eipomek + + + + + Eitiep + + + + + Askopan + + + + + Ejamat + + + + + Ekajuk + + + + + Ekit + + + + + Ekari + + + + + Eki + + + + + Elip + + + + + Koti + + + + + Ekpeye + + + + + Yace + + + + + Eastern Kayah + + + + + Elepi + + + + + El Hugeirat + + + + + Nding + + + + + Elkei + + + + + Modern Greek (1453-) + + + + + Eleme + + + + + El Molo + + + + + Elpaputih + + + + + Elu + + + + + Elamite + + + + + Emai-Iuleha-Ora + + + + + Embaloh + + + + + Emerillon + + + + + Eastern Meohang + + + + + Mussau-Emira + + + + + Eastern Maninkakan + + + + + Emiliano-Romagnolo + + + + + Mamulique + + + + + Eman + + + + + Emok + + + + + Northern Embera + + + + + Pacific Gulf Yupik + + + + + Eastern Muria + + + + + Emplawas + + + + + Epigraphic Mayan + + + + + Apali + + + + + Endo + + + + + En + + + + + Ende + + + + + Forest Enets + + + + + English + + + + + Tundra Enets + + + + + Enim + + + + + Middle English (1100-1500) + + + + + Engenni + + + + + Enggano + + + + + Enga + + + + + Emumu + + + + + Enwan (Edu State) + + + + + Enwan (Akwa Ibom State) + + + + + Beti (Cote d'Ivoire) + + + + + Epie + + + + + Esperanto + + + + + Sie + + + + + Eruwa + + + + + Ogea + + + + + South Efate + + + + + Horpa + + + + + Erre + + + + + Ersu + + + + + Eritai + + + + + Erokwanas + + + + + Ese Ejja + + + + + Eshtehardi + + + + + North Alaskan Inupiatun + + + + + Northwest Alaska Inupiatun + + + + + Egypt Sign Language + + + + + Esuma + + + + + Salvadoran Sign Language + + + + + Estonian Sign Language + + + + + Esselen + + + + + Central Siberian Yupik + + + + + Estonian + + + + + Central Yupik + + + + + Etebi + + + + + Etchemin + + + + + Ethiopian Sign Language + + + + + Eton (Vanuatu) + + + + + Eton (Cameroon) + + + + + Edolo + + + + + Yekhee + + + + + Etruscan + + + + + Ejagham + + + + + Eten + + + + + Semimi + + + + + Europanto + + + + + Basque + + + + + Even + + + + + Uvbie + + + + + Evenki + + + + + Ewe + + + + + Ewondo + + + + + Extremaduran + + + + + Eyak + + + + + Uzekwe + + + + + Fasu + + + + + Fa D'ambu + + + + + Wagi + + + + + Fagani + + + + + Finongan + + + + + Fali Of Baissa + + + + + Faiwol + + + + + Faita + + + + + Fang (Cameroon) + + + + + South Fali + + + + + Fam + + + + + Fang (Equatorial Guinea) + + + + + Faroese + + + + + Palor + + + + + Fataleka + + + + + Persian + + + + + Fanti + + + + + Fayu + + + + + Fala + + + + + Southwestern Fars + + + + + Northwestern Fars + + + + + Quebec Sign Language + + + + + Feroge + + + + + Maasina Fulfulde + + + + + Fongoro + + + + + Nobiin + + + + + Fyer + + + + + Fijian + + + + + Filipino + + + + + Finnish + + + + + Fipa + + + + + Firan + + + + + Tornedalen Finnish + + + + + Fiwaga + + + + + Izere + + + + + Kven Finnish + + + + + Kalispel-Pend d'Oreille + + + + + Foau + + + + + Fali + + + + + North Fali + + + + + Falam Chin + + + + + Flinders Island + + + + + Fuliiru + + + + + Tsotsitaal + + + + + Fe'fe + + + + + Far Western Muria + + + + + Fanagalo + + + + + Fania + + + + + Foodo + + + + + Foi + + + + + Foma + + + + + Fon + + + + + Fore + + + + + Siraya + + + + + Fernando Po Creole English + + + + + Fas + + + + + French + + + + + Cajun French + + + + + Fordata + + + + + Frankish + + + + + Middle French (ca. 1400-1600) + + + + + Old French (842-ca. 1400) + + + + + Franco-Provencal + + + + + Forak + + + + + Northern Frisian + + + + + Eastern Frisian + + + + + Fortsenal + + + + + Western Frisian + + + + + Finnish Sign Language + + + + + French Sign Language + + + + + Finnish-Swedish Sign Language + + + + + Adamawa Fulfulde + + + + + Pulaar + + + + + East Futuna + + + + + Borgu Fulfulde + + + + + Pular + + + + + Western Niger Fulfulde + + + + + Bagirmi Fulfulde + + + + + Ko + + + + + Fulah + + + + + Fum + + + + + Fulnio + + + + + Central-Eastern Niger Fulfulde + + + + + Friulian + + + + + Futuna-Aniwa + + + + + Furu + + + + + Nigerian Fulfulde + + + + + Fuyug + + + + + Fur + + + + + Fwai + + + + + Fwe + + + + + Ga + + + + + Gabri + + + + + Gaddang + + + + + Guarequena + + + + + Gende + + + + + Gagauz + + + + + Alekano + + + + + Borei + + + + + Gadsup + + + + + Gamkonora + + + + + Galoli + + + + + Kandawo + + + + + Gan Chinese + + + + + Gants + + + + + Gal + + + + + Gata' + + + + + Galeya + + + + + Adiwasi Garasia + + + + + Kenati + + + + + Mudhili Gadaba + + + + + Gabutamon + + + + + Nobonob + + + + + Borana-Arsi-Guji Oromo + + + + + Gayo + + + + + West Central Oromo + + + + + Gbaya (Central African Republic) + + + + + Kaytetye + + + + + Garawa + + + + + Karadjeri + + + + + Niksek + + + + + Gaikundi + + + + + Gbanziri + + + + + Defi Gbe + + + + + Galela + + + + + Bodo Gadaba + + + + + Gaddi + + + + + Gamit + + + + + Garhwali + + + + + Mo'da + + + + + Northern Grebo + + + + + Gbaya-Bossangoa + + + + + Gbaya-Bozoum + + + + + Gbagyi + + + + + Gbesi Gbe + + + + + Gagadu + + + + + Gbanu + + + + + Eastern Xwla Gbe + + + + + Gbari + + + + + Zoroastrian Dari + + + + + Mali + + + + + Ganggalida + + + + + Galice + + + + + Guadeloupean Creole French + + + + + Grenadian Creole English + + + + + Gaina + + + + + Guianese Creole French + + + + + Colonia Tovar German + + + + + Gade Lohar + + + + + Pottangi Ollar Gadaba + + + + + Gugu Badhun + + + + + Gedaged + + + + + Gude + + + + + Guduf-Gava + + + + + Ga'dang + + + + + Gadjerawang + + + + + Gundi + + + + + Gurdjar + + + + + Gadang + + + + + Dirasha + + + + + Laal + + + + + Umanakaina + + + + + Ghodoberi + + + + + Mehri + + + + + Wipi + + + + + Gudu + + + + + Godwari + + + + + Geruma + + + + + Kire + + + + + Gboloo Grebo + + + + + Gade + + + + + Gengle + + + + + Hutterite German + + + + + Gebe + + + + + Gen + + + + + Yiwom + + + + + Kag-Fer-Jiir-Koor-Ror-Us-Zuksun + + + + + Geman Deng + + + + + Geme + + + + + Geser-Gorom + + + + + Gera + + + + + Garre + + + + + Enya + + + + + Geez + + + + + Patpatar + + + + + Gafat + + + + + Gao + + + + + Gbii + + + + + Gugadj + + + + + Guragone + + + + + Gurgula + + + + + Garreh-Ajuran + + + + + Kungarakany + + + + + Ganglau + + + + + Eastern Gurung + + + + + Southern Gondi + + + + + Aghu Tharnggalu + + + + + Gitua + + + + + Gagu + + + + + Gogodala + + + + + Ghadames + + + + + Hiberno-Scottish Gaelic + + + + + Southern Ghale + + + + + Northern Ghale + + + + + Geko Karen + + + + + Ghulfan + + + + + Ghanongga + + + + + Ghomara + + + + + Ghera + + + + + Guhu-Samane + + + + + Kutang Ghale + + + + + Kitja + + + + + Gibanawa + + + + + Gail + + + + + Gidar + + + + + Goaria + + + + + Gilbertese + + + + + Gimi (Eastern Highlands) + + + + + Hinukh + + + + + Gelao + + + + + Gimi (West New Britain) + + + + + Green Gelao + + + + + Red Gelao + + + + + North Giziga + + + + + Gitxsan + + + + + White Gelao + + + + + Gilima + + + + + Giyug + + + + + South Giziga + + + + + Geji + + + + + Kachi Koli + + + + + Gonja + + + + + Gujari + + + + + Guya + + + + + Ndai + + + + + Gokana + + + + + Guinea Kpelle + + + + + Scottish Gaelic + + + + + Bon Gula + + + + + Nanai + + + + + Irish + + + + + Galician + + + + + Northwest Pashayi + + + + + Guliguli + + + + + Gula Iro + + + + + Gilaki + + + + + Galambu + + + + + Glaro-Twabo + + + + + Gula (Chad) + + + + + Manx + + + + + Glavda + + + + + Gule + + + + + Gambera + + + + + Gula'alaa + + + + + Maghdi + + + + + Middle High German (ca. 1050-1500) + + + + + Gimnime + + + + + Gamo-Gofa-Dawro + + + + + Gumalu + + + + + Magoma + + + + + Mycenaean Greek + + + + + Kaansa + + + + + Gangte + + + + + Guanche + + + + + Zulgo-Gemzek + + + + + Ngangam + + + + + Lere + + + + + Gooniyandi + + + + + //Gana + + + + + Gangulu + + + + + Ginuman + + + + + Gumatj + + + + + Northern Gondi + + + + + Gana + + + + + Gureng Gureng + + + + + Guntai + + + + + Gnau + + + + + Western Bolivian Guarani + + + + + Ganzi + + + + + Guro + + + + + Playero + + + + + Gorakor + + + + + Godie + + + + + Gongduk + + + + + Gogo + + + + + Old High German (ca. 750-1050) + + + + + Gobasi + + + + + Gowlan + + + + + Gowli + + + + + Gola + + + + + Goanese Konkani + + + + + Gondi + + + + + Gone Dau + + + + + Yeretuar + + + + + Gorap + + + + + Gorontalo + + + + + Gronings + + + + + Gothic + + + + + Gavar + + + + + Gorowa + + + + + Gobu + + + + + Goundo + + + + + Gozarkhani + + + + + Gupa-Abawa + + + + + Taiap + + + + + Ga'anda + + + + + Guiqiong + + + + + Guana (Brazil) + + + + + Gor + + + + + Rajput Garasia + + + + + Grebo + + + + + Ancient Greek (to 1453) + + + + + Guruntum-Mbaaru + + + + + Madi + + + + + Gbiri-Niragu + + + + + Ghari + + + + + Southern Grebo + + + + + Kota Marudu Talantang + + + + + Guarani + + + + + Groma + + + + + Gorovu + + + + + Taznatit + + + + + Gresi + + + + + Garo + + + + + Kistane + + + + + Central Grebo + + + + + Gweda + + + + + Guriaso + + + + + Barclayville Grebo + + + + + Guramalum + + + + + Ghanaian Sign Language + + + + + German Sign Language + + + + + Gusilay + + + + + Guatemalan Sign Language + + + + + Gusan + + + + + Wasembo + + + + + Greek Sign Language + + + + + Swiss German + + + + + Guato + + + + + Gbati-ri + + + + + Shiki + + + + + Guajajara + + + + + Wayuu + + + + + Yocoboue Dida + + + + + Gurinji + + + + + Gupapuyngu + + + + + Paraguayan Guarani + + + + + Guahibo + + + + + Eastern Bolivian Guarani + + + + + Gujarati + + + + + Gumuz + + + + + Sea Island Creole English + + + + + Guambiano + + + + + Mbya Guarani + + + + + Guayabero + + + + + Gunwinggu + + + + + Ache + + + + + Farefare + + + + + Guinean Sign Language + + + + + Maleku Jaika + + + + + Yanomamo + + + + + Gey + + + + + Gun + + + + + Gourmanchema + + + + + Gusii + + + + + Guana (Paraguay) + + + + + Guanano + + + + + Duwet + + + + + Golin + + + + + Guaja + + + + + Gulay + + + + + Gurmana + + + + + Kuku-Yalanji + + + + + Gaviao Do Jiparana + + + + + Para Gaviao + + + + + Western Gurung + + + + + Gumawana + + + + + Guyani + + + + + Mbato + + + + + Gwa + + + + + Kalami + + + + + Gawwada + + + + + Gweno + + + + + Gowro + + + + + Moo + + + + + Gwich'in + + + + + /Gwi + + + + + Gwandara + + + + + Gwere + + + + + Gawar-Bati + + + + + Guwamu + + + + + Kwini + + + + + Gua + + + + + We Southern + + + + + Northwest Gbaya + + + + + Garus + + + + + Kayardild + + + + + Gyem + + + + + Gungabula + + + + + Gbayi + + + + + Gyele + + + + + Ngabere + + + + + Guyanese Creole English + + + + + Guarayu + + + + + Gunya + + + + + Ganza + + + + + Gazi + + + + + Gane + + + + + Han + + + + + Hanoi Sign Language + + + + + Gurani + + + + + Hatam + + + + + Eastern Oromo + + + + + Haiphong Sign Language + + + + + Hanga + + + + + Hahon + + + + + Haida + + + + + Hajong + + + + + Hakka Chinese + + + + + Halang + + + + + Hewa + + + + + Hangaza + + + + + Hako + + + + + Hupla + + + + + Ha + + + + + Harari + + + + + Haisla + + + + + Haitian + + + + + Hausa + + + + + Havu + + + + + Hawaiian + + + + + Southern Haida + + + + + Haya + + + + + Hazaragi + + + + + Hamba + + + + + Huba + + + + + Heiban + + + + + Ancient Hebrew + + + + + Serbo-Croatian + + + + + Habu + + + + + Andaman Creole Hindi + + + + + Huichol + + + + + Northern Haida + + + + + Honduras Sign Language + + + + + Hadiyya + + + + + Northern Qiandong Hmong + + + + + Hebrew + + + + + Herde + + + + + Helong + + + + + Hehe + + + + + Heiltsuk + + + + + Hemba + + + + + Herero + + + + + Hai//om + + + + + Haigwai + + + + + Kerak + + + + + Lamang + + + + + Hibito + + + + + Hidatsa + + + + + Fijian Hindustani + + + + + Kamwe + + + + + Pamosu + + + + + Hinduri + + + + + Hijuk + + + + + Seit-Kaitetu + + + + + Hiligaynon + + + + + Hindi + + + + + Tsoa + + + + + Himarima + + + + + Hittite + + + + + Hiw + + + + + Hixkaryana + + + + + Kahe + + + + + Hunde + + + + + Halia + + + + + Halbi + + + + + Halang Doan + + + + + Nga La + + + + + Hieroglyphic Luwian + + + + + Southern Mashan Hmong + + + + + Humburi Senni Songhay + + + + + Central Huishui Hmong + + + + + Northeastern Dian Hmong + + + + + Eastern Huishui Hmong + + + + + Hmong Don + + + + + Southwestern Guiyang Hmong + + + + + Southwestern Huishui Hmong + + + + + Northern Huishui Hmong + + + + + Chonganjiang Hmong + + + + + Maek + + + + + Luopohe Hmong + + + + + Central Mashan Hmong + + + + + Hmong + + + + + Hiri Motu + + + + + Northern Mashan Hmong + + + + + Eastern Qiandong Hmong + + + + + Hmar + + + + + Southern Qiandong Hmong + + + + + Hamtai + + + + + Hamap + + + + + Hmong Do + + + + + Western Mashan Hmong + + + + + Southern Guiyang Hmong + + + + + Hmong Shua + + + + + Mina (Cameroon) + + + + + Southern Hindko + + + + + Chhattisgarhi + + + + + //Ani + + + + + Hani + + + + + Hanunoo + + + + + Northern Hindko + + + + + Caribbean Hindustani + + + + + Hung + + + + + Hoava + + + + + Mari (Madang Province) + + + + + Ho + + + + + Holma + + + + + Horom + + + + + Hobyot + + + + + Holikachuk + + + + + Harauti + + + + + Holu + + + + + Homa + + + + + Holoholo + + + + + Hopi + + + + + Horo + + + + + Ho Chi Minh City Sign Language + + + + + Hote + + + + + Hovongan + + + + + Honi + + + + + Holiya + + + + + Hozo + + + + + Hpon + + + + + Hawai'i Pidgin Sign Language + + + + + Hrangkhol + + + + + Hre + + + + + Haruku + + + + + Haroi + + + + + Horuru + + + + + Hertevin + + + + + Hruso + + + + + Croatian + + + + + Harzani + + + + + Upper Sorbian + + + + + Southeastern Huastec + + + + + Hungarian Sign Language + + + + + Hausa Sign Language + + + + + Xiang Chinese + + + + + Harsusi + + + + + Hoti + + + + + Minica Huitoto + + + + + Hadza + + + + + Hitu + + + + + Middle Hittite + + + + + Huambisa + + + + + =/Hua + + + + + Huaulu + + + + + San Francisco Del Mar Huave + + + + + Humene + + + + + Huachipaeri + + + + + Huilliche + + + + + Huli + + + + + Northern Guiyang Hmong + + + + + Hulung + + + + + Hula + + + + + Hungana + + + + + Hungarian + + + + + Hu + + + + + Hupa + + + + + Tsat + + + + + Halkomelem + + + + + Veracruz Huastec + + + + + Humla + + + + + Murui Huitoto + + + + + San Mateo Del Mar Huave + + + + + Hukumina + + + + + Nupode Huitoto + + + + + Hulaula + + + + + Hunzib + + + + + San Luis Potosi Huastec + + + + + Haitian Vodoun Culture Language + + + + + San Dionisio Del Mar Huave + + + + + Haveke + + + + + Sabu + + + + + Santa Maria Del Mar Huave + + + + + Wane + + + + + Hawai'i Creole English + + + + + Hwana + + + + + Hya + + + + + Armenian + + + + + Iaai + + + + + Iatmul + + + + + Iapama + + + + + Purari + + + + + Iban + + + + + Ibibio + + + + + Iwaidja + + + + + Akpes + + + + + Ibanag + + + + + Ibilo + + + + + Ibaloi + + + + + Agoi + + + + + Ibino + + + + + Igbo + + + + + Ibuoro + + + + + Ibu + + + + + Ibani + + + + + Ede Ica + + + + + Etkywan + + + + + Icelandic Sign Language + + + + + Islander Creole English + + + + + Idakho-Isukha-Tiriki + + + + + Indo-Portuguese + + + + + Idon + + + + + Ede Idaca + + + + + Idere + + + + + Idi + + + + + Ido + + + + + Indri + + + + + Idesa + + + + + Idate + + + + + Idoma + + + + + Amganad Ifugao + + + + + Batad Ifugao + + + + + Ife + + + + + Ifo + + + + + Tuwali Ifugao + + + + + Teke-Fuumu + + + + + Mayoyao Ifugao + + + + + Keley-I Kallahan + + + + + Ebira + + + + + Igede + + + + + Igana + + + + + Igala + + + + + Kanggape + + + + + Ignaciano + + + + + Isebe + + + + + Interglossa + + + + + Igwe + + + + + Iha Based Pidgin + + + + + Ihievbe + + + + + Iha + + + + + Sichuan Yi + + + + + Izon + + + + + Biseni + + + + + Ede Ije + + + + + Kalabari + + + + + Southeast Ijo + + + + + Eastern Canadian Inuktitut + + + + + Iko + + + + + Ika + + + + + Ikulu + + + + + Olulumo-Ikom + + + + + Ikpeshi + + + + + Western Canadian Inuktitut + + + + + Inuktitut + + + + + Iku-Gora-Ankwa + + + + + Ikwere + + + + + Ik + + + + + Ikizu + + + + + Ile Ape + + + + + Ila + + + + + Interlingue + + + + + Garig-Ilgar + + + + + Ili Turki + + + + + Ilongot + + + + + Iranun + + + + + Iloko + + + + + Ili'uun + + + + + Ilue + + + + + Talur + + + + + Imeraguen + + + + + Anamgura + + + + + Miluk + + + + + Imonda + + + + + Imbongu + + + + + Imroing + + + + + Marsian + + + + + Milyan + + + + + Interlingua (International Auxiliary Language Association) + + + + + Inga + + + + + Indonesian + + + + + Degexit'an + + + + + Ingush + + + + + Jungle Inga + + + + + Indonesian Sign Language + + + + + Minaean + + + + + Isinai + + + + + Inoke-Yate + + + + + Inapari + + + + + Indian Sign Language + + + + + Intha + + + + + Ineseno + + + + + Inor + + + + + Tuma-Irumu + + + + + Iowa-Oto + + + + + Ipili + + + + + Inupiaq + + + + + Ipiko + + + + + Iquito + + + + + Iresim + + + + + Irarutu + + + + + Irigwe + + + + + Iraqw + + + + + Irantxe + + + + + Ir + + + + + Irula + + + + + Kamberau + + + + + Iraya + + + + + Isabi + + + + + Isconahua + + + + + Isnag + + + + + Italian Sign Language + + + + + Irish Sign Language + + + + + Esan + + + + + Nkem-Nkum + + + + + Icelandic + + + + + Masimasi + + + + + Isanzu + + + + + Isoko + + + + + Israeli Sign Language + + + + + Istriot + + + + + Isu (Menchum Division) + + + + + Italian + + + + + Binongan Itneg + + + + + Itene + + + + + Inlaod Itneg + + + + + Judeo-Italian + + + + + Itelmen + + + + + Itu Mbon Uzo + + + + + Itonama + + + + + Iteri + + + + + Isekiri + + + + + Maeng Itneg + + + + + Itutang + + + + + Itawit + + + + + Ito + + + + + Itik + + + + + Moyadan Itneg + + + + + Itza + + + + + Iu Mien + + + + + Ibatan + + + + + Ivatan + + + + + I-Wak + + + + + Iwam + + + + + Iwur + + + + + Sepik Iwam + + + + + Ixcatec + + + + + Nebaj Ixil + + + + + Chajul Ixil + + + + + San Juan Cotzal Ixil + + + + + Iyayu + + + + + Mesaka + + + + + Yaka (Congo) + + + + + Ingrian + + + + + Izi-Ezaa-Ikwo-Mgbo + + + + + Jamamadi + + + + + Hyam + + + + + Eastern Jacalteco + + + + + Jahanka + + + + + Yabem + + + + + Jara + + + + + Jah Hut + + + + + Western Jacalteco + + + + + Zazao + + + + + Jakun + + + + + Yalahatan + + + + + Jamaican Creole English + + + + + Yanyuwa + + + + + Jaruara + + + + + Yaqay + + + + + Jarawa (Nigeria) + + + + + New Caledonian Javanese + + + + + Jakati + + + + + Yaur + + + + + Javanese + + + + + Jambi Malay + + + + + Jarnango + + + + + Jawe + + + + + Judeo-Berber + + + + + Arandai + + + + + Nafusi + + + + + Lojban + + + + + Jabuti + + + + + Jukun Takum + + + + + Jamaican Country Sign Language + + + + + Judeo-Crimean Tatar + + + + + Jad + + + + + Jadgali + + + + + Judeo-Tat + + + + + Jebero + + + + + Jerung + + + + + Jeng + + + + + Jeh + + + + + Yei + + + + + Jeri Kuo + + + + + Yelmek + + + + + Dza + + + + + Jere + + + + + Manem + + + + + Jonkor Bourmataguil + + + + + Ngbee + + + + + Judeo-Georgian + + + + + Ngomba + + + + + Jehai + + + + + Jina + + + + + Jibu + + + + + Tol + + + + + Bu + + + + + Jilbe + + + + + Djingili + + + + + Shangzhai + + + + + Jiiddu + + + + + Jilim + + + + + Jimi (Cameroon) + + + + + Jiamao + + + + + Guanyinqiao + + + + + Jita + + + + + Youle Jinuo + + + + + Shuar + + + + + Buyuan Jinuo + + + + + Kubo + + + + + Labir + + + + + Ngile + + + + + Dima + + + + + Zumbun + + + + + Machame + + + + + Yamdena + + + + + Jimi (Nigeria) + + + + + Jumli + + + + + Kamara + + + + + Mashi (Nigeria) + + + + + Western Juxtlahuaca Mixtec + + + + + Jangshung + + + + + Jandavra + + + + + Yangman + + + + + Janji + + + + + Yemsa + + + + + Rawat + + + + + Jaunsari + + + + + Joba + + + + + Wojenaka + + + + + Jora + + + + + Jordanian Sign Language + + + + + Jowulu + + + + + Japanese + + + + + Judeo-Persian + + + + + Jaqaru + + + + + Jarai + + + + + Judeo-Arabic + + + + + Jiru + + + + + Jorto + + + + + Japreria + + + + + Japanese Sign Language + + + + + Juma + + + + + Wannu + + + + + Jurchen + + + + + Worodougou + + + + + Hone + + + + + Wapan + + + + + Jirel + + + + + Jumjum + + + + + Juang + + + + + Jiba + + + + + Hupde + + + + + Juruna + + + + + Jutish + + + + + Ju + + + + + Wapha + + + + + Juray + + + + + Caribbean Javanese + + + + + Jwira-Pepesa + + + + + Jiarong + + + + + Judeo-Yemeni Arabic + + + + + Jaya + + + + + Kara-Kalpak + + + + + Kabyle + + + + + Kachin + + + + + Kadara + + + + + Ketangalan + + + + + Kajaman + + + + + Kara (Central African Republic) + + + + + Karekare + + + + + Jju + + + + + Kayapa Kallahan + + + + + Kalaallisut + + + + + Kamba (Kenya) + + + + + Kannada + + + + + Xaasongaxango + + + + + Bezhta + + + + + Capanahua + + + + + Kashmiri + + + + + Georgian + + + + + Kanuri + + + + + Katukina + + + + + Kawi + + + + + Kao + + + + + Kamayura + + + + + Kazakh + + + + + Kalarko + + + + + Kaxuiana + + + + + Kadiweu + + + + + Kabardian + + + + + Kanju + + + + + Kakauhua + + + + + Khamba + + + + + Camsa + + + + + Kari + + + + + Grass Koiari + + + + + Kanembu + + + + + Iwal + + + + + Kare (Central African Republic) + + + + + Keliko + + + + + Kabiye + + + + + Kamano + + + + + Kafa + + + + + Kande + + + + + Abadi + + + + + Kabutra + + + + + Dera (Indonesia) + + + + + Kaiep + + + + + Ap Ma + + + + + Manga Kanuri + + + + + Duhwa + + + + + Khanty + + + + + Kawacha + + + + + Lubila + + + + + Ngkalmpw Kanum + + + + + Kaivi + + + + + Ukaan + + + + + Tyap + + + + + Vono + + + + + Kamantan + + + + + Kobiana + + + + + Kalanga + + + + + Kela (Papua New Guinea) + + + + + Gula (Central African Republic) + + + + + Nubi + + + + + Kinalakna + + + + + Kanga + + + + + Kamo + + + + + Katla + + + + + Koenoem + + + + + Kaian + + + + + Kami (Tanzania) + + + + + Kete + + + + + Kabwari + + + + + Kachama-Ganjule + + + + + Korandje + + + + + Konongo + + + + + Worimi + + + + + Kutu + + + + + Yankunytjatjara + + + + + Makonde + + + + + Mamusi + + + + + Seba + + + + + Tem + + + + + Kumam + + + + + Karamojong + + + + + Numee + + + + + Tsikimba + + + + + Kagoma + + + + + Kunda + + + + + Kaningdon-Nindem + + + + + Koch + + + + + Karaim + + + + + Lahu Shi + + + + + Kuy + + + + + Kadaru + + + + + Kado + + + + + Koneraw + + + + + Kam + + + + + Keder + + + + + Kwaja + + + + + Kabuverdianu + + + + + Kele + + + + + Keiga + + + + + Kerewe + + + + + Eastern Keres + + + + + Kpessi + + + + + Tese + + + + + Kei + + + + + Kadar + + + + + Kekchi + + + + + Kela (Democratic Republic of Congo) + + + + + Kemak + + + + + Kenyang + + + + + Kakwa + + + + + Kaikadi + + + + + Kamar + + + + + Kera + + + + + Kugbo + + + + + Ket + + + + + Akebu + + + + + Kanikkaran + + + + + West Kewa + + + + + Kukna + + + + + Kupia + + + + + Kukele + + + + + Kodagu + + + + + Northwestern Kolami + + + + + Konda-Dora + + + + + Korra Koraga + + + + + Kota (India) + + + + + Koya + + + + + Kudiya + + + + + Kurichiya + + + + + Kurumba + + + + + Kemiehua + + + + + Kinnauri + + + + + Kung + + + + + Khunsari + + + + + Kuk + + + + + Koro (Cote d'Ivoire) + + + + + Korwa + + + + + Korku + + + + + Kachchi + + + + + Bilaspuri + + + + + Kanjari + + + + + Katkari + + + + + Kurmukar + + + + + Kharam Naga + + + + + Kullu Pahari + + + + + Kumauni + + + + + Koromfe + + + + + Koyaga + + + + + Kawe + + + + + Kasseng + + + + + Kataang + + + + + Komering + + + + + Kube + + + + + Kusunda + + + + + Upper Tanudan Kalinga + + + + + Selangor Sign Language + + + + + Gamale Kham + + + + + Kaiwa + + + + + Kunggari + + + + + Karipuna + + + + + Karingani + + + + + Krongo + + + + + Kaingang + + + + + Kamoro + + + + + Abun + + + + + Kumbainggar + + + + + Somyev + + + + + Kobol + + + + + Karas + + + + + Karon Dori + + + + + Kamaru + + + + + Kyerung + + + + + Khasi + + + + + Lu + + + + + Tukang Besi North + + + + + Badi Kanum + + + + + Korowai + + + + + Khuen + + + + + Khams Tibetan + + + + + Kehu + + + + + Kuturmi + + + + + Halh Mongolian + + + + + Lusi + + + + + Central Khmer + + + + + Khandesi + + + + + Khotanese + + + + + Kapori + + + + + Koyra Chiini Songhay + + + + + Kharia + + + + + Kasua + + + + + Khamti + + + + + Nkhumbi + + + + + Khvarshi + + + + + Khowar + + + + + Kanu + + + + + Kele (Democratic Republic of Congo) + + + + + Keapara + + + + + Kim + + + + + Koalib + + + + + Kickapoo + + + + + Koshin + + + + + Kibet + + + + + Eastern Parbate + + + + + Kimaama + + + + + Kilmeri + + + + + Kitsai + + + + + Kilivila + + + + + Kikuyu + + + + + Kariya + + + + + Karagas + + + + + Kinyarwanda + + + + + Kiowa + + + + + Sheshi Kham + + + + + Kosadle + + + + + Kirghiz + + + + + Kis + + + + + Agob + + + + + Kirmanjki + + + + + Kimbu + + + + + Northeast Kiwai + + + + + Kirikiri + + + + + Kisi + + + + + Mlap + + + + + Eastern Kanjobal + + + + + Coastal Konjo + + + + + Southern Kiwai + + + + + Kisar + + + + + Khalaj + + + + + Khmu + + + + + Khakas + + + + + Zabana + + + + + Khinalugh + + + + + Highland Konjo + + + + + Western Parbate + + + + + Khang + + + + + Kunjen + + + + + Harijan Kinnauri + + + + + Pwo Eastern Karen + + + + + Western Keres + + + + + Kurudu + + + + + East Kewa + + + + + Phrae Pwo Karen + + + + + Kashaya + + + + + Ramopa + + + + + Erave + + + + + Bumthangkha + + + + + Kakanda + + + + + Kwerisa + + + + + Odoodee + + + + + Kinuku + + + + + Kakabe + + + + + Mabaka Valley Kalinga + + + + + Khun + + + + + Kagulu + + + + + Kako + + + + + Kokota + + + + + Kosarek Yale + + + + + Kiong + + + + + Kon Keu + + + + + Karko + + + + + Gugubera + + + + + Kaiku + + + + + Kir-Balar + + + + + Giiwo + + + + + Koi + + + + + Tumi + + + + + Kangean + + + + + Teke-Kukuya + + + + + Kohin + + + + + Guguyimidjir + + + + + Kaska + + + + + Klamath-Modoc + + + + + Kiliwa + + + + + Kolbila + + + + + Gamilaraay + + + + + Kulung (Nepal) + + + + + Kendeje + + + + + Tagakaulu Kalagan + + + + + Weliki + + + + + Kalumpang + + + + + Turkic Khalaj + + + + + Kono (Nigeria) + + + + + Kagan Kalagan + + + + + Kolom + + + + + Kalenjin + + + + + Kapya + + + + + Kamasa + + + + + Rumu + + + + + Khaling + + + + + Kalasha + + + + + Nukna + + + + + Klao + + + + + Maskelynes + + + + + Lindu + + + + + Koluwawa + + + + + Kalao + + + + + Kabola + + + + + Konni + + + + + Kimbundu + + + + + Southern Dong + + + + + Madukayang Kalinga + + + + + Bakole + + + + + Kare (Papua New Guinea) + + + + + Kate + + + + + Kalam + + + + + Kami (Nigeria) + + + + + Kumarbhag Paharia + + + + + Limos Kalinga + + + + + Lower Tanudan Kalinga + + + + + Kom (India) + + + + + Awtuw + + + + + Kwoma + + + + + Gimme + + + + + Kwama + + + + + Northern Kurdish + + + + + Kamasau + + + + + Kemtuik + + + + + Kanite + + + + + Karipuna Creole French + + + + + Komo (Democratic Republic of Congo) + + + + + Waboda + + + + + Koma + + + + + Khorasani Turkish + + + + + Dera (Nigeria) + + + + + Lubuagan Kalinga + + + + + Central Kanuri + + + + + Konda + + + + + Kankanaey + + + + + Mankanya + + + + + Koongo + + + + + Kayan River Kenyah + + + + + Kanufi + + + + + Western Kanjobal + + + + + Kuranko + + + + + Keninjal + + + + + Kanamari + + + + + Konkani (individual language) + + + + + Kono (Sierra Leone) + + + + + Kwanja + + + + + Kintaq + + + + + Kaningra + + + + + Kensiu + + + + + Panoan Katukina + + + + + Kono (Guinea) + + + + + Tabo + + + + + Kung-Ekoka + + + + + Kendayan + + + + + Kanyok + + + + + Kalamse + + + + + Konomala + + + + + Kohoroxitari + + + + + Kpati + + + + + Kodi + + + + + Kacipo-Balesi + + + + + Kubi + + + + + Cogui + + + + + Koyo + + + + + Komi-Permyak + + + + + Sara Dunjo + + + + + Konkani (macrolanguage) + + + + + Kol (Papua New Guinea) + + + + + Komi + + + + + Kongo + + + + + Konjo + + + + + Kwato + + + + + Kota (Gabon) + + + + + Korean + + + + + Kosraean + + + + + Lagwan + + + + + Koke + + + + + Kudu-Camo + + + + + Kugama + + + + + Coxima + + + + + Koyukon + + + + + Korak + + + + + Kutto + + + + + Mullu Kurumba + + + + + Curripaco + + + + + Koba + + + + + Kpelle + + + + + Komba + + + + + Kapingamarangi + + + + + Kplang + + + + + Kofei + + + + + Karaja + + + + + Kpan + + + + + Kpala + + + + + Koho + + + + + Kepkiriwat + + + + + Ikposo + + + + + Paku Karen + + + + + Korupun-Sela + + + + + Korafe + + + + + Tehit + + + + + Karata + + + + + Kafoa + + + + + Komi-Zyrian + + + + + Kobon + + + + + Mountain Koiali + + + + + Koryak + + + + + Kupsabiny + + + + + Mum + + + + + Kovai + + + + + Doromu + + + + + Koy Sanjaq Surat + + + + + Kalagan + + + + + Kakabai + + + + + Khe + + + + + Kisankasa + + + + + Koitabu + + + + + Koromira + + + + + Kotafon Gbe + + + + + Kyenele + + + + + Khisa + + + + + Kaonde + + + + + Eastern Krahn + + + + + Kimre + + + + + Krenak + + + + + Kimaragang + + + + + Northern Kissi + + + + + Klias River Kadazan + + + + + Seroa + + + + + Okolod + + + + + Kandas + + + + + Mser + + + + + Koorete + + + + + Korana + + + + + Kumhali + + + + + Karkin + + + + + Karachay-Balkar + + + + + Kairui-Midiki + + + + + Kreen-Akarore + + + + + Koro (Vanuatu) + + + + + North Korowai + + + + + Kurama + + + + + Krio + + + + + Kinaray-A + + + + + Kerek + + + + + Karelian + + + + + Krim + + + + + Sapo + + + + + Korop + + + + + Krui + + + + + Kru'ng 2 + + + + + Gbaya (Sudan) + + + + + Tumari Kanuri + + + + + Kurukh + + + + + Kravet + + + + + Western Krahn + + + + + Karon + + + + + Kryts + + + + + Sota Kanum + + + + + Shuwa-Zamani + + + + + Shambala + + + + + Southern Kalinga + + + + + Kuanua + + + + + Kuni + + + + + Bafia + + + + + Kusaghe + + + + + Kolsch + + + + + Krisa + + + + + Uare + + + + + Kansa + + + + + Kumalu + + + + + Kumba + + + + + Kasiguranin + + + + + Kofa + + + + + Kaba + + + + + Kwaami + + + + + Borong + + + + + Southern Kisi + + + + + Winye + + + + + Khamyang + + + + + Kusu + + + + + S'gaw Karen + + + + + Kedang + + + + + Kharia Thar + + + + + Koraku + + + + + Katua + + + + + Kambaata + + + + + Kholok + + + + + Kokata + + + + + Nubri + + + + + Kwami + + + + + Kalkutung + + + + + Karanga + + + + + North Muyu + + + + + Plapo Krumen + + + + + Kaniet + + + + + Koroshi + + + + + Kurti + + + + + Karitiana + + + + + Kuot + + + + + Kaduo + + + + + Katabaga + + + + + Kota Marudu Tinagas + + + + + South Muyu + + + + + Ketum + + + + + Kituba (Democratic Republic of Congo) + + + + + Eastern Katu + + + + + Kato + + + + + Kaxarari + + + + + Kango (Bas-Uele District) + + + + + Ju/'hoan + + + + + Kuanyama + + + + + Kutep + + + + + 'Auhelawa + + + + + Kuman + + + + + Western Katu + + + + + Kupa + + + + + Kushi + + + + + Kuikuro-Kalapalo + + + + + Kuria + + + + + Kepo' + + + + + Kulere + + + + + Kumyk + + + + + Kunama + + + + + Kumukio + + + + + Kunimaipa + + + + + Karipuna + + + + + Kurdish + + + + + Kusaal + + + + + Kutenai + + + + + Upper Kuskokwim + + + + + Kur + + + + + Kpagua + + + + + Kukatja + + + + + Kuuku-Ya'u + + + + + Kunza + + + + + Bagvalal + + + + + Kubu + + + + + Kove + + + + + Kui (Indonesia) + + + + + Kalabakan + + + + + Kabalai + + + + + Kuni-Boazi + + + + + Komodo + + + + + Kwang + + + + + Psikye + + + + + Korean Sign Language + + + + + Brek Karen + + + + + Kendem + + + + + Border Kuna + + + + + Dobel + + + + + Kompane + + + + + Geba Karen + + + + + Kerinci + + + + + Kunggara + + + + + Lahta Karen + + + + + Yinbaw Karen + + + + + Kola + + + + + Wersing + + + + + Parkari Koli + + + + + Yintale Karen + + + + + Tsakwambo + + + + + Daw + + + + + Kwa + + + + + Likwala + + + + + Kwaio + + + + + Kwerba + + + + + Kwara'ae + + + + + Kaba Deme + + + + + Kowiai + + + + + Awa-Cuaiquer + + + + + Kwanga + + + + + Kwakiutl + + + + + Kofyar + + + + + Kwambi + + + + + Kwangali + + + + + Kwomtari + + + + + Kodia + + + + + Kwak + + + + + Kwer + + + + + Kwese + + + + + Kwesten + + + + + Kwakum + + + + + Kaba Na + + + + + Kwinti + + + + + Khirwar + + + + + San Salvador Kongo + + + + + Kwadi + + + + + Kairiru + + + + + Krobu + + + + + Komso + + + + + Brunei + + + + + Kakihum + + + + + Manumanaw Karen + + + + + Katingan + + + + + Karo (Ethiopia) + + + + + Keningau Murut + + + + + Kulfa + + + + + Zayein Karen + + + + + Nepali Kurux + + + + + Northern Khmer + + + + + Kanowit + + + + + Kanoe + + + + + Wadiyara Koli + + + + + Smarky Kanum + + + + + Koro (Papua New Guinea) + + + + + Kangjia + + + + + Koiwat + + + + + Kui (India) + + + + + Kuvi + + + + + Konai + + + + + Likuba + + + + + Kayong + + + + + Kerewo + + + + + Kwaya + + + + + Butbut Kalinga + + + + + Kyaka + + + + + Karey + + + + + Krache + + + + + Kouya + + + + + Keyagana + + + + + Karok + + + + + Kiput + + + + + Karao + + + + + Kamayo + + + + + Kalapuya + + + + + Kpatili + + + + + Karolanos + + + + + Kelon + + + + + Kang + + + + + Kenga + + + + + Kuruaya + + + + + Baram Kayan + + + + + Kayagar + + + + + Western Kayah + + + + + Kayort + + + + + Kudmali + + + + + Rapoisi + + + + + Kambaira + + + + + Kayabi + + + + + Western Karaboro + + + + + Kaibobo + + + + + Bondoukou Kulango + + + + + Kadai + + + + + Kosena + + + + + Da'a Kaili + + + + + Kikai + + + + + Kenuzi-Dongola + + + + + Kelabit + + + + + Coastal Kadazan + + + + + Kazukuru + + + + + Kayeli + + + + + Kais + + + + + Kokola + + + + + Kaningi + + + + + Kaidipang + + + + + Kaike + + + + + Karang + + + + + Sugut Dusun + + + + + Tambunan Dusun + + + + + Kayupulau + + + + + Komyandaret + + + + + Kariri-Xoco + + + + + Kamarian + + + + + Kango (Tshopo District) + + + + + Kalabra + + + + + Lapuyan Subanun + + + + + Lacandon + + + + + Ladino + + + + + Pattani + + + + + Lafofa + + + + + Langi + + + + + Lahnda + + + + + Lambya + + + + + Lango (Uganda) + + + + + Laka (Nigeria) + + + + + Lalia + + + + + Lamba + + + + + Laru + + + + + Lao + + + + + Laka (Chad) + + + + + Qabiao + + + + + Larteh + + + + + Lama (Togo) + + + + + Latin + + + + + Laba + + + + + Latvian + + + + + Lauje + + + + + Tiwa + + + + + Lama (Myanmar) + + + + + Aribwatsa + + + + + Lui + + + + + Label + + + + + Lakkia + + + + + Lak + + + + + Tinani + + + + + Laopang + + + + + La'bi + + + + + Ladakhi + + + + + Lodhi + + + + + Lamet + + + + + Laven + + + + + Wampar + + + + + Northern Lorung + + + + + Libyan Sign Language + + + + + Lachi + + + + + Labu + + + + + Lavatbura-Lamusong + + + + + Tolaki + + + + + Lawangan + + + + + Lamu-Lamu + + + + + Lardil + + + + + Legenyem + + + + + Lola + + + + + Loncong + + + + + Lubu + + + + + Luchazi + + + + + Lisela + + + + + Tungag + + + + + Western Lawa + + + + + Luhu + + + + + Lisabata-Nuniali + + + + + Idun + + + + + Luri + + + + + Lenyima + + + + + Lamja-Dengsa-Tola + + + + + Laari + + + + + Lemoro + + + + + Leelau + + + + + Kaan + + + + + Landoma + + + + + Laadan + + + + + Loo + + + + + Tso + + + + + Lufu + + + + + Lega-Shabunda + + + + + Lala-Bisa + + + + + Leco + + + + + Lendu + + + + + Lyele + + + + + Lelemi + + + + + Lengua + + + + + Lenje + + + + + Lemio + + + + + Lengola + + + + + Leipon + + + + + Lele (Democratic Republic of Congo) + + + + + Nomaande + + + + + Lenca + + + + + Leti (Cameroon) + + + + + Lepcha + + + + + Lembena + + + + + Lenkau + + + + + Lese + + + + + Lesing-Gelimi + + + + + Kara (Papua New Guinea) + + + + + Lamma + + + + + Ledo Kaili + + + + + Luang + + + + + Lemolang + + + + + Lezghian + + + + + Lefa + + + + + Lungga + + + + + Laghu + + + + + Lugbara + + + + + Laghuu + + + + + Lengilu + + + + + Lingarak + + + + + Wala + + + + + Lega-Mwenga + + + + + Opuuo + + + + + Logba + + + + + Lengo + + + + + Pahi + + + + + Longgu + + + + + Ligenza + + + + + Laha (Viet Nam) + + + + + Laha (Indonesia) + + + + + Lahul Lohar + + + + + Lhomi + + + + + Lahanan + + + + + Lhokpu + + + + + Mlahso + + + + + Toga + + + + + Lahu + + + + + West-Central Limba + + + + + Likum + + + + + Hlai + + + + + Nyindrou + + + + + Likila + + + + + Limbu + + + + + Ligbi + + + + + Lihir + + + + + Lingkhim + + + + + Ligurian + + + + + Lika + + + + + Lillooet + + + + + Limburgan + + + + + Lingala + + + + + Liki + + + + + Sekpele + + + + + Libido + + + + + Liberian English + + + + + Lisu + + + + + Lithuanian + + + + + Logorik + + + + + Liv + + + + + Lembak + + + + + Liabuku + + + + + Banda-Bambari + + + + + Libinza + + + + + Rampi + + + + + Laiyolo + + + + + Li'o + + + + + Lampung + + + + + Lakalei + + + + + Kenyi + + + + + Lakha + + + + + Laki + + + + + Remun + + + + + Laeko-Libuat + + + + + Lakona + + + + + Pari + + + + + Lakota + + + + + Lokoya + + + + + Lala-Roba + + + + + Lolo + + + + + Lele (Guinea) + + + + + Ladin + + + + + Lele (Papua New Guinea) + + + + + Hermit + + + + + Lole + + + + + Teke-Laali + + + + + Lelak + + + + + Lilau + + + + + Lasalimu + + + + + Lele (Chad) + + + + + Khlor + + + + + North Efate + + + + + Lolak + + + + + Lithuanian Sign Language + + + + + Lau + + + + + Lauan + + + + + East Limba + + + + + Merei + + + + + Limilngan + + + + + Lumun + + + + + Peve + + + + + South Lembata + + + + + Lamogai + + + + + Lambichhong + + + + + Lombi + + + + + West Lembata + + + + + Lamkang + + + + + Hano + + + + + Lamam + + + + + Lambadi + + + + + Lombard + + + + + Limbum + + + + + Lamatuka + + + + + Lamalera + + + + + Lematang + + + + + Lamenu + + + + + Lomaiviti + + + + + Lake Miwok + + + + + Laimbue + + + + + Lamboya + + + + + Lumbee + + + + + Langbashe + + + + + Mbalanhu + + + + + Lundayeh + + + + + Langobardic + + + + + Lanoh + + + + + Lantanai + + + + + Leningitij + + + + + South Central Banda + + + + + Langam + + + + + Lorediakarkar + + + + + Lango (Sudan) + + + + + Lamnso' + + + + + Lintang + + + + + Longuda + + + + + Lonzo + + + + + Loloda + + + + + Lobi + + + + + Inonhan + + + + + Berawan + + + + + Coastal Saluan + + + + + Logol + + + + + Logo + + + + + Narim + + + + + Loma (Cote d'Ivoire) + + + + + Lou + + + + + Loko + + + + + Mongo + + + + + Loma (Liberia) + + + + + Malawi Lomwe + + + + + Lombo + + + + + Lopa + + + + + Lobala + + + + + Teen + + + + + Loniu + + + + + Otuho + + + + + Louisiana Creole French + + + + + Lopi + + + + + Tampias Lobu + + + + + Loun + + + + + Lowa + + + + + Lozi + + + + + Lelepa + + + + + Lepki + + + + + Lipo + + + + + Lopit + + + + + Lara' + + + + + Northern Luri + + + + + Laurentian + + + + + Laragia + + + + + Loarki + + + + + Lari + + + + + Lorang + + + + + Laro + + + + + Southern Lorung + + + + + Larevat + + + + + Lasgerdi + + + + + Lishana Deni + + + + + Lusengo + + + + + Lyons Sign Language + + + + + Lashi + + + + + Latvian Sign Language + + + + + Laos Sign Language + + + + + Aruop + + + + + Lasi + + + + + Late Middle Chinese + + + + + Leti (Indonesia) + + + + + Latu + + + + + Luxembourgish + + + + + Luba-Lulua + + + + + Luba-Katanga + + + + + Aringa + + + + + Ludian + + + + + Luvale + + + + + Laua + + + + + Ganda + + + + + Luiseno + + + + + Luna + + + + + Lunanakha + + + + + Olu'bo + + + + + Luimbi + + + + + Lunda + + + + + Luo (Kenya and Tanzania) + + + + + Lumbu + + + + + Lucumi + + + + + Laura + + + + + Lushai + + + + + Lushootseed + + + + + Lumba-Yakkha + + + + + Luwati + + + + + Luo + + + + + Luyia + + + + + Southern Luri + + + + + Maku'a + + + + + Lavukaleve + + + + + Levuka + + + + + Lwalu + + + + + Lewo Eleng + + + + + White Lachi + + + + + Eastern Lawa + + + + + Luwo + + + + + Lewotobi + + + + + Lewo + + + + + Layakha + + + + + Luyana + + + + + Litzlitz + + + + + Laz + + + + + San Jeronimo Tecoatl Mazatec + + + + + Yutanduchi Mixtec + + + + + Madurese + + + + + Bo-Rukul + + + + + Mafa + + + + + Magahi + + + + + Marshallese + + + + + Maithili + + + + + Jalapa De Diaz Mazatec + + + + + Makasar + + + + + Malayalam + + + + + Northern Mam + + + + + Mandingo + + + + + Chiquihuitlan Mazatec + + + + + Marathi + + + + + Masai + + + + + San Francisco Matlatzinca + + + + + Huautla Mazatec + + + + + Satere-Mawe + + + + + Mampruli + + + + + North Moluccan Malay + + + + + Central Mazahua + + + + + Higaonon + + + + + Western Bukidnon Manobo + + + + + Macushi + + + + + Dibabawon Manobo + + + + + Molale + + + + + Baba Malay + + + + + Northern Nambikuara + + + + + Mangseng + + + + + Ilianen Manobo + + + + + Nadeb + + + + + Malol + + + + + Maxakali + + + + + Ombamba + + + + + Macaguan + + + + + Mbo (Cameroon) + + + + + Malayo + + + + + Maisin + + + + + Nukak Maku + + + + + Sarangani Manobo + + + + + Matigsalug Manobo + + + + + Mbula-Bwazza + + + + + Mbulungish + + + + + Maring + + + + + Mari (East Sepik Province) + + + + + Memoni + + + + + Amoltepec Mixtec + + + + + Maca + + + + + Machiguenga + + + + + Bitur + + + + + Sharanahua + + + + + Itundujia Mixtec + + + + + Matses + + + + + Mapoyo + + + + + Maquiritari + + + + + Mese + + + + + Mvanip + + + + + Mbunda + + + + + Macaguaje + + + + + Malaccan Creole Portuguese + + + + + Masana + + + + + Coatlan Mixe + + + + + Makaa + + + + + Ese + + + + + Menya + + + + + Mambai + + + + + Mengisa + + + + + Cameroon Mambila + + + + + Minanibai + + + + + Mawa (Chad) + + + + + Mpiemo + + + + + South Watut + + + + + Mawan + + + + + Mada (Nigeria) + + + + + Morigi + + + + + Male (Papua New Guinea) + + + + + Mbum + + + + + Maba (Chad) + + + + + Moksha + + + + + Massalat + + + + + Maguindanao + + + + + Mamvu + + + + + Mangbetu + + + + + Mangbutu + + + + + Maltese Sign Language + + + + + Mayogo + + + + + Mbati + + + + + Southwest Gbaya + + + + + Mbala + + + + + Mbole + + + + + Mandar + + + + + Maria (Papua New Guinea) + + + + + Mbere + + + + + Mboko + + + + + Santa Lucia Monteverde Mixtec + + + + + Mbosi + + + + + Dizi + + + + + Male (Ethiopia) + + + + + Surui Do Para + + + + + Menka + + + + + Ikobi-Mena + + + + + Mara + + + + + Melpa + + + + + Mengen + + + + + Megam + + + + + Mea + + + + + Southwestern Tlaxiaco Mixtec + + + + + Midob + + + + + Meyah + + + + + Mekeo + + + + + Melanau + + + + + Mangala + + + + + Mende (Sierra Leone) + + + + + Kedah Malay + + + + + Miriwung + + + + + Merey + + + + + Meru + + + + + Masmaje + + + + + Mato + + + + + Motu + + + + + Mann + + + + + Maaka + + + + + Hassaniyya + + + + + Menominee + + + + + Pattani Malay + + + + + Lom + + + + + Mba + + + + + Mendankwe-Nkwen + + + + + Morisyen + + + + + Naki + + + + + Mixifore + + + + + Matal + + + + + Wandala + + + + + Mefele + + + + + North Mofu + + + + + Putai + + + + + Marghi South + + + + + Cross River Mbembe + + + + + Mbe + + + + + Makassar Malay + + + + + Moba + + + + + Marithiel + + + + + Mexican Sign Language + + + + + Mokerang + + + + + Mbwela + + + + + Mandjak + + + + + Mulaha + + + + + Melo + + + + + Mayo + + + + + Mabaan + + + + + Middle Irish (900-1200) + + + + + Mararit + + + + + Morokodo + + + + + Moru + + + + + Mango + + + + + Maklew + + + + + Mpongmpong + + + + + Makhuwa-Meetto + + + + + Lijili + + + + + Abureni + + + + + Mawes + + + + + Maleu-Kilenge + + + + + Mambae + + + + + Mbangi + + + + + Meta' + + + + + Eastern Magar + + + + + Malila + + + + + Mambwe-Lungu + + + + + Manda (Tanzania) + + + + + Mongol + + + + + Mailu + + + + + Matengo + + + + + Matumbi + + + + + Omati + + + + + Mbunga + + + + + Mbugwe + + + + + Manda (India) + + + + + Mahongwe + + + + + Mocho + + + + + Mbugu + + + + + Besisi + + + + + Mamaa + + + + + Margu + + + + + Maskoy Pidgin + + + + + Ma'di + + + + + Mogholi + + + + + Mungaka + + + + + Mauwake + + + + + Makhuwa-Moniga + + + + + Mocheno + + + + + Mashi (Zambia) + + + + + Balinese Malay + + + + + Mandan + + + + + Eastern Mari + + + + + Buru (Indonesia) + + + + + Mandahuaca + + + + + Digaro-Mishmi + + + + + Arakanese + + + + + Mbukushu + + + + + Maru + + + + + Ma'anyan + + + + + Mor (Mor Islands) + + + + + Miami + + + + + Atatlahuca Mixtec + + + + + Mi'kmaq + + + + + Mandaic + + + + + Ocotepec Mixtec + + + + + Mofu-Gudur + + + + + San Miguel El Grande Mixtec + + + + + Chayuco Mixtec + + + + + Chigmecatitlan Mixtec + + + + + Abar + + + + + Mikasuki + + + + + Penoles Mixtec + + + + + Alacatlatzala Mixtec + + + + + Minangkabau + + + + + Pinotepa Nacional Mixtec + + + + + Apasco-Apoala Mixtec + + + + + Miskito + + + + + Isthmus Mixe + + + + + Southern Puebla Mixtec + + + + + Cacaloxtepec Mixtec + + + + + Mimi + + + + + Akoye + + + + + Mixtepec Mixtec + + + + + Ayutla Mixtec + + + + + Coatzospan Mixtec + + + + + Mahei + + + + + San Juan Colorado Mixtec + + + + + Northwest Maidu + + + + + Muskum + + + + + Tu + + + + + Mwera (Nyasa) + + + + + Kim Mun + + + + + Mawak + + + + + Matukar + + + + + Mandeali + + + + + Medebur + + + + + Ma (Papua New Guinea) + + + + + Malankuravan + + + + + Malapandaram + + + + + Malaryan + + + + + Malavedan + + + + + Miship + + + + + Sauria Paharia + + + + + Manna-Dora + + + + + Mannan + + + + + Karbi + + + + + Mahali + + + + + Mahican + + + + + Majhi + + + + + Mbre + + + + + Mal Paharia + + + + + Siliput + + + + + Macedonian + + + + + Mawchi + + + + + Miya + + + + + Mak (China) + + + + + Dhatki + + + + + Mokilese + + + + + Byep + + + + + Mokole + + + + + Moklen + + + + + Kupang Malay + + + + + Mingang Doso + + + + + Moikodi + + + + + Bay Miwok + + + + + Malas + + + + + Silacayoapan Mixtec + + + + + Vamale + + + + + Konyanka Maninka + + + + + Mafea + + + + + Kituba (Congo) + + + + + Cinamiguin Manobo + + + + + East Makian + + + + + Makasae + + + + + Malo + + + + + Mbule + + + + + Cao Lan + + + + + Malakhel + + + + + Manambu + + + + + Mal + + + + + Malagasy + + + + + Mape + + + + + Malimpung + + + + + Miltu + + + + + Malakote + + + + + Malua Bay + + + + + Mulam + + + + + Malango + + + + + Mlomp + + + + + Bargam + + + + + Western Maninkakan + + + + + Vame + + + + + Masalit + + + + + Maltese + + + + + To'abaita + + + + + Motlav + + + + + Moloko + + + + + Malfaxal + + + + + Malay (individual language) + + + + + Malaynon + + + + + Mama + + + + + Momina + + + + + Michoacan Mazahua + + + + + Maonan + + + + + Mae + + + + + Mundat + + + + + North Ambrym + + + + + Mehinaku + + + + + Musar + + + + + Majhwar + + + + + Mukha-Dora + + + + + Man Met + + + + + Maii + + + + + Mamanwa + + + + + Mangga Buang + + + + + Musan + + + + + Musak + + + + + Western Xiangxi Hmong + + + + + Southern Mam + + + + + Malalamai + + + + + Mmaala + + + + + Miriti + + + + + Emae + + + + + Madak + + + + + Migaama + + + + + Mabaale + + + + + Mbula + + + + + Muna + + + + + Manchu + + + + + Monde + + + + + Naba + + + + + Mundani + + + + + Eastern Mnong + + + + + Mono (Democratic Republic of Congo) + + + + + Manipuri + + + + + Munji + + + + + Mandinka + + + + + Tiale + + + + + Mapena + + + + + Southern Mnong + + + + + Min Bei Chinese + + + + + Minriq + + + + + Mono (USA) + + + + + Mansi + + + + + Maykulan + + + + + Mer + + + + + Rennell-Belona + + + + + Mon + + + + + Manikion + + + + + Manyawa + + + + + Moni + + + + + Mwan + + + + + Moinba + + + + + Mocovi + + + + + Mobilian + + + + + Montagnais + + + + + Mohegan-Montauk-Narragansett + + + + + Mongondow + + + + + Mohawk + + + + + Mboi + + + + + Monzombo + + + + + Morori + + + + + Moldavian + + + + + Monimbo + + + + + Mongolian + + + + + Monom + + + + + Mopan Maya + + + + + Mor (Bomberai Peninsula) + + + + + Moro + + + + + Mossi + + + + + Bari + + + + + Mogum + + + + + Mohave + + + + + Moi (Congo) + + + + + Molima + + + + + Shekkacho + + + + + Mukulu + + + + + Mpoto + + + + + Mullukmulluk + + + + + Mangarayi + + + + + Machinere + + + + + Majang + + + + + Tajumulco Mam + + + + + Marba + + + + + Maung + + + + + Mpade + + + + + Martu Wangka + + + + + Mbara (Chad) + + + + + Middle Watut + + + + + Yosondua Mixtec + + + + + Mindiri + + + + + Miu + + + + + Migabac + + + + + Matis + + + + + Vangunu + + + + + Dadibi + + + + + Mian + + + + + Makurap + + + + + Munkip + + + + + Mapidian + + + + + Misima-Paneati + + + + + Mapia + + + + + Mpi + + + + + Maba (Indonesia) + + + + + Mbuko + + + + + Mangole + + + + + Madang + + + + + Matepi + + + + + Momuna + + + + + Kota Bangun Kutai Malay + + + + + Tlazoyaltepec Mixtec + + + + + Mariri + + + + + Mamasa + + + + + Rajah Kabunsuwan Manobo + + + + + Mbelime + + + + + South Marquesan + + + + + Moronene + + + + + Modole + + + + + Manipa + + + + + Minokok + + + + + Mander + + + + + West Makian + + + + + Mok + + + + + Mandari + + + + + Mosimo + + + + + Murupi + + + + + Mamuju + + + + + Manggarai + + + + + Malasanga + + + + + Mlabri + + + + + Marino + + + + + Maricopa + + + + + Western Magar + + + + + Martha's Vineyard Sign Language + + + + + Elseng + + + + + Miri + + + + + Mara Chin + + + + + Maori + + + + + Western Mari + + + + + Hmwaveke + + + + + Mortlockese + + + + + Merlav + + + + + Cheke Holo + + + + + Mru + + + + + Morouas + + + + + North Marquesan + + + + + Maria (India) + + + + + Maragus + + + + + Marghi Central + + + + + Mono (Cameroon) + + + + + Mangareva + + + + + Maranao + + + + + Maremgi + + + + + Karaga Mandaya + + + + + Marind + + + + + Malay (macrolanguage) + + + + + Masbatenyo + + + + + Sankaran Maninka + + + + + Yucatec Maya Sign Language + + + + + Musey + + + + + Mekwei + + + + + Moraid + + + + + Masikoro Malagasy + + + + + Sabah Malay + + + + + Ma (Democratic Republic of Congo) + + + + + Mansaka + + + + + Molof + + + + + Agusan Manobo + + + + + Mosina + + + + + Mombum + + + + + Maritsaua + + + + + Caac + + + + + Mongolian Sign Language + + + + + West Masela + + + + + Cataelano Mandaya + + + + + Musom + + + + + Maslam + + + + + Mansoanka + + + + + Moresada + + + + + Aruamu + + + + + Momare + + + + + Cotabato Manobo + + + + + Anyin Morofo + + + + + Munit + + + + + Mualang + + + + + Mono (Solomon Islands) + + + + + Murik + + + + + Una + + + + + Munggui + + + + + Maiwa (Papua New Guinea) + + + + + Moskona + + + + + Mbe' + + + + + Montol + + + + + Mator + + + + + Matagalpa + + + + + Totontepec Mixe + + + + + Wichi Lhamtes Nocten + + + + + Muong + + + + + Mewari + + + + + Yora + + + + + Mota + + + + + Tututepec Mixtec + + + + + Asaro'o + + + + + Magahat + + + + + Tidaa Mixtec + + + + + Nabi + + + + + Tacanec + + + + + Mundang + + + + + Mubi + + + + + Mbu' + + + + + Mednyj Aleut + + + + + Media Lengua + + + + + Musgu + + + + + Mundu + + + + + Musi + + + + + Mabire + + + + + Mugom + + + + + Multiple languages + + + + + Maiwala + + + + + Nyong + + + + + Malvi + + + + + Eastern Xiangxi Hmong + + + + + Murle + + + + + Creek + + + + + Western Muria + + + + + Yaaku + + + + + Muthuvan + + + + + Mundari + + + + + Mbo-Ung + + + + + Muyang + + + + + Mursi + + + + + Manam + + + + + Mattole + + + + + Central Mam + + + + + Mamboru + + + + + Marwari (Pakistan) + + + + + Peripheral Mongolian + + + + + Yucuane Mixtec + + + + + Mire + + + + + Miyako + + + + + Todos Santos Cuchumatan Mam + + + + + Mekmek + + + + + Mbara (Australia) + + + + + Muya + + + + + Minaveha + + + + + Marovo + + + + + Duri + + + + + Moere + + + + + Marau + + + + + Massep + + + + + Mpotovoro + + + + + Marfa + + + + + Tagal Murut + + + + + Machinga + + + + + Meoswar + + + + + Indus Kohistani + + + + + Mesqan + + + + + Mwatebu + + + + + Juwal + + + + + Are + + + + + Mudbura + + + + + Mwera (Chimwera) + + + + + Murrinh-Patha + + + + + Aiklep + + + + + Mouk-Aria + + + + + Labo + + + + + Maligo + + + + + Kita Maninkakan + + + + + Mirandese + + + + + Sar + + + + + Nyamwanga + + + + + Central Maewo + + + + + Kala Lagaw Ya + + + + + Mun Chin + + + + + Marwari + + + + + Mwimbi-Muthambi + + + + + Moken + + + + + Mittu + + + + + Mentawai + + + + + Hmong Daw + + + + + Mediak + + + + + Mosiro + + + + + Moingi + + + + + Northwest Oaxaca Mixtec + + + + + Tezoatlan Mixtec + + + + + Manyika + + + + + Modang + + + + + Mele-Fila + + + + + Malgbe + + + + + Mbangala + + + + + Mvuba + + + + + Mozarabic + + + + + Miju-Mishmi + + + + + Monumbo + + + + + Maxi Gbe + + + + + Meramera + + + + + Moi (Indonesia) + + + + + Mbowe + + + + + Tlahuitoltepec Mixe + + + + + Juquila Mixe + + + + + Murik Kayan + + + + + Huitepec Mixtec + + + + + Jamiltepec Mixtec + + + + + Mada (Cameroon) + + + + + Metlatonoc Mixtec + + + + + Namo + + + + + Mahou + + + + + Southeastern Nochixtlan Mixtec + + + + + Central Masela + + + + + Burmese + + + + + Mbay + + + + + Mayeka + + + + + Maramba + + + + + Myene + + + + + Bambassi + + + + + Manta + + + + + Makah + + + + + Mina (India) + + + + + Mangayat + + + + + Mamara Senoufo + + + + + Moma + + + + + Me'en + + + + + Anfillo + + + + + Piraha + + + + + Forest Maninka + + + + + Muniche + + + + + Mesmes + + + + + Sangab Mandaya + + + + + Munduruku + + + + + Erzya + + + + + Muyuw + + + + + Masaba + + + + + Macuna + + + + + Classical Mandaic + + + + + Santa Maria Zacatepec Mixtec + + + + + Tumzabt + + + + + Madagascar Sign Language + + + + + Malimba + + + + + Morawa + + + + + Aiku + + + + + Monastic Sign Language + + + + + Wichi Lhamtes Guisnay + + + + + Ixcatlan Mazatec + + + + + Manya + + + + + Nigeria Mambila + + + + + Mazatlan Mixe + + + + + Mumuye + + + + + Mazanderani + + + + + Matipuhy + + + + + Movima + + + + + Mori Atas + + + + + Marubo + + + + + Macanese + + + + + Mintil + + + + + Inapang + + + + + Manza + + + + + Deg + + + + + Mawayana + + + + + Mozambican Sign Language + + + + + Maiadomu + + + + + Southern Nambikuara + + + + + Narak + + + + + Nijadali + + + + + Naka'ela + + + + + Nabak + + + + + Naga Pidgin + + + + + Nalu + + + + + Nakanai + + + + + Nalik + + + + + Nangikurrunggurr + + + + + Min Nan Chinese + + + + + Naaba + + + + + Neapolitan + + + + + Nama (Namibia) + + + + + Iguta + + + + + Naasioi + + + + + Hungworo + + + + + Nauru + + + + + Navajo + + + + + Nawuri + + + + + Nakwi + + + + + Narrinyeri + + + + + Coatepec Nahuatl + + + + + Nyemba + + + + + Ndoe + + + + + Chang Naga + + + + + Ngbinda + + + + + Konyak Naga + + + + + Naxi + + + + + Nagarchal + + + + + Ngamo + + + + + Mao Naga + + + + + Ngarinman + + + + + Nake + + + + + South Ndebele + + + + + Ngbaka Ma'bo + + + + + Kuri + + + + + Nkukoli + + + + + Nnam + + + + + Nggem + + + + + Numana-Nunku-Gbantu-Numbu + + + + + Namibian Sign Language + + + + + Na + + + + + Rongmei Naga + + + + + Ngamambo + + + + + Southern Ngbandi + + + + + Ngura + + + + + Ningera + + + + + Iyo + + + + + Central Nicobarese + + + + + Ponam + + + + + Nachering + + + + + Yale + + + + + Notsi + + + + + Nisga'a + + + + + Central Huasteca Nahuatl + + + + + Classical Nahuatl + + + + + Northern Puebla Nahuatl + + + + + Nakara + + + + + Michoacan Nahuatl + + + + + Nambo + + + + + Nauna + + + + + Sibe + + + + + Ndaktup + + + + + Ncane + + + + + Nicaraguan Sign Language + + + + + Chothe Naga + + + + + Chumburung + + + + + Central Puebla Nahuatl + + + + + Natchez + + + + + Ndasa + + + + + Kenswei Nsei + + + + + Ndau + + + + + Nde-Nsele-Nta + + + + + North Ndebele + + + + + Nadruvian + + + + + Ndengereko + + + + + Ndali + + + + + Samba Leko + + + + + Ndamba + + + + + Ndaka + + + + + Ndolo + + + + + Ndam + + + + + Ngundi + + + + + Ndonga + + + + + Ndo + + + + + Ndombe + + + + + Ndoola + + + + + Low German + + + + + Ndunga + + + + + Dugun + + + + + Ndut + + + + + Ndobo + + + + + Nduga + + + + + Lutos + + + + + Ndogo + + + + + Eastern Ngad'a + + + + + Toura (Cote d'Ivoire) + + + + + Nedebang + + + + + Nde-Gbite + + + + + Kumak + + + + + Nefamese + + + + + Negidal + + + + + Nyenkha + + + + + Neo-Hittite + + + + + Neko + + + + + Neku + + + + + Nemi + + + + + Nengone + + + + + Na-Meo + + + + + Nepali + + + + + North Central Mixe + + + + + Yahadian + + + + + Bhoti Kinnauri + + + + + Nete + + + + + Nyaheun + + + + + Newari + + + + + Neme + + + + + Neyo + + + + + Nez Perce + + + + + Dhao + + + + + Ndun + + + + + Nyeng + + + + + Shakara + + + + + Ayiwo + + + + + Nafaanra + + + + + Mfumte + + + + + Ngbaka + + + + + Northern Ngbandi + + + + + Ngombe (Democratic Republic of Congo) + + + + + Ngando (Central African Republic) + + + + + Ngemba + + + + + Ngbaka Manza + + + + + N/u + + + + + Ngizim + + + + + Ngie + + + + + Ngalkbun + + + + + Lomwe + + + + + Ngatik Men's Creole + + + + + Ngwo + + + + + Ngoni + + + + + Ngulu + + + + + Ngurimi + + + + + Nanggu + + + + + Gvoko + + + + + Ngeq + + + + + Guerrero Nahuatl + + + + + Nagumi + + + + + Ngwaba + + + + + Nggwahyi + + + + + Tibea + + + + + Ngungwel + + + + + Beng + + + + + Tabasco Nahuatl + + + + + Chiripa + + + + + Eastern Huasteca Nahuatl + + + + + Nhuwala + + + + + Tetelcingo Nahuatl + + + + + Nahari + + + + + Tenango Nahuatl + + + + + Tlalitzlipa Nahuatl + + + + + Isthmus-Cosoleacaque Nahuatl + + + + + Morelos Nahuatl + + + + + Central Nahuatl + + + + + Takuu + + + + + Isthmus-Pajapan Nahuatl + + + + + Huaxcaleca Nahuatl + + + + + Naro + + + + + Southeastern Puebla Nahuatl + + + + + Ometepec Nahuatl + + + + + Noone + + + + + Temascaltepec Nahuatl + + + + + Western Huasteca Nahuatl + + + + + Isthmus-Mecayapan Nahuatl + + + + + Northern Oaxaca Nahuatl + + + + + Santa Maria La Alta Nahuatl + + + + + Nias + + + + + Nakama + + + + + Ngandi + + + + + Niellim + + + + + Nek + + + + + Ngalakan + + + + + Nyiha + + + + + Nii + + + + + Ngaju + + + + + Southern Nicobarese + + + + + Nila + + + + + Nilamba + + + + + Ninzo + + + + + Nganasan + + + + + Nimboran + + + + + Nimi + + + + + Southeastern Kolami + + + + + Niuean + + + + + Gilyak + + + + + Nimo + + + + + Hema + + + + + Ngiti + + + + + Ningil + + + + + Nzanyi + + + + + Nocte Naga + + + + + Ndonde Hamba + + + + + Lotha Naga + + + + + Gudanji + + + + + Njen + + + + + Njalgulgule + + + + + Angami Naga + + + + + Liangmai Naga + + + + + Ao Naga + + + + + Njerep + + + + + Nisa + + + + + Ndyuka-Trio Pidgin + + + + + Ngadjunmaya + + + + + Kunyi + + + + + Njyem + + + + + Nkoya + + + + + Khoibu Naga + + + + + Nkongho + + + + + Koireng + + + + + Duke + + + + + Inpui Naga + + + + + Nekgini + + + + + Khezha Naga + + + + + Thangal Naga + + + + + Nakai + + + + + Nokuku + + + + + Namat + + + + + Nkangala + + + + + Nkonya + + + + + Niuatoputapu + + + + + Nukuoro + + + + + North Asmat + + + + + Bouna Kulango + + + + + Nkutu + + + + + Nkoroo + + + + + Khiamniungan Naga + + + + + Nkari + + + + + Ngombale + + + + + Nalca + + + + + Dutch + + + + + East Nyala + + + + + Gela + + + + + Grangali + + + + + Nyali + + + + + Ninia Yali + + + + + Nihali + + + + + Durango Nahuatl + + + + + Ngul + + + + + Ngarla + + + + + Nchumbulu + + + + + Orizaba Nahuatl + + + + + Nahali + + + + + Nyamal + + + + + Maram Naga + + + + + Big Nambas + + + + + Ngam + + + + + Ndumu + + + + + Mzieme Naga + + + + + Tangkhul Naga + + + + + Ngumba + + + + + Monsang Naga + + + + + Nyam + + + + + Ngombe (Central African Republic) + + + + + Namakura + + + + + Ndemli + + + + + Manangba + + + + + !Xoo + + + + + Moyon Naga + + + + + Nimanbur + + + + + Nambya + + + + + Nimbari + + + + + Letemboi + + + + + Namonuito + + + + + Northeast Maidu + + + + + Ngamini + + + + + Nimoa + + + + + Nama (Papua New Guinea) + + + + + Namuyi + + + + + Nawdm + + + + + Nyangumarta + + + + + Nande + + + + + Nancere + + + + + West Ambae + + + + + Ngandyera + + + + + Ngaing + + + + + Maring Naga + + + + + Ngiemboon + + + + + North Nuaulu + + + + + Nyangatom + + + + + Nankina + + + + + Northern Rengma Naga + + + + + Namia + + + + + Ngete + + + + + Norwegian Nynorsk + + + + + Wancho Naga + + + + + Ngindo + + + + + Narungga + + + + + Ningye + + + + + Nanticoke + + + + + Dwang + + + + + Nugunu (Australia) + + + + + Southern Nuni + + + + + Ngong + + + + + Nyangga + + + + + Nda'nda + + + + + Woun Meu + + + + + Norwegian Bokmal + + + + + Nuk + + + + + Northern Thai + + + + + Nimadi + + + + + Nomane + + + + + Nogai + + + + + Nomu + + + + + Noiri + + + + + Nooksack + + + + + Nocaman + + + + + Old Norse + + + + + Nootka + + + + + Numanggang + + + + + Ngongo + + + + + Norwegian + + + + + Southern Yi + + + + + Nomatsiguenga + + + + + Ewage-Notu + + + + + Novial + + + + + Nyambo + + + + + Noy + + + + + Nayi + + + + + Nar Phu + + + + + Nupbikha + + + + + Phom Naga + + + + + Mondropolon + + + + + Pochuri Naga + + + + + Nipsan + + + + + Puimei Naga + + + + + Napu + + + + + Ede Nago + + + + + Kura Ede Nago + + + + + Ndom + + + + + Nen + + + + + N'Ko + + + + + Ngom + + + + + Nara + + + + + Noric + + + + + Southern Rengma Naga + + + + + Narango + + + + + Chokri Naga + + + + + Ngarluma + + + + + Narom + + + + + Norn + + + + + North Picene + + + + + Norra + + + + + Northern Kalapuya + + + + + Ngurmbur + + + + + Lala + + + + + Sangtam Naga + + + + + Nshi + + + + + Nsenga + + + + + Ngasa + + + + + Ngoshie + + + + + Nigerian Sign Language + + + + + Naskapi + + + + + Norwegian Sign Language + + + + + Sumi Naga + + + + + Nehan + + + + + Pedi + + + + + Nepalese Sign Language + + + + + Northern Sierra Miwok + + + + + Maritime Sign Language + + + + + Nali + + + + + Tase Naga + + + + + Navut + + + + + Nsongo + + + + + Nisenan + + + + + Nathembo + + + + + Natioro + + + + + Ngaanyatjarra + + + + + Ikoma + + + + + Nateni + + + + + Ntomba + + + + + Northern Tepehuan + + + + + Delo + + + + + Natagaimas + + + + + Nottoway + + + + + Mantsi + + + + + Natanzi + + + + + Yuaga + + + + + Nukuini + + + + + Ngala + + + + + Ngundu + + + + + Nusu + + + + + Nungali + + + + + Ndunda + + + + + Ngumbi + + + + + Nyole + + + + + Nusa Laut + + + + + Niuafo'ou + + + + + Nung (Myanmar) + + + + + Nguon + + + + + Nupe-Nupe-Tako + + + + + Nukumanu + + + + + Nukuria + + + + + Nuer + + + + + Nung (Viet Nam) + + + + + Ngbundu + + + + + Northern Nuni + + + + + Nguluwan + + + + + Mehek + + + + + Nunggubuyu + + + + + Tlamacazapa Nahuatl + + + + + Nasarian + + + + + Namiae + + + + + Nawathinehena + + + + + Nyabwa + + + + + Classical Newari + + + + + Ngwe + + + + + Southwest Tanna + + + + + Nyamusa-Molo + + + + + Nawaru + + + + + Middle Newar + + + + + Nottoway-Meherrin + + + + + Nauete + + + + + Ngando (Democratic Republic of Congo) + + + + + Nage + + + + + Ngad'a + + + + + Nindi + + + + + Nyadu + + + + + South Nuaulu + + + + + Numidian + + + + + Ngawun + + + + + Ninggerum + + + + + Narau + + + + + Nafri + + + + + Nyanja + + + + + Nyangbo + + + + + Nyanga-li + + + + + Nyore + + + + + Nyengo + + + + + Giryama + + + + + Nyindu + + + + + Nyigina + + + + + Ama (Sudan) + + + + + Nyanga + + + + + Nyaneka + + + + + Nyeu + + + + + Nyamwezi + + + + + Nyankole + + + + + Nyoro + + + + + Nyang'i + + + + + Nayini + + + + + Nyunga + + + + + Nyawaygi + + + + + Nyungwe + + + + + Nyulnyul + + + + + Nyaw + + + + + Nganyaywana + + + + + Nyakyusa-Ngonde + + + + + Tigon Mbembe + + + + + Njebi + + + + + Nzima + + + + + Nzakara + + + + + Zeme Naga + + + + + New Zealand Sign Language + + + + + Teke-Nzikou + + + + + Nzakambay + + + + + Orok + + + + + Oroch + + + + + Old Aramaic + + + + + Old Avar + + + + + Obispeno + + + + + Oblo + + + + + Moabite + + + + + Obo Manobo + + + + + Old Burmese + + + + + Old Breton + + + + + Obulom + + + + + Ocaina + + + + + Occidental + + + + + Old Chinese + + + + + Occitan (post 1500) + + + + + Old Cornish + + + + + Atzingo Matlatzinca + + + + + Odut + + + + + Od + + + + + Old Dutch + + + + + Odual + + + + + Ofo + + + + + Old Frisian + + + + + Efutop + + + + + Ogbia + + + + + Ogbah + + + + + Old Georgian + + + + + Ogbogolo + + + + + Ogan + + + + + Khana + + + + + Ogbronuagum + + + + + Old Hittite + + + + + Old Hungarian + + + + + Oirata + + + + + Inebu One + + + + + Northwestern Ojibwa + + + + + Central Ojibwa + + + + + Eastern Ojibwa + + + + + Ojibwa + + + + + Old Japanese + + + + + Severn Ojibwa + + + + + Ontong Java + + + + + Western Ojibwa + + + + + Okanagan + + + + + Okobo + + + + + Okodia + + + + + Okpe (Southwestern Edo) + + + + + Koresh-e Rostam + + + + + Okiek + + + + + Oko-Juwoi + + + + + Kwamtim One + + + + + Old Kentish Sign Language + + + + + Middle Korean (10th - 16th cent.) + + + + + Oki-No-Erabu + + + + + Old Korean (3rd - 9th cent.) + + + + + Kirike + + + + + Oko-Eni-Osayen + + + + + Oku + + + + + Okpe (Northwestern Edo) + + + + + Walungge + + + + + Mochi + + + + + Olekha + + + + + Oloma + + + + + Livvi + + + + + Omaha-Ponca + + + + + East Ambae + + + + + Mochica + + + + + Omejes + + + + + Omagua + + + + + Omi + + + + + Omok + + + + + Ombo + + + + + Minoan + + + + + Utarmbung + + + + + Old Manipuri + + + + + Old Marathi + + + + + Omotik + + + + + Omurano + + + + + South Tairora + + + + + Old Mon + + + + + Ona + + + + + Lingao + + + + + Oneida + + + + + Olo + + + + + Onin + + + + + Onjob + + + + + Kabore One + + + + + Onobasulu + + + + + Onondaga + + + + + Northern One + + + + + Ono + + + + + Ontenu + + + + + Unua + + + + + Old Nubian + + + + + Onin Based Pidgin + + + + + Tohono O'odham + + + + + Ong + + + + + Onge + + + + + Oorlams + + + + + Old Ossetic + + + + + Okpamheri + + + + + Old Persian + + + + + Kopkaka + + + + + Oksapmin + + + + + Opao + + + + + Opata + + + + + Ofaye + + + + + Oroha + + + + + Orma + + + + + Orejon + + + + + Oring + + + + + Oroqen + + + + + Oriya + + + + + Orokaiva + + + + + Oromo + + + + + Orang Kanaq + + + + + Orokolo + + + + + Oruma + + + + + Orang Seletar + + + + + Adivasi Oriya + + + + + Ormuri + + + + + Old Russian + + + + + Oro Win + + + + + Oro + + + + + Ormu + + + + + Osage + + + + + Oscan + + + + + Osing + + + + + Ososo + + + + + Old Spanish + + + + + Ossetian + + + + + Osatu + + + + + Southern One + + + + + Old Saxon + + + + + Ottoman Turkish (1500-1928) + + + + + Old Tibetan + + + + + Dohoi + + + + + Mezquital Otomi + + + + + Oti + + + + + Old Turkish + + + + + Tilapa Otomi + + + + + Eastern Highland Otomi + + + + + Tenango Otomi + + + + + Queretaro Otomi + + + + + Otoro + + + + + Estado de Mexico Otomi + + + + + Temoaya Otomi + + + + + Otuke + + + + + Ottawa + + + + + Texcatepec Otomi + + + + + Old Tamil + + + + + Ixtenco Otomi + + + + + Tagargrent + + + + + Glio-Oubi + + + + + Oune + + + + + Old Uighur + + + + + Ouma + + + + + !O!ung + + + + + Owiniga + + + + + Old Welsh + + + + + Oy + + + + + Oyda + + + + + Wayampi + + + + + Oya'oya + + + + + Koonzime + + + + + Parecis + + + + + Pacoh + + + + + Paumari + + + + + Pagibete + + + + + Paranawat + + + + + Pangasinan + + + + + Tenharim + + + + + Pe + + + + + Ipeka-Tapuia + + + + + Parakana + + + + + Pahlavi + + + + + Pampanga + + + + + Panjabi + + + + + Northern Paiute + + + + + Papiamento + + + + + Parya + + + + + Panamint + + + + + Papasena + + + + + Papitalai + + + + + Palauan + + + + + Pakaasnovos + + + + + Pawnee + + + + + Pankarare + + + + + Pech + + + + + Pankararu + + + + + Paez + + + + + Patamona + + + + + Mezontla Popoloca + + + + + Coyotepec Popoloca + + + + + Paraujano + + + + + Enepa + + + + + Parkwa + + + + + Mak (Nigeria) + + + + + Kpasam + + + + + Papel + + + + + Badyara + + + + + Pangwa + + + + + Central Pame + + + + + Southern Pashto + + + + + Northern Pashto + + + + + Pnar + + + + + Pyu + + + + + Palu + + + + + Santa Ines Ahuatempan Popoloca + + + + + Pear + + + + + Bouyei + + + + + Picard + + + + + Pale Palaung + + + + + Paliyan + + + + + Paniya + + + + + Pardhan + + + + + Duruwa + + + + + Parenga + + + + + Paite Chin + + + + + Pardhi + + + + + Nigerian Pidgin + + + + + Piti + + + + + Pacahuara + + + + + Panang + + + + + Pyapun + + + + + Anam + + + + + Pennsylvania German + + + + + Pa Di + + + + + Podena + + + + + Padoe + + + + + Plautdietsch + + + + + Kayan + + + + + Peranakan Indonesian + + + + + Eastern Pomo + + + + + Southern Pesisir + + + + + Mala (Papua New Guinea) + + + + + Taje + + + + + Northeastern Pomo + + + + + Pengo + + + + + Bonan + + + + + Chichimeca-Jonaz + + + + + Northern Pomo + + + + + Penchal + + + + + Pekal + + + + + Phende + + + + + Penesak + + + + + Old Persian (ca. 600-400 B.C.) + + + + + Kunja + + + + + Southern Pomo + + + + + Western Farsi + + + + + Pemono + + + + + Petats + + + + + Petjo + + + + + Eastern Penan + + + + + Paafang + + + + + Peere + + + + + Pfaelzisch + + + + + Sudanese Creole Arabic + + + + + Pangwali + + + + + Pagi + + + + + Rerep + + + + + Paelignian + + + + + Pangseng + + + + + Pagu + + + + + Pongyong + + + + + Pa-Hng + + + + + Phudagi + + + + + Phuong + + + + + Phula + + + + + Phake + + + + + Phalura + + + + + Phimbi + + + + + Phoenician + + + + + Phunoi + + + + + Phana' + + + + + Pahari-Potwari + + + + + Phu Thai + + + + + Phuan + + + + + Pahlavani + + + + + Phangduwali + + + + + Pima Bajo + + + + + Yine + + + + + Pinji + + + + + Piaroa + + + + + Piro + + + + + Pingelapese + + + + + Pisabo + + + + + Pitcairn-Norfolk + + + + + Pini + + + + + Pijao + + + + + Yom + + + + + Powhatan + + + + + Piame + + + + + Piapoco + + + + + Pero + + + + + Piratapuyo + + + + + Pijin + + + + + Pitta Pitta + + + + + Pintupi-Luritja + + + + + Pileni + + + + + Pimbwe + + + + + Piu + + + + + Piya-Kwonci + + + + + Pije + + + + + Pitjantjatjara + + + + + Upper Pokomo + + + + + Paekche + + + + + Pak-Tong + + + + + Pankhu + + + + + Pakanha + + + + + Pokoot + + + + + Pukapuka + + + + + Pakistan Sign Language + + + + + Maleng + + + + + Paku + + + + + Miani + + + + + Polonombauk + + + + + Central Palawano + + + + + Polari + + + + + Palu'e + + + + + Pilaga + + + + + Paulohi + + + + + Pali + + + + + Polci + + + + + Kohistani Shina + + + + + Shwe Palaung + + + + + Palembang + + + + + Palenquero + + + + + Oluta Popoluca + + + + + Palpa + + + + + Palaic + + + + + Palaka Senoufo + + + + + San Marcos Tlalcoyalco Popoloca + + + + + Plateau Malagasy + + + + + Palikur + + + + + Southwest Palawano + + + + + Brooke's Point Palawano + + + + + Bolyu + + + + + Paluan + + + + + Paama + + + + + Pambia + + + + + Palumata + + + + + Pwaamei + + + + + Northern Pumi + + + + + Southern Pumi + + + + + Pamlico + + + + + Lingua Franca + + + + + Pomo + + + + + Pam + + + + + Pom + + + + + Northern Pame + + + + + Paynamar + + + + + Piemontese + + + + + Tuamotuan + + + + + Mirpur Panjabi + + + + + Plains Miwok + + + + + Poumei Naga + + + + + Southern Pame + + + + + Punan Bah-Biau + + + + + Western Panjabi + + + + + Pannei + + + + + Western Penan + + + + + Pongu + + + + + Penrhyn + + + + + Aoheng + + + + + Punan Batu 1 + + + + + Pinai-Hagahai + + + + + Panobo + + + + + Pancana + + + + + Pana (Burkina Faso) + + + + + Panim + + + + + Ponosakan + + + + + Pontic + + + + + Jiongnai Bunu + + + + + Pinigura + + + + + Panytyima + + + + + Phong-Kniang + + + + + Pinyin + + + + + Pana (Central African Republic) + + + + + Eastern Pokomam + + + + + Western Pokomchi + + + + + Central Pokomam + + + + + Ponares + + + + + San Juan Atzingo Popoloca + + + + + Poke + + + + + Potiguara + + + + + Eastern Pokomchi + + + + + Highland Popoluca + + + + + Lower Pokomo + + + + + Pokanga + + + + + Polish + + + + + Southeastern Pomo + + + + + Pohnpeian + + + + + Central Pomo + + + + + Pwapwa + + + + + Texistepec Popoluca + + + + + Portuguese + + + + + Sayula Popoluca + + + + + Potawatomi + + + + + Southern Pokomam + + + + + Upper Guinea Crioulo + + + + + San Felipe Otlaltepec Popoloca + + + + + Polabian + + + + + Pogolo + + + + + Pao + + + + + Papi + + + + + Paipai + + + + + Uma + + + + + Pipil + + + + + Papuma + + + + + Papapana + + + + + Folopa + + + + + Pelende + + + + + Pei + + + + + Piru + + + + + San Luis Temalacayuca Popoloca + + + + + Pare + + + + + Papora + + + + + Papavo + + + + + Pa'a + + + + + Malecite-Passamaquoddy + + + + + Lua' + + + + + Parachi + + + + + Parsi-Dari + + + + + Principense + + + + + Prussian + + + + + Porohanon + + + + + Paici + + + + + Parauk + + + + + Peruvian Sign Language + + + + + Kibiri + + + + + Prasuni + + + + + Old Provencal (to 1500) + + + + + Parsi + + + + + Asheninka Perene + + + + + Puri + + + + + Dari + + + + + Phai + + + + + Puragi + + + + + Parawen + + + + + Purik + + + + + Pray 3 + + + + + Providencia Sign Language + + + + + Asue Awyu + + + + + Persian Sign Language + + + + + Plains Indian Sign Language + + + + + Pasemah + + + + + Penang Sign Language + + + + + Southwest Pashayi + + + + + Southeast Pashayi + + + + + Puerto Rican Sign Language + + + + + Pauserna + + + + + Panasuan + + + + + Polish Sign Language + + + + + Philippine Sign Language + + + + + Pasi + + + + + Portuguese Sign Language + + + + + Kaulong + + + + + Central Pashto + + + + + Port Sandwich + + + + + Piscataway + + + + + Pai Tavytera + + + + + Pataxo-Hahaai + + + + + Pintiini + + + + + Patani + + + + + Zo'e + + + + + Patep + + + + + Piamatsina + + + + + Enrekang + + + + + Bambam + + + + + Port Vato + + + + + Pentlatch + + + + + Western Highland Purepecha + + + + + Purum + + + + + Punan Merap + + + + + Punan Aput + + + + + Puelche + + + + + Punan Merah + + + + + Phuie + + + + + Puinave + + + + + Punan Tubu + + + + + Pu Ko + + + + + Puma + + + + + Pubian + + + + + Puoc + + + + + Pulabu + + + + + Puquina + + + + + Purubora + + + + + Pushto + + + + + Putoh + + + + + Punu + + + + + Puluwatese + + + + + Puari + + + + + Purisimeno + + + + + Purum Naga + + + + + Pawaia + + + + + Gapapaiwa + + + + + Molbog + + + + + Paiwan + + + + + Pwo Western Karen + + + + + Powari + + + + + Pwo Northern Karen + + + + + Quetzaltepec Mixe + + + + + Pye Krumen + + + + + Fyam + + + + + Poyanawa + + + + + Puyuma + + + + + Pyu (Myanmar) + + + + + Pyen + + + + + Quapaw + + + + + Huallaga Huanuco Quechua + + + + + Central Quiche + + + + + Calderon Highland Quichua + + + + + Quechua + + + + + Lambayeque Quechua + + + + + Chimborazo Highland Quichua + + + + + South Bolivian Quechua + + + + + Quileute + + + + + Joyabaj Quiche + + + + + Chachapoyas Quechua + + + + + North Bolivian Quechua + + + + + Sipacapense + + + + + Quinault + + + + + Southern Pastaza Quechua + + + + + Quinqui + + + + + Yanahuanca Pasco Quechua + + + + + Santiago del Estero Quichua + + + + + West Central Quiche + + + + + Eastern Quiche + + + + + Sacapulteco + + + + + Tena Lowland Quichua + + + + + Yauyos Quechua + + + + + Ayacucho Quechua + + + + + Cusco Quechua + + + + + Ambo-Pasco Quechua + + + + + Cajamarca Quechua + + + + + Eastern Apurimac Quechua + + + + + Huamalies-Dos de Mayo Huanuco Quechua + + + + + Imbabura Highland Quichua + + + + + Loja Highland Quichua + + + + + Cajatambo North Lima Quechua + + + + + Margos-Yarowilca-Lauricocha Quechua + + + + + North Junin Quechua + + + + + Napo Lowland Quechua + + + + + Pacaraos Quechua + + + + + San Martin Quechua + + + + + Huaylla Wanca Quechua + + + + + Queyu + + + + + Northern Pastaza Quichua + + + + + Corongo Ancash Quechua + + + + + Classical Quechua + + + + + Huaylas Ancash Quechua + + + + + Kuman (Russia) + + + + + Sihuas Ancash Quechua + + + + + Kwalhioqua-Tlatskanai + + + + + Chiquian Ancash Quechua + + + + + Chincha Quechua + + + + + Panao Huanuco Quechua + + + + + San Andres Quiche + + + + + Salasaca Highland Quichua + + + + + Northern Conchucos Ancash Quechua + + + + + Southern Conchucos Ancash Quechua + + + + + Puno Quechua + + + + + Qashqa'i + + + + + Canar Highland Quichua + + + + + Southern Qiang + + + + + Santa Ana de Tusi Pasco Quechua + + + + + Arequipa-La Union Quechua + + + + + Jauja Wanca Quechua + + + + + Quenya + + + + + Dungmali + + + + + Camling + + + + + Rasawa + + + + + Rade + + + + + Ranau + + + + + Western Meohang + + + + + Logooli + + + + + Rabha + + + + + Ramoaaina + + + + + Rajasthani + + + + + Tulu-Bohuai + + + + + Ralte + + + + + Canela + + + + + Riantana + + + + + Rao + + + + + Rapanui + + + + + Saam + + + + + Rarotongan + + + + + Tegali + + + + + Razajerdi + + + + + Raute + + + + + Sampang + + + + + Rawang + + + + + Rang + + + + + Rapa + + + + + Rahambuu + + + + + Rumai Palaung + + + + + Reunion Creole French + + + + + Rudbari + + + + + Rerau + + + + + Rembong + + + + + Rejang Kayan + + + + + Kara (Tanzania) + + + + + Reli + + + + + Rejang + + + + + Rendille + + + + + Remo + + + + + Rengao + + + + + Rer Bare + + + + + Reshe + + + + + Retta + + + + + Reyesano + + + + + Roria + + + + + Romano-Greek + + + + + Rangkas + + + + + Resigaro + + + + + Southern Roglai + + + + + Ringgou + + + + + Yahang + + + + + Riang (India) + + + + + Rien + + + + + Tarifit + + + + + Riang (Myanmar) + + + + + Nyaturu + + + + + Nungu + + + + + Ribun + + + + + Ritarungo + + + + + Riung + + + + + Rajbanshi + + + + + Rajong + + + + + Raji + + + + + Kraol + + + + + Rikbaktsa + + + + + Rakahanga-Manihiki + + + + + Marka + + + + + Rama + + + + + Rembarunga + + + + + Carpathian Romani + + + + + Traveller Danish + + + + + Angloromani + + + + + Kalo Finnish Romani + + + + + Traveller Norwegian + + + + + Murkim + + + + + Lomavren + + + + + Romkun + + + + + Baltic Romani + + + + + Roma + + + + + Balkan Romani + + + + + Sinte Romani + + + + + Rempi + + + + + Calo + + + + + Romanian Sign Language + + + + + Domari + + + + + Tavringer Romani + + + + + Romanova + + + + + Welsh Romani + + + + + Romam + + + + + Vlax Romani + + + + + Runa + + + + + Ruund + + + + + Ronga + + + + + Roon + + + + + Rongpo + + + + + Rungwa + + + + + Tae' + + + + + Cacgia Roglai + + + + + Rogo + + + + + Ronji + + + + + Rombo + + + + + Northern Roglai + + + + + Romansh + + + + + Romblomanon + + + + + Romany + + + + + Romanian + + + + + Rotokas + + + + + Kriol + + + + + Rongga + + + + + Runga + + + + + Dela-Oenale + + + + + Repanbitip + + + + + Rapting + + + + + Ririo + + + + + Waima + + + + + Romano-Serbian + + + + + Rennellese Sign Language + + + + + Russian Sign Language + + + + + Ratahan + + + + + Rotuman + + + + + Rathawi + + + + + Gungu + + + + + Ruli + + + + + Rusyn + + + + + Luguru + + + + + Roviana + + + + + Ruga + + + + + Rufiji + + + + + Che + + + + + Rundi + + + + + Istro Romanian + + + + + Macedo Romanian + + + + + Megleno Romanian + + + + + Russian + + + + + Rutul + + + + + Lanas Lobu + + + + + Mala (Nigeria) + + + + + Ruma + + + + + Rawo + + + + + Rwa + + + + + Amba (Uganda) + + + + + Rawa + + + + + Marwari (India) + + + + + Rawas + + + + + Northern Amami-Oshima + + + + + Yaeyama + + + + + Central Okinawan + + + + + Saba + + + + + Buglere + + + + + Mesquakie + + + + + Sandawe + + + + + Sabanes + + + + + Safaliba + + + + + Sango + + + + + Yakut + + + + + Sahu + + + + + Sake + + + + + Samaritan Aramaic + + + + + Sanskrit + + + + + Sause + + + + + Sanapana + + + + + Samburu + + + + + Saraveca + + + + + Sasak + + + + + Santali + + + + + Saleman + + + + + Saafi-Saafi + + + + + Sawi + + + + + Sa + + + + + Saya + + + + + Saurashtra + + + + + Ngambay + + + + + Simbo + + + + + Kele (Papua New Guinea) + + + + + Southern Samo + + + + + Saliba + + + + + Shabo + + + + + Seget + + + + + Sori-Harengan + + + + + Seti + + + + + Surbakhal + + + + + Safwa + + + + + Botolan Sambal + + + + + Sagala + + + + + Sindhi Bhil + + + + + Sabum + + + + + Sangu (Tanzania) + + + + + Sileibi + + + + + Sembakung Murut + + + + + Subiya + + + + + Kimki + + + + + Stod Bhoti + + + + + Sabine + + + + + Simba + + + + + Seberuang + + + + + Soli + + + + + Sara Kaba + + + + + Sansu + + + + + Chut + + + + + Dongxiang + + + + + San Miguel Creole French + + + + + Sanggau + + + + + Sakechep + + + + + Sri Lankan Creole Malay + + + + + Sadri + + + + + Shina + + + + + Sicilian + + + + + Scots + + + + + Helambu Sherpa + + + + + Sa'och + + + + + North Slavey + + + + + Shumcho + + + + + Sheni + + + + + Sha + + + + + Sicel + + + + + Toraja-Sa'dan + + + + + Shabak + + + + + Sassarese Sardinian + + + + + Semendo + + + + + Surubu + + + + + Sarli + + + + + Savi + + + + + Southern Kurdish + + + + + Sindang Kelingi + + + + + Suundi + + + + + Saudi Arabian Sign Language + + + + + Semandang + + + + + Gallurese Sardinian + + + + + Bukar Sadong + + + + + Sherdukpen + + + + + Oraon Sadri + + + + + Sened + + + + + Shuadit + + + + + Sarudu + + + + + Sibu + + + + + Sallands + + + + + Semai + + + + + Shempire Senoufo + + + + + Sechelt + + + + + Sedang + + + + + Seneca + + + + + Cebaara Senoufo + + + + + Segeju + + + + + Sena + + + + + Seri + + + + + Sene + + + + + Sekani + + + + + Selkup + + + + + Nanerige Senoufo + + + + + Suarmin + + + + + Sicite Senoufo + + + + + Senara Senoufo + + + + + Serrano + + + + + Koyraboro Senni Songhai + + + + + Sentani + + + + + Serui-Laut + + + + + Nyarafolo Senoufo + + + + + Sewa Bay + + + + + Secoya + + + + + Senthang Chin + + + + + South African Sign Language + + + + + Sehwi + + + + + Old Irish (to 900) + + + + + Mag-Anchi Ayta + + + + + Segai + + + + + Swiss-German Sign Language + + + + + Shughni + + + + + Suga + + + + + Sanglechi-Ishkashimi + + + + + Singa + + + + + Songa + + + + + Singpho + + + + + Sangisari + + + + + Brokpake + + + + + Salas + + + + + Sebat Bet Gurage + + + + + Sierra Leone Sign Language + + + + + Sursurunga + + + + + Shall-Zwall + + + + + Ninam + + + + + Sonde + + + + + Sheko + + + + + Shua + + + + + Shoshoni + + + + + Tachelhit + + + + + Shatt + + + + + Shilluk + + + + + Shendu + + + + + Shahrudi + + + + + Shan + + + + + Shanga + + + + + Shipibo-Conibo + + + + + Sala + + + + + Shi + + + + + Shuswap + + + + + Shasta + + + + + Chadian Arabic + + + + + Shehri + + + + + Shwai + + + + + She + + + + + Tachawit + + + + + Syenara Senoufo + + + + + Akkala Sami + + + + + Sebob Kenyah + + + + + Malinguat + + + + + Sidamo + + + + + Simaa + + + + + Siamou + + + + + Paasaal + + + + + Zire + + + + + Shom Peng + + + + + Numbami + + + + + Sikiana + + + + + Tumulung Sisaala + + + + + Mende (Papua New Guinea) + + + + + Sinhala + + + + + Sikkimese + + + + + Sonia + + + + + Siri + + + + + Siuslaw + + + + + Sinagen + + + + + Sumariup + + + + + Siwai + + + + + Sumau + + + + + Sivandi + + + + + Siwi + + + + + Epena + + + + + Sajau Basap + + + + + Kildin Sami + + + + + Pite Sami + + + + + Assangori + + + + + Kemi Sami + + + + + Sajalong + + + + + Mapun + + + + + Sindarin + + + + + Xibe + + + + + Surajpuri + + + + + Siar-Lak + + + + + Senhaja De Srair + + + + + Ter Sami + + + + + Ume Sami + + + + + Shawnee + + + + + Skagit + + + + + Saek + + + + + Sauk + + + + + Southern Sierra Miwok + + + + + Seke (Vanuatu) + + + + + Sakirabia + + + + + Sakalava Malagasy + + + + + Sikule + + + + + Sika + + + + + Seke (Nepal) + + + + + Sok + + + + + Selako + + + + + Sakam + + + + + Kolibugan Subanon + + + + + Seko Tengah + + + + + Sekapan + + + + + Sininkere + + + + + Seraiki + + + + + Maia + + + + + Sakata + + + + + Sakao + + + + + Skou + + + + + Skepi Creole Dutch + + + + + Seko Padang + + + + + Sikaiana + + + + + Sekar + + + + + Kahumamahon Saluan + + + + + Saliba + + + + + Sissala + + + + + Sholaga + + + + + Swiss-Italian Sign Language + + + + + Selungai Murut + + + + + Southern Puget Sound Salish + + + + + Lower Silesian + + + + + Saluma + + + + + Slovak + + + + + Salt-Yui + + + + + Pangutaran Sama + + + + + Salinan + + + + + Lamaholot + + + + + Salchuq + + + + + Salar + + + + + Singapore Sign Language + + + + + Sila + + + + + Selaru + + + + + Slovenian + + + + + Sialum + + + + + Salampasu + + + + + Selayar + + + + + Ma'ya + + + + + Southern Sami + + + + + Simbari + + + + + Som + + + + + Sama + + + + + Northern Sami + + + + + Auwe + + + + + Simbali + + + + + Samei + + + + + Lule Sami + + + + + Bolinao + + + + + Central Sama + + + + + Musasa + + + + + Inari Sami + + + + + Samoan + + + + + Samaritan + + + + + Samo + + + + + Simeulue + + + + + Skolt Sami + + + + + Simte + + + + + Somray + + + + + Samvedi + + + + + Sumbawa + + + + + Samba + + + + + Semnani + + + + + Simeku + + + + + Shona + + + + + Sebuyau + + + + + Sinaugoro + + + + + Sindhi + + + + + Jagoi + + + + + Noon + + + + + Sanga (Democratic Republic of Congo) + + + + + Shinabo + + + + + Sensi + + + + + Riverain Sango + + + + + Soninke + + + + + Sangil + + + + + Southern Ma'di + + + + + Siona + + + + + Snohomish + + + + + Siane + + + + + Sangu (Gabon) + + + + + Sihan + + + + + South West Bay + + + + + Senggi + + + + + Sa'ban + + + + + Selee + + + + + Sam + + + + + Saniyo-Hiyewe + + + + + Sinsauru + + + + + Thai Song + + + + + Sobei + + + + + So (Democratic Republic of Congo) + + + + + Songoora + + + + + Songomeno + + + + + Sogdian + + + + + Aka + + + + + Sonha + + + + + Soi + + + + + Sokoro + + + + + Solos + + + + + Somali + + + + + Songo + + + + + Songe + + + + + Kanasi + + + + + Somrai + + + + + Seeku + + + + + Southern Sotho + + + + + Southern Thai + + + + + Sonsorol + + + + + Sowanda + + + + + So (Cameroon) + + + + + Miyobe + + + + + Temi + + + + + Spanish + + + + + Sepa (Indonesia) + + + + + Sape + + + + + Saep + + + + + Sepa (Papua New Guinea) + + + + + Sian + + + + + Saponi + + + + + Sengo + + + + + Selepet + + + + + Sepen + + + + + Spokane + + + + + Supyire Senoufo + + + + + Loreto-Ucayali Spanish + + + + + Saparua + + + + + Saposa + + + + + Spiti Bhoti + + + + + Sapuan + + + + + South Picene + + + + + Sabaot + + + + + Shama-Sambuga + + + + + Shau + + + + + Albanian + + + + + Suma + + + + + Susquehannock + + + + + Sorkhei + + + + + Sou + + + + + Sri Lankan Sign Language + + + + + Soqotri + + + + + Squamish + + + + + Saruga + + + + + Sora + + + + + Logudorese Sardinian + + + + + Sardinian + + + + + Sara + + + + + Nafi + + + + + Sulod + + + + + Sarikoli + + + + + Siriano + + + + + Serawai + + + + + Serudung Murut + + + + + Isirawa + + + + + Saramaccan + + + + + Sranan Tongo + + + + + Campidanese Sardinian + + + + + Serbian + + + + + Siriono + + + + + Serer + + + + + Sarsi + + + + + Sauri + + + + + Surui + + + + + Waray Sorsogon + + + + + Serua + + + + + Sirmauri + + + + + Sera + + + + + Shahmirzadi + + + + + Southern Sama + + + + + Siroi + + + + + Balangingi + + + + + Thao + + + + + Seimat + + + + + Shihhi Arabic + + + + + Sansi + + + + + Sausi + + + + + Sunam + + + + + Western Sisaala + + + + + Semnam + + + + + Sanye + + + + + Sissano + + + + + Spanish Sign Language + + + + + So'a + + + + + Swiss-French Sign Language + + + + + So + + + + + Sinasina + + + + + Susuami + + + + + Shark Bay + + + + + Swati + + + + + Samberigi + + + + + Saho + + + + + Sengseng + + + + + Settla + + + + + Northern Subanen + + + + + Santa Cruz + + + + + Sentinel + + + + + Liana-Seti + + + + + Seta + + + + + Trieng + + + + + Shelta + + + + + Bulo Stieng + + + + + Matya Samo + + + + + Arammba + + + + + Stellingwerfs + + + + + Setaman + + + + + Owa + + + + + Stoney + + + + + Southeastern Tepehuan + + + + + Saterfriesisch + + + + + Straits Salish + + + + + Shumashti + + + + + Budeh Stieng + + + + + Samtao + + + + + Satawalese + + + + + Sulka + + + + + Suku + + + + + Western Subanon + + + + + Suena + + + + + Tarpia + + + + + Suganga + + + + + Suba + + + + + Suki + + + + + Shubi + + + + + Sukuma + + + + + Surigaonon + + + + + Sumo-Mayangna + + + + + Sundanese + + + + + Suri + + + + + Mwaghavul + + + + + Susu + + + + + Subtiaba + + + + + Sungkai + + + + + Sulung + + + + + Sumbwa + + + + + Sumerian + + + + + Suya + + + + + Sunwar + + + + + Svan + + + + + Ulau-Suain + + + + + Vincentian Creole English + + + + + Serili + + + + + Slovakian Sign Language + + + + + Savara + + + + + Savosavo + + + + + Skalvian + + + + + Swahili (macrolanguage) + + + + + Comorian + + + + + Congo Swahili + + + + + Swedish + + + + + Sere + + + + + Swabian + + + + + Swahili (individual language) + + + + + Sui + + + + + Sira + + + + + Malawi Sena + + + + + Swedish Sign Language + + + + + Samosa + + + + + Sawknah + + + + + Suau + + + + + Sharwa + + + + + Saweru + + + + + Seluwasan + + + + + Sawila + + + + + Suwawa + + + + + Shekhawati + + + + + Sowa + + + + + Suruaha + + + + + Sarua + + + + + Sicanian + + + + + Sighu + + + + + Shixing + + + + + Southern Kalapuya + + + + + Selian + + + + + Samre + + + + + Sangir + + + + + Sorothaptic + + + + + Saaroa + + + + + Sasaru + + + + + Upper Saxon + + + + + Saxwe Gbe + + + + + Siang + + + + + Central Subanen + + + + + Classical Syriac + + + + + Seki + + + + + Sukur + + + + + Sylheti + + + + + Maya Samo + + + + + Senaya + + + + + Suoy + + + + + Syriac + + + + + Sinyar + + + + + Kagate + + + + + Semelai + + + + + Ngalum + + + + + Semaq Beri + + + + + Seru + + + + + Seze + + + + + Sengele + + + + + Sizaki + + + + + Sula + + + + + Suabo + + + + + Isu (Fako Division) + + + + + Sawai + + + + + Lower Tanana + + + + + Tabassaran + + + + + Lowland Tarahumara + + + + + Tause + + + + + Tariano + + + + + Tapirape + + + + + Tagoi + + + + + Tahitian + + + + + Eastern Tamang + + + + + Tala + + + + + Tal + + + + + Tamil + + + + + Tangale + + + + + Yami + + + + + Taabwa + + + + + Tamasheq + + + + + Central Tarahumara + + + + + Tay Boi + + + + + Tatar + + + + + Upper Tanana + + + + + Tatuyo + + + + + Tai + + + + + Tamki + + + + + Atayal + + + + + Tocho + + + + + Tubarao + + + + + Tapeba + + + + + Takia + + + + + Kaki Ae + + + + + Tanimbili + + + + + Mandara + + + + + North Tairora + + + + + Thurawal + + + + + Gaam + + + + + Tiang + + + + + Calamian Tagbanwa + + + + + Tboli + + + + + Tagbu + + + + + Barro Negro Tunebo + + + + + Tawala + + + + + Taworta + + + + + Tumtum + + + + + Tanguat + + + + + Tembo (Kitembo) + + + + + Tubar + + + + + Tobo + + + + + Tagbanwa + + + + + Kapin + + + + + Tabaru + + + + + Ditammari + + + + + Ticuna + + + + + Tanacross + + + + + Datooga + + + + + Tafi + + + + + Southern Tutchone + + + + + Malinaltepec Tlapanec + + + + + Tamagario + + + + + Turks And Caicos Creole English + + + + + Wara + + + + + Tchitchege + + + + + Taman (Myanmar) + + + + + Tanahmerah + + + + + Tichurong + + + + + Taungyo + + + + + Tawr Chin + + + + + Kaiy + + + + + Torres Strait Creole + + + + + T'en + + + + + Southeastern Tarahumara + + + + + Toda + + + + + Tulu + + + + + Thado Chin + + + + + Tagdal + + + + + Panchpargania + + + + + Embera-Tado + + + + + Tai Nua + + + + + Talieng + + + + + Western Tamang + + + + + Thulung + + + + + Tomadino + + + + + Tajio + + + + + Tambas + + + + + Sur + + + + + Tondano + + + + + Teme + + + + + Tita + + + + + Todrah + + + + + Doutai + + + + + Tetun Dili + + + + + Tempasuk Dusun + + + + + Toro + + + + + Tandroy-Mahafaly Malagasy + + + + + Tadyawan + + + + + Temiar + + + + + Tetete + + + + + Tepo Krumen + + + + + Huehuetla Tepehua + + + + + Teressa + + + + + Teke-Tege + + + + + Tehuelche + + + + + Torricelli + + + + + Ibali Teke + + + + + Telugu + + + + + Timne + + + + + Tama (Colombia) + + + + + Teso + + + + + Tepecano + + + + + Temein + + + + + Tereno + + + + + Tengger + + + + + Tetum + + + + + Soo + + + + + Teor + + + + + Tewa (USA) + + + + + Tennet + + + + + Tulishi + + + + + Tofin Gbe + + + + + Tanaina + + + + + Tefaro + + + + + Teribe + + + + + Ternate + + + + + Sagalla + + + + + Tebilung + + + + + Tigak + + + + + Ciwogai + + + + + Eastern Gorkha Tamang + + + + + Chalikha + + + + + Tangga + + + + + Tobagonian Creole English + + + + + Lawunuia + + + + + Tajik + + + + + Tagalog + + + + + Sudest + + + + + Tangoa + + + + + Tring + + + + + Tareng + + + + + Nume + + + + + Central Tagbanwa + + + + + Tanggu + + + + + Tingui-Boto + + + + + Tagwana Senoufo + + + + + Tagish + + + + + Togoyo + + + + + Thai + + + + + Tai Hang Tong + + + + + Thayore + + + + + Chitwania Tharu + + + + + Thangmi + + + + + Northern Tarahumara + + + + + Tai Long + + + + + Tharaka + + + + + Dangaura Tharu + + + + + Aheu + + + + + Thompson + + + + + Kochila Tharu + + + + + Rana Tharu + + + + + Thakali + + + + + Tahltan + + + + + Thuri + + + + + Tahaggart Tamahaq + + + + + Thudam + + + + + The + + + + + Tha + + + + + Tayart Tamajeq + + + + + Tidikelt Tamazight + + + + + Tira + + + + + Tidong + + + + + Tingal + + + + + Tifal + + + + + Tigre + + + + + Timugon Murut + + + + + Tiene + + + + + Tilung + + + + + Tikar + + + + + Tillamook + + + + + Timbe + + + + + Tindi + + + + + Teop + + + + + Trimuris + + + + + Tiefo + + + + + Tigrinya + + + + + Masadiit Itneg + + + + + Tinigua + + + + + Adasen Itneg + + + + + Tiv + + + + + Tiwi + + + + + Southern Tiwa + + + + + Tiruray + + + + + Tai Hongjin + + + + + Tajuasohn + + + + + Tunjung + + + + + Northern Tujia + + + + + Timucua + + + + + Tonjon + + + + + Temacine Tamazight + + + + + Southern Tujia + + + + + Tjurruru + + + + + Truka + + + + + Buksa + + + + + Tukudede + + + + + Takwane + + + + + Tukumanfed + + + + + Takpa + + + + + Tokelau + + + + + Takelma + + + + + Toku-No-Shima + + + + + Tikopia + + + + + Tee + + + + + Tsakhur + + + + + Takestani + + + + + Kathoriya Tharu + + + + + Teanu + + + + + Tangko + + + + + Takua + + + + + Southwestern Tepehuan + + + + + Tobelo + + + + + Yecuatla Totonac + + + + + Talaud + + + + + Talai + + + + + Telefol + + + + + Tofanma + + + + + Klingon + + + + + Tlingit + + + + + Talinga-Bwisi + + + + + Taloki + + + + + Tetela + + + + + Tolomako + + + + + Talondo' + + + + + Talodi + + + + + Filomena Mata-Coahuitlan Totonac + + + + + Tai Loi + + + + + Talise + + + + + Tambotalo + + + + + Teluti + + + + + Tulehu + + + + + Taliabu + + + + + South Wemale + + + + + Khehek + + + + + Talysh + + + + + Toala' + + + + + Tama (Chad) + + + + + Katbol + + + + + Tumak + + + + + Haruai + + + + + Tremembe + + + + + Toba-Maskoy + + + + + Ternateno + + + + + Tamashek + + + + + Tutuba + + + + + Samarokena + + + + + Northwestern Tamang + + + + + Tamnim Citak + + + + + Tai Thanh + + + + + Taman (Indonesia) + + + + + Temoq + + + + + Tai Mene + + + + + Tumleo + + + + + Talmudic Aramaic + + + + + Tima + + + + + Tasmate + + + + + Iau + + + + + Tembo (Motembo) + + + + + Temuan + + + + + Tomyang + + + + + Tami + + + + + Tamanaku + + + + + Tacana + + + + + Western Tunebo + + + + + Tanimuca-Retuara + + + + + Angosturas Tunebo + + + + + Tinoc Kallahan + + + + + Tangshewi + + + + + Tobanga + + + + + Maiani + + + + + Tandia + + + + + Tanjong + + + + + Kwamera + + + + + Lenakel + + + + + Tabla + + + + + North Tanna + + + + + Toromono + + + + + Whitesands + + + + + Taino + + + + + Budik + + + + + Tenis + + + + + Tontemboan + + + + + Tay Khang + + + + + Tangchangya + + + + + Tonsawang + + + + + Tanema + + + + + Tongwe + + + + + Tonga (Thailand) + + + + + Toba + + + + + Coyutla Totonac + + + + + Toma + + + + + Tomedes + + + + + Gizrra + + + + + Tonga (Nyasa) + + + + + Gitonga + + + + + Tonga (Zambia) + + + + + Tojolabal + + + + + Tolowa + + + + + Tombulu + + + + + Tonga (Tonga Islands) + + + + + Xicotepec De Juarez Totonac + + + + + Papantla Totonac + + + + + Toposa + + + + + Togbo-Vara Banda + + + + + Highland Totonac + + + + + Patla-Chicontla Totonac + + + + + Tho + + + + + Upper Taromi + + + + + Jemez + + + + + Tobian + + + + + Topoiyo + + + + + To + + + + + Taupota + + + + + Azoyu Tlapanec + + + + + Tippera + + + + + Kula + + + + + Tok Pisin + + + + + Tapiete + + + + + Tupinikin + + + + + Tlacoapa Tlapanec + + + + + Tampulma + + + + + Tupinamba + + + + + Tai Pao + + + + + Pisaflores Tepehua + + + + + Tukpa + + + + + Tupari + + + + + Tlachichilco Tepehua + + + + + Tampuan + + + + + Tanapag + + + + + Tupi + + + + + Acatepec Tlapanec + + + + + Trumai + + + + + Tinputz + + + + + Tembe + + + + + Lehali + + + + + Turumsa + + + + + Tenino + + + + + Toaripi + + + + + Tomoip + + + + + Tunni + + + + + Torona + + + + + Ozumatlan Totonac + + + + + Touo + + + + + Tonkawa + + + + + Tirahi + + + + + Terebu + + + + + Copala Triqui + + + + + Turi + + + + + East Tarangan + + + + + Trinidadian Creole English + + + + + Lishan Didan + + + + + Turaka + + + + + Trio + + + + + Toram + + + + + Traveller Scottish + + + + + Tregami + + + + + Trinitario + + + + + Tarao Naga + + + + + Kok Borok + + + + + San Martin Itunyoso Triqui + + + + + Taushiro + + + + + Chicahuaxtla Triqui + + + + + Tunggare + + + + + Turoyo + + + + + Taroko + + + + + Torwali + + + + + Tringgus + + + + + Turung + + + + + Tora + + + + + Tsaangi + + + + + Tsamai + + + + + Tswa + + + + + Tsakonian + + + + + Tunisian Sign Language + + + + + Southwestern Tamang + + + + + Tausug + + + + + Tsuvan + + + + + Tsimshian + + + + + Tshangla + + + + + Tseku + + + + + Ts'un-Lao + + + + + Turkish Sign Language + + + + + Tswana + + + + + Tsonga + + + + + Northern Toussian + + + + + Thai Sign Language + + + + + Akei + + + + + Taiwan Sign Language + + + + + Tsou + + + + + Tsogo + + + + + Tsishingini + + + + + Mubami + + + + + Purepecha + + + + + Tutelo + + + + + Gaa + + + + + Tektiteko + + + + + Tauade + + + + + Bwanabwana + + + + + Tuotomb + + + + + Tutong 2 + + + + + Upper Ta'oih + + + + + Tobati + + + + + Tooro + + + + + Totoro + + + + + Totela + + + + + Northern Tutchone + + + + + Towei + + + + + Lower Ta'oih + + + + + Tombelala + + + + + Tawallammat Tamajaq + + + + + Tera + + + + + Northeastern Thai + + + + + Muslim Tat + + + + + Torau + + + + + Titan + + + + + Tutoh Kenyah + + + + + Tutong 1 + + + + + Sikaritai + + + + + Tsum + + + + + Wiarumus + + + + + Tubatulabal + + + + + Mutu + + + + + Tuxa + + + + + Tuyuca + + + + + Central Tunebo + + + + + Tunia + + + + + Taulil + + + + + Tupuri + + + + + Tugutil + + + + + Turkmen + + + + + Tula + + + + + Tumbuka + + + + + Tunica + + + + + Tucano + + + + + Tedaga + + + + + Turkish + + + + + Tuscarora + + + + + Tututni + + + + + Turkana + + + + + Tuxinawa + + + + + North Tugen + + + + + Turka + + + + + Vaghua + + + + + Tsuvadi + + + + + Te'un + + + + + Southeast Ambrym + + + + + Tuvalu + + + + + Tela-Masbuar + + + + + Tavoyan + + + + + Tidore + + + + + Taveta + + + + + Tutsa Naga + + + + + Sedoa + + + + + Timor Pidgin + + + + + Twana + + + + + Western Tawbuid + + + + + Teshenawa + + + + + Twents + + + + + Tewa (Indonesia) + + + + + Northern Tiwa + + + + + Tereweng + + + + + Tai Don + + + + + Twi + + + + + Tawara + + + + + Twendi + + + + + Tswapong + + + + + Ere + + + + + Tasawaq + + + + + Southwestern Tarahumara + + + + + Turiwara + + + + + Termanu + + + + + Tuwari + + + + + Tewe + + + + + Tawoyan + + + + + Tombonuwo + + + + + Tokharian B + + + + + Tsetsaut + + + + + Totoli + + + + + Tangut + + + + + Thracian + + + + + Ikpeng + + + + + Tomini + + + + + West Tarangan + + + + + Toto + + + + + Tii + + + + + Tartessian + + + + + Tonsea + + + + + Citak + + + + + Kayapo + + + + + Tatana + + + + + Tanosy Malagasy + + + + + Tauya + + + + + Kyenga + + + + + O'du + + + + + Teke-Tsaayi + + + + + Tai Do + + + + + Thu Lao + + + + + Kombai + + + + + Thaypan + + + + + Tai Daeng + + + + + Tay Sa Pa + + + + + Tay Tac + + + + + Kua + + + + + Tuvinian + + + + + Teke-Tyee + + + + + Tay + + + + + Tanzanian Sign Language + + + + + Bachajon Tzeltal + + + + + Chamula Tzotzil + + + + + Chenalho Tzotzil + + + + + Oxchuc Tzeltal + + + + + Eastern Tzutujil + + + + + Central Atlas Tamazight + + + + + Tugun + + + + + Venustiano Carranza Tzotzil + + + + + San Andres Larrainzar Tzotzil + + + + + Western Tzutujil + + + + + Huixtan Tzotzil + + + + + Tabriak + + + + + Zinacantan Tzotzil + + + + + Uamue + + + + + Kuan + + + + + Tairuma + + + + + Ubang + + + + + Ubi + + + + + Upper Baram Kenyah + + + + + Ubir + + + + + Umbu-Ungu + + + + + Ubykh + + + + + Uda + + + + + Udihe + + + + + Udi + + + + + Ujir + + + + + Wuzlam + + + + + Udmurt + + + + + Uduk + + + + + Kioko + + + + + Ufim + + + + + Ugaritic + + + + + Kuku-Ugbanh + + + + + Ughele + + + + + Ugandan Sign Language + + + + + Ugong + + + + + Uruguayan Sign Language + + + + + Uhami + + + + + Damal + + + + + Uighur + + + + + Uisai + + + + + Iyive + + + + + Tanjijili + + + + + Kaburi + + + + + Ukuriguma + + + + + Ukhwejo + + + + + Ukrainian Sign Language + + + + + Ukpe-Bayobiri + + + + + Ukwa + + + + + Ukrainian + + + + + Urubu-Kaapor Sign Language + + + + + Ukue + + + + + Ukwuani-Aboh-Ndoni + + + + + Fungwa + + + + + Ulukwumi + + + + + Ulch + + + + + Usku + + + + + Ulithian + + + + + Meriam + + + + + Ullatan + + + + + Ulumanda' + + + + + Unserdeutsch + + + + + Umatilla + + + + + Umbundu + + + + + Marrucinian + + + + + Umbindhamu + + + + + Umbuygamu + + + + + Ukit + + + + + Umon + + + + + Umotina + + + + + Umpila + + + + + Umbugarla + + + + + Pendau + + + + + Munsee + + + + + North Watut + + + + + Undetermined + + + + + Uneme + + + + + Ngarinyin + + + + + Enawene-Nawe + + + + + Unami + + + + + Worora + + + + + Unde Kaili + + + + + Uokha + + + + + Umeda + + + + + Uripiv-Wala-Rano-Atchin + + + + + Urarina + + + + + Urubu-Kaapor + + + + + Urningangg + + + + + Urdu + + + + + Uru + + + + + Uradhi + + + + + Urigina + + + + + Urhobo + + + + + Urim + + + + + Urak Lawoi' + + + + + Urali + + + + + Urapmin + + + + + Uruangnirin + + + + + Ura (Papua New Guinea) + + + + + Uru-Pa-In + + + + + Lehalurup + + + + + Urat + + + + + Urumi + + + + + Uruava + + + + + Sop + + + + + Urimo + + + + + Orya + + + + + Uru-Eu-Wau-Wau + + + + + Usarufa + + + + + Ushojo + + + + + Usui + + + + + Usaghade + + + + + Uspanteco + + + + + Uya + + + + + Otank + + + + + Ute-Southern Paiute + + + + + Amba (Solomon Islands) + + + + + Etulo + + + + + Utu + + + + + Urum + + + + + Kulon-Pazeh + + + + + Ura (Vanuatu) + + + + + U + + + + + West Uvean + + + + + Uri + + + + + Lote + + + + + Kuku-Uwanh + + + + + Doko-Uyanga + + + + + Uzbek + + + + + Northern Uzbek + + + + + Southern Uzbek + + + + + Vaagri Booli + + + + + Vale + + + + + Vafsi + + + + + Vagla + + + + + Varhadi-Nagpuri + + + + + Vai + + + + + Vasekela Bushman + + + + + Vehes + + + + + Vanimo + + + + + Valman + + + + + Vao + + + + + Vaiphei + + + + + Huarijio + + + + + Vasavi + + + + + Vanuma + + + + + Varli + + + + + Wayu + + + + + Southeast Babar + + + + + Venetian + + + + + Veddah + + + + + Veluws + + + + + Vemgo-Mabas + + + + + Venda + + + + + Ventureno + + + + + Veps + + + + + Mom Jango + + + + + Vaghri + + + + + Virgin Islands Creole English + + + + + Vidunda + + + + + Vietnamese + + + + + Vili + + + + + Viemo + + + + + Vilela + + + + + Vinza + + + + + Vishavan + + + + + Viti + + + + + Iduna + + + + + Kariyarra + + + + + Ija-Zuba + + + + + Kujarge + + + + + Kaur + + + + + Kulisusu + + + + + Kamakan + + + + + Kodeoha + + + + + Korlai Creole Portuguese + + + + + Tenggarong Kutai Malay + + + + + Kurrama + + + + + Kayu Agung + + + + + Valpei + + + + + Vatrata + + + + + Vlaams + + + + + Martuyhunira + + + + + Mbabaram + + + + + Juxtlahuaca Mixtec + + + + + Mudu Koraga + + + + + East Masela + + + + + Mainfrankisch + + + + + Minigir + + + + + Maraghei + + + + + Miwa + + + + + Ixtayutla Mixtec + + + + + Makhuwa-Shirima + + + + + Malgana + + + + + Mitlatongo Mixtec + + + + + Muko-Muko + + + + + Soyaltepec Mazatec + + + + + Soyaltepec Mixtec + + + + + Marenje + + + + + Moksela + + + + + Muluridyi + + + + + Valley Maidu + + + + + Makhuwa + + + + + Tamazola Mixtec + + + + + Ayautla Mazatec + + + + + Mazatlan Mazatec + + + + + Vano + + + + + Vinmavis + + + + + Vunapu + + + + + Volapuk + + + + + Voro + + + + + Votic + + + + + Varisi + + + + + Burmbar + + + + + Moldova Sign Language + + + + + Venezuelan Sign Language + + + + + Vumbu + + + + + Vunjo + + + + + Vute + + + + + Walla Walla + + + + + Wab + + + + + Wasco-Wishram + + + + + Wandamen + + + + + Walser + + + + + Wakona + + + + + Wa'ema + + + + + Watubela + + + + + Wares + + + + + Waffa + + + + + Walamo + + + + + Wampanoag + + + + + Wan + + + + + Wappo + + + + + Wapishana + + + + + Wageman + + + + + Waray (Philippines) + + + + + Washo + + + + + Kaninuwa + + + + + Waura + + + + + Waka + + + + + Waiwai + + + + + Watam + + + + + Wayana + + + + + Wampur + + + + + Warao + + + + + Wabo + + + + + Waritai + + + + + Wara + + + + + Wanda + + + + + Wanji + + + + + Alagwa + + + + + Waigali + + + + + Wakhi + + + + + Wa + + + + + Warlpiri + + + + + Waddar + + + + + Wagdi + + + + + Wanman + + + + + Wajarri + + + + + Woi + + + + + Yanomami + + + + + Waci Gbe + + + + + Wandji + + + + + Wadaginam + + + + + Wadjiginy + + + + + Wadjigu + + + + + Wewaw + + + + + We Western + + + + + Wedau + + + + + Weh + + + + + Were + + + + + Weme Gbe + + + + + North Wemale + + + + + Westphalien + + + + + Weri + + + + + Cameroon Pidgin + + + + + Perai + + + + + Welaung + + + + + Wejewa + + + + + Yafi + + + + + Wagaya + + + + + Wangganguru + + + + + Wahgi + + + + + Waigeo + + + + + Wagawaga + + + + + Warrgamay + + + + + Manusela + + + + + North Wahgi + + + + + Wahau Kenyah + + + + + Wahau Kayan + + + + + Southern Toussian + + + + + Wichita + + + + + Wik-Epa + + + + + Wik-Keyangan + + + + + Wik-Ngathana + + + + + Wik-Me'anha + + + + + Wiaki + + + + + Wik-Iiyanh + + + + + Wikalkan + + + + + Wilawila + + + + + Wik-Mungkan + + + + + Ho-Chunk + + + + + Wirafed + + + + + Wintu + + + + + Wiru + + + + + Muduapa + + + + + Wirangu + + + + + Wiyot + + + + + Waja + + + + + Warji + + + + + Kw'adza + + + + + Wakde + + + + + Wakawaka + + + + + Walio + + + + + Mwali Comorian + + + + + Kunbarlang + + + + + Waioli + + + + + Wailaki + + + + + Wali (Sudan) + + + + + Middle Welsh + + + + + Walloon + + + + + Wolio + + + + + Wailapa + + + + + Wallisian + + + + + Wuliwuli + + + + + Wichi Lhamtes Vejoz + + + + + Walak + + + + + Wali (Ghana) + + + + + Waling + + + + + Mawa (Nigeria) + + + + + Wambaya + + + + + Wamas + + + + + Wambule + + + + + Waima'a + + + + + Wamin + + + + + Maiwa (Indonesia) + + + + + Waamwang + + + + + Wom (Papua New Guinea) + + + + + Wambon + + + + + Walmajarri + + + + + Mwani + + + + + Wanambre + + + + + Wantoat + + + + + Wandarang + + + + + Waneci + + + + + Wanggom + + + + + Ndzwani Comorian + + + + + Wanukaka + + + + + Wanggamala + + + + + Wano + + + + + Wanap + + + + + Usan + + + + + Tyaraity + + + + + We Northern + + + + + Wogeo + + + + + Wolani + + + + + Woleaian + + + + + Gambian Wolof + + + + + Wogamusin + + + + + Kamang + + + + + Longto + + + + + Wolof + + + + + Wom (Nigeria) + + + + + Wongo + + + + + Manombai + + + + + Woria + + + + + Hanga Hundi + + + + + Wawonii + + + + + Weyto + + + + + Maco + + + + + Warapu + + + + + Warluwara + + + + + Warduji + + + + + Ware + + + + + Warungu + + + + + Wiradhuri + + + + + Wariyangga + + + + + Warlmanpa + + + + + Warumungu + + + + + Warnang + + + + + Waropen + + + + + Wardaman + + + + + Waris + + + + + Waru + + + + + Waruna + + + + + Gugu Warra + + + + + Wae Rana + + + + + Merwari + + + + + Waray (Australia) + + + + + Warembori + + + + + Wusi + + + + + Waskia + + + + + Owenia + + + + + Wasa + + + + + Wasu + + + + + Wotapuri-Katarqalai + + + + + Dumpu + + + + + Berta + + + + + Watakataui + + + + + Mewati + + + + + Wotu + + + + + Wikngenchera + + + + + Wunambal + + + + + Wudu + + + + + Wutunhua + + + + + Silimo + + + + + Wumbvu + + + + + Bungu + + + + + Wurrugu + + + + + Wutung + + + + + Wu Chinese + + + + + Wuvulu-Aua + + + + + Wulna + + + + + Wauyai + + + + + Waama + + + + + Wetamut + + + + + Warrwa + + + + + Wawa + + + + + Waxianghua + + + + + Wyandot + + + + + Wangaaybuwan-Ngiyambaa + + + + + Wayoro + + + + + Western Fijian + + + + + Kachari + + + + + Adai + + + + + Aequian + + + + + Aghwan + + + + + Kahayan + + + + + Kaimbe + + + + + Kalmyk + + + + + /Xam + + + + + Xamtanga + + + + + Khao + + + + + Apalachee + + + + + Aquitanian + + + + + Karami + + + + + Kamas + + + + + Katawixi + + + + + Kauwera + + + + + Xavante + + + + + Kawaiisu + + + + + Kayan Mahakam + + + + + Kamba (Brazil) + + + + + Bactrian + + + + + Kombio + + + + + Middle Breton + + + + + Bolgarian + + + + + Kambera + + + + + Kambiwa + + + + + Kabixi + + + + + Cumbric + + + + + Camunic + + + + + Celtiberian + + + + + Cisalpine Gaulish + + + + + Chemakum + + + + + Classical Armenian + + + + + Comecrudo + + + + + Cotoname + + + + + Chorasmian + + + + + Carian + + + + + Classical Tibetan + + + + + Curonian + + + + + Chuvantsy + + + + + Coahuilteco + + + + + Cayuse + + + + + Dacian + + + + + Edomite + + + + + Malayic Dayak + + + + + Eblan + + + + + Hdi + + + + + //Xegwi + + + + + Kelo + + + + + Kembayan + + + + + Epi-Olmec + + + + + Xerente + + + + + Kesawai + + + + + Xeta + + + + + Keuru + + + + + Faliscan + + + + + Galatian + + + + + Gabrielino-Fernandeno + + + + + Galindan + + + + + Garza + + + + + Harami + + + + + Hunnic + + + + + Hadrami + + + + + Khetrani + + + + + Xhosa + + + + + Hernican + + + + + Hattic + + + + + Hurrian + + + + + Khua + + + + + Xiandao + + + + + Iberian + + + + + Xiri + + + + + Illyrian + + + + + Xinca + + + + + Xipinawa + + + + + Xiriana + + + + + Indus Valley Language + + + + + Xipaya + + + + + Kalkoti + + + + + Manigri-Kambole Ede Nago + + + + + Kho'ini + + + + + Mendalam Kayan + + + + + Kereho-Uheng + + + + + Khengkha + + + + + Kagoro + + + + + Karahawyana + + + + + Kenyan Sign Language + + + + + Kajali + + + + + Kaco' + + + + + Kelinyau Kenyah + + + + + Mahakam Kenyah + + + + + Kayan River Kayan + + + + + Kiorr + + + + + Kabatei + + + + + Koroni + + + + + Xakriaba + + + + + Kumbewaha + + + + + Kantosi + + + + + Kaamba + + + + + Kgalagadi + + + + + Kembra + + + + + Karore + + + + + Western Kenyah + + + + + Kurtokha + + + + + Kamula + + + + + Loup B + + + + + Lycian + + + + + Lydian + + + + + Lemnian + + + + + Ligurian (Ancient) + + + + + Liburnian + + + + + Alanic + + + + + Loup A + + + + + Lepontic + + + + + Lusitanian + + + + + Cuneiform Luwian + + + + + Elymian + + + + + Mushungulu + + + + + Mbonga + + + + + Makhuwa-Marrevone + + + + + Mbedam + + + + + Median + + + + + Mingrelian + + + + + Mengaka + + + + + Kuku-Muminh + + + + + Miarra + + + + + Majera + + + + + Ancient Macedonian + + + + + Malaysian Sign Language + + + + + Manado Malay + + + + + Morerebi + + + + + Kuku-Mu'inh + + + + + Kuku-Mangk + + + + + Meroitic + + + + + Moroccan Sign Language + + + + + Matbat + + + + + Kamu + + + + + Antankarana Malagasy + + + + + Tsimihety Malagasy + + + + + Maden + + + + + Mayaguduna + + + + + Mori Bawah + + + + + Ancient North Arabian + + + + + Kanakanabu + + + + + Middle Mongolian + + + + + Kuanhua + + + + + Northern Kankanay + + + + + Anglo-Norman + + + + + Kangri + + + + + Kanashi + + + + + Kokoda + + + + + Soga + + + + + Kominimung + + + + + Xokleng + + + + + Komo (Sudan) + + + + + Konkomba + + + + + Xukuru + + + + + Kopar + + + + + Korubo + + + + + Kowaki + + + + + Pecheneg + + + + + Liberia Kpelle + + + + + Phrygian + + + + + Pictish + + + + + Pumpokol + + + + + Kapinawa + + + + + Pochutec + + + + + Puyo-Paekche + + + + + Parthian + + + + + Pisidian + + + + + Punic + + + + + Puyo + + + + + Qatabanian + + + + + Kraho + + + + + Eastern Karaboro + + + + + Kreye + + + + + Krikati-Timbira + + + + + Armazic + + + + + Arin + + + + + Raetic + + + + + Aranama-Tamique + + + + + Karawa + + + + + Sabaean + + + + + Tina Sambal + + + + + Scythian + + + + + Sidetic + + + + + Sempan + + + + + Shamang + + + + + Sio + + + + + Subi + + + + + Sakan + + + + + South Slavey + + + + + Kasem + + + + + Sanga (Nigeria) + + + + + Solano + + + + + Silopi + + + + + Makhuwa-Saka + + + + + Sherpa + + + + + Assan + + + + + Silt'e + + + + + Sanuma + + + + + Sudovian + + + + + Saisiyat + + + + + Alcozauca Mixtec + + + + + Chazumba Mixtec + + + + + Katcha-Kadugli-Miri + + + + + Diuxi-Tilantongo Mixtec + + + + + Ketengban + + + + + Transalpine Gaulish + + + + + Sinicahua Mixtec + + + + + San Juan Teita Mixtec + + + + + Tijaltepec Mixtec + + + + + Magdalena Penasco Mixtec + + + + + Northern Tlaxiaco Mixtec + + + + + Tokharian A + + + + + San Miguel Piedras Mixtec + + + + + Early Tripuri + + + + + Sindihui Mixtec + + + + + Tacahua Mixtec + + + + + Cuyamecalco Mixtec + + + + + Yoloxochitl Mixtec + + + + + Tasmanian + + + + + Alu Kurumba + + + + + Betta Kurumba + + + + + Kunfal + + + + + Kunigami + + + + + Jennu Kurumba + + + + + Umbrian + + + + + Kuo + + + + + Upper Umpqua + + + + + Urartian + + + + + Kuthant + + + + + Kxoe + + + + + Venetic + + + + + Kamviri + + + + + Vandalic + + + + + Volscian + + + + + Vestinian + + + + + Woccon + + + + + Xwela Gbe + + + + + Kwegu + + + + + Western Xwla Gbe + + + + + Written Oirat + + + + + Kwerba Mamberamo + + + + + Ke'o + + + + + Zhang-Zhung + + + + + Zemgalian + + + + + Yaminahua + + + + + Yuhup + + + + + Pass Valley Yali + + + + + Yagua + + + + + Pume + + + + + Yaka (Democratic Republic of Congo) + + + + + Yamana + + + + + Yazgulyam + + + + + Yagnobi + + + + + Banda-Yangere + + + + + Yakima + + + + + Yalunka + + + + + Yamba + + + + + Yao + + + + + Yapese + + + + + Yaqui + + + + + Yabarana + + + + + Nugunu (Cameroon) + + + + + Yambeta + + + + + Yuwana + + + + + Yangben + + + + + Yawalapiti + + + + + Yauma + + + + + Agwagwune + + + + + Lokaa + + + + + Yala + + + + + Yemba + + + + + Yangbye + + + + + West Yugur + + + + + Yakha + + + + + Yamphu + + + + + Hasha + + + + + Yukuben + + + + + Yaben + + + + + Yabaana + + + + + Yabong + + + + + Yawiyo + + + + + Yaweyuha + + + + + Central Yi + + + + + Yucuna + + + + + Eastern Yiddish + + + + + Yidgha + + + + + Yoidik + + + + + Yiddish Sign Language + + + + + Ravula + + + + + Yeniche + + + + + Yimas + + + + + Yeni + + + + + Yevanic + + + + + Yela + + + + + Yendang + + + + + Tarok + + + + + Yeskwa + + + + + Yetfa + + + + + Yerukula + + + + + Yapunda + + + + + Yeyi + + + + + Yagomi + + + + + Yagaria + + + + + Yagwoia + + + + + Judeo-Iraqi Arabic + + + + + Yinggarda + + + + + Yinglish + + + + + Yiddish + + + + + Ache Yi + + + + + Guizhou Yi + + + + + Western Yiddish + + + + + Yidiny + + + + + Yindjibarndi + + + + + Xishan Lalu Yi + + + + + Yindjilandji + + + + + Yimchungru Naga + + + + + Yinchia + + + + + Dayao Yi + + + + + Poluo Yi + + + + + Miqie Yi + + + + + North Awyu + + + + + Yis + + + + + Eastern Lalu Yi + + + + + Awu Yi + + + + + Eshan-Xinping Yi + + + + + Axi Yi + + + + + Yir Yoront + + + + + Azhe Yi + + + + + Yakan + + + + + Northern Yukaghir + + + + + Yoke + + + + + Yakaikeke + + + + + Yakamul + + + + + Yasa + + + + + Yekora + + + + + Yakoma + + + + + Yaul + + + + + Yele + + + + + Yelogu + + + + + Angguruk Yali + + + + + Yil + + + + + Limi Yi + + + + + Naluo Yi + + + + + Yalarnnga + + + + + Aribwaung + + + + + Nyalayu + + + + + Yamphe + + + + + Yambes + + + + + Yameo + + + + + Yamongeri + + + + + Mili Yi + + + + + Muji Yi + + + + + Makwe + + + + + Iamalele + + + + + Maay + + + + + Yamna + + + + + Yamap + + + + + Mysian + + + + + Mator-Taygi-Karagas + + + + + Yandruwandha + + + + + Yango + + + + + Yangho + + + + + Naukan Yupik + + + + + Yangulam + + + + + Yana + + + + + Yong + + + + + Yansi + + + + + Yahuna + + + + + Yoba + + + + + Yogad + + + + + Yonaguni + + + + + Yokuts + + + + + Yombe + + + + + Yonggom + + + + + Yoruba + + + + + Yos + + + + + Yoron + + + + + Yoy + + + + + Pula Yi + + + + + Puwa Yi + + + + + Yerakai + + + + + Yareba + + + + + Yaoure + + + + + Yari + + + + + Nenets + + + + + Nhengatu + + + + + Yerong + + + + + Yarsun + + + + + Yarawata + + + + + Yassic + + + + + Yugoslavian Sign Language + + + + + Sani Yi + + + + + Southeastern Lolo Yi + + + + + Southern Lolopho Yi + + + + + Sirenik Yupik + + + + + Yessan-Mayo + + + + + Yucatan Maya + + + + + Yugambal + + + + + Yuchi + + + + + Judeo-Tripolitanian Arabic + + + + + Yue Chinese + + + + + Havasupai-Walapai-Yavapai + + + + + Yug + + + + + Yuruti + + + + + Karkar-Yuri + + + + + Yuki + + + + + Yulu + + + + + Quechan + + + + + Bena (Nigeria) + + + + + Yukpa + + + + + Yuqui + + + + + Yurok + + + + + Chan Santa Cruz Maya + + + + + Yopno + + + + + Yugh + + + + + Yau (Morobe Province) + + + + + Southern Yukaghir + + + + + East Yugur + + + + + Yuracare + + + + + Yawa + + + + + Yavitero + + + + + Kalou + + + + + Western Lalu Yi + + + + + Wumeng Yi + + + + + Yawanawa + + + + + Wuding-Luquan Yi + + + + + Yawuru + + + + + Western Yi + + + + + Wusa Yi + + + + + Yawarawarga + + + + + Yuanjiang-Mojiang Yi + + + + + Yau (Sandaun Province) + + + + + Sierra de Juarez Zapotec + + + + + San Juan Guelavia Zapotec + + + + + Ocotlan Zapotec + + + + + Cajonos Zapotec + + + + + Yareni Zapotec + + + + + Ayoquesco Zapotec + + + + + Zaghawa + + + + + Zangwal + + + + + Isthmus Zapotec + + + + + Zaramo + + + + + Zanaki + + + + + Zauzou + + + + + Miahuatlan Zapotec + + + + + Ozolotepec Zapotec + + + + + Zapotec + + + + + Aloapam Zapotec + + + + + Rincon Zapotec + + + + + Santo Domingo Albarradas Zapotec + + + + + Tabaa Zapotec + + + + + Zangskari + + + + + Yatzachi Zapotec + + + + + Mitla Zapotec + + + + + Xadani Zapotec + + + + + Zayse-Zergulla + + + + + Zari + + + + + Coatecas Altas Zapotec + + + + + Ngazidja Comorian + + + + + Zeeuws + + + + + Zenag + + + + + Zenaga + + + + + Kinga + + + + + Magori + + + + + Zhuang + + + + + Zhaba + + + + + Zhire + + + + + Chinese + + + + + Zhoa + + + + + Zia + + + + + Zimbabwe Sign Language + + + + + Zimakani + + + + + Mesme + + + + + Zinza + + + + + Ziriya + + + + + Zigula + + + + + Zizilivakan + + + + + Kaimbulawa + + + + + Koibal + + + + + Koguryo + + + + + Khorezmian + + + + + Karankawa + + + + + Kott + + + + + Sao Paulo Kaingang + + + + + Zakhring + + + + + Kitan + + + + + Kaurna + + + + + Krevinian + + + + + Khazar + + + + + Manda (Australia) + + + + + Zimba + + + + + Margany + + + + + Maridan + + + + + Mangerr + + + + + Mfinu + + + + + Marti Ke + + + + + Makolkol + + + + + Negeri Sembilan Malay + + + + + Maridjabin + + + + + Mandandanyi + + + + + Madngele + + + + + Marimanindji + + + + + Mbangwe + + + + + Molo + + + + + Mpuono + + + + + Mituku + + + + + Maranunggu + + + + + Mbesa + + + + + Maringarr + + + + + Muruwari + + + + + Mbariman-Gudhinma + + + + + Mbo (Democratic Republic of Congo) + + + + + Bomitaba + + + + + Mariyedi + + + + + Mbandja + + + + + Zan Gula + + + + + Zande (individual language) + + + + + Mang + + + + + Manangkari + + + + + Mangas + + + + + Copainala Zoque + + + + + Chimalapa Zoque + + + + + Zome + + + + + Asuncion Mixtepec Zapotec + + + + + Tabasco Zoque + + + + + Rayon Zoque + + + + + Francisco Leon Zoque + + + + + Lachiguiri Zapotec + + + + + Yautepec Zapotec + + + + + Choapan Zapotec + + + + + Southeastern Ixtlan Zapotec + + + + + Petapa Zapotec + + + + + San Pedro Quiatoni Zapotec + + + + + Guevea De Humboldt Zapotec + + + + + Totomachapan Zapotec + + + + + Santa Maria Quiegolani Zapotec + + + + + Quiavicuzas Zapotec + + + + + Tlacolulita Zapotec + + + + + Lachixio Zapotec + + + + + Mixtepec Zapotec + + + + + Santa Ines Yatzechi Zapotec + + + + + Amatlan Zapotec + + + + + El Alto Zapotec + + + + + Zoogocho Zapotec + + + + + Santiago Xanica Zapotec + + + + + Coatlan Zapotec + + + + + San Vicente Coatlan Zapotec + + + + + Yalalag Zapotec + + + + + Chichicapan Zapotec + + + + + Zaniza Zapotec + + + + + San Baltazar Loxicha Zapotec + + + + + Mazaltepec Zapotec + + + + + Texmelucan Zapotec + + + + + Kara (Korea) + + + + + Mirgan + + + + + Zirenkel + + + + + Zaparo + + + + + Zarphatic + + + + + Mairasi + + + + + Kaskean + + + + + Zambian Sign Language + + + + + Southern Rincon Zapotec + + + + + Lachirioag Zapotec + + + + + Elotepec Zapotec + + + + + Xanaguia Zapotec + + + + + Santiago Lapaguia Zapotec + + + + + San Agustin Mixtepec Zapotec + + + + + Santa Catarina Albarradas Zapotec + + + + + Loxicha Zapotec + + + + + Quioquitani-Quieri Zapotec + + + + + Tilquiapan Zapotec + + + + + Tejalapan Zapotec + + + + + Guila Zapotec + + + + + Zaachila Zapotec + + + + + Yatee Zapotec + + + + + Zeem + + + + + Tokano + + + + + Zulu + + + + + Kumzari + + + + + Zuni + + + + + Zumaya + + + + + Zay + + + + + No linguistic content + + + + + Zyphe + + + + + Zaza + + + + + + + A data type for language codes. + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/niem-core/2.0/niem-core.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/niem-core/2.0/niem-core.xsd new file mode 100644 index 00000000..a888591a --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/niem-core/2.0/niem-core.xsd @@ -0,0 +1,3808 @@ + + + + NIEM Core includes both Universal (U) and Common (C) components. The identities for U and C components in Core are maintained with metadata. + + true + + + + + + + + + + + + + + + A data type for an association between an activity and a person involved in that activity. + + + + + + + + + + + + + + + A data type for an association between an activity and an item. + + + + + + + + + + + + + + + + A data type for an a association between an activity and an organization. + + + + + + + + + + + + + + + + A data type for an association between an activity and a person. + + + + + + + + + + + + + + + + A data type for a single or set of related actions, events, or process steps. + + + + + + + + + + + + + + + + + + + A data type for a geophysical location described by postal information. + + + + + + + + + + + + + + + A data type for a mode of transportation capable of flying in the air. + + + + + + + + + + + + + + + + + + + + + A data type for an amount of money. + + + + + + + + + + + + + + A data type for a minute of a degree, with a restricted range of 0 (inclusive) to 60 (exclusive). + + + + + + + + + + + + A data type for a minute of a degree, with a restricted range of 0 (inclusive) to 60 (exclusive). + + + + + + + + + + + + + A data type for a second of a minute, with a restricted range of 0 (inclusive) to 60 (exclusive). + + + + + + + + The maximum value for an angular second. + + + + + The minimum value for an angular second. + + + + + + + A data type for a second of a minute, with a restricted range of 0 (inclusive) to 60 (exclusive). + + + + + + + + + + + + + A data type for a connection, relationship, or involvement somehow linking people and/or things together. + + + + + + + + + + + + + + + + A data type for an association between a person and an authority figure. + + + + + + + + + + + + + + + + A data type for a digital representation of an object encoded in a binary format. + + + + + + + + + + + + + + + + + + + + + + A data type for how to contact a person or an organization. + + + + + + + + + + + + + + + A data type for a means of transport from place to place. + + + + + + + + + + + + + + + + A data type for a period of time. + + + + + + + + + + + + + + + + A data type for a calendar date. + + + + + + + + + + + + + + + A data type for a paper or electronic document. + + + + + + + + + + + + + + + + + + + + + A data type for an authorization issued to a driver granting driving privileges. + + + + + + + + + + + + + + + A data type for a license issued to a person granting driving privileges. + + + + + + + + + + + A data type for a legal or illegal substance that can be used as a medicine or a narcotic. + + + + + + + + + + + A data type for a person, organization, or thing capable of bearing legal rights and responsibilities. + + + + + + + + + + + + + + + A data type for a device containing a substance or agent that can cause an explosion. + + + + + + + + + + + + + + + + + + A data type for a building, place, or structure that provides a particular service. + + + + + + + + + + + + + + + + A data type for a weapon that will, or is designed to, or may readily be converted to expel a projectile by air, carbon dioxide, or the action of an explosive. + + + + + + + + + + + + + + + + + + + + + + A data type for a full telephone number. + + + + + + + + + + + + + + + + A data type for an association between a person and a guardian of that person. + + + + + + + + + + + + + + + + A data type for a representation of an identity. + + + + + + + + + + + + + + + + + + + + + A data type for a picture or visual representation of something. + + + + + + + + + + + A data type for an association of people who form a basic family unit of parents and children. + + + + + + + + + + + + + + + + + A data type for a user account for an instant messaging program by which a person or organization may be contacted. + + + + + + + + + + + + + + + + A data type for an intellectual property item. + + + + + + + + + + + A data type for an international telephone number. + + + + + + + + + + + + + + + + + A data type for an association between an item and something in which it is held. + + + + + + + + + + + + + + + + A data type for an association between a property and a location. + + + + + + + + + + + + + + + + A data type for an article or thing. + + + + + + + + + + + + + + + + + A data type for an evaluation of the monetary worth of an item. + + + + + + + + + + + + + + + + + A data type for a measurement of the angular distance between a point on the Earth and the Equator. + + + + + + + + + + + + + + + + + A data type for a degree of latitude. + + + + + + + + The maximum value for a latitude degree. + + + + + The minimum value for a latitude degree. + + + + + + + A data type for a degree of latitude. + + + + + + + + + + + + + A data type for a measurement of length. + + + + + + + + + + + + + + + A data type for an entity which has a contract to use a vehicle. + + + + + + + + + + + + + + + + A data type for an entity which conveys a vehicle by way of a lease. + + + + + + + + + + + + + + + + A data type for a geophysical location. + + + + + + + + + + + + + + + + A data type for a measurement of the angular distance between a point on the Earth and the Prime Meridian. + + + + + + + + + + + + + + + + + A data type for a degree of longitude. + + + + + + + + The minimum value for a longitude degree. + + + + + The maximum value for a longitude degree. + + + + + + + A data type for a degree of longitude. + + + + + + + + + + + + + A data type for a state of a marriage. + + + + + + + + + + + + + + + A data type for a measure point value. + + + + + + + + + + + + + A data type for a measurement range. + + + + + + + + + + + + + + + + A data type for a measurement. + + + + + + + + + + + + + + + A data type for information that further qualifies primary data; data about data. + + + + + + + + + + + + + + + + + + + + + + + + A data type for a North American Numbering Plan telephone number. + + + + + + + + + + + + + + + + + + A data type for a decimal value with a minimum value of 0. + + + + + + + + + + + A data type for a decimal value with a minimum value of 0. + + + + + + + + + + + + + A data type for a number value. + + + + + + + + + + + A data type for an association between organizations. + + + + + + + + + + + + + + + A data type for an association between an organization and an item. + + + + + + + + + + + + + + + + A data type for an association between an organization and a location. + + + + + + + + + + + + + + + + A data type for a body of people organized for a particular purpose. + + + + + + + + + + + + + + + + + A data type for an association between an organization and another organization or unit. + + + + + + + + + + + + + + + + A data type for an association between people. + + + + + + + + + + + + + + + A data type for an association between a person and a conveyance. + + + + + + + + + + + + + + + + A data type for an association between a person and an employment. + + + + + + + + + + + + + + + + + + + + + A data type for an association between a person and an item. + + + + + + + + + + + + + + + + A data type for a language capability of a person. + + + + + + + + + + + + + + + A data type for an association between a person and a location. + + + + + + + + + + + + + + + + A data type for a name by which a person is known, referred, or addressed. + + + + + + + + + + + A data type for a combination of names and/or titles by which a person is known. + + + + + + + + + + + + + + + + + + A data type for an association between a person and an organization. + + + + + + + + + + + + + + + + A data type for an association between a person and a location where that person lives. + + + + + + + + + + + + + + + + A data type for a human being. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A data type for an association between two persons who are in a state of union with each other. + + + + + + + + + + + + + + + A data type for an association between a person and a person assigned to do work for or on behalf of that person. + + + + + + + + + + + + + + + + + A data type for a word or phrase by which a person or thing is known, referred, or addressed. + + + + + + + + + + + A data type for an item that is owned, possessed, or otherwise acquired by an entity. + + + + + + + + + + + + + + + + + A data type for a count or tally. + + + + + + + + + + + A data type for an association between related activities. + + + + + + + + + + + + + + + + A data type for a state of something or someone. + + + + + + + + + + + + + + + + + A data type for a road, thoroughfare, or highway. + + + + + + + + + + + + + + + + + + + + A data type for an address. + + + + + + + + + + + + + + + + + + + A data type for a measurement of a quantity of a substance. + + + + + + + + + + + + + + + A data type for the matter or substance of which something consists. + + + + + + + + + + + + + + + + + + + + + A data type for a physical object. + + + + + + + + + + + + + + + + + + + + + + + + A data type for a telephone number for a telecommunication device. + + + + + + + + + + + + + + + A data type for a character string. + + + + + + + + + + + A data type for a measurement of a quantity of time. + + + + + + + + + + + + + + + A data type for an association between a conveyance and the people and/or goods it transported. + + + + + + + + + + + + + + + + + + + A data type for a location identified by latitude and longitude. + + + + + + + + + + + + + + + + A data type for an organization which brands vehicles. + + + + + + + + + + + + + + + + A data type for a motor-driven conveyance designed to carry its operator, and optionally passengers and cargo, over land. + + + + + + + + + + + + + + + + + A data type for a mode of transportation capable of transport by water. + + + + + + + + + + + + + + + + + + + + + + A data type for a property item used as an instrument of attack or defense. + + + + + + + + + + + + + + + + + A data type for a measurement of a weight. + + + + + + + + + + + + + + + A unit of money or exchange. + + + + + A unit of money or exchange. + + + + + An association between people who recognize each other but do not know each other very well. + + + + + A single or set of related actions, events, or process steps. + + + + + + + + + A single or set of related actions, events, or process steps. + + + + + + A kind of activity. + + + + + A date of an activity. + + + + + + + + A period of time over which an activity occurs. + + + + + + + + A date an activity occurs. + + + + + A description of an activity. + + + + + An identification that references an activity. + + + + + An association between an activity and an organization that abstracted information for that activity. + + + + + An association between an activity and an organization that cleared information for that activity. + + + + + An association between an activity and an organization somehow involved in that activity. + + + + + An association between an activity and a person involved in that activity. + + + + + An association between an activity and an item. + + + + + An association between an activity and an organization primarily associated with that activity. + + + + + A relationship between activities. + + + + + An association between an activity and an organization that responded to that organization. + + + + + An association between an activity and an organization with responsibility over that activity. + + + + + An association between an activity and an organization supervising that activity. + + + + + An association between an activity and a person who supervises the activity. + + + + + A single place or unit at which mail is delivered. + + + + + A complete address. + + + + + + + + A representation of an address. + + + + + A particular unit within a larger unit or grouping at a location. + + + + + + + + A mode of transportation capable of flying in the air. + + + + + A facility at which an aircraft is usually kept. + + + + + A color of the main body of an aircraft. + + + + + A color of the main body of an aircraft. + + + + + + + + A color of the main body of an aircraft. + + + + + + + + A manufacturer of an aircraft. + + + + + A specific design or kind of aircraft made by a manufacturer. + + + + + A style of an aircraft. + + + + + An identifier of an aircraft. + + + + + A color of the wings on an aircraft. + + + + + A color of the wings of an aircraft. + + + + + + + + A color of the wings of an aircraft. + + + + + + + + A date an association begins. + + + + + A date an association ends. + + + + + An association between a person with a trusted position of authority over a person. + + + + + An association between a babysitter and babysittee. + + + + + A digital representation of an object encoded in a binary format. + + + + + A binary encoding of data. + + + + + + + + A date on which a binary object is captured or created. + + + + + A kind of object that has been encoded. + + + + + A description of a binary object. + + + + + An identifier for a file format or content type of a binary object. + + + + + A name of a standard or protocol used to classify binary content. + + + + + An identifier that references a binary object. + + + + + A binary encoding of data. + + + + + A size of a binary object in kilobytes. + + + + + An association between people who live together. + + + + + A remark, explanation, or observation. + + + + + An electronic mailing address by which a person or organization may be contacted. + + + + + + + + A telephone number for a facsimile device by which a person or organization may be contacted. + + + + + + + + Details about how to contact a person or an organization. + + + + + A user account for an instant messaging program by which a person or organization may be contacted. + + + + + + + + A means of contacting someone. + + + + + A telephone number for a mobile telecommunication device by which a person or organization may be contacted. + + + + + + + + A telephone number for a paging device by which a person or organization may be contacted. + + + + + + + + A telephone number for a telecommunication device by which a person or organization may be contacted. + + + + + + + + An item that holds something. + + + + + + + + A means of transport from place to place. + + + + + + + + A number of engines on a conveyance. + + + + + A person who operates or drives a conveyance. + + + + + + + + A number of people in a conveyance excluding the driver. + + + + + An identification on a metal plate fixed to a conveyance. + + + + + An item that is specifically being conveyed. + + + + + + + + A person being conveyed. + + + + + + + + An association between people who work together. + + + + + A full date. + + + + + + + + A representation of a date. + + + + + A full date and time. + + + + + + + + Allowable recipients of information; dissemination statement or instructions. + + + + + A paper or electronic document. + + + + + + + + A paper or electronic document. + + + + + A country being discussed in a document. + + + + + A country being discussed in a document. + + + + + + + + A date a document was created. + + + + + A description of the content of a document. + + + + + An identifier assigned to a document to locate it within a file control system. + + + + + An identification that references a document. + + + + + A significant word or phrase that describes the overall content of a document or its main topic. + + + + + A name given to a document. + + + + + An association of two people who live together, are of the same sex, and share a significant, spouse-like relationship without the partnership being legally sanctioned. + + + + + Details about a license issued to a person granting driving privileges. + + + + + Details about a driver license identifier or driver license permit identifier, including the number and state. + + + + + A legal or illegal substance that can be used as a medicine or a narcotic. + + + + + A date that information take effect. + + + + + A person who works for a business or a person. + + + + + + + + A name of a department or command associated with a job position. + + + + + An employment identification assigned to a person. + + + + + A job title of an employee. + + + + + A rank, status, or promotion level of a person within an employment organization. + + + + + A business or person which employs a person. + + + + + A status of employment for a person. + + + + + An end date. + + + + + An organization capable of bearing legal rights and responsibilities. + + + + + + + + + A person capable of bearing legal rights and responsibilities. + + + + + + + + + A person, organization, or thing capable of bearing legal rights and responsibilities. + + + + + A date after which information is no longer valid. + + + + + A device containing a substance or agent that can cause an explosion. + + + + + An item contained within an explosive device designed to cause harm or damage when propelled by an explosion. + + + + + An item contained within an explosive device designed to cause harm or damage when propelled by an explosion. + + + + + + + + An item contained within an explosive device designed to cause harm or damage when propelled by an explosion. + + + + + + + + An object that contains an explosive substance or agent. + + + + + An object that contains an explosive substance or agent. + + + + + + + + An object that contains an explosive substance or agent. + + + + + + + + A substance that can cause an explosion when ignited or detonated. + + + + + A substance that can cause an explosion when ignited or detonated. + + + + + + + + A substance that can cause an explosion when ignited or detonated. + + + + + + + + A means by which an explosive is ignited or detonated. + + + + + A means by which an explosive is ignited or detonated. + + + + + + + + A means by which an explosive is ignited or detonated. + + + + + + + + An identification assigned to a facility. + + + + + A name of a facility. + + + + + An association between people who are in the same family. + + + + + A kind of relationship between family members. + + + + + A kind of relationship between family members. + + + + + + + + A kind of relationship between family members. + + + + + + + + A weapon that will, or is designed to, or may readily be converted to expel a projectile by air, carbon dioxide, or the action of an explosive. + + + + + True if firearm is an automatic weapon and can be fired in quick succession; false otherwise. + + + + + A diameter of the inside of a barrel of a firearm. + + + + + A diameter of the inside of a barrel of a firearm. + + + + + + + + A diameter of the inside of a barrel of a firearm. + + + + + + + + A kind of firearm. + + + + + A description of a kind of firearm. + + + + + A description of a kind of firearm. + + + + + + + + A description of a kind of firearm. + + + + + + + + A surface coating or finish of a firearm. + + + + + A surface coating or finish of a firearm. + + + + + + + + A surface coating or finish of a firearm. + + + + + + + + A caliber or diameter of the inside of a barrel of a firearm, particularly a shotgun. + + + + + A handle of a firearm. + + + + + A manufacturer of a firearm. + + + + + An association between people who are friends. + + + + + A full telephone number. + + + + + + + + A measurement of the angular distance between a point on the Earth and the Equator. + + + + + A measurement of the angular distance between a point on the Earth and the Prime Meridian. + + + + + An association between a guardian and a dependent. + + + + + A kind of identification. + + + + + A kind of identification. + + + + + + + + A date an identification takes effect. + + + + + A date after which an identification is no longer valid. + + + + + A value that identifies something. + + + + + An area, region, or unit in which a unique identification is issued. + + + + + An area, region, or unit in which a unique identification is issued. + + + + + + + + An area, region, or unit in which a unique identification is issued. + + + + + + + + A person, organization, or locale which issues an identification. + + + + + A status of an identification. + + + + + An association between parents and children. + + + + + A name of an instant messaging program. + + + + + An account identifier used to reference a person or organization within an instant messaging system. + + + + + An intellectual property item. + + + + + An international telephone number. + + + + + + + + An article or thing. + + + + + + + + An article or thing. + + + + + A kind of item. + + + + + A kind of property item. + + + + + + + + A color of an item. + + + + + A description of the overall color of an item. + + + + + + + + An association between an item and something in which it is held. + + + + + A description of an item. + + + + + A measurement of the height of an item. + + + + + An association between a property item and the entity holding or storing that property item. + + + + + A binary representation of an image of an item. + + + + + A measurement of the length of an item. + + + + + An association between a property and a location. + + + + + A name of the manufacturer that produced an item. + + + + + A name of a specific design or kind of item made by a manufacturer. + + + + + A year in which an item was manufactured or produced. + + + + + An association between a property item and an entity that moved that property item. + + + + + An identification inscribed on or attached to a part, collection of parts, or complete unit by the manufacturer. + + + + + A style of an item. + + + + + An evaluation of the monetary worth of an item. + + + + + A monetary value of an item. + + + + + A date an item value takes effect. + + + + + A description of the monetary worth of an item. + + + + + A measurement of the weight of an item. + + + + + A measurement of the width of an item. + + + + + A system of words or symbols used for communication. + + + + + A system of words or symbols used for communication. + + + + + + + + A date information was last modified. + + + + + A date information was last checked for accuracy. + + + + + A value that specifies the degree of a latitude. The value comes from a restricted range between -90 (inclusive) and +90 (inclusive). + + + + + A value that specifies a minute of a degree. The value comes from a restricted range of 0 (inclusive) to 60 (exclusive). + + + + + A value that specifies a second of a minute. The value comes from a restricted range of 0 (inclusive) to 60 (exclusive). + + + + + A unit of measure of a length value. + + + + + An entity which has a contract or lease to use a vehicle. + + + + + An entity which conveys vehicles by way of a lease. + + + + + Details about a physical location. + + + + + + + + Details about a physical location. + + + + + A geophysical location described by postal information. + + + + + A name of a city or town. + + + + + An association between a location and an organization at that location. + + + + + A country, territory, dependency, or other such geopolitical subdivision of a location. + + + + + A country, territory, dependency, or other such geopolitical subdivision of a location. + + + + + + + + An association between a location and its emergency services. + + + + + An association between a location and a person neighboring that location. + + + + + An association between a location and an organization. + + + + + An association between a location and its police department. + + + + + An identifier of a post office-assigned zone for an address. + + + + + A state, commonwealth, province, or other such geopolitical subdivision of a country. + + + + + A state, commonwealth, province, or other such geopolitical subdivision of a country. + + + + + + + + A road, thoroughfare or highway. + + + + + + + + A location identified by a latitude and longitude. + + + + + A value that specifies the degree of a longitude. The value comes from a restricted range between -180 (inclusive) and +180 (exclusive). + + + + + A value that specifies a minute of a degree. The value comes from a restricted range of 0 (inclusive) to 60 (exclusive). + + + + + A value that specifies a second of a minute. The value comes from a restricted range of 0 (inclusive) to 60 (exclusive). + + + + + An association between two persons who are legally married to each other. + + + + + A specific measurement value. + + + + + + + + A measurement specified by a minimum and maximum value. + + + + + + + + A measurement value. + + + + + Information that further qualifies primary data; data about data. + + + + + A North American Numbering Plan telephone number. + + + + + + + + An association between people who live close to each other. + + + + + A unit which conducts some sort of business or operations. + + + + + + + + A unit which conducts some sort of business or operations. + + + + + An association between an organization and another organization. + + + + + A kind or functional type of organization. + + + + + A kind or functional type of organization. + + + + + + + + An association between an organization and a gang. + + + + + An association between an organization and an item. + + + + + A name of an organization. + + + + + An association between an organization and a property item owned by that organization. + + + + + An entity that owns, controls, or operates the organization. + + + + + An association between an organization and a property item possessed by that organization. + + + + + An association between an organization and its principal official. + + + + + An association between an organization and its subsidiary organization. + + + + + A tax identification assigned to an organization. + + + + + A unit of an organization. + + + + + + + + A human being. + + + + + + + + A human being. + + + + + An association between a person and an activity in which a person was or may have been involved. + + + + + A description of the involvement of a person in an activity. + + + + + A measurement of the age of a person. + + + + + An alternate name used by a person. + + + + + An association between a person and a unit to which that person is assigned. + + + + + An association between people. + + + + + A person having or perceived as having a trusted position of authority over a person. + + + + + + + + A date a person was born. + + + + + A son or daughter of a person. + + + + + + + + A county that assigns rights, duties, and privileges to a person because of the birth or naturalization of the person in that country. + + + + + A county that assigns rights, duties, and privileges to a person because of the birth or naturalization of the person in that country. + + + + + + + + An association between a person and a conveyance. + + + + + An association between a person and a criminal organization. + + + + + An employment a person currently holds. + + + + + An association between a person and the current location of that person. + + + + + A person dependent upon the guardianship of another. + + + + + + + + An association between a person and a location at which that person is being detained. + + + + + An employment of a person. + + + + + An association between a person and a location at which that person is employed. + + + + + A color of the eyes of a person. + + + + + A color of the eyes of a person. + + + + + + + + A color of the eyes of a person. + + + + + + + + An employment a person held in the past but does not currently hold. + + + + + A complete name of a person. + + + + + An association between a person and a gang. + + + + + A first name of a person. + + + + + A person with guardianship over another. + + + + + + + + A color of the hair of a person. + + + + + A color of the hair of a person. + + + + + + + + A color of the hair of a person. + + + + + + + + A measurement of the height of a person. + + + + + An association between a person and a driving incident in which that person was involved. + + + + + An association between a person and an item. + + + + + An association between a person and a location at which that person is know to have been previously. + + + + + An association between a person and the last known location at which that person was seen. + + + + + An association between a person and a location. + + + + + A middle name of a person. + + + + + A combination of names and/or titles by which a person is known. + + + + + An association between a person and an organization. + + + + + An association between a person and an organization. + + + + + Information about an identifier with a kind that is not explicitly defined in the standard that refers to a person within a certain domain. + + + + + An association between a person and a property item that person owns. + + + + + A father or mother of a person. + + + + + + + + An identification of a passport issued to a person. + + + + + An association between a person and a property item that person possesses. + + + + + A capacity of a person for a language with which that person has the strongest familiarity. + + + + + An association between a person and a primary worker assigned to that person. + + + + + A classification of a person based on factors such as geographical locations and genetics. + + + + + A classification of a person based on factors such as geographical locations and genetics. + + + + + + + + A classification of a person based on factors such as geographical locations and genetics. + + + + + + + + An association between a person and a referral worker assigned to that person. + + + + + A unique reference to a living person; assigned by the United States Social Security Administration. + + + + + A gender or sex of a person. + + + + + A gender or sex of a person. + + + + + + + + A last name or family name of a person. + + + + + An association between a person and a temporarily assigned unit. + + + + + A status of a union between two people. + + + + + A status of a union between two people. + + + + + A measurement of the weight of a person. + + + + + A person assigned to do work for or on behalf of a person. + + + + + + + + An association between a person and a person assigned to do work for or on behalf of that person. + + + + + An association between an activity and a preceding activity. + + + + + A tangible or intangible item that can be owned or used. + + + + + An association between a property and its current location. + + + + + An amount of money for which an item could currently be sold. + + + + + An association between a property and disposition location. + + + + + An amount of money a previously missing item is worth after having been found. + + + + + A maximum value of a range. + + + + + A minimum value of a range. + + + + + An association between an activity and a related activity. + + + + + An association between related cases. + + + + + A date information was observed, measured, identified, or became known. + + + + + An association between a person and a location where that person lives. + + + + + A general description of a place in which a person lives. + + + + + A kind of occupancy of a residence. + + + + + A property of a role object. This specifies the base object, of which the role object is a function. + + + + + An entity of whom the role object is a function. + + + + + + + + + An organization of whom the role object is a function. + + + + + + + + + A person of whom the role object is a function. + + + + + + + + + A level of security of information. + + + + + A number or string set by a data provider so that information that is sent can be retraced back to its source. + + + + + A date on which something begins. + + + + + A date a status was set, effected, or reported. + + + + + A description of a status or condition of something or someone. + + + + + A name, identifier, or other reference of a person or organization which assigns a status. + + + + + An association between people who do not know each other. + + + + + A kind of street. + + + + + A complete reference for a street. + + + + + A name of a street. + + + + + A number that identifies a particular unit or location within a street. + + + + + A direction that appears after a street name. + + + + + A direction that appears before a street name. + + + + + An address. + + + + + + + + A matter or substance of which something consists. + + + + + A kind of substance. + + + + + A kind of substance. + + + + + + + + A substance. + + + + + A description of the ingredients or makeup of a substance. + + + + + A description of a container used to hold a substance. + + + + + A physical state or form in which a substance appears. + + + + + A description of where a substance was found. + + + + + A quantity of a substance being described. + + + + + A unit of measure for a quantity of a substance. + + + + + A physical object. + + + + + A dialing code for a state or province for phone numbers in the USA, Canada, Mexico, and the Caribbean. + + + + + An international dialing code for a country. + + + + + A portion of a telephone number that usually represents a central telephone switch. + + + + + A portion of a telephone number that identifies the individual circuit within an exchange. + + + + + A telephone number for a telecommunication device. + + + + + A complete telephone number. + + + + + A telephone number. + + + + + A telephone number. + + + + + Additional numbers to be entered after a call connects to be directed to the appropriate place. + + + + + A unit of measure of the time value. + + + + + An association between a conveyance and the people and/or goods it transported. + + + + + A motor-driven conveyance designed to carry its operator, and optionally passengers and cargo, over land. + + + + + An organization that brands a vehicle. + + + + + An identification of an entity which brands a vehicle. + + + + + A single, upper-most, front-most, or majority color of a vehicle. + + + + + + + + A lower-most or rear-most color of a two-tone vehicle or a lesser color of a multi-colored vehicle. + + + + + + + + An association between a vehicle and its garage location. + + + + + A unique combination of alphanumeric characters that identifies a specific vehicle. + + + + + A manufacturer of a vehicle. + + + + + A specific design or class of vehicle made by a manufacturer. + + + + + A style of a vehicle. + + + + + + + + An association between a property item and the entity that towed that property item. + + + + + A mode of transportation capable of transport by water. + + + + + A kind of vessel. + + + + + A color of the majority of a vessel. + + + + + + + + A minor color of a vessel. + + + + + + + + An identification found on the main body or frame of a vessel. + + + + + A substance used as the primary construction material of the main body or frame of a vessel. + + + + + A substance used as the primary construction material of the main body or frame of a vessel. + + + + + + + + A substance used as the primary construction material of the main body or frame of a vessel. + + + + + + + + A shape of the main body or frame of a vessel. + + + + + A shape of the main body or frame of a vessel. + + + + + + + + A shape of the main body or frame of a vessel. + + + + + + + + A manufacturer of a vessel. + + + + + A mode by which a vessel is designed to move through the water. + + + + + A mode by which a vessel is designed to move through the water. + + + + + + + + A mode by which a vessel is designed to move through the water. + + + + + + + + An identification assigned to a vessel by the coast guard or another vessel licensing organization + + + + + A manufacturer of a device pulled by a vehicle for the purpose of transporting a vessel over land. + + + + + A manufacturer of a device pulled by a vehicle for the purpose of transporting a vessel over land. + + + + + + + + A manufacturer of a device pulled by a vehicle for the purpose of transporting a vessel over land. + + + + + + + + A property item used as in instrument of attack or defense. + + + + + A way or manner in which a weapon was used. + + + + + A person who uses a weapon. + + + + + + + + A unit of measure of the weight value. + + + + + A year. + + + + + + + + A year and month. + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/nonauthoritative-code/2.0/nonauthoritative-code.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/nonauthoritative-code/2.0/nonauthoritative-code.xsd new file mode 100644 index 00000000..8e5a6379 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/nonauthoritative-code/2.0/nonauthoritative-code.xsd @@ -0,0 +1,62 @@ + + + + Non-authoritative codes for the direction of a person's pose in an image. + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/proxy/xsd/2.0/xsd.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/proxy/xsd/2.0/xsd.xsd new file mode 100644 index 00000000..1bed9600 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/proxy/xsd/2.0/xsd.xsd @@ -0,0 +1,140 @@ + + + + Proxy types that carry dictionary metadata and have XML data type simple contents. + + true + + + + + + + A data type for Base64-encoded binary data. + + + + + + + + + + + + + A data type for binary-valued logic (true/false). + + + + + + + + + + + + + A data type for a calendar date with the format CCYY-MM-DD. + + + + + + + + + + + + + + + + + + + + + + + + + A data type for arbitrary precision decimal numbers. + + + + + + + + + + + + + A data type for a duration of time with the format PnYnMnDTnHnMnS, where nY is the number of years, nM is the number of months, nD is the number of days, nH is the number of hours, nM is the number of minutes, and nS is the number of seconds. + + + + + + + + + + + + + A data type for a Gregorian calendar year with the format CCYY. + + + + + + + + + + + + + A data type for a specific gregorian month in a specific gregorian year. + + + + + + + + + + + + + A data type for an integer with a minimum value of 0. + + + + + + + + + + + + + A data type for character strings in XML. + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/structures/2.0/structures.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/structures/2.0/structures.xsd new file mode 100644 index 00000000..b735d8a0 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/structures/2.0/structures.xsd @@ -0,0 +1,145 @@ + + + + The structures schema provides support for + fundamental NIEM linking mechanisms, as well as providing base types + for definition of NIEM-conformant types. + + + + The Object resource defines an identifier which acts + as a conceptual base for objects in NIEM-conformant + schemas. + + + + + + The Association resource defines an identifier which + acts as a conceptual base for association in NIEM-conformant + schemas. + + + + + + + The id attribute is used to define XML IDs for + NIEM objects. These IDs may be targets of reference elements, + metadata attributes, and link metadata + attributes. + + + + + The linkMetadata attribute allows an element to + point to metadata that affects the relationship between the context + and the value of the object. + + + + + The attribute metadata allows an object to point + to metadata that affects itself. + + + + + The ref attribute is used by reference elements in + NIEM to refer to an object via an ID reference, rather than including + the object itself as element content. + + + + + The sequenceID attribute allows a series of + elements to define a sequence for content that does not correspond to + the order of element declarations within a type. This attribute may + override the sequence of elements appearing within an + instance. + + + + + The SimpleObjectAttributeGroup attribute group + provides a collection of attributes which are appropriate for + definition of object types. + + + + + + + + The Augmentation element provides a substitution + group head for augmentations. The designer of a message or object may + use this element within an object definition. This will allow the + selection of augmentations dynamically, at run time (or at least + schema selection time) rather than at schema authoring + time. + + + + + The Metadata element provides a substitution group + head for metadata. Like the substitution group head for + augmentations, this allows selection of metadata to be decided late + in message creation, rather than at schema authoring time. This + element may also be used to provide a single point in a container + where all metadata for a message may be + deposited. + + + + + The AugmentationType type is a base type for all + augmentations. An augmentation may have metadata and an ID, but may + not have link metadata, as it does not establish a relationship + between its value and its context. The individual element contents of + an augmentation, however, do establish a relationship between the + context of the augmentation and the values of the individual + elements. + + + + + + + The ComplexObjectType type provides a base class + for object definition, association definitions, and external adapter + type definitions. An instance of one of these types may have an ID. + It may have metadata as it establishes the existence of an object + (maybe a conceptual object). It may also have link metadata, as an + element of one of these types establishes a relationship between its + value and its context. + + + + + + + + The MetadataType type is a base class for metadata + type definition. This type provides only an ID, as the metadata may + be referenced. It does not itself have metadata, and does not have + link metadata. + + + + + + The ReferenceType type is the type of all + reference elements within NIEM-conformant schemas. This type provides + a reference attribute, to reference an object defined elsewhere. It + includes an ID, as the link established by a reference element may + need to be identified, and it includes link metadata, as an element + of this type establishes a relationship between its context and the + referenced object. It does not contain metadata, as it does not + itself establish the existence of an object; it relies on a + definition located elsewhere. + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/unece_rec20-misc/2.0/unece_rec20-misc.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/unece_rec20-misc/2.0/unece_rec20-misc.xsd new file mode 100644 index 00000000..2a8d65d5 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem-constrained/unece_rec20-misc/2.0/unece_rec20-misc.xsd @@ -0,0 +1,360 @@ + + + + Miscellaneous unit of measure codes from the United Nations Economic Commission for Europe Recommendation No. 20, Codes for Units of Measure used in International Trade. + + true + + + + + + + A data type for units of measurements for a length value. + + + + + + + + micrometre (micron) + + + + + milli-inch + + + + + angstrom + + + + + astronomical unit + + + + + decametre + + + + + femtometre + + + + + fathom + + + + + light year + + + + + nanometre + + + + + picometre + + + + + parsec + + + + + centimetre + + + + + decimetre + + + + + foot + + + + + hectometre + + + + + inch + + + + + kilometre + + + + + micro-inch + + + + + millimetre + + + + + metre + + + + + nautical mile + + + + + mile (statute mile) + + + + + chain + + + + + yard + + + + + + + A data type for units of measurements for a length value. + + + + + + + + + + + + + A data type for units of measurement for a weight value. + + + + + + + + megagram + + + + + troy ounce or apothecary ounce + + + + + centigram + + + + + hundred pounds (cwt) / hundred weight (US) + + + + + hundred weight (UK) + + + + + decigram + + + + + decagram + + + + + decitonne + + + + + gram + + + + + grain + + + + + hectogram + + + + + kilogram + + + + + kilotonne + + + + + pound + + + + + ton (UK) or long ton (US) + + + + + megagram + + + + + ounce + + + + + stone (UK) + + + + + ton (US) or short ton (UK/US) + + + + + tonne (metric ton) + + + + + + + A data type for units of measurement for a weight value. + + + + + + + + + + + + + A data type for units of time. + + + + + + + + year + + + + + kilosecond + + + + + microsecond + + + + + millisecond + + + + + nanosecond + + + + + tropical year + + + + + day + + + + + hour + + + + + minute [unit of time] + + + + + month + + + + + second [unit of time] + + + + + week + + + + + + + A data type for units of time. + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/appinfo/2.0/appinfo.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/appinfo/2.0/appinfo.xsd new file mode 100644 index 00000000..bcaea262 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/appinfo/2.0/appinfo.xsd @@ -0,0 +1,94 @@ + + + + The appinfo schema provides support for high level + data model concepts and additional syntax to support the NIEM + conceptual model and validation of NIEM-conformant + instances. + + + + The Resource element provides a method for + application information to define a name within a schema, without the + name being bound to a schema component. This is used by the + structures schema to define names for structures:Object and + structures:Association. + + + + + + + + The Deprecated element provides a method for + identifying components as being deprecated. A deprecated component is + one which is provided, but whose use is not + recommended. + + + + + + + + + + + + + + The Base element provides a mechanism for + indicating base types and base elements in schema, for the cases in + which XML Schema mechanisms are insufficient. For example, it is used + to indicate Object or Association bases. + + + + + + + + + The ReferenceTarget element indicates a NIEM type + which may be a target (that is, a destination) of a NIEM reference + element. It may be used in combinations to indicate a set of valid + types. + + + + + + + + + The AppliesTo element is used in two ways. First, + it indicates the set of types to which a metadata type may be + applied. Second, it indicates the set of types to which an + augmentation element may be applied. + + + + + + + + + The ConformantIndicator element may be used in two + ways. First, it is included as application information for a schema + document element to indicate that the schema is NIEM-conformant. + Second, it is used as application information of a namespace import + to indicate that the schema is not + NIEM-conformant. + + + + + The ExternalAdapterTypeIndicator element indicates + that a complex type is an external adapter type. Such a type is one + that is composed of elements and attributes from non-NIEM-conformant + schemas. The indicator allows schema processors to switch to + alternative processing modes when processing NIEM-conformant versus + non-NIEM-conformant content. + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/atf/2.0/atf.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/atf/2.0/atf.xsd new file mode 100644 index 00000000..f3d2d84e --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/atf/2.0/atf.xsd @@ -0,0 +1,593 @@ + + + + Bureau of Alcohol, Tobacco, and Firearms + + true + + + + + + + A data type for an item contained within an explosive device designed to cause harm or damage when propelled by an explosion. + + + + + + + + Aluminum Foil + + + + + Nails + + + + + Nuts/Bolts/Screws + + + + + Pellets + + + + + Rubber bands/Straps + + + + + Shells + + + + + String/Rope + + + + + Styrofoam + + + + + Tape + + + + + Wax/Epoxy/Putty/Bondo/etc. + + + + + Wire Construction + + + + + Balloons + + + + + Wood + + + + + Other + + + + + BBs/Buckshot + + + + + Candles + + + + + Cardboard/Paper + + + + + Clay + + + + + Fragmentation + + + + + Magnet + + + + + Money/Coins + + + + + + + A data type for an item contained within an explosive device designed to cause harm or damage when propelled by an explosion. + + + + + + + + + + + + + A data type for an object that contains an explosive substance or agent. + + + + + + + + Bag + + + + + Letter/Book + + + + + Pipe + + + + + Radio/TV/Tape Player + + + + + Tubing + + + + + Vehicle + + + + + Other + + + + + Bottle/Jug + + + + + Box + + + + + Brief Case/Luggage + + + + + Can + + + + + CO2 Container + + + + + End Cap/Plugs + + + + + Gas Cylinder + + + + + Grenade + + + + + + + A data type for an object that contains an explosive substance or agent. + + + + + + + + + + + + + A data type for a substance that can cause an explosion when ignited or detonated. + + + + + + + + ANFO + + + + + Dynamite + + + + + Flam. Liquid + + + + + Flam. Solid; Flam. Gas + + + + + Liquid Explosive + + + + + Magnesium + + + + + Match Heads; Photo Flash Powder + + + + + Nitroglycerene + + + + + Ordnance + + + + + Pellet Powder + + + + + PETN + + + + + Black Powder + + + + + Potassium Chlorate/Chemical/Solidox/etc. + + + + + Primer; Ammonium Nitrate/Prill + + + + + Rdx, Nitroguandine + + + + + Shape Charge + + + + + Simulator + + + + + Smokeless Powder + + + + + TNT + + + + + Other + + + + + Blasting Agent + + + + + Booster + + + + + C3 + + + + + C4 + + + + + Composition B + + + + + Deta Sheet + + + + + Dynamite Binary + + + + + + + A data type for a substance that can cause an explosion when ignited or detonated. + + + + + + + + + + + + + A data type for a means by which an explosive is ignited or detonated. + + + + + + + + Alligator Clips + + + + + Detonating Cord + + + + + Electrically Initiated + + + + + Electronic Component + + + + + Firecracker/Fireworks + + + + + Firing Device + + + + + Flash/Light Bulb + + + + + Galvanometer + + + + + Igniter Cord + + + + + Improvised Detonators/Initiators + + + + + Lamp + + + + + Batteries + + + + + Male/Female Plugs + + + + + Matches + + + + + Military Fuse + + + + + Model Rocket + + + + + Mouse/Rat Trap + + + + + Remote Control + + + + + Safety Fuse + + + + + Signal Incendiary Fire + + + + + Spark Plug + + + + + Squib/Electric Matches + + + + + Blasting Machine + + + + + Switch + + + + + Timer + + + + + Trailers of Flammable Liquid + + + + + Wick + + + + + Wire + + + + + Other + + + + + Caps Electric + + + + + Caps Non-Electric + + + + + Cigarette + + + + + Clock + + + + + Clothespin + + + + + Connectors + + + + + + + A data type for a means by which an explosive is ignited or detonated. + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/dea/2.0/dea.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/dea/2.0/dea.xsd new file mode 100644 index 00000000..1ea39748 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/dea/2.0/dea.xsd @@ -0,0 +1,287 @@ + + + + Drug Enforcement Administration + + true + + + + + + + + + + + + + + Amphetamine (clandestine) + + + + + Methamphetamine (clandestine) + + + + + Crystal Methamphetamine ("ice") + + + + + P2P + + + + + Methcathinone + + + + + Other Stimulant (clandestine) + + + + + Amphetamine or Stimulant Related Chemical + + + + + Methylphenidate + + + + + Pseudoephedrine + + + + + Ephedrine + + + + + Iodine or Red Phosphorus + + + + + Cocaine HCL + + + + + Cocaine Base (excluding crack) + + + + + Crack Cocaine + + + + + Cocaine (pharmaceutical) + + + + + Cocaine Related Chemical + + + + + Depressant (clandestine) + + + + + Methaqualone + + + + + Fentanyl (clandestine) + + + + + Depressant Related Chemical + + + + + Chemical Equipment (non drug specific) + + + + + GHB or GBL or BD (And GHB Analogues) + + + + + Ketamine (And Its Analogues) + + + + + Unspecified Analogues + + + + + Heroin + + + + + Opium + + + + + Morphine Base + + + + + Opium or Heroin or Morphine Related Chemical + + + + + LSD + + + + + PCP + + + + + MDA or MDMA or MDE + + + + + Other Hallucinogen + + + + + Hallucinogen Related Chemical + + + + + Marijuana (foreign origin) + + + + + Marijuana (domestic origin) + + + + + Indoor cultivation + + + + + Hashish + + + + + Hashish Oil + + + + + Opioid Treatment Pharmaceuticals + + + + + Hydromorphone (Dilaudid) + + + + + Schedule II Pharmaceutical Narcotic + + + + + Schedule II Pharmaceutical Non Narcotic + + + + + Schedule III Narcotic + + + + + Benzodiazepine + + + + + All Other Pharmaceutical Controlled Substances + + + + + Oxycodone + + + + + Hydrocodone + + + + + Palladone + + + + + Steroid (pharmaceutical) + + + + + Steroid (clandestine) + + + + + No Specific Drug + + + + + + + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/domains/emergencyManagement/2.0/emergencyManagement.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/domains/emergencyManagement/2.0/emergencyManagement.xsd new file mode 100644 index 00000000..54b34220 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/domains/emergencyManagement/2.0/emergencyManagement.xsd @@ -0,0 +1,40 @@ + + + + Emergency Management + + true + + + + + + + + + + + + + + + + + + + + + + + + + + Free Text alternative to "Resource Keyword" (or may be used in addition). Any description of resource or resource characteristics, situation requiring resource assistance, statement of mission resource must satisfy, or RFI text. + + + + + A name or title of the resource. May be selected via the <Resource Keyword> if available. + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/domains/immigration/2.0/immigration.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/domains/immigration/2.0/immigration.xsd new file mode 100644 index 00000000..aa57fe91 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/domains/immigration/2.0/immigration.xsd @@ -0,0 +1,17 @@ + + + + Immigration + + true + + + + + + + + A number indicating a unique number assigned to an aliens file. + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/domains/jxdm/4.0/jxdm.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/domains/jxdm/4.0/jxdm.xsd new file mode 100644 index 00000000..5982292a --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/domains/jxdm/4.0/jxdm.xsd @@ -0,0 +1,1069 @@ + + + + Justice + + true + + + + + + + + + + + + A data type for an association between an activity and a location. + + + + + + + + + + + + + + + + A data type for an organization that is formed to or intentionally conducts illegal activities. + + + + + + + + + + + + + + + + + + + A data type for criminal characteristics associated with a person or a criminal organization. + + + + + + + + + + + + + + + + + + + + + A data type for an association between a document and a person. + + + + + + + + + + + + + + + + A data type for a person involved in the enforcement of law. + + + + + + + + + + + + + + + + + + A data type for a unit of an agency responsible for enforcing the law and maintaining peace. + + + + + + + + + + + + + + + + + + + A data type for a person involved in a judicial area of government. + + + + + + + + + + + + + + + + + + + A data type for a person who serves on a jury and listens to a case to determine the guilt or innocence of a person accused of a crime. + + + + + + + + + + + + + + + + + + + + + + A data type for details of a person whose whereabouts are unknown. + + + + + + + + + + + + + + + + + + + + A data type for additional information about a person. + + + + + + + + + + + + + + + + + A data type for information about a person who is required to register information with a law enforcement agency due to having been convicted of a certain type of crime. + + + + + + + + + + + + + + + + + + + + + + + A data type for an association between a subject and a person. + + + + + + + + + + + + + + + + A data type for a person who is involved or suspected of being involved in an incident or criminal activity. + + + + + + + + + + + + + + + + + + + A data type for a person who suffers injury, loss, or death as a result of an incident. + + + + + + + + + + + + + + + + + + + A data type for a person who has observed an incident. + + + + + + + + + + + + + + + + + + + + + + An association between an accomplice and a subject. + + + + + An association between an activity and someone who assists with that activity. + + + + + An association between an activity and a person who cleared information for that activity. + + + + + An association between an activity and a person who assigns people or units to respond to an activity or location. + + + + + An association between an activity and an enforcement official. + + + + + An association between an activity and a person who abstracted information about that activity. + + + + + An association between an activity and a person who approved information for that activity. + + + + + An association between an activity and a person who owns the information regarding that activity. + + + + + An association between an activity and a person who releases the information about that activity. + + + + + An association between an activity and a person who reports information about that activity. + + + + + An association between an activity and a judicial official. + + + + + An association between an activity and a location. + + + + + An association between an activity and a person of unknown involvement. + + + + + A judge that issues, orders, or authors an appellate case decision. + + + + + An attorney reported in an appellate case notice that originally tried a case. + + + + + A peace official who makes an arrest. + + + + + A person who is arrested. + + + + + A person admitted to practice law in his or her respective state and authorized to perform both civil and criminal legal functions for clients. + + + + + A person who is assigned bail. + + + + + An official who processes a subject for booking. + + + + + A corrections pre-trial screening official. + + + + + An official who searches a subject during a booking. + + + + + A person who is booked. + + + + + A peace official who supervises a subject making a telephone call. + + + + + An official who moves a subject to a detention facility. + + + + + An empanelled juror or an alternate juror. + + + + + The person/entity who has information relating to the activity or who testifies in court. + + + + + A person accused of committing a specific offense. + + + + + A person or entity who is the victim of an offense designated by the charge. + + + + + A peace official who gives a citation to a subject. + + + + + A person who violates a law and receives a citation. + + + + + A person who was found guilty of a crime. + + + + + A judge associated with a court event. + + + + + A person to which a court order applies. The subject could be a Protected Party, the recipient of a Summons or Subpoena, the subject of a Warrant, etc. + + + + + A judge or other judicial official that issued a court order. + + + + + An official who delivered a court order. + + + + + An official who delivered a court order. + + + + + + + + An official who delivered a court order. + + + + + + + + Details about an organization that is formed to or intentionally conducts illegal activities. + + + + + A caution or warning associated with a criminal organization. + + + + + An identifier assigned to a criminal organization. + + + + + An objective or purpose of the criminal organization. + + + + + A description of characteristic traits and identifiers of a criminal organization. + + + + + A color associated with criminal activity. + + + + + A description of the types of communication used by a criminal organization or person. + + + + + A description of criminal characteristics. + + + + + Identifying dress or clothing associated with a criminal organization or person. + + + + + A usual way in which a criminal organization or person acts or operates. + + + + + A description of a tattoo associated with a criminal organization or person. + + + + + A description of a location a criminal organization or person often frequents or considers to have control over. + + + + + A peace official that receives custody of a subject or property. + + + + + A peace official that releases custody of a subject or property. + + + + + A person who is being transferred from one custody to another. + + + + + A drug. + + + + + + + + A person involved in the enforcement of law. + + + + + An identifier used to refer to an enforcement official. + + + + + A kind of enforcement official. + + + + + An enforcement unit to which an enforcement officer is assigned. + + + + + A local area for which an enforcement unit is responsible. + + + + + An identifier of an enforcement unit. + + + + + A name of an enforcement unit. + + + + + A number that identifies an enforcement unit. + + + + + A section of an enforcement unit. + + + + + A person who used force against another. + + + + + A person who was a victim of force. + + + + + A hazardous material. + + + + + + + + An area, region, or unit in which a unique identification is issued. + + + + + + + + An area, region, or unit in which a unique identification is issued. + + + + + + + + A peace official that assisted in processing an incident. + + + + + An association between an incident and an informant for that incident. + + + + + An association between an incident and an investigator for that incident. + + + + + An association between an incident an item obtainer. + + + + + A peace official that submitted an incident report in an incident. + + + + + A peace official that responded to an incident. + + + + + A person whose actions caused an incident. + + + + + An enforcement supervisor responsible for, or present at, an incident. + + + + + An association between an incident and a person with an unknown link to that incident. + + + + + A person that was negatively affected in an incident. + + + + + A person who observed or has knowledge of an incident. + + + + + An official who hears and decides a case or who rules over a case proceeding. + + + + + A person involved in a judicial area of government. + + + + + A kind of judicial official. + + + + + An agency at which a judicial official works. + + + + + An identifier or name of a panel or group to which a judicial official is assigned. + + + + + An identifier assigned to a judicial official after registering within a state or region. + + + + + A person who serves on a jury and listens to a case to determine the guilt or innocence of a person accused of a crime. + + + + + A date a juror was dismissed from jury service. + + + + + True if a juror has been dismissed; false otherwise. + + + + + A reason why a juror was dismissed or excused. + + + + + True if a juror has been appointed as juror leader; false otherwise. + + + + + A juror number that identifies a juror within a panel on which he or she is serving + + + + + Identifies the panel on which a juror is serving. + + + + + True if a person is a primary indicator; false if a person in an alternate juror. + + + + + Details about a person whose whereabouts are unknown. + + + + + A circumstance surrounding the disappearance of a person. + + + + + A circumstance surrounding the disappearance of a person. + + + + + + + + A circumstance surrounding the disappearance of a person. + + + + + + + + A date a person was declared or legally assumed to be missing. + + + + + A date a missing person was found. + + + + + True if a missing person has been found; false otherwise. + + + + + A date a missing person was last seen before disappearing. + + + + + A person who last saw a missing person. + + + + + Additional information about a person. + + + + + + + + A number issued by the FBI's Automated Fingerprint Identification System (AFIS) based on submitted fingerprints. + + + + + A kind of identifier assigned to a person. + + + + + + + + A number issued by a state Automated Fingerprint Identification System (AFIS) based on submitted fingerprints. + + + + + A peace official that seized a property item. + + + + + Details about a person that is required to register their residential information with a local law enforcement agency due to having been convicted of a certain kind of crime. + + + + + An offense for which a person must register as being an offender. + + + + + A description of a registered offense for which a person must register. + + + + + A date a person no longer must register as an offender. + + + + + A date a person initially registered as an offender. + + + + + Identification information identifying a person as a certain kind of registered offender. + + + + + Requirements placed on a registered offender to report to a supervising agency. + + + + + The name of the profession a registered offender must report. + + + + + A date a person must being registering as an offender. + + + + + A person who is required to register as a sexual offender. + + + + + A person who is being sentenced. + + + + + An official assigned specifically to handle a call for service. + + + + + A higher court judge assigned the severity level to the referenced charge. + + + + + A person who is involved or suspected of being involved in an incident or criminal activity. + + + + + + + + A person who is involved or suspected of being involved in an incident or criminal activity. + + + + + A piece of cautionary information about a subject. + + + + + A set of identifying characteristics a subject has with regard to illegal activity. + + + + + An association between a person and a subject. + + + + + Additional information associated with a subject. + + + + + A person suspected of illegal activity. + + + + + A judge which issued a verdict. + + + + + A person who received a verdict. + + + + + Details about a person, organization, or other entity who suffers injury, loss, or death as a result of an incident. + + + + + Details about a victims property that was stolen or damaged. + + + + + + + + Describes what happens to the victim after the incident. + + + + + Details about an entity who suffers injury, loss, or death as a result of an incident. + + + + + True if a victim wants the alleged suspect prosecuted in a court of law. + + + + + An official who supervised a visit. + + + + + An official who supervised a visit. + + + + + + + + An official who supervised a visit. + + + + + + + + Details about a person who has observed an incident. + + + + + A description or narrative of an incident as reported by the witness. + + + + + A date a witness observed an incident. + + + + + A number or string identifying a witness. + + + + + A description of a location from which the witness observed an incident. + + + + + True if a witness's story has been corroborated or validated; false otherwise. + + + + + A special condition a witness requires to testify. + + + + + True if a witness is willing to testify; false otherwise. + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/domains/screening/2.0/screening.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/domains/screening/2.0/screening.xsd new file mode 100644 index 00000000..99c06483 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/domains/screening/2.0/screening.xsd @@ -0,0 +1,91 @@ + + + + The People Screening domain provides harmonized information sharing content within the Screening Portfolio of DHS. The Screening namespace is initially being populated with person screening information for immigrant and non-immigrant person types who have been encountered and identified by the Screening Portfolio Components. Screening expands on encounter-related NIEM elements currently included in the Immigration and Intelligence domains. + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An unmarried CHILD under 18 years of age taken voluntarily as a dependent by a person other than his/her biological parents. + + + + + The date on which the adoption of the ADOPTED CHILD took place. + + + + + The text that describes the ELECTRONIC ADDRESS. + + + + + An association between one LOCATION and another LOCATION. + + + + + An identifier that represents a LOCATION. + + + + + + + + An identifier that represents a LOCATION. + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/fbi/2.0/fbi.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/fbi/2.0/fbi.xsd new file mode 100644 index 00000000..5cd24f68 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/fbi/2.0/fbi.xsd @@ -0,0 +1,71833 @@ + + + + FBI code lists for National Crime and Information Center (NCIC-2000), National Incident-Based Reporting System (NIBRS), and National Law Enforcement Data Exchange (N-DEx). + + true + + + + + + + A data type for Boat Color. + + + + + + + + AME + + + + + BEIGE + + + + + BLACK + + + + + BLUE + + + + + BROWN + + + + + BRONZE + + + + + CAM + + + + + CHROME + + + + + COPPER + + + + + CREAM + + + + + DARK BLUE + + + + + DARK GREEN + + + + + GOLD + + + + + GREEN + + + + + GREY + + + + + LAVENDER + + + + + LIGHT BLUE + + + + + LIGHT GREEN + + + + + MAROON + + + + + MUL/COL + + + + + MVE + + + + + ORANGE + + + + + PURPLE + + + + + PINK + + + + + RED + + + + + SILVER + + + + + TAN + + + + + TEA + + + + + TPE + + + + + TURQUOISE + + + + + WHITE + + + + + YELLOW + + + + + + + A data type for Boat Color. + + + + + + + + + + + + + A data type for Boat Make. + + + + + + + + Wes-Co. Boats Division + + + + + Adams Enterprises + + + + + Trend Mfg. Co. Of America, Inc.(Jacksonville, FL) + + + + + Atlantic Boat Works (Boothbay, ME) + + + + + Sampson Marine + + + + + Sneak, The Inc. + + + + + Downeast Yachts, Inc. + + + + + Apollo Boat Mfg. Co. + + + + + Atlantic Boat Works + + + + + Alumacraft Boat Co.(Arkadelphia, AR) + + + + + Archercraft Boats + + + + + Achilles KCI Corp. + + + + + Action Marine (Chicago, IL) + + + + + Action Marine Inc. (Action Boats)(Hollywood, FL) + + + + + A. C. Interface Inc(Rancho Snta Mar, CA) + + + + + A. C. Mfg. Co. + + + + + Kidd Marine Sales + + + + + Atlantic Boat Works (Hull, MA) + + + + + Alindale Mfg., Inc. + + + + + Andrus Boats + + + + + Young Brothers Co., Inc. + + + + + Aardal Boats + + + + + Airline Equipment & Service Inc. + + + + + American Marine Engineer + + + + + American Fiberglass Co. + + + + + Airboat Engineering + + + + + American Fiberglass + + + + + American Fiber-Lite (Marion, IL)(American Fiberglass) + + + + + Phantom Boats (Aero-Glass Boat Co.) + + + + + Aeroglastics, Inc. (Baja Boat Co. &Sierra Boat Corp.) + + + + + Applegarth Marine Yard + + + + + Avenger Manufacturing Co.(Harvey, LA) + + + + + Apache Airboats, Inc. + + + + + Scooter Boats + + + + + Thunder Jet Boats + + + + + Maverick Sportboats(W. Columbia, SC) + + + + + Alcort Sailboats, Inc.(Waterbury, CT) + + + + + Abilities N S Inc (Beverly Hill, CA) + + + + + Augie's Marine Service(Pompano Beach, FL) + + + + + Anacapri Marine + + + + + Alaska Homemade Boats + + + + + Aladdin Mfg. Co. (Yazoo Boats) + + + + + Allison Craft Boat Co. + + + + + All Seasons Industries + + + + + Allison Craft Boats (Louisville, TN) + + + + + Al Grovers Marine Bass + + + + + Alabama Homemade Boats + + + + + AMF Alcort(Waterbury, CT) + + + + + American Multi-Craft + + + + + Amercian Sport Boat Mfg. Inc(Lexingon, KY) + + + + + American Mariner Inds + + + + + American Sail Inc (Aqua Cat, Inc.)(Charleston, SC) + + + + + Angler Boat Corp. + + + + + Anchor Industries, Inc. (SterncraftBoat Co. & Deckboat Corp.) + + + + + Anthony Boat Co. + + + + + Advantage Power Yachts + + + + + Arnold Industries + + + + + Appleby Mfg. Co. + + + + + Apollo Boats (Bountiful, UT) + + + + + Apache + + + + + American Pacific Inflatables Inc.(Temecula, CA) + + + + + Apollo Boats, Inc. (Clearwater, FL) + + + + + Aqua-Cycle International, Inc. + + + + + Arlington Special Editions + + + + + Arctco Inc (Thief River Falls, MN) + + + + + Arkansas Traveler Boat + + + + + Arrowcraft + + + + + Arrowhead Yachts (Vinita, OK) + + + + + Day Marine, Inc. (Day Co. & ArrowGlass) + + + + + Arkansas Homemade Boats + + + + + Academy Broadway Corp. + + + + + Ashcraft Boat Co. + + + + + Arizona Ski Boats + + + + + Anderson Suncoast Marine + + + + + Aquasport, Inc. + + + + + All Star + + + + + Astroglass Boats (Pro Craft) + + + + + Alcar Fiberglass & Boat Co. + + + + + Aristo Craft Boat Corp. (AtlantaBoat Works) + + + + + Atlantic Boat Works (Camden, ME)(Atlantic Steam Works) + + + + + Atlantic Eastern Corp. + + + + + Attex International (Akron, OH) + + + + + Seamaster Marine + + + + + Avon Rubber Co. (Seagull Marine)(Irvine, CA) + + + + + Acton Fiberglass, Inc. + + + + + Advantage Boats, Inc. + + + + + Advanced Marine Concepts Inc.(Avenger Mfg. Co., Inc.) + + + + + Avanti Industries, Inc. + + + + + Arrivee Inc. + + + + + Alumaweld Boats + + + + + Alweld Commercial Boats + + + + + Spirit Marine (Arctic Enterprises) + + + + + Aqua Terra Mfg. Co (indianola, IA) + + + + + Aztec Boat Corp. + + + + + Ayr-Way Industries + + + + + R K Bentley & Sons(Newport Beach, CA) + + + + + Arizona Homemade Boats + + + + + Bahner Custom Boats, Inc. + + + + + Thunderbird Products Corp.(Browning Aerocraft Marine) + + + + + Bear Airboats + + + + + Barron Boats, Inc. + + + + + Bass Cats Boats(Mountain Home, AR) + + + + + Brooks Boats (Mt. Desert, ME) + + + + + Brooks Fiberglass Co. + + + + + Blue Buoy Yachts + + + + + B-Craft Boat Mfg. Co. + + + + + Beachcraft Marine + + + + + Beach-Craft Boats + + + + + Boicourt Marine + + + + + Baycraft Marine (Irvine, CA) + + + + + Brendella Custom Boats + + + + + Boat City Paint & Body Shop(Pensacola, FL) + + + + + Buster Boat Co. + + + + + D Blackmans Boat Service(San Diego, CA) + + + + + Badger Boat Builders (Couderway, WI) + + + + + Beacon Boats (Bristol, RI) + + + + + CMF Boats + + + + + Berg Boats, Inc. + + + + + Bob E. Ayou Jr. Co. (Costa Mesa, CA) + + + + + Bemidji Boat Co., Inc. (Core CraftCanoes) + + + + + Whittaker Corp. (Bertram Yacht) + + + + + Bezer Boats (Lake Havasu City, AZ) + + + + + Blue Fin Industries, Inc. + + + + + Browning F/G Boat (Powell, TN) + + + + + Burchfiel Mfg. + + + + + Biffy Fiberglass Products(Encintas, CA) + + + + + Plastics Division of Indus(Atlanta, GA) + + + + + Bass Hound + + + + + Zebra Marine + + + + + Biddison Designs, Inc. + + + + + Beatty Industries + + + + + Durkee Enterprises, Inc. (Bojo BoatCo.) + + + + + Bass Hunter + + + + + Baker Custom Boats + + + + + Bayliner Marine, Inc. (Pipestone,MN) + + + + + Bayliner Marine, Inc. (Valdosta, GA) + + + + + Bayliner Marine, Inc. (Spokane, WA) + + + + + Bayliner Marine, Inc. (New Bern, NC) + + + + + Bayliner Marine, Inc. (Spokane, WA) + + + + + Bayliner Marine, Inc. (Seattle, WA) + + + + + Bomber Raider + + + + + Blue Star Marine Corp. + + + + + Bayou Boats + + + + + Bay Marine Plastics + + + + + Biesmeyer Boats + + + + + Bonair Boats, Inc. + + + + + Binder & Associates Inc. + + + + + Brownlow Mfg. Co. + + + + + Bonanza Molding Corp. + + + + + Ski West Boats Inc. (Merced, CA) + + + + + Bons Bateaux, The + + + + + Bonito Boats, Inc. + + + + + Force Engineering + + + + + BYI, Ltd., N.V. + + + + + Bentz Craft (Old Hickory, TN) + + + + + Boats Unlimited (Georgetown, SC) + + + + + Bradford Boatworks, Inc. + + + + + Buccaneer Power Boats + + + + + Bryant Boats Inc (Sweet Water, TN) + + + + + Barnett Boats (Green Lake, WI) + + + + + Bramco, Inc. + + + + + Seaswirl Boats + + + + + Broadbill Maine Corp. + + + + + Bracon Industries, Inc. + + + + + Burr Brothers Boats Inc (Marion, MA) + + + + + Burr Sailboat Sails + + + + + Smyrna Skiffs (Indian River Boats) + + + + + Harwill, Inc. (Browning Marine Div.& Aero-Craft Boat) + + + + + Banshee International, Inc. + + + + + Bassmaster Boats + + + + + J C Mfg. Inc. (North Webster, IN) + + + + + B-Craft Boat Co. + + + + + Bronta Boat Co., Inc. + + + + + Cotton Mouth Ind. Inc(French Settlement, LA) + + + + + Precision (Burgess Ent)(Fairbanks, AK) + + + + + Bass Tracker Corp. + + + + + Bass Tub Inc. + + + + + Brevard Boat Works (Fleetwing) + + + + + Bandit Mfg Inc (Vian, OK) + + + + + Broadwater Boat Co. + + + + + Boston Whaler, Inc. + + + + + Blue Water Boat Works + + + + + Baracuda Boats (Long Beach, CA) + + + + + B & W Plastics Inc. + + + + + Blue Water Boats + + + + + Bowland Marine + + + + + Bellco Boats, Inc. + + + + + Billy Seabold Racing Boats (EagleBoats, Ltd) + + + + + Bayrunner Boats, Inc (Woodbine, NJ) + + + + + B & A Dist. Company (Portland, OR) + + + + + Bush-Wacker Boat, Inc. + + + + + Bangor Punta Marine (Cal Boats) + + + + + California Boat Mfg. Co. + + + + + Cargile, Inc. + + + + + Carolina Cat + + + + + Calkins + + + + + Cobia Boat Co. + + + + + Texas Marine International, Inc.(Chrysler Boat Corp.) + + + + + Cee Bee Mfg. Co.(Lynwood, CA) + + + + + Corson Boat Co (Madison, ME) + + + + + Central Boat Works, Inc. + + + + + Craft Boat Works + + + + + Chris Craft (Algonac, MI) + + + + + Chris Craft (Sarasota, FL) + + + + + Chris Craft (Bradenton, FL) + + + + + Chris Craft + + + + + Chris Craft (Pompano, FL) + + + + + Chris Craft + + + + + Collinscraft, Inc. + + + + + Hobie Cat (Coast Catamaran Corp.) + + + + + Chris Craft (Swansboro, NC) + + + + + OMCCC Inc. (Swansboro, NC) + + + + + Chris Craft Roamer (Holland, MI) + + + + + Chris Craft (Gallipolis, OH) + + + + + Chris Craft (Fiumicino, Italy) + + + + + Chris Craft (Goshen, IN) + + + + + Cruise Boats, Inc. + + + + + C & C Yachts Inc. + + + + + Craig Catamaran Corp. (Orlando, FL) + + + + + Carver Boat Corp. (Cabral Boats) + + + + + Century Boat Co. + + + + + Blackhawk Canoe Co., Inc. + + + + + Centurian Boats, Inc. + + + + + Colorado Custom Design, Ltd. + + + + + Cole Boats (Cole Marine) + + + + + Custom Fiberglass Products + + + + + Columbia Fiberglass + + + + + Cacci Craft, Inc. + + + + + Cobra Mfg. Co. + + + + + California Homemade Boats + + + + + Collins Craft, Inc. + + + + + Islander Marine (Winter Garden, FL) + + + + + Crown Custom Fiberglass + + + + + General Marine Industries(Panama City, FL) + + + + + Challenger Boat, Inc. (ChallengerEnterprises) + + + + + Triton Custom Boats (Charger CustomBoats) + + + + + Checkmate Boats, Inc.(Bucyrus, OH) + + + + + Critchfield Marine, Inc. + + + + + Cheetah Boat Mfg., Inc. + + + + + Challenger Boat Works(Orlando, FL) + + + + + Culver-Chelle, Inc. + + + + + California Rivers (Geyserville, CA) + + + + + Chaparrel Marine Products + + + + + Carrera Boats + + + + + Cherokee Boat Co. + + + + + Concord Boat Corp. (Sherwood, AR) + + + + + Cape Craft Ltd. (St. James City, FL) + + + + + Classic Boat, Corp. + + + + + Caldwell High Perf. Boats(Pasco, WA) + + + + + Clark Boat Co. + + + + + Clipper Marine Corp. + + + + + Colorado Homemade Boats + + + + + Crosby Marine Engr Corp. + + + + + Custom Marine (Savannah, GA) + + + + + Cougar Marine, Inc. (N. Miami Beach,FL) + + + + + Camp Ways, Inc. + + + + + Carolina Boat Co. + + + + + Centark Industries, Inc. + + + + + Conroy Industries + + + + + The Coleman Co., Inc. (Wichita, KS) + + + + + Coronet Boats of North America + + + + + Classic Boats (Lindenhurst, NY) + + + + + Commander Boats + + + + + Hyundai Corp. + + + + + COOIBEE (Navy Canoe) + + + + + Caterpillar Boat Works + + + + + Cypress Shores Fabric (Florence, AL) + + + + + The Coleman Co., Inc. (New Braunfels, TX) + + + + + Campagna Fiberglass + + + + + Capri Sailboats + + + + + Cuda Craft + + + + + Custom Craft Unlimited + + + + + Cerne Marine + + + + + AMF Crestliner (Crestliner Div.) + + + + + Robalo Sport Fish Boat + + + + + Cruisers Div. (Mirro Marine Div.) + + + + + Cigarette Racing Team + + + + + Crews Craft, Inc. + + + + + Classic Boat, Inc. + + + + + Coastal Recreation (Aquarius Div. ofLaguna Yachts) + + + + + Correct Craft, Inc. + + + + + Answer Marine (Continental Boat Co.) + + + + + Catalina Yachts + + + + + Connecticut Homemade Boats + + + + + Custom Fiberglass + + + + + Cub Craft + + + + + Custom Marine + + + + + Catalina Boat Mfg. + + + + + Contender Custom Boats + + + + + Custom Marine (Vallejo, CA) + + + + + Custom Boat Mfg Co (St. Bernard, LA) + + + + + Condor Custom Boats + + + + + Caravelle Boat Co. + + + + + Cavalier Boats, Inc. + + + + + Coloso Boat Corp. + + + + + Storm Boats Ind. Inc. (Pompano, FL) + + + + + Crusader Custom Boats + + + + + Critchfield and Frobos Marina + + + + + Celebrity Boats Inc. + + + + + Cobra Boat Mfg., Inc. + + + + + Condor Boats + + + + + Bauteck Marine Corp.(St. Augustine, FL) + + + + + Dagger Canoe Company (Harriman, TN) + + + + + Dawson Boat Co. + + + + + Delta Dive Boats Inc.(Cape Canaveral, FL) + + + + + Dargel Boat Works (Donna, TX) + + + + + Dem-Craft Boat Co. + + + + + Dialcraft Boats + + + + + South Bay Duck Boats + + + + + Dick Clarke, Inc. + + + + + Doyle Craft + + + + + District of Columbia Homemade Boats + + + + + D & D Marine Mfg. Co.(Houston, TX) + + + + + Concepts Boats Inc. + + + + + Down East Dories + + + + + Delta Marine, Inc. + + + + + Delhi Mfg. Corp. (Delcraft) + + + + + Desoto Mfg. & Supply Co. + + + + + Deaver Custom Boat + + + + + Diversified Fiberglass Products + + + + + Dolphin Boats, Inc. (Princeton, FL) + + + + + Mossback Boat Mfg. Co. + + + + + Delco Fiberglass Products + + + + + Drifter Marine, Inc. + + + + + Tilton Boatworks Inc (JensenBeach, FL) + + + + + Diversity Lamenators, Inc. + + + + + Del-Craft (Antioch, CA) + + + + + Dolphin Boats, Inc. (Miami, FL) + + + + + Delaware Homemade Boats + + + + + Di Marco Boats + + + + + Douglass & McLeod Inc.(Grand River, OH) + + + + + Hosea Mfg. Co. + + + + + Doggett Marine Industries, Inc. + + + + + Dayton Marine Products + + + + + Donzi Marine, Inc. + + + + + Duranautic Mfg. Corp. + + + + + Duranautic, Inc. + + + + + Dana Custom Boats (Garden Grove, Ca) + + + + + C-Dory Inc. (Kent, WA) + + + + + Dolphin Canoe Co. + + + + + Bosun Marine Marketing, Inc.(Del Quay, USA, Ltd.) + + + + + Drift Craft + + + + + Dreamboat Co., Inc. + + + + + Cutler Gate (Perrine, FL) + + + + + Dolphin Boats Ltd.(North Chicago, IL) + + + + + Discovery Marine (Preble, NY) + + + + + Dorsett Marine, Inc. + + + + + Bumble Bee Boats (Tullahoma, TN) + + + + + Duracraft Boats, Inc. + + + + + Dusky Marine, Inc. + + + + + Duratech Mfg. Co. + + + + + Duroboat Mfg. Inc. + + + + + Douglas Marine Corp. (Douglas, MI) + + + + + Motion Marine (Clearwater, FL) + + + + + Davidson Motors + + + + + Associated Recreational ProductsCorp. (Playbouy Boats/Dar-VanMfg.) + + + + + Darrah Industries Inc. + + + + + Chief Mfg., Inc. (D & W Enterprises) + + + + + Fiber-Tech Products Inc. + + + + + Dixie Airboats, Inc. + + + + + Dixie Devil Mfg. Co. + + + + + Dixie Boat Works + + + + + Dixie Fiberglass Products + + + + + Dixie Marine Mfg. (Dixie Craft) + + + + + Dynamaglas Boat Co. + + + + + Dyercraft Boats (The Anchorage, Inc) + + + + + Karelsen Custom Boats + + + + + Explorer Boat & Canoe Co. + + + + + Ebko Industries + + + + + Eastern Boat Works + + + + + Bell Yachts (Destin, FL) + + + + + Cane Cutter, Inc. (Ed Cain, Inc., &Rigid Plastics, Inc.) + + + + + Page Powerboat Inc. (Gallatin, TN) + + + + + Egg Harbor Boat Co. + + + + + Eagle Mfg., Inc. + + + + + Cantrell Marine (Little Rock, AR) + + + + + Marlin Boats, Inc. (PerformerFiberglass Products) + + + + + Eliminator Boats + + + + + Eldo Craft Boat Co. + + + + + Elite Boats + + + + + Elgin + + + + + Elco Marine (Santa Ana, CA) + + + + + Eli Laminates Co., Inc. + + + + + Caribe Inflatable USA Inc(Miami, FL) + + + + + Enterprise Mitchell Co. + + + + + Eagle Marine Boat Mfg., Inc. + + + + + Enterprise Boats, Inc. + + + + + Ensign Yachts + + + + + ECO Products + + + + + Easy Rider Fiberglass + + + + + Ericson Yachts Inc(Irvine, California) + + + + + Eskay Plastics, Ltd. + + + + + Duckworth Boat Company + + + + + Randall Craft, Inc. + + + + + Ebbtide Corp. + + + + + East Tex Fiberglass Products + + + + + Edwards Boats & Tanksort Pierce, FL) + + + + + BENNINGTON MARINE CORP; ELKHART, INDIANA + + + + + Eagle Trawler Yachts + + + + + Envision Boats, Inc. (Monmouth, IL) + + + + + Eckler Watersports (Titusville, FL) + + + + + WALKER BAY BOATS, INC. + + + + + Exclusive Enterprises + + + + + Expoerts International(San Francisco, CA) + + + + + Astro Plastics Corp. (Excello Corp.) + + + + + Executive Boats + + + + + Ezy-Ryder Corp. (Clanton, AL) + + + + + Bruce Faer (Dunwoody, GA) + + + + + Fabuglass Co., Inc. + + + + + Sparkman Marine (Saugus, CA) + + + + + Quality Fabricators of Franklin,Inc. + + + + + Formosa Boat Building Co. + + + + + H & H Fiberglass, Inc.(Jim Henderson Mfg.) + + + + + Carsten Industries Inc.(Melrose, MN) + + + + + Fiber-Form (Div. of Bayliner Marine) + + + + + US Industries, Inc. (Fiberform) + + + + + Fiberking Boat Co. (Fiberking, Inc.) + + + + + Fantasy Boats Inc. (Glassport, PA) + + + + + Florida Bay Coaster Co (Green CoveSprings, FL) + + + + + Diversified Products (ForesterBoats, Inc.) + + + + + Fiber-Cell, Inc. + + + + + Falcon Boats of California + + + + + Fibercraft Mfg. Co. + + + + + Falcon Boats, Inc. + + + + + Freeland Manufacturing(Cape Coral, FL) + + + + + Feathercraft + + + + + Franklin Fiberglass (Eutis, FL) + + + + + F & F Boat Co. + + + + + Fiberglass Fabric, Inc. (ChaparralBoats, Inc.) + + + + + Fiberglass Unlimited + + + + + Cobalt Boats + + + + + Fountain Powerboats Inc. + + + + + Offshore Performance Industries,Inc. + + + + + F. A. McCullough, Inc. + + + + + Centurian Boats + + + + + Fiber Sport Inc. (Amory, MS) + + + + + Folbot Corp. + + + + + Flying Dutchman + + + + + Felt Industries, Inc. + + + + + Flagship Yacht Sales, Inc. + + + + + Florida Homemade Boats + + + + + Fisher Marine, Inc.(Topeka, IN) + + + + + Boston Whaler Multihull(Formulae Racing Sailboats) + + + + + FM Marine + + + + + Flare Marine Inc. (Lake Wales, FL) + + + + + Formall Plastics, Inc. + + + + + California Sport Boats(Newport Beach, CA) + + + + + Frost Marine + + + + + Kurtis Kraft Boats + + + + + Feather River Boat Co.(Yuba City, CA) + + + + + Fiber Steel Corp. + + + + + Four Star Fiberglass Corp.(Hallendale, FL) + + + + + Fish -N- Ski + + + + + Fiber Skiff, Incorporated + + + + + Fishmaster + + + + + Fiberglass Sales and Products + + + + + Fury Boats (Fury Speed and Marine) + + + + + Far West Marine Service + + + + + Four Winns (OMC) (Cadillac, MI) + + + + + Fiberglass Works + + + + + Gore Mfg. + + + + + Galaxie Boats, Inc. + + + + + Gagnier Mfg., Inc. + + + + + Galaxy Boat Mfg. Co.(Columbia, SC) + + + + + G-Cat Corporation + + + + + Aqua-Paddle + + + + + Georgia Homemade Boats + + + + + Gregor Boats (Gregor Boat Co. &W. W. Gregory) + + + + + Osagian Boats, Inc. + + + + + Grumman Allied Industries, Inc.(Grumman Boats) + + + + + Gibson Fiberglass Products + + + + + Grumman Boats Inc(Gruman-Carmichaels)(Corcoran, CA) + + + + + Galaxie Boat Works, Inc. + + + + + Glastron-Carlson + + + + + GO-DEVIL BOATS BATON ROUGE, LA + + + + + Godfrey Conveyor Co. + + + + + Golden Era Boats (Noank, CT) + + + + + General Marine Ino Inc. + + + + + Generation III, Inc. + + + + + Gigi Boat Manufacturers + + + + + G & G Boat Repair & Mfg(Hollywood, FL) + + + + + Gheenoe (Gheen Manufacturing)(Titusville, FL) + + + + + Gig Harbor Steel-Craft(Danville, IA) + + + + + Glastron Boat Co. + + + + + Gulfstream Boats, Inc. + + + + + Glasspar + + + + + Great Lake Inflatable, Inc. (GIL,Inc.) + + + + + General Marine Co. + + + + + Global Motorboat Corporation(Columbia, SC) + + + + + Greatest Marine Products ofFlorida + + + + + Glassmaster Boat Co., Inc. (GlassMaster Plastics) + + + + + Boats Unlimited Corp. (BeachcomberBoats & Glass Products Co.) + + + + + Grand Prize Boat Building, Inc. + + + + + Glassline Products, Inc. + + + + + Glas-Ply Boats, Inc. + + + + + Gazelle Products Co., Inc. + + + + + EZE Drift (Grants Pass, OR) + + + + + Genesis Powerboat Corp(Sandusky, OH) + + + + + G. R. International of Miami(Miami, FL) + + + + + Fiberstress, Inc. (Sure Cast Boats,Inc.) + + + + + Griffis & Sons Fiberglass(Starke, FL) + + + + + California Boats + + + + + Glasstream Boats + + + + + Glastex Co. + + + + + Gulfline Boats + + + + + Gulf Master + + + + + Gulf Wind Boat Co. (Geneva, AL) + + + + + Davis, George W. & Sons, Inc. + + + + + HAM Boat Works (Downers Grove, IL) + + + + + Sunshine Boats + + + + + Hallet + + + + + Hancock Boatworks + + + + + Hardin Marine (Anaheim, CA) + + + + + Hatteras Yacht Division + + + + + Hawaii Homemade Boats + + + + + Hawaiian Boats, Inc. + + + + + Holeton Boat Works + + + + + Hofeman Boat Works + + + + + Howmar Boats, Inc. + + + + + Howard Custom Boats + + + + + Harley Boat Corp. + + + + + Herters, Inc. + + + + + Hewes Marine Co. Inc. + + + + + Holmes Fiberglass Boat Co. + + + + + Higginbothan Boat Co. + + + + + Hydro Glass (Hagerstown, MD) + + + + + Hifley America Sports, Inc. + + + + + Harris Industries + + + + + Hustler Industries(Hampton Bays, NY) + + + + + Shipskills, Inc. + + + + + Haakon Boats, Ltd + + + + + Heritage Kayaks + + + + + Heritage Marine, Inc. + + + + + Master Fabricators + + + + + Hiliner Marine Corp. + + + + + Hugh McGinnis Boats + + + + + Holiday Manufacturing + + + + + Haskell Marine (San Fernando, CA) + + + + + Hondo Boats (Merced, CA) + + + + + Hans Klepper Corp. + + + + + Huckins Yacht Corp. + + + + + Hoog Boats, Inc. + + + + + Superior Hovercraft (Imperial Beach,CA) + + + + + Hy-Ryder Inc. (Tomahawk, WI) + + + + + Happy Traveler Marine + + + + + Hustler Boats + + + + + Hydro-Step Corp. + + + + + Hustler Boat Co. (Hustler Marine Co.& Hustler, Inc.) + + + + + Hydro Stream Boats + + + + + Master Enterprises, Inc. (HurstEnterprises, Inc.) + + + + + Hydra-Sports, Inc. + + + + + Custom Marine (Hot Boat Alley & MachOne Boats) + + + + + Hubbs Yacht Sales, Inc. + + + + + Valco Aluminum Boats (Hulls, Inc.) + + + + + Hunt Products, Ltd. + + + + + Hurricane Fiberglass Products Co. + + + + + Hustler Boat Co., Inc. + + + + + Hurst Enterprises, Inc. + + + + + Hustler Marine, Inc. + + + + + U. S. Hovercraft + + + + + Bonaventure Ind Inc. (Rockledge, FL) + + + + + Hollywood Enterprises, Inc. + + + + + Hydroswift Corp. (Dyna-Pac, Inc.) + + + + + Hostler Canoe + + + + + Impact Auto Sales (Red Oak, TX) + + + + + Iowa Homemade Boats + + + + + Idaho Homemade Boats + + + + + Signature Group, Inc. (The SignatureGroup) + + + + + Illinois Homemade Boats + + + + + Innovative Sports (Hudsonville, MI) + + + + + Indiana Homemade Boats + + + + + Intercoastal S E Inc. (Annapolis,MD) + + + + + Allmand Boats (John Allmand Boats,Inc.) + + + + + Jason Fiberglass + + + + + Ortiz Boat Mfg. (Westminster, CA) + + + + + Aluma-Weld (Jett Boat Company) + + + + + Jay Bee Boats + + + + + Jackson Boat Shop + + + + + Jet Boat Engineering (PerformanceEngineering) + + + + + Jet Boat Engineering of Oklahoma + + + + + Astroglass Boats (Maiden Craft &Pro Craft) + + + + + J.R. Custom Marine, Inc. + + + + + California Yachts/Carver(Tustin, CA) + + + + + Waterwerks Boat Co. + + + + + John Dory Boat Works, Inc. + + + + + Contender Boats, Inc. (J.D.Marine) + + + + + Jet Boats Inc. (Tacoma, WA) + + + + + Jet-Ster Boats (Rochester, WA)(Webb & Co.) + + + + + Glen-Coe Boat Mfg. + + + + + Jeffersons Fiberglass + + + + + Indian River Boats + + + + + Jim-Bar Co. Inc. (Manchester, FL) + + + + + Hot Sports USA Inc(Newport Beach, CA) + + + + + Foxcraft Boats, Inc. (Carbon Hill,AL) + + + + + Joel Jenkins (Decatur, GA) + + + + + J.B. Boat Co., Inc. + + + + + Jem-Craft + + + + + HMC Mfg. Co. (Port Star Boat Co.) + + + + + JRS Fiberglass Unlimited, Inc. (KonaBoats, Inc.) + + + + + J.R. Yacht Sales + + + + + Jet-Ster Boat Co. + + + + + Aqua Images Inc. + + + + + Jet-Ster Boats of Alabama + + + + + Jet-Ster Boat of Memphis + + + + + Crownline Boats Inc. + + + + + Jole Vecchi Sciomachen + + + + + Caliber 1 Boats (Anaheim, CA) + + + + + Kajun Industries, Inc. + + + + + The Roos Brothers + + + + + Kawasaki Motors Mfg (Lincoln, NB) + + + + + Kay Park Recreation Corp.(Janesville, IA) + + + + + Harris-Kayot, Inc. (Kayot, Inc.Marine Division) + + + + + Kansas Homemade Boats + + + + + Kindsvater Boats (Fresno, CA) + + + + + Invader + + + + + Kennedy Boat Co. (Lobo Boat Works &Kennedy Boat Works) + + + + + K-Craft, Inc. + + + + + Kenner Mfg. Co. Inc (Knoxville, AR) + + + + + Coastal Marine + + + + + Aggressor Boats, Inc. (CoocheeCraft/K & F Boat Co.) + + + + + Comanchee Boats + + + + + King Enterprises + + + + + Ghost Industries Inc.(Island Park, NY) + + + + + Kustom Kraft Performance Boats + + + + + Klassic Boat Company (Clebourne, TX) + + + + + Kiel Inc. (Goshen, IN) + + + + + Climate Boat Co.,Inc. + + + + + Tri-State Custom Fbgls Inc. (Bailey,NC) + + + + + K-Mac & Company (Addison, TX) + + + + + Don's Marine + + + + + Master Molders, Inc. (KingfisherFiberglass) + + + + + Sportco of Minden Inc. (Minden, LA) + + + + + K Enterprises + + + + + Kramsco Mfg., Inc. + + + + + Kustom Enterprises, Inc. + + + + + Image Boat Co. (KronenbergIndustries, Inc. + + + + + Cruisers, Inc. + + + + + Charloma Fiberglass, Incorporated(Cherryvale, KS) + + + + + Kenova Industries + + + + + KV Hydros (Winter Springs, FL) + + + + + Key West Boats Inc. (Ridgeville, SC) + + + + + Kentucky Homemade Boats + + + + + Baja Boat Co. (Sierra Boat Corp.) + + + + + Larson Boat Co. + + + + + Laguna Yachts, Inc. + + + + + Louisiana Homemade Boats + + + + + Livingston Boat Co., Inc. + + + + + Landau Boat Co. + + + + + Lucraft Boats-Labray + + + + + Landau Boat Company + + + + + Cimmarron Marine + + + + + Lyn-Craft Boat Co. + + + + + Maine Marine Co. (Lincoln Canoe Co.) + + + + + Radisson Canoes (George RossAssociation) + + + + + Small Craft, Inc. + + + + + Lee Boats + + + + + Cajun Special Boats (Lolell Ind.) + + + + + Leisure Imports, Inc. + + + + + Lake-Flite Plastics (Knoxville, TN) + + + + + Luhrs (St. Augustine, FL) + + + + + Laser Industries Inc. + + + + + Leisure Life LTD (Grand Rapids, MI) + + + + + Caddo Boat Mfg. Co., Inc. + + + + + Lorequin Marine, Inc. + + + + + Lion Mar Boat Corp. (Miami, FL) + + + + + L & M Mfg. Co. + + + + + Land -N- Craft + + + + + Lenhan Industries + + + + + Lone Star Fiberglass Co. + + + + + Mako Shark Boats (Lynch PerformanceBoats) + + + + + Leisure Products Marketing System + + + + + Laminated Products Co. + + + + + Lock Stock & Barrel (Elkhart, IN) + + + + + Ultra Boats, Inc. + + + + + Little and Upton, Inc. + + + + + Lott-Craft Boats + + + + + Luger Industries, Inc. + + + + + Lund American, Inc. + + + + + Cougar Marine, Inc. + + + + + Carl A. Lowe Industries, Inc. (LoweIndustries) + + + + + Lyn Craft Boat Co. + + + + + MacGregor Yacht Corp. + + + + + Mad River Canoe Co., Inc. + + + + + Magnum Marine + + + + + Monark Boat Co. + + + + + Crest Pontoons (Owosso, MI) + + + + + Maxum + + + + + Macs Airboats and Skiffs + + + + + Malibu Boats + + + + + Mastercraft Boat Co. + + + + + Marlin Boat Co. + + + + + Mantra Boat Co. + + + + + Magus Boat Co. + + + + + Mize Boats + + + + + Makai Boats, Inc. + + + + + Mitchell Boat Co. (Div. of WilsonProducts) + + + + + Mastercrafters Inc (Winnsboro, LA) + + + + + Marine City + + + + + Mich-Craft Corp. + + + + + McDaniel Boat Co., Inc. + + + + + Unicraft Boats (Bradenton, FL) + + + + + Maybury's Canoe Shop + + + + + River Jammer Canoe Co.(Brentwood, NH) + + + + + Michigan Homemade Boats + + + + + Middle Tennessee Fiberglass, Inc. + + + + + Maryland Homemade Boats + + + + + Meyers Industries, Inc. + + + + + Maine Homemade Boats + + + + + Molded Fiber Glass Boat (MFG Boats) + + + + + Myers Fiberglass Fabri + + + + + Mobile Fibergalss Services(Navarre, FL) + + + + + Marben Marine + + + + + Midwestern Fibergalss Products + + + + + Mike F. Shannon Co. (Witchcraft &Apache) + + + + + Glassline, Inc. + + + + + Magic Boats Inc. + + + + + Marine Group Inc. + + + + + Mike Gault Canoes + + + + + Magtex Co. (Magnum Boat) + + + + + Montgomery Ward Co. + + + + + Mirage Boat Co., Inc. + + + + + Milford Haven Marine + + + + + Mel-Hart Products, Inc. + + + + + Mariners Haven, Inc. + + + + + Miller Boats (Rockport, Texas) + + + + + Mirage Marine Corp. + + + + + Midwest Seat Mfg. Co., Inc. + + + + + Miscellanous BMA Code + + + + + Mississippi Homemade Boats + + + + + M and J Boat Co. + + + + + Dynasty Boats + + + + + Majek Boat Works + + + + + McKee Craft + + + + + Mike Butler Marine Design + + + + + Metzeler Kautschuk + + + + + Mako, Inc. + + + + + Muir Maid Boats + + + + + Melen Marine, Ltd. + + + + + Merrimack Marine, Inc. + + + + + Mohawk Mfg. Co. + + + + + Montgomery Marine Products + + + + + Muncie Metal Spinning, Inc. + + + + + Middle Bay Boats + + + + + Manning Enterprises + + + + + Borum Boats, Inc. + + + + + MANNIX PLASTICS; BOATS + + + + + Manate Marine + + + + + Manatee Marine Products, Inc. + + + + + Mannino Boats + + + + + Minnesota Homemade Boats + + + + + Modum Executive Services, Inc. + + + + + Muhlen Industries (Cincinnati, OH) + + + + + Moon Boats + + + + + Wesmor Company (Inverness, FL) + + + + + Morris Boat Shop + + + + + Ventura Wholesale, Inc. + + + + + Man-O-War Performance + + + + + Missouri Homemade Boats + + + + + Corsa Marine Ltd. (Opa Locka, FL) + + + + + Brunswick Marine Power (Topeka, KS) + + + + + Marshland Marine, Inc. + + + + + Combee Airboats, Inc. + + + + + Maelstrom Marine Inc. (Sarasota, FL) + + + + + Marquis Boat Co., Inc. + + + + + Moore Enterprises + + + + + Mirage Marine, Inc. (Palmetto, FL) + + + + + Mariah Boats + + + + + Marquis Boats, Inc. + + + + + Mako Marine, Inc. + + + + + Mirro Marine Div. (Mirrocraft &Mirro Marine) + + + + + Mariner Marine, Ltd. + + + + + Catalina Yachts/Morgan Div(Largo, FL) + + + + + Manset Marine Supply (Rockland, ME) + + + + + Massachusetts Homemade Boats + + + + + Mitsui (Miami, FL) + + + + + Mark Twain Marine Industries(West Frankfort, IL) + + + + + Team Ward Inc (Monticello, AR) + + + + + Montana Homemade Boats + + + + + Olson Co. Custom Yachts + + + + + Atlantis Fiberglass + + + + + Moravia Industries + + + + + Bobcat Boats (Gloster, LA) + + + + + Invader Boats, Inc. (Manufacturer'sWholesalers, Inc.) + + + + + Midnight Express, Inc. + + + + + Monza Marine + + + + + Tarva Custom Boats (Clovis, CA) + + + + + American Fiberlite, Incorporated + + + + + North American Boat Corp. + + + + + Naden Industries + + + + + Excalibur Marine Corp. (LightingBoats) + + + + + Norton Boat Works + + + + + National Boat Corp. + + + + + Marathon Boat Co., Inc. + + + + + Norman's Boat Shop + + + + + Nebraska Homemade Boats + + + + + North Carolina Homemade Boats + + + + + Nordic Boats + + + + + North Dakota Homemade Boats + + + + + Neodesha Plastics, Inc. + + + + + Norieaster Yachts + + + + + Newman Industries, Inc. + + + + + Noles Fiberglass Boats (WinterHaven, FL) + + + + + New Hampshire Homemade Boats + + + + + Nissan Marine & Power Products(Carrollton, TX) + + + + + New Jersey Homemade Boats + + + + + Intrepid Mfg. Co., Inc. + + + + + Fiberglass Builders, Inc. + + + + + Nitro Marine + + + + + Northside Mercury Marine (NorthsideMercury Sales/Royal AmericanNorthside) + + + + + New Mexico Homemade Boats + + + + + Nona Boat Co. + + + + + Crestliner Inc. (Little Falls, MN) + + + + + Janco Plastics + + + + + Dan Wertz + + + + + Grady-White Boats, Inc. (NationalBoat Works, Inc.) + + + + + Nuzums Marine (Los Alamitos, CA) + + + + + Navigator Yachts, Inc. (Perris, CA) + + + + + Nevada Homemade Boats + + + + + Northwest Watercraft (Salem, OR) + + + + + Newton Boats Inc. (Slidell, LA) + + + + + New York Homemade Boats + + + + + O'Brien Intl. Inc. (Redmond, WA) + + + + + Obar Marine, Inc. + + + + + Oceanic Boats + + + + + Offshore Industries + + + + + Offsounding + + + + + Ohio Homemade Boats + + + + + Oklahoma Homemade Boats + + + + + Omniboat International(Mt. Pleasant, SC) + + + + + Starline Boats, Inc. + + + + + Orca Marine & Fiberglassing, Inc. + + + + + Oregon Homemade Boats + + + + + Offshore Boat Corp. + + + + + Otter Craft, Inc. + + + + + Off Shore Yachts International + + + + + Pacemaker Corp. + + + + + Panther Airboats Corp. + + + + + Industrial Plastic Systems + + + + + Pennsylvania Homemade Boats + + + + + Pacific Northwest Designs Inc(Bellingham, WA) + + + + + Amercian Hovercraft & Sport(Anaheim, CA) + + + + + Pleasure Craft Marine EngineeringCo. + + + + + Precision Boat Works + + + + + P & D Boat Corp. + + + + + Prindle Catamarans (Surfglas, Inc.) + + + + + PEARSON YACHTS; MADISON, WISCONSIN + + + + + Performer Boat Co. + + + + + Sea-Raider Boats, Inc. + + + + + Pittsburg Fiberglass Inc.(Pittsburg, IL) + + + + + Performance Sailcraft + + + + + Progression Industries + + + + + Progressive Mfg. Co. + + + + + Pegasus Products + + + + + Phantom Boat, Inc. + + + + + Phantom Brothers, Inc. (PhantomBoat, Inc.) + + + + + Pacific Hovercraft + + + + + Phoenix Products, Inc. + + + + + Sea-Pro Boats, Inc. (Chapin, SC) + + + + + Piranha Marine + + + + + Payne's Boat Works (Milton, FL) + + + + + Novournia of North America(Proko International Ind.) + + + + + Peterson Mfg. Co. + + + + + Pro-Line Boat Co. + + + + + Pollard Enterprises, Inc. + + + + + Polaris Industries LP + + + + + Play-Craft Pontoon Co. + + + + + Polar Kraft Mfg. Co. + + + + + Precision Marine + + + + + Panther Marine Corp. + + + + + Pensacola Boat Mfg. Co. + + + + + Pioneer Boats + + + + + PFC, Inc. + + + + + Pro Advantage (Salt Lake City, UT) + + + + + Petes Plastic Boat Works(Blue Hill, ME) + + + + + Performance Plus Products + + + + + Paramount Powerboats + + + + + Powerquest Boats, Inc. + + + + + Pinch-A-Penny + + + + + Hydrotech Systems Inc (Medford, OR) + + + + + Fin and Feather Mfg. Co. + + + + + Prout USA (Baltimore, MD) + + + + + Pro Craft, Inc. + + + + + Porter Mfg., Inc. + + + + + Pearson Unlimited (Elkhorny, CA) + + + + + J Boats West (Performance & LaserSailcraft) + + + + + American Radhial (Para-TechInternational) + + + + + Privateer Mfg. Co., Inc. + + + + + Exclusive Power Boat(Hialea Gardens, FL) + + + + + Powell Lead Co. (Wallace, NC) + + + + + Power Marine Inc. (Ft. Lauderdale,FL) + + + + + Power Cat Mfg., Inc. + + + + + Pacific Water Sports (Seattle, WA) + + + + + Parker Marine Enterprise Inc.(Beaufort, NC) + + + + + Penn Yan Boats, Inc. + + + + + Python Boats + + + + + Quessy Canoes, Inc. + + + + + Supercraft Boat Mfg. (Port Alberni,BC) + + + + + Necky Kayaks Ltd. (Abbotsford, BC) + + + + + Mercury Marine (Fond du Lac, WI) + + + + + Zeppelin Technologies Inc. (Ft. Lauderdale, FL) + + + + + AMF Robalo Division + + + + + AMF Robalo (AMF Crestliner & AMFPowerboat) + + + + + Ranger Canoe Co. (Ashland, NH) + + + + + Rayson Marine (Raysoncraft) + + + + + Ray Bond Boats + + + + + Renken Boat Mfg. Co. + + + + + Rogers Custom Boats + + + + + Rich Line Boats (Richland Mfg. Co.) + + + + + Rabco Competition Marine + + + + + Rose Craft Mfr. Co. + + + + + Charger Boat Company + + + + + Sebrich Craft, Inc. + + + + + Regatta Boats + + + + + Reinell Boats, Inc. + + + + + Renegade Fiberglass In + + + + + Reed Fiberglass + + + + + Sea Core-Inwoods (Ventura, CA) + + + + + American Boat Building (Reef RoamerMarine) + + + + + Seabring Marine Ind + + + + + Roughneck Boat Co. + + + + + Sea Ranger Marine, Inc. + + + + + Hewes Boat Co. (Regal Fiberglass,Inc.) + + + + + Regal Marine Industries, Inc. + + + + + Road Basin Fiberglass + + + + + Rivers-Gilman Mould Prods. + + + + + Rochell Craft Corp. + + + + + Surf-Jet Corp. + + + + + Rhyan-Craft Boats Mfg. + + + + + Addictor Boats (Reef, Ltd.) + + + + + Riverview Marine Inc(Port Ritchie, FL) + + + + + Rhode Island Homemade Boats + + + + + Radiant Marine Corp. (Sarasota, FL) + + + + + Olympian Boats (R. J. Smith Co.) + + + + + River Lakes Manufacturing(Little Rock, AR) + + + + + Charleston Fiberglass Co. + + + + + Royal Craft Boat Co. + + + + + Reynold Fiberco, Inc. + + + + + Wood Manufacturing Co., Inc.(Forrest Wood Mfg. Co. & RangerBoats) + + + + + Rinker Boat Co., Inc. + + + + + River Queen Boats (Eutaw, AL) + + + + + Hydrocraft Inc (Scottsdale, AZ) + + + + + Rogue River Boat Shop + + + + + Robt Hammond & Associates(Austin, TX) + + + + + Goldenhawk Products (RecreationResearch) + + + + + RSB Fiberglass Forms + + + + + Bernard Rolsma & Co. (Topsfield, MA) + + + + + Charger Custom Boats (Russell Mfg.) + + + + + Bear Creek Canoe Inc (Limerick, ME) + + + + + Roberts Marine + + + + + Ruf-Maid Boat Works (Marathon, FL) + + + + + Riverside Associates (Francetown,NH) + + + + + Rivercraft Marine (Panama City, FL) + + + + + Rivermaster, Inc (Live Oak, FL) + + + + + River Runner Kayaks + + + + + Riva Yachts of Forida, Inc. + + + + + Rivera Boat, Inc. + + + + + Reaction Marine (Miami, FL) + + + + + Ryan Craft (Cape Coral, FL) + + + + + Sunray Products (Oldsmar, FL) + + + + + R & D Investments + + + + + Raven Boatworks Inc. + + + + + T. & S. Boats, Inc (White Bluff, TN) + + + + + Shew & Burnham (S Bristol, ME) + + + + + San Augustine Fiberglass Products(Ray Craft) + + + + + Tiderunner Inc. (Tacoma, WA) + + + + + Sanger Boat Mfg. + + + + + Sea Arrow Marine Corp. + + + + + Sawyer Canoe Co. + + + + + Shasta Aluminum Products + + + + + Sunbird Boat Co., Inc. + + + + + Summer Boat Co. + + + + + Spartan Boats, Inc. + + + + + Sooner Boat Mfg. Co. + + + + + American Power Boats (Seahawk BoatCorp./I.M.A. ManufactureUnlimited) + + + + + Ozark Fiberglass Products + + + + + Stauter Boat Works + + + + + Superboats, Inc. (Amityville, NY) + + + + + Scat-Craft Marine, Inc. + + + + + Sail Craft of Canada (Ile Perrot,PQ Canada) + + + + + Seacrest Marine Corp. + + + + + Scorpion Marine Inc. + + + + + Hawaiian Resources, Inc. + + + + + Starbuck Custom Boats-Products + + + + + Sport Craft, Inc. (Perry, FL) + + + + + Stowe Canoe (Stowe, VT) + + + + + Scott Boat Co., Inc. (Ankorcraft) + + + + + South Carolina Homemade Boats + + + + + Schiada Boats + + + + + Stur-dee Boat Co. + + + + + Seda Products + + + + + Sabrejets + + + + + South Dakota Homemade Boats + + + + + Sea Nymph Mfg. (Stanray Corp.) + + + + + Sea Craft, Inc. + + + + + Sunrise Enterprise (West Jordan, UT) + + + + + S.E.I. Corporation + + + + + Seajay Boats, Inc. + + + + + Sea King + + + + + Seabird Industries, Inc. + + + + + Sea Ray Boats, Inc. + + + + + Sears and Roebuck, Marine Div. + + + + + Sevylor USA, Inc. (Sevylor of NorthAmerica) + + + + + Dynaflite Mfg. Co., Inc.(Serendipity, Inc.) + + + + + Sikes Fiberglass Products(Cobbtown, GA) + + + + + Fiesta Boats + + + + + Surfside Houseboats In + + + + + Sunset Boat Co., Inc. (Silverton,OR) + + + + + Signa Corp. (Thunderbird Prods.) + + + + + Southeastern Gass Lamenators, Inc. + + + + + Shamar Glass + + + + + Shamrock Marine Division + + + + + Sherwood Industries, Inc. + + + + + Tracker Seacraft of Fl. (Tampa, FL) + + + + + Quest Aqua Prod Inc. (Spokane, WA) + + + + + Muff's Boatworks (Ponchatoula, LA) + + + + + Shark Industries, Inc. + + + + + Sea Crest Inc. + + + + + Sebring Boats (Div. of C & SEnterprises) + + + + + Sunkisst Jet Boats Mfg.(Cordova, TN) + + + + + Star Boat Co. + + + + + Dilks & Co. + + + + + Ski Boats, Inc. + + + + + Skimmar Boats + + + + + Shell Lake Boats (Div. of LundAmerican) + + + + + Sailcrafter Yacht Kits (CostaMesa, CA) + + + + + Sleek Craft Boats + + + + + AMF Slickcraft (AMF Powerboat & AMFRobalo) + + + + + Scout Boats Inc. (Summerville, SC) + + + + + Sailnetics, Inc. + + + + + Silverline, Inc. (MooreheadPlastics, Inc.) + + + + + Sea Maid + + + + + Smoker Lumber Co., Inc. + + + + + Sacramento Boat Mfg. + + + + + Snark Products, Inc. + + + + + Sing Fisher, Inc. + + + + + Collins Craft, Inc. (Santa RoseBoats-Campers) + + + + + Sundance Marine + + + + + Maritec Industires, Inc. + + + + + SEAARK BOATS; MONTICELLO, AR (SOM) USCG ASSIGNED CODE + + + + + Scorpion Power Boats + + + + + SUNSATION PERFORMANCE BOATS; ALGONAC,MI + + + + + Space Craft Boats Works, Inc. + + + + + Spectra Marine + + + + + Superior Plastics, Inc. (MarlinBoats) + + + + + Sportster Mfg. Co. + + + + + Sportsman Canoe Co. + + + + + Sportspal, Inc. + + + + + Steury Corp. + + + + + Starfire Industries + + + + + Helm Industries + + + + + Scariano Boats Inc. (New Orleans,LA) + + + + + Weeres Industries + + + + + Savage River Work (Swanton, MD) + + + + + Sea Sprite Boat Co., Inc. + + + + + Southern Star Mfg., Inc. + + + + + Sea Star Boat Co. + + + + + Somerset Boat Co. (Sumerset Marine) + + + + + S2 Yachts, Inc. + + + + + Stamas Yacht Inc. (Tarpon Springs,FL) + + + + + Skeeter Prods., Inc. (Stemco Marine) + + + + + Sterncraft Boat Co. + + + + + Saf-T-Mate, Inc. (Four Winns) + + + + + Silverton Marine Corp. + + + + + Starcraft Marine (Starcraft Co.) + + + + + Superior Plastics + + + + + Smoker-Craft (New Paris, IN) + + + + + Surfglas, Inc. (Prindle Cat) + + + + + Sutphen Marine Corp. + + + + + Stinger Boat Co. + + + + + The Stowe Canoe Co. (MansfieldCanoe) + + + + + Sea Swirl + + + + + Sidewinder of Wisconsin (SidewinderMarine, Inc.) + + + + + Switzer Craft, Inc. + + + + + Mac Industries + + + + + South Dade Boat Repair & Mfg. + + + + + Sea Vee Corp. + + + + + North American Catamarans (SolCatamarans & Tom Roland Sailboats) + + + + + Speedo Boat Inc. (Miami, FL) + + + + + Signature Marine Co. + + + + + Schucker & Associates (Cape Coral,FL) + + + + + R & R Fiberglass Co. (Stryker Boats) + + + + + Sylvan Industries, Inc. + + + + + Starboard Yacht Co. (Stuart, FL) + + + + + Shoal Runner Boats (Rolla, MO) + + + + + Spindrift Yacht (Newport, CA) + + + + + Shallow Sport Boats (Port Isabel,TX) + + + + + Tadd Manufacturing Corp(Poplar Bluff, MO) + + + + + Bell Industries (Tahiti Boats) + + + + + Jackson Corp. + + + + + Taylor Boats + + + + + Pemberton Airboats Inc(Inverness, FL) + + + + + Teels Boat Works + + + + + Tom-Boy Boat Co. + + + + + The Blue Hole Canoe Co. + + + + + Thomaston Boat Works, Inc. + + + + + T-Craft Boat Co., Inc. + + + + + Thunder Craft Boat, Inc. + + + + + Tremblay Custom Boats(Chiefland, FL) + + + + + Lazer + + + + + Tide Craft, Inc. + + + + + Steyr-Daimler-Puch of America Corp. + + + + + Trident Marine Sales, Ltd. + + + + + Shadow, Inc. (Team Majic) + + + + + Terry Bass Boat + + + + + Two Guys Fabrication (Central Point,OR) + + + + + Tide River USA Inc (Tampa, FL) + + + + + Thunder Hawk Boats (Nashville, GA) + + + + + Thunderbird Racing Technology(Portland, OR) + + + + + Boathouse, The + + + + + Sportboats Inc. (Justice, IL) + + + + + Triton Industries Inc (Lansing, MI) + + + + + Tiki Internationl + + + + + Tige Boats, Inc. + + + + + Sunset Boat Co. + + + + + The Canoe Outfitters (Birchwood, WI) + + + + + Glassmate Mfg. Co. Inc. + + + + + Tollycraft Corp. + + + + + Taft Marine, Inc. + + + + + Troller Boat Corp (Butler, PA) + + + + + Tomahawk, Inc. + + + + + Tradewinds Marine, Inc. + + + + + Talon Marine Co (Sarasota, FL) + + + + + Tom Sawyer Boats + + + + + Thompson Bros. Boat Mfg. + + + + + Thunderbird Products Corp.(North Miami, FL) + + + + + Tana Corp. + + + + + Thunderbird Products Corp.(Decatur, GA) + + + + + Tennessee Valley Fiberglass Co. + + + + + Tennessee Homemade Boats + + + + + Thomas Marine (Checotah, OK) + + + + + Cajun Persuasion Boat Bldrs.(Lafitte, LA) + + + + + Toyo-Tire and Rubber Co., Ltd. + + + + + Triple C Enterprises + + + + + Team Warlock Inc. (Corona, CA) + + + + + TPL Boats + + + + + T and P Plastics, Inc. + + + + + Trailorboats Co Inc (Sonoma, CA) + + + + + Three R Industries (Almont, MI) + + + + + Trojan Yacht Div. + + + + + NACR (North American Catamarans &Tom Roland Sailboats) + + + + + Tri-Sonic Marine Div. + + + + + The Skandia Co. (Green Cove SP, FL) + + + + + Traveller Boats (Stanry) + + + + + Explorer Yacht, Inc. (South CoastBoat Co.) + + + + + Champion Boats (The Storie Co.) + + + + + Tillotson-Pearson-Henry, Inc. + + + + + Sillinger America (Irvine, CA) + + + + + Bobby Jones Airboats (Davenport, FL) + + + + + Tim's Trailer Sails and Boats + + + + + Creek Craft Mfg. Inc. + + + + + Glasway Inc. + + + + + Viz Industries + + + + + Texas Homemade Boats + + + + + Flying Dutchman, Ltd. + + + + + Taylor Boats (Hi-Performance Marine) + + + + + Tyler Diesel Power Systems + + + + + Treasure Marine + + + + + UBM Manufacturing + + + + + Udisco, Inc. + + + + + Universal Marine Service + + + + + Murray Chris Craft (Bellingham, WA) + + + + + Quick Silver Inflatables + + + + + Maxum Marine + + + + + Bayliner Marine Corporation + + + + + Utah Homemade Boats + + + + + Valco Aluminum Boats (ValleyAluminum Boats) + + + + + Vagabond Sailboats, Inc. + + + + + Vampire Boat Corp. + + + + + Virginia Homemade Boats + + + + + Viking Boat Company + + + + + Caravell Boats Inc. (Americus, GA) + + + + + Vican, Inc. + + + + + Viking Boats (Stamton, CA) + + + + + Viking Boats (Stamton, CA) + + + + + Viking Boats (Groton, CT) + + + + + Seminole Boat Co. (Valdosta, GA) + + + + + Volunteer Corp. + + + + + Ventura Boats, Inc. + + + + + Vanguard, Inc. + + + + + Lake Raider (Camdenton, MO) + + + + + Vansant Mrine + + + + + Vermont Homemade Boats + + + + + Vivian Industries Plastics + + + + + Chrysler Boat Corp. + + + + + VIP Marine Industries + + + + + Mariah Boats, Inc. (Magnum Marine,Inc.) + + + + + Ria Yachts (Victoria Yachts, Inc.) + + + + + Waco Mfg., Inc. + + + + + Tim Wagner (Sarasota, FL) + + + + + Watercraft America, Inc. + + + + + Water Ventures(IRVINE, CA) + + + + + Westwind Boats, Inc. + + + + + Webbcraft, Inc. + + + + + White Boat Company(Baldwinville, MA) + + + + + Willard Boat Works + + + + + Equinox Boats (Louisville, TN) + + + + + Pantera Marine Inc. + + + + + Weldbilt (Alexander, AR) + + + + + Warrencraft Distributor, Inc. + + + + + Woodson + + + + + W.D. Schock (W.D. Schock MarineFiberglass) + + + + + Wreidt Custom Boats + + + + + Westbay Boat & Mfg Co (Sequin, WA) + + + + + Wellcraft Marine + + + + + Perception, Inc., (Marba Glas &William Masters) + + + + + Wenzel Fiberglass Boats + + + + + Dave Westphal Boats (Westphal Boats) + + + + + West Marine + + + + + Wilson Fiberglass Inc(Theodosia, MO) + + + + + Warrior Boats + + + + + World's Finest Product + + + + + Marian Boat Works (Anchorage, AK) + + + + + White Water Boats + + + + + Wahoo Boats Unlimited + + + + + White House + + + + + Windspeed International, Inc. + + + + + Starwing (Newport, RI) + + + + + Willie's R and D + + + + + Water Buster Inc. + + + + + Wave Industry Inc. (Dickson, TN) + + + + + Ultranautics Corp (Oxnard, CA) + + + + + Weldcraft Mfg. Inc. (Benton, AR) + + + + + Walkiki Marine + + + + + Wilderness Systems (High Point, NC) + + + + + Weldon Boats + + + + + Wolverine Marine Co. + + + + + Wilgate + + + + + Whiteline Marine Center (Blountstown, FL) + + + + + Newman Company + + + + + West Marine Products + + + + + Waitsboro Mfg. Co., Inc.(Corbin, KY) + + + + + Winner Boats + + + + + Winterport Boat Co. (Winterport, ME) + + + + + Harbour, Inc. + + + + + Washington State Homemade Boats + + + + + Wolfer Boats + + + + + Wilderness Products Co., Inc. + + + + + Winnebago Power Products(Oshkosh, WI) + + + + + Walden Paddlers Inc. (Concord, MA) + + + + + Advanced Marble System (Cocoa, FL) + + + + + Warren Craft (Hurricane & WarrenCustom Boats) + + + + + Weeres Industries (St. Cloud, MN) + + + + + Weins Salest Engineer (WSE Marine) + + + + + Windsurfing International, Inc. + + + + + West Shore Boat Co. (Hope, RI) + + + + + Wave Sports, Inc. (Steamboat Springs,CO) + + + + + Pisces Boat Co. (West Wind Boat Co.) + + + + + Kozloff Enterprises (Sales Sports,Ltd.) + + + + + Wisconsin Homemade Boats + + + + + Scandy White Boats, Inc(Blountstown, FL) + + + + + Western Aluminum Prods (Fresno, CA) + + + + + West Virginia Homemade Boats + + + + + Falcon Boats, Inc. (WI Hudson Co.,Inc.) + + + + + Inflatable Boat Center (WikingInflatables) + + + + + Watkins Yacht and Marine + + + + + Seaworthy Yachts, Inc. + + + + + Wyoming Homemade Boats + + + + + Bryant Interprises Inc(Maryville, TN) + + + + + Bahama Industries Inc (SanCarlos, CA) + + + + + Argosy Tours Service + + + + + Seminole Boat Co. (Willacoochee, GA) + + + + + Allen Marine Mfg Inc (Pomona, CA) + + + + + American International Airboat, Inc. + + + + + Maas Boat Co. (Richmond, CA) + + + + + Ozark Boat Works + + + + + Icon Boat Works, Inc. + + + + + Caribbean Yachts Inc(Ft. Lauderdale, FL) + + + + + Michael Creech (Bradenton, FL) + + + + + Carrera Powerboat Co. + + + + + Zodiac of North America + + + + + Bangor Punta Marine (O Day Corp.) + + + + + OME, Inc. + + + + + Clackacraft River Boats(Clackamus, OR) + + + + + Southeastern Plastic Tooling + + + + + Integrity Marine Corp. + + + + + Seidelmann Yachts + + + + + British Sports Hovercraft, Ltd.,(Sunrider Hovercraft) + + + + + Ocean Kayak (Ferndale, WA) + + + + + Supra Sports, Inc. + + + + + Seaway Boats, Inc. + + + + + Excel Marine + + + + + Olympic Boat Company (Gunnison, UT) + + + + + Sinbad the Sailor + + + + + Islander Yachts, Inc. + + + + + Omaha Fibergalss Co. + + + + + Tricorp Boats, Inc. (Omega BoatCorp.) + + + + + Imp Boats (Apeco Corp.) + + + + + Ouchita Mrne & Ind Corp(Arkadelphia, AR) + + + + + North American Fiberglass + + + + + Interpublic Industries (Montreal,PQ) + + + + + Adventure Boats, Inc. (Cobb, CA) + + + + + Stott Craft + + + + + Orrion Boats (Orrion Mfg., Inc.) + + + + + Coastal Marine Product + + + + + Osborn Boat-Marine, Inc. + + + + + Sabre Marine, Inc. + + + + + Ski Boats, Inc. + + + + + Supreme Industries, Inc. + + + + + Old Town Canoe Co. (Old Town, ME) + + + + + Speed Specialties Marine + + + + + Sterling Marine, Inc. + + + + + Sun Runner Marine + + + + + Sinterplast + + + + + Invader Corp. + + + + + Old Wharf Dory Co. (Wellfleet, MA) + + + + + Irwin Yacht and Marine + + + + + Commodore Yacht Corp. + + + + + Ocean Yachts Co. + + + + + Yamaha Motor Co., Ltd. + + + + + YAMA MOTOR COMPANY; JET SKIS ETC CYPRESS CALIFORNIA + + + + + Yar-Craft, Inc. + + + + + Yates Manufacturing Co. + + + + + Y & H Products (Coasta Messa, CA) + + + + + Yontech Marine USA Inc. (Dania, FL) + + + + + Seminole Marine (Havana, FL) + + + + + Yukon Inflatables USA (Soquel, CA) + + + + + Aqua Sport of Canada, Ltd. + + + + + CAMPION MARINE CORPORATION; BRITISH COLUMBIA CANADA + + + + + Alcan Products, Ltd. + + + + + Wedco Industries + + + + + D. B. R. Sports Inc.(Grandes-Piles, PQ) + + + + + Pelican International (Quebec,Canada) + + + + + Exe Fibrecraft, Ltd. + + + + + Les Voiliers Performance, Inc. + + + + + Harbor Mfg. Ltd. + + + + + Les Bateaux Peterborgh + + + + + Grand Banks Dory Works (Squamish,BC) + + + + + Kawartha Canoe Co. (LiftlockFiberglass Products) + + + + + Frontiersman Fiberglass Products + + + + + Lucat Marine Ltd (Shelter Cove/3 R's Marina) + + + + + Misty River Marine, Ltd + + + + + North American Fiberglass(London, ON) + + + + + Passarola Trading + + + + + Woodstream Corp. + + + + + York River Industries Ltd. + + + + + Altra Marine Products + + + + + Suzuki Marine + + + + + Mooney Enterprises Ltd. (Surrey,BC) + + + + + Bombardier Corporation (Wausau, WI) + + + + + + + A data type for Boat Make. + + + + + + + + + + + + + A data type for Vehicle Make for Boat Trailer. + + + + + + + + AAA Mobile Home Mfg. Co. + + + + + A.A.B. Co., Inc. + + + + + Aalite Co. + + + + + AAPEX TRAILERS, INC, CHICAGO, IL + + + + + Aardvark Co. + + + + + ALL-AMERICAN TRAILER MFG. CO., INC.; SELMA, AL + + + + + AAA Trailer Sales Mt. Pleasant, TX + + + + + AA WELDING SERVICE/CLINT R. WOODS, INC., MT. PLEASANT, TX + + + + + A-A Welding Service + + + + + Paul Abbot Co., Inc. + + + + + ABC (Aluminum Body Corp.) + + + + + ABC Coach Co. + + + + + ABC Homes + + + + + ABCO Trailer Mfg. Co. + + + + + Aberdeen Boat Trailer + + + + + ABF, INDUSTRIES, NEBRASKA + + + + + ABI Leisure Inc. + + + + + Amco Boat Trailer + + + + + A & B Trailer Mfg. Co., Inc. + + + + + Academy Mobile Home Corp. + + + + + ACCU-TEK,INC.; SHREWSBURY, MASSACHUSETTS + + + + + Ace Trailer of America + + + + + Ace Traveler Corp. + + + + + A & C Knight, Ltd. + + + + + Acme Trailer Mfg. Co. + + + + + Acro Tank Co. + + + + + Action Industries + + + + + Active Homes Corp. + + + + + Acton Mobile Industries, Inc. + + + + + Ada Horse Trailer + + + + + Addison Homes + + + + + Admiration Homes + + + + + Adams Engineering Co. + + + + + Adams Trailer Mfg. + + + + + Adspa Mobile Home + + + + + Advance Mfg. Co. + + + + + American Eagle + + + + + Aero Liner Co. + + + + + Aero Glass Boat Co. + + + + + Aeroil Products Co., Inc. + + + + + Aragon Distributing Co., Inc. + + + + + Agrolina SA Mexicali, Baha, CA + + + + + Ag-Systems, Inc. + + + + + Ag-Tronic, Inc. + + + + + Aire-Line Mobile Homes + + + + + Airflyte Mfg. Co. + + + + + Air Support Industries + + + + + Air-Flo Mfg. Co., Inc. + + + + + Air-O-Corp + + + + + Airstream Travel Trailers + + + + + Ajax Trailer Co. + + + + + A & J Industries Custom Fiberglassing + + + + + A. J. Travelute Trailer Mfg. Co. + + + + + Alabama Trailer Co. + + + + + Aladdin Trailer Co. + + + + + Alair Coach Corp. + + + + + All Around Horse Trailer + + + + + Alberta Trailer Co., Ltd. + + + + + Alcan American, Inc. + + + + + Alcoa Trailer + + + + + ALFAB INC.; TRAILERS + + + + + Alforge Metals Corp. + + + + + Aljo + + + + + All American Campers + + + + + Allied American Builders Corp. + + + + + Allied Mfg. Co. + + + + + Allied Products + + + + + Allis-Chalmers + + + + + All Lakes Trailer + + + + + All Steel Mfg. Co. + + + + + Alloy Machine Products Corp. + + + + + Alloy Trailers, Inc. + + + + + All Purpose Trailer Co., Inc. + + + + + All Star Coach, Inc. + + + + + All-State Trailer Co. + + + + + All States Trailer Co. + + + + + Allentown Brake & Wheel Service, Inc. + + + + + Al-Mac Products, Inc. + + + + + Allmand, Inc. + + + + + Alma Trailer Co. + + + + + Almac Industries, Ltd. + + + + + Alumna-Weld, Inc. + + + + + ALLEN MANUFACTURING, INC; FORT MORGAN, CO; TRAILERS + + + + + Aloha Trailer Co. + + + + + Alphine Mfg. Co. + + + + + THE ALUMINUM TRAILER COMPANY; NAPPANEE, INDIANA + + + + + Altec Industries + + + + + Aluma Craft + + + + + Aluminum + + + + + ALUTREC, INC.STE-AGATHE,QUEBEC CANADA + + + + + Aly Travel Trailer + + + + + A & M Boat Trailer + + + + + Ambassador + + + + + AMC Trailer + + + + + AMERI-CAMP; SYRACUSE, NY + + + + + A & M Coach + + + + + American Trailers, Inc. + + + + + American Beauty + + + + + American Body & Trailer Co. + + + + + American Aluminum Co. + + + + + American Coach Co. + + + + + American Duralite Corp. + + + + + American Pride Homes + + + + + American Pipe & Steel Corp. + + + + + American Trailer & Mfg. Co. + + + + + American Way Homes Corp. + + + + + Amerigo Travel Trailer + + + + + American Trailer Specialists + + + + + American Family Homes, Inc. + + + + + AMERICAN HAULER INDUSTRIES; ELKHART, IN + + + + + Ampco Mfg. + + + + + AMRAD PRODUCTS & SUPPLY (SNOWMOBILE& UTILITY TRAILERS) + + + + + Americana Mobile Homes, Inc. + + + + + Amtec Trailer + + + + + American Transportation Corp. + + + + + AMERICAN TRAVEL SYSTEMS, INC.; ELKHART, IN + + + + + Ana-Log + + + + + Anchor Homes, Inc. + + + + + Ander-Ett, Inc. + + + + + Anderson Coach Co. + + + + + Anderson Mobile Homes Mfg. Co. + + + + + Andrea Mobile Homes + + + + + Andrews Payloader + + + + + ANDERSON MANUFACTURING; CAMILLA, GA + + + + + Angelus Trailer Mfg. Co. + + + + + Anthony Co. + + + + + Anton Mfg. Co. + + + + + A-OK TRAILERS; DELAND, FL + + + + + A-1 Trailer + + + + + Apache Coach Co. + + + + + Apache Trailer Corp. + + + + + Apacheon Coach Co. + + + + + Apeco Mobile Homes + + + + + Apex Travelers, Inc. + + + + + Appleton Trailer + + + + + Apollo Homes + + + + + APPALACAIAN MFG., INC.; ELKHART, IN + + + + + Appleby Camper Trailer + + + + + Aqua Cruiser, Inc. + + + + + Aquaforge + + + + + Aqualand Trailers + + + + + Arabi Homes, Inc. + + + + + Arctic Cat + + + + + Arcos Boat Trailer + + + + + Arctic Enterprises, Inc. + + + + + American Road Equipment + + + + + Argosy Travel Trailer + + + + + Aristocrat Trailer Sales + + + + + ARISTOCRAT INDUSTRIES, INC; GOSHEN, IN + + + + + Armadillo Trailers, Inc. + + + + + ARMOR CHASSIS, LLC; RIDGELAND, SC + + + + + Armor Homes of Virginia + + + + + Armor Mobile Homes Mfg. Co. + + + + + ARMOR MOBILE TRAILERS, TRUCKS & BUSES; USED FOR MOBILE MEDICAL FACILITIES ETC. USED FOR HEALTH SCREE + + + + + American Road Trailer Camper + + + + + Arnold Travel Trailer Mfg. Co. + + + + + Arndt Trailers + + + + + AERO MANUFACTURING, INC.; SYRACUSE, INDIANA + + + + + Aros + + + + + Arrow Campers, Inc. + + + + + Arrow Motor Homes + + + + + Arrow Trailers, Inc. + + + + + Arrowhead Trailers + + + + + ARSENAL TRAILER MANUFACTURING, INC; HARRISONBURG, VA + + + + + Art James Mfg. + + + + + Artcraft of Georgia + + + + + Artcraft Mobile Homes Mfg. Co. + + + + + ARTEX FABRICATORS, LTD. LANGLES BRITISH COLUMBIA + + + + + Ashby Brothers + + + + + Ashdown Mfg. Corp. + + + + + Ashton Trailer + + + + + ASI Trailer + + + + + ASM TRAILERS; MOUNTAINBURG, AR + + + + + ASM TRAILERS; MOUNTAINBURG, AR + + + + + Aspen Camper, Inc. + + + + + Asplundh Manufacturing Div. + + + + + ASPT + + + + + Astro Mobile Homes Mfg. Co. + + + + + Athey Products Corp. + + + + + Atlantic Coast Camper + + + + + Atlantic Mobile Corp. + + + + + Atlas Division + + + + + Atlantic Mobile Sales + + + + + ATLAS SPECIALITY PRODUCTS/TRAILERS + + + + + Associated Truck & Trailer + + + + + Atwood Mobile Home + + + + + Auburn Homes + + + + + Aurora Mobile Homes + + + + + Auto Homes Industries + + + + + Auto Trailer Co. + + + + + Auto-Mate + + + + + Ava Travel Trailer + + + + + Avalair Corp. + + + + + Avalon Mobile Homes + + + + + Avco Corp. + + + + + AVENGER CORPORATION; MICHIGAN + + + + + Avion Coach Corp. + + + + + Away We Go Travel Trailer + + + + + Axle & Equipment Sales Co. + + + + + Ayr-Way Campers + + + + + Azalea Homes + + + + + A-Z MANUFACTURING; MADERA, CA + + + + + Aztec Products, Inc. + + + + + Aztec Mobile Homes + + + + + AZTEX OR AZ-TEX TRAILERS; FONTANA, CALIFORNIA + + + + + Babcock's Mobile Home Mfg. Co. + + + + + Bar-C Horse Trailer + + + + + Badger Trailer Co. + + + + + Baillies Tri-R Welding + + + + + Baker Equipment & Engineering Co. + + + + + Baker Trailer & Body Co. + + + + + Baldwin Enterprises + + + + + BaleMuvr + + + + + Balko, Inc. + + + + + Ballien Mfg. Co. + + + + + Baltz Industries, Inc. + + + + + Bame Three Axle Trailer + + + + + Barrington Homes + + + + + Bandera Trailer + + + + + Bankhead Enterprises, Inc. + + + + + Bankhead Welding Service + + + + + Banner Homes Corp. + + + + + Bar-A-Horse Trailer + + + + + Barcraft Homes, Inc. + + + + + Barrett Trailers, Inc. + + + + + Barth Corp. + + + + + Barrentine Mfg. Co. + + + + + Barker Trailer Manufacturers, Inc. + + + + + Bartlett Trailer Corp. + + + + + Barnes Pump Drain Unit + + + + + Baron Homes, Inc. + + + + + Bartolini Chassis Trailer + + + + + Bass Trail Trailer Co., Inc. + + + + + Batavia Trailers, Inc. + + + + + Bantam Camp Trailer + + + + + Baughman Mfg. Co. + + + + + Bay Trailers + + + + + B & B Custom Built Trailers + + + + + B & B Cozy-Home + + + + + BeeBee Sales Co. + + + + + B & B Trailer Mfg., Inc. + + + + + BEACON METAL WORKS + + + + + Beachcomber Industries Ltd. + + + + + Beaird Payliner + + + + + Beall, Inc. + + + + + Bear Industrial Trailers + + + + + Beall Trans-Liner, Inc. + + + + + Beaver Trailer + + + + + Bee Bob Trailers + + + + + Beck Camping Trailer + + + + + Becker, Charles H., Inc. + + + + + Bedell Trailers + + + + + Bendix Corp. + + + + + Beechcraft Mobile Home + + + + + Beechwood Industries, Inc. + + + + + Bee-Line Travel Trailers or Mobile Homes, Inc. + + + + + Beemer & Grubb Enterprises + + + + + Beemer Trailer Mfg. & Sales + + + + + Beeat Truck Mount Camper + + + + + Bel-Aire Campers or Coaches + + + + + Bel-Aire Mobile Homes + + + + + Bell Mfg. Corp. + + + + + Belshe Trailer + + + + + Bella Casa Co. + + + + + Bellamy's Mfr. & Research Products + + + + + Bellaire Products + + + + + Bellew's Perris Balley Campers + + + + + Bell's Camp Trailers + + + + + Bell's Custom Coaches + + + + + Belvedere Mobile Homes + + + + + Benlo Co. + + + + + Benson Truck Bodies, Inc. + + + + + Berkshire Industries + + + + + Bermar Mfg. Corp. + + + + + Bertran Trailer + + + + + Betten France Transportation + + + + + Bethany Fellowship + + + + + Better Built + + + + + B.FOSTER & COMPANY, INC.; WAYNESBORO,PA + + + + + BEHNKE ENTERPRISES, INC; FARLEY, IA + + + + + BIBB WELDING & TRAILERS, LLC; MACON, GEORGIA + + + + + Biewer Industries + + + + + BIG BUBBAS; OGDEN, UTAH + + + + + Big Horn Trailer + + + + + Big Well Industries + + + + + Big Tex + + + + + Big Valley Trailers, Inc. + + + + + Biltmore Mobile Homes + + + + + Bilken Enterprises + + + + + Bills Welding Model Trailer + + + + + Biltrite Mobile Homes + + + + + Biltwell (or Builtwell) + + + + + Binkley Co., The + + + + + Binks Mfg. Co. + + + + + Biot Camping Trailer + + + + + Bird Engineering, Inc. + + + + + Birmingham Mfg. Co., Inc. + + + + + BAJA CUSTOM TRAILERS + + + + + BJ'S CUSTOM TRAILERS; WOODSTOCK, AL + + + + + B & J Enterprises, Inc. Sikeston, Mo + + + + + BJ Mfg. Co. + + + + + Bill James Trailer Sales + + + + + BUCK DANDY COMPANY; TEXAS + + + + + BECKHAM TRAILERS, INC.; WICHITA, KANSAS + + + + + Black Built + + + + + Black Diamond Trailer, Inc. + + + + + Blazer + + + + + Blanchard Foundry Co. + + + + + Blair Horse Trailer + + + + + Black Diamond Enterprises + + + + + Blaze Industries + + + + + Blaine's Custom Mfg. Service + + + + + Blackwell Burner Co. + + + + + Blazon Mobile Homes Corp. + + + + + Blue Gator Boat Trailer + + + + + B-Line Farm Equip. + + + + + Blitz Mfg. Co. + + + + + Blix Coach + + + + + Bulk Equipment Mfr. Inc. + + + + + BELMONT MACHINE; GORDONVILLE, PA + + + + + BLOOMER TRAILER MANUFACTURING, INC.; LAMARQUE, TX + + + + + Bloom, Inc. + + + + + BLUE RIDGE TRAILERS + + + + + Blake Trailers Star, Idaho + + + + + Bullet Trailers, Inc. + + + + + Blue Bird Body Co. + + + + + Blue Ribbon Coach Co. + + + + + Blue-Ridge Pre-Built Mobile Homes + + + + + Blue, John Co. + + + + + B.M.B. Mfg. Co. + + + + + B & M Mfg. Co. + + + + + Boat Master Trailers Ft. Myers, FL + + + + + Ben Hur + + + + + B & S Boat Trailer Mfg. Co. + + + + + Boanza Mobile Homes + + + + + Boardman Co. + + + + + Bob S Trailer + + + + + Bob Coons + + + + + Bobko, Inc. + + + + + Bobby's Custom Camper Mfg. + + + + + Bock Products, Inc. + + + + + Bo Cats, Inc. + + + + + BOERNE TRAILER MANUFACTURING; BOERNE, TX + + + + + Boise Cascade Mobile Home + + + + + Boles-Aero, Inc. + + + + + Bolinger Flatbed Trailer + + + + + Bo-Mar Mfg. Co. + + + + + Bombardier, Ltd. + + + + + Bomag Trailer + + + + + Bon-Aire Homes, Inc. + + + + + Bonanza Travel Coach, Inc. + + + + + Bond Mobile Homes, Inc. + + + + + Bonnieville Mfg. Co. + + + + + Boone Trailers, Inc. + + + + + Borg Co. + + + + + Born Free + + + + + Boatel Trailer + + + + + Boulder Trailer + + + + + Bowers Mfg. Co. + + + + + Bowie Industries Corp. + + + + + Bowman & Sons + + + + + Bowen Mobile Homes, Inc. + + + + + Bowsman Trailers + + + + + Boxer Trailer + + + + + Boyd, E.G., Trailer Co. + + + + + Boyer Industries + + + + + Braco Custom Products + + + + + Brandt Trailers, Inc. + + + + + Bradford Industries + + + + + Branstrator Engineering Corp. + + + + + Braughms Travel Trailer + + + + + Bravo Trailer + + + + + Brandywine Travel Trailer + + + + + BRAY TRAILERS; TRENTON, FL + + + + + Barco Mfg. Co. + + + + + Bear Cat Mfg., Inc. + + + + + BROWN CARGO VAN, INC.; LAWRENCE, KS + + + + + Brooks Horse Trailer + + + + + Brent Industries + + + + + Brenner Tank, Inc. + + + + + Brentwood Mobile Homes + + + + + Brewer Utility + + + + + Breeze Camping Travel Trailer + + + + + Bridge Mfg. and Equipment Co. + + + + + Brigadier Mobile Homes + + + + + Brighton Built Trailers + + + + + Bristol Homes + + + + + Bristol Mfg. Co. + + + + + Brookwood Mobile Home + + + + + BRI-MAR MANUFACTURING; CHAMBERSBURG, PA + + + + + Brandy Industries Colon, MI; white tail camping tr + + + + + Broadlane Homes, Inc. of Indiana + + + + + Brobts & Associates + + + + + Broadmore Mobile Homes + + + + + Brooten Fabricating, Inc. + + + + + Broyhill Co., The + + + + + Broken Arrow Mobile Home + + + + + Brooklyn Trailer + + + + + Brock Star Trailer + + + + + Brooks Brothers Trailers, Inc. + + + + + Brougham Industries, Inc. + + + + + Brown Trailer + + + + + Brown Industries + + + + + Burro, Inc. + + + + + Brute Equipment Inc. + + + + + Brae Trailers, Inc Stoughton, WI; piggyback semi-t + + + + + Bertolini Container Co. + + + + + Bear Trailers Mfg., Inc + + + + + Brunswick Travel Trailer + + + + + BROWARD TRAILER; OAKLAND PARK, FL + + + + + Busse Brown Trailer + + + + + BRADTEC, LTD.; DERBY, KS + + + + + Buccaneer Mobile Homes + + + + + Bucita Pop Top Trailer + + + + + Buck Camper Co. + + + + + Buckeye Mobile Homes, Inc. + + + + + Buckeye Flatbed Trailer + + + + + Bucko, Inc. + + + + + Buckskin Trailer Mfg. Co. + + + + + Budd Co. Trailer Division, The + + + + + Buddy Mobile Homes, Inc. + + + + + Budger Mfg. Co. + + + + + Buck Dragster Flatbed + + + + + Budson Knobby Flatbed Trailer + + + + + Buhl Machine Works + + + + + Built Rite Trailer + + + + + Bulk-Hauler Trailer + + + + + Bullmobile Trailer, Inc. + + + + + BULK MANUFACTURING COMPANY; PLANT CITY, FLORIDA + + + + + Bunton Co. + + + + + Bunyan, Paul Co. + + + + + Burch Trailer + + + + + Burkeen Equipment & Supply Co. + + + + + Burkhart Trailer Mfg. Co. + + + + + Burlington Mfg. Co. + + + + + Burnup and Sims, Inc. + + + + + Burris Stock Trailer + + + + + Bushcraft Trailer + + + + + L.T. Butler + + + + + Butler Mfg. Co. + + + + + BEAVER CREEK ENT.; MOKENA, IL + + + + + BETTER-WAY PRODUCTS INC; INDIANA (BISSON) + + + + + B & W Homes, Inc. + + + + + Byerly Trailer & Mfg. Co. + + + + + BOYDSTUN METAL WORKS, INC. PORTLAND,OREGON + + + + + Byers Mfg. Inc. + + + + + BYSON TRAILERS + + + + + Car Caddy + + + + + Can-Car (Canadian Car Trailer Sales Div.) + + + + + CLASSIC ACQUISITIONS/CLASSIC VENTURES;HERNANDO FLORIDA + + + + + Cadet Coach Corp. + + + + + Calcinator + + + + + E. L. Caldwell & Sons + + + + + California Camper Mfg. + + + + + California Mobile Homes + + + + + Calvia Brothers Trailer Mfg. + + + + + Calkins Trailer + + + + + Callahan Engineering Co. + + + + + Callen Camper Co. + + + + + Calis Travel Trailer + + + + + Cal Trailer Manufacturing + + + + + Calumet Coach Co. + + + + + Calypso + + + + + Cambridge Homes, Inc. + + + + + Cambridge Mfg. Co., Inc. + + + + + Camp Cruiser Mfg. Co. + + + + + Camel Camper Trailer + + + + + Camp Equipment Co., Inc. + + + + + Camp Four Industries, Inc. + + + + + Cam-Pact Co., Inc. + + + + + Camp-A-While Homes Mfg. Co. + + + + + Camper City Coach Craft + + + + + Camper Corp. of America + + + + + Camper De Ville, Inc. + + + + + Campers, Inc. + + + + + Campers Unlimited + + + + + Camelot Camper Trailer + + + + + Camp-Mor, Inc. + + + + + Camp-N All Co. + + + + + Cam-O-Tel Corp. + + + + + Canadian Trailmobile Ltd. + + + + + Cane River Trailer Co., Inc. + + + + + Canoga Classic Campers + + + + + C & S + + + + + Canton Trailer Co. + + + + + Capital Industries, Inc. + + + + + Capco Flatbed + + + + + Capre Carrocerias Preconstruidas SA + + + + + Cataphote + + + + + Capitol + + + + + Capitol Trailer Coach Co. + + + + + Caprice Homes Mfrs. Co. + + + + + Capacity of Texas, Inc. + + + + + Car Camp + + + + + Caravan Industries + + + + + Carter Trailer Co., Inc. + + + + + Caravel Industries + + + + + Cardinal Industries + + + + + Care-Free Camper Mfg. Co. + + + + + Carriage, Inc. + + + + + Cardinal Homes, Inc. + + + + + Caribou Craft Pickup Camper & Trailer Mfg. Co. + + + + + Carley + + + + + Carlisle + + + + + Carma Mfg. Co. + + + + + Carolina Mobile Homes + + + + + Carolina Travel Trailers + + + + + Carrie-Craft Div. + + + + + Carry Craft Trailers + + + + + Car-Tel Corp. + + + + + Carnes Welding & Fabricating Co. + + + + + Carey Trailers, Inc. + + + + + Casa Manana Mfg. Corp. + + + + + Cascade Coach Co. + + + + + Cash Trailers, Inc. + + + + + Castle Enterprises, Inc. + + + + + Catalina Amphibious Homes + + + + + Carson Trailer Inc Carson, CA; utility trailers + + + + + Catolac Corp. + + + + + Caulkins Boat Trailer + + + + + Cavalier Homes, Inc. + + + + + Cavalier Trailer Mfg. Co. + + + + + Caveman Industries + + + + + Calvacade Industries, Inc. + + + + + C & B CUSTOM MODULAR, INC.; BRISTOL, TENNESSEE + + + + + COBRA TRAILERS, GERMANY ALFRED SPINDELBERGER + + + + + CUSTOM BUILT TRAILER AND OR CUSTOM TRILES, INC. + + + + + C. Butler Trailer Mfg. Co. + + + + + C & C DISTRIBUTORS, INC.; WINSLOW, ME + + + + + C&C MANUFACTURING & FAB + + + + + C & C TRAILERS, INC. NORMAN, OKLAHOMA + + + + + CZ Engineering, Inc. + + + + + CEI EQIPMENT COMPANY, INC. CEDAR RAPIDS, IA + + + + + Central Industries, Inc. + + + + + Centurion International, Inc. + + + + + Century Auto Body & Trailer Mfg. Co. + + + + + Centurion Travel Trailer + + + + + Certified Boat Trailer + + + + + Ceva Mfg. Co. + + + + + Custom Fab Bodies and Trailers, Inc. + + + + + Colony Factory Crafted Homes + + + + + CARGOMATE TRAILER ; CAMPING + + + + + J& L'S CARGO EXPRESS, INC.; BRISTOL, INDIANA + + + + + Challenge-Cook Brothers, Inc. + + + + + Challenger Homes, Inc. + + + + + Charger Pick-up Campers + + + + + Charmac Trailers + + + + + Chamberlin Trailers + + + + + Champion Home Builders Co. + + + + + Charlamor Corp. + + + + + Chateau Mfg. Co., Inc. + + + + + Cherne Industrial, Inc. + + + + + Cheney Weeder, Inc. + + + + + Cherokee Camper + + + + + Chevron Corp. + + + + + Cherokee Mobile Homes + + + + + Chesapeake Mobile Homes + + + + + Cheston & Eshelman Co. + + + + + Chevelle Mobile Homes, Inc. + + + + + CHEROKEE FABRICATION, INC.; OCALA, FLORIDA + + + + + Chickasha Mobile Homes + + + + + Chief Ocala Trailer Mfg. + + + + + Chief Industries + + + + + Chilton Trailer Co., Inc. + + + + + Chipmore Mfg. Co., Inc. + + + + + Chippewa Mobile Homes Corp. + + + + + Chisolm Trailers, Inc. + + + + + CHEROKEE MANUFACTURING COMPANY; SWEETWATER, TN + + + + + CHASSIS KING, LLC; CLEARWATER, FL + + + + + Challenger Trailer + + + + + Champ Horse Trailer + + + + + Chinook + + + + + Chaperalle Horse Trailer + + + + + Christianson Industries, Inc. + + + + + Cyrysler Boat Co. + + + + + Chateau Recreational Vehicle Div. + + + + + CHEETAH CHASSIS CORPORATION + + + + + CHATHAM ENTERPRISES; GEORGIA + + + + + Chukar, Inc. + + + + + Chinyuanchi Casting Corp. + + + + + CIRCLE C MANUFACTURER; LIVINGSTON, TX + + + + + CIMC HEAVY INDUSTRIES, LTD.; SHENZHEN, CHINA + + + + + Cimarron Mfg. Co. + + + + + Circle S Star Route + + + + + Circle D Trailer + + + + + Circle H Horse Trailer + + + + + Circle K Kennimore + + + + + CIRCLE M TRAILERS + + + + + Circle V Horse Trailer + + + + + Citation Travel Trailer + + + + + City Dump Trailer + + + + + City Welding & Mfg. Co. + + + + + Clapper Camper + + + + + B.M. Clark Co., Inc. + + + + + Clark Mfg. Co. + + + + + Clar-Mont Mfg. Co. + + + + + Clark Equipment Co. + + + + + Classic Trailer Mfg. + + + + + Clayton Homes, Inc. + + + + + Claxton + + + + + Clay Camper Co. + + + + + Clayton Craft + + + + + Calico Trailers + + + + + Cleveland Mfg. Co., Inc. (CMC) + + + + + Clement-Braswell + + + + + Cliff Office Trailer + + + + + Cliff Hall, Inc. + + + + + Cline + + + + + Clipper Mfg. Co. + + + + + Columbia + + + + + Colonial Flatbed Trailer + + + + + Clough Equipment Co. + + + + + CLASSIC MANUFACTURING, INC.; STURGIS, MI + + + + + Claster Trailer + + + + + Columbia Trailer Co., Ltd. + + + + + Calvade Trailer + + + + + Cleavers of Bismark + + + + + Campbell Coach Co., Inc. + + + + + CHARLESTON MARINE CONTAINERS, INC. CHARLESTON SC + + + + + Conchemco Homes Group + + + + + Cameo Travel Trailer + + + + + COM-FAB, INC; NORCROSS GEORGIA JET SKI & ATV TRAILERS + + + + + CMI Load King Elk Point, SD; commercial trailers + + + + + C-Mor + + + + + Campfire Travel Trailer + + + + + Campsite Mfg. Co. + + + + + Compact Equipment Co. + + + + + CAM SUPERLINE, INC.; GREENCASTLE, PA + + + + + CMWC Trailer Co., Inc. + + + + + CORNELIUS MANUFACTURING, INC; ELNORA IN + + + + + CONTRACT MANUFACTURERS INC ALSO KNOWN AS CM TRAILERS; MADILL, OK + + + + + Concord Products, Inc. + + + + + Conroy Industries + + + + + Constructore Trailers, Inc. + + + + + Continental Wheel & Trailer + + + + + Centreville Trailer + + + + + Conwed Trailer + + + + + Coach Craft, Inc. + + + + + Coachmen Homes Corp. + + + + + Middlebury + + + + + Coastal Trailer Corp. + + + + + Cobra Travel Trailers + + + + + Coburn Industries, Inc. + + + + + County Comfort Trailers + + + + + Cody Motorcycle Trailer + + + + + Coleman Camping Trailers + + + + + Colonial Mobile Homes Mfg. + + + + + Colony Mfg. & Sales Corp. + + + + + Colorado Mobile Homes + + + + + Colt Camper, Inc. + + + + + Columbia Mobile Homes, Inc. + + + + + Colt + + + + + Columbine Camp & Coach + + + + + Comanche Mobile Homes + + + + + Comanche Trailer Corp. + + + + + Comet Corp. + + + + + Competitive Boat Trailer + + + + + Commercial Structures + + + + + Com-Camp + + + + + Comet Construction Co. + + + + + Comet Mobile Homes + + + + + Commodore Corp. + + + + + Commercial Vehicles, Inc. + + + + + Community Homes, Inc. + + + + + Concord Mobile Homes + + + + + Concord Travelers + + + + + Conestega Mfg. Co. + + + + + Condor Motor Home + + + + + Conestoga Mobile Homes + + + + + Connell Industries, Inc. + + + + + Contempori Mobile Homes, Inc. + + + + + Consolidated Mobile Industries + + + + + Conner Industries, Inc. + + + + + Continental + + + + + Continental of Colorado, Inc. + + + + + Continental Homes, Inc. + + + + + Continental Mfg. Co., Inc. + + + + + Converto + + + + + Coose Trailer Mfg. Co. + + + + + Cook Semi Trailer + + + + + Coon Custom Coach Mfg. + + + + + Coos-Bilt Trailers + + + + + Copco Steel & Engineering + + + + + Copperstate Coach Co. + + + + + Corder Mfg. Co., Inc. + + + + + Corn Belt Manufacturing, Inc. + + + + + Corona Coach Co. + + + + + Correct Craft, Inc. + + + + + Corsair Div. + + + + + Cortez House Trailer + + + + + Corvette Travel Trailer + + + + + COREY ENTERPRISES, INC; LA GRANGE ME; COREY/REDLINE TRAILERS + + + + + Corner Utility Trailer + + + + + Cottage-Ette Mfg. + + + + + Country-Aire Travel Trailer + + + + + COUNTRY BLACKSMITH LLC + + + + + Countryside Industries, Inc. + + + + + Country Squire Travel Trailer + + + + + Courthouse Camper Trailer + + + + + Covered Wagon Trailer + + + + + Continental World Marine Mexico + + + + + Conway + + + + + Cox Trailers + + + + + Coynco Products + + + + + Coyote Mfg. Corp. + + + + + Cozad Trailer Sales + + + + + COMPTANK, CORP.; BOTHWELL ONTARIO CANADA + + + + + Charlie Perkins Trailer Company, Inc Hamshire, TX + + + + + COMPETITION TRAILERS, INC. + + + + + COMPETITIVE TRAILERS, INC.; BELLFLOWER CALIFORNIA + + + + + Camp Craft Travel Trailer + + + + + Craftmade Homes, Inc. + + + + + Crawler Trailer + + + + + CROSS COUNTRY MANUFACTURING; GREENE, NEW YORK (TRAILERS) + + + + + Connell Industries, Inc. + + + + + Cree Coaches, Inc. + + + + + Crest Mobile Homes, Inc. + + + + + Crescent Trailers, Inc + + + + + Creightons Trailer + + + + + CRAFTSMEN INDUSTRIES, INC; ST CHARLES, MISSOURI + + + + + CARGO KING, LLC; WHITE PEGEON, MICHIGAN + + + + + CARGO CRAFT, INC.; GEORGIA + + + + + CARGO PRO TRAILERS + + + + + Chris Craft Corp. + + + + + Cricket Corp. + + + + + Crimson Homes + + + + + Criterion Homes Mfg. Inc. + + + + + Carrier King Trailer + + + + + Crowley Mfg. + + + + + CAR MATE TRAILERS; LEEPER, PENNSYLVANIA + + + + + CORN PRO TRAILERS + + + + + Cross Truck Equipment Co., Inc. + + + + + Cross Hill Mobile Homes + + + + + Crossland Industries + + + + + Crown + + + + + Crossroads + + + + + Croft-INS + + + + + Crown Line + + + + + CARRON TRUCK REPAIR, LTD; GRANITE CITY ILLINOIS + + + + + Crest Trailer + + + + + Cruisaire Motor Corp. + + + + + Cruzmaster Camper + + + + + County R. V. Mfg., Inc. + + + + + Craft Weld Trailer + + + + + Crystal Welding Inc. + + + + + Circle Supreme Mfg. + + + + + CSM Manufacturing Co. + + + + + COASTAL METAL FAB, INC; TOPSHAM, ME + + + + + COASTAL MANUFACTURING CO., OR COASTAL BUILDING SYSTEMS; OFFICE TRAILERS ETC; RED LION, PA + + + + + C & S Trailer World + + + + + COR-TECH MFG., INC.; LUVERNE, MN + + + + + CENTRAL TRAILER CORP., CHICKASHA, OK + + + + + CONTRAIL INTERNATIONAL; CHICAGO, IL; GERMANY + + + + + CONSTRUCTION TRAILER SPECIALISTS, INC.; SIKESTON, MO + + + + + CUSTOM AMUSEMENT PRODUCTS, COMPANY; DOVER, FLORIDA + + + + + Custom Assembly + + + + + Cuke, Inc. + + + + + Custom King Horse Trailer + + + + + Cullip Industries + + + + + Culpepper Trailer Co. + + + + + Cumberland Coaches + + + + + CURRAHEE TRAILERS + + + + + Curtis + + + + + Custom Camper Co. + + + + + Custom Bond Mfg. Co. + + + + + Custom Coach Co. + + + + + Custom Engineering + + + + + Custom Craft Mfg. Co. + + + + + Custom Homes, Inc. + + + + + Custom Plumbing Co. + + + + + Custom Trailers, Inc. + + + + + Custom Frames, Inc. + + + + + Custom Metal works (CMW) + + + + + CAVALLO + + + + + C & V Welding and Fabricating + + + + + CWC Feather-Lite Mfg. Co. + + + + + C & W Trailers Golden, MS + + + + + Cycle Kamp, Inc. + + + + + Daco Trailer Corp. + + + + + Daffin Mfg. Co. + + + + + Dairy Equipment Co. + + + + + Dakota Mfg. Co., Inc. + + + + + Dalton, Inc. + + + + + DALTON ENTERPRISES, INC.; + + + + + Dalewood Manufacturing Co., Inc. + + + + + Damon Industries, Inc. + + + + + Dana Truck Mount Camper + + + + + Danny Boy Trailer + + + + + Dan Dee Industries, Inc. + + + + + Dandy Mobile Homes + + + + + DANZER INDUSTRIES & DANZER/MORRISON; HAGERSTOWN, MD + + + + + Darby Industries + + + + + Darcell Industries, Inc. + + + + + DARGO MANUFACTURING + + + + + Dart + + + + + Darvon Double Trailer + + + + + Davenco, Inc. + + + + + David Mfg. Co. + + + + + Dave Hicks Co., Inc. + + + + + Davenport Trailer or Mobile Home Co. + + + + + Davron Traveler, Inc. + + + + + Dawes Products Co. + + + + + DAWSON ENTERPRISES; ELKHART, IN + + + + + Day's Drydock North Webster, IN; trailers. + + + + + DOUBLE DELIGHT, INC.; ELKHART, IN + + + + + Deep South Sales Co. + + + + + DISCOUNT TRAILERS; FORT WORTH, TX + + + + + Diamond City Trailer Mfg. + + + + + Double Horse Trailer + + + + + D & D FABRICATIONS, ST LOUISS, MICHIGAN / TRAIL-TECH TRAILERS + + + + + D & D Trailer Inc. + + + + + Dean Industries, Inc. + + + + + Decamp Homes, Inc. + + + + + John Deere Trailer + + + + + DeGeest Mfg. Co. + + + + + Deico Auto Carrier Trailer + + + + + Dekco Mobile Mfg. + + + + + De-Lar, Inc. + + + + + Delhi Metal Products, Ltd. + + + + + Delmar Mfg. Co., Inc. + + + + + Delavan Trailer + + + + + Delphi Body Works, Inc. + + + + + Del Rey Industries, Inc. + + + + + Delta Homes Corp. + + + + + Delta Truck Trailer Co., Inc. + + + + + Delto Homes, Inc. + + + + + Deluxe Homes, Inc. + + + + + Demo Horse Trailer + + + + + Demco + + + + + Dempster + + + + + DENCO MANUFACTURING + + + + + Denver Trailer Supply, Inc. + + + + + Dennison Utility Trailer + + + + + De Rose Industries Inc. + + + + + Denzin & Rahn Mfg. Co., Inc. + + + + + De Soto Coach Co. + + + + + Design Intennt, Inc. + + + + + Design Structures + + + + + DRAGON ESP, LTD OR ENVIRONMENTAL SERVICE PRODUCTS; WASTE HAULING EQUIPMENT + + + + + Destiny Industries, Inc. + + + + + Detroit Trailer Co. + + + + + Dethmers Mfg. Co. + + + + + Detroiter Homes + + + + + Deville Industries, Inc. + + + + + Devil Travel Trailer + + + + + Devine's Machine & Design, Inc. + + + + + DewEze Mfg., Inc. + + + + + D & E WELDING; LYONS, GA + + + + + Diamond B + + + + + Diamond C + + + + + Diamond Mobile Home Mfg. + + + + + DIAMOND G TRAILER COMPANY /GRAHAM FABRICATIONS, INC.; PURVIS, MISSISSIPPI; MANUFACTURING HOME OF DRE + + + + + Diamond G Equipment + + + + + Diamond S + + + + + Diamond Steel Co., Inc. + + + + + Dickinson Homes, Inc. + + + + + Dickirson Equipment Corp. + + + + + Dico Co. + + + + + Didier Mfg. Co. + + + + + Dillis Trailer Mfg. + + + + + Dillon Enterprises, Inc. + + + + + Dilly + + + + + Ditch Witch + + + + + DIAMOND TRAILERS, INC; SHANDON, OH + + + + + Dively Mfg. Co. + + + + + Divco-Wayne Industries + + + + + Dixie Craft Trailers, Inc. + + + + + Dixie + + + + + DELUOPE, INC.; QUEBEC, CANADA + + + + + DM Utility Trailer + + + + + DMH Co. + + + + + DMI, Inc. + + + + + D.M. & V. Enterprises, Inc. + + + + + Dodd Mfg. Co., Inc., + + + + + Dodge Woodcraft + + + + + Doepker Industries, Ltd. + + + + + Dolan Corp. + + + + + Dolphin Homes + + + + + Don-A-Bell Homes, Inc. + + + + + Donhal, Inc. + + + + + Donnell Boat Trailer + + + + + Don May Enterprises + + + + + Dons Boat Trailer + + + + + Donahue Corp., The + + + + + Doo Snowmobile Trailer + + + + + Doolittle + + + + + Doonan Trailer Corp. + + + + + Dormi Industries, Inc. + + + + + Dorsey Trailers Inc. + + + + + Double Shuffle Mobile Home + + + + + DOUBLE D DISTRIBUTORS, INC; PINK HILL NORTH CAROLINA + + + + + Double E Trailer Mfg. + + + + + Douglas Homes, Inc. + + + + + Double J Horse Trailer + + + + + Downer Industries + + + + + Downey Sheet Metal Shop + + + + + D & P WELDING CO; DEKALB, TX + + + + + Drag Master Utility Trailer + + + + + DRAKE TRUCK BODIES; VERNON BRIDGE,PRINCE EDWARD ISLAND CANADA + + + + + DARDON, INC. + + + + + Dreamer + + + + + Dresser Industries, Inc. + + + + + Draglite Trailer + + + + + Drifter Mfg. Co. + + + + + Driftwood Homes Corp. + + + + + Drive On Trailer Mfg. + + + + + Dreamliner Trailer + + + + + DROPBOX, INC; + + + + + DRESSEN CUSTOM TRAILERS, INC.; DELL RAPIDS , SD; DCT TRAILERS + + + + + Drydock Trailer, Inc. + + + + + Super Cooker + + + + + DWS Storeway Trailer + + + + + DUTCH PARK HOMES, INC; GOSHEN, IN + + + + + Detrail Trailer + + + + + DOUBLETREE RV, LLC; LAGRANGE, INDIANA + + + + + Dual Evans Corp. + + + + + Dual-Wide, Inc. + + + + + Dude Trailer + + + + + Dugan Trailer, Inc. + + + + + Dusgo Trailer + + + + + Duke Mobile Homes + + + + + Dunbar Kapple + + + + + Dunham Mfg. Co., Inc. + + + + + DUN-RITE MANUFACTURING LLC; DENVER, CO + + + + + Dupage Coach Co. + + + + + Duplex Mill & Manufacturing Co. + + + + + Durobilt + + + + + Durcholz Trailer + + + + + Dura-Craft Mobile Homes + + + + + Duro Mobile Homes + + + + + Dutchman Manufacturing Middlebury, IN + + + + + Dutec Trailer + + + + + Dutton-Lainson Co., Mfg. Div. + + + + + Downs Clark Trailer + + + + + DOWN (2) EARTH TRAILERS OR DOWN TO EARTH TRAILERS; GEORGIA + + + + + Dynacruiser Mount Trailer + + + + + Dynaweld Trailer + + + + + East Dump Trailer + + + + + Eager Beaver Trailer + + + + + Eagle Custom Coach Mfg. Co. + + + + + Eagle Equipment + + + + + Eagle Trailer Mfg., Inc. + + + + + Easy Loader Trailer + + + + + Easy Rider Trailer + + + + + Eastern-Bilt, Inc. + + + + + Easom Engineering + + + + + Easton Car & Construction + + + + + East Se Trailer + + + + + Easy Traveler Trailer + + + + + Easyown Mfg. Co. + + + + + EAST TENNESEE TRAILERS LLC; MOSHEIM, TN + + + + + Easy Trail, Inc. + + + + + Ebony Line Products + + + + + Economy Camper Co. + + + + + ECONOLINE TRAILERS, INC.; DOUBLE SPRINGS, ALABAMA + + + + + Econo Flo Bulk Service + + + + + Ecsa Mexico; trailers + + + + + Edey & Duff + + + + + Edwards Trailer + + + + + EE-ZY Trailer Co. + + + + + EHM Mfg. Co. + + + + + Eidal International Corp. + + + + + Eight Point + + + + + Elcar Mobile Homes, Inc. + + + + + Elcona Homes Corp. + + + + + Electric Wheel Co. + + + + + El Do-Craft Boat Co., Inc. + + + + + Elder Trailer & Body + + + + + El Dorado Mfg., Ltd. + + + + + Elgin + + + + + Elite Mfg. + + + + + Eljay Mfg. Co. + + + + + ELK AUTOMOTIVE, INC; ELKHART, IN + + + + + Elkhart Mfg. Co. + + + + + Elliott Mobile Home Mfg. + + + + + Ellis Trailer Co. + + + + + Embassy Homes + + + + + Embassy Mobile Homes + + + + + Emmco Trailer + + + + + EMERSON TRAILERS, INC., FLORIDA + + + + + Empire Trailer, Inc. + + + + + Empress Industries + + + + + Energy Mfg. Co. + + + + + English Industries + + + + + En Route, Inc. + + + + + Ensenada Mobile Homes + + + + + Elkhart, Indiana + + + + + ENVASES DE ACERO, S.A. DE C.V. MEXICO; TRAILER + + + + + EQUIPMENT PRO ALSO KNOWN AS; MILRON COMPANY INC, GEORGIA + + + + + Eric Enterprises, Inc. + + + + + Erectors & Fabricators, Inc. + + + + + Erie City Welding & Spring + + + + + Erin Truck and Body Equipment + + + + + ELK RIVER MACHINE CO.; ELK RIVER, MN + + + + + Escape Trailer + + + + + Exco Boat Trailers + + + + + Escort Trailer Corp. + + + + + Esquire + + + + + Essick/Hadco Div. + + + + + Essick Trailer + + + + + Estevan Industries, Ltd. + + + + + E. D. Etnyre & Co. + + + + + EAST TEXAS LONGHORN TRAILERS LLC; EMORY, TX + + + + + John Evans Mfg. Co., Inc. + + + + + Evans-Plugge Co., Inc. + + + + + Evanston Coach Co. + + + + + Evens Trailer Mfg., Inc. + + + + + Evergreen Log Trailer + + + + + Evinrude Motors + + + + + EVERLITE , INC.; LONGVIEW, TX - FLEETRITE & OTHER MODEL OR SERIES + + + + + Excell Travel Trailer + + + + + Excalibur Trailer + + + + + Executive Industries, Inc. + + + + + EXCEL EZLOAD TTRAILERS, LLC; AMARILLO, TX + + + + + EXISS ALUMINAM TRAILERS, INC.; EL RENO, OK + + + + + Explorer Motor Home + + + + + Extend-Ell Industries + + + + + E Z Tow Manufacturing Co. + + + + + E.Z.A. Mfg. Co. + + + + + E-Z Camper (or Kamper) + + + + + E Z Haul + + + + + E-Z Loader Boat Trailer + + + + + E-Z Utiltiy Tailer + + + + + Ezzy Load Boat Trailer + + + + + FABRICATED ALLOY BUILDING CO.., LLC; COVENTRY RI + + + + + F.A.B. Mfg. Co. + + + + + Factory Outlet Trailers + + + + + Fairmont Homes, Inc. + + + + + Fairmont Steel Products + + + + + Falco Mfg. Co. + + + + + Falcon Coach Co. + + + + + Farenwald Boat Trailer + + + + + Fawn Corp. + + + + + Fayette Trailer + + + + + FECHTNER TRAILERS, ELBOW LAKE, MN + + + + + Federal Trailer Co. + + + + + Feldman Custom Trailers + + + + + Fellwon Trailer + + + + + Felps Mfg. Corp. + + + + + Ferree Trailer Corp. + + + + + Fertilizer Dealer Supply, Inc. + + + + + Feteri Mfg. Co. + + + + + Frank Fey & Co. + + + + + F & H Mfg. Co. + + + + + Fieldacre Horse Trailer + + + + + FIBERGLASS INTERNATIONAL, INC; SCHALLER, IA + + + + + Alex Fiegelson Co. + + + + + Field Office Mfg. Co. + + + + + Field & Stream + + + + + Fields Mfg. Co. + + + + + Fiesta Trailer + + + + + Fife Trailer + + + + + Figura, Mike + + + + + Finger Lakes Trailer + + + + + FIN CORPORATION; FAIRFIRLD, OH + + + + + Fireball Trailer Mfg. + + + + + First American Coach + + + + + Firestone Tire & Rubber Products + + + + + Fischer + + + + + FIVE STAR ENGINEERING + + + + + Five-K Trailer Co., Inc. + + + + + Flag Ship Boat Trailer + + + + + Flair Industries of Illinois, Inc. + + + + + Flamingo Trailer Mfg. + + + + + Flasko Mfg. Co. + + + + + Felburn Flatbed Trailer + + + + + Fleet Cap'n Trailers + + + + + Fleet-Aire Camper Co. + + + + + Fleetcraft Corp. + + + + + Flexi-Coil Ltd. + + + + + Fleetwing Mobile Homes + + + + + Fleming Mfg. Co., Inc. + + + + + Flintstone Industries + + + + + Fleming Equipment Co. + + + + + FIRST LINE REFINISHING; CORINTH, NY + + + + + SAUKE CENTRE WELDING & MACHINE WORKS, INC + + + + + Float-On of Florida + + + + + Florida Trailer Co. + + + + + FLOE INTERNATIONAL + + + + + Florida Wholesale Distributor + + + + + Florig Equipment Co., Inc. + + + + + Flote-Aire Corp. + + + + + Flow Boy, Inc. + + + + + Flying L Trailer, Inc. + + + + + Farm Shop, Inc. + + + + + FOLAND ENTERPRISES; SAN DIEGO, CA + + + + + Formaloy Flat Snowmobile Trailer + + + + + Fontaine Truck Equipment Co. + + + + + Fontenelle Homes, Inc. + + + + + Foot Hill Horse Trailer + + + + + Forte Trailer + + + + + Ford's Mobile Home Mfg. + + + + + Foreman Mfg. Co. + + + + + Foremost Mobile Home Mfg. + + + + + Forester + + + + + Forest City Industries, Inc. + + + + + Forlyn Engineering Co. + + + + + Forney Horse Trailer + + + + + Fostron's Factory Outlet Trailers + + + + + Fort Lupton Campers + + + + + Fort Smith Camper Mfg. Co. + + + + + Fortune Homes Corp. + + + + + Fost Joe Dog + + + + + Foster Flatbed Trailer + + + + + Fotografix Boat Trailers + + + + + Fountain Flatbed Trailer + + + + + Four Seasons Travel Trailer + + + + + Four Star Coach Co. + + + + + Four State Industries, Inc. + + + + + Four Winds + + + + + Four Winns + + + + + Frank Motor Homes, Inc. + + + + + Franklin Coach Co. + + + + + Franklin Homes, Inc. + + + + + Francis Travel Trailer + + + + + Freeway, Inc. + + + + + Freeway Travelers, Inc. + + + + + French Horse Trailer + + + + + Friess Trailer + + + + + FOUR H TRAILER MFG.INC; SUMNER, IA + + + + + Friendship Industries + + + + + Frolic Homes, Inc. + + + + + Frontier Homes Corp. + + + + + Frost Trailer Co. + + + + + FOREST RIVER, INC.; GOSHEN, INDIANA TRAILERS + + + + + Fruehauf Corp. + + + + + Frye + + + + + FAST LOAD; FLORIDA, BOAT TRAILERS + + + + + FASTLINE; KANSAS + + + + + Fleetwood Enterprises, Inc. + + + + + Fuller Mfg. Co. + + + + + Fulton Boat Trailer + + + + + Funliner Mfg. Co. + + + + + Funtime Camper Trailer + + + + + Fuqua Homes, Inc. + + + + + Futurama + + + + + General Amer Aero Coach + + + + + Gabriel Auto Carrier + + + + + Gad-About Trailers + + + + + Galactic Corp. + + + + + Galbreath, Inc. + + + + + Galion Manufacturing Div. (Hercules) + + + + + Gallatin Homes + + + + + Gardner, Inc. + + + + + Garway Homes, Inc. + + + + + Garwood + + + + + Gardner-Pacific-Sunrader, Inc. + + + + + Garson Flatbed Trailer + + + + + Gary Carolina Co. + + + + + Walter C. Gates + + + + + Gator Trailers Corp. + + + + + Gator Products, Inc. + + + + + G. & C. Mfg. Co. + + + + + Great Dane Trailers, Inc. + + + + + General Engines Co., Inc. + + + + + Gee-Bee-Dee Manufacturing & Supply Co. + + + + + Geer Co. + + + + + Geering Industries, Inc. + + + + + Gehl Co. + + + + + Gelt Trailers + + + + + Gem Industries, Inc. + + + + + Gemini Trailer + + + + + Gemtop + + + + + General Coach Works of Canada + + + + + General + + + + + GENERAL ENGINES CO. INC.; FLORIDA EAGER BEAVER & INTERSTATE____TRAILERS + + + + + General Trailer Co., Inc. + + + + + General Coach of Florida + + + + + General Coach Mfg. Co. + + + + + General Coach Works, Inc. + + + + + General Homes Div. + + + + + Gentry + + + + + Georgia Trailer & Equipment Corp. + + + + + Gerald Lowboy Trailer + + + + + Gerring Industries, Inc. + + + + + G & F HORSE TRAILER REPAIR; RIVERSIDE, CALIFORNIA + + + + + G & F Trailer + + + + + Ghieapy Jol Trailer + + + + + G & H Manufacturing, Inc. Arlington, TX + + + + + Giant + + + + + Osterlund, Inc. + + + + + Gibraltar Coach Mfg. Co. + + + + + Gibraltar Industries, Inc. + + + + + Giddings Machine Co., Inc. + + + + + Giles Industries, Inc. + + + + + Gilmore Trailer, Inc. + + + + + Gilson Brothers Co. + + + + + Gindy Mfg. Corp. Downingtown, Pennsylvania + + + + + Gin Ray Mfg. Co. + + + + + Girard's Mfg. Co. + + + + + Givens Mfg. Co. + + + + + Gladding Travel Trailer + + + + + Glasstite, Inc. + + + + + GREAT LAKES CARGO LLC; ELKHART, IN + + + + + Glenbrook Homes of Tennessee + + + + + Glen & Cecil Mobile Home Manufacturing & Sales + + + + + Glen Manor Homes, Inc. + + + + + Glendale Mobile Homes + + + + + Glenhill Road Machinery + + + + + Globe Fabricators, Inc. + + + + + Glider Mobile Homes Corp. + + + + + Glitsch + + + + + G & G TRAILERS; GILLIAND & GILLIAND;PRESTON GILLIAND, HALLS , TN + + + + + Glen-L Trailers + + + + + Globe Camper Mfg. + + + + + Globemaster Mobile Homes + + + + + Globestar Industries, Inc. + + + + + Glover Plastic Sprayer + + + + + GLENDALE RECREATIONLA VEHICLES; STRATHROY, ONTARIO, CANADA + + + + + Glass Stream Trailers + + + + + Glastron, Inc. + + + + + Glass-Wood Products, Inc. + + + + + GMR ENTERPRISES, INC.SULLIVAN, MO + + + + + General Marine Industries + + + + + GENERAL SHELTERS; CENTER, TX; CARGO TRAILERS ETC + + + + + GENERAL WELDING & FAB., INC. ELMA, NEW YORK + + + + + Go Corp. + + + + + Goebel Trailer Co. + + + + + Goff Mfg. Corp. + + + + + Go-Tag-Along + + + + + Go-Tel Leasing Corp. + + + + + Gold Leaf Engineering Co. + + + + + Gold Star Mobile Homes, Inc. + + + + + Golden Coach Mfg. Co. + + + + + Golden Isle Trailers, Inc. + + + + + Golden State Mobile Homes + + + + + Golden West Mobile Homes + + + + + Go-Lite, Inc. + + + + + Gonard Enterprises, Inc. + + + + + Golden Nugget Travel Trailer + + + + + Good Mfg. Co. + + + + + Gooseneck Trailer Mfg. Co., Inc. + + + + + Goodyear Camper Mfg., Inc. + + + + + Gorbett Brothers + + + + + Gore Trailer + + + + + Gorman-Rupp Company, The + + + + + GRAND PRIX TRAILER MANUFACTURING, CO.; FREDERICK, MD + + + + + Grady-White Boat Co. + + + + + Graffin Wellpoint Corp. + + + + + Gramm + + + + + Gray-Velle Mobile Homes + + + + + Great Divide Coach Mfg. + + + + + Green Boat Trailer + + + + + Gregory Mfg. Co. + + + + + Greenville + + + + + Great Lakes Mobile Homes + + + + + Greencastle Coach Co. + + + + + Gregory Trailer Sales + + + + + Grizzly Mfg. Co., Inc. + + + + + Great Lake + + + + + Green & Green Mfg. Co., Inc. + + + + + Greenhaven Mobile House Trailer + + + + + Gronewegen B.V + + + + + Great Southwest Corp. + + + + + Grumman-Olsen + + + + + GARDEN STATE CHASSIS REMANUFACTURING, INC + + + + + GOLD STAR ENTERPRISES; SIKESTON, MO + + + + + Guerdon Industries + + + + + Guidon Camper Trailer + + + + + Gulf States Mfg. Corp. + + + + + Guthrie Trailer Sales, Inc. + + + + + Gulf & Western Mfg. Co., Inc. + + + + + Gypsum Express LTD Baldwinsville, NY + + + + + Hackney & Sons, Inc. + + + + + Hadley Trailer Mfg. Co. + + + + + HADDOX QUALITY TRAILERS; OKLAHOMA + + + + + Hairgrove Industries, Inc. + + + + + Halco Co. + + + + + Hale Horse Trailer + + + + + R.D. Hall Mfg., Inc. + + + + + HAULIN TRAILERS LLC + + + + + Halliburton Co. + + + + + Hamby Co., The + + + + + Hamilton Trailer + + + + + Hamlite + + + + + Hampton Homes, Inc. + + + + + HAMPTON AMUSEMENT RIDES, LLC; MISSOURI + + + + + Hank's Mobile Home Service + + + + + Hanover + + + + + Happy Travl'r Coaches, Inc. + + + + + Harbortown Mobile Home + + + + + Harris Honker Camper Mfg. + + + + + Hardee Mfg. Co. + + + + + Harrison Trailer Mfg. Co. + + + + + Harding Trailer Co. + + + + + Hart Mobile Homes Corp. + + + + + Hartford Homes, Inc. + + + + + Harklau Industries, Inc. + + + + + Hartline Travel Trailers + + + + + Hart Mfg., Inc. + + + + + Harrington Mfg. Co., Inc. + + + + + Hartman + + + + + Harlow Travel Trailer + + + + + Haul-A-Day Trailers + + + + + Haulmark Industries, Inc. + + + + + Haulette Trailer + + + + + HAULRITE, INC.; MT. JULIET, TENNESSEE **(NOT HAULRITE OF MISSOURI VMA/BMMF)** + + + + + Haul-It-All-Flatbed Trailer + + + + + Hawkeye Camping Trailer + + + + + HAWN FREEWAY TRAILER SALES; (HAWN TRAILERS) DALLAS, TEXAS + + + + + Hawthorne Trailer + + + + + Hayes Equipment Corp. + + + + + Haynes Mfg. Co., Inc. + + + + + H & B Trailer Co. + + + + + Hudson Trailer + + + + + Hearthside Mobile Homes + + + + + Heckaman Mfg., Inc. + + + + + Heco Boat Trailer + + + + + Hed-Way, Inc. + + + + + Heil Co., The + + + + + Heilite Trailers, Inc. + + + + + Helm Mfg. Co. + + + + + Helmers Custom Coach + + + + + Henred-Fruehauf (Pty.) Ltd. + + + + + Henderson Mfg. Co. + + + + + Henslee Mobile Homes, Inc. + + + + + Herbst Brothers + + + + + Hercules + + + + + Heritage Mobile Homes + + + + + Heron Travel Campers + + + + + Herrli Industries, Inc. + + + + + Herter Snowmobile Trailer + + + + + Herzig Mfg. Co. + + + + + Hesse Corp. + + + + + HERITAGE-BY ABEL CORP ALSO SEE;FRANKLIN COACH COMPANY;NAPPANEE, ILLINOIS + + + + + Hewitt-Lucas Body Co. + + + + + Hatfield Welding & Trailer Sales, Inc. + + + + + H & H TRAILER CO. + + + + + Hi-Lo Travel Trailer + + + + + Hiawatha Mobile Homes + + + + + Hibdon Mfg. Co. + + + + + Hilbilt Mfg. Co. + + + + + High Chaparral, Inc. + + + + + Hicks + + + + + Hide-A-Way Camper + + + + + Highway Cruisers, Inc. + + + + + Highway Sleeper Corp. + + + + + Highway Trailer + + + + + Highway Trailer of Wisconsin & California + + + + + Master House + + + + + Highway Manufacturing Co. + + + + + Highway Industries + + + + + HITCH-HIKER MANUFACTURING, INC., NEW MIDDLETOWN, OH + + + + + Hillsboro Industries, Inc. + + + + + Hill Country Homes, Inc. + + + + + Hill Dump Trailer + + + + + Hill Mfg. Co. + + + + + Hillco, Inc. + + + + + Hillcrest Homes, Inc. + + + + + Hilton Mobile Homes, Inc. + + + + + Hilltopper Mfg. Corp. + + + + + Hilo Snyder Travel Trailer + + + + + Hilltop Mfg., Inc. + + + + + Hire Dump Trailer + + + + + Highstone Trailer + + + + + Hitching Rail Trailer + + + + + Hi-U-Trailer Mfg. + + + + + HI-WAY STAR, INC.; ODESSA, FL + + + + + Truck Trailer Sales & Service + + + + + Hickory King Horse Trailer + + + + + HAUL - A - FAME INC.; SALEM, OREGON + + + + + Holly Parks, Inc. + + + + + HIGH-LITE RIDES, INC.; GREER, SC + + + + + Hellwood Trailer + + + + + HM + + + + + Homemade Trailer Code (for further explanation--see Operating Manual, Part 1, Section 2.) + + + + + HME, INCORPORATED; WYOMING, MI + + + + + HOMESTEADER, INC; NEW TAZEWELL, TN + + + + + H.N.L. CORP AND OR HENRY L. LANCIANI CORP. + + + + + Hanson Camping Trailer + + + + + Holman Compressor Trailer + + + + + Hobbs Trailers + + + + + Ho-Bo Trailers + + + + + HODGES CUSTOM HAULERS; BENTON, KY + + + + + Hornet Industries, Inc. + + + + + Holsclaw Brothers, Inc. + + + + + Holden Trailer Mfg. Co. + + + + + Holiday House + + + + + Holiday Industries, Inc. + + + + + Holland Trailers + + + + + Holiday Mobile Homes + + + + + Holstein Mfg., Inc. + + + + + Holiday Royal Travel Trailer + + + + + Holiday Rambler Corp. + + + + + Holiday Trailer Sales & Mfg. Co. + + + + + Holt Trailer + + + + + Holland Camper Co. + + + + + Holva Travel Trailer + + + + + Hollywood Mobile Homes + + + + + Holly Industries (or Coach Co.) + + + + + Holmes-Craft + + + + + Holiday Marine Sales, Inc. + + + + + Homette Homes (or Corp.) + + + + + Homeway Mobile Homes + + + + + Ernest Holmes Div. + + + + + Honorbuilt Trailer Mfg. + + + + + Hooper Trailers Sales, Inc. + + + + + Hoosier Mobile Homes + + + + + Hop Cap P/U Camper Trailer + + + + + Hopkins Mfg. Corp. + + + + + Horizon Mobile Homes + + + + + Horner-Golem Co. + + + + + Hornet Flatbed Trailer + + + + + Houle Industries, Inc. + + + + + House of Architecture + + + + + House of Harmony, Inc. + + + + + Howard Mfg. Co. + + + + + Howdan Mfg. Co. + + + + + Howe Engineered Sales Co. + + + + + How-Lo Campers Co. + + + + + HARBEN, INC. + + + + + Harrell Mfr. + + + + + HARRIMAN SALES, INC.; DEKALB JCT, NEW YORK + + + + + HORSE CREEK MANUFACTURING; COOKVILLE, TX + + + + + HERITAGE CUSTOM TRAILERS; BENTON,ILLINOIS + + + + + Harmon Tank Co. + + + + + HEARTLAND TRAILER MANUFACTURING & SALES, INC.; SIKESTON, MO BARLOW TRAILERS + + + + + HORTON VANS, INC; EATONTON, GA + + + + + HORTON TRAILERS + + + + + FORCE MANUFACTURING, INC.AND/OR HARVEY; BANGOR, MAINE,NANCY HARVEY + + + + + Hus-Key Mfg., Inc. + + + + + H. & S. Mfg., Inc. + + + + + Hughes + + + + + Hullco + + + + + Humes Truck & Trailer Mfg. Co. + + + + + Hunter Custom Trailers + + + + + Huntington Distributors + + + + + Hunt's Trailer Mfg. + + + + + Huron Industries, Inc. + + + + + Hurst Trailers, Inc. + + + + + Huss Sales, Inc. + + + + + Hustler Boat Trailer + + + + + HUTCO BOAT TRAILER + + + + + Hunter Structures Trailer + + + + + HAWK TRAILERS, LLC; MANAWA, WI + + + + + H. & W. Mfg. Co. + + + + + Hyde Corp. + + + + + Hylander Utility Trailer + + + + + Hy-Line Enterprises, Inc. + + + + + Hylton Homes, Inc. + + + + + HAYSHED TRAILERS; ALBERTA CANADA + + + + + Hyster Corp. + + + + + HYDRO TEK CORP.; REDLANDS, CA + + + + + Hyundai Trailers + + + + + Iben Boat Trailer + + + + + ICL Cargo Trailer + + + + + I.D.E.C.O. + + + + + Ideal Industries + + + + + Idle-Time Cabover Camper Trailer + + + + + IRON HORSE TRAILER MANUFACTURING; TEXAS + + + + + International Jet Boats De Mexico S.A. + + + + + INTERMOUNTAIN WHOLESALE, INC.;COMMERCE CITY, CO + + + + + Impala Mobile Homes & Travel Trailers + + + + + Imperial Industries + + + + + Imperial Mobile Homes + + + + + Indies House, Inc. + + + + + Independence Products Co. + + + + + Indio Trailer Mfg. Corp. + + + + + Indian Campers, Inc. + + + + + Industrial & Municipal Engineering, Inc. + + + + + Ingerson Mfg. Co. + + + + + Inland Equipment Corp. + + + + + Inline Southwest Horse Trailer + + + + + INMAN TRAILERS; INMAN, KS + + + + + Intrapid Trailer + + + + + Insley Four Wheel Tag Trailer + + + + + Interconsult Mfg. Co. + + + + + International Coach Mfg. + + + + + INTEGRITY CUSTOM TRAILERS; R & D FABRICATION; DIV OF DF INDUSTRIES + + + + + International Industries, Inc. + + + + + International Harvester Co. + + + + + International Mobile Homes of California + + + + + Interstate Products + + + + + International Trailer Corp. + + + + + Interstate Travel Trailer + + + + + Interstate Trailers, Inc. + + + + + Invader Travel Trailer + + + + + Ioni-A-Home Mfg. Co. + + + + + IPSCO-Lambton Steel + + + + + Irabeck & Co. + + + + + IRD + + + + + IRONDOG TRAILERS + + + + + I.S.E., Inc. + + + + + INDIANA TRAILER MANUFACTURING + + + + + Jackson Trailer + + + + + Jack's Trailer Mfg. + + + + + Jaclen Mfg. Co. + + + + + Jacobsen Mobile Homes + + + + + Jack's Trailer Mfg. of Florida + + + + + Jahn Flatbed Trailer + + + + + Jalldee, Inc. + + + + + Ja-Mar Manufacturing Inc Sikeston, MO + + + + + JAMCO TRAILERS; BRUCEFIELD, ONTARIO CANADA + + + + + JAMIE'S WELDING; OKLAHOMA + + + + + Jantz Mfg., Inc. + + + + + Jarco, Inc. + + + + + Jason Mfg. + + + + + Jayco, Inc. + + + + + Jay Dee Industries + + + + + Jay-Kee Mfg., Inc. + + + + + Jay Wren Trailer + + + + + J B Enterprises + + + + + JD HANDLING SYSTEMS OR D.J.STEELE & CONSTRUCTION + + + + + Jec Ro + + + + + Jen Sell Corp. + + + + + JENNINGS TRAILERS, INC; EMORY, TEXAS + + + + + Jeraco Enterprises, Inc. + + + + + Jerrytime Camper + + + + + Jersey Trailer + + + + + Jerry's Welding Service (JWS) + + + + + Jet Stream Camping Trailer + + + + + Jewel Trailer, Inc. + + + + + J.F.W. Mfg., Inc. + + + + + Johns Corp. + + + + + Jim Dandy, Inc. + + + + + Jim & Dave's Trailer Mfg. + + + + + Jim Glo Trailers Wilcox, AZ + + + + + Jim's Trailer Shop + + + + + JINDO CORPORATION; SEOUL,SOUTH KOREA + + + + + J & J Flatbed Trailer + + + + + J.J.J., Inc. + + + + + J-J-N ENTERPRISES; SIKESTON,MO + + + + + Jerry James Trailers Sikeston, MO + + + + + J & J TRAILER MANUFACTURING OR J.D.J. TRAILER MANUFACTURING, ONTARIO, CANADA + + + + + JLM Industries, Inc. + + + + + J & L Tank, Inc. + + + + + Jimglo Trailers & Products Phoenix, AZ + + + + + Job Site Trailer + + + + + Joe's Custom Boat Trailer + + + + + Joe's Welding Service + + + + + Johnson Corp. + + + + + Johnson Motors + + + + + Johnson's Trailer Building & Repair + + + + + Joplin + + + + + Ira Jorgenson + + + + + Joshua Trailer + + + + + Joy Mfg. Co. + + + + + J & R MANUFACTURING CO., LLC; TRINITY AL. + + + + + J-Rod Trailer Co. + + + + + J.S. Mobile Homes + + + + + J.T. Ind., Ltd. + + + + + Jude Tent Trailer + + + + + Junior Camping Trailer + + + + + J & W TRAILERS; LAMAR, MO + + + + + Christie, J. W. Bill, Inc. + + + + + Johnson Welding & Steel Supply + + + + + Kal-Custom Boat Trailer + + + + + Kallio Co. + + + + + Kalyn Co. + + + + + Kamp-A-While Industries + + + + + Kampers Kabin + + + + + Kane Trailers + + + + + Kan Haul Trailer Sales + + + + + Kanzol Enterprises, Inc. + + + + + KARAVAN BOAT TRAILER + + + + + KARD CO.; RENSSELAER, INDIANA + + + + + Kari Cool Trailer + + + + + Kar-Go Metal Stamping Co. + + + + + Kar-Rite Corporation + + + + + Karson Industries, Inc. + + + + + Kartote + + + + + Kasey + + + + + Kassborth + + + + + Kaydel, Inc. + + + + + Kayout-Forester Travel Trailer + + + + + Kayot, Inc. + + + + + Kaywood Homes, Inc. + + + + + K-Bar Industries, Inc Savage, MN + + + + + KBH CORPORATION; CLARKSDALE, MS + + + + + KEARNEY TRAILERS CO.GRANDSALINE, TX + + + + + Kelley Manufacturing + + + + + C.C. Kelly & Sons + + + + + Kelson Engineering Co. + + + + + Kempf Car Hauler + + + + + Ken Trailer + + + + + Kden-Craft Products, Inc. + + + + + Kenron Corp. + + + + + Kenskill Trailer Corp. + + + + + Kentucky Mfg. Co. + + + + + Kenway Campers, Inc. + + + + + Kempter Trailer + + + + + JOHN KERR MANUFACTURING, CO. + + + + + KESLER MANUFACTURING, INC; LOYAL, WISCONSIN + + + + + Key Industries, Inc. + + + + + Keystone Trailer & Equipment Co. + + + + + Keystone Coach Mfg. Co. + + + + + Kings Highway + + + + + K & G Mfg. Co. + + + + + KIDRON; TRAILERS + + + + + Kiefer Built, Inc. + + + + + Kilgore Industries + + + + + Kill Bros. + + + + + King Fish Boat Trailer + + + + + King Homes, Inc. + + + + + King Richards, Inc. + + + + + King Trailer Co., Inc. + + + + + King-Co + + + + + Kingston Horse Trailer + + + + + Kipco + + + + + Kismet Mfg. Co. + + + + + Kit House Trailer + + + + + Kit Kamper + + + + + Klassen Homes, Ltd. + + + + + Klassic Trailer Mfg. + + + + + K Line Trailer + + + + + Klinger Products + + + + + Klimek Welding and Manufacturing Maple Lake, MN + + + + + K-Mart Camper Foldup + + + + + KMG INTERNATIONAL; TANGO TRADE NAME + + + + + K & M Mfg. Co. + + + + + Ken Craft Trailer + + + + + King Horse Trailer + + + + + Kingham + + + + + Kingsway Travel Trailer + + + + + KNL HOLDINGS, LLC;PARAGOULD, AR; PEERLESS SEMI-TRAILER + + + + + Knowles Mfg. Co. + + + + + Knox Homes Corp. + + + + + Kent Industries, Inc. + + + + + Kodiak Coach & Mfg. Co. + + + + + Koffel Machine & Metal Fabricating, Inc. + + + + + K & O MANUFACTURING CO., INC.; HULL, IA + + + + + Komfort Travel Trailer + + + + + Kompak Camping Trailer + + + + + Kon Kwest Mfg. + + + + + Kontiki Camper Trailer + + + + + Kory Farm Equipment Div. + + + + + Koster Mfg., Inc. + + + + + King of the Road Trailer Co. + + + + + Kountryaire Travel Trailer + + + + + Kozy Coach Co. + + + + + KAY PARK-REC CORP.; JANESVILLE, IA; SPPEDY BLEACHER MODEL + + + + + Krager Kustom Koach, Inc. + + + + + Kargo Trailers + + + + + Kris Kraft Mobile Homes + + + + + Kropf Mfg. Co., Inc. + + + + + Kross Kountry + + + + + Krown Camper + + + + + KRISTI TRAILER INDUSTRIES, INC; CANASTOTA, NY + + + + + Kurmann Trailer Mfg. Co. + + + + + Kustom Kraft + + + + + KUTZ FARM EQUIPMENT, INC; PINE GROVE, PA + + + + + K & K Mobile Homes + + + + + Kensington Welding & Trailer Co. + + + + + KEYSTONE RV COMPANY; GOSHEN,IN (SPRINGDALE TRAILER MODEL) + + + + + Lady Bea Trailers + + + + + La Crosse + + + + + W.E. Lacey & Sons + + + + + Lakeside Industries + + + + + Lakeland Camper & Mfg. + + + + + Lane Flatbed Trailer + + + + + Lancer Mobile Homes + + + + + Landcraft Corp. + + + + + Lane Horse Trailer + + + + + Landola Homes, Inc. + + + + + Landoll Corp. + + + + + Landmaster + + + + + Lanes Pacesetter Trailer + + + + + Landis Steel Co. + + + + + Lanheim, Inc. + + + + + LaOtto Metal Fabricating Co., Inc. + + + + + Larado Mobile Homes + + + + + Lark Trailer + + + + + Larson Machine, Inc. + + + + + Larsen Lapline Trailer + + + + + LaSalle + + + + + LaSalle Homes + + + + + L. A. Woods Co., Inc. + + + + + Lawndale Homes, Inc. + + + + + Lawrence Trailer + + + + + Layton Homes Corp. + + + + + Lazy J Horse Trailer + + + + + LEBEAU ENTERPRISES, LEXINGTON, NC + + + + + LOAD BOSS,INC/CHARLES H BURKETTS AUTORAMA INC; MANNS CHOICE.PENNSYLVANIA + + + + + LBT + + + + + LIBERTY,INC MAKER OF TRAV-A-LONG TRAILER + + + + + L-Cart, Inc. + + + + + L & D TTRAILERS , INCORPORATED; SIKESTON,MO + + + + + LOADMASTER INC; INDIANA + + + + + LOAD MAX TRAILERS, LTD.; SUMNER, TX + + + + + LOADMASTER TRAILER COMPANY, LTD. PORT CLINTON OHIO; DO NOT CONFUSE WITH LOADMASTER ELKHART INDIANA + + + + + LOAD TRAIL, INC.; SUMNER, TX + + + + + Leader Horse Trailer + + + + + Lechmere Construction + + + + + Ledwell & Son Enterprises, Inc. + + + + + Lee + + + + + Lee Coaches + + + + + L & E Enterprises + + + + + Leer, Inc. + + + + + Leesburg Div. + + + + + Leisure Craft + + + + + Leisure Home Trailer + + + + + Leisure Products, Inc. + + + + + Leland Engineering, Inc. + + + + + Lemco Tool Corp. + + + + + LEE ENTERPRISES MANUFACTURING CO., INC. ELKHART, INDIANA + + + + + Leroi + + + + + Leisure Manor, Inc. + + + + + Levco Manufacturers, Inc. + + + + + Lewaub Trailer Mfg. + + + + + Lifetime Custom Coach + + + + + Lafayette + + + + + L & G Trailer + + + + + Long Chih Industrial Co., Ltd. + + + + + LEGEND TRAILERS, INC + + + + + LONGHORN TANK & TRAILER, INC.; GRAVETTE, ARKANSAS + + + + + Liberty Coach Co. + + + + + Liberty Travel Trailers + + + + + Liberty Homes, Inc. + + + + + LIBERTY INDUSTRIES; CLAYTON, INDIANA + + + + + Little Champ Camper + + + + + Linco Trailer Home + + + + + Lieber Industries, Inc. + + + + + Light Equipment Div. (old code DAVI) + + + + + Lighter-Bilt Trailers, Inc. + + + + + Lil' Cat, Inc. + + + + + Lil'Z + + + + + Linde + + + + + Lincraft Industries + + + + + Lincoln Park Mobile Homes, Inc. + + + + + Lintzcraft Travel Trailer + + + + + Linville Horse Trailer + + + + + Linwood Mfg., Inc. + + + + + Liquid & Bulk Tank Div. + + + + + Lislet Foundries, Ltd. + + + + + Little Chum Mfg. Co. + + + + + Little Dude Trailer Co. + + + + + Little Prince Travel Trailer + + + + + Little Sport Enterprises + + + + + Littleford Brothers Inc. + + + + + Lakewood + + + + + Lloyd's Trailer Finishing + + + + + L & L Trailers + + + + + LMC + + + + + L & M Trailer Mfg. + + + + + Lance Truck Mount Camper + + + + + Lincoln Electric Co. + + + + + LA NEW INDUSTRIES, INC.; MINNESOTA + + + + + LONGHORN TRAILERS / MCKINLEY ENTERPRISES DBA (DOING BUSINESS AS) LOMGHORN TRAILERS; BAY MINETTE, AL + + + + + LEONARD ALUMINUM UTILITY BUILDINGS; UTILITY TRAILERS; MT. AIRY, NC + + + + + LONE STAR MANUFACTURING; VALLEY VIEW, TEXAS TRAILERS + + + + + LONE WOLFE + + + + + Load Rite Trailers + + + + + Load King Trailer Co. + + + + + LOCKE ENTERPRISES OF NEW YORK, INC.; LOCKE NEW YORK + + + + + Bushog/Loadcraft (Div. Allied Products Corp.) + + + + + Load Star Corp. + + + + + LOAD-EAZ Trailer Inc. + + + + + Logan Coach, Inc. + + + + + Lonaire Mfg. Corp. + + + + + Lone Star Boat Mfg. + + + + + Lonergan Corp. + + + + + F. A. Long + + + + + Longmark Mobile Homes + + + + + Lonnie's Trailer Sales + + + + + Longrun + + + + + Long Tailer Co., Inc. + + + + + Loprofile Boat Trailer + + + + + Lorak, Inc. + + + + + Lovebug Travel Trailer + + + + + Low Boy Trailer + + + + + Lowe Industries + + + + + Low Pro Custom Trailer + + + + + LORANGER ENTERPRISES, INC.; SAN ANTONIO, TX + + + + + L & S LINE MFG.; BRISTOL, TENNESSEE + + + + + LEISURE TRAVEL VANS, LTD.; MORDEN. ME + + + + + LEITCHFIELD TRUCK EQUIPMENT, INC.; LEITCHFIELD, KY + + + + + Lubbock + + + + + Luedtke Mfg., Inc. + + + + + Lufkin Trailers + + + + + Luger Industries + + + + + Lundell + + + + + Lundgreen Flatbed + + + + + Luv-It Mfg. + + + + + Luxor-Leffingwell Coach + + + + + Luxury Homes, Inc. + + + + + LONE WOLF TRAILER CO. INC.; FALKVILLE, AL + + + + + Lyncoach & Truck Co. + + + + + Lynch Manufacturing + + + + + Lynnton Mfg. Co. + + + + + MacDonald Camper Kit + + + + + McDonald Camper Kit Distributor + + + + + MacDonald's Mobile Homes + + + + + MacGregor Yacht Corp. + + + + + MAC-LANDER INC.; OSCEOLA, FL + + + + + Macoma Engineering, Inc. + + + + + Madden Trailer + + + + + Del Rio + + + + + Mays Enterprises, Inc. + + + + + Magic Tilt Trailer Mfg. Co., Inc. + + + + + Magic Touch, Inc. + + + + + Magline, Inc. + + + + + Magnolia Mobile Homes Mfg. + + + + + Magnolia Travel Trailer + + + + + Magnum Custom Trailer Mfg. Co. + + + + + Mahoning Homes, Inc. + + + + + Mai Mfg. Co. + + + + + Mark Line Industries, Inc. + + + + + Mair & Son, Inc. + + + + + Majestic Corp. + + + + + Major Way + + + + + Majestic Rides Mfg., Inc. + + + + + Mark V Trailer + + + + + Malheur Mobile Homes, Inc. + + + + + Malibu Campers + + + + + Mallard Coach Corp. + + + + + Malro USA Distributors Heber, CA + + + + + MANAC, Inc. + + + + + Mangar Co. + + + + + Mankato Mobile Homes, Inc. + + + + + MANN MADE PRODUCTS INC.; TRTAILMANN TRAILERS(TRADE NAME) + + + + + Richard Manning + + + + + Manor Homes, Inc. + + + + + Manatee Homes + + + + + Maple Leaf, Inc. + + + + + Mark Twain Mfg. Co. + + + + + Marbrough Boat Trailer + + + + + Mark Fore Vatco Industries + + + + + MARINE GROUP LLC; MURFREESBORO, TN (PRO-CRAFT) + + + + + Marietta Homes + + + + + Marine Camper Trailer + + + + + Marking Mfg. + + + + + Marshall + + + + + Marion Metal Products Co. + + + + + Marlette Homes, Inc. Marlette, Michigan + + + + + Marathon Homes Corp. + + + + + Marquette Custom Boat Trailer + + + + + Marlin Mfg. + + + + + Mars Camper Co. + + + + + Martin Trailers, Ltd. + + + + + Mar-Val Industries, Inc. + + + + + Marshfield Homes, Inc. + + + + + Mascot Homes, Inc. + + + + + Master Liner Mfg. Co. + + + + + Masterbilt Trailers, Inc. + + + + + Mastercraft + + + + + Massey-Ferguson, Inc. + + + + + Masterline Co., Inc. + + + + + Master View + + + + + Mate, Inc. + + + + + Matlock Trailer Corp. + + + + + MAUER MANUFACTURER, INC.; IOWA, TRAILERS + + + + + Maurell Trailer + + + + + Maverick Mobile Home + + + + + Maxcraft Trailer Mfg. + + + + + Maxey Mfg., Inc. + + + + + Mayfair Mobile Home + + + + + Mayco Two Wheel Trailer + + + + + Mayflower Trailers or Homes + + + + + MOBILE CONCEPTS BY SCOTTY; MT. PLEASANT, PA + + + + + Mobile International + + + + + Mobile Traveler + + + + + MCCLOSKEY BROTHERS MANUFACTURING; CANADA LIT.ONTARIO + + + + + McCain Industries + + + + + McCabe-Powers Body Co. + + + + + McCook Mfg. Co. + + + + + McClain Trailer Mfg. Co. + + + + + McCrabb Mfg., Inc. + + + + + McCoy Mfg. & Sales Co. + + + + + McCarthy Trailers + + + + + McClenny Machine Co. of Virginia, Inc. + + + + + McFarlane Mfg. Co., Inc. + + + + + John A. McKay + + + + + Mack Trailer Mfg. Co., Inc. + + + + + McNamee Coach Corp. + + + + + MCN Mobile Homes Corp. + + + + + McCollough Corporation Brookfield, MO + + + + + MECOX RESOURCES SA DE CV MEXICO + + + + + McCoy/Taylor, Inc. + + + + + McQuerry Tan Trailer + + + + + McQuerry Horse Trailer + + + + + McCord Manufacturing Co. + + + + + MID AMERICA MFG., INC.; BERTRAND, MO + + + + + MODULAR SYSTEMS INC; INDIANA + + + + + Mid States Camping Trailer + + + + + M-D Trailer Co. + + + + + Meade + + + + + MEB TRAILER SALES; WALNUT RIDGE, ARKANSAS + + + + + Mech Handling Co. + + + + + Medallion Mobile Homes + + + + + Medford Industries + + + + + Medical Coaches, Inc. + + + + + Melges Boat Works, Inc. + + + + + Melody Home Mfg. Co. + + + + + Macanismos Ensamblados S. A. De C. V. Mexico + + + + + Mercury Boat Co. + + + + + Mercury Coach Corp. + + + + + Merritt Equipment Co. + + + + + Merrimac Corp. + + + + + Mercury Trailer Industries + + + + + Merit Tank & Body + + + + + Merhow Industries + + + + + Mesa III Travel Trailer + + + + + Metal Craft Manufacturing + + + + + Metoo Travel Trailer + + + + + METAVIC TRAILERS; ST.PIERRE=BAPTISTE, QUEBEC CANADA + + + + + Metzendorf Trailer Mfg. + + + + + Metal Fabrication, Inc Winchester, TN + + + + + M.G.M., Inc. + + + + + Mgnol Tandem Boat Trailer + + + + + MONGOOSE TRAILERS; TEXAS + + + + + MGS, Inc. + + + + + M.H. Eby, Inc. + + + + + Manufactured Housing Management Corp. + + + + + Michalke Mfg. Corp. + + + + + Michigan Central Airlines + + + + + Mid-Atlantic Homes Co. + + + + + Middlesex Equipment Co. + + + + + Midway Engineering Co. + + + + + Midwest Industries, Inc. + + + + + Midland Industries, Inc. + + + + + Mid-Equipment Corp. + + + + + Midas International Corp. + + + + + Midwest Mini-Tote Co. + + + + + Midwest Mobile Homes & Trailer Mfg. Co. + + + + + Miller Electric Mfg. Co. + + + + + Millan Flatdeck + + + + + Milco Tank & Boat Co. + + + + + Miller & Smith + + + + + Miller Trailers Inc. + + + + + Miller Tilt-Top Trailer Inc. + + + + + Miley Trailer Co., Inc. + + + + + MILLER INDUSTRIES INC, OOLTEWAH, TENNESSEE + + + + + Mitchell Camper Trailer + + + + + Mitchell Industrial Tire Co., Inc. + + + + + Mitts & Merill, Inc. + + + + + MI-JACK PRODUCTS; HAZEL CREST, IL + + + + + M.J.M. Trailer Mfg., Inc. + + + + + MLBLT + + + + + MILLENIUM TRAILERS, INC. ADDISON, AL + + + + + Miller + + + + + MULTITEK, INC; PRENTICE, WI TRAILER & CONST EQUIP + + + + + M & M Mfg. Co. + + + + + MOND INDUSTRIES, INC.; MISSISSAUGA, ONTARIO, CANADA; PURCHAED BY TRAILMOBILE IN 1999; TRAILMOBILE US + + + + + MAINLINE INCORPORATED; N. TAZEWELL, VA + + + + + Monarc + + + + + Monroe Motors Inc., Wally-Mo Division Holladay, TN + + + + + Montebello Mobile Home Trailer + + + + + Montgomery, Bill + + + + + Monte Aluminum Trailer Dump + + + + + Mobilaire Mobile Homes + + + + + Mobile Chapel Trailer + + + + + Mobile Freeze + + + + + Mobile Engineering Co. + + + + + Mobile Facility Engineering Co. + + + + + Mobile Garage Mfg. Co. + + + + + Mobile Holding Corp. + + + + + Mobile Home Co. + + + + + Mobile Home Service + + + + + Mobile Mfg. Corp. + + + + + Mobile of Marysville + + + + + Mobile Office, Inc. + + + + + Mobile Products, Inc. + + + + + Mobile Scout Mfg. Corp. + + + + + Mobile Structures, Inc. + + + + + Mobile Tops, Inc. + + + + + Mobile Unit Mfg., Inc. + + + + + Mobilemanor, Inc. + + + + + Monte Carlo Mobile Homes + + + + + Mobley Metal Works + + + + + Modern Mobile Homes + + + + + Modernistic Industries + + + + + Moduline International, Inc. + + + + + Modern + + + + + MODERN, INC.TEXAS + + + + + Module, Inc. + + + + + Mohawk, Inc. + + + + + Mobile Home Industries, Inc. + + + + + Molloy Mobile Crafts + + + + + Monarch Boat Co. + + + + + Monarch Industries, Inc. + + + + + Monarch Mobile Homes + + + + + Monitor Coach Co. + + + + + Monon Trailer Div. + + + + + Mono + + + + + Monson & Sons Trailer + + + + + Montgomery Mfg. Co. + + + + + Monticlaire Mobile Homes + + + + + Montone Mfg. Co. + + + + + Moody Mfg. Co. + + + + + Morris Brothers + + + + + Morgan Mobile, Inc. + + + + + Morgan Trailer Mfg. Co. + + + + + Morse Horse Trailer + + + + + Moritz, Inc. + + + + + Moser + + + + + Motoc Semi Flatbed Trailer + + + + + Motel Mobile Corporation of America + + + + + Mo Trailer Corp. + + + + + Mount Vernon Mobile Home + + + + + Mountain Valley Enterprises + + + + + Mountain View Campers + + + + + Mountaineer Mfg. Co. + + + + + MPC Cruiser Camper Trailer + + + + + Marauder Travelers, Inc. + + + + + Mr. Ed. Boat Trailer + + + + + Marion Homes, Inc. + + + + + Marion Trailer Sales + + + + + MARINE TRANSPORTATION CO., INC.; NORWELL, MA + + + + + Marquez Mfg., Ltd. + + + + + Murray Marine Corp. + + + + + Martin Lowboy Semi Trailer + + + + + MARTINS ENTERPRISES; DONALDS, SC + + + + + Martinez Trailer + + + + + M-System, Inc. + + + + + MASTER TOW INC. FAYETTEVILLE, NC + + + + + Mississippi Tank Co., Inc. + + + + + MIGHTY MOVER TRAILERS, INC; CALIFORNIA + + + + + Maxwell Trailers & Pickup Accessories + + + + + Mastertrack + + + + + TRAILERS DE MONTERREY, S.A. NUEVO LEON, MEXICO + + + + + M.T. TRAILERS,INC; MCKINNEY,TX; MT TRAILERS,UTILITY TRAILERS + + + + + Multech Corp. + + + + + Multi Trailer + + + + + Muncy Homes, Inc. + + + + + Murray Trailers + + + + + Mustang Trailer Mfg. Inc. + + + + + Muv-All Trailer Multech Corp. + + + + + Marine Venture Enterprisers, Inc. + + + + + M & W Mfg. Co. + + + + + Martco Waste System Equipment + + + + + MAX-ATLAS EQUIPMENT INTERNATIONAL, INC.; ST-JEAN-SUR-RICHELIEU, QUBEC CANADA + + + + + Myco Industries + + + + + My-Way Corp. + + + + + Nabors Trailer, Inc. + + + + + N & Ha Mfg. Co. + + + + + Namco Industries + + + + + Nasan Trailer + + + + + Nash Mfg. + + + + + Nashua Mfg. Co. + + + + + National Mobile Homes + + + + + Nationwide + + + + + Navajo Horse Trailer + + + + + NORTHERN BAY CO. INC. ; PENOBSCOT, ME + + + + + Neal Mfg. Co., Inc. + + + + + New Bame Trailer + + + + + Neckover Trailer Mfg. Co. + + + + + NEDLAND INDUSTRIES, INC.; RIDGELAND, WI + + + + + New Holland Haybine + + + + + Nallej of Florida + + + + + Nelson-Dykes Co. + + + + + Nelson Mfg. Co. + + + + + Neosho Custom Coach Co. + + + + + Neptune Corp. + + + + + Nerco Trailer + + + + + Karl M. Neufeld + + + + + Nevada Air Products Co. + + + + + Nevadan Mfg. Co. + + + + + NEVILLE WELDING, INC., KINGMAN, KS + + + + + Nevlen Company Inc. + + + + + New Comer Industries, Inc. + + + + + New Dimension + + + + + New England Homes or Trailers + + + + + Sperry New Holland + + + + + New Yorker Homes Corp. + + + + + Newham Enterprises + + + + + Newman Trailers + + + + + Newport Homes, Inc. + + + + + New Style Homes, Inc. + + + + + New Paris Traveler Corp. + + + + + Northern Hydrolics, Inc. + + + + + Niagara Trailer Co. + + + + + Niceson Boat Trailer + + + + + Nickel & Holman + + + + + NICHOLS CUSTOM WELDING, INC., HOME OF NICHOLS TRAILERS; FARMINGTON, ME + + + + + Nimrod Tent Trailer + + + + + Nobility Homes, Inc. + + + + + Noble Cultivators Ltd. + + + + + North Country + + + + + Nodine Mfg. + + + + + Nordic + + + + + Noel Mfg. + + + + + Nolena Foster Trailer + + + + + Nomad Trailers and Mobile Homes + + + + + Nomanco, Inc. + + + + + Norcal Boat Trailer + + + + + Nordine Mfg. Co. + + + + + Norris Homes, Inc. + + + + + Norjack, Inc. + + + + + North American Mfg. Co. + + + + + North American Shipbuilding + + + + + Northern Cruisers + + + + + Norse Trailer + + + + + Northern Star Mobile Home + + + + + Northland + + + + + Northwest Trailers + + + + + Northwestern Mobile Homes + + + + + Nothsway Tandem Trailer + + + + + NOVA FABRICATING,INC.; AVON,MN + + + + + Northway Trailer + + + + + North River Homes + + + + + NORTHWOOD OF VIRGINIA INC; WINCHESTER VIRGINIA + + + + + Norwin Trailer + + + + + NU-CENTURY; MADERA, CA + + + + + Nuell Coach Corp. + + + + + NU-LIFE ENVIRONMENTAL, INC.; EASLEY, SC RECYCLING + + + + + Nuttall Trailers + + + + + Nu-Wa Campers, Inc. + + + + + NuWay Mobile Home Mfg. Co. + + + + + NUWA Horizon Camper Trailer + + + + + Northwest Custom Trailer + + + + + New McGrath + + + + + Oak Coach Co. + + + + + Oasis Travel Trailer + + + + + Oberlin Trailers, Inc. + + + + + Obrect Trailer + + + + + OCI MANUFACTURING CO.; OREGON, IL + + + + + CLASSIC MANUFACTURING,INC. OR OWENS-CLASSIC MANUFACTURING, INC.; STURGIS, MI + + + + + Odom Boyd Trailer Mfg. Co. + + + + + Odyssey Trailer Co. + + + + + Oelrich Mfg. Co. + + + + + Office Master, Inc. + + + + + The Officer + + + + + Ohio Body Mfg. Co. + + + + + OK Horse Trailer + + + + + Oklahoma Horse Trailer + + + + + Oklahoma Trailer, Inc. + + + + + Olds Trails Trailer + + + + + Olgen Mfg. Co. + + + + + Olson + + + + + Omaha Standard Flatbed Trailer + + + + + Boat trailers--Waukegan, Illinois + + + + + OMC Johnson + + + + + Oneida Coach Mfg. + + + + + Ono, Inc. + + + + + ONYX FLYER + + + + + Open Road Campers, Inc. + + + + + OPTIMA INDUSTRIES, LLC; EASTMAN,GEORGIA + + + + + Orbit Industries, Inc. + + + + + Orcon Industries + + + + + Oregon Mfg. Co., Inc. + + + + + Oriole Trailer Mfg. Co. + + + + + Orlando Boar Co. + + + + + Osage Trailer Mfg. Co., Inc. + + + + + C. D. Osborn & Son + + + + + Oshkosh Trailer Division Bradenton, FL + + + + + OUTLAW TRAILER, MFG; ST JOSEPH, MO + + + + + Otterbacher Mfg., Inc. + + + + + Outdoor Equipment + + + + + OVERBILT TRAILER COMPANY; DRUMRIGHT, OK + + + + + Overland Mfg. Co. + + + + + Over-Lowe Co. + + + + + Owens-Classic, Inc. + + + + + Ownahome, Inc. + + + + + Owens Mfg. Co. + + + + + Ozark Trailer & Mobile Homes + + + + + Pacemaker Boat Trailer + + + + + Pacemaker Mobile Homes & Travel Trailer + + + + + Pacific Campers + + + + + Pacesetter + + + + + Page Trailer + + + + + Paccar Incorporated Bellvue, WA + + + + + PAIUTE TRAILERS + + + + + Parkhurst Mfg. Co., Inc. + + + + + Pak-Mor Mfg. Co. + + + + + Pal Mfg. Co., Inc. + + + + + Palace Corp. + + + + + Palm Trailers + + + + + Palmetto Sales of Laurens + + + + + Palamino Camping Trailer + + + + + Palmers Machine Works, Inc. + + + + + Pamco Trailer + + + + + Pace American, Inc. + + + + + PACE AMERICAN OF UTAH, INC.; HURRICAN, UTAH + + + + + Pan American Mobile Homes + + + + + Panorama Homes, Inc. + + + + + Paris Trailer Co. + + + + + Pardonnet Mfg. Co. + + + + + Park Estates Homes + + + + + Park Homes, Inc. + + + + + Park Lane Mobile Homes + + + + + Park Royal + + + + + P.J. Parmiter & Sons, Ltd. + + + + + Park Trailer Corp. + + + + + Parker + + + + + Parkmaster + + + + + Parkway Mfg. Co. + + + + + Parkwood Homes, Inc. + + + + + Parkwood Mobile Homes of Florida + + + + + PERFECTION ARCHITECTURAL SYSTEMS, INC.; BOYNTON BEACH, FL + + + + + Pastime Mfg. Co. + + + + + Pathfinder Mobile Homes + + + + + Pauli Cooling Systems, Inc. + + + + + Pacific Boat Trailers Inc. + + + + + PARIS CUSTOM TRAILER CO.; TEXAS + + + + + P/D + + + + + Peabody Solid Waste Management + + + + + PEAK MANUFACTURING, INC._NORTH BATTLEFORD , SK CANADA + + + + + Pennstyle Campers, Inc. + + + + + Peek + + + + + Pelican Aluminum Mfg. + + + + + PEMBERTON FABRICATORS, INC; RANCOCAS, NJ + + + + + Pennsbury Manufacturing Corp Bensalem, PA + + + + + Pennco Industries, Inc. + + + + + Pendlay + + + + + Peninsula Camper Mfg. + + + + + J. C. Penney + + + + + Pennsylvania Furnace and Iron + + + + + Penn-Cupit Industries Ltd. + + + + + PEQUEA + + + + + I.B. Perch Co. + + + + + Performance Products, Inc. + + + + + Peerless Division + + + + + Perma Tent Camper + + + + + Perone Trailer + + + + + Perris Valley Campers + + + + + Peterson + + + + + Pfaudler Co. + + + + + PEGASUS VANS & TRAILERS, INC. SANDUSKY, OH + + + + + PILGRAM INTERNATIONAL, INC.; MIDDLEBURY, IN; FIFTH WHEEL TRAILERS;_____NOT SAME AS PILGRIM MFG. + + + + + P & H + + + + + Phelan Mfg. Co. + + + + + Phelps Horse Trailer + + + + + Phillips Trailers + + + + + Phill Trailer + + + + + Phillips Mfg. Co., Inc. + + + + + Phoenix Camping Trailer + + + + + Pick-Up Top Mfg. + + + + + Pickwick + + + + + Piedmont + + + + + Pierce Lowboy Trailer + + + + + Pike Trailer Co. + + + + + Pilgrim Mfg. Co. + + + + + Pines Trailer Corp. + + + + + Pinson Truck Equipment Co. + + + + + Pioneer Coach Mfg. + + + + + Pioneer Sales & Mfg. Co. + + + + + Pipestone Tandem Boat Trailer + + + + + Pitman Brothers Co. + + + + + John Pitzer Mfg. Co. + + + + + Pixie Piker Travel Trailer + + + + + P.J. Trailer Manufacturing, Inc Sumner, TX + + + + + Plastic Engs. & Consultants + + + + + Plattsburg Mfg. + + + + + Plains Industries, Inc. + + + + + Play-Mor Trailer, Inc. + + + + + Playmate Coaches + + + + + Plastic Forming Co. + + + + + Platt Trailer Co. + + + + + Pleasure Homes Mfg. + + + + + Pleasureway Mfg. + + + + + Pleasuremate Industries + + + + + PALM AIRE, INC; ELKHART, IN + + + + + PLATINUM MANUFACTURING, LLC; OKLAHOMA CITY, OK + + + + + PINE-HILL MANUFACTURING, CO.; GAP, PENNSYLVANIA + + + + + Penn Trailer + + + + + Pointer-Willamette + + + + + Polar Mfg. Co. + + + + + Pollock Industries + + + + + Poloron Homes of Pa., Inc. + + + + + Ponderosa Homes, Inc. + + + + + Ponderosa Industries + + + + + Poole, Inc. + + + + + Por Trailer + + + + + PORTA-DOCK, INC + + + + + Portable Structures + + + + + Porta-Kamp Mfg. + + + + + Porta-Built Industries + + + + + Powerline Products + + + + + PRESTON AMUSEMENTD, INC.; ALVARADO, TX + + + + + Prarie Schooner, Inc. + + + + + PRATT INDUSTRIES, INC.; BELLEAIR BLUFFS, FL + + + + + Prebuilt Mfg. + + + + + Precision Deburring & Fabricating, Inc. + + + + + Pre-Built Structures + + + + + Premier Trailer + + + + + Presidential Mobile Homes + + + + + Presvac Systems (Burlington) Ltd. + + + + + Prew Proco Travel Trailer + + + + + Parkhurst + + + + + Prince-Meyers Corp. + + + + + Princess Homes + + + + + Prior Products, Inc. + + + + + Private Coach + + + + + Pine Grove Mfg. + + + + + PRO LITE TRAILERS; PECULIAR, MISSOURI + + + + + PREMCO PRODUCTS, INC.; LA VERNE, CA; TRIPLE L TRIALERS + + + + + Progress Industries, Inc. + + + + + PRO LINE TRAILERS; COCOA, FL + + + + + LES MACHINERIES PRONOVOST, INC; CANADA + + + + + Pro-Trail, Inc. + + + + + Prowler Industries + + + + + Prestige Custom Trailers, Inc. + + + + + Prestige Housing, Inc. + + + + + PROTAINER, INC; PROTRAILER (TRADE NAME) ALEXANDRIA, MN + + + + + Port Trailer Mfg. Co. + + + + + PRO-TRAK TRAILERS, INC.; CANTON, TX + + + + + Patriot Homes, Inc. + + + + + Puckett Bros. Mfg. Co., Inc. + + + + + Pull A Long Mfg. & Sales + + + + + Puma Camper Sales + + + + + Puzey Bros., Inc. + + + + + POWER TRAC MACHINERY; + + + + + PW Trailer + + + + + Pyle Haul-It-All Flatbed + + + + + Pyramid Mobil Homes + + + + + QE Mfg. Co., Inc. + + + + + QUALITY BUILT TRAILERS; NEW MARKET, TN + + + + + Quaker City Iron Works Inc. + + + + + Quality Trailer + + + + + Quickload + + + + + QUIK MANUFACTURING, CO. + + + + + QUALITY MFG. CO., INC.; ROME, NEW YORK + + + + + Rach Welding + + + + + Racmac Trailer + + + + + Roadcraft Mfg. & Leasing + + + + + Radamacher Trailer + + + + + Raes Utility Trailer + + + + + Rainbow Camper Co. + + + + + Rainbow Corp. + + + + + Rainway Mfg. Co. + + + + + Rallymaster Travel Trailer + + + + + Ramada Tent Camping Trailer + + + + + Ramlin + + + + + R & A MANUFACTURING PARTNERS, LTD.; HOUSTON, TX + + + + + Ramsey Trailers + + + + + Ranchette Travel Trailer + + + + + Rancho Trailers, Inc. + + + + + Walter Randall + + + + + Randolph Coach + + + + + Ranch King Enterprises, Inc. + + + + + Rapid Traveler Coaches + + + + + RAPSURE, INC; NAPPANEE, IN UTILITY & OTHER TYPE TRAILERS + + + + + Ratco Welding + + + + + Ravens-Metal Products, Inc. + + + + + Rawhide Stock and Horse Trailer Mfr., Inc. + + + + + RAYCO MANUFACTURING, INC.; WOOSTER, OH TRAILERS & EQUIPMENT + + + + + Raymond Products Co. + + + + + Raymur Acceptance Corp. + + + + + Raynell Campers + + + + + RECREATION BY DESIGN LLC.; ELKHART, IN + + + + + Richards Utility Trailer + + + + + R.C. Industries, Inc. + + + + + ROCKIN L. RIGGIN CORP.; GRAHAM, TEXAS + + + + + ROAD CLIPPER BY DIAMOND C TTRAILER MANUFACTURING; MT. PLEASANT, TX + + + + + Reconstructed Trailer or Motorhome + + + + + RIDGELINE, INC; WASHBURN, TN + + + + + Road King Travel Trailer + + + + + Rea Trailer Co. + + + + + READI-BUILT TRAILERS; THOMASVILLE, NC + + + + + Realco Trailer + + + + + Rebel Mobile Home + + + + + Rebel Boat Trailer + + + + + R.E. Custom Boat Trailers + + + + + Reco Goliath Tent Trailer + + + + + Rec-Sha Trailer + + + + + Red Arrow Trailer Co. + + + + + Red Dale Coach Co. + + + + + Red Gooser Horse Trailer + + + + + Redman Homes, Inc. + + + + + Red River Custom Trailer + + + + + Redstone Coach Co. + + + + + Reed Enterprises, Inc. + + + + + Reed Mfg. Co. + + + + + REEL TRAILERS + + + + + Reeves Trailer + + + + + Regent Homes Corp. + + + + + Regis Corp. + + + + + Reids Trailers, Inc. + + + + + Reinell Boat Trailer + + + + + Reliable Tank Inc. + + + + + Relco Corp. + + + + + Reliance Trailer Mfg. + + + + + Reliart Trailer Mfg. Co. + + + + + Realite Trailer + + + + + Rembrant Mobile Home + + + + + Rome Engineering & Mfg. Co. + + + + + Remic Industries, Inc. + + + + + Remke Trailer + + + + + REMEQ, INC.; PRINCEVILLE,QUEBEC CANADA + + + + + Rent-A-Trailer Corp. + + + + + RETTIG ENTERPRISES, INC.; SIKESTON,MO + + + + + Revella Camping Trailer + + + + + Rex Mobile Homes + + + + + Reynolds Mfg. Co. + + + + + RFC Mfg., Inc. + + + + + R & G + + + + + RHEA'S TRAILER SALES, INC.; TEXAS + + + + + RHINO TRAILER MANUFACTURING; MANOR, TX + + + + + Richardson + + + + + Richardson Homes Corp. + + + + + Rickman Trailer + + + + + Richards & Clark Mfg. Co. + + + + + Richland Homes Mfg. Co. + + + + + Ride-On, Inc. + + + + + Ridgecraft Corp. + + + + + Right Products, Inc. + + + + + R & I Industries + + + + + Rimer, Inc. + + + + + Ring-o-Matic Mfg. Co. + + + + + Rink Mfg. Co. + + + + + Ripco, Inc. + + + + + Rite-Bilt + + + + + Rite-On Trailer + + + + + River Trail Trailers + + + + + Ritz-Craft, Inc. of Pennsylvania + + + + + Riverdale Steel Works + + + + + Rivinius, Inc. + + + + + Bill Rivers + + + + + Riverside + + + + + Riverside Trailer Mfg. Co. + + + + + River Run + + + + + Riviera Mfg. Co. + + + + + R.L. Allen Company, Inc. + + + + + ROLLINGSTAR MFG.,INC. ; BARNEVELD, NY + + + + + Reid's Mfg. and Welding Co. + + + + + RANCE ALUMINUM, INC; RENEGADE TRAILERS VARYING STYLES;SNOWMOBILE ETC. + + + + + REINKE MFG., INC; DESCHLER, NEBRASKA + + + + + Road Roamer Campers + + + + + Roadliner Mfg. Division + + + + + Roadmaster Mfg. Co. + + + + + Roadrunner Mfg. Corp. + + + + + Roadway Trailer, Ltd. + + + + + Roaminghome Co., Inc. + + + + + ROBB KAUFMAN, INC.; LEXINGTON, NORTH CAROLINA + + + + + Robin Mfg. Co. + + + + + Robin Hood Travel Trailers + + + + + Robert Horse Trailer + + + + + Rockin-Bar Trailer Ltd. + + + + + Rocket Trailer, Ltd. + + + + + Rockford Industries, Inc. + + + + + Rockie Mountain Mfg., Inc. + + + + + Rockland Homes, Inc. + + + + + Rochester Homes, Inc. + + + + + Rockport Trailer Mfg. Corp. + + + + + Rogers Brothers Corp. + + + + + Rogers Trailers, Inc. + + + + + Rogue River Trailer Mfg. Co. + + + + + Rockwood, Inc. + + + + + Rolco Mfg. Co. + + + + + Roll-A-Long & Sterling Coach Co. + + + + + Rolite, Inc. + + + + + Rolling Homes, Ltd. + + + + + Rollohome Corp. + + + + + ROLLS RITE TRAILERS, INC., MARIANNA, FL + + + + + Rolls International Trailer + + + + + Romae Industries + + + + + Ronco Coaches, Inc. + + + + + RON'S TRAILERS INC.; OREGON, OH + + + + + Roofmaster + + + + + ROOSE MANUFACTURING; PELLA, IA + + + + + Road Ranger Camper Trailer + + + + + Rosco Two Wheel Trailer + + + + + Rosemont Mobile Home + + + + + J.H. Ross Co. + + + + + Rockett Trailers Medley, FL + + + + + Rotocraft Boat Trailer + + + + + Roulette Caravan Co. + + + + + Roust-About + + + + + Rover + + + + + Royal Brothers + + + + + Royal Crest Co. + + + + + Royco Mfg. Co. + + + + + Roycraft Coach Co. + + + + + Royal Industries Noble Div. + + + + + Royals International + + + + + R & H Horse Trailer + + + + + R & R Mfg. Co. + + + + + Ridge Runner Industries, Inc. + + + + + R/S Truck Body Co., Inc. + + + + + R.T.R. TRTAILERS,INC.; FARMINGDALE, NJ + + + + + Ruchmore Homes + + + + + Rush Industries, Inc. + + + + + Run-About + + + + + Frank Russell Mfg. Co. + + + + + Rushmore Homes + + + + + RUSH & SON, INC; LENOIR CITY, TENNESSEE + + + + + Russco Lowboy Trailer + + + + + Rustler Horse Trailer + + + + + R-VISION, INC. INDIANA;MANUFACTURER OF TRAIL BAY TRAVEL TRAILERS AND OTHER BRANDS + + + + + R.V. Kompacts, Inc. + + + + + River Oaks Homes, Inc. + + + + + Randall's VIP Trailers, Inc. + + + + + Rice & Woolard Mfg., Inc Naylor, MO + + + + + Ryan Mfg. + + + + + Ryder + + + + + RAZORBACK TRAILERS; PENNSYLVANIA + + + + + Sabre Equipment Div. + + + + + Safari + + + + + Safeway Mobile Homes Div. + + + + + Sage Mfg. Co. + + + + + Sahara Mobile Homes + + + + + St. Clair Custom Built + + + + + St. Joseph Marine Trailer + + + + + Salem Mobile Home Trailer + + + + + Saling Mfg. Co. + + + + + Salvaco, Inc. + + + + + Sampson + + + + + Sams + + + + + SANDS WELDING, INC. ALBANY, MN + + + + + Sani-Cruiser Co. + + + + + Sanker Mfg. & Supply + + + + + Santa Cruz Trailer Mfg. Co. + + + + + Santa Fe Springs Div. + + + + + Santeler Brothers + + + + + Starcraft Mfg. Co. + + + + + Saturn Homes + + + + + SAUBER MANUFACTURING COMPANY; VIRGIL, IL + + + + + Savage Coach Mfg., Inc. + + + + + Savannah Homes, Inc. + + + + + Seabring Home, Inc. + + + + + Sebring Home Corp. + + + + + Scad-A-Bout Mfg. & Aluminum Co. + + + + + Scamper Coach Trailer + + + + + Scenic Campers Co. + + + + + Scepter Utility Trailer + + + + + Schantz & Sons, Inc. + + + + + Schrader Dump Trailer + + + + + Schenkel Brothers Mfg. Co. + + + + + SCHIFSKY TRAILERS + + + + + Schertzer Equipment Co. + + + + + Schetzky Equipment Corp. + + + + + Schevelle Homes Sales Corp. of Alabama + + + + + Schiebout Mfg. Co. + + + + + Schien Body & Equipment Co. + + + + + Schlemmer Boat Co. + + + + + Schult Mobile Homes Corp. + + + + + Schnure Ho' Trailer + + + + + Schwartz Mfg. Co. + + + + + SCI Trailer + + + + + Scamp Trailer + + + + + Scotsman Industries, Inc. + + + + + Scotsman Mfg. Co. + + + + + Scorpion Trailer + + + + + Scoutboat Trailer + + + + + Star Custom Trailers, Inc. + + + + + Scully Coach Co., Inc. + + + + + Sea Breeze Trailer + + + + + Seacamper Boat Trailer + + + + + Sea Lion Utility Trailer + + + + + Seal Mate + + + + + Sears + + + + + Sea Stallion Trailers + + + + + Wendell Sears + + + + + Seco Mfg. Co. + + + + + Security Industries + + + + + Seemore Flatbed Trailer + + + + + Seiden Mobile Homes + + + + + Selburn Flatbed Trailer + + + + + Selma Trailer & Mfg. Co. + + + + + Selox Mfg., Ltd. + + + + + Sellers Trailer + + + + + Selby Mfg. Co. + + + + + Semlac Corp. + + + + + Seminole Boat Trailer + + + + + Senora Trailers Yuma, AZ + + + + + Searover TC Camper + + + + + Serro Travel Trailer Co. + + + + + SEWER EQUIPMENT CO. OF AMERICA + + + + + Shamrock Campers + + + + + Shamrock Homes + + + + + Sharratt Mobile Homes & Supplies + + + + + Shasta Industries + + + + + Shaw-Wynn Homes Corp. + + + + + Sherwood Baronet Tent Trailer + + + + + Shadow Trailers + + + + + Shelby Mobile Homes + + + + + Sherman & Reilly, Inc. + + + + + Shertzer Dump Trailer + + + + + Shipbuilt Van Trailer + + + + + Shiloh Homes + + + + + Shipmate + + + + + Shippette Mobile Homes + + + + + SHIVVERS MANUFACTURING, IOWA + + + + + Sho-Me Campers Co. + + + + + Shoops Horse Trailer + + + + + Shopmade Flatbed Trailer + + + + + Showco Nomad Trailer + + + + + Sherwood Sentry Horse Trailer + + + + + S & H Trailer Mfg. Co., Inc. + + + + + Show-me Trailers, Inc. + + + + + Silver Eagle Travel Trailer + + + + + Siebert Trailers, Inc. + + + + + SIEMS ENTERPRISES; SHELLEY, IDAHO TRAILERS + + + + + Sierra Campers Mfg. + + + + + Sigame Corp. + + + + + Signal Division + + + + + Silvercrest Industries, Inc. + + + + + Silver Leaf Mfg. Co. + + + + + Silverline + + + + + Silver Streak Trailer Co. + + + + + Simek Mfg., Inc. + + + + + Simenson Mfg. Co. + + + + + Simon Utility Trailer + + + + + Simpson Enterprises, Inc. + + + + + SIMPSON WELDING & CUSTOM TRAILERS / HOWBOY TRAILER; HUGO, OK + + + + + Single Tilt Trailer + + + + + Silver Star Trailer + + + + + Sisu USA Inc. + + + + + Six Pac Camper + + + + + Skamper Corp. + + + + + Ski Kart + + + + + Skim Air Trailer + + + + + Skipper B Trailer Co., Inc. (Formerly Brown Ind.) + + + + + Ski-Tow Mfg. Co., Inc. + + + + + Academy Mobile Homes Mfd. by Skyline Motorized Div + + + + + Skippy Trailer + + + + + Skycraft Trailer + + + + + Skyhomes, Inc. + + + + + Skylark Industries, Inc. + + + + + Skyline Corp. + + + + + Sloat Mfg. Co. + + + + + Sleep Easy Trailer + + + + + Smartlee + + + + + Smithco + + + + + Smith-Roles Ltd. + + + + + Smokey Trailer + + + + + SAM PATTON INDUSTRIES + + + + + S & M Trailer Co. + + + + + SOUTHERN MISSOURI TRAILER SALES; WEST PLAINS, MO; HOOK-ON MODEL + + + + + Smallwood + + + + + SOUTHMAYD EQUIPMENT CORPORATION; SOUTHMAYD, TX + + + + + Snatcher Trailer Company + + + + + Sunbird Boat Company Columbia, SC + + + + + SunBird, Inc. + + + + + Sun Belt Energy Housing, Inc. + + + + + SANDPIPER + + + + + Sunflower Travel Trailer + + + + + Sun-Lite, Inc. + + + + + Sno-Bird Trailer Co., Inc. + + + + + Snowflake Coach Industry + + + + + Southern Energy Homes, Inc. + + + + + Remington Homes + + + + + Santa Fe Trailer Co. + + + + + Sun Trailer & Utilities + + + + + Snowton Trailer + + + + + SNUB-HARBOR OR DAY'S DRYDOCK TRAILERS; INDIANA + + + + + SNOWBEAR LIMITED; ONTARIO, CANADA + + + + + Snow Co., The + + + + + Snyder Trailer Co. + + + + + Society Coach Builders + + + + + SOUTHERN CLASSIC TRAILER MFG., INC. SUMNER, IOWA + + + + + Soderstrom Machine Shop + + + + + Sol Cat Boat Trailer + + + + + Southern Lifestyle Homes, Inc. + + + + + Son-Dyke Trailer Co. + + + + + Sooner Mfg. + + + + + SOPKO MANUFACTURING, INC; LAWRENCEVILLE, VA + + + + + SOUTHERN SALES, INC.; TRAVELERS REST, SC + + + + + SOUTH BAY TRAILERS; LOUISVILLE,KY + + + + + SOUDRE KERR, INC; COOKSHIRE, QUEBEC CANADA + + + + + Southeastern + + + + + Southern Trailers + + + + + Southlane Horse Trailer + + + + + Southwest Truck Body Co. + + + + + Space Age Campers + + + + + Space-Craft Trailers Mfg. + + + + + Sparrowhawk Trailer Co. + + + + + Spartan Aircraft Co. + + + + + Space Assemblies, Inc. + + + + + Spector Manufacturing, Inc. + + + + + Marvin A. Spears Co. + + + + + Speedway Trailer Div. + + + + + Special Endeavors, Inc. + + + + + Specialty Mfg. Co. + + + + + Spen & Co. + + + + + Spencer Sports Products + + + + + SPORT HAULER BY SPORT CHASSIS AT FREIGHTRLINER IN TULSA, OK___MAKER OF SPORT HAULER TRUCK & TRAILER + + + + + Sportsliner Tent Trailer + + + + + Sportsman + + + + + Sportcoach Corporation of America + + + + + Spokane Travel Homes + + + + + Sportcraft Homes, Inc. + + + + + Sport King Campers + + + + + Sportsman's Dream Mfg. Co. + + + + + Spartan Products + + + + + Sprayline Two Wheel Trailer + + + + + Sprite + + + + + Sportmasters of Tennessee, Inc. + + + + + Springtrail Mfg. Co. + + + + + Sprout, Waldron & Co., Inc. + + + + + Superior Office Trailer + + + + + Spreuer and Son, Inc. + + + + + Sportsliner Camping Trailer + + + + + SPECTRUM STEEL; HYRUM, UTAH + + + + + SUPERIOR TRAILERS OF GA., INC.; DANIELSVILLE, GA + + + + + Squire Travel Trailer + + + + + SS Trailer Co. + + + + + Star Machine Shop Co. Ltd. + + + + + Stack Truck, Inc. + + + + + Standard Steel + + + + + Stam Mfg. Co. + + + + + Stage Coach Mfg. Co. + + + + + Grenadier Mobile Homes + + + + + Starmaster Camping Trailer + + + + + Standard + + + + + Star Tank & Trailer Mfg. Co. + + + + + Star Fire, Inc. + + + + + Starlite Mfg. Co. + + + + + Star Meteor Florida + + + + + Star Mobile Homes + + + + + Stucco Trailer + + + + + Steelcraft Log Trailer + + + + + Steadman Containers Ltd. + + + + + Steco Trailer Co. + + + + + Steed-Pollak Mfg. Co. + + + + + Stew-Gar, Inc. + + + + + Sterling + + + + + Steelco, Inc. + + + + + Stepper Trailer + + + + + Stewart, Inc. + + + + + Steury Trailer + + + + + Stidham Horse Trailer + + + + + STILLWATER SUPPLY COMPANY; SULLIVAN, MO; TRAILERS + + + + + Sterline Flatbed Trailer + + + + + Stilo Trailer + + + + + Supertrail Mfg. Co., Inc. + + + + + Stockland + + + + + Stoddard Mfg. Co. + + + + + STOLL TRAILERS, INC; ABBEVILLE, SC + + + + + Stoner Trail + + + + + Stopover Traveler & Camper Co. + + + + + Stoner Totter Trailer + + + + + Stoughton Trailers, Inc. + + + + + STEPHENS PNEUMATICS, INC.; HASLET, TX + + + + + Starbuck Trailer + + + + + Strahan Mfg. Co. + + + + + Stardust Travel Trailer + + + + + Streamline Trailer Co. + + + + + STROHL CORPORATION; MISHAWAKA,IN; VARIOUS STYLES TRAILERS + + + + + Strick Trailers Corp. + + + + + Stark Bros. Motor Sales + + + + + Starline Trailer Mfg. Co. + + + + + Star Transport Trailers, Inc. + + + + + Stuart + + + + + Sun Blazer Travel Trailer + + + + + Suburban Motors, Inc. + + + + + SUGGS MANUFACTURING CO., INC; LAGRANGE, NC + + + + + Summit Trailer + + + + + Sunhome Mfg. + + + + + Sunset Mobile Homes + + + + + Sun State Mobile Homes + + + + + Sundancer + + + + + Sun Valley + + + + + Sunline Coach Co. + + + + + Sun Recreational Industries, Ltd. + + + + + Sunshine Homes + + + + + Sunset Travelers + + + + + Sun Devil Trailers, Inc. + + + + + Sundowner Trailer Co. + + + + + Superior Ideal Inc. + + + + + Supreme Industries, Inc. + + + + + Superior Trailer Works + + + + + Sureload + + + + + Surf-Rider, Inc. + + + + + Susquehanna-Santee Boat Works, Inc. + + + + + SPECIALIZED VEHICLE CORPORATION / HACKNEY DIVISIION; WASHINGTON, NORTH CAROLINA + + + + + Silver Trail + + + + + Swan Industries + + + + + Swanee Trailer Mfg. Co. + + + + + Sweetwater Metal Products Co., Inc. + + + + + SOUTHWEST GOOSENECK; SAN ANTONIO, TX + + + + + Swiss Colony Travelers, Inc. + + + + + Swinger Camper Mobile Home + + + + + Swanson Tilt trailer + + + + + SOUTHWEST EXPRESSLINE, WHITE PIGEON, MICHIGAN + + + + + Sycamore Mobile Homes + + + + + Sylvan Double Snowmobile Trailer + + + + + Tacoma Trailer + + + + + Tracer Horse Trailer + + + + + Tecnica Automotriz Del Noroeste SA Mexico + + + + + Tag-A-Long Trailers + + + + + Tahiti Ski Trailers + + + + + Tailor Maid Industries + + + + + Talbert Mfg. Inc. + + + + + Taylor Metal Works, Inc. + + + + + Tanden Boat Trailer + + + + + Tankraft Trailer + + + + + T & M Enterprises + + + + + Tannehill Trailer + + + + + Tandom Boat Trailer + + + + + Tara Products, Inc. + + + + + Target Coach Mfg. Co. + + + + + Tartan Corp. + + + + + TARASPORT TRAILERS, INC.; SWEETWATER, TN + + + + + Taube Tool Corp. + + + + + Tawas Trailers, Inc. + + + + + Taylor Mobile Homes + + + + + Travel Cruiser + + + + + TBC + + + + + Talbot-Carlson, Inc. + + + + + TRIPLE CROWN TRAILERS; OCALA, FL; UTILITY,EQUIPMENT,DUMP,& CAR TRAILERS + + + + + Tear Drop, Inc. + + + + + TEC + + + + + T&E ENTERPRISES OF HERSCHER, INC.; HERSCHER,IL + + + + + Tee Nee Trailer Co. + + + + + Tejas Trailers, Inc. + + + + + Tel Star Trailers + + + + + Tem Ken Trailers Mfg. + + + + + Tennessee Trailer + + + + + Tempe Trailers + + + + + Terra Cruiser Div. + + + + + Terra-Marina Mfg. Co. + + + + + Terry Industries of Virginia + + + + + T.E.S. (Truck Equipment & Sales Co.) + + + + + Teton Travel Trailer + + + + + Texan Trailer Mfg. Co. + + + + + Texarkana Div. + + + + + Tex Willett Co. + + + + + Texas Bragg + + + + + TUFF/LUGG MANUFACTURING + + + + + Tigerline Trailer + + + + + Joseph Thatcher + + + + + Thunderbolt Trailer + + + + + Theurer Atlantic, Inc. + + + + + The Highland Group Beachwood, OH + + + + + Thiermann Utility Equipment Div. + + + + + THOROUGHBRED INDUSTRIES, INC; RIDGELAND, SC STARLITE MODEL + + + + + Thiele, Inc. + + + + + Thimsen Mfg. Co. + + + + + Thompson Concrete Pump Trailer + + + + + Thomas Mfg. + + + + + THOR CALIFORNIA, INC., MORENO VALLEY, CA 5TH WHEEL TYPE + + + + + THOMAS EQUIPMENT LTD.; NEW BRUNSWICK, CANADA + + + + + Thomas & Co. + + + + + Thorns Trailer + + + + + Thoroughbred Boat Trailer + + + + + Three C's, Inc. + + + + + Three-Dimensional Mobiles + + + + + Three-Way Campers Mfg. + + + + + THRU AIR TRAILERS LLC; WEST SENECA, NY; TRAILERS & HULERS + + + + + Thunderbird Castles + + + + + Triangle-K Trailer Co. + + + + + Tiara Industries + + + + + Ti-Brook, Inc. + + + + + Tide Craft, Inc. + + + + + Tidwell Industries, Inc. + + + + + TIFFIN MOTORHOMES, INC; RED BAY, ALABAMA; ALLEGRO, PHAETON, ZEPHER MODELS + + + + + Tiger Trailer + + + + + Tilton-Hilton + + + + + Timberline Mfg. Co. + + + + + T.O. Corp. + + + + + Timken Bearing Boat Trailer + + + + + Timpte, Inc. + + + + + Tinker Clubs of America, Inc. + + + + + Tri-State Homes, Inc. + + + + + Titan Trailer Corp. + + + + + Titleist Travel Trailer + + + + + TRIPLE "J " CUSTOM TRAILERS, GANSEVOORT, NY + + + + + TIMBERKING + + + + + Tri-Lakes Mfg. Co., Inc. + + + + + T & L Trailers Sikeston, MO + + + + + TRAILERMAN TRAILERS, INC/INLOW CUSTOM TRAILERS; LOUISIANA,MISSOURI + + + + + Trailite Trailer + + + + + TIMBERLAND RV COMPANY; PERU, IN + + + + + Timberwolf + + + + + TMC Inc.Poskin, WI + + + + + T & M MANUFACTURING, INC.; PRINCETON, ONTARIO CANADA + + + + + TM Trailer + + + + + Travel Mate Trailer + + + + + Transco Trailer + + + + + TN TRAILERS, LLC; SHIPSHEWANA, INDIANA + + + + + Todco + + + + + Toddy Custom Built Trailers + + + + + Tow Go Trailers + + + + + Tourhome Camper Trailer + + + + + Token Flatbed Trailer + + + + + Tonco Lowboy Trailer + + + + + TOP BRAND TRAILERS + + + + + Top Campers + + + + + Top Kat + + + + + Topper Mobile Homes, Inc. + + + + + TOP-3 TRAILERS; TEXAS + + + + + Torch Industries + + + + + Torino + + + + + Totem Total Trailer + + + + + Tote Co. + + + + + Totemall + + + + + Topline Trailers Manufacturing Fort Worth, TX + + + + + Toura Products + + + + + Tourite Mobile Homes Mfg. + + + + + Towncrier Camper + + + + + Tow Mor Products + + + + + Tow Low + + + + + Town & Country Mfg. + + + + + Tow Pro, Inc. + + + + + Towmaster + + + + + Toyocar Van Container Trailer + + + + + TOP HAT INDUSTRIES, INC. TRAILERS + + + + + TOPLINE MANUFACTURING. CO., INC; TREMONT MISSISSIPPI + + + + + Tradewind Industries, Inc. + + + + + Trader Horn Trailer Supply + + + + + Trail Aire, Inc. + + + + + Trail Car Boat Trailer + + + + + Trail Haven Div. + + + + + Trailmaster Tanks, Inc. + + + + + Trailco-Norwin + + + + + Trail-R-Craft, Inc. + + + + + Trailex, Inc. + + + + + Trail-It Coach Mfg. Co. + + + + + Trailorama + + + + + Trail-Or-Floats + + + + + Trail-Wide Corp. + + + + + Trans Canada Rent-A-Trailer System + + + + + Transcraft Corp. + + + + + Transit + + + + + Transporter + + + + + Transvair + + + + + Travel Equipment Corp. + + + + + Travel Industries + + + + + Travelaire Trailer Mfg. + + + + + Travelmaster, Inc. + + + + + Travelpak Car Topper Sales + + + + + Travette Mfg. + + + + + Trav-L-Homes + + + + + Trav Otel Industries + + + + + Travois Trailer + + + + + Transfer + + + + + Trainliner + + + + + Trailblazer Trailer + + + + + Trailboss House Trailer + + + + + Tracker Corp. + + + + + Trailcraft Boat Trailer + + + + + Trailer Coach Metal Spec. + + + + + Tracpac Snowmobile Trailer + + + + + Treasure Chest Products + + + + + Trevco Enterprises + + + + + Trek, Inc. + + + + + Trail-Et Horse Trailer + + + + + TRAILERS EXPRESS, INC. SIKESTON, MO + + + + + Trailer Wheel and Frame Co. + + + + + Travelo Homes Co. + + + + + Tri-Way HD Snowmobile Trailer + + + + + Trail Mate Trailer Co. + + + + + Triple B Mfg. Co., Inc. + + + + + Triggs-Miner Corp. + + + + + Trail-O-Matic Trailer + + + + + Pullman Trailmobile + + + + + Trinity Products + + + + + Triple R Trailer + + + + + Triumph Sales & Service + + + + + Tri-Star Corp. + + + + + Trivellato + + + + + Tri-Way Trailer + + + + + Trail King Travel Trailer + + + + + Tracker Marine, Inc. + + + + + Trailco Mfg. & Sales Co. + + + + + Trail-Easy Travel Trailer + + + + + Trail It Horse Trailer + + + + + Trail King Industries + + + + + Trillium Trailer + + + + + Trail Master Trailers, Inc. + + + + + Trailers, Inc. + + + + + Travel Long Inc. + + + + + TRL ENTERPRISES, INC. + + + + + Unpublished trailer mfr. (see Operating Manual, Part 1, Section 2) + + + + + TRAILMOBILE CANADA & TRAILMOBILE TRAILER U.S. ARE SAME COMPANY.TRAILMOBILE TRAILER US UNDER CHAPT 1 + + + + + Tramco, Inc. + + + + + Traveler Mfg. Inc. + + + + + TRAILMANOR, INC.; LAKE CITY, TN + + + + + Transliner Insulated Tank Trailer + + + + + TRANSPORT TRAILERS; FENNVILLE, MI + + + + + Trojan Homes + + + + + Trojan + + + + + Trombly Woodworking Co. + + + + + Tropicana Mfg. Co. + + + + + Trophy Travel Trailer + + + + + Trotwood Trailer + + + + + Troy Industries + + + + + Troxell Trailer Mfg. + + + + + Troyler Corp. + + + + + TROPHY HOMES, INC.; ELKHART, IN + + + + + Tramper Travel Trailer + + + + + Travel Queen Coaches + + + + + Trail-Rite Trailer Mfg. Co. + + + + + TRIPLE R TRAILERS + + + + + Trailerette Trailer + + + + + TERRY'S UTILITY TRAILER OR TERRY W. BECK; WARENVILLE, SC + + + + + Transglobal New York; flatbed trailers + + + + + Transmobile Trailer + + + + + Trailstar Travel Trailer + + + + + TRAVEL SUPREME MOTORHOMES, 5TH WHEEL TRAILERS & RECREATIONAL VEHICLES + + + + + Tri-Pak Systems Co. + + + + + TRAILTECH; GRAVELBOURG,SASKATCHEWAN CANADA + + + + + Triad Trailers Ltd. + + + + + Triton Trailer CorAllentown, Wisconsin + + + + + Truck & Trailer Equipment Co. + + + + + Traveliner Travel Trailer + + + + + Truco + + + + + Truck Equipment Service Co. + + + + + Tru-Trailer Co. + + + + + Travco Corp. + + + + + Traveleze Industries, Inc. + + + + + Travel Home, Inc. + + + + + TRV Corp. + + + + + Trailevator + + + + + Travis Trailer + + + + + Travel World, Inc. + + + + + TEAM SPIRIT TRAILERS; ELKHART, INDIANA + + + + + T. & T. Industries + + + + + TRINITY TRAILER MFG., INC; BOISE, ID + + + + + Transport Systems, Inc. + + + + + Transport Trailers, Inc. + + + + + Trans-Trail Trailer + + + + + Turnbow Trailer + + + + + Al Tucker Trailer Co. + + + + + Tucker Sno-Cat Corp. + + + + + Tufby Converter Dolly + + + + + Tuff Cat Trailers, Inc. + + + + + Tuffy + + + + + Tuff-N-Lite + + + + + Tuff Thom Trailers, Inc. + + + + + Tuk-A-Way-Trailer + + + + + Twentieth Century Mfg. Co. + + + + + TRAILER WHEEL & FRAME COMPANY; TEXAS + + + + + Twin City Racing + + + + + Twin Grove Mfg., Inc. + + + + + Twilight Coach Mfg. + + + + + Twin Trailer + + + + + Twilite Mobile Home Mfg. + + + + + TRAILS WEST MANUFACTURING OF IDAHO, INC.; PRESTON, ID + + + + + TOWRITE MANUFACTURING; BUNN LEVEL, NC TRAILERS & DOLLIES + + + + + Traxcavator Tract + + + + + Tybex Corp. + + + + + Trailers Y Casetas Bonanza S. A. Mexico + + + + + Tyler Coach Mfg. + + + + + Tyson Skylark Trailer + + + + + U-Haul Co. + + + + + ULTIMATE TRAILERS; LAKEVIEW TERRACE, CA + + + + + Ultra, Inc. + + + + + UNITED EXPRESS LINE, INC; BRISTOL,INDIANA + + + + + Union Machine & Tool Works + + + + + United Fiberglass + + + + + United Mfg. Co. + + + + + Univision Industries Ltd. + + + + + United Mobile Sales + + + + + United States Aluminum Co. + + + + + United States Mobile Homes + + + + + Universal Tractor Foreign Trade Co. + + + + + United States Mobile Homes (Florida) + + + + + United Trailer Service & Supply Co. + + + + + Universal Camper Mfg. + + + + + Unverferth-McCurdy Mfg. Co., Inc. + + + + + UNIVERSAL TRAILERS, INC.; RIVERSIDE. CALIFORNIA + + + + + Urili Flatbed Trailer + + + + + USA Motor Corp. Bremen, IN + + + + + U-Save Trailers + + + + + U.S. COACHWORKS,INC; ZIEGLER, IL + + + + + USTS MANUFACTURING. INC; CANTON, OHIO + + + + + UTILITY TOOL & BODY., INC., CLINTONVILLE WI + + + + + Ute Trailer + + + + + Utah Mobile Homes + + + + + Utility Trailer Mfg. Co. + + + + + Utopia Coach Corp. + + + + + Vacation Homes + + + + + Vacation Industries + + + + + Vacation Wagon, Inc. + + + + + VACTRON TRAILERS, MANUFACTURED BY: ACOMPLETE ASSEMBLY; MASCOTTE, FL + + + + + Vada Open Top Cattle Trailer + + + + + Vador + + + + + Vagabond + + + + + Valiant Mobile Homes + + + + + Valley Campers + + + + + Valley Foundry & Machine Works + + + + + Valley Trailers + + + + + Van Art, Inc. + + + + + Van Bibber Enterprises + + + + + Van Camp Equipment + + + + + Van Car Corp. + + + + + Vance Campers, Inc. + + + + + Van Guard Trailer, Ltd. + + + + + Vanson Boat Trailer + + + + + Vaquero Trailer + + + + + Vacationeer Trail Trailer + + + + + Vegas Mfg. Co. + + + + + Venus Coaches + + + + + Ventoura Corp. + + + + + Vermeer Mfg. Co. + + + + + Vertex + + + + + Vesely Co. + + + + + Vet Boat Trailer + + + + + Virginia Homes Mfg. Corp. + + + + + Victorian Homes, Inc. + + + + + Victory Implement Co. + + + + + Victor Mobile Homes + + + + + Viking + + + + + Vindale Corp. + + + + + Vintage Homes + + + + + Virginia Mobile Homes Industries + + + + + Virginian Coach Camper Corp. + + + + + Viscount Trailers + + + + + Vista Queen Trailer + + + + + Vista Liner Coach & Trailer + + + + + Vito Mfg. Co. + + + + + Vivian Industrial Plastics + + + + + Villager Travel Trailer + + + + + VM Boat Trailer + + + + + VANGUARD INDUSTRIES OF MICHIGAN, INC.; COLON, MI + + + + + VANGUARD NATIONAL TRAILER CORPORATION; MONON, IN; VANS & TRAILERS + + + + + VANTAGE DUMP TRAILERS, INC.; KATY, TX + + + + + Ventura Tent Camper + + + + + Volunteer Mfg. Corp. + + + + + Vought Industries + + + + + Vermont Traveler + + + + + Versa Two Wheel Trailer + + + + + Vista Custom Trailer + + + + + VENTURE TRAILERS + + + + + Vulcan Trailer Mfg. Co. + + + + + Veenema & Wiegers, Inc. + + + + + Truckin Trailer + + + + + WADE SERVICES, INC; ELLISVILLE, MS + + + + + Wago Campers + + + + + Wagon Master Trailer + + + + + Wagon-Haven, Inc. + + + + + Wagon Train, Inc. + + + + + Walker Tractor Mfg. + + + + + Walsh Body & Trailer + + + + + Walker Stainless Equipment Co. + + + + + Wallstrong Boat Trailer + + + + + Wallstrom Boat Trailer + + + + + Walker Mobile Homes + + + + + Wanamaker Trailer + + + + + Wabash National Corporation Lafayette, Indiana + + + + + Wanderer Camper + + + + + Wa-Nee Homes Corp. + + + + + Ward Industries + + + + + Warhawk Mfg. Co. + + + + + WARRIOR TRAILERS; ONTARIO, CA + + + + + Warrior Mfr. + + + + + Warrenville Trailer Mfg., Inc. + + + + + Waverly Structures + + + + + Walter Products & Engineering Co. + + + + + Watson Industries + + + + + Watt Camper + + + + + Wayfarer Coach Mfg. + + + + + Waymatic Welding & Fabricating Co. + + + + + WAYNE METAL PRODUCTS;MARKLE,INDIANA + + + + + Wayside Campers + + + + + W.C. Manufacturing & Specialty Co. + + + + + WOOD-MIZER PRODUCTS, INC.; INDIANAPOLIS, IN + + + + + Weaver & Sons + + + + + Weber + + + + + Westcraft Mobile Homes + + + + + Wedgewood Homes + + + + + Week-N-Der Pickup Camper + + + + + Weeres Trailer + + + + + WE-HAUL TRAILERS; DIVISION OF FOREST RIVER, INC OF GOSHEN, IN + + + + + WEIERS TRAILER SALES; PHOENIX, AZ + + + + + Circle L + + + + + Welch Mfg. & Engineering Co. + + + + + Weld-It Company + + + + + Wells Cargo, Inc. + + + + + WeMac Mfg. Co. + + + + + Wenger Mfg. + + + + + Siefmund Werner + + + + + Werts Welding Service + + + + + West Coach Mfg. Co. + + + + + West Wind Trailer Co. + + + + + Western + + + + + Western Coach Corp. + + + + + Western Dynamics Corp. + + + + + Western Trailer Coach + + + + + Wesholt Mfg. + + + + + Westinghouse Equipped Mobile Home + + + + + Westland Trailer Co. + + + + + Westward Coach Mfg. + + + + + Westways Mfg. + + + + + W.F. Mickey Body Co., Inc. + + + + + Wheel Campers Corp. + + + + + WHEEL ESTATE SALES & SERVICE, INC; TRADE NAME/STEWART LODGES + + + + + Whitehaul Kaler Trailer + + + + + White Star Trailer + + + + + White Line Mfg. & Dist. Co. + + + + + White Motor Corp. + + + + + Whitley Mfg. Co. + + + + + Whitehead & Kales + + + + + Wheeler Truck Trailer + + + + + WHISPERING PINE CAMPER TRAILER + + + + + Wickes Homes + + + + + Wicks Engineering & Construction Co. + + + + + Williams Craft, Inc. + + + + + Wig-A-Wam, Inc. + + + + + Willmar Manufacturing + + + + + Will Craft Camper Trailer + + + + + Wildcat Travel Trailers + + + + + WILKENS MANUFACTURING, ING; STOCKTON, KANSAS + + + + + Wilson Trailer Mart + + + + + Wil-Ro, Inc. + + + + + Willborn Brothers + + + + + Williamsen Truck Equipment Corp. + + + + + Wilson Trailer Co., Inc. + + + + + Wil-Trail Corp. + + + + + Wilray Manufacturing + + + + + Windward Enterprises + + + + + Winger Mfg. Co. + + + + + Winston Industries + + + + + Winnebago Industries, Inc. + + + + + Winpower Corp. + + + + + Windsor Mobile Homes (old code WIND) + + + + + Winter Weiss Co. + + + + + Wisconsin Trailer Co., Inc. + + + + + Wise Welding, Inc. + + + + + Wise-Craft Mfg. + + + + + Wishbone Trailers, Inc. + + + + + Wisconsin Homes, Inc. + + + + + Wisconsin Tag-A-Long Trailer + + + + + Wizard + + + + + Wilderness Travel Trailer + + + + + WELDTITE TRAILERS; HUNTERSVILLE, NC + + + + + WALTRON LIMITED/ ALDURA; RIDGETOWN,ONTARIO CANADA + + + + + WESTERN RECREATION MFG. INC.; AND OR WELLS WESTERN TRAILER OGDEN, UTAH + + + + + W & M ENTERPRISES, INC.; LAWRENCEBURG, INDINA + + + + + G.T. Wolfe Mobile Homes + + + + + Wolfe Mfg. Co. + + + + + Wolverine Camper + + + + + Wonder Land Camper + + + + + Woodland Camper Co. + + + + + Wood Mfg. Co., Inc. + + + + + Woodline Custom Camper + + + + + Woodsmen Camper + + + + + Work Horse Mfg. + + + + + Work-N-Play + + + + + World Wide Industries + + + + + Worrell Trailer Mfg. + + + + + Woodland Park, Inc. + + + + + Wrangler Trailers + + + + + Wrangler Recreational Products + + + + + Wright Industries, Inc. + + + + + Wright Brothers, Inc. + + + + + World Trailers, Inc. + + + + + Wonder State Boat Trailer + + + + + WILD SIDE LLC; FRANKLIN, TN + + + + + Western Trailers Inc Co-Tem Corp. Boise, Idaho + + + + + WES-TEX MANUFACTURING, INC; LUBBOCK, TX + + + + + Watson Tractor Co., Inc. + + + + + Westank Industries, Inc. + + + + + WTM, INC; HALEYVILLE, AL + + + + + Wesco Truck & Trailer Sales + + + + + Western Trailer Works, Inc. + + + + + I.R. Witzer Company, Inc. + + + + + W-W Trailers + + + + + Westerwalder Eisenwerk + + + + + WORTHINGTON WELDING, INC. ;PENNSYLVANIA 4MV OR 1W9/003 + + + + + W.W. TRAILER MANUFACTURERS, INC; OKLAHOMA + + + + + W & W White Horse Trailer + + + + + John T. Wydro + + + + + Wy Frame Corp. + + + + + Wylie Mfg. Co. + + + + + Wynn Trailer Works + + + + + Wynona Corp. + + + + + X-CEL TRAILERS, INC.; FORNEY, TX + + + + + X-L SPECIALIZED TRAILERS;OELWIN, IA SD,DDE,MFG,FAA,HDG,LSD TRAILERS + + + + + Xplorer Enterprises of Constantine + + + + + X-Tra Camper Co. + + + + + XYZ Trailer + + + + + Yacht Club + + + + + Yadro Trailers + + + + + Yanger Mobile Homes + + + + + Yampa Coach Mfg. + + + + + YANGZHOU TONGHUA SEMI TRAILER CO. LTD.; CHINA ALSO THT + + + + + Yarbrough Mfg. Co., Inc. + + + + + Yazoo Mfg. Co., Inc. + + + + + Yellowstone, Inc. + + + + + YENTES BROTHERS WELDING; LANCASTER, CALIFORNIA + + + + + York Trailer + + + + + Young Spring & Wire + + + + + Ysob Co. + + + + + Yuchi Mobile Homes + + + + + Yukon Delta + + + + + Y W + + + + + Ziegler + + + + + Zieman + + + + + Zimmer Homes Corp. + + + + + Zipper, Inc. + + + + + ZIMMERMAN TRAILERS + + + + + Zollinger Trailer Co. + + + + + + + A data type for Vehicle Make for Boat Trailer. + + + + + + + + + + + + + A data type for Boat Type. + + + + + + + + AIRBOAT C + + + + + COMMERCIAL + + + + + CRUISER (A BOAT WITH AN INBOARD MOTOR) + + + + + HOVERCRAFT + + + + + HYDROPLANE + + + + + HOUSEBOAT + + + + + HYDROFOIL + + + + + JET-SKI (AQUA BIKE) + + + + + RUNABOUT (LAUNCH MOTORBOAT OUTRIDER) + + + + + SAILBOAT (CAT CATAMARAN CUTTER BARK) + + + + + UTILITY (FISHERMAN SEDAN ETC.) + + + + + YACHT (A BOAT WITH AN INBOARD MOTOR) + + + + + ALL OTHER (CANOE DINGHY DORY JOHNBOAT) + + + + + + + A data type for Boat Type. + + + + + + + + + + + + + A data type for Gun caliber. + + + + + + + + 10 mm, .40 S&W pistol cartridges; also used for 10-gauge shotgun + + + + + 11 mm Mauser + + + + + 12.5 mm is metric for .50-caliber Browning Machine Gun round; also used for 12-gauge shotgun + + + + + 13 mm Gyrojet rocket pistol/carbine + + + + + .17 Remington + + + + + .177 caliber (.17 caliber) is most often used in airguns + + + + + .22 Short/Long/Long Rifle rimfire cartridge family; also .22 Hornet, .22-250, .220 Swift, .222 Remington, .223 Remington, etc. + + + + + .221 Remington Fireball + + + + + .222 Remington, .222 Remington Magnum + + + + + .223 Remington/5.56x45 mm NATO + + + + + .243 Winchester + + + + + .25 ACP, .25-06, .25-20, .25-35, .250-3000 Savage, etc. + + + + + .250-3000 Savage + + + + + .256 Newton + + + + + .257 Roberts, .257 Weatherby Magnum + + + + + .260 Magnum Research Lone Eagle, .269 Remington Model XP 100, .260 Savage Striker, .260 Thompson/Center Encore + + + + + .264 Winchester Magnum + + + + + .270 Winchester, .270 Weatherby Magnum + + + + + .280 Remington/7 mm Express + + + + + .284 Winchester + + + + + .30 M1 Carbine, .30-40 Krag, .30-30 Winchester + + + + + .300 Winchester Magnum, .300 Weatherby Magnum, .300 Savage, .300 Holland & Holland Magnum + + + + + .30-06 U.S. (.30 Springfield) + + + + + .303 British, .303 Savage + + + + + .308 Winchester/7.62x51mm NATO + + + + + .32 ACP, .32 Short Colt, .32 Long Colt, .32 H&R Magnum + + + + + .32-20 Winchester + + + + + .338 Winchester Magnum + + + + + .35 Whelen, .35 Remington, .350 Remington Magnum + + + + + .351 Winchester + + + + + .357 Remington Magnum, .357 Maximum, .357 AutoMag + + + + + .36 caliber markings normally found only on black-powder firearms + + + + + .375 Holland & Holland Magnum, .375 Winchester + + + + + .38 S&W, .38 (S&W) Special, .38 ACP, .38 Super, etc. + + + + + .380 ACP in U.S.; also known in Europe as the 9 mm Kurz/Corto/Short, and the 9x17 + + + + + .40 S&W, 10 mm + + + + + .401 Winchester + + + + + .405 Winchester + + + + + .41 Short Rimfire, .41 Remington Magnum, .41 Action Express, .41 AutoMag + + + + + .44-40 Winchester, .44 Russian, .44 Special, .44 Remington Magnum, .44 AutoMag; also used in black-powder firearms + + + + + .444 Marlin + + + + + .45 ACP, .455 Webley, .45 AutoRim, .45 Long Colt, .45 Winchester Magnum + + + + + .455 Webley or .455 Manstopper + + + + + .45-70 U.S. Government + + + + + .458 Winchester Magnum + + + + + .460 Weatherby Magnum + + + + + .50 Browning Machine Gun, .50 Action Express; also used in black-powder firearms + + + + + Typically used in black-powder firearms + + + + + 5.56x45 mm NATO/.223 Remington + + + + + Typically used in black-powder firearms; also .577 Nitro Express elephant gun + + + + + 6 mm Remington, .243 Winchester, .240 Weatherby Magnum + + + + + Typically used in black-powder firearms; also the .600 Nitro Express elephant gun + + + + + 6.35 mm/.25 ACP + + + + + 6.5 mm Carcano; may also appear as .65 caliber on black-powder firearms + + + + + 7 mm Remington Magnum, 7 mm Bench Rest, 7 mm-08, 7 mm Weatherby Magnum, 7x57 Mauser, 7.7 Arisaka, .280 Remington, etc. + + + + + 7.35 mm/.32 ACP + + + + + Could either be a metric caliber (7.5 mm) or a .75 caliber. Use the MIS Field to further clarify. + + + + + 7.62x39 Soviet, 7.62x51 NATO/.308 Winchester, 7.62x54R used in Russian Moisin-Nagant and Dragunov riflle + + + + + 7.63 mm/.30 Mauser, 7.62 mm Tokarev + + + + + 7.65 mm Luger/.30 Luger + + + + + 8x57 Mauser, 8 mm Lebel, 8 mm Remington Magnum + + + + + 9 mm Luger/Parabellum/9x19, 9 mm Kurz/Corto/9x17 (.380 ACP), 9 mm Winchester Magnum, 9 mm Browning Long, 9 mm Steyr, 9 mm Bergmann-Bayard, 9 mm Makarov/9x18, 9x21, 9x23/Largo, etc. + + + + + Used for grenade launchers and guns that fire electrically charged darts. + + + + + + + A data type for Gun caliber. + + + + + + + + + + + + + A data type for Caution/Medical Conditions. + + + + + + + + ARMED AND DANGEROUS + + + + + OTHER + + + + + VIOLENT TENDENCIES + + + + + MARTIAL ARTS EXPERT + + + + + EXPLOSIVE EXPERTISE + + + + + KNOWN TO ABUSE DRUGS + + + + + ESCAPE RISK + + + + + SEXUALLY VIOLENT PREDATOR - CONTACT ORI FOR DETAILED INFORMATION + + + + + INTERNATIONAL FLIGHT RISK + + + + + HEART CONDITION + + + + + ALCOHOLIC + + + + + ALLERGIES + + + + + EPILEPSY + + + + + SUICIDAL + + + + + MEDICATION REQUIRED + + + + + HEMOPHILIAC + + + + + DIABETIC + + + + + + + A data type for Caution/Medical Conditions. + + + + + + + + + + + + + A data type for kinds of drugs. + + + + + + + + crack cocaine + + + + + cocaine + + + + + hashish + + + + + heroin + + + + + marijuana + + + + + morphine + + + + + opium + + + + + other narcotics + + + + + LSD + + + + + PCP + + + + + other hallucingens + + + + + meth/ amphetamines + + + + + other stimulants + + + + + barbiturates + + + + + other depressants + + + + + other drugs + + + + + unknown + + + + + more than 3 types + + + + + + + A data type for the kinds of measurements used to specify a quantity of drugs or narcotics. + + + + + + + + Dosage Units/Items + + + + + Fluid Ounce + + + + + Gallon + + + + + Gram + + + + + Kilogram + + + + + Pound + + + + + Liter + + + + + Milliliter + + + + + Number of Plants + + + + + Ounce + + + + + Not Reported + + + + + + + A data type for the kinds of measurements used to specify a quantity of drugs or narcotics. + + + + + + + + + + + + + A data type for Eye Color. + + + + + + + + BLACK + + + + + BLUE + + + + + BROWN + + + + + GREEN + + + + + GRAY + + + + + HAZEL + + + + + MAROON + + + + + MULTICOLORED + + + + + PINK + + + + + UNKNOWN + + + + + + + A data type for Eye Color. + + + + + + + + + + + + + A data type for Gun Color Finish. + + + + + + + + Beige + + + + + Black + + + + + Blue + + + + + Brown + + + + + Bronze + + + + + Camouflage + + + + + Chrome, Stainless Steel + + + + + Copper + + + + + Cream, Ivory + + + + + Blue, Dark + + + + + Green, Dark + + + + + Gold + + + + + Green + + + + + Gray + + + + + Lavendar + + + + + Blue, Light + + + + + Green, Light + + + + + Maroon, Burgundy + + + + + Orange + + + + + Purple + + + + + Pink + + + + + Red + + + + + Silver, Aluminum + + + + + Tan + + + + + Turquoise + + + + + White + + + + + Yellow + + + + + + + A data type for Gun Color Finish. + + + + + + + + + + + + + A data type for Hair Color. + + + + + + + + Black + + + + + Blond or Strawberry + + + + + Blue + + + + + Brown + + + + + Green + + + + + Gray or Partially Gray + + + + + Orange + + + + + Purple + + + + + Pink + + + + + Red or Auburn + + + + + Sandy + + + + + White + + + + + UNKNOWN OR COMPLETELY BALD + + + + + + + A data type for Hair Color. + + + + + + + + + + + + + A data type for Boat Hull Shape. + + + + + + + + CATAMARAN + + + + + DEEP-V + + + + + FLAT BOTTOM + + + + + OTHER + + + + + PONTOON + + + + + ROUND BOTTOM + + + + + SEMI-V + + + + + TRI-HULL + + + + + TUNNEL + + + + + + + A data type for Boat Hull Shape. + + + + + + + + + + + + + A data type for Boat Hull Type. + + + + + + + + Metal (aluminum, steel, etc.) + + + + + Other + + + + + Plastic (fiberglass, uniglass, etc.) + + + + + Wood (cedar, plywood, fir, etc.) + + + + + + + A data type for Boat Hull Type. + + + + + + + + + + + + + A data type for License State. + + + + + + + + Albania + + + + + Alberta + + + + + Andorra + + + + + Anguilla + + + + + Afghanistan + + + + + Aguascalientes + + + + + Ashmore and Cartier Islands + + + + + Antigua and Barbuda (formerly Antigua) + + + + + Aruba (now independent of NetherlandsAntilles) + + + + + Alaska + + + + + Alabama + + + + + American Samoa (Islands) + + + + + Algeria + + + + + Angola + + + + + Armenia + + + + + Azores Islands + + + + + Arkansas + + + + + Australia + + + + + Argentina + + + + + Austria + + + + + Azerbaijan + + + + + APACHE TRIBE + + + + + Arizona + + + + + Baja California (Northern Section) + + + + + Barbados + + + + + British Columbia + + + + + Bahamas, The + + + + + Bahrain/Bahrein + + + + + Bassas Da India (French possession) + + + + + Belgium + + + + + Belize (formerly British Honduras) + + + + + Burundi + + + + + Baja California (Southern Section) + + + + + Baker Island + + + + + Bangladesh + + + + + Bermuda + + + + + Bhutan + + + + + British Indian Ocean Territory + + + + + Bosnia and Hercegovenia + + + + + Bouvet Island (Norwegian territory) + + + + + Burma + + + + + British Solomon Islands (now SolomonIslands) + + + + + Botswana + + + + + Bulgaria + + + + + Bolivia + + + + + Balearic Islands + + + + + Brunei + + + + + Byelarus + + + + + Brazil + + + + + California + + + + + Colombia + + + + + Cuba + + + + + Canada(See separate list of CanadianProvinces; use code CD only whenprovince is unknown.) + + + + + Campeche + + + + + Chad + + + + + Caroline Islands + + + + + Chihuahua + + + + + Chiapas + + + + + Cambodia (formerly Khmer Republic& Kampuchea) + + + + + Colima + + + + + Cameroon + + + + + Colorado + + + + + Cayman Islands + + + + + Chile + + + + + Costa Rica + + + + + Cyprus + + + + + Connecticut + + + + + Coahuila + + + + + Cape Verde Islands + + + + + Central African Republic + + + + + Ceylon (Now Sri Lanka) + + + + + Canal Zone + + + + + CHEYENNE & ARAPAHO TRIBES + + + + + Clipperton Island (French possession) + + + + + District of Columbia + + + + + Cocos (Keeling) Islands (Australiandependency) + + + + + Delaware + + + + + Distrito Federal (Mexico, D. F.) + + + + + Comoros (or Comoros Islands) + + + + + Benin (formerly Dahomey) + + + + + Cook Islands + + + + + Coral Sea Islands (Australian territory) + + + + + Denmark + + + + + Devil's Lake Sioux Tribe + + + + + Dominica + + + + + Djibouti + + + + + Durango + + + + + COMANCHE NATION + + + + + Dominican Republic + + + + + MIAMI TRIBE + + + + + MUSCOGEE (CREEK) TRIBE + + + + + SENECA-CAYUGA TRIBES + + + + + CITIZEN BAND POTTAWATOMIE TRIBE + + + + + Absentee Shawnee + + + + + Equatorial Guinea + + + + + El Salvador + + + + + England + + + + + Ethiopia + + + + + Europa Island (French possession) + + + + + Estonia + + + + + Eretria + + + + + Ecuador + + + + + Egypt (formerly United Arab Republic) + + + + + Czech Republic + + + + + Falkland Islands + + + + + Fond du Lac + + + + + Finland + + + + + French Guiana + + + + + Fiji + + + + + Florida + + + + + France + + + + + Faroe Islands + + + + + French Polynesia + + + + + French Southern and Antartic Lands + + + + + Federated States of Micronesia + + + + + Sac & Fox + + + + + Georgia + + + + + Gabon + + + + + Greece + + + + + Georgia + + + + + Germany (East Germany: 1945-1989,for reference only)(West Germany: 1945-1989, for referenceonly) + + + + + Guernsey + + + + + Ghana + + + + + Guinea + + + + + Grenada + + + + + Gambia, The + + + + + Guam + + + + + Greenland + + + + + Glorioso Islands (French possession) + + + + + Guadeloupe + + + + + Guerrero + + + + + South Georgia and the South SandwichIslands + + + + + Guatemala + + + + + Guanajuato + + + + + Guyana + + + + + Gaza + + + + + Honduras + + + + + Heard Island and McDonald Island + + + + + Hawaii + + + + + Hong Kong + + + + + Hidalgo + + + + + New Hebrides (now Vanuatu) + + + + + Howland Island + + + + + Christmas Island + + + + + Saint Helena + + + + + Haiti + + + + + Hungary + + + + + Iowa + + + + + Isle of Man + + + + + Iceland + + + + + Idaho + + + + + Ireland (does not include NorthernIreland, see Northern Ireland) + + + + + India + + + + + Illinois + + + + + Madeira Islands + + + + + Indiana + + + + + Indonesia (now includes Portuguese Timor) + + + + + Iraq + + + + + Iran + + + + + Israel + + + + + Italy (includes Sicily and Sardinia) + + + + + Niue + + + + + IOWA TRIBE + + + + + Menominee + + + + + Cote d'Ivoire (Ivory Coast) + + + + + Japan + + + + + Jersey + + + + + Johnston Island + + + + + Jalisco + + + + + Jamaica + + + + + Jan Mayen + + + + + Jordan + + + + + Jarvis Island + + + + + Juan de Nova Island + + + + + Gilbert Islands (now Kiribati) + + + + + Croatia + + + + + Kenya + + + + + Manahiki Island + + + + + Kingman Reef + + + + + KICKAPOO TRIBE + + + + + North Korea + + + + + South Korea + + + + + Shakopee + + + + + Kansas + + + + + Kazakhstan + + + + + Kuwait + + + + + Kiowa + + + + + Kentucky + + + + + Kyrgyzstan + + + + + Louisiana + + + + + Liberia + + + + + Mille Lacs + + + + + Moldova + + + + + Lesotho + + + + + Slovakia + + + + + Lithuania + + + + + Liechtenstein + + + + + Leech Lake Band of Chippewa + + + + + Lebanon + + + + + Slovenia + + + + + Lac du Flambeau Band of Lake SuperiorChippewa + + + + + Laos + + + + + LATVIA + + + + + Saint Lucia + + + + + Luxembourg + + + + + Libya + + + + + Massachusetts + + + + + Manitoba + + + + + Michoacan + + + + + Maryland + + + + + Maine + + + + + Malawi + + + + + Mongolia + + + + + Marshall Islands + + + + + Michigan + + + + + Monaco + + + + + Mariana Islands + + + + + Mali + + + + + Mexico (See separate list of MexicanStates; use code MM only when state isunknown) + + + + + Minnesota + + + + + Missouri + + + + + Madagascar (included in Malagasy Republic) + + + + + Morocco + + + + + Morelos + + + + + Mississippi + + + + + Montana + + + + + Mauritania + + + + + Maldives + + + + + Midway Islands + + + + + Mexico (State) + + + + + Malta + + + + + Malaysia + + + + + Nayarit + + + + + Nebraska + + + + + North Carolina + + + + + North Dakota + + + + + Holland (Netherlands) + + + + + Newfoundland (includes Labrador) + + + + + Nigeria + + + + + New Hampshire + + + + + Northern Ireland + + + + + New Jersey + + + + + New Brunswick + + + + + Nuevo Leon + + + + + New Mexico + + + + + Niger + + + + + New Guinea (now Papua New Guinea) + + + + + Nepal + + + + + New Caledonia + + + + + Nauru + + + + + Nova Scotia + + + + + Northwest Territories + + + + + Nicaragua + + + + + Nevada + + + + + Norway + + + + + Bonaire (Netherlands Antilles) + + + + + New York + + + + + New Zealand + + + + + Oaxaca + + + + + Macao (now spelled Macau) + + + + + Norfolk Island + + + + + OSAGE NATION + + + + + Ohio + + + + + Okinawa + + + + + Oklahoma + + + + + Oman + + + + + Ontario + + + + + OTOE-MISSOURIA TRIBE + + + + + Oregon + + + + + Oglala Sioux + + + + + Oneida Tribe of Indians of Wisconsin + + + + + Pennsylvania + + + + + Puebla + + + + + Pitcairn,Henderson, Ducie, and OenoIslands + + + + + Palau, Republic of + + + + + Prince Edward Island + + + + + Parcel Islands + + + + + Guinea-Bissau (formerly Portuguese Guinea) + + + + + Philippines + + + + + Pakistan + + + + + Palmyra Atoll + + + + + Panama + + + + + PONCA TRIBE + + + + + Poland + + + + + Quebec + + + + + Puerto Rico + + + + + Saint Pierre and Miquelon + + + + + Portugal + + + + + Peru + + + + + Paraquay + + + + + PAWNEE TRIBE + + + + + Qatar + + + + + Quintana Roo + + + + + Queretaro + + + + + Russia + + + + + Republic of Congo, Brazzaville + + + + + People's Republic of China + + + + + Reunion + + + + + Russian Federation + + + + + Gibraltar + + + + + Rhodesia (now Zimbabwe) + + + + + Rhode Island + + + + + Red Lake + + + + + Montserrat + + + + + Spanish Sahara (now Western Sahara) + + + + + Romania/Rumania + + + + + Socialist Republic of Vietnam + + + + + Rwanda + + + + + Republic of Yemen + + + + + Sierre Leone (Sierra Leone) + + + + + Saudi Arabia + + + + + South Carolina + + + + + South Dakota + + + + + Seychelles + + + + + South Africa + + + + + Senegal + + + + + San Marino + + + + + Sinaloa + + + + + Namibia (South-West Africa) + + + + + SEMINOLE NATION + + + + + San Luis Potosi + + + + + Somalia + + + + + Saskatchewan + + + + + Sonora + + + + + Spain + + + + + Sweden + + + + + Singapore + + + + + Scotland + + + + + Sudan + + + + + Svalbard + + + + + Swaziland + + + + + Syria + + + + + Switzerland + + + + + Tamaulipas + + + + + Tabasco + + + + + Trucial States (now United Arab Emirates) + + + + + Trust Territory of the Pacific Islands + + + + + Spratly Islands + + + + + Tuamotu Archipelago + + + + + Tonga + + + + + Thailand + + + + + Tajikistan + + + + + Tokelau + + + + + Tlaxcala + + + + + Tromelin Island (French possession) + + + + + Tennessee + + + + + Togo + + + + + Sao Tome and Principe + + + + + Turks and Calcos Islands + + + + + Nevis and Saint Christopher "Kitts" + + + + + Trinidad and Tobago + + + + + Tunisia + + + + + Ellice Islands (now Tuvalu) + + + + + Taiwan, Republic of China + + + + + Texas + + + + + Turkey + + + + + Tanzania, United Republic of + + + + + Turtle Mtn. Band of Chipewa + + + + + Uganda + + + + + Ukraine + + + + + Mauritius + + + + + Turkmenistan + + + + + United States of America (USA) (Should beused in the following circumstances:1. To indicate the LIS + + + + + Utah + + + + + Burkina Faso (known as Burkina,formerly Upper Volta) + + + + + Uruguay + + + + + Uzbekistan + + + + + Virginia + + + + + British Virgin Islands + + + + + Veracruz + + + + + U.S. Virgin Islands + + + + + Navassa Island + + + + + Vermont + + + + + Saint Vincent and the Grenadines + + + + + Vatican City + + + + + Venezuela + + + + + Washington + + + + + West Bank + + + + + WYANDOTTE TRIBE + + + + + White Earth + + + + + Wallis and Futuna (French territory) + + + + + Wisconsin + + + + + Wake Island + + + + + Wales + + + + + West Indies (for West Indies Islands notfound separately listed) + + + + + Western Samoa + + + + + WICHITA TRIBE + + + + + West Virginia + + + + + Wyoming + + + + + Unknown Place of Birth (for use in IIIrecords only) + + + + + Yugoslavia + + + + + Mayotte + + + + + Yukon (Territory) + + + + + Yucatan + + + + + All others (Any foreign country/dependency/territory not included inthe above abbreviation list is t + + + + + Zacatecas + + + + + Martinique + + + + + Surinam + + + + + Macedonia + + + + + Canary Islands + + + + + Zambia + + + + + Mozambique + + + + + Congo Kinshasa, now Zaire + + + + + + + A data type for License State. + + + + + + + + + + + + + A data type for State/Country Index. + + + + + + + + ALBERTA + + + + + ALASKA + + + + + ALABAMA + + + + + ARKANSAS + + + + + ARIZONA + + + + + BRITISH COLUMBIA + + + + + CALIFORNIA + + + + + OTHER CANADA + + + + + COLORADO + + + + + CONNECTICUT + + + + + WASHINGTON D.C. + + + + + DELAWARE + + + + + ENGLAND + + + + + FLORIDA + + + + + GEORGIA + + + + + GUAM + + + + + HAWAII + + + + + IOWA + + + + + ROYAL CANADIAN MP + + + + + IDAHO + + + + + ILLINOIS + + + + + INDIANA + + + + + ITALY + + + + + KANSAS + + + + + KENTUCKY + + + + + LOUISIANA + + + + + MASSACHUSETTS + + + + + MANITOBA + + + + + MARYLAND + + + + + MAINE + + + + + MICHIGAN + + + + + MINNESOTA + + + + + MISSOURI + + + + + MISSISSIPPI + + + + + MONTANA + + + + + MEXICO CITY + + + + + NEBRASKA + + + + + NORTH CAROLINA + + + + + NORTH DAKOTA + + + + + NEWFOUNDLAND + + + + + NEW HAMPSHIRE + + + + + NEW JERSEY + + + + + NEW BRUNSWICK + + + + + NEW MEXICO + + + + + NOVA SCOTIA + + + + + NORTHWEST TERRITORIES + + + + + NEVADA + + + + + NEW YORK + + + + + OHIO + + + + + OKLAHOMA + + + + + ONTARIO + + + + + OREGON + + + + + PENNSYLVANIA + + + + + PRINCE EDWARD ISLAND + + + + + QUEBEC + + + + + PUERTO RICO + + + + + RHODE ISLAND + + + + + SOUTH CAROLINA + + + + + SOUTH DAKOTA + + + + + SASKATCHEWAN + + + + + TENNESSEE + + + + + TEXAS + + + + + UNITED STATES + + + + + UTAH + + + + + VIRGINIA + + + + + VIRGIN ISLANDS + + + + + VERMONT + + + + + WASHINGTON + + + + + WISCONSIN + + + + + WEST VIRGINIA + + + + + WYOMING + + + + + YUKON + + + + + + + A data type for State/Country Index. + + + + + + + + + + + + + A data type for Gun Make. + + + + + + + + AA Arms Corp.Model Hill, NC + + + + + AMERICAN ARMS/DELTA SPARKS,NEVADA + + + + + American Arms InternationalSalt Lake City, UT + + + + + Arkawa Kogyo K. K.Mfr. of rifles + + + + + ArmaliteUse AAL only when model is otherthan listed + + + + + American Arms & Ammo + + + + + American Arms, Inc.Garden Grove, CA + + + + + ARLINGTON WA ARNOLD ARMS + + + + + Armi Atis S. R. L. + + + + + Abercrombie & Fitch (A & F)Importer only + + + + + A. B. Distributors + + + + + Abadie + + + + + ARAMBERRY HERMANOS + + + + + Abesser & Merel + + + + + Arcus CompanyMfr.of 9mm semiautomatic pistolsrcus 94) + + + + + ArcoaSee Arms Corp. of America + + + + + Accu-TecChino, California + + + + + Acha/Acha Hermanos + + + + + Acier Comprime + + + + + Ackley, P. O.Mfr. of rifles. Importer + + + + + Action Arms Ltd.Importer for Britarms of England + + + + + Arrizabalaga, Calixto + + + + + Arms Corp. of AmericaBaltimore, Maryland + + + + + Amerigo Cosmi + + + + + Action/Action 1920 ModelMade by Modesto Santos + + + + + Accu-Match InternationalMesa,AZ + + + + + Adams + + + + + Aguirre, Pedro ArosaMfr. of shotguns + + + + + ARES DEFENSE SYSTEMS BLACKSBURG, VA + + + + + Adler/Adlerwaffenwerke + + + + + Aldens (Chieftan)Mfd. by Savage + + + + + ADVANCED ARMAMENTS, INC., TEXAS; MAKER OF RIFLES + + + + + Armeria El Cazador + + + + + Ameetec + + + + + BERSA/BERSA PICCOLAMADE BY INDUSTRIA ARGENTINA, MAHELY BRAND RIFLES ETC. + + + + + American ArmsNorth Kansas City, Missouri + + + + + AMERO ESPEEIALISTAS REUNIDAS + + + + + Aetna Arms Co. + + + + + AMERICAN FRONTIER FIREARMS + + + + + American Firearms Mfg. Co..38 single-shot derringer andstainless .25 automatic + + + + + Armory Gun Co.Mfr. of shotguns + + + + + Atkin, Grant & Lang + + + + + Agramonte, EdImporter only + + + + + Agristin-Farar-Espana + + + + + August Schuler + + + + + Aguirre y Aranzabal + + + + + Aguro + + + + + Agawam Arms + + + + + Alpha Arms + + + + + AIMCO HOUSTON, TX SEE ARMAS INTERNATIONAL MANUFACTURING CO. + + + + + Amtec 2000Gardner, MA; manufactures revolvers + + + + + American Industries Inc.Model Calico + + + + + Aiken, Henry + + + + + Accuracy International LimitedHampshire, England; Mfr. of rifles. + + + + + American Import Co. (Taico)Importer only + + + + + Armitage InternationalSeneca SC + + + + + A. Joseph Defourny + + + + + Alexander James Ordnance + + + + + AKKAR SILAH SANAYI TIC, LTD. IZMIR, TURKEY TRADENAME HATSAN + + + + + Akliengesellschaft + + + + + Alkar/AlkartasunaBrand names of Alkartasuan Fabricade Armas + + + + + AkahDistributed and imported byAlbrecht Kind + + + + + Armeria El Ciervo + + + + + AAA/AAA Model 1919Trademark of Aldazabal + + + + + Allen, Ethan, & Co. + + + + + AlfaTrademark of Adolf Frank Co. + + + + + Allies + + + + + AlamoAlso brand name of Stoeger on Rohmrevolver and Alamo Leather Co.on High Standard revolver. + + + + + Allen + + + + + ALPINE INDUSTRIES + + + + + Allied Arms + + + + + Allen & Wheelock + + + + + AlexiaMfr. of revolvers + + + + + ALCHEMY ARMS COMPANY; AUBURN, WASHINGTON + + + + + American Arms Co. + + + + + America S. A. + + + + + American ClubMfr. of shotguns + + + + + American Derringer Corp.Distributed by Early & ModernFirearms + + + + + American Craftsmen + + + + + American Firearms Corp. + + + + + American Standard Tool Co.Mfr. of revolvers + + + + + American Derringer Co.Waco, TX + + + + + American Steam Works + + + + + Ames, N. P. + + + + + ArmsportImporter + + + + + Amadeo Rossi & Co. + + + + + Amsden, R. W. + + + + + AMT (Arcadia Machine & Tool)Mfr. of frames and stainlesspistols + + + + + Amuategui, Martin + + + + + American S & W + + + + + Anciens Establishments Pieper + + + + + Andrus & Osborn + + + + + AvengerRevolvers + + + + + ARSENAL INC.; LAS VEGAS, NEVADA **DO NOT CONFUSE WITH: ARSENAL OF BULGARIA OR ARSENAL USA + + + + + Arizmendi, Norberto + + + + + Anschutz + + + + + Anson & DeeleyMfr. of shotguns + + + + + Angelo ZoliNot to be confused with AntonioZoli + + + + + Areito-Auriena + + + + + Auto-Ordnance Corp.Mfr. of submachine guns & semi-automatic rifles + + + + + Antonio Gil & Co. + + + + + ApacheMfr. of .45 carbines + + + + + AIM, INCORPORATED; PARTON, MARYLAND + + + + + Apaolozo/Apaolozo Hermanos + + + + + ApolloSee Voere + + + + + Armscor PrecisionImporter + + + + + AMERICAN SPIRIT ARMS CORP. + + + + + Arana y CieMfr. of revolvers + + + + + AR-7 INDUSTRIES + + + + + Armigas-Comega + + + + + Arizaga, Eusebio + + + + + Armaf S. A. + + + + + Argler + + + + + Armament Technology Corp. + + + + + Arisaka + + + + + AristocratBrand name of Supple-Biddle Hdw.or model of Stevens + + + + + Arizaga, CasparMfr. of shotguns + + + + + Arlington OrdnanceWeston, CT; importer - reimportssurplus US military weaponsshipped overseas (M1 Ga + + + + + ArminexScottsdale, AZ + + + + + ArminiusNot a make, but a brand mfd. byHerman Weihrauch, F. I. E. &others + + + + + Arriola + + + + + Armera + + + + + Campeon/Campeon PatentModel of Hijos de C. Arrizabalaga + + + + + A. R. Sales Co.Mfr. of .45 pistol frames + + + + + Artigis + + + + + Arva + + + + + Aramberri, Victor, & Sons + + + + + Arizmendi, Francisco + + + + + AustraliaCode by country if make cannot bedetermined + + + + + Advanced Small Arms IndustriesSolothurn,Switzerland + + + + + ARMI SPORT; BRESCIA, ITALY - MAKER OF REPRODUCTION FIREARMS + + + + + Ascaso, F. + + + + + Ashton (P. H. or W.) + + + + + Arsenal USA, LLC + + + + + Armi San MarcoReplicas of antiques + + + + + AustenMilitary weapons, see Sten + + + + + Aston (W. or H.) + + + + + Armi San Paolo + + + + + Ardessa + + + + + Astra + + + + + ArgentinaCode by country if make cannot bedetermined + + + + + Artistic ArmsMfr. of rifles + + + + + ATC + + + + + Advantage ArmsSt. Paul, Minnesota + + + + + Arms Technology + + + + + AtlasImporter/Distributor + + + + + Ata Arms + + + + + AUTO NINE CORP. PARMA, ID + + + + + Australian Arms + + + + + Armi Tecniche de EmilioBressicia, Italy + + + + + AustriaCode by country if make cannot bedetermined + + + + + Aurora + + + + + A. J. AubreyMfd. for Sears + + + + + Automatic Model 1924 + + + + + Automatic ArmsSouth Carolina + + + + + Automatic Pistole ZKPMilitary weapons + + + + + Auto MagSee T.D.E. or Jurras + + + + + Autograde + + + + + Automatique FrancaiseSee Societe D'Armes + + + + + ADVANCED ARMAMENT, GEORGIA; MAKER OF SILENCESR AND OTHER FIREARM ACCESORIES + + + + + Avion/Avion PistoletMade by Azpiri + + + + + Avant Industries + + + + + AMERICAN WESTERN ARMS; DEL RAY BEACH, FLORIDA + + + + + American Weapons Corp.Importer + + + + + AWI + + + + + A W C SYSTEMS TECHNOLOGY + + + + + APACHE TRIBE + + + + + Alexander Arms + + + + + MatadorShotgun model of AYA + + + + + AGUIRRE Y CIA + + + + + Arizmendi y Zulaica + + + + + AA Modelo 1916Model of Arrizabalaga & Azanza + + + + + Arrieta & AzcoagaImported by Galesi + + + + + Antonio AspiriMfr. of pistols, see Colon B. H. + + + + + Anzio Ironworks + + + + + BA + + + + + BALLARD ARMS LYNNDYL, UT .50 CALIBER RIFLE + + + + + BabyVarious mfrs. + + + + + B. A. Co.Bacon Arms Co. + + + + + Ballester-Riguad + + + + + Barker, T.Sold by Crescent, H & D Folsom,and Iver Johnson + + + + + Ballard & Fairbanks + + + + + Barrenechea & GallestegueAuto Pistols + + + + + Bailey, Thomas + + + + + Baker Gun Co.Imported or mfd. by Crescent + + + + + Baltimore Arms Co. + + + + + Angelo & Emelis Boniotti + + + + + Basculant + + + + + Batavia/Batavia LeaderModel of Crescent or Baker + + + + + Bauer Firearms Corp.Mfr. of pistols + + + + + Baldwin Co.Mfr. of shotguns + + + + + Baby DragoonVarious mfrs. including Colt inearly 1800's + + + + + Big Bear ArmsImporter. + + + + + Berben Corp.Importer of Beretta + + + + + Boston Bull Dog + + + + + Beebe Arms Co.Brand of Marlin or Remington + + + + + Bruno BologniniGardone, Italy + + + + + B. C. Automatic + + + + + BeckerMfr. of shotguns + + + + + BredaPistols + + + + + Broadhead ArmoryWyandotte, MI + + + + + BORDENS ACCURACY SHOP SPRINGVILLE, PA BENCHREST RIFLES + + + + + Beaumont-Vitali + + + + + Bergereon + + + + + Becker & Hollander + + + + + Bernedo + + + + + Beesley + + + + + BerdanEarly arms mfr. + + + + + Bergmann, Theodor + + + + + Beistegui + + + + + Ben Franklin + + + + + Berkshire + + + + + Amr ModelModel of Bernardelli + + + + + Bernardon-Martin + + + + + Berent Steel Co.Importer only + + + + + BantamModel mfd. by Beretta + + + + + Berns WholesaleImporter/Distributor + + + + + B. F. Arms Manufacturer + + + + + Bonnell Firearm Co. + + + + + Baford ArmsBristol, TN; mfr. "Thunder", amulticaliber derringer + + + + + Buffalo Arms Corp. + + + + + Belgique/BelgiumCode by country if make cannot bedetermined + + + + + Baby HammerlessModel of Sedgley or variousother manufacturers + + + + + B & H Small ArmsMfr. of handguns and rifles + + + + + Belknap HardwareUse BHE only when model is otherthan listed + + + + + BahiaTwo-barrel pistols + + + + + Big Horn Arms + + + + + B. H. + + + + + BushmasterMfd. by Gwinn Firearms + + + + + BII Sales + + + + + Bijou + + + + + Bittner, Gustav + + + + + BIZZINI + + + + + Belategui, Juan Antonio + + + + + Blue HenBrand name of Jellico Hardware + + + + + BenjaminMfr. of air guns + + + + + Bjorgum + + + + + Bellmore-Johnson Tool Co. + + + + + Blaser Jagdwaffen gmbh.Isny/Allgau, Germany + + + + + Buckeye Gun Co.Mfr. of shotguns + + + + + BaikalMfr. of shotguns + + + + + Blumenfeld Imports Co.Importer + + + + + Ball & WilliamsMfd. by C. H. Ballard + + + + + AmericaBrand name of Bliss & Goodyear + + + + + Bluegrass Armory + + + + + Blunt & Syms + + + + + BMMfr. of shotguns + + + + + Briley Mfg LicHouston,TX + + + + + Beeman + + + + + Bond ArmsGranbury,TX; makes Remington typeer/under Derringer + + + + + BurnsidesMfr. of Civil War carbines + + + + + Andrea Benetti + + + + + Benelli S.P.A. + + + + + Bascaran, Martin A. + + + + + BonanzaBacon Mfg. Co. + + + + + Bobcat Weapons, Inc. + + + + + BohicaLoveland, CO; Mfr. AR-15 rifles. + + + + + Borchers + + + + + Amantino, E. R.Previously Boito. Guns are nowmarked ERA + + + + + BojhoYugoslavian Army marks on Browning1922 + + + + + Boone, DanielDistributed by Belknap Hardware.Several mfrs. + + + + + Borchardt, Hugo + + + + + Boss & Co. + + + + + Boltun + + + + + Bolumburu, Gregorio + + + + + BockDouble-barrel pistols + + + + + Armas Bost + + + + + Brazier + + + + + Brandon + + + + + BALLARD RIFLE & CARTRIDGE, LLC CODY, WY + + + + + Bristol Firearms Co. + + + + + Black PrinceBrand name of Bridge Gun Co. + + + + + Brooklyn Arms Co. + + + + + Bauer, KarlDistributor + + + + + BrenSubmachine gun + + + + + American Browning + + + + + BLUE RIDGE PRECISION GUNWORKS FT. HILL, SC + + + + + Browerduit + + + + + Barett Firearms Manufacturing50 caliber riflesMurfeesboro, TN + + + + + Brevettate Industria ArmiShotguns + + + + + Brown Mfg. Co. + + + + + Brixia (Military Model)Italian copy of Walther + + + + + Bryco Arms + + + + + Brno Zbrojovka + + + + + BesaMfd. by BSA (Copy of two-barrel.37 machine gun) + + + + + Brescia Armas + + + + + Bayerische Sportwaffenfabrik + + + + + Bes-Tof-AlBrand of shotgun + + + + + Beschi, MarioMfr. of shotguns + + + + + BAR-STO PRECISION TWENTY-NINE PALMS, CA + + + + + BS or B/S + + + + + Berlin Suhler Waffen + + + + + Benet ArmsImporter + + + + + British EnfieldMilitary Surplus + + + + + Belmont FirearmsMfr. of shotguns + + + + + Bul Transmark LtdTel Aviv, Isreal + + + + + BETTINSOLI TARCISIO; GARDONE, ITALY + + + + + Buffalo Arms Corp.Tonowanda, NY + + + + + Buchel + + + + + Buddie Arms Co. + + + + + Bullfighter + + + + + Burgess + + + + + Buhag + + + + + BulldogVarious mfrs. + + + + + Burgham + + + + + Bang UpTrade name Graham & Haines Co. + + + + + BaronessMfd. by Butler Associates, Inc. + + + + + Burgo/Burgsmueller, KarlImporter/Distributor only + + + + + Buscher Strotmodell + + + + + Butterfield, Jesse S. + + + + + Bussu + + + + + Brevez-AW.410 gauge single-shot shotgun + + + + + Bohnmische Waffenfabrik + + + + + B. West Imports IncTucson, AZ; manufactures AK-typereceiver. + + + + + Bowers IndustriesMfr. of Defender carbines + + + + + Berestian & Cia + + + + + BrazilCode by country if make cannot bedetermined + + + + + Berasaluze Areitio AurtenaMfr. of pistols + + + + + Bozard & Co.Mfr. of shotguns + + + + + BATTISTA RIZZINI; MARCHENO, ITALY + + + + + CarcanoItalian military rifles + + + + + CHARTER ARMS CORPORATION + + + + + CASCADE ARM; TERRE HAUTE , IN + + + + + Calvert, John + + + + + CafeldMfr. of cane guns + + + + + Campo GiroMade by Astra + + + + + Century Arms Inc.St. Albans, VT & Boca Raton, FLG/primarily importer + + + + + California Arms + + + + + Catabria + + + + + Capitan + + + + + Carolina Arms Co.Trade name of H & D Folsom andSmith Wadsworth. Brand name ofCrescent-Davis + + + + + Ca-Si + + + + + CATCONapa,CA + + + + + CauceleguiMfr. of handguns + + + + + Cavalry Arms Corp. + + + + + Colombia Fuerzas MilitaresMilitary weapon + + + + + Cobb Mfg. + + + + + CBC (Cia Brazileria de Cartuchos) + + + + + COBRA ENTERPRISES; SALT LAKE CITY, UTAH + + + + + Competitor Corporation Inc.Groton, MA; manufactures theCompetitor-Rotary actionsingle-shot pistol. + + + + + CHARCO; SHELTON, CT WAS SUCCESSOR TO CHARTER ARMS + + + + + Cascade Arms + + + + + CLASSIC DOUBLES; KODENSHA,TOCHIGI CITY JAPAN; MADE IN JAPAN AND IMPORTED + + + + + CDM (Criterion Die & Machine Co.)Mfr. of handguns + + + + + Centaure + + + + + Celta + + + + + CesarUnknown mfr. + + + + + CETMESee also Heckler & Koch + + + + + Cherry's Fine Guns + + + + + Champlin Firearms Inc.Mfr. of deluxe rifles + + + + + CephyrBrand name of Stoeger + + + + + Caesar Guerini + + + + + C. H. + + + + + Chatellerault + + + + + Chicago + + + + + Chantecler + + + + + Charles DalyBrand of shotgun + + + + + Charles Lancaster & Co.Multibarreled pistols + + + + + Chicago Firearms, Inc.Mfr. of derringers + + + + + CHRISTENSEN ARMS; FAYETTE, UT + + + + + Cherokee Arms Co.Trade name of H & D Folsom + + + + + Churchill, E. J., Ltd. + + + + + Chimere Reinoir + + + + + Chan Chan + + + + + Chicago Arms Co. + + + + + Chicago Derringer Corp. + + + + + CHAPUIS FRANCE + + + + + Chamelot TypeImported from Italy + + + + + Charola-AnituaBergmann copy + + + + + Chylewski + + + + + CheyenneBrand name of American Import Co.and others + + + + + Century International Arms, Inc.St. Albans, VT; importer for BRNO,FEG, FAMAS, and NORINCO + + + + + Ciener, Jonathan ArthurMfr. of machine guns and silencers + + + + + Canadian Industries, Ltd. (C.I.L.)Use CIL only when model is otherthan listed + + + + + Cimarron Arms + + + + + CHINA JINGAN EQUIPMENT; BEIJING, CHINA + + + + + Chopitea Jose Maria + + + + + CzechoslovakiaCode by country if make cannot bedetermined + + + + + Central Kentucky Arms + + + + + CRAIG KLINTWORTH GUN & RIFLE MANUFACTURERS LTD. JOHANNESBURG,SOUTH AFRICA + + + + + Clabrough & Sons + + + + + Clic-ClacRevolver model + + + + + Claridge Hi-TecNorth Ridge, CA + + + + + Clement + + + + + Clair + + + + + Cannon BlockModel mfd. by Clerke + + + + + Climax + + + + + Classic ArmsMfr. of replicas + + + + + AceModel of Colt + + + + + Cleveland Arms Co. + + + + + Challenger Mfg. Co. + + + + + Century Manufacturing, Inc.Greenfield, IN + + + + + Covert Arms Mfg. CompanyEl Paso, TX + + + + + Continental Machine Tool Co., Inc. + + + + + CMMG, Inc. + + + + + Cougar ArmsLong guns + + + + + Cooksey Machine Shop + + + + + Clement-NeumannSemiautomatic carbines + + + + + China (prior to division in 1949)Code by country if make cannot bedetermined + + + + + COP, Inc. + + + + + Cuno Melcher + + + + + CONTINSOWLA + + + + + Coast-to-Coast StoresUse CO only when model is otherthan listed + + + + + CobraSemiautomatic pistols + + + + + Cobolt + + + + + Cockerill + + + + + Cody Mfg. Corp. + + + + + BulldozerModel of Connecticut Arms & Mfg.Co. + + + + + Colton Firearms Co.Mfr. of shotguns for Sears + + + + + Cogswell & Harrison + + + + + Coliat + + + + + Collath + + + + + ColonialSpanish mfr. Echeverria + + + + + Continental + + + + + Cooper Firearms Mfg. Co. + + + + + Continental Arms Co. + + + + + Constabler + + + + + Corrientes + + + + + Cooey + + + + + Cow BoyUnknown mfr. + + + + + Counet + + + + + Cow Boy RangerBrand of Rogers & Spencer + + + + + Corzo + + + + + Commercial Products + + + + + Chipmunk Mfg. Co.Medford, OR + + + + + Compass Lake Engineering + + + + + Champlin/Champlin-HasdinsMfr. of rifles + + + + + Component Metal ProductsAtlanta,GA + + + + + ChileCode by country if make cannot bedetermined + + + + + Craig + + + + + AjaxMfd. by Crescent + + + + + Crucelegui + + + + + Criolla + + + + + Crestwood Arms + + + + + Crosman Arms Co.Mfr. of air guns + + + + + Craft Product Co.Mfr. of handguns + + + + + Crucero + + + + + Carlo Riva + + + + + Crown City Arms + + + + + Bruno CastellaniMfr. of shotguns + + + + + Caspian Arms Ltd.Hardwick, VT + + + + + Crusader Arms Company + + + + + CROSSFIRE LLC LAGRANGE GA + + + + + CASUAL ARMS CORP. AFTON, WY + + + + + Coonan ArmsSt. Paul, MNMfgs. Coonan Stainless + + + + + CROSSFIRE + + + + + Centennial ArmsImporter only + + + + + Cotter & CompanyUse CTC only when model is otherthan listed + + + + + CHESTERFIELD ARMAMENT CHESTERFIELD, VA + + + + + Carlo CassartelliBrescia, Italy; mfr. of shotguns + + + + + CHARTER 2000; HUNTINGTON, CT,; DO NOT CONFUSE WITH CHARTER ARMS + + + + + CenturyMfr. of revolvers + + + + + Connecticut Valley Arms + + + + + CaverSingle-shot pistols + + + + + CALWESTCO Inc.Irwin, CA + + + + + CONTINENTAL WEAPONS LTD + + + + + CzarModel of Harrington & Richardson,Hood Firearms Co., and Hopkins& Allen + + + + + C Z U.S.A.; KANSAS CITY, KS + + + + + CHEYENNE & ARAPAHO TRIBES + + + + + DakinImporter, also see Union Armera ofSpain + + + + + Davis IndustriesChino, CA + + + + + Dance Bros. & Park + + + + + Davis ArmsMfrs. Davis Martin + + + + + Bird HunterModel of Darne shotguns + + + + + Daisy (Heddon)Mfr. of rifles and air guns + + + + + DakotaImported by EMF Co., Interarmco,and Salford Imports + + + + + DaredevilDistributed by Eppinger Gun Co. + + + + + Dardick Corp.Mfr. of pistols + + + + + Darling (B. or B. M.) + + + + + Daudeteau, L.Military weapons + + + + + Davis-Warner Arms Corp. + + + + + Davis GunsBrand name used by Crescent, Davis-Warner, and N. R. Davis & Sons + + + + + Dansk Rekylriffel Syndikat + + + + + Dubiel Arms Co. + + + + + DOUBLE STAR CORP., WINCHESTER, KENTUCKY + + + + + DAN COONAN INDUSTRIES; ALSO KNOWN AS DC INDUSTRIES; BLOOMINGTON, MINNESOTA + + + + + Dacin, Roger + + + + + Dornaus & Dixon Enterprises, Inc.Huntington Beach, CA + + + + + Demon "Marine" + + + + + Defense + + + + + Decker + + + + + Defender (handgun)Mfd. in U.S. by Iver Johnson + + + + + Defiance Mfr. Inc. + + + + + Degtyarev + + + + + Deringer, Henry, Sr. & Jr.Early mfr. of pistols and rifles + + + + + Decortis, G. + + + + + Dek-Du + + + + + Delphian Arms Co. + + + + + Delu, Fabrica D'Armes F. + + + + + Demontant + + + + + Demon + + + + + Derringer Corp. + + + + + Destroyer/Destroyer (Carbine)9mm police carbine + + + + + DetectiveBrand name of various mfrs. + + + + + Detroit Arms Co. + + + + + Deluxe (Pistol) + + + + + Deutsche Treff + + + + + DANL. FRASER & COMPANY; EDINBURGH, SCOTLAND + + + + + Diamond Arms Co. + + + + + Desert Industries IncLas Vegas,NV + + + + + DIKAR SPANISH MANUFACTURER (CVA-CT. VALLEY ARMS;IMPORTER OF THESE WEAPONS + + + + + DianaMfr. of shotguns + + + + + DicksonTrade name of various mfrs. + + + + + Diarm, S.A.Deba, Spain + + + + + Dickinson, E. L. + + + + + Dictator + + + + + Daiwa + + + + + Brown Bess (Grice)Musket--Imported by Dixie GunWorks + + + + + DenmarkCode by country if make cannot bedetermined + + + + + Dakota ArmsSturgie, SD; mfr. single-shotrifles based on 19th centurydesigns + + + + + Dickson CapitalBrand of shotguns + + + + + DokiMfr. of shotguns + + + + + Dlask Arms Corp. + + + + + Demain, Inc.Importer only + + + + + DIEMACO; CANADA + + + + + DamarTwo-barrel pistols + + + + + D. M. W. + + + + + D-Max IndustriesAlburn, WA + + + + + Denard, John C., Co.Distributor of firearms in Europe + + + + + Davis, N. R., & SonsMfr. of shotguns + + + + + D'Ordnance + + + + + Danok + + + + + Dorman + + + + + Domino.22 target pistols + + + + + Dormus + + + + + Dos Leones + + + + + Douglas + + + + + COMANCHE NATION + + + + + DAL PHON SA. SHELTON, WA + + + + + Defense Procurement ManufacturingServices, Inc.Becker, MN; does business as DPMSInc. + + + + + DreadnoughtMfd. in the U.S. by Hopkins & Allen + + + + + Demro Tac 1Demro Tac Products, Manchester, CT + + + + + Dreux + + + + + Drulov + + + + + MIAMI TRIBE + + + + + DSA INC.Round Lake,IL + + + + + Dschullnigg + + + + + Frank de HaasSingle-shot rifles + + + + + DiscoverBrand of shotguns + + + + + MUSCOGEE (CREEK) TRIBE + + + + + Defense Technology Corp. + + + + + DetonicsMfr. of handguns + + + + + Detonics USA + + + + + DucoBrand name of Dumoulin + + + + + Duo + + + + + Dutch HembrugMade for the Dutch military + + + + + SENECA-CAYUGA TRIBES + + + + + DavalonMfr. of shotguns + + + + + Davidson Firearms Co.Importer + + + + + AcmeBrand of Davenport + + + + + CITIZEN BAND POTTAWATOMIE TRIBE + + + + + Diawa + + + + + Deutsche Waffen & MunitionsSee D. W. M. + + + + + DaewooMfd. in Korea & imported to the USby Stoeger Industries, Inc.Hackensack, New Jersey + + + + + Dawson Precision + + + + + Dynamite NobelDistributor + + + + + European American Armory Corp.Hialeah, FL + + + + + Eastern SportsImporter for Dynamite Nobel + + + + + Eagle ArmsImported by J. L. Galef + + + + + European American Arms Corp. + + + + + EarthquakeBrand name of Dickinson Brothers + + + + + Arrostegui, Eulogio + + + + + Eastern Arms Co.Brand name of Meriden Firearms Co.and Stevens + + + + + E.A. BROWN MANUFACTURING ALEXANDRIA, MN SINGLESHOT PISTOLS + + + + + ED BROWN PRODUCTS INC. + + + + + BASQUEMODEL OF ECHASA - EIBAR ALSO SEE;ECHASA-ECHAVE ARIZMENDI + + + + + Eclipse + + + + + Buffalo ScoutImported by Excam + + + + + EclipseSee E. C. Meacham Arms Co. + + + + + ENCORE + + + + + Hijos de A. EcheverriaMfr. of Vesta + + + + + E. A.ECHAVE Y ARIZMENDI__ALSO SEE;ECHASA-EIBAR CORRECT CODE SHOULD BE MAK/ECE + + + + + EDM'L ARMS + + + + + Eusta/Eusta-SchiederBrand name of Kaschie-Wrage + + + + + Eddy Mfg. Co. (EMC) + + + + + Eagle ArmsCoal Valley, IL + + + + + Eastern Firearms Co.Importer, see Sherwood + + + + + EFFEBI SNC INC., ITALY FORMERLY KNOWN AS DOCTOR FRANCO BERETTA ALSO AS ARMI EFFEBI WWW.EFFEBI.ORG + + + + + Eagle Gun Co. + + + + + Enterprise Gun WorksMfr. of shotguns + + + + + Eig CutleryImporter of weapons mfd. in Italy,Japan, Spain, and West Germany + + + + + EinhandPocket pistols + + + + + Elderkin & Sons + + + + + El Cid + + + + + Eley/Eley-Kynoch + + + + + El Faisan + + + + + Elliott + + + + + El PerroMfd. by Las Curarin y Olasola + + + + + ElbertMfr. of cane guns + + + + + Ells, JosiahEarly arms mfr. + + + + + Electric CityMfd. by Crescent or H & D Folsom + + + + + East, German Democratic RepublicCode by country if make cannot bedetermined + + + + + Empire Arms Co.Made by Crescent and Hunter Armsfor Sears + + + + + E.R. Maples CompanyAntioch, TN + + + + + BodyguardMfd. by Gerstenberger & Eberwein + + + + + EMF Co. (Early & Modern FirearmImporter only + + + + + E & R Machine, Inc.Frames only + + + + + Emdeko International + + + + + Empire State Arms Co. + + + + + Britain (or England)Code by country if make cannot bedetermined + + + + + ENTERPRISE ARMS + + + + + Encom America + + + + + AlbionMfd. by Enfield + + + + + ENCOMSee also Enfield America + + + + + Erika + + + + + Armas Erbi + + + + + Erl SvendsenNow called Esfac Inc., mfr. ofderringers + + + + + Erma/Erma Werke + + + + + Erquiaga, Marguruza, y Cia + + + + + Antonio Errasti + + + + + Escodin + + + + + E. A. Co.Essential Arms Company + + + + + Esperanza + + + + + Espingarda + + + + + Essex Arms Corp.Frames only + + + + + Estal + + + + + Emerging Technologies, Inc.Little Rock, AR; makes Laseraim. + + + + + EurostahlImporter only + + + + + Etna + + + + + EasternBrand name of Stevens + + + + + Estul, Inc. + + + + + Ernst Thelmann WerkeMfr. of German Makarov + + + + + EuskaroCopy of Smith & Wesson revolver + + + + + EuromanufactureMfr. of black powder guns + + + + + Euroarms + + + + + Ever BestSingle barrel shotgun + + + + + Ewbank Mfg. + + + + + ExcaliburShotguns + + + + + ExcelsiorMfd. in U.S. by Bliss & Goodyear + + + + + Exel Arms of America + + + + + Excel Industries, Inc. + + + + + Expert Rifle + + + + + ExpressRevolver mfd. in U.S. by Bacon + + + + + Ancion-MarxMfr. of Extracteur + + + + + FAB ARM or FABARM + + + + + Fabrique D'Armes de Guerre de + + + + + Freedom Arms Co. + + + + + Fade + + + + + Fraser Arms CompanyFraser, MI + + + + + A. FagnusMfr. of revolvers & pistols + + + + + D. G. F. M.Mfd. by F. M. A. P. + + + + + Fajen Mfg. Co. + + + + + Falcon + + + + + Famars di-Abbiatico & SalvinelliMfr of rifles/shotguns + + + + + BRUNO ALBERTI ITALY SEE FALCO + + + + + Far + + + + + Fabrica Armi Sarezzo + + + + + Favorit + + + + + Farwell Arms Co. + + + + + Fabrinor Arma Corta Y; Microfusion SAL + + + + + FAB (F. A. Bower)Importer only + + + + + Factory Military (Fabricaciones Militares) or (Militares Fabricaciones) + + + + + FBN + + + + + Armi FabriMfr. of shotguns + + + + + Falling Block WorksSingle-shot rifles, see Fix + + + + + AlpineMfd. by Firearms Co. Ltd. + + + + + C. W. FranklinImported by H & D Folsom + + + + + FinlandCode by country if make cannot bedetermined + + + + + Fabrica D'Armas-IWA + + + + + Federal LaboratoriesMfr. of tear gas guns andammunition + + + + + DuoModel of F. Dusek Opotschno + + + + + Federal Engineering Corp.Mfr. of rifles + + + + + F. da de EscopatosMfr. of shotguns + + + + + AttilaAuto-loading pistol, mfd. by FegUnion + + + + + FerlachMfr. of shotguns and rifles. Alsocity in Austria + + + + + FeinwerkbauMfr. of F12 Sporter Pellet Rifle + + + + + Felia Arms Co. + + + + + Federal OrdnanceSouth ElMonte CA + + + + + Fernwood Gun SupplyMfr. of percussion kits + + + + + Feather EnterprisesBoulder, Colorado + + + + + Ferunion + + + + + Federal Firearms Co. + + + + + Fabrica D'Armi Fratelli Pietta + + + + + FFV (Forenade Fabrik Verken)Importer and exporter of Husqvarnaand Carl Gustav + + + + + FrigonClay Center, KS + + + + + BuckskinShotgun, model of Franchi + + + + + Fiala Arms & Equip. Co.Mfr. of pistols + + + + + FiatMilitary weapons + + + + + Fidjeland + + + + + Field & Fireside + + + + + Beretta USA Corp.Formerly F. I. Industries + + + + + Firearms International, Inc. + + + + + Finnish Lion/Finnish Lion Jr.Imported by Interarmco and F. I.Garcia + + + + + FiocchiLecco,Italy,mfr. of target pistolsd ammo. + + + + + Best, TheMfd. by F. I. E. + + + + + Firearms International Corp.Manufactures Kimel + + + + + Fahrzeug Und Jagdwaffgn + + + + + Frankfort Arsenal, Inc.Ft. Lauderdale, FL + + + + + Flaig'sMfr., also importer of Voere + + + + + FLEMING FIREARMS COLLINSVILLE,OK + + + + + Fritz Werke + + + + + Felk IndustriesWarners Bay,Australia + + + + + Florida + + + + + Florida FirearmsImporter and manufacturer + + + + + F AND L, SRL + + + + + FAME + + + + + Fabrica de Material de GuerraGovernment military arsenal + + + + + F.M.J.Full Metal Jacket, Copperhill, TN;mfg. .38 and .45 caliber single-shot derringer. Also mfrs. + + + + + FranceCode by country if make cannot bedetermined + + + + + Baby Browning + + + + + F.N. MANUFACTURING, INC.; COLUMBIA, SC + + + + + FRANZITE + + + + + Folsom, H. & D., Arms Co. + + + + + Fosbery, G. V. + + + + + FOSTER INDUSTRIES HARDWICK, VT;PISTOL FRAMES + + + + + Forehand Arms Co. + + + + + Foster Hardware Co. + + + + + A. H. Fox (Sterlingworth)Double-barrel shotguns + + + + + Ceska ZbrojovkaMfr. of Fox + + + + + F. PedrettiBrescia, Italy + + + + + FranconiaImporter only + + + + + August Francolette Co. + + + + + Friedr + + + + + Firing Line + + + + + Frontier Model DerringerNumerous mfrs. + + + + + Frontier Bulldog + + + + + Frontier + + + + + FerretBrand of Universal Sales + + + + + Frontier (Revolver)Brand name + + + + + F.A.I.R., TECNI-MEC, I. RIZZINI ITALY + + + + + FIRE STORM PRODUCTS, WANAMASSA, NJ + + + + + Fausti Stephano + + + + + Fausto MassiVicenza, Italy + + + + + Francisco Sarruigarte + + + + + Fratelli BertuzziBrescia, Italy; mfr. of shotguns + + + + + F.T.L. Marketing + + + + + Fulton Armory + + + + + FRATELLI PIOTTI OR PIOTTI FRATELLI; BRESCIA,ITALY + + + + + August FrancotteMfr. of shotguns + + + + + FURR ARMS OREM, UT + + + + + Fullerton + + + + + Fundalum S.A. + + + + + Bullseye Mfg. Co.Mfd. by Forehand & Wadsworth + + + + + FORT WORTH FIREARMS FT WORTH TX + + + + + Andrew Fyrberg & Co.Early mfr. + + + + + Franz Kettner + + + + + BuffaloMade by Gabilondo + + + + + Gabbett-Fairfax + + + + + G. A. C.Copy of Smith & Wesson revolver + + + + + Galand Arms Co. + + + + + Garate Anitua + + + + + Gamble Stores/Gamble Skogmo Inc.Use GAG only when model is otherthan listed + + + + + GarruchaMfd. by Rossi + + + + + Garantazado + + + + + Gordoney + + + + + Gastinne Renette + + + + + GatlingEarly machine guns + + + + + Armand Gavage + + + + + Destroyer (Pistol)Model of Gazanaga + + + + + GreenbackSingle-shot shotguns + + + + + Gun Crafter Ind. + + + + + Carl GustavSee FFV + + + + + GercarHandguns + + + + + DanzigRoyal arsenal + + + + + GALENA INDUSTRIES BEAR BUTTE, SD; AMT TYPE FIREARMS, ARCADIA MACHINE & TOOL + + + + + Dornheim, G. C.See Gecado. Trademark of GeorgeCarl Dornheim + + + + + Gevelot + + + + + GEMTECH; GEMINI TECHNOLOGIES, BOISE,ID + + + + + General Precision Corp. (G. P. C.)See Talon Model 10 + + + + + GecoImporter/Exporter only + + + + + Mayday Flare GunMfd. by Genrus EngineeringSpecialties + + + + + Gevarm, S. A.Mfr. of rifles + + + + + General Firearms Co.Mfr. of shotguns + + + + + Garfield.22 semiautomatic rifles + + + + + Grant Hammond Corp.Handguns + + + + + GehaBolt-action shotguns and Mauserrifles + + + + + Gering, H. M. + + + + + Giscosa + + + + + Gemini Investment Corp.Importer only + + + + + Gilbert Equipment Co.Importer + + + + + Armas Gib-Maximo + + + + + Galef, J. L., & SonImporter only + + + + + Gladiator + + + + + Glock, Inc. + + + + + GlisentiMfr. of military pistols + + + + + Galil IsraelSubmachine guns + + + + + GRULLA ARMAS; SPAIN, MAKER OF RIFLES & SHOTGUNS + + + + + Golden State ArmsImporter + + + + + Galaxy EnterprisesImporter only + + + + + Glaze, William, & Co. + + + + + GMDo not confuse with General Motors.Rifles and shotguns + + + + + GambaMfd. by LeArmeria Fratelli Gamba + + + + + GMF Co. (Guardian Mfg. Corp.) + + + + + G. McMillan CompanyPhoenix, AZ; Mfr. of rifles. + + + + + GAMO + + + + + Gonic Arms, IncGonic, NH; make of black-powderrifles + + + + + Grendel Inc. + + + + + Gnom/GnomeSingle-shot Flobert-type pistols + + + + + A. GilonMfr. of Velo-Dog revolvers + + + + + Goliat + + + + + Goncz Armament, Inc. + + + + + Gorosabel, PedroPedro Gorosabel--made in Spain + + + + + Great American + + + + + Gras + + + + + Gary Reeder Custom Guns + + + + + Greener MartiniType of Martini + + + + + Greifelt & Co. + + + + + Fabrica Armi GradogaMfr. of handguns + + + + + Griffin & HoweCustom manufacturer + + + + + Grieder, H. F.Importer only + + + + + Greeley Arms Co. + + + + + Greenfield + + + + + George E. Rose Co. (Geroco)Importer only + + + + + Group IndustriesLouisville, KY + + + + + Green River Rifle WorksAntique firearms + + + + + Gross Arms Co. + + + + + Grist Mill ManufacturerRosendale, NY + + + + + Gregorelli & Umberti + + + + + GENE SIMILLION CUSTOM; GUNNISON, COLORADO + + + + + Griffith & Semple + + + + + Gunsmoke EnterprisesOkeechobee, FL; mfr. of AR-15 basedhandgun, XM3215 + + + + + Gallyon & Sons, Ltd. + + + + + GAUCHER ARMES S.A. ; FRANCE + + + + + Guisasola Bros. + + + + + GuardianModel B. A. Co., Valor, and F. I.Garcia + + + + + Gueure + + + + + AVK-BVSee Gustloff + + + + + Armi Guiseppe TanfolglioMfr. of pistols. Same company asFratelli Tanfolglio + + + + + Gun Works Ltd.Tonawanda, NY + + + + + Guipuzcoana la Industrial + + + + + Gevelot of CanadaImporter + + + + + Continental, TheBrand of Great Western + + + + + Griswold & GunnisonCivil war revolvers + + + + + Grant, W. L.Distributor only + + + + + Garate y Mendiba + + + + + GAZELLE ARMS (HISAR AVCILIK) + + + + + AlexBrand of Hopkins & Allen + + + + + HabichtShotguns + + + + + Hamal + + + + + Hanscomb Hardware Co. + + + + + Hellenic Arms IndustryAthens,Greece + + + + + BayardMade by Haerens Tojhus + + + + + C. G. HaenelSame as Haenel-Schmeisser + + + + + Hamilton + + + + + Handy/Handy Auto Pistol/Handy + + + + + Elof Hansson + + + + + Hauptli + + + + + Hammerli + + + + + Hartman + + + + + Frank Harrison Arms Co.Imported by H & D Folsom forSickels Arms Co. + + + + + Hartford Arms Co.Various mfrs. + + + + + Haut RhinWalther-type pistols + + + + + Chief MarshalMfd. by Hawes/Sauer + + + + + HemburgMilitary weapons + + + + + Horns Custom Rifles + + + + + HerculesVarious mfrs. + + + + + H & D (Henrion & Dassy) + + + + + HDH + + + + + Hendrick Sales & Engineering Co.Importer only + + + + + Hecla + + + + + Heckler & Koch + + + + + C. E. HeinzelmannHandguns + + + + + FirebirdModel of Hege + + + + + Heinemann + + + + + He-Mo + + + + + Henry Gun Co.Imported by Crescent + + + + + Herman + + + + + HESSE LTD INVERGROVE,MN + + + + + Hermitage (Arms or Gun Co.)Various mfrs. + + + + + Herter's Inc.U.S. importer and mfr. + + + + + HeymMfr. of rifles and revolvers + + + + + Hermetic + + + + + Harris GunworksPhoenix,AZ,mfr. of bolt actionfles. + + + + + CarbojetModel of Hy Hunter + + + + + H & H ENTERPRISES REDWOOD CITY, CA + + + + + HARRISON & HUSSEY; ENGLAND + + + + + Chicago Long Range WonderBrand name of Hibbard, Spencer, &Bartlett + + + + + Higgins, J. C.In some cases, numbers appearingon barrel(s) of Higgins weaponsare production numbers, + + + + + Hi-PointMansfield, OH + + + + + Hispano Argentina + + + + + Ballester-MolinaMfd. by Hafdasa + + + + + H.J. IndustriesBrownsville, TX + + + + + Henry, J. J., & SonMfr. of Civil War muskets + + + + + Hawk Engineering, Inc.Northfield, IL + + + + + Hawk Industries + + + + + HubenbecklerMfr. of derringers + + + + + HelicodogModel of shotguns + + + + + Hall, J. H./Hall-NorthCivil War rifles + + + + + HolmesManufacturer of MP-83 and MP-22 + + + + + HOLLOWAY ARMS COMPANY; FT. WORTH, TX + + + + + Hatton Ind. + + + + + H & N MinicraftCovina, CA + + + + + Hanover ArmsMfr. of shotguns + + + + + Holt, Sam + + + + + Hoban Mfg. Co. + + + + + AlaskaBrand name of Hood Firearms Co. + + + + + Holland Firearms Co.Importer of shotguns + + + + + ApexModel of Holland & Holland + + + + + Hollenbeck + + + + + Hornet + + + + + Horsely + + + + + HotchkissMachine gun + + + + + HoppesReplicas of antiques + + + + + Abiline CentennialMfd. by Harrington & Richardson + + + + + Hamilton Rifle Co.Mfr. of rifles + + + + + Hartford Armory + + + + + COLT BLACK POWDER CO. JOINT OPER W/HENRY REPEATING RIFLE CO NY. + + + + + Heritage ArmsOpa Locka, FL; formerly QualityFirearms, Inc.; bought out byHeritage Manufacturing Inc. + + + + + Doublenine ConvertibleModel of High Standard + + + + + Haskell + + + + + Hollis & SonsMfr. of rifles and shotguns + + + + + H.S. PRECISION INC. + + + + + HOLSTON ENTERPRISES PINEY FLATS,TN + + + + + HungaryCode by country if make cannot bedetermined + + + + + Hubertus + + + + + HUGLU; HUGLU. TURKEY; MANUFACTURER OF SHOTGUNS + + + + + HummerImported by H & D Folsom + + + + + Bridgeport Arms Co.Brand name of Hunter Arms Co. + + + + + HuskyModel of Husqvarna + + + + + Hourat Et Vie + + + + + Golden BearModel of Howa + + + + + HawkenEarly rifle mfr. + + + + + HWP ENTERPRISES; MILWAUKEE, WI SLEDGEHAMMER REVOLVERS + + + + + Hy Score + + + + + Hyde + + + + + Hyper-Single + + + + + Industria Armi BrescianeMarcheno, Italy + + + + + Indian Arms Corp. + + + + + AGSee Galesi + + + + + Irwindale Arms Incorporated + + + + + Allen AmericanImported shotguns + + + + + International Antique + + + + + ArmotecniaMfr. of shotguns + + + + + IbargunModel of shotgun + + + + + Iberia FirearmsGalion, OH + + + + + S.I.A.C.E.; BRESCIA, ITALY + + + + + IndesolEibar, Spain + + + + + International Distributors + + + + + Investarm Fabrica D'Armi + + + + + I.G.A.Veranopolis, BrazilShotguns imported by Stoker + + + + + IMPERIAL GUN CO LTD SURREY EN + + + + + IG Destroyer + + + + + Inglis, JohnBrowning-type pistol + + + + + American BulldogBrand of Iver Johnson + + + + + IljaBrand of shotgun, mfd. by F. dade Escopatos + + + + + Illinois Arms Co. + + + + + ImbelShipped by Springfield Armory + + + + + I M METAL OZALJ, CROATIA + + + + + ImperialVarious mfrs. + + + + + I.M.I. (Israel Military Industries)Mfr. of Uzi semiautomatic machineguns + + + + + IMP (Imperial Metal Products)Mfr. of revolvers + + + + + I. N. A. (Industria National de + + + + + Intratec USA, Inc.Miami, FL -- Mfrs. Intratel(formerly Interdynamics) + + + + + IngramMfr. of machine guns + + + + + International Harvester + + + + + Indian Ordnance + + + + + Interarms, Ltd. (Interarmco)U.S. importer and mfr. + + + + + Interstate Arms Co.Mfd. by Crescent + + + + + Intercontinental ArmsImporter only + + + + + Invicta + + + + + InterdynamicConverts to machine pistolCompany closed December, 1984;for US models after 1984 seeMAK/ + + + + + InterordNashville, TN; formerlyInterordnance. Mfrs. US madecopy of (South Korean) DAEWOOmodel USAS-1 + + + + + Irwin-Pedersen Arms + + + + + IsraelCode by country if make cannot bedetermined + + + + + ISRAEL ARMS LTD + + + + + IshaporIshapore, India; state-ownedarsenal + + + + + ISRAEL ARMS INTERNATIONAL + + + + + Indian SalesImporter only + + + + + Desert EagleMfd. by Israeli Military Ind.Imported by Magnum Research + + + + + ItalyCode by country if make cannot bedetermined + + + + + Italo + + + + + ITM ARMS COMPANY AKA ITM TOOL & DIE; CLEVELAND, OH + + + + + I. G. I. (Italguns International) + + + + + CenturyShotgun, model of Ithaca + + + + + Industrial Technical MachineMade in Switzerland + + + + + IOWA TRIBE + + + + + IzhevskFormer Soviet arsenal. Mfr. IJ-18shotgun series + + + + + HamadaJapanese military arsenal + + + + + Jabe/Escopetas JabeMfr. of shotguns + + + + + Armi Jaeger/Armi JagerImported by Navy Arms Corp. + + + + + HeroldMfd. by Jager + + + + + Jerry's Gun & Ammo + + + + + Jannsen/Jannsen Sons & Co.Mfr. of shotguns + + + + + Jarmann + + + + + Joe B. SmithGlendale,CA + + + + + JERICHO FIREARMS + + + + + JCMMfr. of shotguns + + + + + Jennings Firearms Co.Chino, CA + + + + + Jenkins Special + + + + + Jennings Fine Tuning Inc.North Hollywood, CA + + + + + JGAMfr. of rifles + + + + + Guy T. JonesImporter only + + + + + Jackson Hole Arms Co.Jackson Hole, WY + + + + + JieffecoMade by Robes for Phoenix ArmsCo. + + + + + Jacquemart, J. + + + + + J-K ImportsU.S. importer + + + + + Jenks, WilliamMfr. of Civil War rifles + + + + + JLD Enterprises + + + + + J. C. Montgomery + + + + + Jimenez Arms + + + + + Jana International Co.Importer only + + + + + Joha + + + + + Johnson Arms + + + + + Johnson, Bye & Co.Predecessor of Iver Johnson + + + + + Johnston-TuckerMfr. of carbines + + + + + J's Pacific EnterprisePomona, CA; Mfr. of 1911 A-1 typepistols. Slides may be markedBrolin Arms. + + + + + John Pril FooteAlso known as J. P. Foote + + + + + J P Enterprises + + + + + J & R Engineering Co. + + + + + JRW SPORTS; EDGEWATER, FL + + + + + JOHNNY'S ARMORY MARGATE,FL + + + + + B. F. JoslynMfr. of Civil War rifles + + + + + Justice, P. S.Mfr. of Civil War rifles + + + + + Jukar + + + + + Just, Joset + + + + + John W. LinebaughMaryville, MO. + + + + + Kaltmann + + + + + Kappora + + + + + Kahout & Spol + + + + + Kawaguchiya Firearms Co. + + + + + ERNEST KAZIK MILWAUKEE WI + + + + + Kansas City Arms + + + + + KDF, Inc.Sequin, TXMfr. of Bolt action huntingrifles + + + + + Kendu + + + + + Kebler + + + + + Kerrco + + + + + KesslerMfr. of shotguns + + + + + KentuckianDistributed by IntercontinentalArms + + + + + Emil Kerner + + + + + Kessler Arms Corp. + + + + + Keystone Arms Co.Brand name of E. K. Tyron + + + + + KaffirSingle-shot shotgun + + + + + K and G Serviceshester,PA, maker of Ingram typemiautomatic firearms. + + + + + KHAN; ISTANBUL TURKEY + + + + + Kahr ArmsWorcester, MA; makes K9 9mm pistol. + + + + + Kimball Arms Co.Mfr. of pistols + + + + + Kimber + + + + + Kirtland Bros. + + + + + Kimel/Kimel Ind.Not associated with FirearmsInternational Corp. + + + + + Kirikkale (MKE) + + + + + Kjobenhauns Toihuus + + + + + KICKAPOO TRIBE + + + + + KnickerbockerMfd. by Crescent, American Gun Co.,and Stevens + + + + + HuskyModel of Krico + + + + + K. K. Snashin ShojukiMfr. of shotguns + + + + + Kelblys, Inc. + + + + + Klein Guenther + + + + + KOLAR ARMS RACINE, WI + + + + + North KoreaCode by country if make cannot bedetermined + + + + + Knight ArmamentVero Beach, FL; makes modernfirearms. + + + + + K. K. Nihon Ryoju Seike SeisakushoMfr. of shotguns + + + + + South KoreaCode by country if make cannot bedetermined + + + + + Kobra + + + + + Kobold + + + + + Kodiak Mfg. Co. + + + + + Kohnke Gun WorksRedwood Falls, MN; manufacturesblack-powder pistols. + + + + + KOLIBRI; REHBURG AUSTRIA; MAD BE GEORGE GABNER + + + + + Kokura + + + + + H. M. KolbMfr. of revolvers + + + + + Kommer, Theodor + + + + + H. Koon, Inc.Mfr. of Snake Charmer shotgunmodel + + + + + KorthMfr. of revolvers + + + + + Korea (prior to division of 1948)Code by country if make cannot bedetermined + + + + + KragMilitary weapons + + + + + J. H. KriderMfr. of Civil War rifles + + + + + Krepp + + + + + Krieghoff Firearms Co.Mfr. of shotguns and double-barrelrifles + + + + + KRINKS; NAPLES, FLORIDA M97 SPORTING RIFLES + + + + + Keystone Sporting ArmsMilton,PA, mfr's Cricket modelcal rifle + + + + + KBI, Inc.Harrisburg, PA; Kassnar BrothersInternational + + + + + KSN IndustriesManufacturer of Kareen Mark II 9mmpistol. Manufactured in KfarSaba, Israel. + + + + + Kel-TecCocoa, FL; 9mm pistol, part of CNCIndustries. + + + + + KTG Firearms + + + + + Kintrek, IncOwensboro, KY; mfrs .22 LR calibersemiautomatic rifle model KBP-1 + + + + + A. KrausserNot Iver Johnson + + + + + Keszler + + + + + J. H. Lau & Co.Importer only + + + + + LarandMfr. of silencers + + + + + Lanber Armas + + + + + LachaModel of shotgun + + + + + Ladies Pet + + + + + Lauf Pence + + + + + J. G. Landmann + + + + + F. L. (F. Langenhan) + + + + + Larose + + + + + Lampo + + + + + CenturianMfd. by Laurona + + + + + La France SpecialtiesMfrs. of pistols + + + + + LahtiMilitary weapons mfd. by Husqvarnaor Valtion Kivaari Tehdas + + + + + Harry Lawson Co. + + + + + LAZZERONI TUCSON,AZ MFR'S OF REVOLVERS + + + + + LobSingle-shot Pistols + + + + + Le Basque + + + + + Lebeau-Courally + + + + + Les Baer Custom IncorporatedLicensed in Millan and Hillsdale,ILCustom gunsmith, makes pistols. + + + + + LibertyShotguns mfd. by Hood Firearms Co.and Hopkins & Allen + + + + + Belleri, Luigi + + + + + LORCIN ENGINEERING CO, INC. FIREARMS, RIVERSIDE, CA + + + + + Lauer Custom Weaponry (Trade Name: LCW Mfg.) + + + + + Lenoir & Logue + + + + + Leader Dynamics + + + + + LebelMilitary weapons + + + + + J. Lloyd Lewis + + + + + Le Dragon + + + + + Lee Arms Co. + + + + + LefeverMfr. of shotguns + + + + + Lee Special/Lee's Munner SpecialImported by H & D Folsom + + + + + BritchModel of Lee Enfield + + + + + LefaucheuxImported + + + + + Left Destroyer + + + + + Le Fulgor + + + + + Legia Demontants + + + + + Le Majestic + + + + + Lefner + + + + + Le Martiny + + + + + Le Mat + + + + + Le Novo + + + + + Le Page + + + + + Le Protecteur + + + + + Le Rapide + + + + + Lepco + + + + + G. E. Lewismfr. of shotguns + + + + + Le Sane Parei/Le Sans Pariel + + + + + JubalaMfd. by Larranaga y Elartza + + + + + Lester, L. M. & G. H. + + + + + Le Tout Acier Duc + + + + + Lewes/LewisMachine guns + + + + + Lee's Firearms Co.Mfr. of Civil War rifles + + + + + LASAGABASTER HERMANOS EIBAR, SP + + + + + Hans V. Lidl + + + + + Little Pal + + + + + Liberty Arms Co.Mfd. by Rohm, Armalite, HerbertSchmidt, and Reck. Importer anddistributor + + + + + Lindsay Mfg. Co.Two-shot Civil War rifles + + + + + LignoseMfd. by A. G. Lignose + + + + + Little Tom + + + + + Lincoln + + + + + LiegeoiseMade by Robor & Co. + + + + + LIG (La Industria Guizpucoana) + + + + + Little All Right (palm pistol) + + + + + Lightning (pistol) + + + + + L.E. JURRAS & ASSOCIATES; PRESCOTT, ARIZONA + + + + + Ljungman + + + + + Ljutic Arms Co.Mfr. of shotguns + + + + + Lakefield Sales LimitedLakefield, Canada + + + + + CommancheModel of Llama + + + + + Lar ManufacturingWest Jordan, UT + + + + + Larranaga, MiguelMfr. of shotguns + + + + + Lames + + + + + Liviaoitl (Name stamped upsideCopy of .45 U.S. pistol + + + + + LEINAD DUCKTOWN,TN + + + + + Lobo + + + + + Loewe, Ludwig + + + + + Longines + + + + + Long Range Winner/Long Range WonderBrand of Sears & Roebuck + + + + + John P. Lower + + + + + Losada + + + + + Lovell Arms Co.Mfr. of custom rifles + + + + + Lowell Arms Co. + + + + + Loyola + + + + + LASSERRE S.A.; ARGENTINA + + + + + Leech & RigdonCivil War revolvers + + + + + Liberty Arms WorksWest Chester,PA; manufacturespistols. + + + + + LSA + + + + + L. E. S. Corp. + + + + + LONE STAR ARMAMENT; STEPHENVILLE, TX (DO NOT CONFUSE WITH '' LONE STARRIFLE COMPANY'' + + + + + LONE STAR RIFLE COMPANY; CONROE,TX; REMINGTON ROLLING BLOCK REPLICAS + + + + + Le Secours + + + + + Lucheni, Stefano + + + + + LATVIA + + + + + LithgowGovernment military arsenal + + + + + Lun Ebrug + + + + + LuchsgewehrfabrikMfr. of firearms + + + + + Lutetia + + + + + LugerVarious mfrs. + + + + + Luna + + + + + Deputy, L. A.Model of L. A. Fury + + + + + Luttick + + + + + FruhufMfd. by Lux + + + + + LUCZNIK METAL FACTORY ALSO SEE REFERENCE TO ZAKLADY METALOWE LUCZNIK RADOM, POLAND,LISTED UNDER MAK + + + + + Leitner Wise Rifle Co., Inc. + + + + + Lyman Gun Co.Percussion rifles and revolvers + + + + + LZH + + + + + LaszloImporter only + + + + + Le CayalierMfd. by Manufacture Automatiquesde Bayonne + + + + + Mannlicher/CarcanoMilitary weapons + + + + + MadsenMachine guns + + + + + Modele des Armes + + + + + La SalleMfd. by Manufrance + + + + + Hijos de Jorge BascaranMfr. of Marke and Martigry + + + + + Maltby & Henley + + + + + Mfg. D'Armes a Feu + + + + + Markwell Arms Co.Mfrs. of replicas of antiques + + + + + Massachusetts Arms Co.Brand of Stevens + + + + + Mannlicher + + + + + J. Manton & Co.Imported by H & D Folsom + + + + + Marksman ProductsMfr. of air guns + + + + + Ballard (Rifle)Model of Marlin + + + + + FA MASSee also M. A. S. + + + + + M. A. T. + + + + + AristocratRifle model of Mauser + + + + + MakarovSoviet military pistols + + + + + Marston, William M.Mfr. of Civil War carbines + + + + + MaximMachine guns + + + + + ArquebusierModel of Mayor + + + + + GyrojetMfd. by MB Associates + + + + + Marteau + + + + + M. A. C. + + + + + Game GetterModel of Marble + + + + + Mars (pistols)Various mfrs. + + + + + Maltby, Corliss & Co. + + + + + Merex Corp. GebruderDistributor of surplus weapons + + + + + Manchester ArmsLenor Tenn + + + + + Machine Crafters, Inc. + + + + + McLaughlin Gun Mfg. + + + + + Harris McMillan Gunworks, Inc.Phoenix, AZ; mfr. of custom boltrifles + + + + + Marcel Thys + + + + + AudaxBrand D'Armes des Pyrenees + + + + + Mfr. D'Armas de Fuego + + + + + AKMModel of Maadi + + + + + Mandall Supply Co.Importer + + + + + Manufacture Imperial de Mutzig + + + + + Mendoza + + + + + August Menz + + + + + Melina + + + + + Merwin & BrayMfr. of Civil War rifles + + + + + Mexican Model + + + + + Ajax ArmyMfd. by Meacham + + + + + Merkel + + + + + Meriden Firearms Co.Sears subsidiary + + + + + Federal Arms Co.Brand of Meridian + + + + + Mereilleux + + + + + Meteor RiflesVarious mfrs. Model 52 mfd. byStevens + + + + + CompetitionBrand name of John Meunier Gun Co. + + + + + MerveilleuxRepeating pistol + + + + + MercuryPistols & shotguns. Tradewindsbrand name + + + + + Fabrica de Armas Mexico City + + + + + Mitchel - MogalImporter + + + + + Mega Machine Shop, Inc. + + + + + Magnum ResearchMinneapolis, MN Imptr for IsraeliMilitary Indust., Tel Aviv,Israel + + + + + MagTech Recreational Products, Inc.Importers of CBC Products, Inc.shotgun of Brazil + + + + + MusgraveMfr. of rifles + + + + + Merwin & Hubert (M & H) + + + + + MATCH GUNS + + + + + Manhurin, S. A.French-made Walther + + + + + Mathieu Arms & DevelopmentMfr. of rifles + + + + + Midland Gun Co. + + + + + MEKANIKA INDUSTRIA E COMERCIO LTD + + + + + Madison Import Co.Imported only + + + + + Milady + + + + + Mieg, Armand + + + + + Minneapolis Firearms Co. + + + + + Mighty Midget + + + + + Michigan Armament + + + + + MIL IncorporatedPiney Flats, TN + + + + + Military Automatic + + + + + Minima + + + + + Diamond (Shotgun)Model of Miroku + + + + + Mississippi Valley Arms Co.Various mfrs. + + + + + MAC (Military Armament Corp.)Mfr. of Ingram submachine guns + + + + + Mikkenger Arms + + + + + M K BALLISTIC SYSTEMS HOLLISTER,CA + + + + + MK Arms, Inc.Irvine, CA + + + + + MKS Supply, Inc.Mansfield, OHMfg/dist for Haskell, High PointIberia, and Stallard Pistols + + + + + MK SPECIALTIES; GRAFTON, WV + + + + + M. L. + + + + + VYATSKIE POLYANY MACHINE BLDG PLANT (AKA MOLOT) + + + + + MexicoCode by country if make cannot bedetermined + + + + + Master Mag12 ga. shotgun + + + + + Monomac + + + + + Modern Muzzle Loading, Inc.Hastings, NB; makes muzzle loading,primitive ignition, black-powderin-lin + + + + + Mondial (blank pistols)Mfr. of starter guns + + + + + Renato MenegonBrescia, Italy; Mfr. rifle-shotguncombinations. + + + + + MORINI COMPETITION ARMS BEDANO, SWITZERLAND + + + + + Fritz Mann (Mann Werke) + + + + + Minnesota Arms Co. + + + + + Mentz + + + + + Mosin-NagantRussian military rifle + + + + + Montenegrin + + + + + MOA CorporationBrookville, OH + + + + + Mondragon + + + + + Hawthorne (Montgomery Ward)Brand sold by Montgomery Ward + + + + + Moneta-Guernica + + + + + Moore, William, & Co.Imported by H & D Folsom + + + + + Morley & Murphy Hdw. Co. + + + + + Morrisburg + + + + + Brownie (Pistol)Model of Mossberg + + + + + MonitorCommercial version of BAR. Variousmfrs. + + + + + Mt. Vernon Arms Co.Imported by H & D Folsom + + + + + Mowery Gun WorksMfr. of percussion rifles + + + + + MASTERPIECE ARMS, INC. CARROLLTON, GA + + + + + CommanderMfd. by Meiska Products Co.Not associated with Colt + + + + + Alex Martin, Ltd.Distributor/Importer + + + + + Merill Co.Mfr. of single-shot pistols + + + + + Gaulois Repeating PistolMfd. by Manufacture FrancaiseD'Armes et Cycles St. Etienne + + + + + Marochi & FigliMfr. of shotguns + + + + + MargolinHandgun model + + + + + MarocciniMfd. by Brescia + + + + + MarksBrand of Hunter Arms + + + + + J. H. Merrill & Co.Mfr. of Civil War rifles + + + + + Maverick ArmsEagle Pass, TXDerringer mfd. by Uberti + + + + + Merrimack ArmsNewburyport, MA + + + + + MearsModel of shotgun + + + + + Armas MarixaMfr. of shotguns + + + + + Modesto Santos (MS)Mfr. of shotguns + + + + + MSA + + + + + MarshwoodBrand of Charles Williams Store + + + + + Blue MallardModel of Masieri + + + + + Meiji Seika Kaisha + + + + + MATSAN; ISTANBUL,TURKEY ; MAKER OF DIAMOND BRAND SHOTGUNS.DO NOT CONFUSE WITH HATSAN ALSO FROM I + + + + + Man-StopperModel of Lancaster, Webley, andothers + + + + + Masquelier + + + + + Match MasterModel of M-S Safari Arms + + + + + MountaineerRifle, remanufactured Enfield + + + + + MatebaPavia,IT + + + + + Mitchell ArmsImported guns + + + + + MARATHON PRODUCTS, INC. + + + + + Mitchell Mfg. Corp. + + + + + Martini/Martini-HenrySingle-shot rifles + + + + + MTS + + + + + Manhattan Pocket Revolver + + + + + Marson, Samuel, & Co. + + + + + Maeleer + + + + + MusketeerRifle model of F. I. Garcia + + + + + Mueller + + + + + M.V.T. DiContento Eugenio + + + + + Mavi di Salvinelli + + + + + Maxwell ArmsMfr. of black powder guns + + + + + MaynardMfr. of Civil War rifles + + + + + Mayer & RiemMfr. of starter guns + + + + + Mayor & Sons + + + + + MarteModel of Muguruza + + + + + CosSee Merz Werke + + + + + North American ArmsMfr. of .225 single-shot Derringer + + + + + Nagant (Revolvers) + + + + + Naniwa Kogyo K. K.Mfr. of shotguns + + + + + Nashville Arms + + + + + Naval Company, IncorporatedDoylestown, PAUse NVL only when model is otherthan listed + + + + + ClaycoSee North China Industries + + + + + NOWLIN CUSTOM MFG. CLAREMORE,OK + + + + + NCP PRODUCTS, INC.; CANTON, OH MAKER OF MACH 1 SHOTGUN CROSS REFERENCEWITH MACH 1 FOR CODE PURPOSES + + + + + Artillerie InrichtigenMilitary arsenal + + + + + Hand EjectorModel of Neumann Freres + + + + + Newman BrothersDouble shotguns + + + + + New CarolinaModel of shotgun + + + + + New England Arms Co. + + + + + New England FirearmsGardner, MassachusettsTook over Harrington & Richardson + + + + + New EmpireBrand name of various manufacturers + + + + + Ned. Magaziji + + + + + New Liberty + + + + + Nemrod + + + + + Newton Arms Co. + + + + + Newport + + + + + NESIKA BAY PRECISION, INC. POULSBO, WA + + + + + Newton + + + + + NORTH FULTON ARMS LAWRENCEVILLE,GA + + + + + Nighthawk Custom + + + + + Mayer, N. H. (NHM)Mfr. of starter guns + + + + + King NitroVarious mfrs. + + + + + Niva + + + + + N.J.D. TACOMA, WA + + + + + Nihon Juho KogyoshoMfr. of shotguns + + + + + Budischowsky TP-70Model of Noramco + + + + + Nambu (Pistols)Military weapons + + + + + NorrahammarMfr. of rifles + + + + + American EagleBrand name of Noble + + + + + NordheimAlso uses name of Vono + + + + + North & Savage + + + + + National Ordnance, Inc.Mfr. of rifles + + + + + Norwich Lock Mfg. Co. + + + + + Norma + + + + + Norinco + + + + + Borealis (Brigadier W/Stock)Model of North American Arms + + + + + North, SimeonCarbines + + + + + Not Nac Mfg. Co.Mfd. by Crescent + + + + + Nouveau + + + + + Novamatic + + + + + Nopwich Arms + + + + + Noyo + + + + + Golden EagleMfd. by Nikko + + + + + NoricaMfd. by Norberto Arizmendi + + + + + Non-RayeBrand of shotguns + + + + + Norris & ClementMfr. of Civil War rifles + + + + + National Sports Products + + + + + Nighthawk FirearmsLorida,FL,mf's of M-10 type semi-tomatic frames. + + + + + Numrich Arms Corp. + + + + + Cutlass (Gun Kit)Brand name used by Navy Arms Co. + + + + + Naval Company + + + + + Norfolk, VirginiaShotguns, importer only + + + + + NorwayCode by country if make cannot bedetermined + + + + + NEW ENGLAND WESTINGHOUSE/REMINGTON + + + + + Nippon Yuki Co., Ltd.Mfr. of shotguns + + + + + Oddity Arms Co.Mfr. of knife pistols + + + + + Oak LeafVarious mfrs. + + + + + Oregon Arms LimitedProspect, OR. + + + + + Systema ObregonModel of Obregon + + + + + O'Brien Rifle Co. + + + + + Obregon + + + + + Ordnance Design Co. + + + + + O. D. I., IncorporatedMiddlepark, NJ + + + + + OSAGE NATION + + + + + Firearms Development Co.Mfr. of Omega rifles + + + + + Marubeni America Corp.Imports from Olin-Kodensha (Japan);trade name--Miida + + + + + OlympicBrand of various mfrs. + + + + + Olympia Pistole + + + + + OMBrand of Ojanguren y Marcaide + + + + + OMC "Back Up" + + + + + Omega (Handguns)Importer of handguns from Spain,Italy, and Germany + + + + + Onandia + + + + + OTOE-MISSOURIA TRIBE + + + + + OHIO ORDNANCE; CHARDON, OHIO + + + + + Iris, O. H. (Orbea Hermanos)Model of Orbea + + + + + Ordinanza + + + + + Oregon Arms, Inc. + + + + + DuanMfd. by Ormachea + + + + + Model D'Ordonnance + + + + + Deutsche Werke (Berlin)Pistols, see Ortgies + + + + + Oscilante-Azul + + + + + Osgood Gun Works + + + + + Osprey + + + + + Osteneichisha + + + + + Oterr-Sterr + + + + + Ordnance TechnologyStetson ME + + + + + ApacheMade by Ojanguren & Vidosa + + + + + O. W. A. + + + + + OwenSubmachine guns + + + + + Oyez + + + + + Palmetto ArmoryConfederate armory + + + + + Par & Case + + + + + Padre + + + + + Pretoria Arms FactoryPretoria,S.Africa, mf's PAFunior" (formally retired code) + + + + + Page-Lewis + + + + + Lee-Enfield Custom #1 or #4Model of Parker-Hale rifle + + + + + PAC (Pacific Arms Co.)Importer only + + + + + Pakistan Ordnance Factories + + + + + Paraga + + + + + ParamountMade by Spadozo, Apaolozo orRetolaza + + + + + Pagoma + + + + + Paragon + + + + + Parker/Parker Bros.Mfr. of shotguns + + + + + Parkhurst, William + + + + + PAWSFor additional information, seePolice Automatic Weapons Service. + + + + + H. O. PeabodyMfr. of Civil War rifles + + + + + Cap-ChureMfd. by Palmer Chemical and Equip-ment Co., Inc., Douglasville, GA + + + + + Pachmayr Gun Works + + + + + Mountain Arms Co.Mfr. of Precision Ind. + + + + + Mitraillette VigneronMfd. by Precision Liegeoise S. A. + + + + + Pasadena FirearmsImporter + + + + + Pneu-Dart,Inc.Tranquilizer guns + + + + + Perfect + + + + + PedersoliMfr. antique muzzle-load percussion + + + + + Perrin + + + + + PelicanTrademark of Olgilvie Hardware + + + + + PenguinMfr. of tear gas guns and distresssignals + + + + + Peote + + + + + Alonzo D. Perry + + + + + Precision Small Parts (PSP)Charlottesville, VA; mfg. of PSP-25 + + + + + Paxton & Gallegher (P & G) + + + + + PERUGINI VISINI; BRESCIA, ITALY + + + + + PGW + + + + + Phoenix Arms Co.Mfr. of pistols + + + + + PHILLIP AND ROGERS + + + + + DecaturImporter of Precise Imports Co. + + + + + FlobertMfr. of Pistolet Flobert + + + + + Friedrich Pickert + + + + + Pacific InternationalDistributor + + + + + Jaeger, Paul + + + + + PJK , INC.; BRADBURY, CALIFORNIA (DO NOT CONFUSE WITH (PJK-FEG IN HUNGARY) + + + + + Powell Knife/Pistol Co.Tuscon,AZ,mf's PKP knife-pistol + + + + + Parkington & Richardson + + + + + Plant's Mfg. Co. + + + + + PalmettoMarking on Tryon rifles + + + + + PlymouthVarious mfrs. + + + + + Plainfield Machine Co.Mfr. of commericial M1 carbines + + + + + Pistole M. 37 or M. 29Military pistol + + + + + Pistole Modell 27Military pistol + + + + + PHELPS MANUFACTURING, CO. EVANSVILLE, IN + + + + + PremierMfr. of shotguns + + + + + PONCA TRIBE + + + + + Penn ArmsPunxsutawney,PA,mf's of Striker 12otguns (classified as destr.vice) + + + + + PrinceVarious mfrs. + + + + + Peregrine IndustriesHuntington Beach, CA + + + + + J. C. PenneyUse PNY only when model is otherthan listed + + + + + PolandCode by country if make cannot bedetermined + + + + + Police Ordnance Co.(Machine Gun + + + + + Para Ordnance + + + + + Patriot Ordnance U.S.A. (Doing Business As POF) + + + + + Powder Horn + + + + + Polain, Prosper + + + + + Pompeya + + + + + Lucius W. Pond + + + + + POS (Pride of Spain)Mfr. of shotguns + + + + + Polytechnologies + + + + + Powell + + + + + PowermagImported by Herter, various mfrs. + + + + + Pony + + + + + PPI DUCKTOWN,TN MFG OF POCKET PAL + + + + + PardiniImported by Fiocchi + + + + + E. A. Prescott + + + + + PerfectaMfr. of starter pistols + + + + + Progress + + + + + Professional OrdnanceOntario,CD,mf's polymer frames andrearms. + + + + + Prima + + + + + ParagonBrand of Stevens and Hopkins &Allen + + + + + ProtectorVarious mfrs. in both Spain andU.S. + + + + + Protector Arms Co. + + + + + PatriotManufacturer of Partisan AvengerMfd. by Bliss & Goodyear + + + + + PerazziMfr. of shotguns + + + + + PETER STAHL PADERBORN, GERMANY + + + + + Pirlot/Pirlot Freres + + + + + James Purdey & SonsRifles and shotguns + + + + + PuppySpanish mfr. was FranciscoArizmendi and various other mfrs. + + + + + PAWNEE TRIBE + + + + + PWA (Pack West Arms)Manufactured in Milan, Illinoisand assembled in Spokane,Washington + + + + + PZK + + + + + H. M. Quackenbush + + + + + Quan-Doi Cao-DaiMilitary weapons + + + + + Quan-Doi Quoc. Gia. L. M.Military weapons + + + + + Ran + + + + + Replica Arms Co.Marrietta, OH + + + + + Radom + + + + + RAPID FIRE TROY, OH + + + + + Ramo, IncorporatedAntioch, TN + + + + + Texas-Ranger-Frontier + + + + + Rapid-Maxima + + + + + Raymond & Robitaille + + + + + Rast & Gasser + + + + + Ratmil + + + + + Raven Arms Co.Mfr. of handguns + + + + + Rayon + + + + + ROBAR CO INC PHOENIX,AZ + + + + + R. B. IndustriesFraser, MI + + + + + Rubi + + + + + Robbins & Lawrence + + + + + MeloirMfd. by Robar et Cie + + + + + RoubyMfr. of electric shotguns + + + + + ChicomAbbreviation for Chinese Communist + + + + + Reck + + + + + Robar et DekerkhoveEarly mfr. of rifles + + + + + Renegade + + + + + Record Match Pistols + + + + + Red ChieftanBrand of Stevens, various mfrs. + + + + + GENE REISING COMPANY + + + + + James Reid + + + + + E. M. Reilly & Co. + + + + + FieldmasterMfd. by Remington Arms + + + + + Republic + + + + + BenemeritaBrand of Retolaza + + + + + Revelation + + + + + Revelli + + + + + RexVarious mfrs. + + + + + Roberts Firearms ManufacturingOssian, IN + + + + + REynolds, Plant, & Hotchkins + + + + + Armee ModelMfd. by Roth Gasser + + + + + Galesi, RinoMfd. by Rigarmi + + + + + RG (With Numbers)See RG Industries reference + + + + + Ranger Arms, Inc.Mfr. of rifles + + + + + Rohrbaugh Firearms + + + + + MorroneModel of Rhode Island Arms + + + + + Rhoner/Rhonie + + + + + Richards, W.Imported by H & D Folsom + + + + + Richland Arms Co.Importer + + + + + Rigaud + + + + + John Rigby & Co. + + + + + Rival + + + + + RioPercussion pistols + + + + + R. J. BravermanMeredith, NH; manufacturer of penpistol. Originally sold byAmerican Derringer. + + + + + Ram Line, Inc. + + + + + R. M. A. C. (Rocky Mountain Arms + + + + + ROMARM/CUGIR AK TYPE RIFLES + + + + + DreyseMfd. by Rheinische Metalwaren + + + + + L. Romano Co., Inc. + + + + + Remo + + + + + RAMPRO CORPORATION WILMINGTON,NC + + + + + ROCKY MOUNTAIN ARMS, INCORPORATED + + + + + Ranger Machine & Tool (RMT)Mfr. of frames only + + + + + Randall Mfg. CompanyCalifornia + + + + + ROBINSON ARMAMENT COMPANY SALT LAKE CITY, UT + + + + + R B Rodda + + + + + Rogers & SpencerCivil War revolvers + + + + + Roth Frommer + + + + + Roger + + + + + Romer/Romerwerk + + + + + Rock Island ArmoryCommercial mfr.--do not confusewith Rock Island (military)Arsenal + + + + + Red Jacket + + + + + Rogak, Inc.9mm semiautomatic pistol,Skokie, IL + + + + + Big DBrand name of Rhoem Gesellschaft + + + + + Rollin White Arms + + + + + Rock Pistol Mfg. + + + + + Ross Rifle + + + + + Roth-Sauer + + + + + Routledge Mfg. Co. + + + + + Royal ServiceVarious mfrs. + + + + + Rosebush, Waldo + + + + + Royal Gun Co. + + + + + Royal Small Arms + + + + + Republic Arms IncChino,CA + + + + + RPB Industries + + + + + Phillip Clay RoettingerMfr. of rifles + + + + + ROCK RIVER ARMS CLEVELAND,IL + + + + + Riedlt Rifle Co.Mfr. of single-shot rifles + + + + + ROGUE RIFLE CO. PROSPECT,OR + + + + + Rome Revolver & Novelty Co. + + + + + R & R ENTERPRISES JEFFERSON, SD + + + + + Arsenal CompanyPrivate firm; Mfr. of pistols. + + + + + REPUBLIC ARMS OF SOUTH AFRICA JEPPESTOWN,SA + + + + + Roth-Steyr + + + + + ROMTEHNICA + + + + + Ranch & Silva (RTS)Also starter guns + + + + + Ruby Arms Co. + + + + + NeroMfd. by Rupertus + + + + + Rural + + + + + Russo-Chinois + + + + + Rival + + + + + RWS/DianaMfr. of airguns + + + + + Rexio S. R. L. + + + + + Royster Armament + + + + + Ryan, E., Pistol Mfg. Co. + + + + + NapoleonMfd. by Ryan + + + + + BATTISTA RIZZINI; ITALY + + + + + RaznoShotguns + + + + + Sabatti & Tanfolglio + + + + + S. A. Automatique + + + + + S. A. C. M. + + + + + Sanders + + + + + Sanderson + + + + + Sabatier + + + + + S. A. G. M. or S. A. G. E. M. + + + + + St. Hubert + + + + + St. Louis Arms Co.Imported by Folsom for Hunter Arms + + + + + FinnbearModel of Sako + + + + + Sarmco + + + + + Sangenhau + + + + + St. Gotthardt + + + + + Sporting Arms Mfg.Littlefield, TX + + + + + Felix Sarasqueta & Co.Mfr. of shotguns + + + + + DestructorModel of Salaverria + + + + + Sahsho Ltd. + + + + + Model B-63Model B-64Model B-65CModel B-68Model B-963Model B-967 + + + + + AgnerSee Saxhoj Product + + + + + S. A. (Suinaga y Aramberri)Mfr. of revolvers, see also VictorAramberri & Sons + + + + + SHINBISHA; JAPAN MAKER OF SHOTGUNS + + + + + Armi SabattiMfr. of shotguns + + + + + SERBU FIREAMS, INC. TAMPA, FL + + + + + Kaschie (Karl Schieder)Mfr. of derringers + + + + + Schoulhof, Wien + + + + + A. W. Schwarzlose + + + + + Schintad + + + + + Shin Chuo Kohyo, K. K.Mfr. of shotguns and pistols + + + + + Schultz/Larsen + + + + + SchmeisserMfd. by C. G. Haenel, Erma andothers + + + + + Schonberger + + + + + Scorpion + + + + + Schmidt-RubinSwiss military rifle + + + + + BisonBrand of Herbert Schmidt + + + + + Scott Arms Co. + + + + + Scout + + + + + Security Industry of America, Inc.Handguns + + + + + Saco DefenseSaco,ME,mf's Desert Eagle Pistolsr Magnum Research and someatherby Rifles. + + + + + Stallard Arms + + + + + Sucesor de e Guisasola + + + + + Sabre Defense Ind., LLC + + + + + Spider Firearms + + + + + R. F. Sedgley, Inc. + + + + + Sedco IndustriesLake Elsinore, CA + + + + + Johann Springer's ErbinMfr. of shotguns + + + + + Simson + + + + + Semmerling Corp.Mfr. of handguns + + + + + Handi-GunMfd. by Serna + + + + + Seecamp, L. W.Milford, CT + + + + + S. E. A. M. + + + + + Sears Roebuck & Co.Use only when mfr. is unknown + + + + + SpescoVarious mfrs. + + + + + Sentinal ArmsRideway, PA + + + + + South AfricaCode by country if make cannot bedetermined + + + + + Freses Ames SchroederDistributor + + + + + Sheriff's Model + + + + + Safety Harbor Firearms + + + + + SHAN DONG FIRST MACHINERY COMPANY, CHINA + + + + + Sterling ArmsMfr. of handguns + + + + + LH Gun Co.Springfield Armory M1A + + + + + Stag Arm + + + + + STINGER MANUFACTURING CORPORATION; SAULT ST. MARIE, MI; PENGUNS ETC + + + + + STAN'S GUNSMITHING SERVICE WEBSTER,NH + + + + + State Arms Gun Co.Waunakee, WI; Mfr. of rifles -Klaus Horstkamp. + + + + + SGW EnterprisesMfr. of frames only + + + + + C. Sharps & Co. (Sharps & Sons) + + + + + Old ReliableMarking on Sharps Borchardt rifles + + + + + C. S. Shattuck Arms Co. + + + + + Shadow/Shadow IndyModel of shotguns + + + + + KnockaboutModel of Sheridan + + + + + Sheffield + + + + + Schuyler, Hartley, & Graham + + + + + Schilling + + + + + Sharps & HankinsCivil War carbines + + + + + SchimelGas/air pistol + + + + + August SchnleAlso see Reform + + + + + Shapleigh Hardware Co.Distributor of shotguns + + + + + Shue's Special + + + + + SchoverSingle-shot rifles + + + + + S. I. A. + + + + + Sickles Arms Co. (Sickles & + + + + + Sierra Arms Co. + + + + + HammerliMfd. by S. I. G. + + + + + Springfield FirearmsSpringfield, MA + + + + + Sile Distributors, Inc. + + + + + Simmons + + + + + SingerMfd. by Francisco Arizmendi andFrantisek Dusek + + + + + Sirkis Industries, Ltd. + + + + + Sivispacem + + + + + Sites SpecterRamat-Gan, Israel + + + + + SimonovSoviet AK rifles + + + + + SEMINOLE NATION + + + + + AthenaSKB Firearms Company + + + + + Shiki (Copy Mauser M. P.)Shanghai Arsenal + + + + + Shinkosha + + + + + Skoda + + + + + SILAH MAKINA KLIP SAN, TIC, LTD. IZMIR TURKEY;TRADENAME HATSAN + + + + + Specialty ArmsMfd. in Springfield, OH + + + + + Solingen CutleryImporter, see Liberty Arms + + + + + Salford Imports + + + + + Shiloh Products (Sharps Rifle)Mfr. of custom rifles + + + + + STORM LAKE MACHINE INC. LENOIR CITY,TN + + + + + Steel City ArmsPittsburgh, PA + + + + + SLLR + + + + + Slavia + + + + + SmimuraDistributor + + + + + BakerBrand name of L. C. Smith Gun Co. + + + + + Steelville Mfr. Co. + + + + + Saeilo Mfg., Ind. + + + + + Smith (not Smith & Wesson) + + + + + Smok + + + + + Otis A. Smith + + + + + SHOOTERS ARMS MANUFACTURING (S.A.M.) PHILIPPINES + + + + + John M. Smythe Mdes. (or Hdw.) Co.Various mfrs. + + + + + SimplexImported by Stoeger + + + + + Smith-SonianMfd. by Crescent or Harrington &Richardson + + + + + Smith Manufacturing CompanyHolland, OH + + + + + SarsicmazMfr of shotguns + + + + + FRANCESCO SERENA; MAINLY MARKED SERENA; ITALY + + + + + Santa BarbaraRifles, imported by ConnecticutValley Arms + + + + + Sendra Corporation + + + + + Sundance IndustriesN. Hollywood, CA + + + + + StanleyImported by H & D Folsom + + + + + SAN MARTIN; EIBAR SPAIN + + + + + Shinn-A-SipjaSeoul, South Korea + + + + + SMITH ENTERPRISES TEMPE,AZ SEMI-AUTO M14 STYLE RIFLES + + + + + Scheintod/ScheintotMfr. of handguns + + + + + STANDARD ARMS OF NEVADA RENO, NV; NOT SAME AS STANDARD ARMS COMPANY (STD) IN DELAWARE + + + + + Societe Anonyme + + + + + Societe D'Armes + + + + + Franz SodiaMfr. of shotguns + + + + + SOKOLOVSKY CORP. SUNNYVALE, CA + + + + + Solway + + + + + Solothurn + + + + + Stanley Tool Co. (The Stanley + + + + + Soper + + + + + Guilio Sosso + + + + + SOUTHWEST MANUFACTURING CHANDLER,AZ + + + + + Espanola (or Spain)Code by country if make cannot bedetermined + + + + + Spiller & BurrCivil War revolvers + + + + + Standard Products Co.Mfr. of military-style carbines + + + + + SpandauRoyal arsenal + + + + + Special Service + + + + + Sport Arm of Florida + + + + + Spencer RifleCivil War military + + + + + Spanish American War VintageSpringfield Armory, Springfield, IL + + + + + Spirlet + + + + + San PauloBrand of shotgun (Mfr. unknown) + + + + + SportsmanNames of Harrington & Richardson,Crescent, and various other mfrs. + + + + + Sportco + + + + + Sportarms + + + + + Spencer Rifle Co. + + + + + Springfield Arms Co.Name used by Crescent, Savage, andWarner Arms Corp. + + + + + Spesco Corp.Importer and mfr. + + + + + CYQ"CYQ" is coding on Spreewerk guns + + + + + Sphinx Engineering, SAFormer ITM + + + + + SwedenCode by country if make cannot bedetermined + + + + + Bingham, Squire'sMfd. by Squibman + + + + + BearcatModel of Sturm, Ruger & Co. + + + + + Sporting Arms Co.Mfr. of shotguns + + + + + Charles Steen Armament Co. (Sarco)Importer + + + + + SARDIUS INDUSTRIES + + + + + Spitfire Mfg. Co.Police carbines + + + + + Serrifile, Inc.Lancaster, CA + + + + + Shilen Rifles, Inc.Mfr. of custom rifles + + + + + StormSingle-shot rifles + + + + + SternStarter guns + + + + + Saraquesta, VictorMfr. of shotguns + + + + + SERITSAN_ ISMIR, TURKEY + + + + + Service Armament Co.Importer + + + + + Sampson Mfg. Corp. + + + + + SitesBrescia, Italy + + + + + Schmeisser & Simpson + + + + + K-MartUse only when mfr. is unknown + + + + + Silma Sporting GunBrescia, Italy + + + + + Abiline MarshalMfd. by J. P. Sauer & Sons + + + + + Secret ServiceMfd. by Howard Arms, U.S. RevolverCompany, and several others + + + + + Acme Arms Co.Subsidiary of Stevens + + + + + Bonifacio EcheverriaSee Star + + + + + Staggs Bilt ProductsSerial numbers 1 thru 2000 + + + + + Standard Arms Co. + + + + + Mannlicher-SchoenauerMfd. by Steyr + + + + + Stillers Precision Firearms + + + + + STINGER MANUFACTURING CORP.; PENGUNS + + + + + Strayer Tripp, International + + + + + Striker 12Similar to Streetsweeper 12-gaugeshotgun + + + + + Grant, Stephen, & Joseph Land, Ltd. + + + + + SterlingSubmachine guns + + + + + Starr Arms Co.Mfr. of Civil War carbines + + + + + StenSubmachine guns + + + + + Franz StockMfr. of shotguns and pistols + + + + + Albin Wall + + + + + A. StroegerDo not confuse with Stoeger Arms + + + + + Scotti + + + + + Australian Automatic ArmsTazmania, Australia + + + + + Eugene StonerDesigner of Stoner Weapons System + + + + + Stewart + + + + + Alexander Stocking & Co. + + + + + Stanley Arms Co. + + + + + Stoeger ArmsImporter; France, Germany and Spain + + + + + Sudarev + + + + + SuperiorVarious mfrs. + + + + + Harold Sunngard + + + + + SuomiMfr. of submachine guns + + + + + Super Destroyer + + + + + Survival ArmsMaker of AR-7 rifle (Post-1991) + + + + + Shoeless Ventures, Inc., or FAB-10 + + + + + Strayer-VoigtGrand Prairie,TX mfr's of pistolsAustin, TX; manufactures Colt1911 clone, "Model 2011" + + + + + BodyguardModel of Smith & Wesson + + + + + Cobray FirearmsSmyrna, Ga + + + + + Swift Mfg. Co. + + + + + Sterlingworth II + + + + + SPECIAL WEAPONS LLC TEMPE, AZ; H&K TYPE WEAPONS + + + + + SELECT WEAPON SYSTEMS, INC. WALNUT CREEK,CA + + + + + Special Weapons and Individual + + + + + KalashnikovDesigner of Soviet AK machine gun + + + + + Syco Double Hammerless + + + + + LiraMfd. by Systema La Lira + + + + + SympathiqueMfd. by Manufacture D'Armes desPyrenees + + + + + Syracuse Forging Co.Succeeded by Baker Gun Forging Co. + + + + + Pistolet Auto. Francais UnionMfd. by Seytres + + + + + SwitzerlandCode by country if make cannot bedetermined + + + + + T. A. C. + + + + + Taico + + + + + GauchoModel of Tala + + + + + CaribouRifle model of Tampereen Asepaja + + + + + FalconTrade name of Spesco; mfd. byTaurus + + + + + Tatra + + + + + Texas ArmoryWaco, TX; makes derringers. + + + + + Brown Bess (Tower)Replica + + + + + TiberSingle-shot pistols + + + + + Bland, Thomas, & Sons + + + + + TECHNO ARMS + + + + + "International" PoliceStainless .357 revolvers + + + + + Traditions, Inc.Importers of Spanish black-powderfirearms + + + + + Thermo Dynamic SystemsMfr. of handguns + + + + + Teis + + + + + Ten StarImported by H & D Folsom + + + + + Teuf-TeufHandgun model + + + + + Texas Ranger + + + + + Fabrica D'Armi F. Lli TanfolglioMfr. of revolvers + + + + + THE TRIANGLE GUN CO; HUNGARY + + + + + Tokyo Gas & Electric + + + + + Tiger (Shotgun)Imported by H & D Folsom + + + + + The Triangle Gun Co. + + + + + Three G. Ordnance + + + + + ThailandCode by country if make cannot bedetermined + + + + + Thames Arms Co.Brand of Harrington & Richardson + + + + + American, The + + + + + J. Thomas + + + + + ContenderMfd. by Thompson Center + + + + + Three Barrel Gun Co. + + + + + Thayer, Robinson, & Cary + + + + + Fox CarbineModel of Tri-C-Corp + + + + + TALON INDUSTRIES, INC. ENNIS, MT + + + + + Tingle + + + + + Tippman Arms Company1/2 scale reproduction of Browningmachine gun, .22 caliber; FortWayne, IN + + + + + TisanMfd. by Salaverria + + + + + Tiwa + + + + + Tokyo Arsenal + + + + + FinlandiaModel of Tikka. Imported by F. I.Garcia + + + + + Texas Longhorn ArmsRichmond, TX + + + + + Golden West (Talon) + + + + + FellingSauke Center,MN + + + + + TEL-TEC + + + + + Titan Manufacturing Corp.Bought by F. I. E. in 1968 + + + + + Techniarm Metal Products + + + + + TNI + + + + + T N W TECHNETWORK VERONIA,OR + + + + + Tobin Arms Mfg. Co. + + + + + TOC Inc. + + + + + Buffalo ScoutMfd. by Francisco Tanfolglio;inscribed "Made in Italy" + + + + + Tobin SimplexMfr. of revolversRevolvers + + + + + Taiyo-JukiMfr. of shotguns + + + + + Toledo Firearms Co. + + + + + Thomas Arms Co. + + + + + TonoliniModel 440 Shotgun + + + + + Torpille + + + + + Torkelson Arms Co.Mfr. of shotguns + + + + + American BoyBrand name of Townley Metal Co. + + + + + Triple-S Development Co. + + + + + Traps Best + + + + + TRC + + + + + Trade + + + + + Tranter, William + + + + + Traff + + + + + Trejo + + + + + Trocaola, Aranzabal + + + + + TriompheMfd. by Apalozo + + + + + Trico + + + + + Trent Metal Industries + + + + + Tripp ResearchMaker of plastic replacement framesfor Colt 1911 style pistols + + + + + Tru-Test + + + + + Triplett & Scott + + + + + TradewindsImporter only, code for mfr. ifknown + + + + + TirmaxAutomatic loading rifle + + + + + Edward Tryon & Co.Distributor only + + + + + TSModel of shotgun + + + + + Texas Automatics + + + + + Top Snap ChampionBrand of Great Western Arms Corp. + + + + + Triumph Sports Distributor + + + + + Texas Sesquicentennial + + + + + TACTICAL SOLUTIONS, LLC; BOISE, ID + + + + + TaserFires electrically charged darts + + + + + Ttibar Pistola + + + + + TTI International + + + + + TRESSITU + + + + + Arsenal de Tula + + + + + Tue-Tue + + + + + Taiwan, Republic of ChinaCode by country if make cannot bedetermined + + + + + TWIN PINES, PHILIPPINES + + + + + "Tower" Brown BessPre-revolutionary war Britishmilitary weapons plant + + + + + TurkeyCode by country if make cannotdetermined + + + + + Tyrol (Rifle)Early name for Voere, also seeDumoulin + + + + + Bostwick BraunShotguns mfd. by Union Arms Co. + + + + + U. A. E. (Union Armera Eibar) + + + + + Aldo UbertiMfr. of revolvers + + + + + U. C. + + + + + Ignacio Ugartechea + + + + + Martin Ugarteburu + + + + + Ultra Light ArmsGranville, WV + + + + + Ultra Hi + + + + + ULTIMATE ACCURACY LONOKE, AR; .50 CALIBER RIFLE + + + + + Umarex + + + + + UnionVarious mfrs. + + + + + Uncle Sam + + + + + CorsairModel of Unique + + + + + Union/Union I + + + + + Unis + + + + + Unique + + + + + Auto-WingShotgun model of Universal + + + + + UplanderShotgun model + + + + + Urrejola + + + + + RenoModel of Uriguen + + + + + PremierMfd. by Tomas de Urizar y Cia + + + + + UrkoMfr. of rifles and shotguns + + + + + U.S.Use if nonmilitary-issue and gundoes not display make or modeland is manufactured in the U.S. + + + + + Aircraft Armaments Corp. + + + + + Union Sales Co. + + + + + United States Fire-Arms Mfg., Inc. + + + + + ULTRAMATIC SPORTWAFFEN G.M.B.H. + + + + + U.S. Arms & Cutlery Co. + + + + + U.S. ORDNANCE SPARKS, NV + + + + + El DoradoBrand name of United Sporting Arms + + + + + United States Arms Corp. + + + + + Utica + + + + + Spitfire-Super 777Starter gun mfd. by Uniwerke + + + + + UZISemiautomatic; imported Action ArmsPhiladelphia, PA + + + + + Uzumlu Arms + + + + + Vainqueur + + + + + Valiant/Valiant RifleVarious mfrs. + + + + + EraBrand of Valmet + + + + + Vandalis + + + + + ValorImporter of EMGE and Rohm + + + + + Varmeter + + + + + TompkinsModel of Varsity + + + + + Dynamic (Shotgun)Imported by Virginia CapesImporters + + + + + VOLQUARTSEN CUSTOM LTD + + + + + Vulcan Arms, Inc. + + + + + Verney Carron USA, Inc. + + + + + VedettSee Rouby + + + + + Velobrom + + + + + Velomith + + + + + Vergo + + + + + VetterliMilitary weapons + + + + + VegaDistributed by PI?C & Eddy Mfg. Co. + + + + + Vici + + + + + Vickers-Armstrong.30 caliber machine guns + + + + + Vilar + + + + + VictorVarious mfrs. + + + + + ViperSee Baby Hammerless + + + + + Tehdas + + + + + VOLBrand name of Blumenfield Imports + + + + + VolcanicModel of starter guns + + + + + Valkyrie Arms, Ltd. + + + + + VulcanMfd. by Pfanni + + + + + VM Hy-Tech, LLC + + + + + VERONA; ITALY + + + + + Vinceta y Cia + + + + + Verchrmont + + + + + Black ForestModel of Voere rifles + + + + + Valley Ordnance, Inc.Mfd. for Springfield Armory, Tx + + + + + Commando MK IIISemiautomatic carbines, seeVolunteer Enterprises + + + + + Volcanic Repeating Arms Co. + + + + + Vector Arms + + + + + Varner Arms + + + + + VorenbachMfr. of rifles + + + + + VASP (Visser Assault Pistol)Mfd. by Harwick Air Controls + + + + + ValtroCarcina,IT mfr's of shotguns + + + + + VEKTOR PRETORIA,SA + + + + + Vulcain + + + + + VURSAN; ISTANBUL, TURKEY + + + + + Virgin Valley Custom Guns + + + + + Western Arms Corp. + + + + + Warner-Counet + + + + + Walch Firearms Co. + + + + + Don Austin WagenknechtGrandview,MO + + + + + Armee (Pistol)Model of Walther + + + + + HamiltonModel of Whamo + + + + + Dunlap Special (Pistol)Model of Warner Arms Co. + + + + + Warren Arms Corp.Imported by H & D Folsom + + + + + Warrior PistolsImported by Laszio + + + + + AmelungModel of Warnant + + + + + Wautauga + + + + + Web Arms + + + + + Ward BurtonMfr. of Civil War rifles + + + + + WYANDOTTE TRIBE + + + + + WEI DONG MANUFACTURING; CHINESE + + + + + Weher + + + + + Roy WeatherbyMfr. of rifles and shotguns + + + + + G. S. Webber + + + + + Webley-FosberyAutomatic revolvers + + + + + Werder Lightning + + + + + Wesson & Harrington + + + + + Herman WeihrauchMfr. of Arminius + + + + + Frank Wesson + + + + + Wegria-Charlier + + + + + Wesson, Stevens, & Miller + + + + + Western MarshalMfd. by Sauer and various othermfrs. + + + + + Dan B. Wesson ArmsWent out of business. Now knownas Wesson Firearms Co., Inc. + + + + + Weaver Arms + + + + + Richards, WestleyImported by Harrington & Richardson + + + + + Western Valley Arms + + + + + Waffen Franconia + + + + + West, Federal Republic of GermanyCode by country if make cannot bedetermined + + + + + Whitneyville Armory + + + + + Lightning ModelSame as Wolverine + + + + + WhippetVarious mfrs. + + + + + Wilshire Arms Co. + + + + + Wichita ClassicBolt action rifle + + + + + Wedmer + + + + + Wischo (K. G. Wilsker & Co.)Importer + + + + + Ted WilliamsSold by Sears. Number appearingthereon is possibly Searsinventory control number rathert + + + + + WinfieldPistols only + + + + + Winfield Arms Co.Shotguns made by Crescent + + + + + Winslow Arms Co.Long guns + + + + + Olin-Mathieson Corp.Mfd. by Winchester + + + + + Wilkar Products, Inc. + + + + + Winco Arms Co. + + + + + Wiltshire Arms Co.Imported by H & D Folsom + + + + + Witte's IXL + + + + + Wildey Firearms CompanyWinston, NJ + + + + + W J JEFFERY & COMPANY, LTD.; ENGLAND + + + + + Diane (Pistol)Model of Wilkinson Arms Co. + + + + + Wilkinson & SonsAlso see Webley + + + + + WILSON COMBAT BERRYVILLE, AR + + + + + Falke/Falke World ArmsMfd. by World Arms Corporation + + + + + Walker + + + + + Wilmont Arms Co.Imported by H & D Folsom + + + + + Wesson & LeavittMfr. of Civil War revolvers + + + + + Winfield Arms Co.Importer only + + + + + Winkler-FerlackMfd. in Germany + + + + + Wichester + + + + + Wesco Ordnance, Division of B-C + + + + + E. Woerther + + + + + Wolf + + + + + James Woodward & Sons + + + + + Worthington Arms Co.Mfd. by Crescent & various othermfrs. + + + + + Werndl + + + + + ScottMfd. by Webley & Scott + + + + + Watson Brothers + + + + + Stenda/Stenda WerkeWaffenfabrik-Stenda Werke + + + + + WICHITA TRIBE + + + + + WITNESS P; GREY GHOST MODEL + + + + + Whitworth Rifle Co. + + + + + E. WhitneyEarly mfr. of rifles + + + + + WurffleinMfr. of rifles + + + + + Weiner Waffenfabrik + + + + + Wiener Waffenfabrik + + + + + Wyoming Arms + + + + + XLCRVarious mfrs. + + + + + X-Ploraco of Texas, Inc.Automatic weapons + + + + + ExpertBrand of Crescent + + + + + XIN SHAI DAI; CHINESE + + + + + Young AmericaImported by George E. Rose Co. + + + + + YatoMfd. by Hamada Arsenal + + + + + YugoslaviaCode by country if make cannot bedetermined + + + + + Yamamoto Juho SeisakushoMfr. of shotguns + + + + + Yildiz Sanayi + + + + + York CutleryImporter of Armalite and EMGE + + + + + YorkVarious mfrs. + + + + + Yovanovitch + + + + + Firearms Co.Mfr. of rifles + + + + + Ascensio Zabala + + + + + NOC-A-BOTMfd. by Zabala Hermanos + + + + + Zamacola Hermanos + + + + + Custom ModelShotgun, model of Zanotti + + + + + Z Aut. Pistole + + + + + CorlaModel of Zaragoza + + + + + Zastaza (Zavodi Crevena)Mfr. of rifles + + + + + Zavady Jana SvermyMfr. of shotguns + + + + + ZayreUse only when mfr. is unknown + + + + + Z-B + + + + + Zebra + + + + + Emil Zehner (Suhl)Mfr. of pistols + + + + + Zella + + + + + ClaybirderModel of Zephyr + + + + + ZuluSingle-shot shotguns + + + + + Z M WEAPONS BERNARDSTON,MA + + + + + Antonio ZoliMfr. of shotguns + + + + + Fara + + + + + Zouave + + + + + Fabio ZanottiMfr. of shotguns + + + + + M. Zulaica & Co. (Zulaica y Cia) + + + + + Zhongzhou Machine Works + + + + + UnknownSEE NCIC OPERATING MANUAL,PART 4, SECTION 2. CONTACT CJISLAW ENFORCEMENT SUPPORTSECTION + + + + + + + A data type for Gun Make. + + + + + + + + + + + + + A data type for Miscellaneous Number Value. + + + + + + + + AIR FORCE SERIAL NUMBER + + + + + NON-IMMIGRATION ADMISSION NUMBER + + + + + ALIEN REGISTRATION NUMBER + + + + + NATIONAL GUARD SERIAL NUMBER + + + + + US COAST GUARD SERIAL NUMBER + + + + + CANADIAN SOCIAL INSURANCE NUMBER + + + + + MARINE CORPS SERIAL NUMBER + + + + + MARINERS DOCUMENT OR IDENTIFICATION NUMBER + + + + + ROYAL CANADIAN MOUNTED POLICE ID OR FINGERPRINT SEC (FPS) NUMBER + + + + + NATIONAL AGENCY CASE NUMBER-MILITARY + + + + + NAVY SERIAL NUMBER + + + + + ORIGINATING AGENCY POLICE OR IDENTIFICATION NUMBER + + + + + PERSON IDENTIFICATION NUMBER + + + + + PASSPORT NUMBER + + + + + PORT SECURITY CARD NUMBER + + + + + SELECTIVE SERVICE NUMBER + + + + + VETERANS ADMINISTRATION CLAIM NUMBER + + + + + + + A data type for Miscellaneous Number Value. + + + + + + + + + + + + + A data type for Missing Person Circumstance. + + + + + + + + ABDUCTED BY A NON-CUSTODIAL PARENT + + + + + Runaway + + + + + Abducted by a stranger + + + + + + + A data type for Missing Person Circumstance. + + + + + + + + + + + + + A data type for Propulsion. + + + + + + + + Inboard (includes inboard/outboard, stern drive, and inboard/outdrives) + + + + + Manual (oars, paddles, etc.) + + + + + Outboard + + + + + Sail only + + + + + Sail w/Auxiliary Inboard Power + + + + + Sail w/Auxiliary Outboard Power + + + + + + + A data type for Propulsion. + + + + + + + + + + + + + A data type for Race. + + + + + + + + ASIAN + + + + + BLACK + + + + + AMERICAN INDIAN + + + + + UNKNOWN + + + + + WHITE + + + + + + + A data type for Race. + + + + + + + + + + + + + A data type for Registration state for boat registrations. + + + + + + + + Albania + + + + + Alberta + + + + + Andorra + + + + + Anguilla + + + + + Afghanistan + + + + + Aguascalientes + + + + + Ashmore and Cartier Islands + + + + + Antigua and Barbuda (formerly Antigua) + + + + + Aruba (now independent of NetherlandsAntilles) + + + + + Alaska + + + + + Alabama + + + + + Algeria + + + + + Angola + + + + + Armenia + + + + + Azores Islands + + + + + Arkansas + + + + + American Samoa (Islands) + + + + + Argentina + + + + + Austria + + + + + Azerbaijan + + + + + APACHE TRIBE + + + + + Arizona + + + + + Baja California (Northern Section) + + + + + Barbados + + + + + British Columbia + + + + + Bahamas, The + + + + + Bahrain/Bahrein + + + + + Bassas Da India (French possession) + + + + + Belgium + + + + + Belize (formerly British Honduras) + + + + + Burundi + + + + + Baja California (Southern Section) + + + + + Baker Island + + + + + Bangladesh + + + + + Bermuda + + + + + Bhutan + + + + + British Indian Ocean Territory + + + + + Bosnia and Hercegovenia + + + + + Bouvet Island (Norwegian territory) + + + + + Burma + + + + + British Solomon Islands (now SolomonIslands) + + + + + Botswana + + + + + Bulgaria + + + + + Bolivia + + + + + Balearic Islands + + + + + Brunei + + + + + Byelarus + + + + + Brazil + + + + + Colombia + + + + + Cuba + + + + + Canada(See separate list of CanadianProvinces; use code CD only whenprovince is unknown.) + + + + + Campeche + + + + + California + + + + + Caroline Islands + + + + + Chihuahua + + + + + Chiapas + + + + + Cambodia (formerly Khmer Republic& Kampuchea) + + + + + Colorado + + + + + Cameroon + + + + + Cayman Islands + + + + + Chile + + + + + Costa Rica + + + + + Cyprus + + + + + Connecticut + + + + + Coahuila + + + + + Cape Verde Islands + + + + + Central African Republic + + + + + Ceylon (Now Sri Lanka) + + + + + Canal Zone + + + + + CHEYENNE & ARAPAHO TRIBES + + + + + Clipperton Island (French possession) + + + + + District of Columbia + + + + + Cocos (Keeling) Islands (Australiandependency) + + + + + Distrito Federal (Mexico, D. F.) + + + + + Comoros (or Comoros Islands) + + + + + Benin (formerly Dahomey) + + + + + Cook Islands + + + + + Coral Sea Islands (Australian territory) + + + + + Denmark + + + + + Delaware + + + + + Dominica + + + + + Djibouti + + + + + Durango + + + + + COMANCHE NATION + + + + + Dominican Republic + + + + + MIAMI TRIBE + + + + + MUSCOGEE (CREEK) TRIBE + + + + + SENECA-CAYUGA TRIBES + + + + + CITIZEN BAND POTTAWATOMIE TRIBES + + + + + Absentee Shawnee + + + + + Equatorial Guinea + + + + + El Salvador + + + + + England + + + + + Ethiopia + + + + + Europa Island (French possession) + + + + + Estonia + + + + + Eretria + + + + + Ecuador + + + + + Egypt (formerly United Arab Republic) + + + + + Czech Republic + + + + + Falkland Islands + + + + + Fond du Lac + + + + + Finland + + + + + French Guiana + + + + + Fiji + + + + + Florida + + + + + France + + + + + Faroe Islands + + + + + French Polynesia + + + + + French Southern and Antartic Lands + + + + + Federated States of Micronesia + + + + + Sac & Fox + + + + + Georgia + + + + + Gabon + + + + + Greece + + + + + Georgia + + + + + Germany (East Germany: 1945-1989,for reference only)(West Germany: 1945-1989, for referenceonly) + + + + + Guernsey + + + + + Ghana + + + + + Guinea + + + + + Grenada + + + + + Gambia, The + + + + + Guam + + + + + Greenland + + + + + Glorioso Islands (French possession) + + + + + Guadeloupe + + + + + Guerrero + + + + + South Georgia and the South SandwichIslands + + + + + Guatemala + + + + + Guanajuato + + + + + Guyana + + + + + Gaza + + + + + Hawaii + + + + + Honduras + + + + + Heard Island and McDonald Island + + + + + Hong Kong + + + + + Hidalgo + + + + + New Hebrides (now Vanuatu) + + + + + Howland Island + + + + + Christmas Island + + + + + Saint Helena + + + + + Haiti + + + + + Hungary + + + + + Iowa + + + + + Isle of Man + + + + + Iceland + + + + + Idaho + + + + + Ireland (does not include NorthernIreland, see Northern Ireland) + + + + + India + + + + + Illinois + + + + + Madeira Islands + + + + + Indiana + + + + + Indonesia (now includes Portuguese Timor) + + + + + Iraq + + + + + Iran + + + + + Israel + + + + + Italy (includes Sicily and Sardinia) + + + + + Niue + + + + + IOWA TRIBE + + + + + Menominee + + + + + Cote d'Ivoire (Ivory Coast) + + + + + Japan + + + + + Jersey + + + + + Johnston Island + + + + + Jalisco + + + + + Jamaica + + + + + Jan Mayen + + + + + Jordan + + + + + Jarvis Island + + + + + Juan de Nova Island + + + + + Kansas + + + + + Gilbert Islands (now Kiribati) + + + + + Croatia + + + + + Kenya + + + + + Manahiki Island + + + + + Kingman Reef + + + + + KICKAPOO TRIBE + + + + + North Korea + + + + + South Korea + + + + + Shakopee + + + + + Kazakhstan + + + + + Kuwait + + + + + Kiowa + + + + + Kentucky + + + + + Kyrgyzstan + + + + + Louisiana + + + + + Liberia + + + + + Mille Lacs + + + + + Moldova + + + + + Lesotho + + + + + Slovakia + + + + + Lithuania + + + + + Liechtenstein + + + + + Leech Lake Band of Chippewa + + + + + Lebanon + + + + + Slovenia + + + + + Lac du Flambeau Band of Lake SuperiorChippewa + + + + + Laos + + + + + LATVIA + + + + + Saint Lucia + + + + + Luxembourg + + + + + Libya + + + + + Manitoba + + + + + Michigan + + + + + Maryland + + + + + Maine + + + + + Malawi + + + + + Mongolia + + + + + Marshall Islands + + + + + Mississippi + + + + + Monaco + + + + + Mariana Islands + + + + + Mali + + + + + Mexico (See separate list of MexicanStates; use code MM only when state isunknown) + + + + + Minnesota + + + + + Missouri + + + + + Madagascar (included in Malagasy Republic) + + + + + Morocco + + + + + Morelos + + + + + Massachusetts + + + + + Montana + + + + + Mauritania + + + + + Maldives + + + + + Midway Islands + + + + + Mexico (State) + + + + + Malta + + + + + Malaysia + + + + + Nayarit + + + + + Nebraska + + + + + North Carolina + + + + + North Dakota + + + + + Holland (Netherlands) + + + + + Newfoundland (includes Labrador) + + + + + Nigeria + + + + + New Hampshire + + + + + Northern Ireland + + + + + New Jersey + + + + + New Brunswick + + + + + Nuevo Leon + + + + + New Mexico + + + + + Niger + + + + + New Guinea (now Papua New Guinea) + + + + + Nepal + + + + + New Caledonia + + + + + Nauru + + + + + Nova Scotia + + + + + Northwest Territories + + + + + Nicaragua + + + + + Nevada + + + + + Norway + + + + + Bonaire (Netherlands Antilles) + + + + + New York + + + + + New Zealand + + + + + Oaxaca + + + + + Macao (now spelled Macau) + + + + + Norfolk Island + + + + + OSAGE NATION + + + + + Ohio + + + + + Okinawa + + + + + Oklahoma + + + + + Oman + + + + + Ontario + + + + + OTOE-MISSOURIA TRIBE + + + + + Oregon + + + + + Oglala Sioux + + + + + Oneida Tribe of Indians of Wisconsin + + + + + Pennsylvania + + + + + Puebla + + + + + Pitcairn,Henderson, Ducie, and OenoIslands + + + + + Palau, Republic of + + + + + Prince Edward Island + + + + + Parcel Islands + + + + + Guinea-Bissau (formerly Portuguese Guinea) + + + + + Philippines + + + + + Pakistan + + + + + Palmyra Atoll + + + + + Panama + + + + + PONCA TRIBE + + + + + Poland + + + + + Quebec + + + + + Puerto Rico + + + + + Saint Pierre and Miquelon + + + + + Portugal + + + + + Peru + + + + + Paraquay + + + + + PAWNEE TRIBE + + + + + Qatar + + + + + Quintana Roo + + + + + Queretaro + + + + + Russia + + + + + Republic of Congo, Brazzaville + + + + + People's Republic of China + + + + + Reunion + + + + + Russian Federation + + + + + Gibraltar + + + + + Rhodesia (now Zimbabwe) + + + + + Rhode Island + + + + + Red Lake + + + + + Montserrat + + + + + Spanish Sahara (now Western Sahara) + + + + + Romania/Rumania + + + + + Socialist Republic of Vietnam + + + + + Rwanda + + + + + Republic of Yemen + + + + + Sierre Leone (Sierra Leone) + + + + + Saudi Arabia + + + + + South Carolina + + + + + South Dakota + + + + + Seychelles + + + + + South Africa + + + + + Senegal + + + + + San Marino + + + + + Sinaloa + + + + + Namibia (South-West Africa) + + + + + SEMINOLE NATION + + + + + San Luis Potosi + + + + + Somalia + + + + + Saskatchewan + + + + + Sonora + + + + + Spain + + + + + Sweden + + + + + Singapore + + + + + Scotland + + + + + Sudan + + + + + Svalbard + + + + + Swaziland + + + + + Syria + + + + + Switzerland + + + + + Tamaulipas + + + + + Tabasco + + + + + Trucial States (now United Arab Emirates) + + + + + Trust Territory of the Pacific Islands + + + + + Spratly Islands + + + + + Tuamotu Archipelago + + + + + Tonga + + + + + Thailand + + + + + Tajikistan + + + + + Tokelau + + + + + Tlaxcala + + + + + Tromelin Island (French possession) + + + + + Tennessee + + + + + Togo + + + + + Sao Tome and Principe + + + + + Turks and Calcos Islands + + + + + Nevis and Saint Christopher "Kitts" + + + + + Trinidad and Tobago + + + + + Tunisia + + + + + Ellice Islands (now Tuvalu) + + + + + Taiwan, Republic of China + + + + + Texas + + + + + Turkey + + + + + Tanzania, United Republic of + + + + + Turtle Mtn. Band of Chipewa + + + + + Uganda + + + + + Ukraine + + + + + Mauritius + + + + + Turkmenistan + + + + + United States of America (USA) (Should beused in the following circumstances:1. To indicate the LIS + + + + + Utah + + + + + Burkina Faso (known as Burkina,formerly Upper Volta) + + + + + Uruguay + + + + + Uzbekistan + + + + + Virginia + + + + + British Virgin Islands + + + + + Veracruz + + + + + U.S. Virgin Islands + + + + + Navassa Island + + + + + Vermont + + + + + Saint Vincent and the Grenadines + + + + + Vatican City + + + + + Venezuela + + + + + West Bank + + + + + WYANDOTTE TRIBE + + + + + White Earth + + + + + Wallis and Futuna (French territory) + + + + + Wake Island + + + + + Wales + + + + + Washington + + + + + Wisconsin + + + + + WICHITA TRIBE + + + + + West Virginia + + + + + Wyoming + + + + + Unknown Place of Birth (for use in IIIrecords only) + + + + + Yugoslavia + + + + + Mayotte + + + + + Yukon (Territory) + + + + + Yucatan + + + + + All others (Any foreign country/dependency/territory not included inthe above abbreviation list is t + + + + + Zacatecas + + + + + Martinique + + + + + Surinam + + + + + Macedonia + + + + + Canary Islands + + + + + Zambia + + + + + Mozambique + + + + + Congo Kinshasa, now Zaire + + + + + + + A data type for Registration state for boat registrations. + + + + + + + + + + + + + A data type for Sex. + + + + + + + + FEMALE + + + + + MALE + + + + + UNKNOWN - FOR UNIDENTIFIED ONLY + + + + + + + A data type for Sex. + + + + + + + + + + + + + A data type for Gun Type. + + + + + + + + Cannon + + + + + Submachine gun or machine pistol + + + + + Rifle-shotgun combination + + + + + Disguised gun + + + + + Electric shock gun + + + + + Ammunition + + + + + Grenade + + + + + Bomb + + + + + Mine + + + + + Missile + + + + + Rocket + + + + + Machine gun + + + + + Mortar + + + + + Pistol + + + + + Shotgun pistol + + + + + Rifle + + + + + Shotgun + + + + + Silencer (muffler or sound moderator) + + + + + All others (including guns that fire electrically-charged darts). When the Z code is used, the type of firearm must be described in the MIS Field. + + + + + + + A data type for Gun Type. + + + + + + + + + + + + + A data type for Weapon description. + + + + + + + + Automatic action + + + + + Bolt action + + + + + Carbine + + + + + Derringer + + + + + Double-barrel (side-by-side) + + + + + Flare + + + + + Gas or air + + + + + Flintlock + + + + + Semiautomatic action (autoloading) + + + + + Jet-propelled + + + + + Blank + + + + + Lever action + + + + + Launcher + + + + + Over and under + + + + + Pump action + + + + + Revolver + + + + + Single-shot + + + + + Recoilless + + + + + Percussion (caplock) + + + + + Tear gas + + + + + Three barrels + + + + + Four or more barrels + + + + + + + A data type for Weapon description. + + + + + + + + + + + + + A data type for Vehicle Color. + + + + + + + + AMETHYST + + + + + BEIGE + + + + + BLACK + + + + + BLUE + + + + + BROWN + + + + + BRONZE + + + + + CAMOUFLAGE + + + + + CHROME, STAINLESS STEEL + + + + + COPPER + + + + + CREAM, IVORY + + + + + BLUE, DARK + + + + + GREEN, DARK + + + + + GOLD + + + + + GREEN + + + + + GRAY + + + + + LAVENDER (PURPLE) + + + + + BLUE, LIGHT + + + + + GREEN, LIGHT + + + + + MAROON, BURGUNDY (PURPLE) + + + + + MULTICOLORED + + + + + MAUVE + + + + + ORANGE + + + + + PURPLE + + + + + PINK + + + + + RED + + + + + SILVER + + + + + TAN + + + + + TEAL + + + + + TAUPE + + + + + TURQUOISE (BLUE) + + + + + WHITE + + + + + YELLOW + + + + + + + A data type for Vehicle Color. + + + + + + + + + + + + + A data type for Vehicle Make. + + + + + + + + AAA Mobile Home Mfg. Co. + + + + + A.A.B. Co., Inc. + + + + + Aalite Co. + + + + + AAPEX TRAILERS, INC.; CHICAGO, IL + + + + + Aardvark Co.Waxahachie, Texas + + + + + ALL-AMERICAN TRAILER MFG. CO., INC.; SELMA, AL + + + + + AAA Trailer SalesMt. Pleasant, TX + + + + + AA WELDING SERVICE/CLINT R. WOODS, INC.; MT. PLEASANT, TX + + + + + A-A WELDING SERVICEMOUNT PLEASANT, TEXAS_; ANS OR CLINT R. WOODS INC + + + + + Abarth + + + + + Abbot, Paul Co., Inc. + + + + + ABC (Aluminum Body Corp.) + + + + + ABC Coach Co.From 1960 on, see Vought Industries + + + + + ABC HomesDiv. Divco-Wayne Industries + + + + + ABCO Trailer Mfg. Co. + + + + + Aberdeen Boat Trailer + + + + + ABF, INDUSTRIES; NEBRASKA + + + + + ABI Leisure Inc.Ontario, Canada + + + + + Amco Boat Trailer + + + + + A & B Trailer Mfg. Co., Inc.Crown Point, Indiana + + + + + A C (Great Britian) + + + + + Acadian (GM of Canada) + + + + + Academy Mobile Home Corp. + + + + + Antique & Collectible Autos, Inc. + + + + + ACCU-TEK,INC.; SHREWSBURY, MASSACHUSETTS + + + + + Ace Trailer of America + + + + + Ace Traveler Corp. + + + + + Ace Enterprises, Inc.Miami, Florida + + + + + A & C Knight, Ltd. + + + + + Acme Trailer Mfg. Co. + + + + + Acme Mfg. Co., Inc. + + + + + Acorn Equipment Corp. + + + + + Acro Tank Co.Springfield, Missouri + + + + + Action Industries + + + + + Active Homes Corp. + + + + + Acton Mobile Industries, Inc.Elburn, Illinois + + + + + Acura + + + + + Ada Horse Trailer + + + + + A D BOIVIN SNOWMOBILES; SNOW HAWK MODELS + + + + + Addison HomesDiv. of Penthouse Industries, Inc.Addison, Alabama + + + + + Adette + + + + + ADLER + + + + + Admiration HomesElkhart, Indiana + + + + + Adams Engineering Co. + + + + + Adams Trailer Mfg. + + + + + Adspa Mobile HomeMfd. by Ad Space, Inc., Pomona, CA + + + + + Advance Mfg. Co. + + + + + Adventure Wheels Motor Home + + + + + Advance Machine Co. + + + + + Advanced Vehicle SystemChattanooga, TN; electric shuttle bus + + + + + American Eagle (also see make Eagle) + + + + + Aero Liner Co. + + + + + Aerocar + + + + + Aero Glass Boat Co. + + + + + Aeroil Products Co., Inc.Bensenville, Illinois + + + + + Aircraft (see Operating Manual,Part 1, Section 2.) + + + + + Aeta + + + + + Ag-Chem Equipment Co. Inc.Edina, Minnesota + + + + + AGCO INC. FORMERLY ALLIS CHALMERS & K-H DEUTZ OF GERMANY + + + + + Aragon Distributing Co., Inc. + + + + + AG-Rain, Inc. + + + + + Agri-Supply Co. + + + + + Agrolina SAMexicali, Baha, CA; trailers + + + + + Ag-Systems, Inc.Hutchinson, Minnesota + + + + + Ag-Tronic, Inc. + + + + + Argyle + + + + + AMERICAN IRONHORSE MOTORCYCLES FT. WORTH, TEXAS + + + + + Aircap Manufacturers, Inc.Tupelo, Mississippi--mfrs. power mowers + + + + + Aire-Line Mobile Homes + + + + + Airflyte Mfg. Co. + + + + + Air Support IndustriesGlassboro, New Jersey + + + + + Air-Flo Mfg. Co., Inc.Fort Worth, Texas + + + + + Air-O-Motor Home + + + + + Air-O-Corp. + + + + + Airstream Travel TrailersJackson Center, Ohio + + + + + Ajax Trailer Co. + + + + + A & J Industries Custom Fiberglassing + + + + + AJS (United Kingdom) + + + + + A. J. Travelute Trailer Mfg. Co. + + + + + AJW + + + + + Ajax Electric Motor Corp. + + + + + Alabama Trailer Co.Birmingham, Alabama + + + + + Aladdin Trailer Co. + + + + + Alair Coach Corp. + + + + + Allen Camper Mfg. Co., Inc. + + + + + All Around Horse Trailer + + + + + Alaskan Camper + + + + + Alberta Trailer Co., Ltd. + + + + + Alcan American, Inc. + + + + + Allen Coachworks Inc.(Mexican Manufacturer) + + + + + Alcoa Trailer + + + + + Allied + + + + + Allen Engineering Corp. + + + + + Alexander-Reynolds Corp. + + + + + Alfa Romeo + + + + + ALFAB INC.; TRAILERS + + + + + Alforge Metals Corp.Ontario, Canada + + + + + Allied + + + + + Allis Chalmers + + + + + AljoDiv. Skyline Homes + + + + + Alois Kober (AL-KO) + + + + + All American Campers + + + + + Allard + + + + + Allied American Builders Corp. + + + + + Allied Mfg. Co. + + + + + Allied ProductsDiv. Lonergan Corporation + + + + + Allegro Motor Home + + + + + Allisons Fiberglass mfg.,Inc. + + + + + Allis-Chalmers Corp. + + + + + All Lakes Trailer + + + + + Allied Leisure, Inc. + + + + + All Steel Mfg. Co. + + + + + Alloy Machine Products Corp. + + + + + Alloy Trailers, Inc.Spokane, Washington + + + + + All Purpose Trailer Co., Inc.Jefferson, South Dakota + + + + + All Star Coach, Inc. + + + + + All State + + + + + All-State Trailer Co. + + + + + All States Trailer Co. + + + + + Allentown Brake & Wheel Service, Inc.Allentown, Pennsylvania + + + + + Alma + + + + + Al-Mac Products, Inc. + + + + + Allmand, Inc.Holdrege, Nebraska + + + + + Alma Trailer Co. + + + + + Almac Industries, Ltd.Ville D'Anjou, Quebec + + + + + Alumna-Weld, Inc.Friendship, Arkansas + + + + + ALLEN MANUFACTURING, INC; FORT MORGAN, CO; TRAILERS + + + + + Aloha Trailer Co. + + + + + Aloutte + + + + + Alpine Mfg. Co. + + + + + Alpha + + + + + Alpine + + + + + All Seasons Motor Home + + + + + Alsport/Steen (also see Tri-Sport/Steen) + + + + + Allied Steel and Tractor Products,Inc. + + + + + Alta + + + + + THE ALUMINUM TRAILER COMPANY; NAPPANEE, INDIANA + + + + + Altec IndustriesIndianapolis, Indiana + + + + + Aluma Craft + + + + + AlouetteSee Alouette Recreation Products, Ltd. + + + + + Aluminum + + + + + ALUTREC INC. STE-AGATHE, QUEBEC CANADA + + + + + Alvis + + + + + Alloway Mfg. Co., Inc. + + + + + Aly Travel TrailersDiv. Layton Homes Corp. + + + + + A & M Boat Trailer + + + + + American Augers, Inc. + + + + + Ambassador + + + + + AMC Trailer + + + + + American Clipper Corp.Morgan Hill, California + + + + + Ameri-Camp + + + + + A & M Coach + + + + + AMCO Products + + + + + AMERICAN CRUISER MOTORHOME, NAPPANEE, IN + + + + + AMERICAN DIRT BIKE, INC.; CALIFORNIA + + + + + Agricultural Machinery Div.Div. FMC--mfrs the Bean sprayer + + + + + American Trailers, Inc.Div. Polar Mfg. Co. + + + + + American BeautyMfd. by American Shelter Systems, Inc. + + + + + American Body & Trailer Co. + + + + + American Aluminum Co. + + + + + American Coach Co.Div. Detroiter Homes + + + + + American Duralite Corp. + + + + + American Pride HomesDiv. Challenger Homes + + + + + American Pipe & Steel Corp. + + + + + American Economobile Hilif + + + + + American Trailer & Mfg. Co.See also Transporter, Downey, California + + + + + Amen + + + + + American Way Homes Corp. + + + + + American Motors (see make Ramblerfor Ramblers manufactured priorto 1966) + + + + + Amerigo Travel Trailer + + + + + American Trailer Specialists + + + + + AMF Lawn & Garden Div.AMF, Inc. + + + + + American DreamMfd. by American Family Homes, Inc. + + + + + AM General Corporation + + + + + American Hauler Ind. + + + + + American Hoist & Derrick Co. + + + + + American Microcar, Inc. + + + + + Advance MixerFt. Wayne, IN; truck, front dischargetransit mix + + + + + American Jenbach Corp. + + + + + American Lifan Ind., Inc. + + + + + Amerind-Mackissic, Inc. + + + + + Ammex + + + + + Ampco Mfg. + + + + + AMERICAN PERFORMANCE CYCLE;BULLHEAD CITY, AZ; SPIRIT AND BIG BOY CYCLES + + + + + Amphicar + + + + + Amphicat + + + + + AMERICAN QUANTUM CYCLES, INC. ; MELBOURNE, FL + + + + + American Coupler Systems, Inc. + + + + + AMRAD PRODUCTS & SUPPLY (SNOWMOBILE & UTILITY TRAILERS) + + + + + Americana Mobile Homes, Inc. + + + + + American Road Machinery, Inc. + + + + + American Steel Works + + + + + Amtec Trailer + + + + + American Transportation Corp. + + + + + American Trencher, Inc. + + + + + American Tractor Equipment Corp. + + + + + AMERICAN TRAVEL SYSTEMS, INC.; ELKHART, IN + + + + + AMERICAN YARD PRODUCTS, RIDING MOWERS, MOWERS;WEEDEATER & ELECTOLUX BRAND PRODUCTS + + + + + Ana-Log + + + + + AhoyMfd. by Anchor Homes, Inc. + + + + + Ander-Ett, Inc. + + + + + Anderson Coach Co. + + + + + Anderson Mobile Homes Mfg. Co. + + + + + Andrea Mobile Homes + + + + + Andrews Payloader + + + + + ANDERSON MANUFACTURING; CAMILLA, GA + + + + + Angelus Trailer Mfg. Co. + + + + + Angel + + + + + Anthony Co. + + + + + Anton Mfg. Co. + + + + + A-OK Trailers + + + + + A-1 Trailer + + + + + Apache Coach Co. + + + + + Apache Corp. + + + + + Apacheon Coach Co. + + + + + Apeco Mobile HomesDiv. Apeco Corp. + + + + + Apex Travelers, Inc.Elkhart, Indiana + + + + + Appleton Trailer + + + + + Apollo Homes + + + + + APPALACHIAN MFG. INC.;ELKHART, IN + + + + + Appleby Camper Trailer + + + + + APRILIA MOTORCYCLES + + + + + Aqua Cruiser, Inc.Columbia, Tennessee + + + + + AquaforgeWentzville, Missouri + + + + + Aqualand TrailersDiv. Mid-Atlantic Metal Distributors + + + + + Arabi Homes, Inc.Arabi, Georgia + + + + + Arctic Cat + + + + + Arctco, Inc.See Arctic Enterprises + + + + + Arcos Boat Trailer + + + + + Arctic Enterprises, Inc.Thief River Falls, Minnesota + + + + + American Road EquipmentOmaha, Nebraska + + + + + Argo + + + + + Argonaut State Limousine + + + + + Argosy Travel TrailerVersailles, Ohio--Sub. of Airstream + + + + + Aristocrat Trailer SalesDiv. I. B. Perch Company + + + + + Ariel (British) + + + + + ARISTOCRAT INDUSTRIES, INC.; GOSHEN, IN + + + + + Ariens Co. + + + + + Aristocrat Motor Home + + + + + Arista + + + + + Arlberg + + + + + Armadillo Trailers, Inc.Utility Trailer, Deport, Texas + + + + + ARMOR CHASSIS, LLC; RIDGELAND, SC + + + + + Armor Homes of Virginia + + + + + Armor Mobile Homes Mfg. Co.Subsidiary Magnolia Mobile Home + + + + + Armor Mobile Systems, Inc. + + + + + Armstrong Siddeley + + + + + American Road Trailer Camper + + + + + Arnold Travel Trailer Mfg. Co. + + + + + Arnold Mfg. Co. + + + + + Arnolt-Bristol + + + + + Arndt TrailersHorse trailers + + + + + AERO MANUFACTURING, INC.; SYRACUSE, INDIANA + + + + + Aros + + + + + Arps Div.Div. Chromalloy American Corp. + + + + + AMERICAN TRANSPORTATION; BUS + + + + + Arrow Campers, Inc. + + + + + Arrow Motor Homes + + + + + Arrow + + + + + Arrow Trailers, Inc.Affiliated with Great Dane Trailers--Memphis, Tennessee + + + + + Arrowhead Trailers + + + + + Ascort + + + + + ARSENAL TRAILER MANUFACTURING, INC; HARRISONBURG, VA + + + + + Art James Mfg. + + + + + Artcraft of Georgia + + + + + Artcraft Mobile Homes Mfg. Co. + + + + + Artie + + + + + Artex Fabricators, Ltd. + + + + + ASA + + + + + Asbury Industries, Inc. + + + + + Ashby Brothers + + + + + Ashdown Mfg. Corp.Ashdown, Arkansas + + + + + Ashley + + + + + Ashton Trailer + + + + + ASI Trailer + + + + + Ashland Industries, Inc. + + + + + ASM TRAILERS; MOUNTAINBURG, AR + + + + + ASM TRAILERS; MOUNTAINBURG, AR + + + + + Aspen Camper, Inc. + + + + + Asplundh Manufacturing Div.,Asplundh Tree Expert Co. + + + + + Aspes + + + + + ASPT + + + + + Aston-Martin + + + + + Astro Mobile Homes Mfg. Co. + + + + + Asuna + + + + + Assembled Vehicle (for furtherexplanation see Operating Manual,Part 1, Section 2.) + + + + + Atlas + + + + + Attachment Technologies, Inc. (ATI) + + + + + Atlas Copco, Inc.Wayne, New Jersey + + + + + Attex + + + + + Athey Products Corp. + + + + + ATK America Inc + + + + + Atlantic Coast Camper + + + + + Atlantic Mobile Corp. + + + + + Atlas DivisionDiv. Lonergan Corporation + + + + + Atlantic Mobile Sales + + + + + Atlas Hoist & Body, Inc. + + + + + Atlas Tool & Mfg. Co. + + + + + A-T-O Construction Equipment Div.,A-T-O, Inc. + + + + + ATLAS SPECIALITY_PRODUCTS/TRAILERS + + + + + Associated Truck & TrailerTigard, Oregon + + + + + All Terrain Vehicle (for furtherexplanation--see OperatingManual, Part 1, Section 2.) + + + + + Atwood Mobile Home + + + + + Auburn Homes + + + + + Auburn + + + + + Audi + + + + + Augustana + + + + + Austin-Healy + + + + + Autokraft + + + + + Austin Products, Inc.Subsidiary Austin Industries, Inc. + + + + + Auranthetic Charger + + + + + Aurora Mobile Homes + + + + + Aurora + + + + + Austin + + + + + Autobianchi + + + + + Autobieu + + + + + Auto Homes Industries + + + + + Auto Trailer Co. + + + + + Auto-Mate + + + + + AUTOCAR & AUTOCAR LLC CARS & TRUCKS + + + + + Autocarrier and A.C. + + + + + Auto Ski IncLevis, Quebec + + + + + Automatic Drilling Machines, Inc. + + + + + Auto Union + + + + + Austin-Western Div.Clark Equipment Co. + + + + + Ava Travel Trailer + + + + + Avalair Corp. + + + + + Available + + + + + AVANTI CYCLES,MOPEDS & SCOOTERS + + + + + Avalon Mobile Homes + + + + + Avco Corp. + + + + + Avenger + + + + + AVENGER CORPORATION; MICHIGAN + + + + + Avia + + + + + Avion Coach Corp. + + + + + Avant + + + + + Avanti + + + + + Away We Go Travel Trailer + + + + + Axle & Equipment Sales Co.Naperville, Indiana + + + + + Ayr-Way CampersDiv. K. V. Molded Products, Inc. + + + + + Azalea Homes + + + + + A-Z MANUFACTURING; MADERA, CA + + + + + Aztec Products Inc.Mansfield, Texas + + + + + Aztec Mobile Homes + + + + + AZTX or Az-Tex Trailers + + + + + Babcock's Mobile Home Mfg. Co. + + + + + Bar-C Horse Trailer + + + + + Badger Construction Equipment Co.,Division of Burro-Badger Corp. + + + + + Balderson, Inc. + + + + + Badger Trailer Co. + + + + + Badger Machine Div.Ronco Engineering Co. + + + + + Baillie's Tri-R Welding + + + + + Bainbridge Motor Home + + + + + BAJA USA MOPEDS, CYCLES & 3 WHEELERS + + + + + Baker Equipment & Engineering Co. + + + + + Baker Trailer & Body Co. + + + + + Baker Material Handling Corp. + + + + + Balboa Motor Home + + + + + Baldwin Enterprises + + + + + BaleMuvr + + + + + Balko, Inc. + + + + + Balkan + + + + + Ballien Mfg. Co. + + + + + Baltz Industries, Inc.Pocahontas, Arizona + + + + + Balzer Manufacturing Corp. + + + + + Badger-Northland, Inc.Subsidiary Massey-Ferguson, Inc. + + + + + Bame Three Axle Trailer + + + + + Barrington HomesSubsidiary Fleetwood Interprises + + + + + Bandera Trailer + + + + + Bankhead Enterprises, Inc.Atlanta, Georgia + + + + + Bankhead Welding Service + + + + + Bantam + + + + + Banner Industries, Inc. + + + + + BantamDiv. of Koehring Co., Waverly, Iowa + + + + + Bar-A-Horse Trailer + + + + + Telsmith Div., Subsidiary of Barber-Greene Co. + + + + + Barcraft Homes, Inc. + + + + + Barrett Trailers, Inc.Oklahoma City, Oklahoma--(See Circle BLivestock Trailer) + + + + + Barth corp. + + + + + Barrentine Mfg. Co.Greenwood, Mississippi + + + + + Barker Trailer Manufacturers, Inc.Phoenix, Arizona + + + + + Bartlett Trailer Corp.Chicago, Illinois--Predecessor toBartlett Lifting Devices + + + + + Barnes Pump Drain Unit + + + + + Baron Homes, Inc. (old code CGC)Formerly C&G Corp., Elhart, Indiana + + + + + Barret + + + + + Bartolini Chassis Trailer + + + + + Bass Trail Trailer Co., Inc.Mfrs. boat trailers--Midway, Arkansas + + + + + Batavia Trailers, Inc. + + + + + Bantam Camp Trailer + + + + + Baughman Mfg. Co. + + + + + Bay Trailers + + + + + Bay City Shovels, Inc. + + + + + B & B Custom Built TrailersNewport, Arkansas + + + + + B & B Cozy-Home + + + + + BeeBee Sales Co. + + + + + B & B Trailer Mfg., Inc.Wapanuck, Oklahoma + + + + + BOURGET'S BIKE WORKS + + + + + BEACON METAL WORKS + + + + + Bender-Florin + + + + + Beachcomber Industries Ltd.Morden, Manitoba + + + + + Beardmore + + + + + Beaver Monterey Motor Home + + + + + Beaird PaylinerShreveport, Louisiana + + + + + Beall, Inc.Billings, Montana + + + + + Beach-Craft Motor Homes Corp.Elkhart, Indiana + + + + + Bear Industrial Trailers + + + + + Motor Homes of America, Inc. + + + + + Beall Trans-Liner, Inc.Portland, Oregon + + + + + Beaver Trailer + + + + + Bebe + + + + + Bee Bob Trailers + + + + + Beck Camping Trailer + + + + + Becker, Charles H., Inc. + + + + + Bedell Trailers + + + + + Bedford + + + + + Bendix Corp.Mfr. of mobile homes and recreationalvehicles + + + + + Beechcraft Mobile Home + + + + + Beechwood Industries, Inc. + + + + + Bee-Line Travel Trailers or MobileHomes, Inc. + + + + + Beemer & Grubb Enterprises + + + + + Beechwood Motor Home + + + + + Beemer Trailer Mfg. & Sales + + + + + Beeat Truck Mount Camper + + + + + Beiler Hydraulics, Inc. + + + + + Beijing Jeep + + + + + Bel-Aire Campers or Coaches + + + + + Bel-Aire Mobile Homes + + + + + Bell Mfg. Corp. + + + + + Belshe TrailerTecumseh, Oklahoma + + + + + Bella Casa Co. + + + + + Bellamy's Mfr. & Research ProductsHiltons, Virginia + + + + + Bellaire Products + + + + + Bellew's Perris Balley Campers + + + + + Bell's Camp Trailers + + + + + Bell's Custom Coaches + + + + + Belarus Machinery, Inc. + + + + + Belvedere Mobile Homes + + + + + Benelli (Italy) + + + + + Benlo Co. + + + + + Benson Truck Bodies, Inc.Mineral Wells, West Virginia + + + + + Bentley + + + + + Beaird-Poulan Div., Emerson ElectricCo. + + + + + Berkeley Pump Co. + + + + + Bergantine + + + + + Berkshire Industries + + + + + Berkley + + + + + Bermar Mfg. Corp. + + + + + Bertone + + + + + Bering + + + + + Bertran Trailer + + + + + Ber-Vac (Canada) + + + + + Besasie Automobile Co., Inc + + + + + Beta + + + + + Betten France TransportationKentucky + + + + + Bethany Fellowship + + + + + Better Built + + + + + Beaver Mfg. Corp. + + + + + B.FOSTER & COMPANY, INC.; WAYNESBORO,PA + + + + + Big Bear Choppers + + + + + BIG DOG CUSTOM MOTORCYCLES, INC. + + + + + Bingham + + + + + BEHNKE ENTERPRISES, INC; FARLEY, IA + + + + + Bianchi + + + + + BIBB WELDING & TRAILERS, LLC; MACON, GEORGIA + + + + + Biewer Industries + + + + + Big Bubba's + + + + + Big Horn Trailer + + + + + Big Well Industries + + + + + Big Joe Manufacturing Co. + + + + + Big Tex + + + + + Big Valley Trailers, Inc.Wynne, Arkansas + + + + + Biltmore Mobile Homes + + + + + Bilken EnterprisesMfr. of Specialty Trailer (bought out byAmerican Enterprises) + + + + + Bills Welding Model Trailer + + + + + Biltrite Mobile Homes + + + + + Biltwell (or Builtwell) + + + + + Bi-Motor Stallion + + + + + Binkley Co., The + + + + + Binks Mfg. Co.Franklin Park, Illinois + + + + + Biot Camping Trailer + + + + + Bird + + + + + Bird Engineering, Inc. + + + + + Birmingham Mfg. Co., Inc.Springfield, Alabama + + + + + Bitter + + + + + Bivouac Industries, Inc.Vandalia, Michigan + + + + + Bizzarrini + + + + + Baja Custom Trailers + + + + + BJ'S CUSTOM TRAILERS; WOODSTOCK, AL + + + + + B & J Enterprises, Inc.Sikeston, Mo; mfg. utility trailers + + + + + BJ Mfg. Co.Harrison, Arkansas + + + + + Bill James Trailer SalesWinfield, Texas + + + + + BUCK DANDY COMPANY; TEXAS + + + + + BECKHAM TRAILERS, INC.; WICHITA , KANSAS + + + + + Black Built + + + + + Black Diamond Trailer, Inc.New Tazewell, Tennessee + + + + + Blazer + + + + + Blanchard Foundry Co. + + + + + Blair Horse Trailer + + + + + Black Diamond Enterprises + + + + + Blaw-Knox Construction Equipment Co.Div. of White Consolidated Industries,Inc. Matoon, Illinois + + + + + Blaze Industries + + + + + Blaine's Custom Mfg. ServiceJackson, Mississippi + + + + + Blackwell Burner Co.San Antonio, Texas . + + + + + Blazon Mobile Homes Corp. + + + + + Black and Decker + + + + + Blue Gator Boat Trailer + + + + + B-Line Farm EQuip.Mfrs. Cartow & Snowmobile trailersBristol, Virginia + + + + + Blitz Mfg. Co. + + + + + Blix Coach + + + + + Blizzard Mfg., Inc. + + + + + Bulk Equipment Mfr. Inc.Bulkiner Feed Trailer + + + + + Bellview Camper + + + + + Belmont Machine + + + + + BLOOMERTRAILER MANUFACTURING, INC.; LAMARQUE, TX + + + + + Bloom, Inc. + + + + + BLUE RIDGE TRAILERS + + + + + Blake TrailersStar, Idaho + + + + + Bullet Trailers, Inc.Boat Trailers, Glen Burnie, Maryland + + + + + Blue Bird Body Co. + + + + + Blue Ribbon Coach Co. + + + + + Blue-Ridge Pre-Built Mobile Homes + + + + + Bluebird International + + + + + Blue, John Co.Huntsville, Alabama + + + + + B-M-B. Mfg. Co. + + + + + Bombardier Inc.Valcourt, Quebec; Ski-Doo/Moto Ski + + + + + B M C + + + + + B & M Mfg. Co.South Camdenton, Missouri + + + + + Beatrice Motor Mart Mfg. & Easy-Haul + + + + + Boat Master TrailersFt. Myers, FL + + + + + BMW + + + + + Bounder Motor HomeMfd. by Fleetwood, Decatur, Indiana + + + + + BANDIT INDUSTRIES; MICHIGAN + + + + + Ben Hur + + + + + B & S Boat Trailer Mfg. Co.Gainesville, Florida + + + + + Bantam + + + + + Bonanza + + + + + Boanza Mobile Homes + + + + + Boardman Co. + + + + + AlsportSee Boa-Ski Alsport Ltd. + + + + + Boatel Ski + + + + + Bob S Trailer + + + + + Bobbi-Kar + + + + + Bob Coons + + + + + Bobko, IncMichigan City, Indiana + + + + + Bobby's Custom Camper Mfg. + + + + + Bocar + + + + + Broce Manufacturing Co. + + + + + Bock Products, Inc.Elkhart, Indiana + + + + + Bo Cats, Inc.Garden City, Kansas + + + + + Boerne Trailer Mfg. or Inter-National Crane & Trailer, Inc. + + + + + Boise Cascade Mobile HOmeBoise, Idaho + + + + + Boles-Aero, Inc. + + + + + Bolinger Flatbed Trailer + + + + + Bo-Mar Mfg. Co. + + + + + Bombardier Ltd. + + + + + Bomford & Evershed, Ltd. (England) + + + + + Bomag Trailer + + + + + Bon-Aire Homes, Inc. + + + + + Bonanza Travel Coach, Inc. + + + + + Bond + + + + + Bond Mobile Homes, Inc. + + + + + Bonnieville Mfg. Co. + + + + + Boone Trailers, Inc.Palmer, Massachusetts + + + + + Borg Co. + + + + + Born Free + + + + + Borgward + + + + + BOSS HOSS CYCLE, INC. ; DYERSBURG, TN + + + + + Boatel Trailer + + + + + Boulder Trailer + + + + + Bowers Mfg. Co. + + + + + Bowie Industries Corp.Bowie, Texas + + + + + Bowman & Sons + + + + + Bowen Mobile Homes, Inc.Mfd. by Bowen Mobile Homes, Inc. + + + + + Bowsman TrailersThree Rivers, Michigan + + + + + Boxer Trailer + + + + + Boyd, E.G., Trailer Co. + + + + + Boyer Industries + + + + + Braco Custom ProductsCassopolis, Michigan + + + + + Brandt Trailers, Inc. + + + + + Bradford IndustriesBradford, Illinois + + + + + Brall Motor Home + + + + + Branstrator Engineering Corp. + + + + + Brasinca + + + + + Brantley Mfg. Co.Fredrick, Oklahoma + + + + + Braughms Travel Trailer + + + + + Bravo Trailer + + + + + Brandywine Travel Trailer + + + + + Bray Trailers + + + + + Barco Mfg. Co.Johnstown, Pennsylvania + + + + + Bear Cat Mfg., Inc.Wickenburg, Arizona + + + + + BROWN CARGO VAN, INC.; LAWRENCE, KS + + + + + BRADCO; DIVISION OF ATTACHMENT TECHNOLOGIES, INC.IOWA + + + + + Brooks Horse Trailer + + + + + Bradley GT + + + + + Broderson Manufacturing Corp. + + + + + Breeze Motor Home + + + + + Brent IndustriesShell Rock, Iowa + + + + + Break + + + + + Bremen Sport Equipment, Inc.(Bremen,IN) + + + + + Brenner Tank, Inc.Fond du Lac, Wisconsin + + + + + Brentwood Mobile HomesSubsidiary DeRose Industries, Inc. + + + + + Brewer Utility + + + + + Breeze Camping Travel Trailer + + + + + Briggs Manufacturing, Inc. + + + + + Bridgeville Trailers, Inc. + + + + + Bricklin + + + + + Bridgestone + + + + + Bridge Mfg. and Equipment Co.Woodburn, Indiana + + + + + Brigadier Mobile HomesDiv. Brigadier Industries, Inc. + + + + + Brighton Built TrailersBrighton, Iowa + + + + + Brillion Iron Works Div., BeatriceFoods Co. + + + + + Bristol HomesDiv. Tidwell Ind., Inc., Goshen, Indiana + + + + + Bristol + + + + + Bristol Mfg. Co. + + + + + Brookwood Mobile Home + + + + + Borella + + + + + BRI-MAR MANUFACTURING; CHAMBERSBURG, PA + + + + + Brandy IndustriesColon, MI; white tail camping trailers. + + + + + BERING TRUCK DISTRIBUTION, LLC FRONT ROYAL, VA + + + + + Broadlane Homes, Inc. of Indiana + + + + + Brobts & Associates + + + + + BrockwayDiscontinued production in 1977 + + + + + Broadmore Mobile HomesSubsidiary of Fleetwood Trailers &Mobile Homes + + + + + Brooten Fabricating, Inc. + + + + + The Broyhill Co. + + + + + Broken Arrow Mobile Home + + + + + Broncco (Italy) + + + + + Brooklyn Trailer + + + + + Brock Star Trailer + + + + + Bros. Div.American Hoist Derrick Co., St. Paul,Minnesota + + + + + Brooks Brothers Trailers, Inc. + + + + + Brougham Industries, Inc. + + + + + Brown TrailerDiv. Clark Equipment Co. + + + + + Brown Industries + + + + + Burro, Inc.Plymouth, Minnesota + + + + + BRUSH ROADSTER + + + + + Briggs & Stratton Corp. + + + + + Brute Equipment Inc.Glen Alan, Mississippi + + + + + Brae Trailers, IncStoughton, WI; piggyback semi-trailers + + + + + Bertolini Container Co.Butler, New Jersey + + + + + Bear Trailer Mfg., Inc.Lebanon, Missouri + + + + + Baretta + + + + + Brunswick Travel Trailer + + + + + Brutt + + + + + BrutanzaSee Brutanza Engineering, Inc. + + + + + Broward Trailer + + + + + Brown + + + + + BSA (United Kingdom) + + + + + Busse Brown Trailer + + + + + BRADTEC, LTD.; DERBY, KS + + + + + Batavus Mo-ped + + + + + Buccaneer Mobile HomesDiv. Brigadier Industries, Inc. + + + + + Bucita Pop Top Trailer + + + + + Buck Camper Co. + + + + + Buckeye Mobile Homes, Inc. + + + + + Buckeye Flatbed Trailer + + + + + Bucko, Inc.Buhl, Indiana + + + + + Buckskin Trailer Mfg. Co.Boosier City, Lousisiana + + + + + Bucyrus-Erie Co. + + + + + Budd Co. Trailer Division, TheFormerly Ginchy Mfg. Corp.--Downingtown,Pennsylvania + + + + + Buddy Mobile Homes, Inc.Div. Skyline Homes + + + + + Budger Mfg. Co. + + + + + Buck Dragster Flatbed + + + + + Budson Knobby Flatbed Trailer + + + + + Buell Motor Co. + + + + + Buffalo-Bomag Div.Div. of Koehring Co. + + + + + Bug + + + + + Bugatti + + + + + Buhl Machine Works + + + + + Buick + + + + + Built Rite Trailer + + + + + Bulk-Hauler TrailerSee Kellebrew Mfg. Co. + + + + + Bullmobile Trailer, Inc.Caldwell, Kansas + + + + + BULK MANUFACTURING COMPANY; PLANT CITY, FLORIDA + + + + + Bulk Resources, Inc., doing business as Bulk Mfg. Co. + + + + + Bultaco (Spain) + + + + + Bunton CompanyLouisville, Kentucky + + + + + Bunyan, Paul Co. + + + + + Burch Trailer + + + + + Burkeen Equipment & Supply Co.Memphis, Tennessee + + + + + Burkhart Trailer Mfg. Co. + + + + + Burlington Mfg. Co. + + + + + Burnup and Sims, Inc.West Palm Beach, Florida + + + + + Burrito (also see make J.C.Penney) + + + + + Burris Stock Trailer + + + + + Bushcraft Trailer + + + + + Bushog Div.Subsidary of Allied Products Corp.Selma, Alabama + + + + + Buffalo-Springfield Div.Div. of Koehring Co. + + + + + Butler, L. T. + + + + + Butler Mfg. Co. + + + + + Butterfield Musketeer + + + + + BEAVER CREK ENT. ; MOKENA, IL + + + + + BETTER-WAY PRODUCTS, INC; INDIANA (BISSON) + + + + + B & W Homes, Inc. + + + + + Byerly Trailer & Mfg. Co. + + + + + BOYDSTUN METAL WORKS, INC.PORTLAND, OREGON + + + + + Baker-York Forklift + + + + + Byers Mfg. Inc.Lawton, Michigan + + + + + Byers + + + + + BYSON TRAILERS + + + + + B & Z Electric Car Co. + + + + + Carabela (Mexico) + + + + + Cabana Motor Home + + + + + Campus Bike + + + + + Car Caddy + + + + + Can-Car(Canadian Car Trailer Sales Div.)Rexdale, Ontario--Div. of Hawker-Siddeley, Canada + + + + + CLASSIC ACQUISITIONS/CLASSIC VENTURES; HERNANDO,FLORIDA + + + + + Caper Cycle + + + + + Cadet Coach Corp. + + + + + CADILLAC FABRICATION INC + + + + + Cadillac + + + + + Califfo + + + + + Cagiva + + + + + Campbell-Hausfeld Div., Scott &Fetzer Co. + + + + + Calcinator + + + + + E. L. Caldwell & Sons, Inc. + + + + + California Camper Mfg. + + + + + California Mobile Homes + + + + + Calvia Brothers Trailer Mfg. + + + + + Calkins Trailer + + + + + Callahan Engineering Co. + + + + + Calumet Co., Inc. + + + + + Callen Camper Co. + + + + + Capriolo + + + + + Calis Travel Trailer + + + + + Cal Trailer ManufacturingSan Fernando, California + + + + + Calumet Coach Co. + + + + + Caldweld Div., Smith International,Inc. + + + + + Calypso + + + + + Cambridge Homes, Inc. + + + + + Cambridge Mfg. Co., Inc. + + + + + Camp Cruiser Mfg. Co. + + + + + Camel Camper Trailer + + + + + Camp Equipment Co., Inc + + + + + Camp Four Industries, Inc. + + + + + Cam-Pact Co., Inc. + + + + + Camp-A-While Homes Mfg. Co. + + + + + Camper City Coach Craft + + + + + Camper Corp. of America + + + + + Camper De Ville, Inc. + + + + + Campers, Inc. + + + + + Campers Unlimited + + + + + Camelot Camper Trailer + + + + + Camp-Mor, Inc. + + + + + Camp-N-All Co. + + + + + Cam-O-Tel Corp. + + + + + Can-Am + + + + + Can-Car Inc.Tree-farming equipment--Div. Hawker-Siddeley Canada, Ontario, Canada + + + + + Canadian Trailmobile Ltd. + + + + + Cane River Trailer Co., Inc.Natchitoches, Louisiana + + + + + Canoga Classic Campers + + + + + CANNONDALE CORPORATION, MAKER OF MOTORCYCLES + + + + + Canoga Mfg. Co., Inc.Mfg. Cement Mixer + + + + + C & S + + + + + Canton Trailer Co. + + + + + Canadian Electric Vehicles, Ltd. + + + + + Capri (imported by Mercury priorto 1979) + + + + + Capital Industries, Inc. + + + + + Capco Flatbed + + + + + CapreCarrocerias Preconstruidas SASan Nicholas, Mexico, bus trailers + + + + + CataphoteDiv. Ferro Corp., Jackson, Mississippi + + + + + Capitol + + + + + Capitol Trailer Coach Co. + + + + + Caprice Homes Mfs. Co. + + + + + Capri + + + + + Capacity of Texas, Inc.Longview, Texas + + + + + Car Camp + + + + + Caravan Industries + + + + + Carter Trailer Co., Inc.Newport, Arkansas + + + + + Caravel IndustriesWylliesburg, Virginia + + + + + Cardinal Industries + + + + + Care-Free Camper Mfg. Co. + + + + + Carriage, Inc. + + + + + Cardinal Homes, Inc. + + + + + Caribou Craft Pickup Camper & TrailerMfg. Co. + + + + + Carley + + + + + Carlisle + + + + + Carma Mfg. Co. + + + + + Carolina Mobile Homes + + + + + Carolina Travel Trailers + + + + + Carpenter Manufacturing, IncMitchell, IN + + + + + Carrie-Craft Div.Div. Thrift Cts. of America + + + + + Carry Craft Trailers + + + + + Car-Tel Corp. + + + + + Carnes Welding & Fabricating Co.Crescent, Oklahoma + + + + + Carey Trailers, Inc.Weatherford, Texas + + + + + Casa Manana Mfg. Corp. + + + + + Cascade Corp. + + + + + Case, J. I., Co.Subsidiary Tenneco. Inc. + + + + + Cascade Coach Co. + + + + + Casal + + + + + Cash Trailers, Inc.Troy, Alabama + + + + + Castle Enterprises, Inc. + + + + + Caterpillar Tractor Co. + + + + + Catalina Amphibious Homes + + + + + Carson Trailer IncCarson, CA; utility trailers + + + + + Catalina Motor Home + + + + + Cat + + + + + Catolac Corp. + + + + + Caulkins Boat Trailer + + + + + Cavalier Homes, Inc. + + + + + Cavalier Trailer Mfg. Co. + + + + + Caveman Industries + + + + + Calvacade Industries, Inc.White Pigeon, Michigan + + + + + C & B CUSTOM MODULAR, INC.; BRISTOL, TENNESSEE + + + + + C. B. Mfg. Co., Inc. + + + + + COBRA TRAILERS, GERMANY; ALFRED SPINDELBERGER + + + + + CARTER BROTHERS + + + + + CUSTOM BUILT TRAILERS AN OR CUSTOM TRIKES, INC. + + + + + Butler, C. Trailer Mfg. Co.Greensboro, North Carolina + + + + + CCCCrane Carrier (A CCI Co.) + + + + + CAREFREE CUSTOM CYCLES, LLC + + + + + C & C DISTRIBUTORS, INC.; WINSLOW, ME + + + + + C&C MANUFACTURING & FAB; HAZLETON, PA + + + + + Country Coach Motor HomeJunction City, Oregon + + + + + C & C TRAILERS, INC. NORMAN OKLAHOMA + + + + + CZ Engineering, Inc.Dixon, Missouri + + + + + CEI EQUIPMENT COMPANY, INC; CEDAR RAPIDS, IA + + + + + Central Industries, Inc. + + + + + Centurion International, Inc.Waco, Texas + + + + + Century Auto Body & Trailer Mfg. Co. + + + + + Centaur + + + + + Centurion Travel Trailer + + + + + Century Engineering Corp. + + + + + Certified Boat Trailer + + + + + Ceva Mfg. Co. + + + + + Cezetta + + + + + Custom Fab Body Bodies andTrailers, Inc.Indiana, Pennsylvania + + + + + Colony Factory Crafted HomesShippenville, PA + + + + + CARGOMATE TRAILER ; CAMPING + + + + + J & L'S CARGO EXPRESS, INC.; BRISTOL, INDIANA + + + + + Challenge-Cook Brothers, Inc.Industry, California + + + + + Challenger Homes, Inc.Columbia, Tennessee + + + + + Charger Pick-up Campers + + + + + Charmac Trailers + + + + + Chaika + + + + + Chamberlin TrailersHampton, Iowa + + + + + Champion Home Builders Co.Dryden, Michigan + + + + + Chaparral + + + + + Charlamor Corp. + + + + + Chateau Mfg. Co., Inc. + + + + + Chausse Manufacturing Co., Inc. + + + + + Chance Coach IncWitchita, KS, city transit buses + + + + + Champ Corp. + + + + + Checker + + + + + Cherne Industrial, Inc.Edina, Minnesota + + + + + Chem-Farm, Inc. + + + + + Cheney Weeder, Inc. + + + + + Cherokee Camper + + + + + Chevron Corp.Elkhart, Indiana + + + + + Cherokee Mobile Homes + + + + + Chesapeake Mobile Homes + + + + + Cheston & Eshelman Co. + + + + + Chevrolet + + + + + Chevelle Mobile Homes, Inc. + + + + + CHEROKEE FABRICATION, INC.; OCALA, FLORIDA + + + + + Chicago Pneumatic Equipment Div.Chicago Pneumatic Tool Co., FranklinPennsylvania + + + + + Chibi + + + + + Chickasha Mobile Homes + + + + + Chief Ocala Trailer Mfg. + + + + + BonnavillaMfd. by Chief Industries + + + + + Chilton Trailer Co., Inc. + + + + + Chipmore Mfg. Co., Inc.Mfrs. chippers--Bay City, Michigan + + + + + Ching-Kan-Shan + + + + + Chippewa Mobile Homes Corp. + + + + + Chisolm Trailers, Inc.Chickasha, Oklahoma + + + + + CHEROKEE MANUFACTURING COMPANY; SWEETWATER, TN + + + + + CHASSIS KING, LLC; CLEARWATER, FL + + + + + Challenger Trailer + + + + + CHARLY ELECTRIC MOTOR SCOOTERS ETC. + + + + + CHEROKEE MOTORCYCLE COMPANY; OKLAHOMA FORMERLY KNOWN AS ''FAST TRAC MANUFACTURING '' OUT OF CALIFORN + + + + + Chaparral Mfg., Inc. + + + + + Champ Horse Trailer + + + + + Chinook + + + + + Chrysler Outboard CorporationHartford, WI + + + + + Chaperalle Horse Trailer + + + + + Champion Pneumatic Machinery Co.,Inc. + + + + + CHAMPION BUS, INC. MICHIGAN + + + + + ChaparralSee Chaparral Industries, Inc. + + + + + Chicago Pneumatic Tool Co. + + + + + Christianson Industries, Inc.Edwardsburg, Michigan + + + + + Chromalloy American Corp., FarmSystems Division + + + + + Chrysler Boat Co. + + + + + Chateau Recreational Vehicle Div.Christiana, Pennsylvania + + + + + Chrysler + + + + + Cheetah + + + + + Chatham Enterprises Custom Mfg. & Sales + + + + + Chuck Beck Motorsports + + + + + Chukar, Inc.Phoenix, Arizona + + + + + Chevallero Motor Home + + + + + Chin Yuan Chi Casting Corp.Paichung, Taiwan + + + + + CIRCLE C MANUFACTURER; LIVINGSTON, TX + + + + + Cimatti + + + + + CIMC HEAVY INDUSTRIES, LTD.; SHENZHEN, CHINA + + + + + Cimarron Mfg. Co.Oklahoma City, Oklahoma + + + + + Circle S Star RouteSulphur Springs, Texas + + + + + Circle D Trailer + + + + + Circle H Horse Trailer + + + + + Circle K KennimoreOklahoma City, Oklahoma + + + + + CIRCLE M TRAILERS + + + + + Circle R, Inc. + + + + + Circle V Horse Trailer + + + + + Cisitalia + + + + + Citation Travel Trailer + + + + + Citicar (electric car) + + + + + Citroen + + + + + City Dump Trailer + + + + + City Welding & Mfg. Co.Aluminum truck bodies & steel chassis + + + + + China Jiangmen Group Co., Ltd. + + + + + Clapper Camper + + + + + B.M. Clark Co., Inc. + + + + + Classic Roadsters, Ltd. + + + + + Classic Motor Carriages, Inc.(Hallandale, FL) + + + + + Clark Mfg. Co. + + + + + Clar-Mont Mfg. Co. + + + + + Construction Machinery Div., ClarkEquipment Co. + + + + + Classic Trailer Mfg. + + + + + Clayton Homes, Inc.Div. of Clayton Industries, Inc.,Knoxville, Tennessee + + + + + Claxton + + + + + Clay Camper Co. + + + + + Clayton Craft + + + + + Cleveland Brothers Equipment Co.D & B Products + + + + + Calico TrailersQuitman, Arkansas + + + + + Cleasby + + + + + Cleveland Mfg. Co., Inc. (CMC) + + + + + Clement-Braswell + + + + + Clenet Coach Works + + + + + Cleveland Trencher Co.Div. American Hoist & Derrick Co. + + + + + Cliff Office Trailer + + + + + Cliff Hall, Inc. + + + + + Cline + + + + + Clipper Mfg. Co. + + + + + Clinton Engine Corp. + + + + + Columbia + + + + + Clemco Industries + + + + + Coleman + + + + + Colonial Flatbed Trailer + + + + + Clough Equipment Co.Seattle, Washington + + + + + Cloud Electric Vehicles + + + + + Classic Mfg., Inc. + + + + + Claster Trailer + + + + + Clua . + + + + + Columbia Trailer Co., Ltd.Vancouver, Canada + + + + + Calvade Trailer + + + + + Cleavers of BismarkBismark, Arkansas + + + + + Clark-Wilcox + + + + + Clypso Motor Home + + + + + Construction Machinery Co. + + + + + Campbell Coach Co., Inc.Mfrs. horse trailes--Cheney, Kansas + + + + + CALIFORNIA MOTORCYCLE COMPANY; GILROY,CA; VENTANA,CABRILLO KING & DIABLO MOTORCYCLES + + + + + CHARLESTON MARINE CONTAINERS, INC. CHARLESTON, SC + + + + + BirchwoodMfd. by Conchemco Homes Group + + + + + CCM/Clews + + + + + Cameo Travel Trailer + + + + + Com-Fab, Inc. + + + + + CMI Corp. + + + + + CMI Load KingElk Point, SD; commercial trailers + + + + + Cummins Engine Co., Inc. + + + + + C-Mor + + + + + Campfire Travel Trailer + + + + + CAMPAGNA MOTO SPORT, INC; PLESSISVILLE, QUEBEC, CANADA + + + + + Campsite Mfg. Co.Seminole, Texas + + + + + Compact Equipment Co. + + + + + CAM SUPERLINE, INC.; GREENCASTLE,PA + + + + + CMWC Trailer Co., Inc. + + + + + CORNELIUS MANUFACTURING, INC.; ELNORA, IN + + + + + CONTRACT MANUFACTURERS INC ALSO KNOWN AS :CM TRAILERS; MADILL, OK + + + + + Concord Products, Inc. + + + + + Conroy IndustriesNew Braunfels, Texas + + + + + Constructore Trailers, Inc.Sarasota, Florida + + + + + Continental Wheel & Trailer + + + + + Centreville Trailer + + + + + Conwed Trailer + + + + + Coach Craft, Inc. + + + + + Coachmen Homes Corp.Subsidiary Coachmen Industries, Inc.,Middlebury, Indiana + + + + + COACH HOUSE,INC.; NOKOMIS,FL;CLASS B MOTORHOME + + + + + MiddleburyMfd. by Coachmen Homes Div.Coachman Industries, Inc. + + + + + Coastal Trailer Corp. + + + + + COBRA MOTORCYCLES + + + + + AC Cobra + + + + + Coburn Industries, Inc. + + + + + Country Comfort Trailers + + + + + Cochran Western Corp.Subsidiary of Western Gear Corp. + + + + + COUNTRY CLIPPER; RIDING MOWERS; JAZEE MODEL DIVISION OF SHIVVERS MANUFACTURING + + + + + Conmaco, Inc. + + + + + Conceptor Industries, Inc. + + + + + Cody Motorcycle Trailer + + + + + Unpublished construction equipment mfr.(See Operating Manual, Part 1,Section 2) + + + + + Columbia Mfg. Co. (subsidiary Yard-Man Co. - Columbia Commuter) + + + + + Coleman Camping Trailers + + + + + Colonial Mobile Homes Mfg. + + + + + Colony Mfg. & Sales Corp. + + + + + COLLINS BUS + + + + + Columbia Tractor Mower + + + + + Colorado Mobile Homes + + + + + Colt Camper, Inc. + + + + + Columbia Mobile Homes, Inc. + + + + + Colt + + + + + Columbine Camp & Coach + + + + + Comanche Mobile Homes + + + + + Comanche Trailer Corp. + + + + + Commander Motor Home + + + + + Comet Corp.Spokane, Washington + + + + + Competitive Boat Trailer + + + + + Commercial StructuresNappanee, Indiana + + + + + Com-Camp + + + + + Comet Construction Co. + + + + + Comet Mobile Homes + + + + + Commodore Corp.Syracuse, Indiana + + + + + Commercial Vehicles, Inc.Tulsa, Oklahoma + + + + + Comet Riding Mower + + + + + Commuter Industries, Inc. + + + + + Commuter Vehicles, Inc. + + + + + CommuneMfd. by Community Homes, Inc. + + + + + Concord Mobile Homes + + + + + Condor + + + + + Concord Travelers + + + + + CONFEDERATE MOTOR WORKS, INC. + + + + + Conestega Mfg. Co. + + + + + Condor Motor Home + + + + + Conestoga Mobile Homes + + + + + Connell Industries, Inc.Phil Campbell, Alabama + + + + + Contempori Mobile Homes, Inc. + + + + + Connaught + + + + + Condor Coach + + + + + Consolidated Mobile Industries + + + + + Conner Industries, Inc. + + + + + Contessa + + + + + Continental + + + + + Consulier + + + + + Continental of Colorado, Inc. + + + + + Continental Homes, Inc. + + + + + Continental Mfg. Co., Inc. + + + + + Cony Truck (Japan) + + + + + ConvertoCambridge City, Indiana--Div. Golay &Co., Inc. + + + + + Coose Trailer Mfg. Co.Lockwood, Missouri + + + + + Cook Semi Trailer + + + + + Coon Custom Coach Mfg. + + + + + Cooper + + + + + Coos-Bilt Trailers + + + + + Cooper Alpine Motor Home + + + + + Copco Steel & EngineeringSouthbend, Indiana + + + + + Copperstate Coach Co. + + + + + Corbitt + + + + + Cord + + + + + Corder Mfg. Co., Inc. + + + + + Corn Belt Manufacturing, Inc.Early, Iowa + + + + + Corona Coach Co. + + + + + Correct Craft, Inc. + + + + + Corsair Div.Div. Divco-Wayne Industries + + + + + Cortez House Trailer + + + + + Corvette Travel Trailer + + + + + Corey Enterprises + + + + + Cosmo + + + + + Concrete Surfacing Machinery Div.,Stewart Industries, Inc. + + + + + Corner Utility Trailer + + + + + CARRY ON TRAILER CORP + + + + + Cotton + + + + + Cottage-Ette Mfg. + + + + + Cortez Motor Home + + + + + Country-Aire Travel Trailer + + + + + COUNTRY BLACKSMITH LLC + + + + + Countryside Industries, Inc. + + + + + Country Squire Travel Trailer + + + + + Courthouse Camper Trailer + + + + + Covered Wagon Trailer + + + + + Continental World MarineMexico; trailers + + + + + Conway + + + + + Cox Trailers + + + + + Coynco Products + + + + + Coyote Mfg. Corp.Corona, California + + + + + Cozad Trailer SalesStockton, California + + + + + CPI U.S.A. + + + + + COMPTANK, CORP.; BOTHWELL, ONTARIO, CANADA + + + + + C/P Products Corp. + + + + + Charlie Perkins Trailer Company, IncHamshire, TX + + + + + COMPETITION TRAILERS, INC HENDERSON, TEXAS + + + + + COMPETITIVE TRAILERS, INC.; BELLFLOWER CALIFORNIA + + + + + Craftsman (also see make Sears,Roebuck & Co.) + + + + + Craftmade Homes, Inc. + + + + + Crane & Hoist OperationsSubsidiary of Dresser Industries, Inc. + + + + + Crawler Trailer + + + + + CREW CHIEF MOTORHOME/HAULER + + + + + CROSS COUNTRY MANUFACTURING; GREENE, NEW YORK (TRAILERS) + + + + + Connell Industries, Inc.Greene, New York + + + + + Cree Coaches, Inc.Div. of Southwest Michigan Ind.,Marcellus, Michigan + + + + + Corbin Electric + + + + + Crest Mobile Homes, Inc. + + + + + Crescent Trailers, Inc. + + + + + Creightons TrailerMaryland + + + + + Cable Crane and Excavator Div.FMC Corp. + + + + + Craftsman Ind., Inc. + + + + + Craftsman + + + + + CARGO KING, LLC; WHITE PEGEON, MICHIGAN + + + + + CARGO CRAFT, INC.; GEORGIA + + + + + CARGO PRO TRAILERS + + + + + Charger + + + + + Chris Craft Corp. + + + + + Cricket Corp.Elkhart, Indiana + + + + + Crimson HomesDiv. Winston Industries, Inc. + + + + + Criterion Homes Mfg. Inc.Largo, Florida + + + + + Carrier King Trailer + + + + + Crowley Mfg.Mathiston, Mississippi + + + + + CAR MATE TRAILERS; LEEPER, PENNSYLVANIA + + + + + CORN PRO TRAILERS + + + + + Cross Truck Equipment Co., Inc.Canton, Ohio + + + + + Crofton Cub + + + + + Cross Hill Mobile Homes + + + + + Crossland Industries + + + + + Crown + + + + + Crossroads + + + + + Crosley + + + + + Croft-INS + + + + + Crown Line + + + + + CARPENTER INDUSTRIES INC. + + + + + CARRON TRUCK REPAIR, LTD; GRANITE CITY ILLINOIS + + + + + Crest Trailer + + + + + Cruisaire Motor Corp. + + + + + Cruzmaster Camper + + + + + Country R. V. Mfg., Inc.Elkhart, Indiana + + + + + Craft Weld Trailer + + + + + Crystal Welding Inc. + + + + + Cushman + + + + + Circle Supreme Mfg.Knowville, Tennessee + + + + + CSM Manufacturing Co.Oklahoma City, Oklahoma + + + + + COASTAL METAL FAB, INC.; TOPSHAM, ME + + + + + Coastal Mfg. Co. or Coastal Building Systems + + + + + C & S Trailer WorldFort Worth, Texas + + + + + COR-TECH MFG., INC., LUVERNE, MN + + + + + Central Trailer Corp. + + + + + Contrail International + + + + + CONSTRUCTION TRAILER SPECIALISTS, INC.; SIKESTON, MO + + + + + Cleveland T-Trike Mfg., Inc. + + + + + CUSTOM AMUSEMENT PRODUCTS, COMPANY; DOVER, FLORIDA + + + + + CassMfd. by Custom Assembly + + + + + Cub Cadet Corp.Subsidiary of MTD Products, Inc.Purchased Cub Cadet tractor line fromInternational Ha + + + + + Cubster + + + + + Cuke, Inc.Mendota, Illinois + + + + + Custom King Horse Trailer + + + + + Cullip Industries + + + + + Cullison Mfg., Inc. + + + + + Culpepper Trailer Co.Clinton, Arkansas + + + + + Cumberland CoachesH & W Mfg. Co. + + + + + Cunningham + + + + + Curbmaster of America, Inc. + + + + + CURRAHEE TRAILERS + + + + + CurtisDiv. Globemaster Mobile Homes + + + + + Custom Camper Co. + + + + + Custom Bond Mfg. Co.Lansing, Michigan + + + + + Custom Coach Co. + + + + + Custom Engineering + + + + + Custom Craft Mfg. Co. + + + + + Cushman + + + + + Custom Homes, Inc. + + + + + Custom Plumbing Co. + + + + + Custom Trailers, Inc.Springfield, Missouri + + + + + Custom Frames, Inc.Normandy, Tennessee + + + + + CMW (Custom Metal Works) + + + + + Cushman Turf-OMC Lincoln + + + + + Cuyler Corp. + + + + + Cavco Ind. + + + + + CAVALLO + + + + + C & V Welding and Fabricating + + + + + CWC Feather-Lite Mfg. Co.El Reno, Oklahoma + + + + + Creekside Welding and Jamar Trailers + + + + + CHOPPER WORKS, PERFORMANCE, INC.; HAMPSTESD, NH + + + + + C & W TrailersGolden, MS + + + + + Cycle Kamp, Inc.Anaheim, California + + + + + Unpublished motorcycle mfr. (seeOperating Manual, Part 1,Section 2) + + + + + Cyclescoot + + + + + CZ (Czechoslavakia--also see makeJawa/CZ) + + + + + Brown, Dave L., Inc. + + + + + Daco Trailer Corp.Pocahontas, Arkansas + + + + + Daewoo + + + + + DAF + + + + + Daffin Mfg. Co. + + + + + Daihatsu + + + + + Daimler + + + + + D & A Vehicles, Inc. + + + + + Dairy Equipment Co.Madison, Wisconsin + + + + + Dakota Mfg. Co., Inc.Mitchell, South Dakota + + + + + Dalesman (United Kingdom) + + + + + Dalton, Inc. + + + + + DALTON ENTERPRISES INC. + + + + + Dalewood Manufacturing Co., Inc.Lauderdale, Mississippi + + + + + Damon Industries, Inc.Elkhart, Indiana + + + + + Dana Truck Mount Camper + + + + + Danny Boy Trailer + + + + + Dan Dee Industries, Inc. + + + + + Dandy Mobile HomesMfd. by Dan's Trailer Supply, Inc. + + + + + Danuvia + + + + + DANZER INDUSTRIES & DANZER/MORRISON; HAGERSTOWN, MD + + + + + Darby Industries + + + + + Darcell Industries, Inc. + + + + + Darf Corp. + + + + + Dargo Mfg. + + + + + Dart + + + + + Darvon Double Trailer + + + + + Darwin + + + + + Daton + + + + + Dart Truck Co., PACCAR, Inc. + + + + + Datsun + + + + + Dauphin + + + + + Davenco, Inc.Roscoe, Illinois + + + + + David Mfg. Co.Mason City, Iowa + + + + + Dave Hicks Co., Inc. + + + + + Davis + + + + + Davenport Trailer or Mobile Home Co. + + + + + Davron Traveler, Inc. + + + + + Davey Compressor Co. + + + + + Dawes Products Co. + + + + + DAWSON ENTERPRISES; ELKHART, IN + + + + + CommandoYard tractor--mfd. by Daybrook-OttawaDiv. + + + + + Daytona + + + + + Day's DrydockNorth Webster, IN; trailers. + + + + + Dayton Electric Mfg. Co.Mfrs. air compressors--Chicago, Illinois + + + + + Dazon, Inc. + + + + + D.B. + + + + + Double Delight, Inc. + + + + + Deep South Sales Co.Valdosta, Georgia + + + + + DISCOUNT TRAILERS; FORT WORTH, TX + + + + + Diamond City Trailer Mfg.Murfreesboro, Arkansas + + + + + Double Horse Trailer + + + + + D & D FABRICATIONS, ST LOUISS, MICHIGAN / TRAIL-TECH TRAILERS + + + + + D & D Trailer Inc.Trenton, New Jersey + + + + + Deutz-Allis Corporation + + + + + Dean Industries, Inc. + + + + + Debonair + + + + + Decamp Homes, Inc. + + + + + DeCourville + + + + + Deep Sanderson + + + + + Deere, JohnDeere & Co. + + + + + DeGeest Mfg. Co.Sioux Falls, South Dakota + + + + + Degelman Industries, Ltd. (Canada) + + + + + Deico Auto Carrier Trailer + + + + + Dekco Mobile Mfg.Menahga, Minnesota + + + + + De-Lar, Inc. + + + + + Delhi Metal Products, Ltd.Delhi, Ontario, Canada--mfrs. boattrailers + + + + + DELKRON TRANSMISSION + + + + + Dellow + + + + + Delmar Mfg. Co., Inc. + + + + + Delavan Trailer + + + + + De Lorean (imported from Belfast,Northern Ireland, UK) + + + + + Delphi Body Works, Inc. + + + + + Del Rey Industries, Inc. + + + + + Delta Homes Corp. + + + + + Delta Truck Trailer Co., Inc.Camden, Arkansas + + + + + Delto Homes, Inc. + + + + + Deluxe Homes, Inc. + + + + + Demo Horse Trailer + + + + + Demco + + + + + Dempster + + + + + De Muth Steel Products Co. + + + + + DENCO MANUFACTURING + + + + + Denver Trailer Supply, Inc. + + + + + Dennison Utility Trailer + + + + + Denzel + + + + + Derbi Motor Corp. + + + + + De Rose Industries Inc.Indianapolis, Indiana + + + + + Denzin & Rahn Mfg. Co., Inc. + + + + + De Soto Coach Co. + + + + + Design Intennt, Inc.Livingston, Tennessee + + + + + Design StructuresMfrs. office and special purposetrailers--Lombard, Illinois + + + + + DeSoto + + + + + Dragon ESP, Ltd., or Environmental Service Products + + + + + Destiny Industries, Inc.Moultrie, Georgia + + + + + Detroit Trailer Co.Detroit, Michigan + + + + + Dethmers Manufacturing CompanyBoyden, IA + + + + + Detroiter Homes + + + + + DeTomaso + + + + + Detroit Tool, Inc. + + + + + Deutz Tractor + + + + + Deville Industries, Inc. + + + + + Devil Travel Trailer + + + + + Devine's Machine & Design, Inc.Grantville, Pennsylvania + + + + + DEW Eze Mfg., Inc. + + + + + D & E WELDING; LYONS, GA + + + + + Dexter Trailer, Inc. + + + + + Diamond B + + + + + DIAMOND C MT. PLEASANT,TX, CAR HAULER + + + + + Diamond Mobile Home Mfg. + + + + + DIAMOND G TRAILER COMPANY /GRAHAM FABRICATIONS, INC.; PURVIS, MISSISSIPPI; MANUFACTURING HOME OF DRE + + + + + Diamond G EquipmentOklahoma City, Oklahoma + + + + + Diamond SWalters, Oklahoma + + + + + Diamond ReoDiscontinued production in 1974 + + + + + Diamond-BiltMfd. by Diamond Steel Co., Inc. + + + + + Diamond T + + + + + Charlevoix Mobile HomesMfd. by Dickinson Homes, Inc. + + + + + Dickirson Equipment Corp.Salem, Illinois + + + + + Dico Co.Des Moines, Iowa + + + + + Didier Mfg. Co.Franksville, Wisconsin + + + + + Digmor Equipment & Engineering Co., Inc. + + + + + Dillis Trailer Mfg. + + + + + Dille & McGuire Mfg. Co.Richmond, Indiana + + + + + Dillon Enterprises, Inc.North Liberty, Indiana + + + + + DillyNelson-Dykes Co., Inc. + + + + + Dina Camiones S. A. De C. V. + + + + + DINLI ATV'S + + + + + Diplomat Motor Home + + + + + Discover 25 Motor Home + + + + + Ditch Witch Div.Div. of Charles Machine Works, DIWTfor reference only + + + + + Di Tella + + + + + DIAMOND TRAILERS, INC. SHANDON,OH + + + + + Diva + + + + + Divco + + + + + Dively Mfg. Co.Claysburg, Pennsylvania + + + + + Divco-Wayne Industries + + + + + Dixie Craft Trailers, Inc.Eupora, Mississippi + + + + + DixieFruehauf Corp. Plant + + + + + Dixon Industries, Inc.Coffeyville, Kansas + + + + + DKR + + + + + DKW + + + + + Delahaye + + + + + DELOUPE, INC.; QUEBEC, CANADA + + + + + DOLPHIN MOTORHOMES + + + + + DM Utility TrailerGoodfield, Illinois + + + + + DMB Trailers + + + + + DMH Co.Div. of National Gypsum Co., St. Louis,Michigan + + + + + DMI, Inc.Goodfield, Illinois + + + + + DMP + + + + + D.M. & V. Enterprises, Inc. + + + + + Dodd Mfg. Co., Inc. + + + + + Dodge Woodcraft + + + + + Dodge + + + + + Doepker Industries Ltd. + + + + + Dolan Corp. + + + + + Dolphin HomesDiv. Tidwell Ind., Inc., Haleyville,Alabama + + + + + Dominion Road Machinery Co., Ltd. + + + + + DO-MOR Equipment, Inc. + + + + + Don-A-Bell Homes, Inc. + + + + + Dong Feng (East Wind) + + + + + Donhal, Inc. + + + + + Donnell Boat Trailer + + + + + Don May EnterprisesRichardson, Texas + + + + + Dons Boat Trailer + + + + + Donahue Corp., The + + + + + Doo Snowmobile Trailer + + + + + Doolittle + + + + + Doonan Trailer Corp.Great Bend, Kansas + + + + + Dormi Industries, Inc. + + + + + Dorsey Trailers Inc.Elba, Alabama + + + + + DORT MOTOR CAR COMPANY; FLINT, MICHIGAN + + + + + Dot + + + + + Double Shuffle Mobile Home + + + + + DOUBLE D DISTRIBUTORS, INC; PINK HILL, NORTH CAROLINA + + + + + Double E Trailer Mfg.Commanche, Oklahoma + + + + + Douglas Homes, Inc. + + + + + Double J Horse Trailer + + + + + Downer Industries + + + + + Downey Sheet Metal Shop + + + + + D & P Welding Co. + + + + + Drag Master Utility Trailer + + + + + DRAKE TRUCK BODIES, VERNON BRIDGE, PRINCE EDWARD ISLAND , CANADA + + + + + DARDON, INC. + + + + + Dreamer + + + + + Dresser Industries, Inc. + + + + + Draglite Trailer + + + + + Drifter Mfg. Co. + + + + + Driftwood Homes Corp. + + + + + Drive On Trailer Mfg.Mishawaka, Indiana + + + + + Dreamliner Trailer + + + + + Dropbox, Inc. + + + + + Drott Manufacturing Co.Div. J. I. Case Co. + + + + + Dressen Custom Trailers, Inc. + + + + + Drydock Trailer, Inc.Boat trailers--Freeport, Florida + + + + + Desperado Motor Racing & Motorcycles, Inc. + + + + + Super CookerMfd. by Deep South Sales Co. + + + + + DWS Storeway TrailerCrossville, Tennessee + + + + + DUTCH PARK HOMES, INC.; GOSHEN, IN + + + + + Detrail Trailer + + + + + DOUBLETREE RV, LLC; LAGRANGE, INDIANA + + + + + Dual Evans Corp. + + + + + Dual-Wide, Inc. + + + + + DuAl Mfg. Co. + + + + + Ducati + + + + + Dude Trailer + + + + + Duel + + + + + Duesenberg + + + + + Dugan Trailer, Inc.Groesbeck, Texas + + + + + Dusgo Trailer + + + + + Duke Mobile Homes + + + + + Dunbar KappleBatavia, Illinois + + + + + Dunham Mfg. Co., Inc.Minden, Louisiana + + + + + Dunham Lehr, Inc. + + + + + DUN-RITE MANUFACTURING LLC; DENVER, CO + + + + + Dupage Coach Co. + + + + + Duplex Truck Div.Div. of The Nolan Co., Midvale, Ohio + + + + + Duplex Mill & Manufacturing Co. + + + + + Durant + + + + + DurobiltEl Monte, California + + + + + Durcholz Trailer + + + + + Dura-Craft Mobile Homes + + + + + Durabilt Industries, Inc. + + + + + Duro Mobile Homes + + + + + Dutchman ManufacturingMiddlebury, IN + + + + + Dutec Trailer + + + + + Dutton-Lainson Co., Mfg. Div.Mfrs. of boat trailers, + + + + + Downs Clark Trailer + + + + + Down (2) Earth Trailers + + + + + Dixie Chopper + + + + + Dynacycle + + + + + Dynamic Industries, Inc. + + + + + Dynahoe Truck + + + + + Dynacruiser Mount Trailer + + + + + Dynamark Tractor Mower + + + + + Dynamics Corp. of America + + + + + Dynaweld Trailer + + + + + DAYTEC CENTER; HESPERIA, CA ; MOTORCYCLE FRAMES & PARTS + + + + + Eagle Crusher Co., Inc. + + + + + East Dump Trailer + + + + + Eager Beaver Trailer + + + + + Eagle Custom Coach Mfg. Co. + + + + + Eagle Equipment + + + + + Eagle International, Inc.Mfrs. buses--Brownsville, Texas + + + + + Eagle Trailer Mfg., Inc. + + + + + Easy Loader Trailer + + + + + Easy Rider Trailer + + + + + Eastern-Bilt, Inc. + + + + + Easom Engineering + + + + + Easton Car & Construction + + + + + East Se Trailer + + + + + Easy Traveler Trailer + + + + + Easyown Mfg. Co. + + + + + EAST TENNESSEE TRAILERS LLC; MOSHEIM, TN + + + + + Eaton Corp.Cleveland, Ohio + + + + + Easy Trail, IncBoat Trailers - Madison, Alabama + + + + + Ebony Line Products + + + + + E-Bus + + + + + Economy Camper Co. + + + + + ECONOLINE TRAILERS, INC. ; DOUBLE SPRINGS, ALABAMA + + + + + Eco-Bike Elec Motorcycle + + + + + Econo Flo Bulk Service + + + + + Economy-Wisconsin + + + + + EcsaMexico; trailers + + + + + Ecstasy Trikes of Allentown, Inc + + + + + DovekieMfd. by Edey & Duff + + + + + Edsel + + + + + Edwards Trailer + + + + + Edwins + + + + + CANADIAN MOTORHOME + + + + + EE-ZY Trailer Co. + + + + + Eagle + + + + + Eagle (also see make American Eagle) + + + + + EHM Mfg. Co. + + + + + Eidal International Corp. + + + + + Eidal International Corp. + + + + + Eight Point + + + + + El-Jay Div. Iowa Mfg. Co. + + + + + EK-CHOR MOTORCYCLE COMPANY; SHANGHAI, CHINA + + + + + Elcar Mobile Homes, Inc.Div. Divco-Wayne Industries + + + + + Elcona Homes Corp + + + + + Electric Wheel Co. + + + + + Electric Cycle + + + + + El Do-Craft Boat Co., Inc.Boat trailers--Smackover, Arkansas + + + + + Elder Trailer & Body + + + + + El Dorado Mfg., Ltd. + + + + + Elec-Trac + + + + + Electra Vacation Home + + + + + Elgin + + + + + Elgin Sweeper CompanyElgin, Illinois + + + + + Elite Mfg.Camper Shells--Merced, California + + + + + Eljay Mfg. Co. + + + + + ELK AUTOMOTIVE; ELKHART, IN + + + + + Elkhart Mfg. Co. + + + + + Elk River Corp. + + + + + Elgin-Leach Corp. + + + + + Elliott Mobile Home Mfg. + + + + + Ellis Trailer Co.Sylmar, California + + + + + Ellis Mfg. Co., Inc. + + + + + Elva + + + + + Electric Vehicle Corp. (mfrs. ofreplicas, Minneapolis, MN) + + + + + Electric Vehicle Technologies + + + + + Embassy HomesDiv. of Guerdon Industries + + + + + Embassy Mobile HomesDiv. of Guerdon Industries + + + + + Emmco Trailer + + + + + EMERSON TRAILERS, INC., FLORIDA + + + + + Emmert Mfg. Co., Inc. + + + + + EML + + + + + Emergency One, Inc. + + + + + Empire Corp., Inc. + + + + + Empire Generator Corp. + + + + + Empire Trailer, Inc. + + + + + Empire Plow Co. + + + + + Empress Industries + + + + + EMW + + + + + ENCORE; RIDING LAWNMOWERS + + + + + Encore + + + + + Energy Mfg. Co. + + + + + English Ford (British) + + + + + EconomyGarden tractor--mfd. by EngineeringProducts Co., Inc. + + + + + English Industries + + + + + (Generic Code--for use only whenmanufacturer is not listed) + + + + + Encore Motorcycle Co., USA + + + + + Enterprise Motor Home + + + + + En Route, Inc.Elkhart, Indiana + + + + + Ensenada Mobile Homes + + + + + ELKHART, INDIANA + + + + + ENVASES DE ACERO, S.A. DE C.V. MEXICO; TRAILER + + + + + Envirotech Corp., EIMCO ProcessMachinery Div. + + + + + Envoy + + + + + Enzmann + + + + + Equipment Pro or Milron Co., Inc. + + + + + Eric Enterprises, Inc.Coventry, Connecticut + + + + + Erectors & Fabricators, Inc.Tonganoxie, Kansas + + + + + Erickson Corp. + + + + + Erie City Welding & Spring + + + + + Erie-Go Mfg., Inc. + + + + + Erin Truck and Body EquipmentDolton, Illinois + + + + + Erie-Sprayer Co. + + + + + ELK RIVER MACHINE CO.; ELK RIVER, MN + + + + + Erskine + + + + + Escape Trailer + + + + + Esco Corp. + + + + + Exco Boat Trailers + + + + + Escapade Motor Home + + + + + Escort Trailer Corp.Seattle, Washington + + + + + Eshelman Sportabout + + + + + Essix + + + + + Esquire + + + + + Essex + + + + + Essick/Hadco Div.Div. A-T-O, Inc. (Formerly EssickMfg. Co.) + + + + + Essick Trailer + + + + + Establishment + + + + + Estevan Industries, Ltd. + + + + + Estate Mfg., Inc.Motor homes--Elkhart, Indiana + + + + + E. D. Etnyre & CompanyOregon, Illinois + + + + + E-TON DYNAMICS TECHNOLOGY INDUSTRY CO., LTD + + + + + East Texas Longhorn Trailers, LLC + + + + + Euclid, Inc., Subsidiary of WhiteMotor Corp. + + + + + Evans Mfg. Co., Inc., JohnSumter, South Carolina + + + + + Evans-Plugge Co., Inc.Columbus, Nebraska + + + + + Evanston Coach Co. + + + + + Evens Trailer Mfg., Inc. + + + + + Evergreen Log Trailer + + + + + Eversman Mfg. Co. + + + + + Evinrude Motors + + + + + EVERLITE, INC.; LONGVIEW, TX - FLEETRITE & OTHER MODEL OR SERIES + + + + + Electric Vehicles Northwest, Inc. + + + + + Everybody's Motor Car Mfg. + + + + + Electric Vehicle Systems, Inc. + + + + + Electric Vehicles of Texas + + + + + Red Ewald, Inc. + + + + + Excel Motor Home Truck + + + + + Excell Travel Trailer + + + + + Excel Industries, Inc.Hesston, Kansas + + + + + Excalibur + + + + + Excelsior + + + + + EXTREME CYCLES (MOTORCYCLES) + + + + + Executive Industries, Inc. + + + + + EXCEL EZLOAD TRAILERS, LLC; AMARILLO,TX + + + + + EXCELSIOR-HENDERSON MOTORCYCLES + + + + + EXISS ALUMINAM TRAILERS, INC.; EL RENO, OK + + + + + EXPEDITION MOTORHOMES; MANUFACTURED BY FLEETWOOD + + + + + Explorer + + + + + Extend-Ell Industries + + + + + E Z Tow Manufacturing Co.Madison, Connecticut + + + + + E.Z.A. Mfg. Co. + + + + + E-Z Camper (or Kamper) + + + + + EZ Dumper + + + + + E Z HaulDiv. of Parkhurst Manufacturing Co. + + + + + E-Z Loader Boat Trailer + + + + + E-Z Utility TrailerMfd. by Dutchie, Leola, Pennsylvania + + + + + Ezzy Load Boat Trailer + + + + + Fabricated Alloy Building Co., LLC + + + + + F.A.B. Mfg. Co. + + + + + FabcoDiv. of Kelsey-Hayes Co. + + + + + Facel-Vega + + + + + Facellia + + + + + Factory Outlet Trailers + + + + + Colonnade Mobile HomesMfd. by Fairmont Homes, Inc. + + + + + Fairmont Steel Products + + + + + Fairthorpe + + + + + Falcon (British) + + + + + FallsRiding lawn mower + + + + + Falco Mfg. Co. + + + + + Falcon Coach Co. + + + + + Fanc Motor Home Truck + + + + + Fargo + + + + + Farmhand, Inc. + + + + + Farm King, Ltd., (Canada) + + + + + Unpublished farm or garden equipment mfr(See Operating Manual, Part 1,Section 2) + + + + + Farenwald Boat Trailer + + + + + FAST ; SNOWMOBILES (TO INCLUDE BLADE MODEL) + + + + + Fat City Choppers + + + + + Fawn Corp. + + + + + Fayette Trailer + + + + + FECHTNER TRAILERS, ELBOW LAKE, MN + + + + + Federal Trailer Co. + + + + + Federal + + + + + Felber + + + + + Feldman Custom TrailersBowling Green, Kentucky + + + + + Fellwon Trailer + + + + + Felps Mfg. Corp.Johnson City, Texas + + + + + Feldman Engineering & Mfg., Co. + + + + + Ferree Trailer Corp.Climax, North Carolina + + + + + Ferguson Mfg. Co., Inc. + + + + + Ferrari + + + + + Fertilizer Dealer Supply, Inc.Philo, Illinois + + + + + Festival Homes of Ohio, Inc.Greenwich, Ohio + + + + + Feterl Mfg. Co. + + + + + Fey, Frank & Co. + + + + + FHL + + + + + F & H Mfg. Co. + + + + + Fiat-Abarth + + + + + Fieldacre Horse Trailer + + + + + Fiat-Allis Construction Machinery, Inc. + + + + + Fiat + + + + + Fiberfab, Inc. (Minneapolis, MN) + + + + + FIBERGLASS INTERNATIONAL, INC.; SCHALLER, IS + + + + + Alex Fiegelson Co. + + + + + Field Office Mfg. Co. + + + + + Field & StreamManufacturer Vacation Industries + + + + + Fields Mfg. Co. + + + + + Fiesta + + + + + Fife Trailer + + + + + Figura, MikeBruce, Wisconsin + + + + + FIAT KOBELCO; CONSTRUCTION EQUIPMENT/MACHINERY + + + + + Finger Lakes Trailer + + + + + FINN CORPORATION; FAIRFIELD, OH + + + + + Fireball Trailer Mfg. + + + + + Firestone Tractor + + + + + First American Coach + + + + + Air BuoyBoat trailers--mfd. by Firestone Tire &bber Products + + + + + Fischer + + + + + Fiesta (imported by Ford) + + + + + Five Star Engineering, Inc. + + + + + Five-K Trailer Co., Inc.Bethalto, Illinois + + + + + Flag Ship Boat Trailer + + + + + Flaherty Manufacturing Co.Div. of Koehring Co. + + + + + Flair Industries of Illinois, Inc.Macomb, Illinois + + + + + Flamingo Trailer Mfg. + + + + + A.Claeys Flandria (Belgium,imported by Saint Tropez) + + + + + Flasko Mfg. Co. + + + + + Felburn Flatbed Trailer + + + + + Fleet Cap'n Trailers + + + + + Fleet-Aire Camper Co. + + + + + Fleetcraft Corp. + + + + + Flexi-Coil Ltd. + + + + + Fleetwing Mobile Homes + + + + + Fleming Mfg. Co., Inc.Long Lake, Minnesota + + + + + Big Bear (mfd. by Flexo Products Co) + + + + + Flexible + + + + + Flintstone IndustriesOcilla, Georgia + + + + + Fleming Equipment Co.Ashdown, Arkansas + + + + + FIRST LINE REFINISHING; CORINTH, NY + + + + + SAUK CENTRE WELDING & MACHINE WORKS, INC. FELLING TRAILERS + + + + + Float-On of FloridaBoat Trailers--Ft. Pierce, Florida + + + + + Florida Trailer Co. + + + + + FLOE INTERNATIONAL + + + + + Florida Wholesale Distributor + + + + + Florig Equipment Co., Inc.Conshohocken, Pennsylvania + + + + + Flote-Aire Corp. + + + + + Flow Boy, Inc.Norman, Oklahoma + + + + + Flying Dutchman + + + + + Flying L Trailer, Inc.Falls City, Nebraska + + + + + FMC Corp. + + + + + Farm Shop, Inc.Congerville, Illinois + + + + + FN + + + + + FNM + + + + + Fantic + + + + + Foland Enterprises + + + + + Formaloy Flat Snowmobile Trailer + + + + + Foremost (also see make J.C.Penney) + + + + + Fontaine Truck Equipment Co.Birmingham, Alabama + + + + + Fontenelle Homes, Inc. + + + + + Foot Hill Horse Trailer + + + + + Forte Trailer + + + + + Forage King Industries Inc. + + + + + Forrest City Machine Works, Inc. + + + + + Ford (also see English, French,German, and Italian Ford) + + + + + Ford's Mobile Home Mfg. + + + + + Foreman Mfg. Co. + + + + + Foremost Mobile Home Mfg. + + + + + Forester + + + + + Forest City Industries, Inc. + + + + + Forlyn Engineering Co. + + + + + Forney Horse Trailer + + + + + Fostron's Factory Outlet Trailers + + + + + Fort Lupton Campers + + + + + Fort Smith Camper Mfg. Co. + + + + + Fortune Homes Corp. + + + + + Fost Joe Dog + + + + + Foster Flatbed Trailer + + + + + Fotografix Boat Trailers + + + + + Fountain Flatbed Trailer + + + + + Four Seasons Travel Trailer + + + + + Four Star Coach Co. + + + + + Four State Industries, Inc.Elkhart, Indiana + + + + + Four Winds + + + + + Four Winns + + + + + Fox + + + + + Foxi + + + + + Frank Motor Homes, Inc. + + + + + Franklin Coach Co. + + + + + Franklin Homes, Inc.Russellville, Alabama + + + + + Franklin + + + + + Frazier + + + + + Francis-Barnett + + + + + Francis Travel Trailer + + + + + Freeway, Inc. + + + + + Frederick-Willys + + + + + Freeway Travelers, Inc. + + + + + French Ford + + + + + French Horse Trailer + + + + + Friess Trailer + + + + + FOUR H MFG., INC; SUMNER, IA + + + + + Freightliner Corp. + + + + + Friendship Mobile Homes + + + + + Friggstad Mfg., Ltd., (Canada) + + + + + Frisky + + + + + Frazer-Nash + + + + + Franklin Equipment Co. + + + + + Frolic Homes, Inc. + + + + + Frontier Homes Corp. + + + + + Frost Trailer Co.West Monroe, Louisiana + + + + + Ferris Ind. + + + + + FOREST RIVER, INC.; GOSHEN, INDIANA TRAILERS + + + + + Foretravel, Inc.Nacogdoches, Texas + + + + + Fruehauf Corp.Detroit, Michigan + + + + + Fruin + + + + + Frye + + + + + Fast Load + + + + + FASTLINE; KANSAS + + + + + FAST TRAC MANUFACTURING; MOTORCYCLES, CALIFORNIA AS OF 5/2002 KNOWN AS CHEROKEE MOTORCYCLE COMPANY, + + + + + AvionMfd. by Fleetwood Enterprises + + + + + Fuerst Brothers, Inc. + + + + + Fuji Robbt Jr (Mfd. by H-MVehicles, Inc.) + + + + + Fuller Mfg. Co. + + + + + Fulton Boat Trailer + + + + + Funliner Mfg. Co. + + + + + Funtime Camper Trailer + + + + + Fuqua Homes, Inc.Div. Fuqua Industries--Arlington, Texas + + + + + Furatell IndustriesBruce, Wisconsin + + + + + Futura Mobile Home + + + + + Futurama + + + + + FWD Corp. + + + + + General Amer Aero Coach + + + + + Gabbianno + + + + + Gabriel Auto Carrier + + + + + Gad-About Trailers + + + + + Gadabout + + + + + Gafner Machine, Inc.Escanaba, Michigan + + + + + Galactic Corp. + + + + + Galbreath, Inc.Mfrs. refuse containers and trailers--Winimac, Indiana + + + + + Galion Manufacturing Div.Div. Dresser Industries, Inc. + + + + + Gallatin HomesBelgrade, Montana + + + + + Gannon Manufacturing Co., Inc. + + + + + Gar-Bro Manufacturing Co. + + + + + Gardner, Inc.Mfrs. travel trailers--Bristol, Indiana + + + + + Garelli + + + + + Garway Homes, Inc. + + + + + Garlock Equipment Co. + + + + + Gardner-Denver Cooper Industries, Inc.Denver, Colorado (formerly Gardener-Denver Co.) + + + + + Garwood + + + + + Gardner-Pacific-Sunrader, Inc.Vallejo, California + + + + + Garrett-Weldco Industries, Inc. + + + + + Garson Flatbed Trailer + + + + + Gary Carolina Co. + + + + + Garber Seeders, Inc. + + + + + Gast Manufacturing Co. + + + + + Gates, Walter C. + + + + + Gator Trailers Corp. + + + + + Gator Products, Inc.Jacksonville, Florida + + + + + GAZ + + + + + Gilson Brothers Company + + + + + G. & C. Mfg. Co. + + + + + Great Dane Trailers, Inc.Savannah, Georgia + + + + + General Electric + + + + + General Engines Co., Inc.Throfare, New Jersey + + + + + Gee-Bee-Dee Manufacturing & Supply Co. + + + + + Geer Co. + + + + + GEELY OF SHANGHAI CHINA; MOTORCYCLES,MOPEDS & PASSENGER CARS + + + + + General Engines Co., Inc.Throfare, New Jersey + + + + + Geering Industries, Inc. + + + + + Gehl Co. + + + + + Gelt Trailers + + + + + Gem Industries, Inc.Grand Rapids, Michigan + + + + + Gemini + + + + + Gemtop + + + + + General Coach Works of CanadaDiv. of Divco-Wayne Industries + + + + + General + + + + + GENERAL ENGINES CO. INC.; FLORIDA EAGER BEAVER & INTERSTATE + + + + + General Trailer Co., Inc.Springfield, Oregon + + + + + General Coach of FloridaDiv. of Divco-Wayne Industries + + + + + General Coach Mfg. Co.Div. of Divco-Wayne Industries + + + + + General Coach Works, Inc. + + + + + GENIE CONSTRUCTION EQUIPMENT; AERIAL,SCISSOR LIFTS ETC. + + + + + General Homes Div.Div. of Divco-Wayne Industries + + + + + General Moped Co. (New York,New York) + + + + + Gentry + + + + + GEO + + + + + Cruisemaster Motor HomeMfd. by Georgie Boy Mfg., Inc.Edwardsburg, Michigan + + + + + Georgia Trailer & Equipment Corp.Macon, Georgia + + + + + Gerard Lowboy Trailer + + + + + Generac Corp. + + + + + Gerlinger Foundry Machine Works + + + + + Forest ParkMfd. by Gerring Industries, Inc. + + + + + Getman Brothers Mfg. Co.Marion, Ohio + + + + + G & F HORSE TRAILER REPAIR; RIVERSIDE, CALIFORNIA + + + + + GULF STREAM + + + + + G & F TrailerBoat trailer mfd. in Bainbridge, Georgia + + + + + Gas Gas Motors of America, LLC + + + + + Ghieapy Jol Trailer + + + + + G & H Manufacturing, Inc.Arlington, TX; trailers. + + + + + GiantManufactured by Caldwell & Sons + + + + + Giannini + + + + + Osterlund, Inc.Harrisburg, Pennsylvania + + + + + Gibraltar Coach Mfg. Co. + + + + + Gibraltar Industries, Inc. + + + + + Giddings Machine Co., Inc.Fort Collins, Colorado + + + + + GIGI Industries, Inc.Motor homes + + + + + Gilbern + + + + + AlanMfd. by Giles Industries + + + + + Gilera + + + + + GILLIG CORPORATION HAYWARD, CALIFORNIA , BUS + + + + + Gill Mfg. Co. + + + + + Gilmore Trailer, Inc.Seneca, Pennsylvania + + + + + Gilson Brothers Co. + + + + + Gilmore-Tatge Mfg. Co., Inc. + + + + + Gindy Mfg. Corp.Downingtown, Pennsylvania + + + + + Ginetta + + + + + Gin Ray Mfg. Co.Nicollet, Minnesota + + + + + Girard's Mfg. Co. + + + + + Gilson + + + + + Gitane + + + + + Givens Mfg. Co. + + + + + Gladding Travel Trailer + + + + + Glas + + + + + Glasstite, Inc.Dunnell, Minnesota + + + + + Globe + + + + + GLOBAL ELECTRIC MOTOR CARS, LLC, FARGO,NORTH DAKOTA 2 & 4 PASSENGER, LONG & SHORT UTILITY TYPE VEHIC + + + + + Great Lakes Cargo, LLC + + + + + Goldenvale, Inc. + + + + + Gleason Corp. + + + + + Glenbrook Homes Of Tennesee + + + + + Glen & Cecil Mobile Home Manufacturing& Sales + + + + + Glen Manor Homes, Inc. + + + + + Glendale Mobile Homes + + + + + Glenhill Road Machinery + + + + + FeedlinerMfd. by Globe Fabricators, Inc. + + + + + Glider Mobile Homes Corp + + + + + Glitsch + + + + + Golfmobile + + + + + G & G TRAILERS; GILLIAND & GILLIAND; PRESTON GILLIAND, HALLS, TN + + + + + Glen-L TrailersLewiston, Idaho + + + + + Globe Camper Mfg. + + + + + Globemaster Mobile Homes + + + + + Globestar Industries, Inc. + + + + + Glover Plastic Sprayer + + + + + Glasride Trailer + + + + + GLENDALE RECREATIONAL VEHICLES; STRATHROY, ONTARIO, CANADA + + + + + Glassic + + + + + Glass Stream TrailersNashville, Georgia + + + + + Glastron, Inc.New Braunfels, Texas + + + + + G & L Utility Trailers + + + + + EZZ PullMfd. by Glass-Wood Products, Inc. + + + + + General Motors + + + + + General Motors Corp. + + + + + GMR Enterprises, Inc. + + + + + General Marine Industries + + + + + GENERAL SHELTERS; CENTER, TX CARGO TRAILERS ETC. + + + + + GENERAL WELDING & FAB., ELMA,NEW YORK + + + + + BILLY GOAT LAWN VACUUM + + + + + Co Corp. + + + + + Goebel Trailer Co. + + + + + Gorilla Electric Vehicles + + + + + Goff Mfg. Corp. + + + + + Go-Tag-Along + + + + + Go-Tel Leasing Corp. + + + + + Gogomobile + + + + + Go Kart + + + + + Gold Leaf Engineering Co. + + + + + Gold Star Mobile Homes, Inc. + + + + + Golden Coach Mfg. Co. + + + + + Goliath + + + + + Golden Isle Trailers, Inc. + + + + + Golden State Mobile Homes + + + + + Golden West Mobile Homes + + + + + Go-Lite, Inc. + + + + + Gonard Enterprises, Inc. + + + + + Golden Nugget Travel Trailer + + + + + Good Mfg. Co. + + + + + Gooseneck Trailer Mfg. Co., Inc.Bryan, Texas + + + + + Goodyear Camper Mfg., Inc.Lincoln, Nebraska + + + + + Gorbett BrothersFort Worth, Texas + + + + + Gordon + + + + + Gore Trailer + + + + + Gorman-Rupp Company, TheMansfield, Ohio + + + + + Gordon Smith & Co., Inc.Bowling Green, Kentucky + + + + + GRAND PRIX TRAILER MANUFACTURING, CO.; FREDERICK, MD + + + + + Grady-White Boat Co. + + + + + Graciela + + + + + GradallDiv. of Warner & Swasey Co. + + + + + Grace, W. E., Manufacturing Co. + + + + + Graffin Wellpoint Corp. + + + + + Graham + + + + + Gramm + + + + + Graco, Inc. + + + + + Graham-Paige + + + + + Gray-Velle Mobile HomesDiv. of Stahan Manufacturing Co. + + + + + GREAT DANE INCORPORATED; FARM & GARDEN EQUIP + + + + + Great Divide Coach Mfg. + + + + + Great Bend Mfg. Co., Inc. + + + + + Green Boat Trailer + + + + + Air-Flo Mobile HomeMfd. by Gregory Mfg. Co. + + + + + GreenvillaMfd. by Greenville Mobile Homes + + + + + Great Lakes Mobile HomesDiv. of Guerdon Industries + + + + + Green Mfg., Inc. + + + + + Greencastle Coach Co. + + + + + Gregory Trailer Sales + + + + + Great Escape + + + + + Greeves + + + + + Griffith + + + + + Grimmer-Schmidt Corp.Franklin, Indiana + + + + + Grizzly Mfg. Co., Inc. + + + + + Great Lake + + + + + Green & Green Mfg. Co., Inc.Lancaster, Texas + + + + + Greenhaven Mobile House Trailer + + + + + Gronewegen B.V.Netherlands + + + + + Grove + + + + + GRM + + + + + Coventry Mobile HomeMfd. by Great Southwest Corp. + + + + + Gran Spree Mini Camper + + + + + Gruendler Crusher and Pulverizer Co. + + + + + Grumman-Olsen + + + + + Clark-Gravely Corp.Gravely tractors + + + + + Grove Mfg. Co.Affiliated with Kidde, Inc.,Shady Grove,Pennsylvania + + + + + Grycner + + + + + Grizzly Corp. + + + + + GARDEN STATE CHASSIS REMANUFACTURING, INC + + + + + GOLD STAR ENTERPRISES; SIKESTON, MO + + + + + G. S. Industries, Inc. + + + + + GSM + + + + + Guerdon Industries + + + + + Guest Industries, Inc. + + + + + Guidon Camper Trailer + + + + + Guizzo + + + + + Gulf States Mfg. Corp. + + + + + Gustafson Mfg. Co., Inc. + + + + + Guthrie Trailer Sales, Inc.Great Bend, Kansas + + + + + Guazzoni + + + + + Ottawa Truck Div., Gulf & WesternMfg., Co. + + + + + Gypsum Express LTDBaldwinsville, NY; makes convertordollies + + + + + Gypsy Campers, Inc. + + + + + Gazelle + + + + + Haban/Agri-Fab or Agri-Fab/Haban + + + + + Hackney & Sons, Inc. + + + + + Hadley Trailer Mfg. Co.North Carolina + + + + + HADDOX QUALITY TRAILERS; OKLAHOMA + + + + + Hartman-Fabco, Inc. + + + + + Haflinger + + + + + Hahn, Inc.Evansville, Indiana + + + + + Hairgrove Industries, Inc.Longview, Texas + + + + + Halco Co. + + + + + Hale Horse Trailer + + + + + Hall, R.D. Mfg., Inc. + + + + + Hallmark Motor Home + + + + + HAULIN TRAILERS LLC, MUSKEGON, MI TRAILERS + + + + + Halliburton Co. + + + + + Hamby Co. + + + + + Hamilton Trailer + + + + + Hamlite + + + + + Hampton Homes, Inc.Edwardsburg, Michigan + + + + + HAMPTON AMUSEMENT RIDES, LLC; MISSOURI + + + + + Hank's Mobile Home Service + + + + + Clifford B. Hanney & Sons, Inc. + + + + + HanoverKingfisher, Oklahoma + + + + + Hanson Machinery Co. + + + + + Happy Wanderer Industry, Inc. + + + + + Happy Travl'r Coaches, Inc. + + + + + Harbortown Mobile HomeLeola, Pennsylvania + + + + + Harris Honker Camper Mfg. + + + + + Hardee Mfg. Co.Affiliated with Harsco Corp., PlantCity, Florida + + + + + Harrison Trailer Mfg. Co. + + + + + Harding Trailer Co.Fort Myers, Florida + + + + + Hart Mobile Homes Corp. + + + + + Hartford Homes, Inc. + + + + + Harklau Industries, Ind.Humboldt, Iowa + + + + + Hartline Travel Trailers + + + + + Hart Mfg., Inc.Chickasha, Oklahoma + + + + + Harnischfegar Corp.Subsidiary of Harnischfeger P&H + + + + + Harrington Mfg. Co., Inc.Mfr. of Roanoke-Hustler, Lewiston, NorthCarolina + + + + + Hartman + + + + + Harvest Motor Home + + + + + Harlow Travel Trailer + + + + + Haul-A-Day Trailers + + + + + Haulmark Industries, Inc. + + + + + Haulette Trailer + + + + + HAULRITE, INC.; MT. JULIET, TENNESSEE **(NOT HAULRITE OF MISSOURI VMA/BMMF)** + + + + + Haul-It-All-Flatbed Trailer + + + + + Hawkeye Camping Trailer + + + + + HAWN FREEWAY TRAILER SALES (HAWN TRAILERS); DALLAS, TEXAS + + + + + Hawthorne + + + + + EnerexMfd. by Hayes Equip. Corp. + + + + + Haynes Mfg. Co., Inc.Chickasha, Oklahoma + + + + + Hayes Log Truck + + + + + H & B Trailer Co.Damascus, Arkansas + + + + + Harley-Davidson + + + + + H. D. Hudson Manufacturing Co. + + + + + AMFSee Harley-Davidson + + + + + Hudson Trailer + + + + + Heald, Inc. + + + + + Hearthside Mobile HomesDiv. Moduline International, Inc. + + + + + Heathkit + + + + + Heckendorn Mfg. Co.Cedar Point, Kansas + + + + + Heckaman Mfg., Inc. + + + + + Heco Boat Trailer + + + + + Hed-Way, Inc. + + + + + Heil Co. + + + + + Heinkel + + + + + Heilite Trailers, Inc. + + + + + Helm Mfg. Co. + + + + + Helmers Custom Coach + + + + + Heltzel Co. + + + + + Hendrickson Manufacturing Co. + + + + + Henred-Fruehauf (Pty.) Ltd.South Africa + + + + + Henke Manufacturing Corp. + + + + + Hendrix Manufacturing Co. + + + + + Henderson Mfg. Co. + + + + + Henry J. + + + + + Henslee Mobile Homes, Inc. + + + + + Herbst Brothers + + + + + Hercules + + + + + Herd Seeder Co., Inc. + + + + + Heritage Mobile Homes + + + + + Heron Travel Campers + + + + + Herrli Industries, Inc. + + + + + Herter Snowmobile Trailer + + + + + Herzig Mfg. Co. + + + + + Woods Div., Hesston Corp. + + + + + Hesse Corp.Kansas City, Missouri + + + + + Hester Plow Co., Inc. + + + + + Heritage by Abel Corp. or Franklin Coach Co., Inc. + + + + + Hein-Werner Corp. + + + + + Hewitt-Lucas Body Co. + + + + + Hatfield Welding & TrailerSales, Inc.Mt. Pleasant, Texas + + + + + Hagon + + + + + H & H TRAILER CO. + + + + + Hi-Lo Travel Trailer + + + + + Hiawatha Mobile Homes + + + + + Hiab Cranes and Loaders, Inc.Newark, Delaware + + + + + Hiawatha + + + + + Hibdon Mfg. Co. + + + + + Hilbilt Mfg. Co.Benton, Arkansas + + + + + High Chaparral, Inc.Ft. Worth, Texas + + + + + Hickey Trail-Blazer + + + + + HICO Corp. of America + + + + + Hicks + + + + + Hide-A-Way Camper + + + + + Highway Cruisers, Inc. + + + + + High Country Trailer Sales & Mfg. + + + + + Highway Sleeper Corp. + + + + + Highway Trailer + + + + + Highway Trailer of Wisconsin &California + + + + + Master HouseMfd. by Highlander + + + + + Highway Manufacturing Co.Div. of Motac, Inc. + + + + + Highway IndustriesEdgerton, Wisconsin + + + + + HITCH-HIKER MANUFACTURING, INC., NEW MIDDLETOWN, OH + + + + + Hillsboro Industries, Inc. + + + + + Hill Country Homes, Inc. + + + + + Hill Dump Trailer + + + + + Hill Mfg. Co. + + + + + Hillco, Inc. + + + + + Hillman + + + + + Hillcrest Homes, Inc.Div. Skyline Homes + + + + + Hilton Mobile Homes, Inc. + + + + + Hilltopper Mfg. Corp. + + + + + Hilo Snyder Travel Trailer + + + + + Hilltop Mfg., Inc.El Dorado, Arkansas + + + + + Hindustan + + + + + Hines Mfg. Co.Rocky Mount, North Carolina + + + + + Hino + + + + + Hinson Mfg. Co., Inc. + + + + + Hinomoto Tractor Sales USA, Inc.Houston, Texas + + + + + Hire Dump Trailer + + + + + Highstone Trailer + + + + + Hitching Rail Trailer + + + + + Hi-U-Trailer Mfg. + + + + + High View, Inc. + + + + + HI-WAY STAR, INC; ODESSA, FL + + + + + Truck Trailer Sales & ServiceYankton, South Dakota, Inc. + + + + + Hickory King Horse Trailer + + + + + Holandia Holder + + + + + Haul-A-Fame, Inc. + + + + + Holly Parks, Inc.Mobile Homes + + + + + HIGH-LITE RIDES, INC.; GREER, SC + + + + + Hellwood Trailer + + + + + HM + + + + + Homemade Trailer code (See OperatingManual, Part 1, Section 2.)page 1-33) + + + + + HME, INCORPORATED; WYOMING, MI + + + + + HOMESTEADER, INC.; NEW TAZEWELL, TN + + + + + Free-Way II, (Mfd. by H-MVehicles, Inc.) + + + + + H.N.L. CORP AND OR HENRY L. LANCIANI CORP. + + + + + Hahn Motors, Inc. + + + + + Hanson Camping Trailer + + + + + Holman + + + + + Hobart Brothers Co.Troy, Ohio + + + + + Hobbs TrailersDiv. of Fruehauf Corp.--Fort Worth,Texas + + + + + Ho-Bo Trailers + + + + + Ace (model of Hodaka) + + + + + HODGES CUSTOM HAULERS; BENTON, KY + + + + + Hoffman + + + + + Hornet Industries, Inc. + + + + + Holsclaw Brothers, Inc.Evansville, Indiana + + + + + Holland Transplanter Co. + + + + + Holden + + + + + Holden Trailer Mfg. Co.Holiday House, Inc. + + + + + HOLIDAY HOUSE + + + + + Holiday Industries, Inc. + + + + + Holmes Wrecker + + + + + Holland Trailers + + + + + FairwayMfd. by Holiday Homes, Div. of BeatriceFoods + + + + + Holstein Mfg., Inc.Holstein, Iowa + + + + + Holiday Royal Travel Trailer + + + + + Hole Pumps + + + + + Aluma-liteMfd. by Holiday Rambler Corp. + + + + + Holiday Trailer Sales & Mfg. Co. + + + + + Holt Trailer + + + + + Holland Camper Co. + + + + + Holva Travel Trailer + + + + + Hollywood Mobile Homes + + + + + Holly Industries (or Coach Co.) + + + + + Holmes-Craft + + + + + Holiday Marine Sales, Inc. + + + + + Homemade motorcycle code (seeOperating Manual, Part 1,Section 2.) + + + + + Aly AllianceMfd. by Homette Corp. + + + + + HomeliteDiv. Textron, Inc. + + + + + Homeway Mobile Homes + + + + + Ernest Holmes Div. + + + + + Honda + + + + + Honeywell Motor Prods., Honeywell,Inc. + + + + + Hongki or Hong-Chi + + + + + Honorbuilt Trailer Mfg. + + + + + Hooper Trailer Sales, Inc.Monticello, GA; flatbed trailers. + + + + + Hoosier Mobile Homes + + + + + Hop Cap P/U Camper Trailer + + + + + Hopkins Mfg. Corp. + + + + + Horch Limousine + + + + + Horizon Mobile Homes + + + + + Horner-Golem Co. + + + + + Horseman Camper + + + + + Hornet Flatbed Trailer + + + + + Horex + + + + + Horizon Motor Home + + + + + Hotchkiss + + + + + Houle Industries, Inc. + + + + + House of Architecture + + + + + Hough Brothers, Inc. + + + + + House of Harmony, Inc. + + + + + Cycle-SleeperMfd. by Howard Mfg. Co. + + + + + Howard Commercial Turf Equipment Co.Mfrs. Mowers--St. Louis, Missouri + + + + + Howdan Mfg. Co. + + + + + Howe Engineered Sales Co.Waterloo, Iowa + + + + + How-Lo Campers Co. + + + + + Howard Rotavator Co., Inc., Subsidi-ary of Howard Machinery, Ltd. + + + + + Howse Implement Co., Inc. + + + + + Harben, Inc. + + + + + HRG + + + + + Harrell Mfr.North Carolina + + + + + HARRIMAN SALES, INC.; DEKALB JCT, NEW YORK + + + + + HORSE CREEK MANUFACTURING; COOKVILLE, TX + + + + + HERITAGE CUSTOM TRAILERS; BENTON,ILLINOIS + + + + + Herter's, Inc.Waseca, MN + + + + + Harmon Tank Co.Lubbock, Texas + + + + + HEARTLAND TRAILER MANUFACTURING & SALES, INC.; SIKESTON, MO BARLOW TRAILERS + + + + + HORTON VANS, INC.; EATONTON, GO + + + + + HORTON TRAILERS + + + + + Herter + + + + + FORCE MANUFACTURING, INC. AND/OR HARVEY; BANGOR MAINE, NANCY HARVEY + + + + + HUSKEE LAWN & GARDEN EQUIPMENT + + + + + Hus-Key Mfg., Inc. + + + + + H & S Mfg. Co., Inc. + + + + + Husqvarna + + + + + Hitachi + + + + + J. M. Huber Corp. + + + + + Hudson + + + + + Huffy + + + + + Huffy Corp. (Dayton, Ohio) + + + + + Hughes + + + + + HullcoSikeson, Missouri (Sikeston TrailerSales) + + + + + Humber + + + + + Humbee Surrey + + + + + Hummel + + + + + HUMMER; FORMERLY CODED AS AMGN/AMERICAN GENERAL CORP. AS OF 3/1/02 PART OF THE GENERAL MOTORS (GM) V + + + + + Humes Truck & Trailer Mfg. Co + + + + + Hunter Custom TrailersKingsbury, Indiana + + + + + Huntington Distributors + + + + + Hunt's Trailer Mfg. + + + + + Huntsman, Inc.Chetopa, Kansas + + + + + Hupmobile + + + + + Huron Industries, Inc. + + + + + Hurst Trailers, Inc.Washburn, Tennessee + + + + + Hustler-Rustler + + + + + HUSABERG MOTORCYCLES, SWEDEN + + + + + Husky Farm Equipment Ltd.Ontario, Canada + + + + + Husky + + + + + Husqvarna + + + + + Huss Sales, Inc. + + + + + Hustler Boat TrailerPowell, Tennessee + + + + + HUTCO BOAT TRAILER + + + + + Hunter Structures Trailer + + + + + Huber-Warco + + + + + HAWK TRAILERS, LLC; MANAWA, WI + + + + + H. & W. Mfg. Co. + + + + + Hewitt-Robins Crushing & VibratingDiv. Litton Systems, Inc.Equipment Div. + + + + + Hycaloader Co., Inc. + + + + + Hyde Corp.Hurst, Texas + + + + + Hy-Dynamic Div.Bucyrus-Erie Co. + + + + + Hylander Utility Trailer + + + + + Hy-line Enterprises, Inc.Elkhart, Indiana + + + + + Hylton Homes, Inc.Phil Campbell, Alabama + + + + + HYOSUNG MOTORCYCLES & MOPEDS; CHINA + + + + + HAYSHED TRAILERS; ALBERTA CANADA + + + + + Hyster Co. + + + + + HYDRO TEK CORP.; REDLANDS, CA + + + + + Hyundai Trailers + + + + + Hyundai + + + + + I. A. M. E. + + + + + Iben Boat Trailer + + + + + ICL Cargo Trailer + + + + + IC CORPORATION;FORMERLY AMERICAN TRANSPORTATION CORPORATION + + + + + I.D.E.C.O. + + + + + Ideal Industries + + + + + Idle-Time Cabover Camper Trailer + + + + + ISHIKAWAJIMA-HARIMA HEAVY INDURSTRIES CO, LTD.; JAPAN + + + + + IRON HORSE TRAILER MANUFACTURING; TEXAS + + + + + International Jet Boats De Mexico S.A.De C. V.Mexico; trailers + + + + + I. K. A. + + + + + INTERMOUNTAIN WHOLESALE, INC. ;COMMERCE CITY, CO + + + + + Impala Mobile Homes & Travel Trailers + + + + + I. M. P. (U.S.) + + + + + Imperial Industries + + + + + Imperial(for model years 1955-1983, useVMA/IMPE; for models prior to 1955and model years 1990-1993, + + + + + Imperial Mobile Homes + + + + + Indian (Taiwan) + + + + + Indies House, Inc.Hackleburg, Alabama + + + + + Independent Products Co. + + + + + Indiana + + + + + Indio Trailer Mfg. Corp. + + + + + Indian Campers, Inc. + + + + + Independent Mfg. Co., Inc. + + + + + IMEIndustrial & Municipal Engineering, Inc. + + + + + Infiniti + + + + + Infinity Trailer Sales + + + + + Ingerson Mfg. Co. + + + + + Blanco (model of Intramotor) + + + + + Ingram Manufacturing Co. + + + + + Ingersoll-Rand Co.Woodcliff Lake, New Jersey + + + + + Inger-Teco Corp. + + + + + Inland Equipment Corp.St. Charles, Illinois + + + + + Inline Southwest Horse Trailer + + + + + Insley Manufacturing Co.Subsidiary AMCA International Corp. + + + + + INDEPENDENCE MOTORCYCLE COMPANY + + + + + Intermeccanica + + + + + INMAN TRAILERS; INMAN, KS + + + + + Innocenti + + + + + Idaho Norland Co. + + + + + Intrapid Trailer + + + + + Insley Four Wheel Tag Trailer + + + + + Interconsult Mfg. Co. + + + + + International Coach Mfg. + + + + + Integrity Custom Trailers or R & D Fabrication + + + + + International Industries, Inc. + + + + + International Harvester Co. + + + + + International Mobile Homes of California + + + + + Interstate Products + + + + + International Trailer Corp. + + + + + Interstate Travel Trailer + + + + + Interstate Trailers, Inc.Arlington, Texas + + + + + Invader Travel Trailer + + + + + INNO VAN; MORAINE, OHIO/MERC HOLDING CO. + + + + + Iowa Mold Tooling Co., Inc. + + + + + Ioni-A-Home Mfg. Co. + + + + + Iowa Manufacturing Co.Cedar Rapids, Iowa + + + + + IPSCO-Lambton Steel + + + + + Irabeck & Co.Harrington, Delaware + + + + + IRD + + + + + IRONDOG TRAILERS + + + + + I.S.E., Inc.Denver, Colorado + + + + + Isetta + + + + + Islander Motor Home + + + + + ISO + + + + + Isuzu + + + + + Italian Ford + + + + + Italia + + + + + Italjet + + + + + Itasca Motor HomesDiv. Winnebago Ind., Inc.,Forest City, Iowa + + + + + Italtelai Mfg. Co. (Italy) + + + + + Italvelo + + + + + INDIANA TRAILER MANUFACTURING + + + + + Itom + + + + + Iveco Trucks of North America, Inc.Mfrs. of Magirus Tractors + + + + + Jackson Trailer + + + + + Jac-Trac, Inc.Marshfield, WI + + + + + Jack's Trailer Mfg. + + + + + Jaclen Mfg. Co. + + + + + EstatePower mowers--mfd. by Jacobsen Manu-facturing Co. + + + + + Jacobsen Mobile Homes + + + + + Jack's Trailer Mfg. of Florida + + + + + Jaeger Machine co.Columbus, Ohio + + + + + Jaguar + + + + + Jahn Flatbed Trailer + + + + + Jackel Motorsports or China Jialing Ind. Co., Ltd. + + + + + Jalldee, Inc.Spencer, Wisconsin + + + + + Ja-Mar Manufacturing IncSikeston, MO + + + + + Jamboree Motor Home Truck + + + + + JAMCO TRAILERS; BRUCEFIELD, ONTARIO, CANADA + + + + + JAMIE'S WELDING; OKLAHOMA + + + + + JAMMER CYCLE PRODUCTS, INC BURBANK, CA + + + + + Jantz Mfg., Inc. + + + + + Jarco, Inc.Newport Beach, California + + + + + Jason Mfg. + + + + + Babetta (mfd. by Jawa, imported byAmerican Jawa, Ltd., Plainview,New York) + + + + + Jayco, Inc. + + + + + Jay Dee IndustriesCassopolis, Michigan + + + + + Jay-Kee Mfg., Inc.State Center, Iowa + + + + + Jays Hy Lift Manufacturing Co. + + + + + Jay Wren Trailer + + + + + JB + + + + + J B EnterprisesElkhart, IN + + + + + JCB Excavators, Inc.Whitemarsh, Maryland + + + + + Deere and CompanyMoline, IL + + + + + JD HANDLING SYSTEMS OR D.J. STEELE & CONSTRUCTION + + + + + Jec Ro + + + + + Jeep (for model years 1989 throughresent) + + + + + JEHM POWERSPORTS; MOTOR SCOOTERS, MOTORCYCLES, ATVS, ETC. + + + + + Jen Sell Corp.Elkhart, Indiana + + + + + JENNINGS TRAILERS, INC; EMORY, TEXAS + + + + + Jensen + + + + + Jeep (for model years prior to 1970) + + + + + Jeraco Enterprises, Inc.Milton, Pennsylvania + + + + + Jerrytime Camper + + + + + Jersey Trailer + + + + + Jerry's Welding Service (JWS)Freeport, Illinois + + + + + Jetmobile + + + + + Jet Stream Camping Trailer + + + + + Jewel Trailer, Inc. + + + + + J.F.W. Mfg., Inc.Wichita, Kansas + + + + + Johns Corp. + + + + + JIANSHE MOTORCYCLES & MOTORSCOOTERS, CHINA + + + + + Jim Dandy, Inc.Chickasha, Oklahoma + + + + + Jim & Dave's Trailer Mfg. + + + + + Jim Glo TrailersWilcox, AZ + + + + + Jim's Trailer ShopPortland, Oregon + + + + + JINDO CORPORATION; SEOUL,SOUTH KOREA + + + + + JINSCENG MOTORCYCLES/MINIBIKES, CHINA + + + + + J & J Flatbed Trailer + + + + + J.J.J., Inc. + + + + + J-J-N ENTERPRISES; SISKETON,MO + + + + + Jerry James TrailersSikeston, MO; utility trailers + + + + + J & J TRAILER MANUFACTURING OR J.D.J. TRAILER MANUFACTURING, ONTARIO, CANADA + + + + + JLG Ind., Inc. + + + + + Bass TrackerMfd. by JLM Industries + + + + + J & L Tank, Inc.Saginaw, Texas + + + + + Jet + + + + + Jimglo Trailers & ProductsPhoenix, AZ; car trailers andutility trailers + + + + + James + + + + + Job Site Trailer + + + + + Joe's Custom Boat Trailer + + + + + Joe's Welding ServiceSalem, Illinois + + + + + Johnson Corp. + + + + + Johnson Motors + + + + + Johnson's Trailer Building & Repair + + + + + Johnny Lightning + + + + + Johnson Mfg. Co., Inc. + + + + + C. S. Johnson Co. + + + + + Joplin + + + + + Ira Jorgenson + + + + + Joshua Trailer + + + + + Carl A. Johnson & Sons + + + + + Journey Motor Homes, Inc.Elkhart, Indiana + + + + + Jowett + + + + + Joy Mfg. Co. (Air Power Group)Montgomeryville, Pennsylvania + + + + + Jupiter + + + + + J.P. Utility Trailers & Welding + + + + + JERR-DAN + + + + + J & R MANUFACTURING CO., LLC; TRINITY AL. + + + + + J-Rod Trailer Co.Red Oak, Texas + + + + + J.S. Mobile Homes + + + + + JOHNSTON SWEEPER CO., CHINO, CA + + + + + J.T. Ind., Ltd.Lenox, Iowa + + + + + Jude Tent Trailer + + + + + Five-Star ST, LTD Edition. or C2(mfd. by Juili Entp. Co., Ltd.,imported by General Moped Co. Inc) + + + + + Junior Camping Trailer + + + + + J & W TRAILERS; LAMAR, MO + + + + + Christie, J. W. Bill, Inc.Collin County, Texas + + + + + Johnson Welding & Steel SupplyPhilo, Illinois + + + + + Fahrzeugwerke GMBHKarls Kaessbohrer, Germany + + + + + Kaiser + + + + + Kaj'n Homes, Inc. + + + + + Kamp King Utopian + + + + + Kal-Custom Boat Trailer + + + + + Kallio Co.Fremont, Nebraska + + + + + Kalyn Co. + + + + + Kama + + + + + Kamp-A-While Industries + + + + + Kami + + + + + Kampers Kabin + + + + + Kane TrailersGreeley, Colorado + + + + + Kan Haul Trailer Sales + + + + + Kannon Motorcycles, LLC or SJH Mfg., Inc. + + + + + Kanzol Enterprises, Inc. + + + + + KARAVAN TRAILERS, INC. + + + + + KARD CO, RENSSELAER, INDIANA + + + + + Kari Cool Trailer + + + + + Kar-Go Metal Stamping Co.Willow Grove, Pennsylvania + + + + + Kar-Rite CorporationFranklin Park, Illinois + + + + + Karson Industries, Inc. + + + + + Kartote + + + + + Kasey + + + + + Kassborth + + + + + Kasten Mfg. Co.Allenton, Wisconsin + + + + + Katolight Corp. + + + + + Kato Engineering, Subsidiary ofReliance Electric + + + + + KAUFMAN TRAILERS INC. + + + + + Kawasaki (Japan) + + + + + Kaydel, Inc. + + + + + Kayout-Forester Travel Trailer + + + + + Kayot, Inc. + + + + + Kaywood Homes, Inc. + + + + + Kazuma (Stannic Mfg. Co., Ltd.) + + + + + K-Bar Industries, IncSavage, MN; utility trailers + + + + + KBH CORPORATION; CLARKSDALE, MS + + + + + Killer Chopper Cycle Fabrication, LLC + + + + + K-D Mfg. Co. + + + + + KEARNEY TRAILERS CO. GRNADSALINE, TX + + + + + Kelley ManufacturingBogata, Texas + + + + + C.C. Kelley & Son + + + + + Kellogg-American, Inc. + + + + + Kelson Engineering Co. + + + + + Kempf Car Hauler + + + + + Ken Trailer + + + + + Kent Air Tool Co. + + + + + Kden-Craft Products, Inc. + + + + + Kent Mfg. Co., Inc. + + + + + Kenron Corp. + + + + + Kenskill Trailer Corp. + + + + + Kensington Motor + + + + + Kentucky Mfg. Co.Louisville, Kentucky + + + + + Kenway Campers, Inc. + + + + + KENNY BOYCE MOTORCYCLES + + + + + Kempter Trailer + + + + + JOHN KERR MANUFACTURING, CO. + + + + + KESLER MANUFACTURING, INC; LOYAL, WISCONSIN;TRAILERS + + + + + Key Industries, Inc. + + + + + Keystone Trailer & Equipment Co.Kansas City, Missouri + + + + + Keystone Coach Mfg. Co. + + + + + Kings Highway + + + + + K & G Mfg. Co.Decatur, Illinois + + + + + KIA Motors Corporation + + + + + KIBBI, INC.; ELKHART, INDIANA + + + + + KIDRON; TRAILERS + + + + + Kiefer Built, Inc.Kanawha, Iowa + + + + + Kilgore IndustriesPomona, California + + + + + Kill Bros.Delphos, Ohio + + + + + King Midget + + + + + King Fish Boat Trailer + + + + + BuckinghamMfd. by King Homes, Inc., Elkhart,Indiana + + + + + King Richards, Inc. + + + + + King Trailer Co., Inc. + + + + + King-Co + + + + + Kinlon or Chongqing Kinlon Science & Tech. Grp. + + + + + Kingston Horse Trailer + + + + + KINZE; FARM & GARDEN EQUIPMENT + + + + + Kioti + + + + + Kipco + + + + + Kismet Mfg. Co. + + + + + KISSEL MOTOR CAR COMPANY OR KISSEL INDUSTRIES + + + + + Kit House Trailer + + + + + Kitty Cat (Kit Kat) + + + + + CompanionMfd. by Kit Mfg. Co. + + + + + Klassen Homes, Ltd. + + + + + Klassic Trailer Mfg. + + + + + Kelly-Creswall Co., Inc.Xenia, Ohio + + + + + Klein Products, Inc. + + + + + K Line Trailer + + + + + Klinger Products + + + + + Klimek Welding and ManufacturingMaple Lake, MN; manufactures trailers. + + + + + K-Mart Camper Foldup + + + + + Kawasaki Motors Corp., U.S.A.Santa Ana, CA + + + + + KMG INTERNATIONAL; TANGO TRADE NAME + + + + + K & M Mfg. Co.Renville, Minnesota + + + + + KMN Modern Farm Equipment, Inc. + + + + + Kamasura (U.S.A.) + + + + + Ken-Bar + + + + + Ken Craft Trailer + + + + + King Horse Trailer + + + + + Kingham + + + + + Kingsway Travel Trailer + + + + + Knight Mfg. Corp. + + + + + KNL Holdings, LLC + + + + + Kenworth Northwest, Inc.Seattle, Washington + + + + + Knowles Mfg. Co. + + + + + Knox Homes Corp. + + + + + Kinetic + + + + + Kent Industries, Inc.Bristol, Indiana + + + + + Kodiak Coach & Mfg. Co. + + + + + Master Div., Koehring Co. + + + + + Koehn Mfg., Inc. + + + + + KMMKoffel Machine & Metal Fabricating, Inc. + + + + + Kohler Co. + + + + + Kolberg Mfg. Corp., Subsidiary ofPortec, Inc. + + + + + Komatsu American Corp. + + + + + K & O MANUFACTURING CO., INC.;HULL, IA + + + + + KometicSee Moto Kometik + + + + + Komfort Travel Trailer + + + + + Kompak Camping Trailer + + + + + Komar + + + + + Kon Kwest Mfg. + + + + + Kontiki Camper Trailer + + + + + Kools Brothers, Inc. + + + + + Kory Farm Equipment Div. + + + + + Kosch Co. + + + + + Koster Mfg., Inc. + + + + + King of the Road Trailer Co.Conyers, Georgia + + + + + Kountryaire Travel Trailer + + + + + John R. Kovar Mfg. Co., Inc. + + + + + Kozy Coach Co. + + + + + Kay Park-Rec Corp. + + + + + Krager Kustom Koach, Inc. + + + + + Krause Plow Corp., Inc. + + + + + Kreidler + + + + + Kargo TrailersIvyland, Pennsylvania + + + + + Kris Kraft Mobile Homes + + + + + Kromag (Subs. of Puch) + + + + + Kropf Mfg. Co., Inc. + + + + + Kross KountryLittle Chute, Wisconsin + + + + + Krown Camper + + + + + KRISTI TRAILER INDUSTRIES, INC; CANASTOTA, NY + + + + + Kruz, Inc. + + + + + KASEA MOTORCYCLES + + + + + KTM + + + + + Kubota Tractor Corp.Compton, California + + + + + Kuhn Farm Machinery, Inc. + + + + + Kurmann Trailer Mfg. Co. + + + + + Kurtis Kraft + + + + + Kustom Kraft + + + + + Kut-Kwick Corp.Mfrs. industrial mowers--Brunswick,Georgia + + + + + KUTZ FARM EQUIPMENT; PINE GROVE, PA + + + + + Kenworth Motor Truck Co.Div. of Paccar, Inc. Also includesKenworth Glider. + + + + + Dart, KW + + + + + Kwick Kit Cement Mixer + + + + + K & K Mobile Homes + + + + + Kensington Welding & Trailer Co.Kensington, Connecticut + + + + + KYMCO SCOOTERS & MOTORCYCLES + + + + + KEYSTONE RV COMPANY, GOSHEN, IN. (SPRINGDALE TRAILER MODEL) + + + + + Lady Bea TrailersMalden, Massachusetts + + + + + Lawn Chief + + + + + La Crosse + + + + + Lacey, W.E. & Sons + + + + + Lada (imported from USSR) + + + + + American La FranceDiv. of A-T-O, Inc. + + + + + Lafayette Motor Home + + + + + Lagonda + + + + + Lagusa Motor Coach + + + + + BestrailMfd. by Lakeside Industries + + + + + Lakeland Camper & Mfg.Drayton Plains, Michigan + + + + + LaSalle + + + + + Lambretta + + + + + Lamborghini + + + + + Lane Flatbed Trailer + + + + + Lancer Mobile Homes + + + + + Lanchester + + + + + Landcraft Corp. + + + + + Lane Horse Trailer + + + + + Langley Mfg. Div., M.D. Knowlton Co. + + + + + Landola Homes, Inc. + + + + + Easy RiderMfd. by Landoll Corp. + + + + + Landmaster + + + + + Lanes Pacesetter Trailer + + + + + Lancer + + + + + Landis Steel Co. + + + + + Lanheim, Inc. + + + + + Landau Motor HomeAnaheim, Claifornia + + + + + BrindleLaOtto Metal Fobricating Co., Inc. + + + + + Larado Mobile Homes + + + + + Lark Trailer + + + + + W. F. Larson, Inc. + + + + + Larson Machine, Inc.Princeville, Illinois + + + + + Larsen Lapline Trailer + + + + + Firma LenkoSee Larvin + + + + + LaSalleDiv. Globemaster M.H. + + + + + Laser + + + + + Lake & Shore Camper + + + + + LaSalle HomesDiv. of Tidwell Industries, Inc.,Ripley, Mississippi + + + + + Laverda + + + + + L. A. Woods Co., Inc.Lawrenceville, Illinois + + + + + Lawndale Homes, Inc. + + + + + Lawrence Trailer + + + + + Layton Mfg. Co., Inc.Salem, Oregon + + + + + Layton Homes Corp. + + + + + Lazer + + + + + Lazy J Horse Trailer + + + + + LEBEAU ENTERPRISES; LEXINGTON, NC + + + + + LIEBHERR COMPANIES; CRANES & CONSTRUCTION EQUIPMENT + + + + + LOAD BOSS,INC/CHARLES H BURKETTS AUTORAMA INC; MANNS CHOICE,PENNSYLVANIA + + + + + Lawn BoyMfrd. by Outboard Marine Corp. + + + + + LBTDiv. Fruehauf Corp. + + + + + LIBERTY, INC. MAKER OF TRAV-A LONG TRAILER, LITTLE RIVER,SC + + + + + LONG CHANG; USA ATVS + + + + + L-Cart, Inc. + + + + + L & D TRAILERS INCORPORATED; SIKESTON,MO + + + + + Lazy Daze Motor HomeMfd. in Pomona, California + + + + + LOADMASTER INC; INDIANA + + + + + Load Max Trailers, Ltd. + + + + + Loadmaster Trailer Co., Ltd. + + + + + LOAD TRAIL, INC.; SUMNER, TX + + + + + Leader Horse Trailer + + + + + Lea-Francis + + + + + Lear Siegler, Inc., Hutchinson Div. + + + + + Lechmere Construction + + + + + Lectracan + + + + + Ledwell & Son Enterprises, Inc.Texarkana, Texas + + + + + Lee + + + + + Lee Boy Construction Equipment + + + + + Lee Coaches + + + + + L & E Enterprises + + + + + Leer, Inc.Elkhart, Indiana + + + + + Leesburg Div.Div. of Divco-Wayne Industries + + + + + Leisure Craft + + + + + Leisuretime Motor Home + + + + + Leisure Home TrailerManufacturer-Leisure Time + + + + + Leisure Products, Inc. + + + + + Lektracycle + + + + + Leland Engineering, Inc. + + + + + The Lely Corp. + + + + + Lem + + + + + Lemco Tool Corp.Cogan Station, Pennsylvania + + + + + Lee Enterprises Mfg. Co., Inc. + + + + + Leon Manufacturing Co., Ltd.,(Canada) + + + + + Le Roi Div.Dresser Ind., Inc., Sidney, Ohio + + + + + Lesco, Inc. + + + + + Leisure Manor, Inc. + + + + + Letourneau, R. G. + + + + + Levco Manufacturers, Inc. + + + + + LEVIS MOTORCYCLES; GREAT BRITAIN + + + + + Lewaub Trailer Mfg. + + + + + Lewis-Shepard + + + + + Lexus + + + + + Leyland TractorsBritish Leyland - Dist. by UniversalTractor-Equipment Corp. Richmond,Virginia + + + + + Lifetime Custom Coach + + + + + LafayetteLowboy trailers + + + + + LaforzaUtility vehicle; Hayward, California + + + + + L & G Trailer + + + + + Long Chih Industrial Co., LtdTaipai, Taiwan + + + + + Legendary Luxury Coach, LLC + + + + + LEGEND TRAILERS, INC + + + + + LONGHORN TANK & TRAILER, INC; GRAVETTE, ARKANSAS + + + + + Liberty Coach Co. + + + + + Liberty Travel Trailers + + + + + Liberty Homes, Inc.Goshen, Indiana + + + + + LIBERTY INDUSTRIES; CLAYTON, INDIANA + + + + + Lichty's Blacksmithing, Inc.Silverton, Oregon + + + + + Linco Trailer Home + + + + + Lieber Industries, Inc. + + + + + Liftmaster, Inc. + + + + + Little Giant Crane & Shovel, Inc.Des Moines, Iowa + + + + + Light Equipment Div.Div. of J. I. Case Co. + + + + + Little Giant Products, Inc.Peoria, Illinois + + + + + Lighter-Bilt Trailers, Inc.Durham, California + + + + + Lilac + + + + + Lil' Cat, Inc.Elkhart, Indiana + + + + + Lilliston Corp.Albany, Georgia + + + + + Lil Indian + + + + + Lil'ZManufactured by Zieman Products + + + + + Lincoln-Continental + + + + + Linde + + + + + Lincraft Industries + + + + + LINHAI MOPEDS, POWERMAX; CHINA + + + + + ApacheMfd. by Lindig Mfg. Corp. + + + + + Lincoln Park Mobile Homes, Inc.Shipshewana, Indiana + + + + + Lintzcraft Travel Trailer + + + + + Linville Horse Trailer + + + + + Linwood Mfg., Inc. + + + + + Lional Enterprises, Inc. + + + + + Liftall ForkliftMfg. by Lion Mfg. Co., Inc. + + + + + Little Prospector Motor Home + + + + + Liquid & Bulk Tank Div.Div. of Fruehauf Corp.--Omaha, Nebraska + + + + + Lislet Foundries, Ltd. + + + + + Little Chum Mfg. Co. + + + + + Little Dude Trailer Co.Affiliated with Texas Dude, Inc.(Formerly Texas Royal Mfg. Co.)Fort Worth, Te + + + + + Lift Truck, Inc. + + + + + Little Prince Travel TrailerMfrs. boat trailers + + + + + Little Sport Enterprises + + + + + Littleford Brothers, Inc.Mfrs. rollers + + + + + Lakewood + + + + + Lloyd's Trailer Finishing + + + + + Lloyd + + + + + L & L Trailers + + + + + LMC + + + + + LML Corp. + + + + + L & M Trailer Mfg. + + + + + Lance Truck Mount Camper + + + + + Lancia + + + + + Lincoln Electric Co.Cleveland, Ohio + + + + + London Taxi + + + + + Land Rover + + + + + LA NEW INDUSTRIES, INC; MINNESOTA + + + + + Longhorn Trailers; Also see McKinley Enterprises + + + + + LAND PRIDE FARM & GARDENING EQUIPMENT; MOWERS, ETC. + + + + + LEINARD ALUMINUM BUILDINGS, UTILITY TRAILERS; MT. AIRY, NC + + + + + LONE STAR MANUFACTURING; VALLEY VIEW , TEXAS + + + + + LONE WOLFE + + + + + Load Rite TrailersDiv. of Pennsbury Mfg., Inc. + + + + + Load King Trailer Co.Div. of CMI Corp.--Elk Point, SouthDakota + + + + + LOCKE ENTERPRISES OF NEW YORK, INC; LOCKE,NEW YORK + + + + + Locomobile + + + + + Lodal, Inc.Kinsford, Michigan + + + + + Bushog/Loadcraft (Div. Allied ProductsBrady, TexasCorp.) + + + + + Load Star Corp.Macon, Georgia + + + + + LOAD-EAZ Trailer Inc.Bensalem, Pennsylvania + + + + + Loftness Mfg. Co. + + + + + Logic Motor Co. + + + + + Logan Coach, Inc.Logan, Utah + + + + + Lola + + + + + Lombard + + + + + Lomac Boat Trailer + + + + + Lonaire Mfg. Corp. + + + + + Lone Star Boat Mfg. + + + + + Lone Star Classics + + + + + London Motors + + + + + CrestlaneMfd. by Lonergan Corp. + + + + + F. A. Long + + + + + Long Mfg. N.C., Inc., Const. & Ind. Div.Tarboro, North Carolina + + + + + Longmark Mobile Homes + + + + + Longlife + + + + + Lonnie's Trailer Sales + + + + + Longrun + + + + + Long Trailer Co., Inc.Tarboro, North Carolina + + + + + Loodcraft + + + + + Loprofile Boat Trailer + + + + + Lorain Div.Div. of Koehring Co. + + + + + Lorak, Inc. + + + + + Lotus + + + + + Lovebug Travel Trailer + + + + + J. E. Love Co. + + + + + Low Boy Trailer + + + + + Lowe IndustriesLebanon, Missouri + + + + + Low Pro Custom Trailer + + + + + LORANGER ENTERPRISES, INC.; SAN ANTONIO, TX + + + + + Lori Engineering Corp. + + + + + L & S LINE MFG.; BRISTOL, TENNESSEE + + + + + LEISURE TRAVEL VANS, LTD.; MORDEN, ME + + + + + LEITCHFIELD TRUCK EQUIPMENT, INC,; LEITCHFIELD, KY + + + + + Lubbock + + + + + Luedtke Mfg., Inc.Allenton, Wisconsin + + + + + Lufkin TrailersDiv. of Lufkin Industries--Lufkin, Texas + + + + + Luger Industries + + + + + Lucky + + + + + Lull Engineering Co.Subsidiary N. Marshal Seeburg & Sons,Inc. + + + + + Lundell Mfg. Co., Inc. + + + + + Lundgreen Flatbed + + + + + Luv-It Mfg. + + + + + Luxor-Leffingwell Coach + + + + + Luxury Homes, Inc. + + + + + LONE WOLF TTRAILER CO. INC.; FALKVILLE, AL + + + + + Lyman Metal Products Corp. + + + + + Lyncoach & Truck Co. + + + + + FloTrailMfd. by Lynch Manufacturing + + + + + Lynnton Mfg. Co. + + + + + Lynn-Towtruck + + + + + MacDonald Camper Kit + + + + + McDonald Camper Kit Distributor + + + + + MacDonald's Mobile Homes + + + + + MacGregor Yacht Corp.Costa Mesa, California + + + + + Mack Trucks, Inc. + + + + + MAC-LANDER, INC; OSCEOLA, FL + + + + + Macoma Engineering, Inc. + + + + + Master Craft Industrial Equip. Corp. + + + + + Madden TrailerAshdown, Arkansas + + + + + MADAMI MOTOR SCOOTERS, ETC. + + + + + Del RioMfd. by Madrid Homes + + + + + Mays Enterprises, Inc.Albertville, Alabama + + + + + Magna American Corp. + + + + + Magic Tilt Trailer Mfg. Co., Inc.Boat trailers--Clearwater, Florida + + + + + Magic Touch, Inc. + + + + + Magline, Inc.Pinconning, Michigan + + + + + Magnolia Mobile Homes Mfg. + + + + + Magnolia Travel Trailer + + + + + Magnum Custom Trailer Mfg. Co.Boat utility trailers--Austin, Texas + + + + + Marmon Harrington + + + + + MAHINDRA; TOMBALL,TX;MAKER OF VARIOUS SIZES TRACTORS & OTHER FARM/GARDEN EQUIPMENT + + + + + Mahoning Homes, Inc. + + + + + Mai Mfg. Co. + + + + + Maico (West Germany) + + + + + Mark Line Industries, Inc.Bristol, Indiana + + + + + Mair & Son., Inc. + + + + + Majestic Corp. + + + + + Major Way + + + + + Majestic Rides Mfg., Inc.New Waterford, Ohio + + + + + Mark V Trailer + + + + + Mal Tractor + + + + + Malaguti + + + + + Marathon Le Tourneau Co. + + + + + Malheur Mobile Homes, Inc. + + + + + Malibu Campers + + + + + Mallard Coach Corp. + + + + + Malanca + + + + + Malro USA DistributorsHeber, CA; recreational trailer + + + + + Mallard + + + + + Marliss Industries, Inc. + + + + + Malyette + + + + + MANAC, Inc. + + + + + MANCO PRODUCTS, INC + + + + + Manet + + + + + Mangar Co. + + + + + Manitowc Engineering Co., Inc. + + + + + Mankato Mobile Homes, Inc. + + + + + MANN MADE PRODUCTS INC. TRAILMANN TRAILERS (TRADE NAME) + + + + + Manning, Richard + + + + + Manor Homes, Inc. + + + + + Manatee HomesCommerce, Texas + + + + + Maple Leaf, Inc.Middlebury, Indiana + + + + + Marion Power Shovel Co., IncDiv. of Dresser Ind. + + + + + Marque, Inc.Bristol, Indiana + + + + + Mark Twain Mfg. Co. + + + + + Marbrough Boat Trailer + + + + + Marcos + + + + + Long Haul, TheMfd. by Mark Fore Vatco Ind. (M.F.V.) + + + + + MARINE GROUP LLC; MURFREESBORO, TN (PRO-CRAFT) + + + + + Alexandria Mobile HomeMfd. by Marietta Homes + + + + + Marine Camper Trailer + + + + + Marking Mfg. + + + + + Marshall + + + + + Marmon + + + + + Marion Metal Products Co. + + + + + Marlette Homes, Inc.Marlette, Michigan (formerly MarletteCoach Co.) + + + + + Marathon Homes Corp.Elkhart, Indiana + + + + + Marquette Custom Boat Trailer + + + + + Marlin Mfg. + + + + + Mars Camper Co. + + + + + Martin Trailers, Ltd.St. Laurent, Montreal + + + + + Marusho + + + + + Mar-Val Industries, Inc. + + + + + Marshfield Homes, Inc. + + + + + Mascot Homes, Inc. + + + + + Maserati + + + + + Master Liner Mfg. Co. + + + + + Masterbilt Trailers, Inc. + + + + + MASSON'S WELDING + + + + + MastercraftBryan Metal Products, Inc. + + + + + Massey-Ferguson, Inc. + + + + + Masterline Co., Inc. + + + + + Master View + + + + + Massey + + + + + Matra + + + + + Mate, Inc.Katy, Texas + + + + + Matlock Trailer Corp.Nashville, Tennessee + + + + + Matrette + + + + + Mauldin Mfg. Co., Inc. + + + + + MAUER MANUFACTURER, INC.; IOWA, TRAILERS + + + + + Maurell Trailer + + + + + Maverick + + + + + Maverick Mobile Home + + + + + Maginniss Vibrator Equip Co. + + + + + Marvell Mobile Home + + + + + Marvin Landplane + + + + + Maxcraft Trailer Mfg. + + + + + Maxey Mfg., Inc. + + + + + Maxim Ind., Inc.Mfr. of Maxim Fire Trucks, Middleboro,Massachusetts + + + + + Maxwell + + + + + Maxon EagleMfd. by Maxon Industries, Inc. + + + + + Mayfair Mobile HomeDiv. of DeRose Ind., Inc.,Indianapolis, Indiana + + + + + Maybach (Brand within Mercedes-Benz) + + + + + Mayco Pump Corp.Los Angeles, California + + + + + Mayflower Trailers or Homes + + + + + Mayrath Industries, Inc. + + + + + Mays Industries, Inc.Boaz, Alabama + + + + + Mazda + + + + + McBurnie Coach Craft, Inc. + + + + + M-B Co., Inc. of Wisconsin + + + + + MOBILE CONCEPTS BY SCOTTY; MT. PLEASANT, PA + + + + + Motobee + + + + + Mobile InternationalTulsa, Oklahoma + + + + + Mobile Traveler + + + + + M.B.M. + + + + + Mobile Traveler + + + + + M-B-W, Inc. + + + + + M. P. McCaffrey + + + + + MCCLOSKEY BROTHERS MANUFACTURING; CANADA LIT.ONTARIO + + + + + McCain Industries + + + + + McCabe-Powers Body Co. + + + + + McCook Mfg. Co. + + + + + McClain Trailer Mfg. Co.Boat trailers--Houston, Texas + + + + + McCrabb Mfg., Inc.West Liberty, Iowa + + + + + McCoy Mfg. & Sales Co. + + + + + McCarthy Trailers + + + + + McCulloch Mite-E-Lite, Inc.,McCulloch Corp. + + + + + McClenny Machine Co. of Virginia, Inc.Suffolk, Virginia + + + + + McFarlane Mfg. Co., Inc. + + + + + MCIsee Motor Coach Industries, Inc. + + + + + John A. McKay + + + + + Mack Trailer Mfg. Co., Inc.Detroit, Michigan + + + + + McKay Mfg. Co., Inc. + + + + + McNamee Coach Corp. + + + + + MCN Mobile Homes Corp. + + + + + McCollough CorporationBrookfield, MO + + + + + MECOX RESOURCES SA DE CV; MEXICO + + + + + McCoy/Taylor, Inc. + + + + + McQuerry Tan Trailer + + + + + McQuerry Horse Trailer + + + + + McCord Manufacturing Co. + + + + + Mc Kee Roughrider + + + + + MID AMERICA MFG.; INC.; BERTRAND, MO + + + + + MODULAR SYSTEMS, INC; INDIANA + + + + + Modena + + + + + MDS + + + + + Mid States Camping Trailer + + + + + M-D Trailer Co.Fort Worth, Texas + + + + + Meade + + + + + Mean + + + + + MEB TRAILER SALES; WALNUT RIDGE, ARKANSAS + + + + + Mech Handling Co. + + + + + Medallion Mobile Homes + + + + + Medford Industries + + + + + Medical Coaches, Inc. + + + + + Meitian Motorcycle Co., Ltd. Or Shanghai Meitian Motorcycle Co., Ltd. + + + + + Melmar Motor Home + + + + + Melges Boat Works, Inc.Zenda, Wisconsin + + + + + Melmak Motor Home + + + + + Melody Home Mfg. Co. + + + + + Bobcat Skid Steer LoaderManufactured by Melroe Div. + + + + + Macanismos Ensamblados S. A. De C. V.Mexico; tank trailers + + + + + Mercury Boat Co. + + + + + MercurySee Mercury Marine + + + + + Mercury Coach Corp. + + + + + Merritt Equipment Co.Portland, Oregon + + + + + Merkur + + + + + CharismaMfd, by Merrimac Corp. + + + + + Mercury Trailer Industries + + + + + Merit Tank & BodyBerkeley, California + + + + + Merhow Industries + + + + + Merry Mfg. Corp.Marysville,Washington--mfrs. cultivators + + + + + Mercedes-Benz + + + + + Mesa III Travel Trailer + + + + + Messerschmitt + + + + + Metal Craft ManufacturingGreenville, North Carolina + + + + + Meteor (Canadian Mercury) + + + + + Mercantile Mfg. Co., Inc. + + + + + Metoo Travel Trailer + + + + + Metropolitan + + + + + METAVIC TRAILERS; ST. PIERRE-BAPTISTE, QUEBEC CANADA + + + + + Metzendorf Trailer Mfg. + + + + + Meyer Morton Co. + + + + + Meyer Mfg. Corp. + + + + + Metal Fabrication, IncWinchester, TN + + + + + MG + + + + + M.G.M., Inc. + + + + + Magnum ManufacturingHarrisburg, OR; recreational vehicles + + + + + Mgnol Tandem Boat Trailer + + + + + MONGOOSE TRAILERS;TEXAS + + + + + MGS, Inc. + + + + + EBY, M.H., Inc.Blue Ball, Pennsylvania + + + + + Blair HouseMfd. by Manufactured Housing ManagementCorp. + + + + + Michalke Mfg. Corp. + + + + + Micro Concept Cars + + + + + Michigan Central Airlines + + + + + Mid-Atlantic Homes Co. + + + + + Mid-Cal Forklift, Inc. + + + + + Middlesex Equipment Co. + + + + + Midway Engineering Co. + + + + + Midwest Industries, Inc.Ida Grove, Iowa + + + + + CapellaMfd. by Midland Industries, Inc. + + + + + Midmark + + + + + Mid-Equipment Corp. + + + + + Midas International Corp. + + + + + Midwest Mini-Tote Co.Muskego, Wisconsin + + + + + Midwest Mobile Homes & Trailer Mfg. Co. + + + + + Mitsubishi FUSO Truck of America, IncFor vehicles with gross vehicle weight(GVW) of over 7,000 pound + + + + + Mikasa + + + + + Mikrus + + + + + Miller Electric Mfg. Co.Manufactures arc welders + + + + + Millan Flatdeck + + + + + Milco Tank & Boat Co. + + + + + Miller & Smith + + + + + Miller Trailers Inc.Bradenton, Florida + + + + + Miller Equip. Div., Miller Equip. Co + + + + + Miller Tilt-Top Trailer Inc.Milwaukee, Wisconsin + + + + + Milwaukee Electric Tool Corp. + + + + + ExhibitorMfd. by Miley Trailer Co., Inc. + + + + + Minneapolis-Moline (MOTEC), Inc. + + + + + MILLER INDUSTRIES, INC., OOLTEWAH, TENNESSEE + + + + + Miniscooter + + + + + Minelli + + + + + Mirage Motorhomes, Inc. + + + + + Mistral + + + + + Mitchell Camper Trailer + + + + + Mitchell Industrial Tire Co., Inc.Chattanooga, Tennessee + + + + + Mitsubishi + + + + + Mitts-Merrill, Inc. + + + + + MI-JACK PRODUCTS; HAZEL CREST, IL + + + + + MJM Enterprises, Inc. + + + + + M.J.M. Trailer Mfg., Inc. + + + + + McKee Farm Technologies, Inc. + + + + + MK 5-1400 Motor Home + + + + + MLBLT + + + + + MILLENIUM TRAILERS, INC.; ADDISON, AL + + + + + Miller + + + + + Moling Corp. and Car King Dolly Trailers + + + + + Melroe Tractor Truck + + + + + Multition Hydraulic Truck + + + + + MULTITEK, INC; PRENTICE, WI TRAILER & CONST EQUIP + + + + + Mobilux + + + + + Mini-Marcellino + + + + + Milwaukee Motorcycle Co. + + + + + M & M Mfg. Co. + + + + + Monaco Motor Home + + + + + Monarch (Sweden) + + + + + MOND INDUSTRIES, INC.MISSISSAUGA, ONTARIO, CANADA; PURCHASED BY TRAILMOBILE IN 1999 TRAILEMOBILE IN + + + + + Main Line, Inc. + + + + + MINI DIVISION OF BMW MAKER OF COOPER & COOPER-S + + + + + Monarc + + + + + Monark + + + + + Monroe Motors Inc., Wally-Mo DivisionHolladay, Tennessee; manufactures carcarriers and utility trail + + + + + MONSOON (ATV'S) ALL TERRAIN VEHICLES + + + + + MantaSee Three R Industries, Inc. + + + + + Montebello Mobile Home Trailer + + + + + Montgomery, Bill + + + + + Monte Aluminum Trailer Dump + + + + + Mobilaire Mobile Homes + + + + + Mobile Chapel Trailer + + + + + Moto Beta + + + + + Mobile Freeze + + + + + Mobile Engineering Co. + + + + + Mobile Facility Engineering Co. + + + + + Motobic + + + + + Mobile Garage Mfg. Co. + + + + + Mobile Holding Corp. + + + + + Mobile Home Co. + + + + + Mobile Home Service + + + + + Mobile Mfg. Corp. + + + + + Mobile of Marysville + + + + + Mobile Office, Inc. + + + + + Mobile Products, Inc. + + + + + Mobile Scout Mfg. Corp.Arlington, Texas + + + + + Cinderella Mobile HomesMfd. by Mobile Structures, Inc. + + + + + Mobile Tops, Inc. + + + + + Mobile Unit Mfg., Inc. + + + + + Mobilemanor, Inc. + + + + + Monte Carlo Mobile Homes + + + + + Mobley Metal Works + + + + + Motocicletas Carabela SA + + + + + Mod Cycles Corp. + + + + + Model A and Model T Motor CarReproduction Corp. + + + + + Modern Mobile Homes + + + + + Modernistic Industries + + + + + LamplighterMfd. by Moduline International, Inc. + + + + + Modern + + + + + MODERN, INC. TEXAS + + + + + Module, Inc. + + + + + MOFFETT ENGINEERING, LTD; FORKLIFTS ETC + + + + + Morgan Equipment Co. + + + + + Moto Guzzi (Italy) + + + + + Mohawk, Inc. + + + + + Mobile Home Industries, Inc.Tallahassee, Florida + + + + + Mojave + + + + + Molloy Mobile Crafts + + + + + Mobility, Inc.Minneapolis, Minnesota + + + + + Moto Morini + + + + + Monarch + + + + + Monarch Boat Co.Camper Division + + + + + Daytona Mobile HomesMfd. by Monarch Industries + + + + + Mondial + + + + + Lac St-Jean Motoneige, Ltd.See Montagnais + + + + + Monarch Mobile Homes + + + + + Monitor Coach Co. + + + + + Monon Trailer Div.Div. of Evans Products Co.--Monon,Indiana + + + + + Mono + + + + + Monroe Tractor + + + + + Monson & Sons Trailer + + + + + Monte + + + + + Montgomery Mfg. Co. + + + + + Monticlaire Mobile Homes + + + + + Montone Mfg. Co.Hazelton, Pennsylvania + + + + + Moody Mfg. Co. + + + + + Moore Equipment Co. + + + + + GrasshopperMfd. by Moridge Mfg., Inc. + + + + + Moretti + + + + + Morgan + + + + + Morris Brothers + + + + + Morgan Mobile, Inc. + + + + + Morgan Trailer Mfg. CoMorgantown, Pennsylvania + + + + + Morris + + + + + Morse Horse Trailer + + + + + Moritz, Inc.Mansfield, Ohio + + + + + Moto Rumi + + + + + Morger Welding & Mfg., Inc.Bakersfield, California + + + + + MoserSee also Vim Trailer + + + + + Moskovitch + + + + + Mobile Sweeper Div.Div. of Athey Products Corp. + + + + + Motoc Semi Flatbed Trailer + + + + + MOTOBECANE; SCOOTERS & CYCLES + + + + + Motel Mobile Corporation of America + + + + + Motom + + + + + Classic (model of Motron) + + + + + Motoroam Industries, Inc.Galva, Illinois + + + + + Mo Trailer Corp.Goshen, Indiana + + + + + Montesa (Spain) + + + + + Mount Vernon Mobile HomeDiv. Concord Mobile Homes + + + + + Mountain Valley Enterprises + + + + + Mountain View Campers + + + + + Mountaineer Mfg. Co. + + + + + Mountain Manufacturing Co., Inc. + + + + + Montgomery Ward - Snowmobiles + + + + + Mowett Sales Co., Inc. + + + + + MPC Cruiser Camper Trailer + + + + + Marauder Travelers, Inc. + + + + + Marco + + + + + M & R Enterprises, Inc., or Honeysuckle Enterprises, Inc. + + + + + Mercury (See Mercury Marine) + + + + + Mr. Ed. Boat Trailer + + + + + JamaicaMfd. by Marion Homes, Inc. + + + + + Marion Trailer SalesMarion, Indiana + + + + + MARINE TRANSPORTATION CO., INC.; NORWELL, MA + + + + + Marquez Mfg., Ltd.Sunnyside, Washington + + + + + Murray Marine Corp. + + + + + M-R-S Manufacturing Co. + + + + + Motorette + + + + + Martin Lowboy Semi Trailer + + + + + MARTINS ENTERPRISES; DONALDS, SC + + + + + Martinez Trailer + + + + + Massey-Ferguson, Inc.Des Moines, IA + + + + + M-System, Inc. + + + + + MUSTANG; CONSTRUCTION EQUIPMENT ETC. + + + + + MASTER TOW INC. FAYETTEVILLE, NC + + + + + + Lemoped (model of Motobecane) + + + + + Matchless + + + + + Mississippi Tank Co., Inc.Hattiesburg, Mississippi + + + + + Lawn FliteMfd. by MTD Products, Inc. + + + + + MIGHTY MOVER TRAILERS, INC; CALIFORNIA + + + + + Maxwell Trailers & Pickup AccessoriesMexico, MO + + + + + ColumbiaSee MTD Products, Inc. + + + + + C & C IndustriesMfg. of Master Track F.B. Trailer;Gaithersburg, MD + + + + + TRAILERS DE MONTERREY, S.A. NUEVO LEON, MEXICO + + + + + M.T. Trailers, Inc. + + + + + Mud Cat Div., National Car RentalSystem, Inc. + + + + + Muhlberg + + + + + Multech Corp.Canton, South Dakota and Souix City,Iowa + + + + + Muller Machinery Co.Metuchen, New Jersey + + + + + Multiquip + + + + + Multi Trailer + + + + + Muncy Homes, Inc.Muncy, Pennsylvania + + + + + Muntz + + + + + Murena + + + + + Carry-AllScrapers, rooters and chisels--mfd. byMurray Mfg. Co. + + + + + Murphy Engineering Co., Inc. + + + + + Murray Ohio Manufacturing Co.Brentwood, Tennessee + + + + + Murray TrailersCaldwell, Idaho + + + + + Mustang Trailer Mfg., Inc.Quitman, Arkansas + + + + + Mustang + + + + + Muv-All Trailers Multech Corp. + + + + + M.V. Agusta + + + + + Marine Venture Enterprisers, Inc.Baltimore, Maryland + + + + + Mid-West Choppers, Inc. + + + + + M & W Gear Co., Inc. + + + + + M & W Mfg. Co. + + + + + Martco Waste System Equipment + + + + + MAX-ATLAS EQUIPMENT INTERNATIONAL, INC.; ST-JEAN-SUR-RICHELIEU, QUEBEC CANADA + + + + + Myco Industries + + + + + Mayfairer Motor Home + + + + + My-Way Corp.Longwood, Florida + + + + + MZ + + + + + Mzma + + + + + Nabors Trailers, Inc.Mansfield, Louisiana + + + + + National Crane Corporation, Subsidi-ary of Walter Kidde & Co., Inc. + + + + + Nash-Healy + + + + + N & Ha Mfg. Co. + + + + + Namco., Inc. + + + + + Nardi-Danese + + + + + Nasan Trailer + + + + + Nash + + + + + Nash Mfg. + + + + + Nashua Mfg. Co. + + + + + National Mobile Homes + + + + + Nationwide + + + + + Navistar + + + + + Navajo Horse Trailer + + + + + NORTHERN BAY CO. INC. ; PENOBSCOT, ME + + + + + NISSAN DIESEL MOTOR CO. + + + + + Neal Mfg. Co., Inc. + + + + + New Bame Trailer + + + + + Neckar + + + + + Neckover Trailer Mfg. Co.Troup, Texas + + + + + NEDLAND INDUSTRIES, INC.; RIDGELAND, WI + + + + + Harvard (model of Negrini) + + + + + New Holland Haybine + + + + + Nallej of Florida + + + + + Nelson-Dykes Co. + + + + + Nelson Mfg. Co.Ottawa, Ohio + + + + + Neoplan USA CorporationLamar, CO; transit buses + + + + + Neosho Custom Coach Co.Div. Gearhart's Building Materials + + + + + Neptune Corp. + + + + + Nerco Trailer + + + + + Karl M. Neufeld + + + + + Nevada Air Products Co. + + + + + Nevadan Mfg. Co. + + + + + Neville Welding, Inc. + + + + + Nevlen Company Inc.Wakefield, Massachusetts + + + + + Neval Motorcycles Ltd. + + + + + New Comer Industries, Inc.Goshen, Indiana + + + + + New Dimension + + + + + New England Homes or Trailers + + + + + Sperry New HollandDiv. Sperry Corp., New Holland,Pennsylvania + + + + + New Idea Electric Lawn Garden Tractor + + + + + New Yorker Homes Corp. + + + + + Newell Coach Corp.Miami, Oklahoma + + + + + Newham Enterprises + + + + + Newman Trailers + + + + + Newport Homes, Inc. + + + + + New Style Homes, Inc.Pineville, Missouri + + + + + New Paris Traveler Corp.New Paris, Indiana + + + + + Enfield India LimitedMadras, India + + + + + New Flyer + + + + + New Horizons or Horizons, Inc. + + + + + Northern Hydrolics, Inc. + + + + + Niagara Trailer Co. + + + + + Niceson Boat Trailer + + + + + Nichols Mfg. Co., Inc. + + + + + Nickel & HolmanFenton, Michigan + + + + + NICHOLS CUSTOM WELDING; HOME OF NICHOLS TRAILERS; FARMINGTON, ME + + + + + Nimrod Tent Trailer + + + + + Nissan + + + + + Nobility Homes, Inc.Ocala, Florida + + + + + Noble Cultivators Ltd. + + + + + North Country + + + + + Hauler-TrailerMfd. by Nodine Mfg. + + + + + Nordic + + + + + Noel Mfg. + + + + + Nolena Foster Trailer + + + + + Nomad Trailers & Mobile HomesDewey, Oklahoma + + + + + Nomanco, Inc. + + + + + Northwestern Motor Co.Subsidiary Fairmont Railway Motors, Inc. + + + + + Norcal Boat Trailer + + + + + Nordine Mfg. Co. + + + + + Northwest Engineering Co. + + + + + Norris Homes, Inc. + + + + + Norjack, Incl + + + + + Norman + + + + + North American Mfg. Co. + + + + + North American Shipbuilding + + + + + Northern Cruisers + + + + + Norse Trailer + + + + + Norton (England) + + + + + Northern Star Mobile Home + + + + + NorthlandMagline, Inc. + + + + + Northwest Trailers + + + + + Northwestern Mobile HomesDiv. Rainway Manufacturing Company + + + + + Nothsway Tandem Trailer + + + + + NOVA FABRICATING, INC.; AVON, MN + + + + + NorthwaySee Northway Snowmobiles + + + + + Northway Trailer + + + + + North River HomesHamilton, Alabama + + + + + NORTHWOOD OF VIRGINIA; WINCHESTER VIRGINIA + + + + + Norwin Trailer + + + + + Nsu Prinz + + + + + Nsu-Fiat + + + + + NU-CENTURY; MADERA, CA + + + + + Nuell Coach Corp. + + + + + Nu-Life Environmental, Inc. + + + + + Number One + + + + + Nuttall Trailers + + + + + Nu-Wa Campers, Inc. + + + + + NuWay Mobile Home Mfg. Co. + + + + + NUWA Horizon Camper Trailer + + + + + Novae Corp. + + + + + NVT America (moped) + + + + + Northwest Custom TrailerRochester, Washington + + + + + New McGrath + + + + + NEWMAR CORPORATION; NAPPANEE, IN_ + + + + + Oak Coach Co. + + + + + Oakland + + + + + Oasis Travel Trailer + + + + + Oberlin Trailers, Inc. + + + + + Obrect Trailer + + + + + Orange County Choppers + + + + + OCI MANUFACTURING CO.; OREGON, IL + + + + + Ockelbo Industry AB + + + + + CLASSIC MANUFACTURING, INC. OR OWENS-CLASSIC MANUFACTURING, INC.; STURGIS, MI + + + + + ArgoSee Onatario Drive & Gear Ltd. + + + + + Odom Boyd Trailer Mfg. Co.Conroe, Texas + + + + + Odyssey + + + + + Odyssey Trailer Co. + + + + + Oelrich Mfg. Co. + + + + + Office Master, Inc.Hampshire, Tennessee + + + + + Officer, TheElkhart, Indiana + + + + + Ogle + + + + + Ohio Body Mfg. Co.New London, Ohio + + + + + Ohta + + + + + OK Horse Trailer + + + + + Oklahoma Horse Trailer + + + + + Oklahoma Trailer, Inc.Mfrs. boat trailers--Kingfisher,Oklahoma + + + + + Olathe Mfg. Co., Inc. + + + + + Oldsmobile + + + + + Olds Trails Trailer + + + + + Olgen Mfg. Co. + + + + + Oliver + + + + + Olson + + + + + Olympia Motor Home + + + + + Olympic Trailers + + + + + Omaha Standard Flatbed Trailer + + + + + BOAT TRAILERS, WAUKEGAN, ILLINOIS + + + + + OMC JohnsonBoat trailers--Waukegan, Illinois + + + + + Omega (Italian) + + + + + Omsteel Products Corp. + + + + + Onan Corp.Minneapolis, Minnesota + + + + + Oneida Coach Mfg.Grand Ledge, Michigan + + + + + Ono, Inc. + + + + + Ontario Bus Industries, Inc.Mississauga, Ontario, Canada; bus. + + + + + ONYX FLYER + + + + + BolensMfd. by Outdoor Power Equipment Div.,FMC + + + + + Opel (imported by Buick) + + + + + Open Road Industries + + + + + Open Roadsters of Texas + + + + + Opel + + + + + Open Road Campers, Inc. + + + + + Optima Ind., LLC + + + + + Orbit Industries, Inc. + + + + + Orcon Incustries + + + + + MANGMfd. by Oregon Mfg. Co., Inc. + + + + + Original Equipment Manufacturing, LTD.Sudbury, Ontario + + + + + Oriole Trailer Mfg. Co. + + + + + Orlando Boar Co. + + + + + Orthman Mfg., Inc. + + + + + Osage Trailer Mfg. Co., Inc. + + + + + C. D. Osborn & SonGrand Rapids, Michigan + + + + + Osca + + + + + Oshkosh Motor Truck Co. + + + + + Osi + + + + + Ossa (Spain) + + + + + Oshkosh Trailer DivisionBradenton, FL; manufactures trailers + + + + + Otasco + + + + + OUTLAW TRAILER, MFG.; ST. JOSEPH, MO + + + + + Otosan + + + + + Outdoor Power Equipment + + + + + Otterbacher Mfg., Inc.Crestline, Ohio + + + + + Ottawa Truck, Inc. + + + + + Outdoor Equipment + + + + + EvinrudeSee Outboard Marine Corporation + + + + + OBERBILT TRAILER COMPANY DRUMRIGHT, OK + + + + + Overland Mfg. Co. + + + + + Overland + + + + + Over-Lowe Co. + + + + + Owatonna Manufacturing Co., Inc. + + + + + Owen Div., Anvil Attachments, Inc. + + + + + Mighty MidgetMfd. by Owens-Classis, Inc. + + + + + Ownahome, Inc. + + + + + Owens Mfg. Co. + + + + + Ozark Trailer & Mobile Homes + + + + + OZBIKE; CYCLE IMPORTS; MIAMI,FL + + + + + Pacemaker Boat Trailer + + + + + Pacemaker Mobile Homes & Travel TrailerDiv. Lonergan Corporation + + + + + Pacemaker + + + + + Pacific Campers + + + + + Packard + + + + + Pacesetter + + + + + Panda Motor Home + + + + + Padgett, Inc. + + + + + Page Engineering Co. + + + + + Page Trailer + + + + + Pagsta + + + + + Paccar IncorporatedBellvue, WA + + + + + Paris + + + + + Paiute Trailers + + + + + Parkhurst Mfg. Co., Inc.Sedalia, Missouri + + + + + Pak-Mor Mfg. Co. + + + + + Pal Mfg. Co., Inc. + + + + + Palace Corp. + + + + + Palliser (racing car) + + + + + Palm Trailers + + + + + Palmetto Sales of Laurens + + + + + Palamino Camping Trailer + + + + + Palmer Machine Works, Inc.Armory, Mississippi + + + + + Pama Camper + + + + + Pamco Trailer + + + + + Pace American, Inc.White Pigeon, Michigan (throughMarch, 1988)Middlebury, Indiana (EffectiveApril, 1 + + + + + PACE AMERICAN OF UTAH, INC.; HURRICAN UTAH + + + + + Pan American Mobile HomesDiv. of Divco-Wayne Industries + + + + + PANDA MOTOR SPORTS NORTH AMERICA, INC. + + + + + Panther Westwinds, Ltd. + + + + + Panhard + + + + + Pannonia + + + + + Panorama Homes, Inc. + + + + + Panther + + + + + Panoz Auto Development Co. + + + + + Paris Trailer Co. + + + + + Pardonnet Mfg. Co.Livonia, Michigan + + + + + Park Estates Homes + + + + + BunkhouseModel of Siesta--mfd.by Park Homes, Inc. + + + + + Parilla + + + + + Park Lane Mobile Homes + + + + + Park Royal + + + + + Parmiter, P. J. & Sons Ltd. + + + + + Pace Arrow + + + + + Park Trailer Corp. + + + + + Parker + + + + + ParkmasterDiv. American Sterling Enterprises + + + + + Part (Generic Code--for use onlywhen manufacturer is not listed) + + + + + Parkway Mfg. Co. + + + + + Parkwood Homes, Inc. + + + + + Parkwood Mobile Homes of Florida + + + + + PERFECTION ARCHITECTURAL SYSTEMS, INC.; BOYNTON BEACH, FL + + + + + Parson Co. Div.Div. of Koehring Co. + + + + + Pasquali, USAVerona, Wisconsin + + + + + Passport + + + + + Pastime Mfg. Co. + + + + + Pathfinder Mobile Homes + + + + + Patz Co. + + + + + Paughco, Inc.Carson City, NV + + + + + Pauli Cooling Systems, Inc. + + + + + Pacific Boat Trailers, Inc.Anaheim, California + + + + + PCM Div.Div. of Koehring Co. + + + + + PARIS CUSTOM TRAILER CO.; TEXAS + + + + + P/D + + + + + Pederson + + + + + PDV + + + + + Peabody Solid Waste Management + + + + + Peace + + + + + PEAK MANUFACTURING, INC. NORTH BATLEFORD, SK CANADA + + + + + Ben Pearson Mfg. Co., Inc. + + + + + Peco, Inc. + + + + + Pennstyle Campers, Inc. + + + + + Pedalpower Electroped + + + + + Peddlers Choice + + + + + Peek + + + + + Peel + + + + + Peerless + + + + + Pegaso + + + + + Pelican Aluminum Mfg. + + + + + PEMBERTON FABRICATORS, INC.; RANCOCAS, NJ + + + + + Pennsbury Manufacturing CorpBensalem, PA; boat trailers + + + + + Pennco Industries, Inc.Subsidiary of DEC International, Inc.--Warren, Pennsylvania + + + + + Pendlay + + + + + Peninsula Camper Mfg. + + + + + J. C. Penney + + + + + Pennsylvania Furnace and IronMfrs. tankers--company bought out byDairy Equipment, Madison, Wisconsin + + + + + Penton (KTM--Austria) + + + + + Penn-Cupit Industries Ltd. + + + + + PEQUAGordonville, Pennsylvania + + + + + I.B. Perch Co. + + + + + Performance Products, Inc. + + + + + Peerless DivisionDiv. of Lear Siegler--Tualatin, Oregon + + + + + Perma Tent Camper + + + + + Perone Trailer + + + + + Perris Valley Campers + + + + + Peerless International Co., Inc. + + + + + Peterson + + + + + Pettibone Michigan Corp., SubsidiaryMercury Mfg., Co. + + + + + Peter Pirsch & Sons Co.Kenosha, Wisconsin + + + + + Pettibone Mercury, SubsidiaryMercury Mfg. Co. + + + + + Peugeot + + + + + Pfaudler Co. + + + + + PEGASUS VANS & TRAILERS, INC SANDUSKY, OH + + + + + Pilgrim Intl., Inc. + + + + + PEAGUSAS + + + + + P & H + + + + + Phelan Mfg. Co.Nashville, Tennessee + + + + + Phelps Horse Trailer + + + + + Phillips TrailersChickasha, Oklahoma + + + + + Phill Trailer + + + + + Phillips Mfg. Co., Inc.Lehi, Utah + + + + + Philift Equipment Sales Co. + + + + + Phoenix + + + + + Piazio + + + + + Pick-Up Top Mfg. + + + + + Pickwick + + + + + PiedmontDiv. of Concord Mobile Homes + + + + + Pierce Lowboy Trailer + + + + + Pike Trailer CoSouth Gate, California + + + + + Pilgrim Mfg. Co. + + + + + Pincor Products + + + + + Pines Trailer CorpChicago, Illinios + + + + + Pinifarina + + + + + Pinson Truck Equipment Co. + + + + + Pinto + + + + + Pioneer Coach Mfg. + + + + + Pioneer Sales & Mfg. Co. + + + + + Pipestone Tandem Boat Trailer + + + + + Piper Industries, Inc. + + + + + Piqua Engineering, Inc. + + + + + Pierce Mfg., Inc.Mfr. of Pierce Duplex,Appleton, Wisconsin + + + + + Pitman Div., Emerson Electric Co. + + + + + Pitman Brothers Co. + + + + + Pitman Div., A. B. Chance Co. + + + + + Pittsburgh Forging Co., Farm ToolsDiv. + + + + + John Pitzer Mfg. Co.Glenwood, Iowa + + + + + Pixie Piker Travel Trailer + + + + + P.J. Trailer Manufacturing, IncSumner, TX; utility trailer + + + + + Lindsay Co., Inc., P. K.Deerfield, New Hampshire + + + + + Plastic Engs. & Consultants + + + + + Plattsburg Mfg. + + + + + Plains Industries, Inc. + + + + + Play-Mor Trailers, Inc.Westphalia, Missouri + + + + + Playmate Coaches + + + + + Planet Plows, Inc. + + + + + Plastic Forming Co. + + + + + Platt Trailer Co. + + + + + Playboy + + + + + Pleasure Homes Mfg. + + + + + Pleasureway Mfg. + + + + + Pleasuremate Industries + + + + + PALM AIRE, INC.; ELKHART, IN + + + + + Poloron + + + + + PLATINUM MANUFACTURING LLC; OKLAHOMA CITY, OK + + + + + Playcat Industries, Inc.Polar BearSee Raybon Manufacturing CompanyPolar Bear/Whip ItSee Raybon Manuf + + + + + Plymouth + + + + + PINE-HILL MANUFACTURING, CO.; GAP, PENNSYLVANIA + + + + + Penn Trailer + + + + + Panterra + + + + + PANZER MOTORCYCLE WORKS, LLC COLORADO + + + + + Poclain Div., J. I. Case + + + + + Pointer-Willamette + + + + + Pointer + + + + + Poirier + + + + + Polar Mfg. Co.Holdingford, Minnesota + + + + + Raybon Manufacturing CompanyWallingford, CT + + + + + POLINI MOTORCYCLES + + + + + Pollock Industries + + + + + Poloron ProductsMfrs. riding mowers--Harrison, New York + + + + + Poloron Homes of Pa., Inc.Middleburg, Pennsylvania + + + + + E-Z-GoSee Polaris Industries Inc. + + + + + Ponderosa Homes, Inc. + + + + + Ponderosa Industries + + + + + Pontiac (Canadian) (Also see makePontiac) + + + + + Pontiac + + + + + Ponycycle + + + + + Poole, Inc. + + + + + Por Trailer + + + + + Portable Elevator Mfg. Div.,Dynamics Corp. of America + + + + + Pioneer Div., Portec, Inc. + + + + + PORTA-DOCK, INC + + + + + Portable Structures + + + + + Porta-Kamp Mfg. + + + + + Portland Wire & Iron Works + + + + + Porsche + + + + + Porta-Built Industries + + + + + Powerline ProductsDiv. of White Oak, Inc.--Washington,Indiana + + + + + Powell + + + + + Powell Mfg. Co., Inc. + + + + + Power Curber, Inc. + + + + + Prairie Schooner + + + + + PRESTON AMUSEMENTS, INC.; ALVARADO, TX + + + + + Prarie Schooner, Inc.Elkhart, Indiana + + + + + PRATT INDUSTRIES, INC.; BELLEAIR BLUFFS, FL + + + + + Pierce Arrow + + + + + Precision Cycle Works + + + + + Prebuilt Mfg. + + + + + Keel-HaulerMfd. by Precision Deburring &Fabricating, Inc. + + + + + Pre-Built Structures + + + + + Premier + + + + + Prevost Car, Inc.Mfrs. of "Prevost Bus"--Sainte Claire,Quebec, Canada + + + + + Presidential Mobile HomesDiv. U. S. Aluminum Company + + + + + Presvac Systems (Burlington) Ltd. + + + + + Prew Proco Travel Trailer + + + + + Parkhurst + + + + + ElktonMfd. by Price-Meyers Corp. + + + + + Pride & Joy Mini Motor Home + + + + + Prime Mover + + + + + Princess Homes + + + + + Prior Products, Inc.Dallas, Texas + + + + + Private CoachDiv. F & L Construction + + + + + Pines Trailer Corp.Pine Grove, Pennsylvania + + + + + PRO LITE TRAILERS; PECULIAR, MISSOURI + + + + + PREMCO PRODUCTS, INC.; LA VERNE, CA; TRIPLE L TRIALERS + + + + + Prince Motors + + + + + Pro One + + + + + Progress + + + + + PRO LINE TRAILERS; COCOA, FL + + + + + Promark Products Corp. + + + + + LES MACHINERIES PRONOVOST, INC; CANADA + + + + + Pro-Trail, Inc.Nashville, Tennessee + + + + + Prowler Industries + + + + + Prestige Custom TrailersChristopher,I1 + + + + + Prestige HousingConway, Arkansas + + + + + PROTAINER, INC; PROTRAILER (TRADE NAME) ALEXANDRIA, MN + + + + + Port Trailer Mfg. Co.City of Industry, California + + + + + Pryer Industries (Ada, Ohio) + + + + + Pure Steel Custom Cycles, Inc. + + + + + Peterbilt Motors Co.Div. of Paccar, Inc. + + + + + PRO-TRAK TTRAILERS, INC.; CANTON, TX + + + + + IndependenceMfd. by Patriot Homes, Inc. + + + + + PTV + + + + + Puch + + + + + Puckett Brothers Mfd. Div. Co. Inc.Lithonia, Georgia + + + + + Pull-Do Trailers + + + + + Pull A Long Mfg. & Sales + + + + + Pullers Pride, Inc., or Murphy's Welding + + + + + Puma Camper SalesDiv. American Sterling Enterprises + + + + + Puma + + + + + Puzey Bros., Inc.Fairmont, Illinois + + + + + Power Dyne + + + + + POWER TRAC MACHINERY + + + + + PW Trailer + + + + + Pyle Haul-It-All Flatbed + + + + + Pyramid Mobil Homes + + + + + QE Mfg. Co., Inc.New Berlin, Pennsylvania + + + + + CHINA QINGQI GROUP, INC; MOTORCYCLES, MOPEDS, SCOOTERS, ETC + + + + + Qianjiang Motorcycle Group Corp. + + + + + QUALITY BUILT TRAILER, INC.; NEW MARKET, TN + + + + + Quality Steel & Aluminum Products + + + + + Quaker City Iron Works, Inc.Philadelphia, Pennsylvania + + + + + Quality Trailer + + + + + Quickload + + + + + QUIK MANUFACTURING, CO; FOUNTAIN VALLEY, CA + + + + + Quincy Compressor Div.Colt Ind, Inc., Quincy, Illinois + + + + + QUALITY MFG. CO., INC.; ROME, NEW YORK + + + + + Qvale Automotive Group + + + + + Rabbit + + + + + Rabbit, Jr. + + + + + Rach WeldingSt. Joseph, Michigan + + + + + Racine Construction Tool Div.,Racine Federated, Inc. + + + + + Racmac Trailer + + + + + Roadcraft Mfg. & Leasing + + + + + Radamacher Trailer + + + + + Raes Utility Trailer + + + + + Rainbow Camper Co. + + + + + Rainbow Corp. + + + + + Leisure Vehicles, Inc.Troy, MI + + + + + Rainway Mfg. Co. + + + + + Rallymaster Travel TrailerArlington, Texas + + + + + Ramada Tent Camping Trailer + + + + + Rambler-manufactured prior to 1966(1966 and later Ramblers manufac-tured by American Motors - seeAme + + + + + Ramlin + + + + + R & A MANUFACTURING PARTENRS, LTD.; HOUSTON, TX + + + + + Ramsey Trailers + + + + + Ramses + + + + + Ranchette Travel Trailer + + + + + Rancho Trailers, Inc. + + + + + Randall, Walter + + + + + Randolph Coach + + + + + Ranch King Enterprises, Inc.Bellville, Texas + + + + + R-Anell Homes, Inc.Denver, Colorado + + + + + Ransome Lift Equipment Co., Subsidi-ary of Giles & Ransome, Inc. + + + + + Rapid Traveler Coaches + + + + + RAPSURE, INC; NAPPANEE, IN UTILITY & OTHER TYPE TRAILERS + + + + + Ratco WeldingBillings, Montana + + + + + Ravens-Metal Products, Inc.Parkersburg, West Virginia + + + + + Arkansas TravelerMfd. by Rawhide Stock & Horse TrailerMfr., Inc. + + + + + RAYCO MANUFACTURING,INC.; WOOSTER, OH ; EQUIPMENT & TRAILERS + + + + + Rayne Plane, Inc. + + + + + Raygo, Inc.Minneapolis, Minnesota + + + + + Raymond Products Co. + + + + + Raymur Acceptance Corp. + + + + + Raynell Campers + + + + + Mini-CruiserMfd. by R.B.R. Corp. + + + + + RECREATION BY DESIGN LLC.; ELKHART, IN + + + + + RC COMPONENTS + + + + + Richards Utility Trailer + + + + + R.C. Industries, Inc.Goshen, Indiana + + + + + Big AMfd. by Rickel Mfg. Corp. + + + + + ROCKIN L. RIGGIN CORP.; GRAHAM, TEXAS + + + + + Road Clipper + + + + + RC Motor Home + + + + + reconstructed trailers + + + + + Raider + + + + + RIDGELINE, INC; WASHBURN, TN + + + + + Road King Travel Trailer + + + + + RIDLEY MOTORCYCLE COMPANY; OKLAHOMA CITY, OK + + + + + Rea Trailer Co.Elgin, Illinois + + + + + READI-BUILT TRAILERS; THOMASVILLE, NC + + + + + Realco Trailer + + + + + Rear's Mfg. Co. + + + + + Rebel Mobile HomeDiv. Skyline Homes + + + + + Rebel Boat Trailer + + + + + R.E. Custom Boat TrailersWest Columbia, South Carolina + + + + + Reco Goliath Tent Trailer + + + + + Reconstructed Motorcycle (SeeOperating Manual,Part 1) + + + + + Recreative Industries, Inc. + + + + + Rec-Sha Trailer + + + + + Red Arrow Trailer Co. + + + + + Red Cat Motors + + + + + Red Dale Coach Co. + + + + + Red Gooser Horse Trailer + + + + + RED HORSE MOTORWORKS; LENEXA, KS + + + + + Redi-Go Traveler + + + + + Reddick Equipment Co., Inc. + + + + + Country EstateMfd. by Redman Homes, Inc. + + + + + Red River Custom TrailerClarksville, Texas + + + + + Redstone Coach Co. + + + + + Reed Enterprises, Inc. + + + + + Reed Mfg. Co. + + + + + REEL TRAILERS + + + + + Reeves Trailer + + + + + Regent Homes Corp. + + + + + Regis Corp. + + + + + Reids Trailers, Inc.Pleasant Garden, North Carolina + + + + + Reinell Boat Trailer + + + + + Reliant + + + + + Reliable Tank Inc.Rhone, Texas + + + + + Relco Corp.Mfd. in North Billerica, Massachusetts + + + + + Reliance Trailer Mfg.Div. Redwood Reliance Sales Co.,Cotati, California + + + + + Reliart Trailer Mfg. Co. + + + + + Realite Trailer + + + + + Rembrant Mobile Home + + + + + RemcoMfd. by Rome Engineering & Mfg. Co. + + + + + Countryside Mobile HomeMfd. by Remic Industries, Inc. + + + + + Remke Trailer + + + + + REMEQ, INC.; PRINCEVILLE, QUEBEC CANADA + + + + + Renault + + + + + Rent-A-Trailer Corp. + + + + + Reo + + + + + RETTIG ENTERPRISES; SIKESTON, MO + + + + + Revella Camping Trailer + + + + + Revcon + + + + + Reeves Roofing Equipment Co. + + + + + Rex + + + + + Rexhall + + + + + Rex Mobile HomesDiv. of Divco-Wayne Industries + + + + + Rexnord, Inc. + + + + + Reynolds Mfg. Co. + + + + + RFC Mfg., Inc. + + + + + R & G + + + + + RHEA'S TRAILER SALES, INC.; TEXAS + + + + + Rhino Tool Company + + + + + Rhino Trailer Mfg. + + + + + Richard Piche, Inc.Quebec, Canada + + + + + Darian Mobile HomesMfd. by Richardson Div. GreatSouthwestern Corp. + + + + + Richardson Homes Corp. + + + + + Rickman + + + + + Richards & Clark Mfg. Co. + + + + + Richland Homes Mfg. Co.Subsidiary Magnolia Mobile Home + + + + + Richardson Mfg. Co., Inc. + + + + + Ride-On, Inc.Mfrs. boat trailers--Ceres, California + + + + + Ridgecraft Corp.Breckenridge, Texas + + + + + Right Products, Inc. + + + + + R & I IndustriesCity of Industry, California + + + + + Riley + + + + + Rimer, Inc. + + + + + Rich Industries + + + + + Ring-o-matic Mfg. Co.Pella, Iowa + + + + + Rink Mfg. Co. + + + + + Ripco, Inc. + + + + + Rite-Bilt + + + + + Rite-On TrailersDiv. of Windward Marketing + + + + + River Trail TrailersLittle Rock, Arkansas + + + + + Ranger Mobile HomesMfd. by Ritz-Craft, Inc. of Indiana(see Ritz-Craft of Pa., Inc.) + + + + + Rivercraft Boat Trailers + + + + + Riverdale Steel Works + + + + + Riviera + + + + + Brown Trencher Div., Rivinius, Inc. + + + + + Bill Rivers + + + + + Montgomery Ward (Riverside)MONT for reference only + + + + + Riverside Trailer Mfg. Co. + + + + + River Run + + + + + Riviera Mfg. Co. + + + + + Rockwell + + + + + Allen, R. L. Company, Inc.Battle Creek, Michigan + + + + + ROLLINGSTAR, MFG., INC. ; BARNEVELD, NY + + + + + Country-BoyMfd. by Reid's Mfg. & Welding Co. + + + + + Rance Aluminum, Inc. + + + + + REINKE MFG. INC; DESCHLER, NEBRASKA + + + + + Ransome + + + + + Rinso Forklift + + + + + Roam-A-Bout Camper + + + + + Road Roamer Campers + + + + + Road Motor Home + + + + + Roadliner Mfg. Division + + + + + Roadmaster Mfg. Co. + + + + + Roadrunner Mfg. Corp. + + + + + Roadway Trailer, Ltd. + + + + + Roaminghome Co., Inc. + + + + + ROBB KAUFMAN, INC.; LEXINGTON, NORTH CAROLINA + + + + + Robin Mfg. Co. + + + + + Robinhood Motor Homes, Inc.Redondo Beach, California + + + + + Robin Hood Travel Trailers + + + + + Robert Horse Trailer + + + + + Rockin-Bar Trailers Ltd.Durant, Oklahoma + + + + + Rocket Trailer, Ltd. + + + + + Rockford Welding & Machine + + + + + Rochdale + + + + + Rockford + + + + + Rockie Mountain Mfg., Inc. + + + + + Rockland Homes, Inc. + + + + + R. O. Corp. + + + + + Manitou Mobile HomesMfd. by Rochester Homes, Inc. + + + + + Rockport Trailer Mfg. Corp. + + + + + Royal Enfield + + + + + Rogers Brothers Corp. + + + + + Rogers Trailers, Inc. + + + + + Rogue River Trailer Mfg. Co. + + + + + Rockne + + + + + Rockland Mfg. Co., Inc. + + + + + Rokon + + + + + Rockwood, Inc.Millersburg, Indiana + + + + + Rolls-Royce + + + + + Rolco Mfg. Co. + + + + + Roll-O-Flex, LTD.Regina, Saskatchewan + + + + + Roll-A-Long & Sterling Coach Co. + + + + + Rolite, Inc. + + + + + Rollfast + + + + + Rolling Homes, Ltd. + + + + + MayberryMfd. by Rollohome Corp. + + + + + ROLLS RITE TRAILERS, INC; MARIANNE, FL + + + + + Rolls International TrailerMobile Home + + + + + Rolling Thunder + + + + + Royal Land Yacht + + + + + Romae IndustriesMountain View, Missouri + + + + + Rome Industries, Inc. + + + + + Ronco Coaches, Inc. + + + + + RON'S TRAILERS INC.; OREGON, OH + + + + + Roofmaster + + + + + ROOSE MANUFACTURING; PELLA, IA + + + + + Rootes + + + + + Roper Outdoor Power ProductsKankakee, Illinois + + + + + Road Ranger Camper Trailer + + + + + Road Runner + + + + + Rosco Mfg. Co.Minneapolis, Minnesota + + + + + Rosemont Mobile HomeDiv. DeRose Industries + + + + + J.H. Ross Co. + + + + + Rotech, Inc. + + + + + Rockett TrailersMedley, FL; boat trailers + + + + + Rotocraft Boat TrailerGrants Pass, Oregon + + + + + Roulette Caravan Co. + + + + + Roust-About + + + + + Rover + + + + + Rowse Hydraulic Rake Co. + + + + + Royal Brothers + + + + + Royal Crest Co. + + + + + Royer Foundry and Machine Co.Kingston, Pennsylvania + + + + + Royco Mfg. Co. + + + + + Royal Cargo Trailers, Inc. + + + + + Roycraft Coach Co. + + + + + Royal Industries Noble Div. + + + + + Royals InternationalMillersburg, Indiana + + + + + H & H SnowmobilesCleveland, OH + + + + + RAPTOR; ATV + + + + + R & H Horse Trailer + + + + + Fat CatMfd. by R & R Mfg. Co. + + + + + ROYAL RIDER MOTORCYCLE MANUFACTURING CO., INC.; HUDSON, FL + + + + + Ridge Runner Industries, Inc.Fairmount, West Virginia + + + + + Range Rover of North America + + + + + R/S Truck Body Co., Inc.Allen, Kentucky + + + + + R.T.R. Trailers, Inc. + + + + + Ruchmore Homes + + + + + Rugg Manufacturing Co. + + + + + Rush Industries, Inc.Elkhart, Indiana + + + + + Rumi + + + + + Run-About + + + + + Rupp + + + + + Frank Russell Mfg. Co. + + + + + Rushmore Homes + + + + + RUSH & SON, INC; LENOIR CITY, TENNESSEE + + + + + Russco Lowboy Trailer + + + + + Rustler Horse Trailer + + + + + Ruttman + + + + + Rutt + + + + + RV Industries, Inc. + + + + + R-VISION, INC. INDIANA; MANUFACTURER OF TRAIL BAY TRAVEL TRAILER AND OTHER BRANDS + + + + + Hitch HikerMfd.by R. V. Kompacts, Inc. + + + + + River Oaks Homes, Inc.Boaz, Alabama + + + + + Randall's VIP Trailers, IncTempe, AZ; boat and utilitytrailers + + + + + Rice & Woolard Mfg., IncNaylor, MO + + + + + Ryan Mfg. + + + + + Rycsa + + + + + Ryder + + + + + Ryobi + + + + + RAZORBACK TRAILERS; PENNSYLVANIA + + + + + Saab + + + + + Recreatives, Inc.See Sabre + + + + + Sabine Mfg., Inc. + + + + + Sabre Equipment Div.Div. Sabre Metal Products + + + + + Sabra + + + + + Sachs + + + + + Safari + + + + + Safeway Mobile Homes Div.Div. Commodore Corporation + + + + + Safti + + + + + Sage Mfg. Co. + + + + + Sahara Mobile Homes + + + + + St. Clair Custom Built + + + + + St. Joseph Marine Trailer + + + + + Salsbury + + + + + Salem Mobile Home Trailer + + + + + Saling Mfg. Co. + + + + + The Salem Tool Co. + + + + + Salvaco, Inc.Columbus, Ohio + + + + + Safari Motor Coaches, Inc.Harrisburg, OR + + + + + Same & Lamborghini Tractors of NorthAmerica, Inc. + + + + + Sampson + + + + + Sams + + + + + SANDS WELDING INC; ALBANY,MN + + + + + Sangyong + + + + + Sani-Cruiser Co. + + + + + Sanker Mfg. & Supply + + + + + Santa Cruz Trailer Mfg. Co. + + + + + Santa Fe Springs Div.Div. of Divco-Wayne Industries + + + + + Santeler Brothers + + + + + Santo + + + + + Saracen + + + + + Starcraft Mfg. Co. + + + + + Satoh Japanese Tractor + + + + + Saturn Corporation + + + + + Saturn HomesDiv. Harrelson Corporation + + + + + SAUBER MANUFACTURING COMPANY; VIRGIL, IL + + + + + Savage Coach Mfg., Inc. + + + + + Savannah Homes, Inc.Savannah, Tennessee + + + + + Seabring Home, Inc. + + + + + Sebring Home Corp. + + + + + Scad-A-Bout Mfg. & Aluminum Co. + + + + + SCAG POWER EQUIPMENT, DIVISION OF MTEALCRAFT OF MAYVILLE,WI MAKER OF POWER RIDING MOWERS + + + + + Scamp + + + + + ScaniaOrange, Connecticut (Saab-Scania ofAmerica, Inc.) + + + + + Scamper Coach Trailer + + + + + Skat (or Skat-Kitty) + + + + + Scenic Campers Co. + + + + + Scepter Utility Trailer + + + + + Schantz & Sons, Inc.Marine, Illinois + + + + + Schrader Dump Trailer + + + + + Schenkel Brothers Mfg. Co. + + + + + SCHIFSKY TRAILERS + + + + + Schertzer Equipment Co. + + + + + Schetzky Equipment Corp. + + + + + Schevelle Homes Sales Corp. of Alabama + + + + + Schiebout Mfg. Co. + + + + + Schien Body & Equipment Co.Carlinville, Illinois + + + + + Schlemmer Boat Co. + + + + + Schult Mobile Homes Corp.Middlebury, Indiana + + + + + Schnure Ho' Trailer + + + + + Schwartz Mfg. Co. + + + + + SCION; NEW LINE/MAKE OF VEHICLE UNDER THE TOYOTA BRAND ______MODELS INCLUDE THE XA & AB + + + + + SCI Trailer + + + + + Schuler Mfg. & Equipment Co., Inc. + + + + + Scott Midland Div.Div. A-T-O, Inc. + + + + + Schramm, Inc.West Chester, Pennsylvania + + + + + Scamp Trailer + + + + + Scootalong + + + + + Scotsman Industries, Inc. + + + + + Scotsman Mfg. Co. + + + + + Scorpion + + + + + Scott + + + + + Scout Motor Home + + + + + ScorpionCrosby, MN + + + + + Scoutboat Trailer + + + + + Star Custom Trailers, Inc.Lebanon, Tennessee + + + + + SCAT TRAK; CONSTRUCTION EQUIPMENT + + + + + SCOTT'S RIDING MOWERS/TRACTORS MFG FOR SCOTTS BY JOHN DEERE + + + + + Scully Coach Co., Inc. + + + + + Sea Breeze Trailer + + + + + Seacamper Boat Trailer + + + + + Seagrave Fire ApparatusClintonville, Wisconsin + + + + + Seagull + + + + + Sea Lion Utility Trailer + + + + + Seal MateDiv. of Tateco, Inc. + + + + + Seaman Digz-AllMerrill, Iowa + + + + + Sears, Roebuck & Co. + + + + + Sea Stallion TrailersKlamath Falls, Oregon + + + + + Seat + + + + + Sears, Wendell + + + + + Seco Mfg. Co. + + + + + Security Industries + + + + + Servicycle + + + + + Seemore Flatbed Trailer + + + + + Seiden Mobile Homes + + + + + Selburn Flatbed Trailer + + + + + Selma Trailer & Mfg. Co. + + + + + Selox Mfg., Ltd.Toronto, Ontario, Canada + + + + + Sellers Trailer + + + + + Selby Mfg. Co.Nicollet, Minnesota + + + + + Semlac Corp. + + + + + Seminole Boat Trailer + + + + + Senora TrailersYuma, AZ; trailers + + + + + Searover TC Camper + + + + + Sera + + + + + Scotty SportsmanMfd. by Serro Travel Trailer Co. + + + + + SETRA OF NORTH AMERICA + + + + + Jenkins Equipment Co., Inc. Subsidi-ary of Sweepster, Inc. + + + + + SEWER EQUIPMENT CO. OF AMERICA + + + + + SEXTON MOTORCYCLE COMPANY + + + + + Safet Camper + + + + + SFM + + + + + Shamrock CampersDiv. Classic Mfg. Co. + + + + + GalwayMfd. by Shamrock Homes + + + + + Sharratt Mobile Homes & Supplies + + + + + Shasta Industries + + + + + Shaver Mfg. Co. + + + + + Shaw-Wynn Homes Corp. + + + + + Sherwood Baronet Tent Trailer + + + + + Shadow TrailersShadow Boat Trailer, Glencoe, OK + + + + + Shelby American + + + + + Shelby Mobile HomesDiv. Commodore Corporation + + + + + Puller-TensionerMfd. by Sherman & Reilly, Inc. + + + + + Shertzer Dump Trailer + + + + + Shipbuilt Van Trailer + + + + + Shiloh HomesDouble Springs, Alabama + + + + + ShipmateSemek Mfg., Inc. + + + + + Shippette Mobile Homes + + + + + Shivvers, Inc. + + + + + SHIJIAZHUANG MFG MOTORCYCLES AND ATV'S + + + + + SHL + + + + + Sho-Me Campers Co. + + + + + Shoops Horse Trailer + + + + + Shopmade Flatbed Trailer + + + + + Shovel Supply Co., Inc. + + + + + Showco Nomad Trailer + + + + + SHERCO MOTORCYCLE + + + + + Sherwood Sentry Horse Trailer + + + + + S & H Trailer Mfg. Co., Inc.Madill, Oklahoma + + + + + Show-Me Trailers, Inc.Smithton, Missouri + + + + + Siata + + + + + Silver Eagle Travel Trailer + + + + + Siebert Trailers, Inc.Stockton, California + + + + + SIEMS ENTERPRISES; SHELLEY, IDAHO TRAILERS + + + + + Sierra Campers Mfg. + + + + + Sigame Corp.Gardena, California + + + + + Lear SieglerMfd. by Signal Div. of Lear Siegler,Inc. + + + + + Sila Autoretta + + + + + Dorsett Mobile HomesMfd. by Silvercrest Industries, Inc. + + + + + Silver Leaf Mfg. Co. + + + + + Silverline + + + + + Silver Pigeon + + + + + Silent Hoist & Crane Co. + + + + + Silver Streak Trailer Co. + + + + + Simca + + + + + Simek Mfg., Inc. + + + + + Simenson Mfg. Co. + + + + + Simon Utility Trailer + + + + + LandlordMfd. by Simplicity Mfg. Co., Inc. + + + + + Simson + + + + + Simpson Enterprises, Inc. + + + + + SIMPSON WELDING & CUSTOM TRAILERS / HOWBOY TRAILERS; HUGO, OK + + + + + Singer + + + + + Single Tilt Trailer + + + + + SUN INTERNATIONAL RACING CORPORATION; CALIFORNIA + + + + + Silver Star Trailer + + + + + Sisu USA Inc. + + + + + Sightseer Motor Home + + + + + Six Pac Camper + + + + + Skamper Corp. + + + + + Ski Kart + + + + + Skim Air Trailer + + + + + Skipper B Trailer Co., Inc.Div. of Anderson Ind., Inc., Burleson,(formerly Brown Ind.)Texas + + + + + AriensSee Skiroule Ltd + + + + + Ski-Tow Mfg. Co., Inc.Elkhart, Indiana + + + + + Academy Mobile HomesMfd. by Skyline Motorized Div. + + + + + Skoda + + + + + Skippy Trailer + + + + + Skyteam Corp., Ltd. + + + + + Skycraft Trailer + + + + + Skyhomes, Inc.Div. Skyline Homes + + + + + Skylark Industries, Inc.Bristol, Indiana + + + + + Skyjack + + + + + AlyMfd. by Skyline Corp. + + + + + SKYTRAK; CONSTRUCTION EQUIPMENT;FORKLIFT ETC. + + + + + Solo Electra + + + + + Sloat Mfg. Co. + + + + + Sleep Easy Trailer + + + + + Smalley Mfg. Co. + + + + + Smartlee + + + + + SMB Teleiamotre (Bologna, Italy) + + + + + Smeal + + + + + L. B. Smith, Inc.Manufacturer of Smithco. Trailers + + + + + Smily + + + + + Smith-Roles Ltd. + + + + + Smith, T. L., Co.Div. A-T-O, Inc. + + + + + Simplex + + + + + Smokey Trailer + + + + + SAM PATTON INDUSTRIES + + + + + S & M Trailer Co. + + + + + Southern Missouri Trailer Sales + + + + + SmallwoodCounty Line Co. + + + + + SOUTHMAYD EQUIPMENT CORPORATION + + + + + Snapper + + + + + Snatcher Trailer CompanyBettendorf, Louisiana + + + + + Sunbird Boat CompanyColumbia, SC; boat trailers.Haleyville, Alabama + + + + + SunBird, Inc. + + + + + Sun Belt Energy Housing, Inc. + + + + + SANDPIPER + + + + + Hainan-Sundiro + + + + + Sunflower Travel Trailer + + + + + Sun-Lite, Inc.Bristol, Indiana + + + + + Sea BirdMfd. by Sno-Bird Trailer Co., Inc. + + + + + Snow Tri Scat + + + + + Snowflake Coach Industry + + + + + Sabre JetSee Sno*Jet, Inc. + + + + + Unlisted Snowmobile Manufacturer + + + + + Southern Energy Homes, Inc.Addison, Alabama + + + + + Remington HomesDallas, Texas (Division of SunrizonHomes, Inc.) + + + + + Sensation + + + + + Santa Fe Trailer Co. + + + + + SANTEE INDUSTRIES SYLMAR, CA + + + + + Sun Trailer & UtilitiesMid-West City, Oklahoma + + + + + Snowton Trailer + + + + + SNUB-HARBOR OR DAY'S DRYDOCK TRAILERS; INDIANA + + + + + Snowbear, Ltd. + + + + + SNOW Co. + + + + + Snyder Trailer Co. + + + + + Society Coach Builders + + + + + Southern Classic Trailer Mfg., Inc. + + + + + Soderstrom Machine ShopCanton, South Dakota + + + + + Soil Mover Mfd. Div. + + + + + Sol Cat Boat Trailer + + + + + Solectria + + + + + Solo Motors, Inc. + + + + + Southern Lifestyle Homes, Inc.Addison, Alabama + + + + + Son-Dyke Trailer Co.Boat Trailers--Calico Rock, Arakansas + + + + + Soni II + + + + + Sooner Mfg. + + + + + Sopko Mfg., Inc. + + + + + SOUTHERN SALES, INC; TRAVELERS REST,SC + + + + + SOUTH BAY TRAILERS; LOUISVILLE, KY + + + + + Southwest Welding & Mfg. Co. + + + + + Southeast Mfg. Co., Inc. + + + + + SOUDRE KERR, INC.; COOKSHIRE, QUEBEC CANADA + + + + + Southeastern + + + + + Southern Trailers + + + + + Southlane Horse Trailer + + + + + Southwest Truck Body Co.St. Louis, Missouri + + + + + Sovam + + + + + Southwind Motor Home + + + + + Space Motor Home + + + + + Space Age Campers + + + + + Space-Craft Trailers Mfg. + + + + + Sparrowhawk Trailer Co. + + + + + SpacemasterColumbia, Tennessee + + + + + Spano Crane Sales & Service Corp. + + + + + Sparta + + + + + Spartan Aircraft Co. + + + + + Speed Bird + + + + + Space Assemblies, Inc.Middlebury, Indiana + + + + + Spector Manufacturing, Inc. + + + + + Springcycle + + + + + Marvin A. Spears Co. + + + + + Special (Go-cart, Golf Cart, seeOperating Manual, Part 1,Section 2) + + + + + Speed + + + + + Speedway Trailer Div.Div. Dunphy Boat Corp. + + + + + Spirit Eagle + + + + + Speicher Brothers, Inc.Auger products + + + + + Speed King Mfg. Co., Inc. + + + + + Special Endeavors, Inc.Omaha, Nebraska + + + + + Specialty Mfg. Co.Red Bay, Alabama + + + + + Spen & Co. + + + + + Spencer Sports Products + + + + + Speedex Tractor Co.Ravenna, Ohio + + + + + SPORT HAULER BY SPORT CHASSIS AT FREIGHTRLINER IN TULSA, OK___MAKER OF SPORT HAULER TRUCK & TRAILER + + + + + Sportliner Tent Trailer + + + + + Specialized Trailers + + + + + Sportsman + + + + + Sprinter + + + + + SPRINTER MOTORCYCLE + + + + + Sportcoach Corporation of America + + + + + Spokane Travel Homes + + + + + Shalimar Mobile HomesMfd. by Sportcraft Homes + + + + + Sport King Campers + + + + + Sportsman + + + + + Sportsman's Dream Mfg. Co. + + + + + Speedway Products, Inc.Mansfield, OH + + + + + Spartan ProductsWest St. Paul, Minnesota + + + + + Sprayline Two Wheel Trailer + + + + + Sperry Rand + + + + + Sprite + + + + + Sprite + + + + + Sportmasters of Tennessee, Inc. + + + + + Springtrail Mfg. Co.Springfield, Missouri + + + + + Sprout, Waldron & Co., Inc. + + + + + Superior Office Trailer + + + + + HoosierBoat Trailer--mfd. by Spreuer and Son,c. + + + + + Sportcoach Motor HomeMfd. by Sportscoach Corp. of America,Chatsworth, California + + + + + Sprayrite Mfg. Co. + + + + + Sportsliner Camping Trailer + + + + + SPECTRUM STEEL, HYRUM, UTAH + + + + + Spartan Motors, Inc.Mfd. in Charlotte, Michigan + + + + + SUPERIOR TRAILERS OF GA. INC.; DANIELSVILLE, GA + + + + + Speedway + + + + + Spyder + + + + + Squire Travel Trailer + + + + + SearsSears, Roebuck & Company + + + + + BPMfd, by SS Trailer Co. + + + + + Star Machine Shop Co. Ltd. + + + + + Stack Truck, Inc. + + + + + Standard Steel + + + + + Stam Mfg. Co. + + + + + Stage Coach Mfg. Co. + + + + + Grenadier Mobile HomesMfd. by Statler Homes Mfg. + + + + + Starmaster Camping Trailer + + + + + Standard + + + + + Starcraft Corp. + + + + + Star Tank & Trailer Mfg. Co. + + + + + Star + + + + + Star Fire, Inc. + + + + + Startrek + + + + + Starlite Mfg. Co. + + + + + Star Meteor FloridaDiv. of Divco-Wayne Industries + + + + + Star Mobile Homes + + + + + Stucco Trailer + + + + + Starcraft Corporation + + + + + Steelcraft Log Trailer + + + + + Steyr-Daimler-Puch + + + + + Steadman Containers Ltd.Brampton, Ontario + + + + + Steco Trailer Co. + + + + + Steed-Pollak Mfg. Co. + + + + + Stew-Gar, Inc. + + + + + SterlingSterling-Salem Corp. + + + + + Steelco, Inc.Alto Loma, Texas + + + + + Stepper Trailer + + + + + Sterling Industrial Corp. + + + + + Stewart, Inc. + + + + + Steury Trailer + + + + + Stewart Engineering & Equipment Co. + + + + + Steyr-Puch + + + + + Stidham Horse Trailer + + + + + Stillwater Supply Co. + + + + + Sterling + + + + + Sterline Flatbed Trailer + + + + + Stilo Trailer + + + + + STANLEY YARD & GARDEN TRACTOR/MOWER ETC. + + + + + Supertrail Mfg. Co., Inc.Aberdeen, Misssippi + + + + + Stampings, Inc. + + + + + Stanley Hydraulic Tools + + + + + Stockland + + + + + Stoddard Mfg. Co.Waterloo, Iowa + + + + + Stone Construction Equipment Inc.Honeyoye, New York + + + + + STOLL TRAILERS, INC; ABBEVILLE, SC + + + + + Stoner Trail + + + + + Stopover Traveler & Camper Co. + + + + + Stoner Totter Trailer + + + + + Stoughton Trailers, Inc.Stoughton, Wisconsin + + + + + EconorollMfd. by Stow Mfg. Co. + + + + + STEPHENS PNEUMATICS, INC.; HASLET, TEXAS + + + + + Stewart Park Homes, Inc. + + + + + Strale + + + + + Starbuck Trailer + + + + + Strahan Mfg. Co. + + + + + Stardust Travel Trailer + + + + + Streamline Trailer Co. + + + + + TK Sterling + + + + + STROHL CORPORATION; MISHAWAKA,IN ; VARIOUS STYLES TRAILERS + + + + + Strick Trailers Corp.Fort Washington, Pennsylvania + + + + + Star TrailMfd. by Stark Bros. Motor Sales + + + + + Starline Trailer Mfg. Co. + + + + + Streamline Motor Home + + + + + Saturn + + + + + Starcrest Motor Home + + + + + Star Transport Trailers, Inc.Sunnyside, Washington + + + + + Studebaker + + + + + Stuart + + + + + Stutz + + + + + Subaru + + + + + Sun Blazer Travel Trailer + + + + + Suburban Motors, Inc. + + + + + Superior Equipment Co.Buckeye Products + + + + + Super Flea + + + + + Sunflower Mfg. Co., Inc. + + + + + SUGGS MANUFACTURING CO., INC.; LAGRANGE, NC + + + + + Sullair Corp.Michigan City, Indiana + + + + + Superior Mfg., Inc. + + + + + Summers Mfg. Co. + + + + + Summitt Trailer + + + + + Sun + + + + + Sunbeam + + + + + Sundial Motor Home + + + + + Sunliner Motor Home + + + + + Sunhome Mfg. + + + + + Sunset Mobile Homes + + + + + Sun State Mobile Homes + + + + + FlamencoMfd. by Sundancer Div. of WinstonIndustries + + + + + Sun Valley + + + + + Sunline Coach Co. + + + + + Sun ChaserMfd. by Sun Recreational Industries, Ltd + + + + + Sunshine HomesRed Bay, Alabama + + + + + Sunset Travelers + + + + + Sun Devil Trailers, Inc.Boat trailers--Tulsa, Oklahoma + + + + + HogerMfd. by Sundowner Trailer Co. + + + + + Superior Motor Home + + + + + Superformance International (Maker of replica vehicles) + + + + + Superior Ideal, Inc.Oskaloosa, Iowa + + + + + Supreme Industries, Inc.Louisville, Tennessee + + + + + Superior Trailer WorksLos Angeles, California + + + + + Super Two + + + + + Sureload + + + + + Surf-Rider, Inc. + + + + + Surveyor Motor Home + + + + + Susquehanna-Santee Boat Works, Inc.Boat Trailers; Willow Street,Pennsylvania + + + + + Sutphen Corp.Amlin, Ohio + + + + + Suvega Tiger + + + + + Suzuki + + + + + Suzulight Su + + + + + Specialized Vehicles Corp. + + + + + Silver Trail + + + + + Swan Industries + + + + + Swanee Trailer Mfg. Co. + + + + + Sweetheart Motor Home + + + + + SMPMfd. by Sweetwater Metal Products Co.,Inc. + + + + + Sweepster, Inc. + + + + + SOUTHWEST GOOSENECK; SAN ANTONIO, TX + + + + + Griswold IndustriesSee Swinger Snowmobiles + + + + + Swift Motorsports, Inc. + + + + + Swisher Mower & Machine Co.Warrensburg, Missouri + + + + + Swinger + + + + + Swiss Colony Travelers, Inc.Div. Herrli Industries + + + + + C.M.Cub (mfd. by SWI Tong Corp.,imported by Convenience Machines) + + + + + SWM + + + + + Swinger Camper Mobile Home + + + + + Swanson Tilt trailer + + + + + SOUTHWEST EXPRESSLINE, WHITE PIGEON,MICHIGAN + + + + + Sycamore Mobile Homes + + + + + Sylvan Double Snowmobile Trailer + + + + + Syrena + + + + + Tacoma Trailer + + + + + Tacquito + + + + + Tracer Horse Trailer + + + + + Tecnica AutomotrizDel Noroeste SAMexico; trailers + + + + + Tag-A-Long Trailers + + + + + Target Products Division, Federal-Mogul Corp. + + + + + Tahiti Ski Trailers + + + + + Tahoe Motor Home + + + + + Tailor Maid Industries + + + + + Taizhou Hisource Intl. Trade Co., Ltd. + + + + + Taka (Imported by Rockford) + + + + + Takeuchi Manufacturing (U.S.) Ltd.Atlanta, GA; manufactures compact trackequipment + + + + + Talbert Mfg. Inc.Rensselaer, Indiana + + + + + Tailgater + + + + + Taylor Metal Works, Inc.Milan, Tennessee + + + + + Taylor Mfg. Co., Inc. + + + + + Tama + + + + + Tampo Manufacturing Co. Inc. + + + + + Tanden Boat Trailer + + + + + Tankraft Trailer + + + + + T & M EnterprisesCookville, Texas + + + + + Tannehill Trailer + + + + + Tandom Boat Trailer + + + + + Tara Products, Inc.White Pigeon, Michigan + + + + + Target Coach Mfg. Co.Div. Central Builders Supply + + + + + Tartan Corp.Div. American Duralite Corporation + + + + + TARASPORT TRAILERS, INC.; SWEETWATER, TN + + + + + Tatra + + + + + Taube Tool Corp.Mfd. Taube n Taube Trailer,Richmond, Indiana + + + + + Taunus (German Ford) + + + + + Tawas Trailers, Inc. + + + + + Taylor-Dunn Industrial Electric VehiclesAnaheim, California + + + + + Taylor Mobile HomesDiv. Troy Lumber Company + + + + + Taylor Machine Works, Inc. + + + + + Travel Cruiser + + + + + TBC + + + + + Tchaika + + + + + Talbot-Carlson, Inc.Audubon, Iowa + + + + + TC Industries, Inc.Crystal Lake, Illinois + + + + + HerculiftMfd. by TCI Power Products, Inc. + + + + + Triple Crown Trailers, Inc. + + + + + Tear Drop, Inc. + + + + + Tebben Mfg. Co., Inc. + + + + + TEC + + + + + Tecumseh Products Co., Engine Div. + + + + + Tecnoma, Ltd., (Canada) + + + + + Tecumseh + + + + + T&E ENTERPRISES OF HERSCHER, INC.; HERSCHER.IL + + + + + Tee Nee Trailer Co.Youngstown, Ohio + + + + + Tejas Trailers, Inc.Bellville, Texas + + + + + Tel Star Trailers + + + + + Tem Ken Trailers Mfg. + + + + + Tempo + + + + + Tennant Co. + + + + + Tennessee Trailer + + + + + Tempe Trailers + + + + + Terra Cruiser Div.Div, of Divco-Wayne Industries + + + + + Terra-Marina Mfg. Co. + + + + + Terramite Corp. + + + + + Terravac Corp.Stockton, California + + + + + Terry Industries of Virginia + + + + + Terex Div.Euclid & Terex products + + + + + T.E.S. (Truck Equipment & Sales Co.) + + + + + Testi + + + + + Teton Travel Trailer + + + + + Texan Trailer Mfg. Co. + + + + + Texarkana Div.Div. of Divco-Wayne Industries + + + + + Tex Willett Co. + + + + + Texoma, Inc. + + + + + Texas Bragg EnterprisesMt. Pleasant, TX; utility trailers + + + + + TUFF/LUGG MANUFACTURING + + + + + Tote Gote + + + + + Tigerline Trailer + + + + + The Thackery Co., Inc. + + + + + Thames + + + + + Joseph Thatcher + + + + + Thunderbolt Trailer + + + + + Theurer Atlantic, Inc.Newark, New Jersey + + + + + The Highland GroupBeachwood, OH; utility trailers + + + + + Thiermann Utility Equipment Div.Milwaukee, Wisconsin + + + + + THOROUGHBRED INDUSTRIES, INC; RIDGELAND, SC STARLITE MODEL + + + + + Thiele, Inc.Windber, Pennsylvania + + + + + Thimsen Mfg. Co. + + + + + Thompson Concrete Pump Trailer + + + + + Thomas Built Bus Co. + + + + + THINK ELECTRIC VEHICLES; DIVISION OF FORD MOTOR COMPANY + + + + + BoatoterMfd. by Thomas Mfg. + + + + + Thor California, Inc. + + + + + THOMAS EQUIPMENT LTD.; NEW BRUNSWICK, CANADA + + + + + Thomas & Co. + + + + + Thorns Trailer + + + + + Thor Power Tool Co. + + + + + Thoroughbred Boat Trailer + + + + + Thomas Conveyor Co. + + + + + Thompson + + + + + Three C's, Inc. + + + + + Three-Dimensional Mobiles + + + + + Three-Way Campers Mfg. + + + + + Thru-Air Trailers, LLC + + + + + Thomsen Equipment Co. + + + + + Thule Trailers, Inc. + + + + + Thunderbird CastlesDiv. Thunderbird Products + + + + + Triangle-K Trailer Co.Drumright, Oklahoma + + + + + Tiara Industries + + + + + Ti-Brook, Inc.Brookville, Pennsylvania + + + + + Tide Craft, Inc. + + + + + Dorado Mobile HomesMfd. by Tidwell Industries, Inc. + + + + + TIFFIN MOTORHOMES, INC; RED BAY, ALABAMA; ALLEGRO, PHAETON, ZEPHER MODELS + + + + + Tiger Trailer + + + + + Tilton-Hilton + + + + + Timberline Mfg. Co. + + + + + Time OutT.O. Corp. + + + + + Timken Bearing Boat Trailer + + + + + Timpte, Inc.Denver, Colorado + + + + + Tinker Clubs of America, Inc. + + + + + Tioga Motor Home + + + + + Tri-State Homes, Inc. + + + + + Titan Trailer Corp.Div. Concord Mobile Homes--Woodland,California + + + + + Titleist Travel Trailer + + + + + TITAN MOTORCYCLE + + + + + Tjaarda + + + + + TRIPLE "J" CUSTOM TRAILERS, GANSEVOORT, NY + + + + + TIMBERKING, INC + + + + + Ozark TrailwayMfd. by Tri-Lakes Mfg. Co., Inc. + + + + + T & L TrailersSikeston, MO; utility trailers + + + + + TRAILERMAN TRAILERS,INC/INLOW CUSTOM TRAILERS; LOUISIANA, MISSOURI + + + + + Trailite Trailer + + + + + TIMBERLAND RV COMPANY; PERU, IN + + + + + TimberwolfElkhart, Indiana + + + + + Transportation Manufacturing CorporationRoswell, New Mexico + + + + + THUNDER MOUNTAIN CUSTON CYCLES; LOVELAND, COLORADO + + + + + TMC Inc.Poskin, WI; mfg. pontoon trailers + + + + + T & M MANUFACTURING, INC.; PRINCETON, ONTARIO CANADA + + + + + TM Trailer + + + + + Travel Mate Trailer + + + + + Tanckon FRP, Inc. + + + + + Transco Trailer + + + + + TN TRAILERS, LLC; SHIPSHEWANA, INDIANA + + + + + Todco + + + + + Toddy Custom Built TrailersMfrs. stock trailers--Bradford, Arizona + + + + + Tow Go TrailersTonganoxie, Kansas + + + + + Tohatsu + + + + + Tourhome Camper Trailer + + + + + Token Flatbed Trailer + + + + + Tour-A-Lodge + + + + + Towmotor Corp.Subsidiary Caterpillar Tractor Co. + + + + + TOMOS/TOMAS; BULLET, SPRINT & OTHER MODELS + + + + + Tonco Lowboy Trailer + + + + + TOP BRAND TRAILERS + + + + + Top Campers + + + + + Top Kat + + + + + Topper Mobile Homes, Inc. + + + + + TOP-3 TRAILERS; TEXAS + + + + + Tora (Imported by Rockford) + + + + + Torch IndustriesElkhart, Indiana + + + + + Torino + + + + + Tornado (British) + + + + + Toro Co. + + + + + Torrot + + + + + Totem Total Trailer + + + + + Tote Co.Lenox, Iowa + + + + + TotemallMfd. by Birmingham Mfg. Co., Inc. + + + + + Topline Trailers ManufacturingFort Worth, TX + + + + + Toura Products + + + + + Tourite Mobile Homes Mfg. + + + + + Towncrier Camper + + + + + Tow Mor ProductsCanon, Georgia + + + + + Towner Mfg. Co. + + + + + Tow Low + + + + + Tow Mobile Forklift + + + + + New CastleMfd. by Town & Country Mfg. Co. + + + + + Tow Pro, Inc.McKinney, Texas + + + + + Towmaster + + + + + Toyocar Van Container Trailer + + + + + Toyopet + + + + + Toyota + + + + + TOP HAT INDUSTRIES, MT. PLEASANT, TX (TRAILERS) + + + + + TOPLINE MANUFACTURING, CO., INC.; TREMONT, MISSISSIPPI + + + + + Tradewind Industries, Inc.Formerly J. H. Holland Co. + + + + + Trader Horn Trailer Supply + + + + + Trabant + + + + + Trail Aire, Inc. + + + + + Trail Car Boat Trailer + + + + + Trail Haven Div. + + + + + Trailmaster Tanks, Inc.Ft. Worth, Texas + + + + + Trailco-Norwin + + + + + Art Roll Mfg. Co., Inc.New name is Trail-R-Craft, Inc. + + + + + Trailex, Inc.Canfield, Ohio + + + + + Trail-It Coach Mfg. Co. + + + + + Trailorama + + + + + Trail-Or-Floats + + + + + Trail-Wide Corp. + + + + + Trans Canada Rent-A-Trailer System + + + + + Transcraft Corp.Anna, Illinois + + + + + Transit + + + + + TransporterAmerican Trailer & Mfg. Co. + + + + + Transvair + + + + + Travel Equipment Corp. + + + + + Travel Industries + + + + + Travoy Motor Home + + + + + Travelaire Trailer Mfg. + + + + + Travelmaster, Inc. + + + + + Travelpak Car Topper Sales + + + + + Travette Mfg. + + + + + Trav-L-Homes + + + + + Trav Otel Industries + + + + + Travois Trailer + + + + + Transfer + + + + + Trainliner + + + + + Trailblazer Trailer + + + + + Trail Boss + + + + + Trail Breaker + + + + + Trail Blazer + + + + + Tracker Corp.Boat trailers--Winchester, Tennessee + + + + + Trailcraft Boat Trailer + + + + + Trailer Coach Metal Spec.Vancouver, Washington + + + + + Tracpac Snowmobile Trailer + + + + + Travel Car Motor Home + + + + + Trac + + + + + Treasure Chest Products + + + + + Trevco Enterprises + + + + + Trek, Inc.Elkhart, Indiana + + + + + Trail-Et Horse Trailer + + + + + TRAILERS EXPRESS, INC. SIKESTON, MO + + + + + Trail Flight + + + + + Trailer Wheel and Frame Co.Bellville, Texas + + + + + Trail Hawk + + + + + Travelo Homes Co.Div. Saginaw Products + + + + + Trail Horse + + + + + Tri-Way HD Snowmobile Trailer + + + + + Trail Mate Trailer Co.Bellingham, Washington + + + + + Triple B Mfg. Co., Inc.Mascoutah, Illinois + + + + + Triggs-Miner Corp. + + + + + Trihawk Inc. + + + + + Trike + + + + + ChanceyMfd. by Trail-O-Matic + + + + + Pullman TrailmobileDiv. of Pullman, Inc.--Chicago, Illinois + + + + + Trinity Products + + + + + Triple R TrailerStockton, Missouri + + + + + Triumph Sales & Service + + + + + Tri-Star Corp. + + + + + Triumph + + + + + Trivellato + + + + + Tri-Way Trailer + + + + + Trojan Industries, Inc. + + + + + Trail King Travel Trailer + + + + + Tracker Marine, Inc.Nixa, Missouri + + + + + Trailco Mfg. & Sales Co.Div. of Dorsey Trailers--Hummels Wharf,Pennsylvania + + + + + Trail-Easy Travel Trailer + + + + + Trail It Horse Trailer + + + + + Trail King IndustriesDiv. W.A.S., Inc., Mitchell,South Dakota + + + + + Trillium Trailer + + + + + Trail Master Trailers, Inc.Coleman, Oklahoma + + + + + SkeeterMfd. by Trailers, Inc. + + + + + Travel Long Inc. + + + + + TRL ENTERPRISES TRAILERS LOVELAND, COLORADO + + + + + Unpublished trailer mfr. + + + + + Trac-Machinery Corp.Subsidiary of E. D. Etnyre & Co. + + + + + Trailmobile + + + + + Tramco, Inc.Mfrs. liquid propane gas transport--Dallas, Texas + + + + + Traveler Mfg. Inc.Concordia, Missouri + + + + + Transmission (Generic Code--for useonly when manufacturer is notlisted) + + + + + Triumph Machinery Co. + + + + + TRAILMANOR, INC.; LAKE CITY, TN + + + + + Transliner Insulated Tank Trailer + + + + + TRANSPORT TRAILERS; FENNVILLE, MI + + + + + Trojan Homes + + + + + Trojan + + + + + Trombly Woodworking Co. + + + + + Tropicana Mfg. Co. + + + + + Trophy Travel Trailer + + + + + Troyer Mfg. Co. + + + + + Trotwood Trailer + + + + + Troy Industries + + + + + Troxell Trailer Mfg.Ft. Worth, Texas + + + + + Troyler Corp. + + + + + Terraplane + + + + + TROPHY HOMES, INC.; ELKHART, IN + + + + + Tramper Travel Trailer + + + + + Tri-Sport/Steen (formerly Alsport/Steen) + + + + + Travel Queen Motor Home + + + + + Travel Queen Coaches + + + + + Tri-Rod + + + + + AquariusBoat trailers--mfd. by Trail-Rite, Inc. + + + + + TRIPLR R TRAILERS INC. BOONEVILLE,MISSISSIPPI + + + + + Trailerette Trailer + + + + + TERRY'S UTILITY TRAILER OR TERRY W. BECK; WARRENVILLE, SC + + + + + TransglobalNew York; flatbed trailers + + + + + Transmobile Trailer + + + + + Trans-Sport + + + + + Trail Star Tent Trailer + + + + + Travel Supreme, Inc. + + + + + Tri-Pak Systems Co.Louisville, Kentucky + + + + + TRAILTECH; GRAVELBOURG,SASKATCHEWAN CANADA + + + + + Triad Trailers Ltd.New Milford, Connecticut + + + + + Triton Trailer Corp.Allentown, Wisconsin; manufacturestrailers including snowmobile trailers + + + + + TRANSTEQ (Transportation Techniques, LLC) + + + + + Trail Tramp + + + + + Traveliner Travel Trailer + + + + + Truco + + + + + Truck Equipment Service Co.Lincoln, Nebraska + + + + + Unpublished truck mfr.(see Operating Manual, Part 1,Section 2) + + + + + Triumph Motor Co. (TRIU for autoentry) + + + + + Tru-Trailer Co. + + + + + Tru-Tow Trailers + + + + + Cozy CraftMfd. by Travelcraft, Inc. + + + + + Travco Corp. + + + + + Traveleze Industries, Inc. + + + + + Travel Home, Inc. + + + + + Traveliner Motor Home + + + + + Stow and GoMfd. by TRV Corp. + + + + + TrailevatorDiv. Magline, Inc. + + + + + Travis + + + + + Travel World, Inc.Utility Trailers; Hope Hill,North Carolina + + + + + TROY-BILT FARM & GARDEN EQUIPMENT + + + + + Tryco Mfg. Co., Inc.Decatur, Illinois + + + + + AKTIVSee Tucker Sno-Cat Corporation + + + + + Tessy + + + + + TEAM SPIRIT TRAILERS; ELKHART, INDIANA + + + + + T & T Industtries, Inc. + + + + + Titan Trailers, Inc. + + + + + Cycle-MateMfd. by T & T Industries + + + + + TRINITY TRAILER MEG., INC. BOISE, ID + + + + + Transport Systems, Inc.Denton, Texas + + + + + Transport Trailers, Inc.Cedar Rapids, Iowa + + + + + Trans-Trail Trailer + + + + + Turnbow Trailer + + + + + Al Tucker Trailer Co. + + + + + Tucker + + + + + Sno-CatMfd. by Tucker-Sno-Cat Corp. + + + + + Tufby Converter Dolly + + + + + Tuff Cat Trailers, Inc.Tekonsha, Michigan + + + + + Tuffy + + + + + Tuff-N-Lite + + + + + Tuff Thom Trailers, Inc.Brunswick, Georgia + + + + + Tuk-A-Way-Trailer + + + + + Turner + + + + + Turtle Top + + + + + Tule Trooper + + + + + Travelcraft Motor Home + + + + + TVR + + + + + Twentieth Century Mfg. Co.or 20th Century Mfg. Co. + + + + + TRAILER WHEEL & FRAME COMPANY; TEXAS + + + + + Necedah FlyersMfd. by Twin City Racing + + + + + Twin Grove Mfg., Inc.Verona, Wisconsin + + + + + Twilight Coach Mfg. + + + + + Twin Trailer + + + + + TWIST N GO MOTOR SCOOTERS & CYCLES + + + + + Twilite Mobile Home Mfg. + + + + + TWINKLE; HEARSES + + + + + TRAILS WEST MANUFACTURING OF IDAHO, INC.; PRESTON, ID + + + + + TWN + + + + + Tow-Rite Mfg. + + + + + TOWRITE MANUFACTURING; BUNN LEVEL, NC; TTRAILERS & DOLLIES + + + + + Twister + + + + + Traxcavator Tract + + + + + Tyran + + + + + Tybex Corp.Bangor, Pennsylvania & Belvidere, N.J. + + + + + Trailers Y Casetas Bonanza S. A.Mexico; trailers + + + + + Toyoco + + + + + The Tye Co., Inc. + + + + + Tyler Coach Mfg. + + + + + TCI,Inc.Benson, Minnesota + + + + + Tyson Skylark Trailer + + + + + TZ + + + + + UAZ (Ulianovsk Automobile Zavod) + + + + + Nissan Diesel Motor Co. (for reference + + + + + U-Dump, Inc.Ocala, Florida + + + + + U-HaulPhoenix, AZ; utility trailers + + + + + ULTRA ACQUISITION CORPORATION; RIVERSIDE, CA + + + + + ULTRA MOTORCYCLE CO. + + + + + ULTIMATE TRAILERS; LAKEVIEW TERRACE, CA + + + + + ULTIMA MOTORCYCLE + + + + + Ultra, Inc. + + + + + Unit Crane & Shovel Corp. + + + + + UNITED EXPRESS LINE,INC; BRISTOL INDIANA + + + + + Unger Motor Home + + + + + Union Machine & Tool Works + + + + + Unicar + + + + + United Fiberglass + + + + + United Mfg. Co. + + + + + MountaineerLawn & Garden tractor--mfd. by UnitedFarm Tools, Inc. + + + + + Univision Industries Ltd. + + + + + United Mobile Sales + + + + + United States Aluminum Co. + + + + + United States Mobile Homes + + + + + Unipower + + + + + Universal Tractor Foreign Trade Co. + + + + + United States Mobile Homes (Florida) + + + + + United Trailer Service & Supply Co. + + + + + Universal Camper Mfg. + + + + + UNILLI ATVS ETC + + + + + United Motors + + + + + United Rock Picker Co. + + + + + Unverferth-McCurdy Mfg. Co., Inc. + + + + + Universal Trailers, Inc. + + + + + URAL MOTORCYCLES OF AMERICA; PREVIOUSLY OR ALSO KNOWN AS: IRBIT MOTORWORKS OF AMERICA; REDMOND, WA + + + + + Urili Flatbed Trailer + + + + + U.S. ARMY VEHICLE; MAKE IS UNKNOWN + + + + + USA Motor Corp.Bremen, IN; manufactures motor homes + + + + + U.S. AIRFORCE VEHICLE; MAKE IS UNKNOWN + + + + + U-Save TrailersPomona, California + + + + + U.S. CARGO, INC + + + + + U.S. COAST GUARD; MAKE IS UNKNOWN + + + + + U.S. COACHWORKS, INC.;ZEIGLER, IL + + + + + U.S. Electricar Corp. + + + + + U.S. MARINE CORPS; MAKE IS UNKNOWN + + + + + U.S. NAVY; MAKE IS UNKNOWN + + + + + U.S. Suzuki Motor Corp., Inc.Santa Fe Springs, CA + + + + + USTS MANUFACTURING. INC; CANTON, OHIO + + + + + Utah King Motor Home + + + + + UTILITY TOOL & BODY CO., INC. CLINTONVILLE, WI + + + + + Ute Trailer + + + + + Uteliner Motor Home + + + + + Utah Mobile Homes + + + + + Utility Trailer Mfg. Co.City of Industry, California + + + + + Util-I-VanMfd. by Utilimaster Div. HolidayRambler Corp. + + + + + Utopia Coach Corp. + + + + + Vacation Homes + + + + + Big SurMfg. by Vacation Industries + + + + + Vacationar Motor Home Truck + + + + + Vacation Wagon, Inc. + + + + + Vector Aeromotive Corporation + + + + + VACTRON TRAILERS, MANUFACTURED BY: A COMPLETE ASSEMBLY;MASCOTTE, FL + + + + + Vada Open Top Cattle Trailer + + + + + Vador + + + + + VagabondDiv. Guerdon Industries + + + + + VAL + + + + + Valiant Mobile Homes + + + + + Valley Campers + + + + + Valiant + + + + + Valkrie + + + + + Valley Foundry & Machine Works + + + + + Valley TrailersCynthiana, Ohio + + + + + Van Art, Inc. + + + + + Van Bibber Enterprises + + + + + Van Camp Equipment + + + + + Vanguard (Canada) + + + + + Van American, Inc.Goshen, Indiana + + + + + Van Car Corp. + + + + + Vance Campers, Inc. + + + + + Van Guard Trailer, Ltd. + + + + + Vanson Boat Trailer + + + + + Vanette + + + + + Van Veen + + + + + Vaquero Trailer + + + + + Van Tech + + + + + Vauxhall + + + + + Vacationeer Trail trailer + + + + + Victory Motorcycles + + + + + Vehiculos Automares Mexacano S. A.De C. V. (Mexican manufacturer) + + + + + V. E. Enterprises + + + + + Vegas Mfg. Co. + + + + + Veglia + + + + + Venus Coaches + + + + + Vengeance Motorcycle; Div. of Vengeance Performance Products, LLC + + + + + Ventura Mfg. and Implement Co.Oxnard, California + + + + + Ventoura Corp. + + + + + Venus + + + + + Versatile Power Corp.Grantsburg, Wisconsin + + + + + Veritas + + + + + Vermette Machine Co. + + + + + Vermeer Manufacturing Co. + + + + + Versatile Manufacturing Co.Div. Versatile Cornat Corp., KansasCity, Missouri + + + + + Vertex + + + + + Vesely Co. + + + + + Vespa + + + + + Vet Boat Trailer + + + + + Virginia Homes Mfg. Corp.Boydton, Virginia + + + + + Dynapac Mfg., Inc. + + + + + Victorian Homes, Inc.Middlebury, Indiana + + + + + Vicon Farm Machinery, Inc. + + + + + Victory Implement Co. + + + + + Victor Mobile HomesDiv. DeRose Industries + + + + + Victoria + + + + + Viking + + + + + Villiers + + + + + Black Knight (model of Vincent) + + + + + Vindale Corp. + + + + + Vintage Homes + + + + + Virginia Mobile Homes Industries + + + + + Virginian Coach Camper Corp. + + + + + Viscount Trailers + + + + + Vista Queen Trailer + + + + + Vista Liner Coach & Trailer + + + + + Vito Mfg. Co.Hazleton, Pennsylvania + + + + + Viva Motor Home + + + + + Vivian Industrial PlasticsVivian, Louisiana + + + + + Viking Snowmobiles, Inc.Twin Valley, MN + + + + + VULCAN WORKS, INC; MANCHESTER, NEW HAMPSHIRE; MOTORCYCLES + + + + + Velocette + + + + + Villager Travel Trailer + + + + + VM Boat Trailer + + + + + Vanden Plas + + + + + VANGUARD INDUSTRIES OF MICHIGAN, INC.; COLON, MI + + + + + VAN HOOL BUSES & MOTOR COACHES + + + + + Vanguard National Trailer Corp. + + + + + VANTAGE DUMP TRAILERS, INC.; KATY, TX + + + + + VENTO MOTORCYCLES + + + + + VENTURI PARIS S. A. + + + + + Ventura Tent Camper + + + + + Volga + + + + + Vogue Motor Home + + + + + Volkswagen + + + + + Voloci + + + + + Volunteer Mfg. Corp. + + + + + Volvo + + + + + Vought Industries + + + + + VOR ENDURO MOTORCYCLE, ITALY + + + + + Vermont Traveler + + + + + Versa Two Wheel Trailer + + + + + Vista Custom TrailerJane, Missouri + + + + + VERTEMATI MOTORCYCLES + + + + + VENTURE TRAILERS + + + + + Vulcan Trailer Mfg. Co.Birmingham, Alabama + + + + + Veenema & Wiegers, Inc.Mfrs. "V & W" trailers--No. Haledon,New Jersey + + + + + Truckin TrailerMfd. by V.W.T. Corp. + + + + + Wabco Construction & Mining EquipmentSubsidiary of American Standard, Inc.Group + + + + + Wacker Corp.Milwaukee, Wisconsin + + + + + WADE SERVICES, INC.; ELLISVILLE, MS + + + + + Wago Campers + + + + + Wagon Master Trailer + + + + + Wagner + + + + + Wagon-Haven, Inc. + + + + + Wagon Train, Inc. + + + + + Ward LaFrance International Inc. + + + + + Waldon, Inc. + + + + + Walker Tractor Mfg. + + + + + Walsh Body & Trailer + + + + + Walker Stainless Equipment Co.New Lisbon, Wisconsin + + + + + Wallstrong Boat Trailer + + + + + Wallstrom Boat Trailer + + + + + Walker Mobile Homes + + + + + Walter Motor Truck Co. + + + + + Wanamaker Trailer + + + + + Wabash National CorporationLafayette, Indiana + + + + + Wanderer Camper + + + + + Wa-Nee Homes Corp. + + + + + Montgomery Ward + + + + + Warren Mfg. Co. + + + + + Warhawk Mfg. Co. + + + + + WARRIOR TRAILERS, ONTARIO, CA + + + + + Warrior Mfr.Henderson, Texas + + + + + Wain-Roy, Inc. + + + + + Warrenville Trailer Mfg., Inc.Warrenville, Illinois + + + + + Warszawa + + + + + Wartburg + + + + + Warwick + + + + + Wasp + + + + + Waverly StructuresNorth Carolina + + + + + Warner & Swasey Co. + + + + + Watford + + + + + Walter Products & Engineering Co. + + + + + Watson Industries + + + + + Watt Camper + + + + + Wayne Corp.Richmond, IN + + + + + Wayfarer Coach Mfg.Div. St. Paul Fence & Iron Works + + + + + Waymatic Welding & Fabricating Co.Fulton, Kentucky + + + + + Wayne SweeperSweeper Div., FMC, Pomona, California + + + + + WAYNE METAL PRODUCTS;MARKLE,INDIANA + + + + + Wayside Campers + + + + + W.C. Manufacturing & Specialty Co. + + + + + West Coaster Mailster3 wheels + + + + + WOOD-MIZER PRODUCTS, INC.; INDIANAPOLIS, IN + + + + + Weaver & SonsDiv. Ventoura Corporation + + + + + Weber + + + + + Westcraft Mobile Homes + + + + + Wedgewood Homes + + + + + Week-N-Der Pickup Camper + + + + + Weeres Trailer + + + + + WE-HAUL TRAILERS; DIVISION OF FOREST RIVER, INC. GOSHEN. IN + + + + + Weirs Trailer Sales + + + + + Circle LMfd. by Well-Built Trailers, Inc. + + + + + Welch Mfg. & Engineering Co. + + + + + Weld-It CompanyLos Angeles, California + + + + + Wells Cargo, IncElkhart, IN; commercial trailers + + + + + WeMac Mfg. Co.North Kansas City, Missouri + + + + + Wendax + + + + + Wenger Mfg. + + + + + Siefmund Werner + + + + + Werts Corp., Inc. + + + + + Werts BiltMfd. by Werts Welding Service + + + + + West Coach Mfg. Co. + + + + + West Wind Trailer Co. + + + + + Western + + + + + Westgo Industries, Inc. + + + + + Western Coach Corp. + + + + + Western Dynamics Corp. + + + + + Western Trailer Coach + + + + + Westholt Mfg. + + + + + Westinghouse Equipped Mobile Home + + + + + Westland Trailer Co.Portland, Oregon + + + + + Westward Coach Mfg. + + + + + Westways Mfg. + + + + + Western Products Div., DouglasDynamics, Inc. + + + + + W.F. Mickey Body Co., Inc. + + + + + Wheel Horse Products, Inc.Subsidiary American Motors Corp., SouthBend, Indiana + + + + + Wheel Campers Corp. + + + + + WHEEL ESTATE SALES & SERVICE, INC; TRADE NAME/STEWART LODGES + + + + + White GMC + + + + + Whitehaul Kaler Trailer + + + + + White Star Trailer + + + + + White Line Mfg. & Dist. Co. + + + + + Whippet + + + + + George White & Sons Co., Ltd.,(Canada) + + + + + White Motor Corp. + + + + + Whitley Mfg. Co. + + + + + Whitehead & Kales + + + + + Wheeler Truck TrailerMorley, Missouri + + + + + White Materials Handling, SubsidiaryWhite Motor Corp. + + + + + WHISPERING PINE CAMPER TRAILER + + + + + Whiteman Mfg. Co. + + + + + White Pine Campers, Inc.Waupaca, Wisconsin + + + + + Whizzer + + + + + Wisconsin Body & Hoist + + + + + Style-Craft Mobile HomesMfd. by Wickes Homes + + + + + Wicks Engineering & Construction Co. + + + + + Williams Craft, Inc. + + + + + Wig-A-Wam, Inc. + + + + + Wiggins Lifts Co., Inc.Mfgs. Forklifts + + + + + Wigwam Motor Home + + + + + Willmar ManufacturingWillmar, Minnesota + + + + + Will Craft Camper Trailer + + + + + Wildcat + + + + + Wildfire + + + + + Wildgoose + + + + + WILKENS MANUFACTURING, INC.; STOCKTON, KANSAS + + + + + Willys-Overland + + + + + Sun-RayMfd. by Wilson Trailer Mart + + + + + Wil-Ro, Inc.Gallatin, Tennessee + + + + + Willborn Brothers + + + + + Wilson + + + + + Williamsen Truck Equipment Corp.Mfr. "Williamsen Dump & Special Trailer"Salt Lake City, Utah + + + + + Wilson Trailer Co., Inc.Grain, livestock trailers--Sioux City,Iowa + + + + + Wil-Trail Corp. + + + + + Wilray ManufacturingFt. Benton, Montana + + + + + Winco Div.Dyna Technology, Inc., Minneapolis,Minnesota + + + + + Windjammer Motorcoach + + + + + Windward Enterprises + + + + + Winger Mfg. Co. + + + + + Winston IndustriesMobile homes--Double Springs, Alabama + + + + + Winder Liberator Camper + + + + + Winnebago Industries, Inc. + + + + + Winpower Corp.Newton, Iowa + + + + + Windsor Mobile Homes (old code WIND) + + + + + Winter Weiss Co. + + + + + Melvin Manufacturing Corp.See Whip It Snowmobiles + + + + + Wisconsin Trailer Co., Inc.Richfield, Wisconsin + + + + + Wise Welding, Inc. + + + + + Wise-Craft Mfg. + + + + + Wishbone Trailers, Inc.Hot Springs, Arkansas + + + + + Penn RoyalMfd. by Wisconsin Homes, Inc. + + + + + Wisconsin Tag-A-Long Trailer + + + + + Witzco Trailers, Inc. + + + + + Western Auto Supply Co.Also see make Wizard + + + + + Welchel Enterprises, LLC + + + + + Wilderness Travel Trailer + + + + + WELDTITE TRAILERS; HUNTERSVILLE, NC + + + + + Walker + + + + + Willys + + + + + WALTRON LIMITED/ALDURA; RIDGETOWN, ONTARIO CANADA + + + + + Wells Western Trailers; Also see Western Recreation Mfg., Inc. + + + + + W & M ENTERPRISES, INC.; LAWRENCEBURG, INDIANA + + + + + Windham Mfg. Co., Inc.Mfgs. loaders + + + + + G.T.Wolfe Mobile Homes + + + + + Wolfe Mfg. Co. + + + + + Wolseley + + + + + Wolverine Camper + + + + + Wonder Land Camper + + + + + Woodland Camper Co. + + + + + Wood/Chuck Chipper Corp.Mfrs. brushchippers--Shelby, NorthCarolina + + + + + Woodill Wildfire + + + + + Ranger Trail TrailersMfd. by Wood Mfg. Co., Inc. + + + + + Woodline Custom Camper + + + + + Woodsmen Camper + + + + + Work Horse Mfg. + + + + + Worthington Compressors, Inc.Holyoke, Massachusetts + + + + + Work-N-Play + + + + + World Wide Industries + + + + + Worrell Trailer Mfg. + + + + + Worthington Champ + + + + + Woodland Park, Inc.Middleberry, Iowa + + + + + Wrangler Trailers + + + + + Wrangler Recreational ProductsFlorence, Alabama + + + + + WRIGHT; STANDER & SENTAR MOWER MODELS;FARM & GARDEN EQUIPMENT + + + + + Hunter's DreamMfd. by Wright Industries, Inc. + + + + + Kitty HawkMfd. by Wright Brothers, Inc. + + + + + WORKHORSE CUSTOM CHASIS + + + + + World Trailers, Inc.Ocala, Florida + + + + + WESTERN RECREATIONAL VEHICLES, INC.; YAKIMA, WA + + + + + Wonder State Boat Trailer + + + + + WILD SIDE LLC; FRANKLIN, TN + + + + + WSK + + + + + Western Trailers IncCo-Tem Corp. Boise, Idaho + + + + + Western Star + + + + + WES-TEX MANUFACTURING, INC.; LUBBOCK, TX + + + + + Watson Tractor Co., Inc.Danielsville, Georgia + + + + + Westank Industries, Inc. + + + + + WTM, INC.; HALEYVILLE, AL + + + + + WTM, Inc. + + + + + Watsonian + + + + + Wesco Truck & Trailer SalesWoodland, California + + + + + Circle J Stock TrailerMfd. by Western World Inc., previouslyknown as Western Trailers Works, Inc. + + + + + West Texas Dollies + + + + + I.R. Witzer Company, Inc. + + + + + W-W TrailersStock Trailers + + + + + Westerwalder EisenwerkWest Germany + + + + + WILD WEST MOTOR COMPANY; POWAY, CA. (PEACEMAKER MODEL) + + + + + WORTHINGTON WELDING, INC. TRAILERS; PENNSYLVANIA 4MV OR 1W9/OO3 + + + + + W.W. TRAILER MANUFACTURERS, INC; OKLAHOMA + + + + + W & W White Horse Trailer + + + + + John T. Wydro + + + + + Wy Frame Corp.Elkhart, Indiana + + + + + Wylie Manufacturing Co.Subsidiary E. D. Etynre & Co.--Oregon,Illinois + + + + + Wynn Trailer Works + + + + + Wynona Corp.Nappanee, Indiana + + + + + X-CEL TRAILERS, INC.; FORNEY, TX + + + + + X-L SPECIALIZED TRAILERS; OELWIN, IA.; SD,DDE,MFG,HDG,LSD TRAILERS + + + + + EXMARK RIDING LAWN MOWER + + + + + XPLORER MOTOR HOME DIV OF FRANK INDUSTRIES + + + + + Xplorer Enterprises of Constantine + + + + + X-Tra Camper Co. + + + + + XTREME ATVS + + + + + XYZ Trailer + + + + + Yacht Club + + + + + Yadro TrailersMilwaukee, Wisconsin + + + + + Yanger Mobile Homes + + + + + Materials Handling Div., Eaton Corp. + + + + + Chappy (mfd. by Yamaha Motor Corp.) + + + + + Yampa Coach Mfg. + + + + + Yamoto + + + + + Yangzhou Tonghua Semi-Trailer Co., Ltd. + + + + + Yankee + + + + + Yanmar Tractor USA, Inc.Bensenville, Illinois + + + + + Comet Motorcycle TrailerMfd. by Yarbrough Mfg. Co., Inc. + + + + + Yard-Man Co. + + + + + YARD MACHINE; SUBSIDIARY OF MTD INDUSTRIES (MOWERS ETC) + + + + + Yazoo Mfg. Co., Inc.Jackson, Mississippi + + + + + Yellowstone, Inc. + + + + + Yenco + + + + + Yenko + + + + + YENTES BROTHERS WELDING; LANCASTER, CALIFORNIA + + + + + Yetter Mfg. Co. + + + + + YLN (Yue Loong Motor Co.) + + + + + Yamaha Motor Company, Ltd.Cypress, CA + + + + + York Forklift + + + + + York Modern Corp. + + + + + Young Corp. + + + + + Young Spring & Wire + + + + + Ysob Co. + + + + + Yuchi Mobile Homes + + + + + Yukon Delta + + + + + Y W + + + + + Zaporozhets + + + + + ZAP (Zero Air Pollution) + + + + + Zar Car + + + + + Zastavia (ZCZ-Yugoslavia) + + + + + Zeta + + + + + ZHONGYU GROUP; MOTORCYCLES ETC. + + + + + Ziegler + + + + + Zieman + + + + + Zil + + + + + Zim + + + + + Consort Mobile HomesMfd. by Zimmer Homes Corp. + + + + + Zimmerman Automobiles + + + + + Zipper, Inc. + + + + + ZIMMER MOTOR CAR COMPANY; SYRACUSE, NY + + + + + ZIMMERMAN TRAILERS + + + + + Zanella + + + + + Zoboda + + + + + Zollinger Trailer Co. + + + + + Zongshen Motorcycle Co., Ltd., or Cixi Zongshen Motorcycle Co., Ltd. + + + + + Zundapp + + + + + Zwickau + + + + + + + A data type for Vehicle Make. + + + + + + + + + + + + + A data type for Vehicle Model. + + + + + + + + (BMW) 2002 Series, BMW + + + + + (AUDI) 100, Audi; (AUHE) 100 Series, Austin-Healy; (DODG) A 100 Compact, Dodge; (ENGF) 100 E Series, English Ford (British); (NSU) 1000, Nsu Prinz; (SIM) 1000 & 1000GL, Simca; (SUBA) 100 Series, Subaru + + + + + (DKW) F102, DKW + + + + + (ENGF) 105 E Series, English Ford (British) + + + + + (AUST) 1100, Austin; (DATS) 110, Datsun; (FIAT) 1100 - D or R, Fiat; (MORR) 1100, Morris; (NSU) 110 Type, Nsu Prinz; (SUBA) 1100 Series, Subaru + + + + + (VOLK) 113, Volkswagen + + + + + (DATS) 1200, Datsun; (FIAT) 1200, Fiat; (SIM) 120, Simca; (TRIU) 1200, Triumph; (VOLK) 1200, Volkswagen + + + + + (VOLV) 122 Series, Volvo + + + + + (FIAT) 124 Series, Fiat + + + + + (TRIU) 1250, Triumph + + + + + (FIAT) 128 Series, Fiat + + + + + (LAMO) LM129, Lamborghini + + + + + (PORS) 1300, Porsche; (SUBA) 1300 Series, Subaru; (TRIU) 1300, Triumph; (VOLK) 1300, Volkswagen + + + + + (FIAT) 131 Series, Fiat + + + + + (SUBA) 1400 Series, Subaru; (VOLV) 140 Series, Volvo + + + + + (FIAT) 1500, Fiat; (PORS) 1500, Porsche; (VOLK) 1500, Volkswagen + + + + + (ENCR) M151, Encore + + + + + (BMW) 1600, BMW; (HILL) 1600 Series, Hillman; (MG) 1600, MG; (PORS) 1600, Porsche; (SUBA) 1600 Series, Subaru + + + + + (ALFA) 164, Alfa Romeo; (VOLV) 164 Series, Volvo + + + + + (RENA) 18i, Renault + + + + + (AUST) 1800, Austin; (BMW) 1800, BMW; (MERZ) 180 Series, Mercedes-Benz; (VOLV) 1800 Series, Volvo + + + + + (MERZ) 190 Series, Mercedes-Benz; (OPEL) 1900, Opel (imported by Buick); (VOLV) P1900, Volvo + + + + + (AUDI) 100GL, Audi + + + + + (AUDI) 100LS, Audi + + + + + (BMW) 200, BMW + + + + + L200 + + + + + (PEUG) 203, Peugeot + + + + + (FERR) 206, Ferrari + + + + + (FERR) 208, Ferrari + + + + + (CHEV) 210 Series, Chevrolet; (DATS) 210 (or B-210), B-210 (or 210), Datsun + + + + + (MERZ) 219 Series, Mercedes-Benz + + + + + (MERZ) 220 Series, Mercedes-Benz + + + + + (MASE) 228, Maserati + + + + + (MERZ) 230 Series, Mercedes-Benz + + + + + (MERZ) 240 Series, Mercedes-Benz; (NISS) 240SX, Nissan; (VOLV) 240 Series, Volvo + + + + + (VOLV) 245 Series, Volvo + + + + + (JAGU) 2.4 Litre, Jaguar + + + + + (DATS) 240Z, Datsun + + + + + (ROV) Rover 25, Rover + + + + + (BMW) 2500 Series, BMW; (LEXS) ES250, Lexus; (MDNA) GT250, Modena; (MERZ) 250 Series, Mercedes-Benz; (TRIU) 250, Triumph; (LEXS) IS250, Lexus + + + + + (DATS) 260Z, Datsun; (MERZ) 260 Series, Mercedes-Benz; (VOLV) 260 Series, Volvo + + + + + (ALFA) 2600 Sprint, Alfa Romeo + + + + + (ALFA) 2600 Spider, Alfa Romeo + + + + + (BMW) 2.8, BMW + + + + + (BMW) 2800 Series, BMW; (DATS) 280Z, Datsun; (MERZ) 280 Series, Mercedes-Benz; (MERZ) SLK280, Mercedes - Benz; (ISU) i280, Isuzu + + + + + (BMW) 328i, BMW + + + + + (CITR) 2CV, Citroen + + + + + (PONT) 2+2, Pontiac + + + + + (DATS) 200SX, Datsun + + + + + (DATS) 280ZX, Datsun + + + + + (BMW) 3.0 Si, BMW + + + + + L300 + + + + + (PEUG) 304, Peugeot + + + + + (FERR) 308, Ferrari + + + + + (DATS) 310, Datsun + + + + + (DATS) 311, Datsun + + + + + (BMW) 318i, BMW + + + + + (BMW) 320i, BMW; (MERZ) 320 Series, Mercedes-Benz + + + + + (BMW) 323i, BMW; (MAZD) 323, Mazda + + + + + (BMW) 325, BMW; (BMW) 325Xi, BMW + + + + + (BMW) 328is, BMW; (FERR) 328, Ferrari + + + + + (BMW) 325i, BMW + + + + + (DODG) 330 Series, Dodge; (BMW) 330I, BMW; (LEXS) ES330, Lexus; (BMW) 330Xi, BMW + + + + + (JAGU) 340, Jaguar + + + + + (FERR) 348, Ferrari + + + + + (JAGU) 3.4 Litre, Jaguar + + + + + (MASE) 3500 (series), Maserati; (ROV) 3500, Rover; (NISS) 350Z, Nissan ; (MERZ) E350 OR SLK350, Mercedes Benz; (MERZ) S350, Mercedes - Benz; (ISU) i350, Isuzu; (LEXS) IS350, Lexus + + + + + (PORS) 356, Porsche + + + + + 360 Challenge Stradale + + + + + (MERZ) 380 Series, Mercedes-Benz + + + + + (JAGU) 3.8 Litre, Jaguar + + + + + (MITS) 3000 GT, Spyder 3000 GT, Mitsubishi + + + + + (ROV) 3 Litre, Rover + + + + + (BMW) 318ti, BMW + + + + + (AUDI) 4000, Audi; (DODG) 400 Series, Dodge; (LEXS) LS400, Lexus; (MASE) 4000 (series), Maserati; (MERZ) 400 Series, Mercedes-Benz + + + + + (PEUG) 403, Peugeot + + + + + (PEUG) 404, Peugeot + + + + + (PEUG) 405, Peugeot + + + + + (VOLK) 411/412, Volkswagen + + + + + (JAGU) 420, Jaguar; (MASE) 4200 GT, Maserati; (MERZ) 420 Series, Mercedes-Benz + + + + + (MASE) 425, Maserati + + + + + (JAGU) 4.2 Litre, Jaguar + + + + + (MASE) 430, Maserati + + + + + (DODG) 440 Series, Dodge + + + + + (OLDS) 37350, Oldsmobile + + + + + (VOLV) PV444, Volvo + + + + + (ROV) Rover 45, Rover + + + + + (MERZ) 450 Series, Mercedes-Benz + + + + + (FERR) 456GT, Ferrari + + + + + (MG) Princess 4-R, MG + + + + + (TOYT) 4-Runner, Highlander (4Runner), Toyota + + + + + (AUDI) 5000, Audi; (MASE) 5000 (series), Maserati; (FORD) Five Hundred (500), Ford; (MERZ) CLS500, Mercedes Benz; (MERZ) S500, Mercedes - Benz + + + + + (PEUG) 504 Series, Peugeot + + + + + (PEUG) 505 Series, Peugeot + + + + + (DATS) 510, Datsun + + + + + (FERR) 512, Ferrari + + + + + (BMW) 520, BMW + + + + + (BMW) 524 Series, BMW + + + + + (BMW) 525ia, BMW; (BMW) 525i, BMW + + + + + (BMW) 528i, BMW + + + + + (BMW) 530i, BMW + + + + + (BMW) 533i, BMW + + + + + (BMW) 535 Series, BMW + + + + + (BMW) 540, BMW + + + + + (VOLV) PV544, Volvo + + + + + (BMW) 545i, BMW + + + + + (MERZ) 560 Series, Mercedes-Benz + + + + + (FERR) 575 MM, Ferrari + + + + + (CADI) 60 Series, Cadillac + + + + + (BMW) 600, BMW; (DODG) 600, Dodge; (FIAT) 600D, Fiat; (MERZ) 600 Series, S600, Mercedes-Benz; (PONT) 6000, Pontiac + + + + + (PEUG) 604, Peugeot + + + + + (CADI) 61 Series, Cadillac + + + + + (DATS) 610, Datsun + + + + + 612 Scaglietti + + + + + (MAZD) 616, Mazda + + + + + (MAZD) 618, Mazda + + + + + (CADI) 62 Series, Cadillac + + + + + (MAZD) 626, Mazda + + + + + (BMW) 630csi, BMW + + + + + (BMW) 633csi, BMW + + + + + (BMW) 635 Series, BMW + + + + + (BMW) 645, BMW + + + + + (DATS) 710, Datsun + + + + + (BMW) 733 Series, BMW + + + + + (BMW) 735 Series, BMW + + + + + (BMW) 740, BMW; (VOLV) 740 Series, Volvo + + + + + (BMW) 745i, BMW; (VOLV) 745 Series, Volvo + + + + + (BMW) 740i, BMW + + + + + (CADI) 75 Series, Cadillac; (ROV) Rover 75, Rover + + + + + (BMW) 750, BMW; (FIAT) 750, Fiat; (RENA) 750, Renault; (BMW) 750i, BMW; (BMW) 750L, BMW + + + + + (BMW) 750iL, BMW + + + + + (VOLV) 760, Volvo; (BMW) 760 LI, BMW ; (BMW) 760i, BMW + + + + + (VOLV) 765 Series, Volvo + + + + + (VOLV) 780 Series, Volvo + + + + + (FORD) 7 Litre, Ford (see English, French, German, and Italian Ford) + + + + + (MAZD) 808 Series (piston engine), Mazda + + + + + (DATS) 810, Datsun + + + + + (STLG) 825, Sterling; (GLBL) E825, Global Electric Motorcars + + + + + (STLG) 827, Sterling + + + + + (BMW) 840Ci, BMW + + + + + (AUDI) 850, Audi; (AUST) 850, Austin; (BMW) 850i, BMW; (MORR) 850 Series, Morris; (VOLV) 850 Series, Volvo + + + + + (BMW) 850Ci, BMW + + + + + (FIAT) 850 Fastback, Fiat + + + + + (OLDS) 88, Oldsmobile + + + + + (DODG) 880 Series, Dodge + + + + + (SAA) 900, Saab + + + + + (SAA) 9000, Saab + + + + + (PORS) 911, Porsche + + + + + (PORS) 912, Porsche + + + + + (PORS) 914, Porsche + + + + + 9-2X + + + + + (PORS) 924, Porsche + + + + + (PORS) 928, Porsche + + + + + (MAZD) 929, Mazda + + + + + (SAA) 93 & 93B, Saab + + + + + (PORS) 930, Porsche + + + + + (VOLV) 940, Volvo + + + + + (PORS) 944, Porsche + + + + + (SAA) 95, Saab + + + + + (SAA) 96, Saab + + + + + (VOLV) 960, Volvo + + + + + (PORS) 968, Porsche + + + + + 9-7X + + + + + (OLDS) 98, Oldsmobile + + + + + (SAA) 99, Saab + + + + + (AUST) A99 & 110, Austin + + + + + (AUDI) A2, Audi + + + + + A3 (Sportback) + + + + + (AUST) A40, Austin + + + + + (AUST) A55, Austin + + + + + (AUST) Cambridge, Austin + + + + + (AUDI) 80, Audi + + + + + (AUDI) 90, Audi + + + + + (AUDI) A4, Audi + + + + + (AUDI) A6, Audi + + + + + (AUDI) A8, Audi + + + + + (AVTI) Series A, Avanti + + + + + (AVTI) Series B, Avanti + + + + + (HYUN) Accent, Hyundai; (HOND) Accord, Honda; (PLYM) Acclaim, Plymouth + + + + + EL, Acura (Import from Canada) + + + + + (OLDS) Achieva, Oldsmobile + + + + + (DESO) Adventurer, DeSoto + + + + + (CHEC) Aerobus, Checker; (FORD) Aerostar, Ford (see English, French, German, and Italian Ford) + + + + + (ALFA) Alfetta GT, Alfa Romeo + + + + + (AMER) Alliance, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (CADI) Allante, Cadillac; (AUDI) Allroad, Audi + + + + + (OLDS) Alero, Oldsmobile + + + + + (ROOT) Alpine, Rootes; (SUNB) Alpine, Sunbeam + + + + + (BUIC) Allure, Buick + + + + + (NISS) Altima, Nissan + + + + + (CITR) AM16, Citroen + + + + + (KIA) Amanti, Kia Motors Corp. + + + + + (AMER) Ambassador, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (NASH) Ambassador, Nash; (RAMB) Ambassador, Rambler (mfd. prior to 1966; 1966 and later Ramblers - see make American Motors) + + + + + (ISU) Amigo, Isuzu + + + + + (AMER) AMX, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (ITAF) Anglia, Italian Ford; (ENGF) Anglia, English Ford (British) + + + + + (PLYM) Arrow (imported), Plymouth + + + + + (BUIC) Apollo, Buick + + + + + (DODG) Aries, Dodge + + + + + Armada (Formerly Pathfinder Armada) + + + + + (ALFA) Arna, Alfa Romeo; (AMER) American, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (BENT) Arnage, Bentley; (RAMB) American (AME for reference only), Rambler (mfd. prior to 1966; 1966 and later Ramblers - see make American Motors) + + + + + (SIM) Aronde, Simca; (SUZI) Aerio, Suzuki + + + + + (ROOT) Arrow, Rootes; (SUNB) Arrow, Sunbeam + + + + + (AUDI) S4, Audi + + + + + (AUDI) S6, Audi + + + + + (AUDI) S8, Audi + + + + + (ISU) Ascender, Isuzu + + + + + (DODG) Aspen, Dodge; (FORD) Aspire, Ford (see English, French, German, and Italian Ford); (CHRY) Aspen, Chrysler + + + + + (CHEV) Astro Van, Chevrolet; (OPEL) Astra, Opel (imported by Buick); (PONT) Astre, Pontiac + + + + + (ACUR) TL, Acura + + + + + (HYUN) Atos, Hyundai + + + + + (NISS) ALTRA-EV, Nissan + + + + + (DKW) Audi, DKW + + + + + (OLDS) Aurora, Oldsmobile; (STRN) Aura, XE, XR, Saturn + + + + + (ASVE) Assembled Vehicles + + + + + (HYUN) Avatar, Hyundai; (AUDI) Avant, Audi; (CHEV) Avalanche, Chevrolet; (NSU) Auto Nova, Nsu Prinz; (STU) Avanti, Studebaker; (TOYT) Avalon, Toyota; (LINC) Aviator, Lincoln + + + + + (KIA) Avella, Kia Motors Corp.; (TOYT) Avensis, Toyota + + + + + (DODG) Avenger, Dodge + + + + + (CHEV) Aveo, Chevrolet + + + + + (CITR) AX, Citroen + + + + + (ISU) Axiom, Isuzu + + + + + (NISS) Axxess, Nissan + + + + + Azera + + + + + (PONT) Aztek, Pontiac + + + + + (BENT) Azure, Bentley + + + + + (MAZD) B2000, Mazda + + + + + (MAZD) B2200, Mazda + + + + + (MAZD) B2300, Mazda + + + + + (MAZD) B2500, Mazda + + + + + (MAZD) B2600, Mazda + + + + + (MAZD) B3000, Mazda + + + + + (MAZD) B4000, Mazda + + + + + (BESA) Baci, Besasie Automobile Co., Inc. + + + + + (PACK) Balboa, Packard + + + + + (FERR) Barchetta (or F130), F130 (Barchetta), Ferrari; (PLYM) Barracuda, Plymouth + + + + + (BMW) Bavaria, BMW + + + + + (ACAD) Beaumont Series, Acadian (GM of Canada) + + + + + (BORG) Bel Air, Borgward; (CHEV) Bel Air, Chevrolet; (PLYM) Belvedere, Plymouth + + + + + (ALFA) Berlina, Alfa Romeo; (BORG) Beretta, Borgward; (CHEV) Beretta, Chevrolet; (LNCI) Berlina, Lancia; (SIM) Bertone, Simca + + + + + (LNCI) Beta Series, Lancia + + + + + (BORG) Biscayne, Borgward; (CHEV) Biscayne, Chevrolet + + + + + (MASE) Biturbo, Maserati + + + + + (SUBA) Baja, Subaru + + + + + (AERO) Blimp + + + + + (CHEV) Blazer, Chevrolet + + + + + (MERC) Bobcat, Mercury + + + + + (PONT) Bonneville, Pontiac + + + + + (MASE) Bora, Maserati + + + + + (PORS) Boxter 986, Porsche + + + + + (FIAT) Brava, Fiat + + + + + (MERC) Breezeway, Mercury + + + + + (CHEV) Brookwood, Chevrolet + + + + + (BENT) Brooklands, Bentley; (CADI) Brougham, Cadillac; (FORD) Bronco/Bronco II, Ford (see English, French, German, and Italian Ford); (MERC) Brougham, Mercury + + + + + (SUBA) Brat, Subaru + + + + + (FORD) Brewster (antique vehicle), Ford + + + + + (PLYM) Breeze, Plymouth + + + + + (VOLK) Beetle (Super Beetle or Bug), Volkswagen + + + + + (OLDS) Bravada, Oldsmobile + + + + + (LINC) Blackwood, Lincoln + + + + + (CHEV) C10, Chevrolet + + + + + (CHEV) C/K 1500, Chevrolet + + + + + (MERZ) C220, Mercedes-Benz + + + + + (MERZ) C230, Mercedes-Benz + + + + + (MERZ) C240, Mercedes-Benz + + + + + (CHEV) C/K 2500, Chevrolet + + + + + (MERZ) C280, Mercedes-Benz + + + + + (MERZ) C320, Mercedes-Benz + + + + + (CHEV) C/K 3500, Chevrolet; (MERZ) C350, Mercedes Benz + + + + + (MERZ) C36, Mercedes-Benz + + + + + (MERZ) C43, Mercedes-Benz + + + + + C55, CLS55 + + + + + CL65 + + + + + (VOLV) C70, Volvo + + + + + (AUDI) Cabriolet, Audi; (BERO) Cabrio, Bertone; (GMC) Cabellero, General Motors Corp.; (PORS) Cabriolet, Porsche; (VOLK) Cabriolet, Volkswagen + + + + + (BUIC) California, Buick; (CADI) Calais, Cadillac; (OLDS) Calais, Oldsmobile; (DODG) Caliber, Dodge + + + + + (CHEV) Camaro, Chevrolet; (PLYM) Cambridge, Plymouth; (ROL) Camargue, Rolls-Royce; (TOYT) Camry, Toyota + + + + + (ACAD) Canso Series, Acadian (GM of Canada) + + + + + (CHEV) Caprice, Chevrolet; (ENGF) Capri, English Ford (British); (MERC) Capri (1979 and later), Mercury + + + + + (KAIS) Carolina, Kaiser; (OPEL) Caravan, Opel (imported by Buick); (PACK) Caribbean, Packard; (PORS) Carrera, Porsche; (TOYT) Carina, Toyota + + + + + (CADI) Catera, Cadillac; (PONT) Catalina, Pontiac + + + + + (CHEV) Cavalier, Chevrolet; (PACK) Cavalier, Packard; (TOYT) Cavalier, Toyota + + + + + Cayman + + + + + (CHEV) Cobal, Chevrolet + + + + + (MERC) Country Cruiser, Mercury; (OLDS) Custom Cruiser, Oldsmobile + + + + + Construction Equipment + + + + + (CHEV) Celebrity, Chevrolet + + + + + (BUIC) Century, Buick + + + + + (CHEV) Chevy II, Chevrolet + + + + + (DAIH) Charade, Daihatsu; (DODG) Charger (and Shelby Charger), Dodge; (GAZ) Chaika, GAZ; (MITS) Chariot, Mitsubishi; (PLYM) Champ (imported), Plymouth; (SIN) Chamois, Singer; (STU) Challenger, Studebaker + + + + + (PONT) Chieftain, Pontiac + + + + + (JEEP) Cherokee, Jeep (for vehicle years 1989 to present, use VMA/JEEP); (JEP) Cherokee, Jeep (for vehicle years prior to 1970, use VMA/JEP); (AMER) Cherokee, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (DODG) Challenger, Dodge + + + + + (STU) Champion, Studebaker + + + + + (CADI) Cimarron, Cadillac + + + + + (CHRY) Cirrus, Chrysler + + + + + (CHEV) Citation, Chevrolet; (EDSE) Citation, Edsel + + + + + (HOND) Civic (and CRX), Del Sol, Honda + + + + + (JEEP) CJ-5, Jeep (for vehicle years 1989 to present, use VMA/JEEP); (JEP) CJ-5, Jeep (for vehicle years prior to 1970, use VMA/JEP); (AMER) CJ-5, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (JEEP) CJ-6, Jeep (for vehicle years 1989 to present, use VMA/JEEP); (JEP) CJ-6, Jeep (for vehicle years prior to 1970, use VMA/JEP); (AMER) CJ-6, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (JEEP) CJ-7, Jeep (for vehicle years 1989 to present, use VMA/JEEP); (JEP) CJ-7, Jeep (for vehicle years prior to 1970, use VMA/JEP); (AMER) CJ-7, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (JEEP) CJ-8, Jeep (for vehicle years 1989 to present, use VMA/JEEP); (JEP) CJ-8, Jeep (for vehicle years prior to 1970, use VMA/JEP); (AMER) CJ-8, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (MERZ) CLK500, Mercedes-Benz + + + + + (ACUR) CL (sport coupe), Acura + + + + + (MERZ) CLK430, Mercedes-Benz + + + + + (MERZ) CL500, Mercedes-Benz + + + + + (MERZ) CL600, Mercedes-Benz + + + + + (RAMB) Classic, Rambler (mfd. prior to 1966; 1966 and later Ramblers - see make American Motors); (CHEV) Classic, Chevrolet + + + + + (CHEV) Colorado, Chevrolet + + + + + (MERC) Caliente, Mercury; (PACK) Clipper, Packard + + + + + (KIA) Clarus, Kia Motors Corp. + + + + + (DODG) Colt (imported), Dodge; (PLYM) Colt (Canadian), Plymouth + + + + + (SANG) CM600S, Sangyong + + + + + Commander + + + + + (MERC) Commuter, Mercury + + + + + (CHRY) Concorde, Chrysler + + + + + (CHEV) Confederate (antique vehicle), Chevrolet + + + + + (BUIC) Centurion, Buick; (FORD) Contour, Ford (see English, French, German, and Italian Ford) + + + + + (TOYT) Corolla, Toyota + + + + + (EXCL) Cobra, Excalibur; (FORD) Cobra (also see make Shelby American), Ford (see English, French, German, and Italian Ford); (VOLV) Combi, Volvo + + + + + (MERC) Colony Park, Mercury + + + + + (HUDS) Commodore, Hudson; (JEEP) Comanche, Jeep (for vehicle years 1989 to present, use VMA/JEEP); (JEP) Comanche, Jeep (for vehicle years prior to 1970, use VMA/JEP); (AMER) Comanche, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (CHRY) Commander, Chrysler; (COMV) Comuta-Car, Commuter Vehicles, Inc.; (DODG) Compact Sportsman, Dodge; (FREF) Comete, French Ford; (MERC) Comet, Mercury; (STU) Commander, Studebaker + + + + + (AMER) Concord, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (BENT) Continental Convertible, Bentley; (CADI) Concours, Cadillac; (CHRY) Conquest (vehicle year 1987 and later), Chrysler; (DODG) Conquest (vehicle year 1986 only), Dodge; (ENGF) Consul, English Ford (British); (LINC) Continental, Lincoln-Continental + + + + + (FORD) Country Squire, Ford (see English, French, German, and Italian Ford); (PLYM) Conquest (vehicle years 1984-1986), Plymouth + + + + + (BENT) Corniche, Bentley; (CHRY) Cordoba, Chrysler; (DODG) Coronet, Dodge; (EDSE) Corsair, Edsel; (ENGF) Corsair, English Ford (British); (MITS) Cordia, Mitsubishi; (ROL) Corniche, Rolls-Royce; (TOYT) Corona, Toyota; (VOLK) Corrado, Volkswagen + + + + + (LAMO) Countach, Lamborghini; (MERC) Cougar, Mercury + + + + + (FORD) Country Sedan, Ford (see English, French, German, and Italian Ford); (METE) Country Sedan, Meteor (Canadian Mercury) + + + + + (MASE) Coupe/Coupe GT, Maserati + + + + + (MNNI) Cooper/Cooper-S (rights bought by BMW), Mini + + + + + (AUST) Cooper "S", Austin + + + + + (PLYM) Cranbrook, Plymouth + + + + + (BREM) Creighton, Bremen Sport Equipment, Inc. (Bremen, IN); (FORD) Crestline, Ford (see English, French, German, and Italian Ford); (TOYT) Cressida, Toyota; (VAUX) Cresta, Vauxhall + + + + + (CHRY) Crossfire, Chrysler + + + + + (PLYM) Cricket (imported), Plymouth + + + + + (PLYM) Caravelle, Plymouth + + + + + (IMPE) Crown, Imperial (for vehicle years 1955-1983, use VMA/IMPE; for vehicle years prior to 1955 and vehicle years 1990-1993, see make Chrysler); (TOYT) Crown, Toyota + + + + + (CHEV) Corsica, Chevrolet + + + + + (CHRY) PT Cruiser, Chrysler; (STU) Cruiser, Studebaker + + + + + (HOND) CRV, Honda; (OLDS) Caravan, Oldsmobile; (RENA) Caravelle, Renault + + + + + (MAZD) Cosmo, Mazda + + + + + (FORD) Customline, Ford (see English, French, German, and Italian Ford); (TOYT) Celica, Toyota + + + + + (SHEB) CSX, Shelby American; (ACUR) CSX, Acura + + + + + (ENGF) Cortina, English Ford (British) + + + + + (CADI) CTS, Cadillac + + + + + (SOLE) Citi Van, Solectria + + + + + (FORD) Think City (Elec.Veh. Model Year 2002), Ford + + + + + (IMPE) Custom, Imperial (for vehicle years 1955-1983, use VMA/IMPE; for vehicle years prior to 1955 and vehicle years 1990-1993, see make Chrysler); (CHEC) Custom, Checker; (DESO) Custom, DeSoto; (FORD) Custom, Ford (see English, French, German, and Italian Ford); (LINC) Custom, Lincoln-Continental; (MERC) Custom, Mercury; (OLDS) Custom, Oldsmobile; (PONT) Custom, Pontiac; (RAMB) Custom, Rambler (mfd. prior to 1966; 1966 and later Ramblers - see make American Motors) + + + + + (OLDS) Cutlass/Ciera, Supreme, Oldsmobile + + + + + (FORD) Crown Victoria, Ford + + + + + (DODG) Caravan, Dodge; (CHRY) Caravan, Chrysler + + + + + (CHEV) Corsa (Corvair), Corvair, Chevrolet + + + + + (CHEV) Corvette, Chevrolet + + + + + (FORD) Club Wagon E150, Ford (see English, French, German, and Italian Ford) + + + + + (FORD) Club Wagon E250, Ford (see English, French, German, and Italian Ford) + + + + + (FORD) Club Wagon E350, Ford (see English, French, German, and Italian Ford) + + + + + (MERC) Cyclone, Mercury + + + + + Motorcycles + + + + + (GMC) Canyon, General Motors Corp. ; (PORS) Cayenne, Porsche + + + + + (CITR) DS-19, Citroen + + + + + (CITR) DS-21 & D21, Citroen + + + + + (JEEP) Dakar, Jeep (for vehicle years 1989 to present, use VMA/JEEP); (JEP) Dakar, Jeep (for vehicle years prior to 1970, use VMA/JEP); (AMER) Dakar, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (DODG) Dakota, Dodge + + + + + (KAIS) Darrin, Kaiser; (DODG) Dart, Dodge + + + + + (VOLK) Dasher, Volkswagen + + + + + (RENA) Dauphine, Renault + + + + + (DODG) Daytona, Dodge; (FERR) Daytona, Ferrari; (STU) Daytona, Studebaker + + + + + (ASTO) DB-5, Aston Martin + + + + + (ASTO) DB-6, Aston Martin + + + + + (ASTO) DB7 (Coupe), Volante (DB7), Aston Martin + + + + + DB9 + + + + + (DETO) Deauville, DeTomaso + + + + + (LNCI) Dedra, Lancia + + + + + (LNDR) Defender 90, Defender 110, Land Rover + + + + + (HUDS) Deluxe, Hudson; (KAIS) Deluxe, Kaiser; (CHEV) Del Ray, Chevrolet; (DESO) Deluxe, DeSoto; (DODG) Deluxe, Dodge; (FORD) Deluxe, Ford (see English, French, German, and Italian Ford); (HILL) Deluxe, Hillman; (MORR) Deluxe, Morris; (OLDS) Deluxe, Oldsmobile; (PONT) Deluxe, Pontiac; (RAMB) Deluxe, Rambler (mfd. prior to 1966; 1966 and later Ramblers - see make American Motors); (SUNB) Deluxe, Sunbeam; (VANG) Deluxe, Vanguard (Canada) + + + + + (DODG) Demon (Dart), Dodge + + + + + (GMC) Denali, General Motors Corp. + + + + + (CADI) DeVille, Cadillac; (PANE) DeVille, Panther Westwinds, Ltd. + + + + + (LAMO) Diablo, Lamborghini; (MITS) Diamante, Mitsubishi + + + + + (DODG) Diplomat, Dodge + + + + + (LNDR) Discovery, Land Rover + + + + + (SUBA) DL, Subaru; (VOLV) DL, Volvo + + + + + (OLDS) Delmont 88, Oldsmobile + + + + + (OLDS) Delta 88, LSS (Delta 88), Royale, Oldsmobile + + + + + (OPEL) Diplomat, Opel (imported by Buick) + + + + + (KAIS) Dragon, Kaiser + + + + + DTS (Replaced DeVille Model Name) + + + + + (ALFA) Duetto, Alfa Romeo + + + + + (SPEC) Dune Buggies + + + + + (DODG) Durango, Dodge + + + + + (PLYM) Duster, Plymouth + + + + + (DODG) Dynasty, Dodge; (OLDS) Dynamic 88, Oldsmobile; (CHRY) Dynasty, Chrysler + + + + + (BUGA) EB110, Bugatti + + + + + (MERZ) E300, Mercedes-Benz + + + + + (MERZ) E320, Mercedes-Benz + + + + + (MERZ) E420, Mercedes-Benz + + + + + (MERZ) E430, Mercedes-Benz + + + + + (FORD) Econoline E-450, Ford + + + + + (MERZ) E500, Mercedes-Benz + + + + + (MERZ) E55, Mercedes-Benz; (FORD) Econoline E-550, Ford + + + + + (AMER) Eagle, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (FORD) Econoline E150, Ford (see English, French, German, and Italian Ford) + + + + + (FORD) Econoline E250, Ford (see English, French, German, and Italian Ford) + + + + + (FORD) Econoline E350, Ford (see English, French, German, and Italian Ford) + + + + + (CHRY) E Class, Chrysler; (LOTU) Eclat, Lotus; (MITS) Eclipse, Eclipse Spyder GS-T, Mitsubishi + + + + + (FORD) Econoline 100, Ford (see English, French, German, and Italian Ford); (TOYT) Echo, Toyota + + + + + (FORD) Escape, Ford (see English, French, German, and Italian Ford) + + + + + (MITS) Endeavor, Mitsubishi + + + + + (BENT) Eight, Bentley + + + + + (ACUR) EL, Acura (Import from Canada) + + + + + (LOTU) Elan, Lotus + + + + + (CHEV) El Camino, Chevrolet + + + + + (CADI) Eldorado, Cadillac + + + + + (BUIC) Electra (Park Avenue), Park Avenue (Electra), Buick; (BZEL) Electra-King, B & Z Electric Car Co.; (HOND) Element, Honda + + + + + (FORD) Elite, Ford (see English, French, German, and Italian Ford); (LOTU) Elite, Lotus + + + + + (CHEV) Chevelle, Concours (Chevelle only), Deluxe (Chevelle), Greenbrier (Chevelle), Nomad (Chevelle), Chevrolet + + + + + (HYUN) Elantra, Hyundai + + + + + Elise + + + + + (AMER) Encore, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (BUIC) Enclave, Buick + + + + + (VANG) Ensign, Vanguard (Canada) + + + + + (GMC) Envoy, General Motors Corp.; (VAUX) Envoy, Vauxhall + + + + + (FERR) Enzo, Ferrari + + + + + (VAUX) Epic, Vauxhall + + + + + (FORD) Expedition, Ford (see English, French, German, and Italian Ford) + + + + + (ENVY) Epic, Envoy; (CHEV) Epica, LS & LT, Chevrolet + + + + + (CHEV) Equinox, Chevrolet + + + + + (CADI) Escalade, Cadillac; (ENGF) Escort, English Ford (British); (FORD) Escort, Ford (see English, French, German, and Italian Ford) + + + + + (LAMO) Espada, Lamborghini; (LOTU) Esprit, Lotus; (PANZ) Esperante, Panoz + + + + + (BUIC) Estate Wagon, Buick; (CHEV) Estate Wagon, Chevrolet; (RENA) Estafette, Renault; (SUZI) Esteem, Suzuki + + + + + (SIM) Etoile, Simca + + + + + (JAGU) "E" Type, Jaguar + + + + + (LOTU) Europa, Lotus; (VOLK) Eurovan, Volkswagen + + + + + (GM) EV1, General Motors + + + + + (CHEV) Chevette, Chevrolet + + + + + (HOND) EVPLUS, Honda + + + + + (HYUN) Excel, Hyundai; (FORD) Excursion, Ford (see English, French, German, and Italian Ford) + + + + + (CHRY) Executive Sedan, Chrysler; (PONT) Executive, Pontiac + + + + + (CHEV) Express (full-size van), Chevrolet; (FORD) EXP, Ford (see English, French, German, and Italian Ford); (MITS) Expo, Mitsubishi; (RENA) Export, Renault + + + + + (DATS) F-10, Datsun; (FORD) F100, Ford (see English, French, German, and Italian Ford) + + + + + (FORD) F-150XLT (has third door on passenger side), Ford (see English, French, German, and Italian Ford) + + + + + (FORD) F250 Supercab (pickup), Ford (see English, French, German, and Italian Ford) + + + + + (FERR) F355, Ferrari; (FORD) F350, Ford (see English, French, German, and Italian Ford) + + + + + (FERR) F40, Ferrari + + + + + (FORD) F450, Ford (see English, French, German, and Italian Ford) + + + + + (FORD) F550, Ford (see English, French, German, and Italian Ford) + + + + + (FORD) F650 Super Crew, Ford + + + + + (OLDS) F-85, Oldsmobile + + + + + (SKOD) Fabia, Skoda + + + + + (FORD) Fairlane, Ford (see English, French, German, and Italian Ford) + + + + + (FORD) Falcon, Ford (see English, French, German, and Italian Ford) + + + + + (FORD) Fairmont, Ford (see English, French, German, and Italian Ford) + + + + + (CHRY) Fifth Avenue, Chrysler + + + + + (VOLK) Fastback, Volkswagen + + + + + (PONT) Firebird, Firehawk, Trans Am (Firebird), Pontiac + + + + + (HOND) FCX (Fuel Cell Vehicle), Honda + + + + + Farm and Garden Equipment + + + + + (SUBA) Fe, Subaru + + + + + (FORD) Festiva, Ford (see English, French, German, and Italian Ford) + + + + + (RENA) Fuego, Renault + + + + + (PONT) Fiero, Pontiac + + + + + (VAUX) Firenza, Vauxhall + + + + + Fit + + + + + FJ Cruiser + + + + + (LNCI) Flavia, Lancia + + + + + (CADI) Fleetwood, Cadillac; (CHEV) Fleetline, Chevrolet + + + + + (LNCI) Flaminia, Lancia + + + + + (DODG) Fleet Special, Dodge; (SOLE) Flash, Solectria + + + + + (SUZI) Forenza (S, EX, LX), Suzuki + + + + + (FORD) Focus, Ford (see English, French, German, and Italian Ford) + + + + + (SOLE) Force, Solectria; (SUBA) Forrester, Subaru; (SUZI) Forsa, Suzuki + + + + + (AUDI) 80 LS (Fox), Audi; (VOLK) Fox, Volkswagen + + + + + (ROL) Flying Spur, Rolls-Royce + + + + + (DESO) Firedom, DeSoto + + + + + (LNDR) Freelander, Land Rover; (FORD) Freestar, Ford + + + + + (DESO) Firelite, DeSoto + + + + + (FORD) Frontenac, Ford (see English, French, German, and Italian Ford) + + + + + (DESO) Firesweep, DeSoto + + + + + (NISS) Frontier, Nissan + + + + + (PONI) Firefly, Pontiac (Canadian) (Also see make Pontiac) + + + + + Freestyle + + + + + (LNCI) Fulvia, Lancia + + + + + (PLYM) Fury (also Grand Fury), Plymouth + + + + + Fusion + + + + + (FORD) Futura, Ford (see English, French, German, and Italian Ford) + + + + + (INFI) FX35, Infiniti + + + + + (INFI) FX45, Infiniti + + + + + (OLDS) Firenza, Oldsmobile + + + + + (INFI) G20, Infiniti + + + + + (ALFA) GTV6 2.5, Alfa Romeo + + + + + (BUIC) GS350, Buick; (SHEB) Cobra GT350, Shelby American; (INFI) G35, Infiniti + + + + + (BUIC) GS400, Buick + + + + + (LEXS) GS430, Lexus + + + + + (BUIC) GS455, Buick; (LEXS) GS450h, Lexus + + + + + (LEXS) GX470, Lexus + + + + + (SHEB) Cobra GT500, Shelby American; (MERZ) G500, Mercedes-Benz + + + + + (MERZ) G55, Mercedes-Benz + + + + + (PONT) G6, Pontiac + + + + + (SAA) GT 750, Saab + + + + + (FORD) Galaxie, Ford (see English, French, German, and Italian Ford); (MITS) Galant, Mitsubishi; (LAMO) Gallardo, Lamborghini + + + + + (JEEP) Grand Cherokee, Jeep (for vehicle years 1989 to present, use VMA/JEEP); (JEP) Grand Cherokee, Jeep (for vehicle years prior to 1970, use VMA/JEP); (AMER) Grand Cherokee, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (MASE) Ghibli, Maserati + + + + + (ALFA) Giulia Sprint, Alfa Romeo + + + + + (ALFA) Giulia Spider, Alfa Romeo + + + + + (ALFA) Giulietta, Alfa Romeo + + + + + (ALFA) Giulia, Alfa Romeo + + + + + (SUBA) GL, Subaru; (VOLV) GL, Volvo + + + + + (MAZD) GLC ("Great Little Car"), Mazda + + + + + (ZMCC) Golden Spirit, Zimmer Motor Car Co. + + + + + (VOLV) GLE, Volvo + + + + + (SUBA) GLF, Subaru + + + + + (SIM) GLS, Simca + + + + + (VOLV) GLT, Volvo + + + + + (MERZ) Gelaendewagen (G-Wagen), Mercedes-Benz + + + + + (CONU) GCP, Consulier + + + + + Grand Marquis + + + + + (SPEC) Golf Carts + + + + + (GLAS) Goggomobile, Glas + + + + + (VOLK) Golf, Volkswagen + + + + + (RENA) Gordini, Renault + + + + + (PONI) Grand Parisienne, Pontiac (Canadian) (Also see make Pontiac) + + + + + (FORD) Granada, Ford (see English, French, German, and Italian Ford); (PONT) Grand Prix, Pontiac; (STU) Grand Turismo, Studebaker + + + + + (PONT) Grand Ville, Pontiac + + + + + (AMER) Gremlin, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (PONT) Grand AM, Pontiac + + + + + (SPEC) Go-Carts + + + + + (BUIC) Grand Sports (G.S.), Buick + + + + + (LEXS) GS300, Lexus + + + + + (LEXS) GS400, Lexus + + + + + Gran Sport + + + + + (BEJE) Gang Star, Beijing Jeep + + + + + (ASUN) GT, Asuna; (ENGF) GT, English Ford (British); (OPEL) GT, Opel (imported by Buick); (TRIU) GT Series, Triumph; (FORD) GT, Ford + + + + + (PONT) GT0, Pontiac + + + + + (ALFA) Alfa GT6, Alfa Romeo + + + + + (MASE) GTI Series, Maserati; (VOLK) GTI, Volkswagen + + + + + (CONU) GTP, Consulier + + + + + (ALFA) GT Veloce, Alfa Romeo + + + + + (PLYM) GTX, Plymouth + + + + + (SUZI) Grand Vitara, Suzuki + + + + + (CHRY) Grand Voyager, Chrysler + + + + + (BORG) Hansa, Borgward + + + + + (HUMB) Hawk, Humber; (STU) Hawk Series, Studebaker + + + + + (JENS) Healy, Jensen + + + + + (AERO) Helicopters and other Rotor Wing (or rotary- blade drive aircraft) + + + + + (TRIU) Herald, Triumph + + + + + (TOYT) Highlander (beginning vehicle year 2001), Toyota + + + + + HHR + + + + + (TOYT) Hi-Lux, Toyota + + + + + (OLDS) Holiday, Oldsmobile + + + + + (ISU) Hombre (pickup), Isuzu + + + + + (DATS) Honey Bee, Datsun + + + + + (HUDS) Hornet, Hudson; (AMER) Hornet, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (PLYM) Horizon (also TC3), Plymouth + + + + + (AERO) Hot Air Balloon + + + + + (HUMM) Hummer 2, HUMMER + + + + + HU3 + + + + + (AMGN) Hummer, AM General Corp.; (HUMM) Hummer, HUMMER + + + + + (HILL) Husky, Hillman + + + + + (INFI) I30, Infiniti + + + + + (INFI) I35, Infinit + + + + + (CITR) ID-19, Citroen + + + + + (ISU) I-Mark, Isuzu + + + + + (ISU) Impulse, Isuzu; (CHEV) Impala, Chevrolet; (HILL) IMP, Hillman; (ROOT) Imp, Rootes; (SUBA) Impreza, Outback Impreza, Subaru; (SUNB) IMP, Sunbeam + + + + + (MASE) Indy, Maserati + + + + + (HOND) Insight, Honda + + + + + (JENS) Interceptor, Jensen; (ACUR) Integra, Acura; (DODG) Intrepid, Dodge; (OLDS) Intrigue, Oldsmobile; (CHRY) Intrepid, Chrysler + + + + + (ACAD) Invader Series, Acadian (GM of Canada); (BUIC) Invicta, Buick + + + + + (STRN) Ion, Saturn + + + + + (CHRY) Imperial (for vehicle years prior to 1955 and for vehicle years 1990-1993; for 1955-1983, see make Imperial), Chrysler + + + + + (LEXS) IS300, Lexus + + + + + (BORG) Isabella, Borgward + + + + + (BMW) Isetta, BMW + + + + + (HUDS) Italia, Hudson + + + + + (JEEP) J-10, Jeep (for vehicle years 1989 to present, use VMA/JEEP); (JEP) J-10, Jeep (for vehicle years prior to 1970, use VMA/JEP); (AMER) J-10, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (JAGU) XJ12, Jaguar + + + + + (JEEP) J-20, Jeep (for vehicle years 1989 to present, use VMA/JEEP); (JEP) J-20, Jeep (for vehicle years prior to 1970, use VMA/JEP); (AMER) J-20, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (PONT) J2000, Pontiac + + + + + (INFI) J30, Infiniti + + + + + (PANE) J72, Panther Westwinds, Ltd. + + + + + (EXCL) JAC 427 Cobra, Excalibur + + + + + (LAMO) Jalpa, Lamborghini + + + + + (LAMO) Jarma, Lamborghini + + + + + (AMER) Javelin, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (SANG) Jeep, Sangyong + + + + + (HUDS) Jet, Hudson; (AERO) Jet Propelled; (MUNT) Jet, Muntz; (VOLK) Jetta, Volkswagen + + + + + (GMC) Jimmy, General Motors Corp. + + + + + (OLDS) Jetfire, Oldsmobile + + + + + (OLDS) Jetstar, Oldsmobile + + + + + (SUBA) Justy, Subaru + + + + + (FORD) KA, Ford (see English, French, German, and Italian Ford) + + + + + (OPEL) Kadette, Opel (imported by Buick) + + + + + (PANE) Killeta, Panther Westwinds, Ltd. + + + + + (OPEL) Kapitan, Opel (imported by Buick) + + + + + (PORS) Karman, Porsche; (VOLK) Karmann Ghia, Volkswagen + + + + + (MASE) Khamsin, Maserati + + + + + (CHEV) Kingswood, Chevrolet + + + + + (VOLK) Kombi, Volkswagen + + + + + (DAEW) Korando, Daewoo + + + + + (MESS) KR200, Messerschmitt + + + + + (MESS) KR201, Messerschmitt + + + + + (LEXS) LS430, Lexus + + + + + (LEXS) LX450 (luxury sport utility), Lexus + + + + + (LEXS) LX470, Lexus + + + + + (BMW) L6, BMW + + + + + (BMW) L7, BMW + + + + + (NASH) Lafayette, Nash + + + + + (ASTO) Lagonda, Aston Martin + + + + + Lancer Evolution + + + + + (STU) Lark Series, Studebaker + + + + + (CHRY) Laser, Chrysler; (FORD) Laser (foreign and Puerto Rican distribution only), Ford (see English, French, German, and Italian Ford); (PLYM) Laser, Plymouth + + + + + (BREM) Laufer, Bremen Sport Equipment, Inc. (Bremen, IN); (PONI) Laurentian, Pontiac (Canadian) (Also see make Pontiac) + + + + + (CHRY) Le Baron (for vehicle year 1978 or later), Chrysler + + + + + (JEEP) Liberty, Jeep + + + + + (TOYT) Land Cruiser, Toyota; (BUIC) Lacrosse, Buick + + + + + (IMPE) Le Baron (for vehicle year thru 1975), Imperial (for vehicle years 1955-1983, use VMA/IMPE; for vehicle years prior to 1955 and vehicle years 1990-1993, see make Chrysler) + + + + + (RENA) Le Car, Renault + + + + + (ACUR) Legend, Acura; (DAEW) Leganza, Daewoo; (SUBA) Legacy, Outback Legacy, Subaru + + + + + (METE) Lemoyne, Meteor (Canadian Mercury); (PONT) LeMans, Pontiac + + + + + (SUBA) Leone GL Coupe, Subaru + + + + + (BUIC) Le Sabre, Buick + + + + + (CHRY) LHS, Chrysler + + + + + (CHRY) Lido, Chrysler + + + + + (DATS) LiL Hustler, Datsun + + + + + (BUIC) Limited, Buick; (CHRY) Limousine, Chrysler; (PANE) Lima, Panther Westwinds, Ltd. + + + + + (MERZ) CLK320, Mercedes-Benz + + + + + (MERZ) CLK55, Mercedes-Benz + + + + + (CHEV) Lumina APV, Chevrolet + + + + + (MERC) LN7, Mercury + + + + + (DETO) Longchamp, DeTomaso + + + + + (ENGF) Lotus, English Ford (British) + + + + + (SUBA) Loyale, Subaru + + + + + (ROV) Land Rover, Rover + + + + + LR3 + + + + + (LINC) LS, Lincoln-Continental; (STRN) LS-Sedan, Saturn + + + + + (LINC) LS6, Lincoln-Continental + + + + + (LINC) LS8, Lincoln-Continental + + + + + (FORD) LTD II, Ford (see English, French, German, and Italian Ford) + + + + + (USEL) Lectric Leopard, U.S. Electricar Corp. + + + + + (FORD) LTD, Ford (see English, French, German, and Italian Ford) + + + + + (MONA) Lucerne, Monarch; (BUIC) Lucerne, Buick + + + + + (CHEV) Lumina, Chevrolet + + + + + (CHEV) Luv, Chevrolet + + + + + (OPEL) Luxus, Opel (imported by Buick); (VANG) Luxury, Vanguard (Canada) + + + + + (STRN) LW-Wagon, Saturn + + + + + (RENA) Luxe, Renault + + + + + (MERC) Lynx, Mercury + + + + + (VACR) M12 (sport coupe), Vector Aeromotive Corp. + + + + + (BMW) M3, BMW + + + + + (INFI) M30, Infiniti + + + + + (MERZ) ML350, Mercedes-Benz; (INFI) M35, M35 Sport, M35 X, Infiniti + + + + + (INFI) M45, Infiniti + + + + + (BMW) M5, BMW + + + + + (MERZ) ML500, Mercedes-Benz + + + + + (BMW) M6, BMW + + + + + (DODG) Magnum, Dodge; (MG) Magnette, MG + + + + + (FORD) Mainline, Ford (see English, French, German, and Italian Ford) + + + + + (CHEV) Malibu Maxx + + + + + (KAIS) Manhattan, Kaiser; (OPEL) Manta, Opel (imported by Buick); (QVAL) Mangusta, Qvale Automotive Group + + + + + (HYUN) Marcia, Hyundai; (JAGU) Mark V Series, Jaguar; (AMER) Marlin, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (AUST) Marina, Austin; (FERR) F-550 Maranello, Ferrari; (MERC) Marquis, Mercury; (MG) Marina, MG + + + + + (AMER) Matador, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (MERC) Marauder, Mercury + + + + + (FORD) Maverick, Ford (see English, French, German, and Italian Ford) + + + + + (BREM) Maxi-Taxi, Bremen Sport Equipment, Inc. (Bremen, IN); (DATS) Maxima, Datsun; (NISS) Maxima, Nissan + + + + + (MICC) MC1, Micro Concept Cars + + + + + (VOLK) Microbus, Volkswagen + + + + + (ACUR) MDX, Acura + + + + + (DODG) Meadowbrook, Dodge + + + + + (AMER) Medallion (through vehicle year 1987), American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (EGIL) Medallion (vehicle year 1988), Eagle; (MERC) Medalist, Mercury + + + + + (MASE) Merak, Maserati + + + + + (CHEV) Metro (beginning vehicle year 1998), Chevrolet; (GEO) Metro, GEO; (NASH) Metropolitan, Nash + + + + + (MASE) Mexico, Maserati + + + + + (MG) 1100, MG + + + + + (MG) MGA, MG + + + + + (MG) MGB, MG + + + + + (MG) MGC, MG + + + + + (MG) MGB/GT, MG + + + + + (MERC) Montego, Mercury; (METE) Montego, Meteor (Canadian Mercury) + + + + + (MG) MGC/GT, MG + + + + + (MAZD) Miata (MX5), Merlot Mica (Miata), Mazda + + + + + Micra + + + + + (MG) Midget, MG + + + + + (DAYO) Migi, Daytona + + + + + (MORR) Mini Series, Morris; (TOYT) Mark II, Toyota + + + + + (ALFA) Milano, Alfa Romeo; (MAZD) Millenia, Mazda + + + + + (AUST) Mini, Austin; (BREM) Mini-Mark, Bremen Sport Equipment, Inc. (Bremen, IN); (HILL) Minx, Hillman; (MITS) Minica, Mitsubishi; (MORR) Minor, Morris; (SUNB) Minx, Sunbeam + + + + + (DODG) Mirada, Dodge; (MITS) Mirage, Mitsubishi + + + + + (MASE) Mistrell, Maserati; (MAZD) Miser (piston engine), Mazda + + + + + (LAMO) Miura SV, Lamborghini + + + + + (ENGF) Mark II, English Ford (British); (LINC) Mark II, Lincoln-Continental + + + + + (LINC) Mark III, Lincoln-Continental; (VANG) Mark III, Vanguard (Canada) + + + + + (LINC) Mark IV, Lincoln-Continental; (ROV) Mark IV, Rover + + + + + (LINC) Mark V, Lincoln-Continental; (MORG) 4/4 Mark 5, Morgan + + + + + (LINC) Mark VI, Lincoln-Continental + + + + + (LINC) Mark VII, Lincoln-Continental + + + + + (LINC) Mark VIII, Lincoln-Continental + + + + + Mark LT + + + + + (MG) Mark II, MG + + + + + (MERZ) ML320 (sport utility), Mercedes-Benz + + + + + (MERZ) ML430, Mercedes-Benz + + + + + (MERZ) ML55, Mercedes-Benz + + + + + Milan + + + + + (DETO) Mangusta, DeTomaso + + + + + (MERC) Monarch, Mercury + + + + + Mariner + + + + + (FORD) Model A, Ford (see English, French, German, and Italian Ford) + + + + + (CHEV) Monte Carlo, Chevrolet + + + + + (MODE) Model A, Model A and Model T Motor Car Reproduction Corp. + + + + + (ALFA) Montreal, Alfa Romeo; (CHEV) Monza, Chevrolet; (DODG) Monaco, Dodge; (FERR) Mondial, Ferrari; (MERC) Monterey, Mercury; (METE) Montcalm, Meteor (Canadian Mercury); (MITS) Montero/Montero Sport, Mitsubishi + + + + + (FORD) Model T, Ford (see English, French, German, and Italian Ford); (MERC) Montclair, Mercury + + + + + (DAYO) Moya, Daytona + + + + + (MAZD) MPV, Mazda + + + + + (TOYT) MR2, Toyota + + + + + (CREL) Merlin, Corbin Motors (electric vehicles) + + + + + (PONT) Montana, Pontiac + + + + + (CHEC) Marathon, Checker + + + + + (MERC) Mountaineer (sport utility), Mercury + + + + + (JAGU) Mark Ten Salon, Jaguar + + + + + (MITS) Mighty Max, Mitsubishi; (TOYT) Matrix (sport wagon), Toyota + + + + + (CHEV) Matiz, Chevrolet; (PONT) Matiz, Pontiac + + + + + (BENT) Mulsanne, Bentley; (ROL) Mulsanne, Rolls-Royce + + + + + (LAMO) Murcielago, Lamborghini ; (NISS) Murano, Nissan + + + + + (FORD) Mustang, Ford (see English, French, German, and Italian Ford) + + + + + (MAZD) MX3, Mazda + + + + + (MAZD) MX6, Mazda + + + + + (MERC) Mystique, Mercury + + + + + (MAZD) Mazda 3, Mazda + + + + + Mazda 5 (Five) + + + + + (MAZD) 6 (Six), Mazda + + + + + (LINC) Navigator, Lincoln-Continental; (MAZD) Navajo, Mazda + + + + + (FORD) Think Neighbor (Elec. Veh. Model Year 2002), Ford + + + + + (DODG) Neon, Dodge; (PLYM) Neon, Plymouth + + + + + (FORD) Nevada, Ford (see English, French, German, and Italian Ford) + + + + + (CHRY) Newport, Chrysler + + + + + (METE) Niagara, Meteor (Canadian Mercury) + + + + + (LADA) Niva, Lada (imported from USSR) + + + + + (CHEV) Nova (Chevy II & Concours), Chevrolet + + + + + NSX + + + + + (DAEW) Nubira, Daewoo + + + + + (NISS) NX, Nissan + + + + + (CHRY) New Yorker, Chrysler + + + + + (ISU) Oasis (minivan), Isuzu + + + + + (SKOD) Octavia, Skoda + + + + + (HOND) Odyssey (minivan), Honda + + + + + (OPEL) Olympia, Opel (imported by Buick) + + + + + (OLDS) Omega, Oldsmobile + + + + + (DODG) Omni (also 024), Dodge + + + + + (KIA) Opirus, KIA + + + + + (PASS) Optima, Passport; (KIA) Optima, Kia; (CHEV) Optra, Chevrolet + + + + + (MITS) Outlander, Mitsubishi ; (STRN) Outlook, Saturn; (SUBA) Outback, Subaru + + + + + (MORR) Oxford, Morris + + + + + (HUDS) Pacemaker, Hudson; (AMER) Pacer, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (EDSE) Pacer, Edsel + + + + + (BERO) Palinuro, Bertone + + + + + (CHEV) Parkwood, Chevrolet; (MERC) Parklane, Mercury; (PONI) Parisienne, Pontiac (Canadian) (Also see make Pontiac); (PONT) Parisienne, Pontiac + + + + + (HOND) Passport, Honda; (TOYT) Paseo, Toyota; (VOLK) Passat, Volkswagen + + + + + (PACK) Patrician, Packard; (JEEP) Patriot, Jeep + + + + + (CHRY) Pacifica (Sport Wagon), Chrysler + + + + + (ENGF) Perfect, English Ford (British) + + + + + (ROL) Phantom, Rolls-Royce; (VOLK) Phaeton, Volkswagen + + + + + (DODG) Phoenix, Dodge; (PONT) Phoenix, Pontiac + + + + + (ROL) Phantom, Rolls-Royce + + + + + (FORD) Pinto, Ford (see English, French, German, and Italian Ford) + + + + + (DODG) Pioneer, Dodge + + + + + (MORG) Plus 4 Series, Morgan + + + + + (MORG) Plus 8 Series, Morgan + + + + + (PLYM) Plaza, Plymouth + + + + + (HOND) Pilot, Honda + + + + + (LOTU) Plus Two, Lotus + + + + + (DODG) Polara, Dodge; (VOLK) Polo, Volkswagen + + + + + (HYUN) Pony, Hyundai + + + + + (DESO) Powermaster, DeSoto + + + + + (PACK) Predictor, Packard + + + + + (HOND) Prelude, Honda; (EGIL) Premier, Eagle; (LINC) Premiere, Lincoln-Continental; (MITS) Precis, Mitsubishi; (STU) President, Studebaker; (TOYT) Pre Runner, Toyota + + + + + (BMC) Princess, B M C; (CHEV) Prism (beginning vehicle year 1998), Chevrolet; (GEO) Prizm, GEO; (NSU) Prinz, Nsu Prinz; (TOYT) Prius, Toyota + + + + + (BUIC) Park Avenue, Buick; (ROL) Park Ward, Rolls-Royce + + + + + (DODG) Power Ram, Dodge + + + + + (AERO) Propeller Driven; (FORD) Probe, Ford (see English, French, German, and Italian Ford); (MAZD) Familia, Protege, Mazda + + + + + (TOYT) Previa, Toyota + + + + + (PLYM) Prowler, Plymouth + + + + + (DETO) Pantera, DeTomaso + + + + + (NISS) Pathfinder (Armada), Nissan + + + + + (NISS) Pulsar, Nissan + + + + + (FIAT) Punto, Fiat + + + + + (PONT) Pursuit, Pontiac + + + + + (INFI) Q45, Infiniti + + + + + (INFI) QX56, Infiniti + + + + + (ZMCC) Quick Silver, Zimmer Motor Car Co. + + + + + (NISS) Quest, Nissan + + + + + (VOLK) Quantum, Volkswagen + + + + + (AUDI) Quattro, Audi + + + + + (FERR) Quattrovalvolve, Ferrari; (MASE) Quattroporte, Maserati + + + + + (INFI) QX4, Infiniti + + + + + (RENA) R-10, Renault + + + + + (RENA) R-12, Renault + + + + + (DODG) Ram 1500 (pickup), Dodge; (RENA) R-15, Renault + + + + + (RENA) R-16, Renault + + + + + (RENA) R-17, Renault + + + + + (DODG) Ram 2500 (pickup), Dodge + + + + + (VOLK) R32, Volkswagen + + + + + (LEXS) RX330, Lexus + + + + + (DODG) Ram 3500 (pickup), Dodge; (LEXS) RX350, Lexus; (MERZ) R350 (Sport Wagon), Mercedes Benz + + + + + (RENA) R-4, Renault + + + + + (RENA) R-5, Renault + + + + + (RENA) R-8, Renault + + + + + (AMER) Rambler American, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (VOLK) Rabbit, Volkswagen + + + + + Raider + + + + + (GZL) Rage (sport utility), Gazelle + + + + + (FORD) Ranch, Ford (see English, French, German, and Italian Ford) + + + + + (OPEL) Rallye, Opel (imported by Buick) + + + + + (HUDS) Rambler, Hudson; (NASH) Rambler, Nash + + + + + (EDSE) Ranger, Edsel; (FORD) Ranchero, Ford (see English, French, German, and Italian Ford) + + + + + (SUNB) Rapier, Sunbeam + + + + + (TOYT) RAV4 (sport utility), Toyota + + + + + (FORD) Ranch Wagon, Ford (see English, French, German, and Italian Ford); (METE) Ranch Wagon, Meteor (Canadian Mercury) + + + + + (AMER) Rambler Classic, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (DODG) Ram Charger, Dodge + + + + + (DODG) Raider, Dodge + + + + + (BUIC) Rendezvous, Buick + + + + + RDX + + + + + (BUIC) Reatta, Buick + + + + + (AMER) Rebel, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (BUIC) Regal, Buick; (OLDS) Regency (Ninety-eight Series), Oldsmobile + + + + + (OPEL) Rekord, Opel (imported by Buick) + + + + + (PLYM) Reliant, Plymouth + + + + + Replica + + + + + (PACK) Request, Packard + + + + + Ridgeline + + + + + (MONA) Richelieu, Monarch + + + + + (METE) Rideau, Meteor (Canadian Mercury) + + + + + (FIAT) Rimto, Fiat + + + + + (KIA) RIO, Kia + + + + + (BUIC) Riviera, Buick + + + + + (DAIH) Rocky, Daihatsu + + + + + RL + + + + + (GMC) Rally, General Motors Corp.; (SAT) Relay, Saturn + + + + + (FORD) Ranger (pickup), Ford (see English, French, German, and Italian Ford) + + + + + Reno + + + + + (BUIC) Ranier, Buick + + + + + (BUIC) Roadmaster, Buick; (CLEN) Roadster, Clenet Coach Works; (DECO) Roadster, DeCourville + + + + + (ISU) Rodeo, Isuzu; (DLHY) Roadster, Delahaye; (LAMO) Roadster, Lamborghini; (PANZ) Roadster, Panoz Auto Development Co.; (BRSH) Roadster, Brush (antique vehicles); (SHEB) Roadster, Shelby + + + + + (CHRY) Royal, Chrysler; (DODG) Royal, Dodge + + + + + (AMER) Rambler Rogue, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (PLYM) Road Runner, Plymouth + + + + + (LNDR) Range Rover, Land Rover + + + + + RS4 + + + + + (AUDI) RS6, Audi + + + + + (ACUR) RSX, Acura + + + + + (SUBA) RX, Subaru + + + + + (MAZD) RX2 (rotary engine), Mazda + + + + + (LEXS) RX300, Lexus; (MAZD) RX3 (rotary engine), Mazda + + + + + RX400 or RX400H (Hybrid) + + + + + (MAZD) RX7 (rotary engine), Mazda + + + + + (MAZD) RX8, Mazda + + + + + (CHEV) S10, Chevrolet + + + + + (HOND) S2000, Honda + + + + + (MERC) S-22, Mercury + + + + + (LEXS) SC300, Lexus + + + + + (MERC) S-33, Mercury; (METE) S-33, Meteor (Canadian Mercury) + + + + + (LEXS) SC400, Lexus; (VOLV) S40, Volvo + + + + + (LEXS) SC430, Lexus; (MERZ) S430V, Mercedes-Benz + + + + + SLK55 + + + + + (VOLV) S60, Volvo + + + + + SL65 + + + + + (VOLV) S70, Volvo + + + + + (VOLV) S80, Volvo + + + + + (AUDI) Super 90, Audi; (VOLV) S90, Volvo + + + + + (MERC) Sable, Mercury + + + + + (GMC) Safari, General Motors Corp.; (PONT) Safari, Pontiac + + + + + (AERO) Sailplane (Glider); (CHRY) Salon, Chrysler + + + + + (SUZI) Samurai, Suzuki + + + + + (PLYM) Sapporo (imported), Plymouth + + + + + (CHRY) Saratoga, Chrysler + + + + + (PLYM) Satellite, Plymouth + + + + + (GMC) Savanna (full-size van), General Motors Corp.; (PLYM) Savoy, Plymouth + + + + + (AUHE) Saxon, Austin-Healy + + + + + (VOLK) Squareback, Volkswagen + + + + + (STRN) SC, Saturn + + + + + (PLYM) Scamp (Valiant), Plymouth + + + + + (VOLK) Scirocco, Volkswagen + + + + + (MERK) Scorpio, Merkur; (STU) Scotsman, Studebaker + + + + + (HYUN) Scoupe, Hyundai; (HILL) Sceptre, Hillman; (MONA) Sceptre, Monarch + + + + + (SUZI) Sidekick, Suzuki + + + + + (ASUN) SE, Asuna; (NISS) SE-V6, Nissan + + + + + (BREM) Sebring, Bremen Sport Equipment, Inc. (Bremen, IN); (CHRY) Sebring, Chrysler; (MASE) Sebring, Maserati + + + + + (KIA) Sedona, Kia + + + + + (DODG) Seneca, Dodge; (NISS) Sentra, Nissan + + + + + (KIA) Sephia, Kia Motors Corp. + + + + + (ROL) Silver Seraph, Rolls-Royce + + + + + (CADI) Seville, Cadillac + + + + + (HYUN) Santa Fe, Hyundai + + + + + (SUZI) Swift, Suzuki + + + + + (DODG) Shadow, Dodge + + + + + (MASE) Shamal, Maserati + + + + + (ROL) Silver Cloud, Rolls-Royce + + + + + (ROL) Silver Dawn, Rolls-Royce + + + + + (MITS) Sigma, Mitsubishi; (PLYM) Signet (Valiant), Plymouth + + + + + (OLDS) Silhouette, Oldsmobile + + + + + (ROL) Silver Shadow, Rolls-Royce + + + + + (ROL) Silver Wraith, Rolls-Royce + + + + + (BUIC) Skyhawk, Buick + + + + + (SNOW) Skis and Tracks, Snowmobiles + + + + + (SNOW) Skis and Wheels, Snowmobiles + + + + + (BUIC) Skylark, Buick; (PONT) Sky Chief, Pontiac; (STRN) Sky, Saturn + + + + + (STRN) SL, Saturn + + + + + (MERZ) SLK230, Mercedes-Benz + + + + + (MERZ) SLK320 Coupe/Roadster, Mercedes-Benz + + + + + (MERZ) SL500, Mercedes-Benz + + + + + (MERZ) SL600, Mercedes-Benz + + + + + (LAMO) Silhouette, Lamborghini + + + + + (MERZ) SLR McLaren, Mercedes-Benz + + + + + SLS (Badged Separately Beginning 7/2003) + + + + + (CHEV) Silverado, Chevrolet + + + + + (ACUR) SLX (sport utility), Acura + + + + + (CITR) SM, Citroen + + + + + (MERZ) Smart City Vehicle, Mercedes-Benz + + + + + (TOYT) Sienna (van), Toyota + + + + + (PONT) Sunfire, Pontiac + + + + + (HUMB) Snipe, Humber; (HILL) Snipe, Hillman + + + + + (TOYT) Solara, Toyota; (PONT) Solstice, Pontiac + + + + + (BUIC) Somerset, Buick + + + + + (HYUN) Sonata, Hyundai; (GMC) Sonoma, General Motors Corp.; (SAA) Sonnet, Saab + + + + + (KIA) Sorrento, Kia + + + + + (JAGU) Sovereign, Jaguar + + + + + (TRIU) Sport "6", Triumph + + + + + (KIA) Spectra, Kia Motors Corp. + + + + + (BUIC) Special, Buick; (CHEV) Spectrum, Chevrolet; (FORD) Special, Ford (see English, French, German, and Italian Ford) + + + + + (ALFA) Spider Series, Alfa Romeo; (AMER) Spirit, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (DODG) Spirit, Dodge; (FIAT) Spider Series, Fiat; (NSU) Spider (Wankel), Nsu Prinz; (PINI) Spidereuropa, Pinifarina; (TRIU) Spitfire, Triumph + + + + + (GMC) Sprint (VMA/GMSP for reference only), General Motors Corp. + + + + + (AMER) Sportabout, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (BUIC) Sportswagon, Buick; (VOLV) Sport, Volvo + + + + + (AUHE) Sprite, Austin-Healy; (CHEV) Sprint, Chevrolet; (MG) Sprite, MG; (ROL) Silver Spur, Rolls-Royce; (MERZ) Sprinter, Mercedes-Benz ; (DODG) Sprinter, Dodge + + + + + (MG) Sports Sedan, MG + + + + + (CHEV) Sportvan, Chevrolet; (ENCR) Sport, Encore; (KIA) Sportage (sport utility), Kia Motors Corp.; (SUBA) Outback Sport (station wagon), Subaru + + + + + (CREL) Sparrow, Corbin Motors (electric vehicles) + + + + + Spyder + + + + + (TOYT) Sequoia, Toyota + + + + + (ENGF) Squire, English Ford (British); (FORD) Squire (Falcon or Fairlane), Ford (see English, French, German, and Italian Ford) + + + + + (TOYT) SR5, Toyota + + + + + (GMC) Sierra, General Motors Corp. + + + + + (CHEC) Superba, Checker + + + + + (CADI) SRX, Cadillac + + + + + (PONT) SSE, Pontiac + + + + + (EXCL) SSK, Excalibur + + + + + (EXCL) SS Phaeton, Excalibur; (ROL) Silver Spirit, Rolls-Royce + + + + + (EXCL) SS Roadster, Excalibur; (CHEV) SSR, Chevrolet + + + + + (DODG) Stratus, Dodge; (FORD) Starliner, Ford (see English, French, German, and Italian Ford); (LINC) Standard, Lincoln-Continental; (MITS) Starion, Mitsubishi; (NASH) Statesman, Nash; (NISS) Stanza, Nissan; (OLDS) Starfire, Oldsmobile; (PONT) Star Chief, Pontiac; (PORS) Standard, Porsche; (SUBA) Standard, Subaru; (TOYT) Starlet, Toyota; (TRIU) Stag, Triumph + + + + + (OLDS) Standard, Oldsmobile + + + + + (HYUN) Steilar, Hyundai; (DODG) Stealth, Dodge + + + + + (CHEV) Style Master, Chevrolet + + + + + (GEO) Storm, GEO + + + + + (DODG) St. Regis, Dodge; (FIAT) Strada, Fiat; (PONI) Strato Chief, Pontiac (Canadian) (Also see make Pontiac); (PONT) Streamliner, Pontiac + + + + + STS (Badged Separately Beginning 7/2003) + + + + + (ISU) Stylus, Isuzu; (JAGU) S-Type, Jaguar; (CHEV) Style Line, Chevrolet + + + + + (CHEV) Suburban, Chevrolet; (GMC) Suburban, General Motors Corp.; (PLYM) Suburban, Plymouth + + + + + (ASUN) Sunfire, Asuna + + + + + (EGIL) Summit, Eagle + + + + + (FORD) Sunliner, Ford (see English, French, German, and Italian Ford); (PLYM) Sundance, Plymouth; (PONT) Sunbird, Pontiac; (SOLE) Sunrise, Solectria + + + + + (HUDS) Super, Hudson; (BUIC) Super, Buick; (FORD) Super, Ford (see English, French, German, and Italian Ford); (HILL) Super Minx, Hillman; (LOTU) Super 7, Lotus; (OLDS) Super 88, Oldsmobile; (PONT) Super Chief, Pontiac; (PORS) Super, Porsche; (RAMB) Super, Rambler (mfd. prior to 1966; 1966 and later Ramblers - see make American Motors); (TOYT) Supra, Toyota + + + + + (ASUN) Sunrunner, Asuna; (VOLK) Sunroof, Volkswagen + + + + + (SUBA) SVX, Subaru + + + + + (STRN) SW, Saturn + + + + + (DODG) Swinger (Dart), Dodge + + + + + (GMC) Syclone, General Motors Corp. + + + + + (PONT) T-1000, Pontiac; (TOYT) T-100, Toyota + + + + + (TOYT) T-150, Toyota + + + + + (TOYT) Tacoma, Toyota + + + + + (CHEV) Tahoe, Chevrolet + + + + + (EGIL) Talon, Eagle; (TLCC) Talbo, TLC Carrossiers; (TLCC) Talbo Lago, TLC Carrossiers + + + + + (FORD) Taurus, Ford (see English, French, German, and Italian Ford) + + + + + (BENT) Turbo R, Bentley + + + + + (CHEV) Trail Blazer, Chevrolet + + + + + (CHRY) TC, Chrysler; (SCIO) TC, Scion + + + + + Tucson + + + + + (FORD) Tempo, Ford (see English, French, German, and Italian Ford); (PONI) Tempest, Pontiac (Canadian) (Also see make Pontiac) + + + + + (TOYT) Tercel, Toyota + + + + + (FERR) Testarossa, Ferrari + + + + + (MG) TF Series, MG + + + + + (PONT) Tempest GT0, Pontiac + + + + + (PORS) Targa, Porsche + + + + + (ENGF) Thames, English Ford (British) + + + + + (VOLK) The Thing, Volkswagen + + + + + (FORD) Thunderbird, Ford (see English, French, German, and Italian Ford); (MODE) 1955 Thunderbird, Model A and Model T Motor Car Reproduction Corp. + + + + + (BMW) TI, BMW + + + + + (HYUN) Tiburon, Hyundai + + + + + (MESS) Tiger, Messerschmitt; (ROOT) Tiger, Rootes; (SUNB) Tiger, Sunbeam + + + + + (FERR) Tipo, Ferrari + + + + + Trucks (including heavy-duty trucks, buses, motorized homes, etc.) + + + + + Trailers + + + + + (CHRY) Town & Country Minivan, Chrysler + + + + + (MERC) Topaz, Mercury + + + + + (FORD) Torino (Fairlane), Ford (see English, French, German, and Italian Ford); (OLDS) Toronado, Oldsmobile; (PONT) Torrent, Pontiac + + + + + (CHEV) Townsman, Chevrolet; (CHRY) Town & Country, Chrysler; (LINC) Town Car, Lincoln-Continental + + + + + (SPEC) Motorized Ride-On Toys + + + + + (TRIU) TR-3 & TR-3A, Triumph + + + + + (TRIU) TR-4 & TR-4A, Triumph + + + + + (TRIU) TR6, Triumph + + + + + (TRIU) TR7, Triumph + + + + + (TRIU) TR8, Triumph + + + + + (ATV) Tracks only; (MERC) Tracer, Mercury; (SNOW) Tracks only, Snowmobiles + + + + + (MAZD) Tribute, Mazda; (SUBA) B9 Tribeca, Subaru + + + + + (MITS) Tredia, Mitsubishi + + + + + (VOLK) Touareg, Volkswagen + + + + + (CHEV) Tracker (beginning vehicle year 1998), Chevrolet; (GEO) Tracker, GEO + + + + + (PLYM) Trail Duster, Plymouth + + + + + (VOLK) Touran, Volkswagen + + + + + (NISS) Terrano, Nissan; (OLDS) Trofeo, Oldsmobile + + + + + (ISU) Trooper, Isuzu + + + + + (CADI) Touring Sedan, Cadillac + + + + + (MORR) Traveller, Morris + + + + + (ATV) Tracks and Wheels; (SNOW) Tracks and Wheels, Snowmobiles + + + + + (BUIC) Terraza, Buick + + + + + (PONT) Trans Sport/Transport, Pontiac; (VOLK) Transporter, Volkswagen + + + + + (ACUR) TSX, Acura + + + + + (AUDI) 2000 TT-Coupe, 2000 TT-Roadster, Audi + + + + + (NISS) Titan, Nissan + + + + + (TOYT) Tundra, Toyota + + + + + (MERC) Turnpike Cruiser, Mercury; (PLYM) Turismo, Plymouth + + + + + (TVR) Tuscan, TVR + + + + + (GMC) Typhoon, General Motors Corp.; (RAMB) Typhoon, Rambler (mfd. prior to 1966; 1966 and later Ramblers - see make American Motors) + + + + + (CHEV) U100 (Joint Venture w/Daewoo); (DAEW) U100 (Joint Venture w/Chevrolet) + + + + + (AERO) Ultralights + + + + + (FIAT) Ulysse, Fiat + + + + + (FIAT) Uno, Fiat + + + + + (CHEV) Uplander (Crossover Sport Van), Chevrolet + + + + + (JAGU) V12, Jaguar + + + + + (DODG) Ram 1500 (van), Dodge + + + + + (DODG) Ram 2500 (van), Dodge + + + + + (DODG) Ram 3500 (van), Dodge + + + + + (VOLV) V40, Volvo + + + + + (VOLV) V50 (Sport Wagon), Volvo + + + + + (VOLV) V70, Volvo + + + + + (AUDI) V-8, Audi + + + + + (VOLV) V90, Volvo + + + + + (PLYM) Valiant, Plymouth + + + + + (JAGU) Vanden Plas, Jaguar; (ASTO) Vantage, Aston Martin; (GMC) Vandura, General Motors Corp. + + + + + (VOLK) Variant, Volkswagen + + + + + (ISU) VehiCross, Isuzu + + + + + (VACR) Vector, Vector Aeromotive Corp. + + + + + (FREF) Vedette, French Ford; (SIM) Vedette, Simca + + + + + (CHEV) Vega, Chevrolet + + + + + (VAUX) Velox, Vauxhall + + + + + (DKW) Vemag, DKW + + + + + (CHEV) Venture (minivan), Chevrolet; (FREF) Vendome, French Ford; (PONT) Ventura, Pontiac + + + + + (LINC) Versailles, Lincoln-Continental + + + + + (VOLK) Vanagon, Volkswagen + + + + + (MERC) Nautica Villager, Villager Minivan, Mercury + + + + + (PONT) Vibe (sport wagon), Pontiac + + + + + (FORD) Victoria, Ford (see English, French, German, and Italian Ford); (VAUX) Victor, Vauxhall + + + + + (ACUR) Vigor, Acura + + + + + (EDSE) Villager, Edsel; (MERC) Villager, Mercury + + + + + (DODG) Viper, Dodge; (PLYM) Vip, Plymouth + + + + + (ASTO) Saloon (Virage), Virage (Saloon), Aston Martin + + + + + (EGIL) Vision, Eagle; (OLDS) Vista Cruiser, Oldsmobile + + + + + (SUZI) Vitara, Suzuki; (TRIU) Vitesse, Triumph + + + + + (VAUX) Viva, Vauxhall + + + + + (TVR) Vixen, TVR + + + + + Vanquish, Vanquish S + + + + + (SIN) Vogue, Singer + + + + + (GAZ) Volga, GAZ; (PLYM) Volare, Plymouth + + + + + (CHRY) Voyager, Chrysler; (MERC) Voyager, Mercury; (PLYM) Voyager, Plymouth + + + + + (SUZI) Verona, Suzuki + + + + + (STRN) Vue, Saturn + + + + + (JEEP) Wagoneer, Jeep (for vehicle years 1989 to present, use VMA/JEEP); (JEP) Wagoneer, Jeep (for vehicle years prior to 1970, use VMA/JEP); (AMER) Wagoneer, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER); (STU) Wagonaire, Studebaker + + + + + (HUDS) Wasp, Hudson + + + + + Wave + + + + + (DODG) Wayfarer, Dodge + + + + + (AUST) Westminster, Austin + + + + + (ATV) Wheels only; (SNOW) Wheels only, Snowmobiles; (SPEC) Motorized Wheelchairs + + + + + (BUIC) Wildcat, Buick + + + + + (CHRY) Windsor, Chrysler; (FORD) Windstar, Ford (see English, French, German, and Italian Ford) + + + + + (JEEP) Wrangler, Jeep (for vehicle years 1989 to present, use VMA/JEEP); (JEP) Wrangler, Jeep (for vehicle years prior to 1970, use VMA/JEP); (AMER) Wrangler, American Motors (see make Rambler for Ramblers mfd. prior to 1966), Jeep (for vehicle years 1970-1988, use VMA/AMER) + + + + + (BERO) X19, Bertone; (FIAT) X19, Fiat + + + + + (BMW) X3, BMW + + + + + (BMW) X5, BMW + + + + + (SUZI) X-90 (sport utility), Suzuki + + + + + (SCIO) XA, Scion + + + + + (SCIO) XB, Scion + + + + + (VOLV) XC70, Volvo + + + + + (VOLV) XC90, Volvo + + + + + (NISS) XE, Nissan + + + + + (HYUN) XG, Hyundai + + + + + (JAGU) XJ, Jaguar + + + + + (JAGU) XJ40, Jaguar + + + + + (JAGU) XJ6, Jaguar + + + + + (JAGU) XJ8, Jaguar + + + + + (JAGU) XJC, Jaguar + + + + + (JAGU) XJR, Jaguar + + + + + (JAGU) XJS, Jaguar + + + + + (JAGU) XK Series, Jaguar + + + + + (JAGU) XK8, Jaguar + + + + + (JAGU) XK-E Series, Jaguar + + + + + (JAGU) XKR, Jaguar + + + + + (FORD) XL, Ford (see English, French, German, and Italian Ford) + + + + + (SUZI) XL-7 or XL-7 Grand Vitara, Suzuki + + + + + (CADI) XLR, Cadillac + + + + + (FORD) Explorer, Ford (see English, French, German, and Italian Ford) + + + + + (MERK) XR4Ti, Merkur + + + + + (FORD) Explorer Sport Trac, Ford (see English, French, German, and Italian Ford) + + + + + (SUBA) XT6, Subaru + + + + + (SUBA) XT Coupe, Subaru + + + + + (NISS) X-Terra, Nissan + + + + + (JAGU) X-Type, Jaguar + + + + + (ZCZY) Yugo (series), Zastavia (ZCZ-Yugoslavia) + + + + + (GMC) Yukon, General Motors Corp. + + + + + (BMW) Z3, BMW + + + + + (BMW) Z8, BMW + + + + + (ALFA) Zagato, Alfa Romeo; (LNCI) Zagato, Lancia + + + + + (ENGF) Zephyr, English Ford (British); (LINC) Zephyr, Lincoln-Continental; (MERC) Zephyr, Mercury + + + + + (ENGF) Zodiac, English Ford (British) + + + + + (FORD) ZX2, Ford + + + + + + + A data type for Vehicle Model. + + + + + + + + + + + + + A data type for Vehicle Style. + + + + + + + + Single-Engine, Jet + + + + + Single-Engine, Propeller + + + + + Sedan, 2 door + + + + + Hatchback, 2 door. + + + + + Twin-Engine, Jet + + + + + Twin-Engine, Propeller + + + + + Hardtop, 2 door. + + + + + 3-DoorSome truck makes will have twodoors on the drivers side andone on the passenger side. Otherm + + + + + Tri-Engine, Jet + + + + + Tri-Engine, Propeller + + + + + SEDAN, 4 DOOR; TRUCK/PICK-UP 4 DOOR + + + + + Hatchback, 4 door. + + + + + Hardtop, 4 door. + + + + + Auto Carrier + + + + + Asphalt Distributor + + + + + Aerial Platform + + + + + Air CompressorShould be entered as a part if notif not permanently mounted. + + + + + Ambulance + + + + + Armored Truck + + + + + Bulk AgricultureBulk transport of raw vegetables.May have live floor, belt, or tiphead. + + + + + Brush Chipper + + + + + Bulldozer + + + + + Buggy, ConcreteAlso known as a power cart. + + + + + Backhoe + + + + + Backhoe/Loader + + + + + Blimp + + + + + Beverage Truck + + + + + Boat + + + + + Bus + + + + + Biohazard + + + + + Chassis and Cab + + + + + Unpublished style of ConstructionEquipmentExplain style in the MIS field + + + + + Converter Gear + + + + + Coach. + + + + + Corn Picker + + + + + Cotton Picker + + + + + Concrete mixer + + + + + CombineAlso known as a grain harvester + + + + + Coupe. Use this code when unable to determine if vehicle is a two-door sedan or a two-door hardtop. + + + + + Crane + + + + + Construction Signal + + + + + Campingalso known as camper or traveltrailer + + + + + Convertible + + + + + Cotton Stripper + + + + + Detasseling Equipment + + + + + Potato Digger + + + + + Dump + + + + + Drill, RockAlso known as a drifter drill. + + + + + Tractor Truck, Diesel + + + + + Dump Trailer + + + + + Auxiliary Dolly + + + + + Enclosed Body, Removable Enclosure + + + + + Enclosed Body, Nonremovableenclosure + + + + + ExcavatorAlso known as a digger. + + + + + Flatbed or Platform + + + + + Flotation ChassisAlso known as implement carrier + + + + + Field ChopperAlso known as a sileage cutter + + + + + Fork LiftAlso known as a lift truck. + + + + + Flatrack + + + + + Fertilizer SpreaderEnter as a part if not permanentlymounted + + + + + Fire Truck + + + + + Wagonalso known as Gondola, Cart, orContainer + + + + + Grader + + + + + GeneratorEnter as a part, if not permanentlymounted. + + + + + Garbage or Refuse + + + + + Grain + + + + + Glass Rack + + + + + Hot Air Ballon + + + + + Hatchback/Fastback. Use this code for a vehicle that has a rear door, and the number of side doors is unknown. + + + + + Hydraulic Dump + + + + + Horse + + + + + Hay Bale Loader + + + + + Hammer + + + + + Hopper + + + + + Helicopter + + + + + Hearse + + + + + HouseMobile home + + + + + Hardtop. This code is used only when the number of doors is unknown. + + + + + Harvester + + + + + Hay Baler + + + + + Lowboy or Lowbed + + + + + Loader + + + + + Lift Boom (personnel)Also known as an orchard or cherrypicker. + + + + + LogUsed to transport logs, poles, orpipe. May be self loading or mayhave a grappling arm or jammer. + + + + + Log SkidderAlso known as a grappler skidder. + + + + + Carry-allrugged trail and pleasure vehicles(e.g., Blazaer, Bronco, Jeep, etcetc.) + + + + + Limousine + + + + + Polealso known as logging trailer-usedto transport logs and pipes + + + + + Livestock Rack + + + + + Light Tower (Typically used around or near construction sites and powered by a generator.) + + + + + Law Enforcement + + + + + Lunch Wagon + + + + + Motorbike + + + + + Motorcycle + + + + + Moped + + + + + Unpublished Style of Farm Equipment + + + + + Motorized Home + + + + + Multi-Engine, Jet + + + + + Minibike + + + + + Mower, Riding or Garden Tractor + + + + + Multi-Engine, Propeller + + + + + Mower-ConditionerFor grass or hay + + + + + Motorscooter + + + + + Motorcycle Trailer + + + + + Multi-wheeled vehicleManufactured for off-road use, butbut licensed as street legal,e.g., 3-wheel mo + + + + + Minicycle + + + + + Open Body + + + + + Pickup + + + + + Pallet + + + + + Pickup with mounted camperenter as a part or add-on part + + + + + Prime MoverAlso known as a road packer. + + + + + PaverAlso known as a finisher or roadsurfacer. + + + + + Roadster. + + + + + Refrigerated Vanalso known as reefer + + + + + Retractable Hardtop. + + + + + RollerAlso known as a compactor. + + + + + Sailplane + + + + + Scraper + + + + + SedanUse this code only if the number ofdoors is unknown. + + + + + Semiuse only when the specific bodystyle of the semi-trailer isunknown + + + + + Stump Grinder + + + + + ShovelAlso known as a power or steamshovel. + + + + + Striper + + + + + Snowmobile + + + + + Snowblower + + + + + Search and Rescue + + + + + SweeperAlso known as a power broom usedto clean streets and parking lots + + + + + Stake or Rack + + + + + Station Wagon + + + + + Sprayer + + + + + SawUsed in cutting asphalt, concrete,or masonry. + + + + + Tree HarvesterAlso known as a feller-buncher + + + + + Tractor, Track Type + + + + + Auto Tow DollyTwo-wheel towing equipment + + + + + Tent Trailer + + + + + Tractor, Wheel Type + + + + + TrencherAlso known as a ditcher + + + + + Tanker + + + + + Touring Car. + + + + + Tractor Truck, Gasoline + + + + + Tow Truck/Wrecker + + + + + Ultralight (including hang gliders) + + + + + Utility + + + + + Vacuum CleanerHeavy duty ride-on type enter as apart, if not permanently mounted + + + + + Van Camper + + + + + Vanincludes open or closed top boxtrailers + + + + + Vanette + + + + + Well Driller + + + + + Welder + + + + + Windrower + + + + + Wood Splitter + + + + + + + A data type for Vehicle Style. + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/fips_10-4/2.0/fips_10-4.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/fips_10-4/2.0/fips_10-4.xsd new file mode 100644 index 00000000..f7f77373 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/fips_10-4/2.0/fips_10-4.xsd @@ -0,0 +1,1364 @@ + + + + Countries, dependencies, areas of special sovereignty, and their principal administrative divisions from the Federal Information Processing Standards (FIPS) 10-4. + + true + + + + + + + A data type for country, territory, or dependency codes. + + + + + + + + ARUBA + + + + + ANTIGUA AND BARBUDA + + + + + UNITED ARAB EMIRATES + + + + + AFGHANISTAN + + + + + ALGERIA + + + + + AZERBAIJAN + + + + + ALBANIA + + + + + ARMENIA + + + + + ANDORRA + + + + + ANGOLA + + + + + AMERICAN SAMOA + + + + + ARGENTINA + + + + + AUSTRALIA + + + + + ASHMORE AND CARTIER ISLANDS + + + + + AUSTRIA + + + + + ANGUILLA + + + + + ANTARCTICA + + + + + BAHRAIN + + + + + BARBADOS + + + + + BOTSWANA + + + + + BERMUDA + + + + + BELGIUM + + + + + BAHAMAS, THE + + + + + BANGLADESH + + + + + BELIZE + + + + + BOSNIA AND HERZEGOVINA + + + + + BOLIVIA + + + + + BURMA + + + + + BENIN + + + + + BELARUS + + + + + SOLOMON ISLANDS + + + + + NAVASSA ISLAND + + + + + BRAZIL + + + + + BASSAS DA INDIA + + + + + BHUTAN + + + + + BULGARIA + + + + + BOUVET ISLAND + + + + + BRUNEI + + + + + BURUNDI + + + + + CANADA + + + + + CAMBODIA + + + + + CHAD + + + + + SRI LANKA + + + + + CONGO + + + + + CONGO, DEMOCRATIC REPUBLIC OF THE + + + + + CHINA + + + + + CHILE + + + + + CAYMAN ISLANDS + + + + + COCOS (KEELING) ISLANDS + + + + + CAMEROON + + + + + COMOROS + + + + + COLOMBIA + + + + + NORTHERN MARIANA ISLANDS + + + + + CORAL SEA ISLANDS + + + + + COSTA RICA + + + + + CENTRAL AFRICAN REPUBLIC + + + + + CUBA + + + + + CAPE VERDE + + + + + COOK ISLANDS + + + + + CYPRUS + + + + + DENMARK + + + + + DJIBOUTI + + + + + DOMINICA + + + + + JARVIS ISLAND + + + + + DOMINICAN REPUBLIC + + + + + ECUADOR + + + + + EGYPT + + + + + IRELAND + + + + + EQUATORIAL GUINEA + + + + + ESTONIA + + + + + ERITREA + + + + + EL SALVADOR + + + + + ETHIOPIA + + + + + EUROPA ISLAND + + + + + CZECH REPUBLIC + + + + + FRENCH GUIANA + + + + + FINLAND + + + + + FIJI + + + + + FALKLAND ISLANDS (ISLAS MALVINAS) + + + + + MICRONESIA, FEDERATED STATES OF + + + + + FAROE ISLANDS + + + + + FRENCH POLYNESIA + + + + + BAKER ISLAND + + + + + FRANCE + + + + + FRENCH SOUTHERN AND ANTARCTIC LANDS + + + + + GAMBIA, THE + + + + + GABON + + + + + GEORGIA + + + + + GHANA + + + + + GIBRALTAR + + + + + GRENADA + + + + + GUERNSEY + + + + + GREENLAND + + + + + GERMANY + + + + + GLORIOSO ISLANDS + + + + + GUADELOUPE + + + + + GUAM + + + + + GREECE + + + + + GUATEMALA + + + + + GUINEA + + + + + GUYANA + + + + + GAZA STRIP + + + + + HAITI + + + + + HONG KONG + + + + + HEARD ISLAND AND MCDONALD ISLANDS + + + + + HONDURAS + + + + + HOWLAND ISLAND + + + + + CROATIA + + + + + HUNGARY + + + + + ICELAND + + + + + INDONESIA + + + + + ISLE OF MAN + + + + + INDIA + + + + + BRITISH INDIAN OCEAN TERRITORY + + + + + CLIPPERTON ISLAND + + + + + IRAN + + + + + ISRAEL + + + + + ITALY + + + + + COTE D'IVOIRE + + + + + IRAQ + + + + + JAPAN + + + + + JERSEY + + + + + JAMAICA + + + + + JAN MAYEN + + + + + JORDAN + + + + + JOHNSTON ATOLL + + + + + JUAN DE NOVA ISLAND + + + + + KENYA + + + + + KYRGYZSTAN + + + + + NORTH KOREA + + + + + KINGMAN REEF + + + + + KIRIBATI + + + + + SOUTH KOREA + + + + + CHRISTMAS ISLAND + + + + + KUWAIT + + + + + KAZAKHSTAN + + + + + LAOS + + + + + LEBANON + + + + + LATVIA + + + + + LITHUANIA + + + + + LIBERIA + + + + + SLOVAKIA + + + + + PALMYRA ATOLL + + + + + LIECHTENSTEIN + + + + + LESOTHO + + + + + LUXEMBOURG + + + + + LIBYA + + + + + MADAGASCAR + + + + + MARTINIQUE + + + + + MACAU + + + + + MOLDOVA + + + + + MAYOTTE + + + + + MONGOLIA + + + + + MONTSERRAT + + + + + MALAWI + + + + + MONTENEGRO + + + + + MACEDONIA + + + + + MALI + + + + + MONACO + + + + + MOROCCO + + + + + MAURITIUS + + + + + MIDWAY ISLANDS + + + + + MAURITANIA + + + + + MALTA + + + + + OMAN + + + + + MALDIVES + + + + + MEXICO + + + + + MALAYSIA + + + + + MOZAMBIQUE + + + + + NEW CALEDONIA + + + + + NIUE + + + + + NORFOLK ISLAND + + + + + NIGER + + + + + VANUATU + + + + + NIGERIA + + + + + NETHERLANDS + + + + + NO MAN'S LAND + + + + + NORWAY + + + + + NEPAL + + + + + NAURU + + + + + SURINAME + + + + + NETHERLANDS ANTILLES + + + + + NICARAGUA + + + + + NEW ZEALAND + + + + + OCEANS + + + + + PARAGUAY + + + + + PITCAIRN ISLANDS + + + + + PERU + + + + + PARACEL ISLANDS + + + + + SPRATLY ISLANDS + + + + + PAKISTAN + + + + + POLAND + + + + + PANAMA + + + + + PORTUGAL + + + + + PAPUA NEW GUINEA + + + + + PALAU + + + + + GUINEA-BISSAU + + + + + QATAR + + + + + SERBIA + + + + + REUNION + + + + + MARSHALL ISLANDS + + + + + ROMANIA + + + + + PHILIPPINES + + + + + PUERTO RICO + + + + + RUSSIA + + + + + RWANDA + + + + + SAUDI ARABIA + + + + + SAINT PIERRE AND MIQUELON + + + + + SAINT KITTS AND NEVIS + + + + + SEYCHELLES + + + + + SOUTH AFRICA + + + + + SENEGAL + + + + + SAINT HELENA + + + + + SLOVENIA + + + + + SIERRA LEONE + + + + + SAN MARINO + + + + + SINGAPORE + + + + + SOMALIA + + + + + SPAIN + + + + + SAINT LUCIA + + + + + SUDAN + + + + + SVALBARD + + + + + SWEDEN + + + + + SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS + + + + + SYRIA + + + + + SWITZERLAND + + + + + TRINIDAD AND TOBAGO + + + + + TROMELIN ISLAND + + + + + THAILAND + + + + + TAJIKISTAN + + + + + TURKS AND CAICOS ISLANDS + + + + + TOKELAU + + + + + TONGA + + + + + TOGO + + + + + SAO TOME AND PRINCIPE + + + + + TUNISIA + + + + + EAST TIMOR + + + + + TURKEY + + + + + TUVALU + + + + + TAIWAN + + + + + TURKMENISTAN + + + + + TANZANIA + + + + + UNDERSEA FEATURES + + + + + UGANDA + + + + + UNITED KINGDOM + + + + + UKRAINE + + + + + UNITED STATES + + + + + BURKINA FASO + + + + + URUGUAY + + + + + UZBEKISTAN + + + + + SAINT VINCENT AND THE GRENADINES + + + + + VENEZUELA + + + + + BRITISH VIRGIN ISLANDS + + + + + VIETNAM + + + + + UNITED STATES VIRGIN ISLANDS + + + + + VATICAN CITY + + + + + NAMIBIA + + + + + WEST BANK + + + + + WALLIS AND FUTUNA + + + + + WESTERN SAHARA + + + + + WAKE ISLAND + + + + + SAMOA + + + + + SWAZILAND + + + + + YEMEN + + + + + ZAMBIA + + + + + ZIMBABWE + + + + + + + A data type for country, territory, or dependency codes. + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/hazmat/2.0/hazmat.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/hazmat/2.0/hazmat.xsd new file mode 100644 index 00000000..9839a153 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/hazmat/2.0/hazmat.xsd @@ -0,0 +1,11507 @@ + + + + Pipeline and Hazardous Materials Safety Administration - Office of Hazardous Materials Safety. + + true + + + + + + + + + + + + + + Black powder for small arms + + + + + Jet perforating guns, charged oil well, with detonator + + + + + Model rocket motor + + + + + Model rocket motor + + + + + Ammonium nitrate-fuel oil mixture [containing only prilled ammonium nitrateandfueloil] + + + + + Toy Caps + + + + + Jet perforating guns, charged oil well, with detonator + + + + + Gasohol [gasoline mixed with ethyl alcohol, with not more than 20 percent alcohol] + + + + + Petroleum oil + + + + + Fusee ([railway or highway]) + + + + + Sulfur + + + + + Charcoal [briquettes, shell, screenings, wood, etc.] + + + + + Cotton + + + + + Methyldichloroarsine + + + + + Hydrocyanic acid, aqueous solutions [with less than 5 percent hydrogen cyanide] + + + + + Tear gas devices [with more than 2 percent tear gas substances, by mass] + + + + + Ferrous chloride, solid + + + + + Chemical kit + + + + + Diborane mixtures + + + + + Refrigerant gases, n.o.s. [or] Dispersant gases, n.o.s. + + + + + Organic phosphate, mixed with compressed gas [or] Organic phosphate compound, mixed with compressed gas [or] Organic phosphorus compound, mixed with compressed gas + + + + + Ethane-Propane mixture, refrigerated liquid + + + + + Parathion and compressed gas mixture + + + + + Combustible liquid, n.o.s. + + + + + Asphalt, [at or above its flash point] + + + + + Asbestos + + + + + Sulfur, molten + + + + + Isobutyl chloroformate + + + + + Compounds, tree killing, liquid [or] Compounds, weed killing, liquid + + + + + Ethyl phosphonous dichloride, anhydrous [pyrophoric liquid] + + + + + Ethyl phosphonothioic dichloride, anhydrous + + + + + Hazardous waste, solid, n.o.s. + + + + + Hazardous waste, liquid, n.o.s. + + + + + Smokeless powder for small arms ([100 pounds or less]) + + + + + Self-defense spray, non-pressurized + + + + + Oxygen generator, chemical, spent + + + + + Gas identification set + + + + + Chlorine dioxide, hydrate, frozen + + + + + Carbon monoxide, refrigerated liquid [(cryogenic liquid)] + + + + + Methyl phosphonic dichloride + + + + + Aluminum, molten + + + + + Chloropivaloyl chloride + + + + + 3,5-Dichloro-2,4,6-trifluoropyridine + + + + + Trimethoxysilane + + + + + Ammonium picrate, [dry or wetted with less than 10 percent water, by mass] + + + + + Cartridges for weapons, [with bursting charge] + + + + + Cartridges for weapons, [with bursting charge] + + + + + Cartridges for weapons, [with bursting charge] + + + + + Ammunition, incendiary [with or without burster, expelling charge, or propellingcharge] + + + + + Ammunition, incendiary [with or without burster, expelling charge, or propellingcharge] + + + + + Cartridges for weapons, inert projectile [or] Cartridges, small arms + + + + + Cartridges for weapons, blank [or] Cartridges, small arms, blank + + + + + Ammunition, smoke [with or without burster, expelling charge or propellingcharge] + + + + + Ammunition, smoke [with or without burster, expelling charge or propellingcharge] + + + + + Ammunition, tear-producing [with burster, expelling charge or propelling charge] + + + + + Ammunition, tear-producing [with burster, expelling charge or propelling charge] + + + + + Ammunition, toxic [with burster, expelling charge, or propelling charge] + + + + + Ammunition, toxic [with burster, expelling charge, or propelling charge] + + + + + Black powder [or] Gunpowder, [granular or as a meal] + + + + + Black powder, compressed [or] Gunpowder, compressed [or] Black powder, in pellets[or] Gunpowder, in pellets + + + + + Detonators, non-electric, [for blasting] + + + + + Detonators, electric, [for blasting] + + + + + Bombs, [with bursting charge] + + + + + Bombs, [with bursting charge] + + + + + Bombs, [with bursting charge] + + + + + Bombs, photo-flash + + + + + Bombs, photo-flash + + + + + Bombs, photo-flash + + + + + Boosters, [without detonator] + + + + + Bursters, [explosive] + + + + + Primers, cap type + + + + + Charges, demolition + + + + + Cartridges, flash + + + + + Cartridges, flash + + + + + Cartridges, signal + + + + + Cases, cartridge, empty with primer + + + + + Charges, depth + + + + + Charges, shaped, [without detonator] + + + + + Charges, supplementary explosive + + + + + Cord, detonating, [flexible] + + + + + Cord, igniter + + + + + Cutters, cable, explosive + + + + + Cyclotrimethylenetrinitramine, wetted [or] Cyclonite, wetted [or] Hexogen,wetted[or] RDX, wetted [with not less than 15 percent water by mass] + + + + + Detonators for ammunition + + + + + Diazodinitrophenol, wetted [with not less than 40 percent water or mixtureof alcoholand water, by mass] + + + + + Diethyleneglycol dinitrate, desensitized [with not less than 25 percent non-volatilewater-insoluble phlegmatizer, by mass] + + + + + Dinitrophenol, [dry or wetted with less than 15 percent water, by mass] + + + + + Dinitrophenolates [alkali metals, dry or wetted with less than 15 percent water,by mass] + + + + + Dinitroresorcinol, [dry or wetted with less than 15 percent water, by mass] + + + + + Hexanitrodiphenylamine [or] Dipicrylamine [or] Hexyl + + + + + Explosive, blasting, type A + + + + + Explosive, blasting, type B + + + + + Explosive, blasting, type C + + + + + Explosive, blasting, type D + + + + + Flares, surface + + + + + Flares, aerial + + + + + Flash powder + + + + + Fracturing devices, explosive, [without detonators for oil wells] + + + + + Fuse, non-detonating [instantaneous or quickmatch] + + + + + Cord detonating [or] Fuse detonating [metal clad] + + + + + Fuse, igniter [tubular metal clad] + + + + + Cord, detonating, mild effect [or] Fuse, detonating, mild effect [metal clad] + + + + + Fuse, safety + + + + + Fuzes, detonating + + + + + Fuzes, detonating + + + + + Grenades, practice, [hand or rifle] + + + + + Guanyl nitrosaminoguanylidene hydrazine, wetted [with not less than 30 percent water,by mass] + + + + + Guanyl nitrosaminoguanyltetrazene, wetted [or] Tetrazene, wetted [with notlessthan30 percent water or mixture of alcohol and water, by mass] + + + + + Hexolite, [or] Hexotol [dry or wetted with less than 15 percent water, by mass] + + + + + Igniters + + + + + Jet perforating guns, charged [oil well, without detonator] + + + + + Lead azide, wetted [with not less than 20 percent water or mixture of alcohol andwater, by mass] + + + + + Lead styphnate, wetted [or] Lead trinitroresorcinate, wetted [with not lessthan20 percent water or mixture of alcohol and water, by mass] + + + + + Lighters, fuse + + + + + Deflagrating metal salts of aromatic nitroderivatives, n.o.s. + + + + + Mannitol hexanitrate, wetted [or] Nitromannite, wetted [with not less than40 percentwater, or mixture of alcohol and water, by mass] + + + + + Mercury fulminate, wetted [with not less than 20 percent water, or mixtureof alcoholand water, by mass] + + + + + Mines [with bursting charge] + + + + + Mines [with bursting charge] + + + + + Mines [with bursting charge] + + + + + Nitroglycerin, desensitized [with not less than 40 percent non-volatile water insoluble phlegmatizer, by mass] + + + + + Nitroglycerin, solution in alcohol, [with more than 1 percent but not morethan10percent nitrogylcerin] + + + + + Nitrostarch, [dry or wetted with less than 20 percent water, by mass] + + + + + Nitro urea + + + + + Pentaerythrite tetranitrate, wetted [or] Pentaerythritol tetranitrate, wetted, [or] PETN, wetted [with not less than 25 percent water, by mass, or] Pentaerythrite tetranitrate, [or] Pentaerythritol tetranitrate [or] PETN, desensitized [with not less than + + + + + Pentolite, [dry or wetted with less than 15 percent water, by mass] + + + + + Trinitroaniline [or] Picramide + + + + + Trinitrophenol [or] Picric acid, [dry or wetted with less than 30 percent water,by mass] + + + + + Trinitrochlorobenzene [or] Picryl chloride + + + + + Powder cake, wetted [or] Powder paste, wetted [with not less than 25 percent water, by mass] + + + + + Powder, smokeless + + + + + Powder, smokeless + + + + + Projectiles, [with bursting charge] + + + + + Projectiles, [with bursting charge] + + + + + Projectiles, [with bursting charge] + + + + + Ammunition, illuminating [with or without burster, expelling charge or propellingcharge] + + + + + Release devices, explosive + + + + + Rivets, explosive + + + + + Rockets, [with bursting charge] + + + + + Rockets, [with bursting charge] + + + + + Rockets, [with bursting charge] + + + + + Rockets, [with inert head] + + + + + Rocket motors + + + + + Samples, explosive, [other than initiating explosives] + + + + + Signal devices, hand + + + + + Signals, railway track, explosive + + + + + Signals, railway track, explosive + + + + + Signals, distress, [ship] + + + + + Signals, distress, [ship] + + + + + Signals, smoke + + + + + Signals, smoke + + + + + Sounding devices, explosive + + + + + Tetranitroaniline + + + + + Trinitrophenylmethylnitramine [or] Tetryl + + + + + Trinitrotoluene [or] TNT, [dry or wetted with less than 30 percent water, by mass] + + + + + Tracers for ammunition + + + + + Trinitroanisole + + + + + Trinitrobenzene, [dry or wetted with less than 30 percent water, by mass] + + + + + Trinitrobenzoic acid, [dry or wetted with less than 30 percent water, by mass] + + + + + Trinitro-meta-cresol + + + + + Trinitronaphthalene + + + + + Trinitrophenetole + + + + + Trinitroresorcinol [or] Styphnic acid, [dry or wetted with less than 20 percentwater, or mixture of alcohol and water, by mass] + + + + + Urea nitrate, [dry or wetted with less than 20 percent water, by mass] + + + + + Warheads, torpedo [with bursting charge] + + + + + Ammonium nitrate, [with more than 0.2 percent combustible substances, includingany organic substance calculated as carbon, to the exclusion of any other added substance] + + + + + Barium azide, [dry or wetted with less than 50 percent water, by mass] + + + + + Boosters with detonator + + + + + Cyclotetramethylenetetranitramine, wetted [or] HMX, wetted [or] Octogen, wetted[withnot less than 15 percent water, by mass] + + + + + Sodium dinitro-o-cresolate, [dry or wetted with less than 15 percent water,by mass] + + + + + Sodium picramate, [dry or wetted with less than 20 percent water, by mass] + + + + + Zirconium picramate, [dry or wetted with less than 20 percent water, by mass] + + + + + Charges, shaped, flexible, linear + + + + + Rockets, line-throwing + + + + + Rockets, line-throwing + + + + + Explosive, blasting, type E + + + + + Charges, propelling, for cannon + + + + + Ammunition, incendiary, white phosphorus, [with burster, expelling charge or propelling charge] + + + + + Ammunition, incendiary, white phosphorus, [with burster, expelling charge or propelling charge] + + + + + Ammunition smoke, white phosphorus [with burster,expelling charge, or propellingcharge] + + + + + Ammunition, smoke, white phosphorus [with burster, expelling charge, or propellingcharge] + + + + + Ammunition, incendiary [liquid or gel, with burster, expelling charge or propelling charge] + + + + + Contrivances, water-activated, [with burster, expelling charge or propelling charge] + + + + + Contrivances, water-activated, [with burster, expelling charge or propelling charge] + + + + + Rocket motors with hypergolic liquids [with or without an expelling charge] + + + + + Ammunition, illuminating [with or without burster, expelling charge or propellingcharge] + + + + + Detonators, electric, [for blasting] + + + + + Fuzes, detonating + + + + + Octolite [or] Octol, [dry or wetted with less than 15 percent water, by mass] + + + + + Detonators, non-electric, [for blasting] + + + + + Boosters with detonator + + + + + Charges, propelling + + + + + Charges, propelling + + + + + Cartridges, power device + + + + + Cartridges, power device + + + + + Cartridges, oil well + + + + + Cartridges, oil well + + + + + Charges, propelling, for cannon + + + + + Rocket motors + + + + + Rocket motors + + + + + Nitroguanidine [or] Picrite, [dry or wetted with less than 20 percent water, bymass] + + + + + Boosters, [without detonator] + + + + + Grenades, [hand or rifle, with bursting charge] + + + + + Grenades, [hand or rifle, with bursting charge] + + + + + Warheads, rocket [with bursting charge] + + + + + Warheads, rocket [with bursting charge] + + + + + Charges, shaped, flexible, linear + + + + + Cord, detonating, [flexible] + + + + + Cord, detonating [or] Fuse, detonating [metal clad] + + + + + Bombs, [with bursting charge] + + + + + Grenades, [hand or rifle, with bursting charge] + + + + + Grenades, [hand or rifle, with bursting charge] + + + + + Mines [with bursting charge] + + + + + Rockets, [with bursting charge] + + + + + Sounding devices, explosive + + + + + Ammunition, illuminating [with or without burster, expelling charge or propellingcharge] + + + + + Bombs, photo-flash + + + + + Ammunition, incendiary [with or without burster, expelling charge or propellingcharge] + + + + + Ammunition, tear-producing [with burster, expelling charge or propelling charge] + + + + + Ammunition, smoke [with or without burster, expelling charge or propellingcharge] + + + + + Flash powder + + + + + Tracers for ammunition + + + + + Cartridges, signal + + + + + Signals, smoke + + + + + Igniters + + + + + Igniters + + + + + Fuzes, igniting + + + + + Fuzes, igniting + + + + + Grenades, practice, [hand or rifle] + + + + + Primers, tubular + + + + + Primers, tubular + + + + + Cartridges for weapons, [with bursting charge] + + + + + Rocket motors with hypergolic liquids [with or without an expelling charge] + + + + + Cartridges, power device + + + + + Projectiles, [with bursting charge] + + + + + Igniters + + + + + Cartridges for weapons, blank + + + + + Cartridges for weapons, blank [or] Cartridges, small arms, blank + + + + + Cartridges for weapons, inert projectile + + + + + Torpedoes [with bursting charge] + + + + + Torpedoes [with bursting charge] + + + + + Explosive, blasting, type B [or] Agent blasting, Type B + + + + + Explosive, blasting, type E [or] Agent blasting, Type E + + + + + Fireworks + + + + + Fireworks + + + + + Fireworks + + + + + Fireworks + + + + + Fireworks + + + + + Cartridges for weapons, blank [or] Cartridges, small arms, blank + + + + + Cartridges for weapons, inert projectile [or] Cartridges, small arms + + + + + Nitrocellulose, [dry or wetted with less than 25 percent water (or alcohol), bymass] + + + + + Nitrocellulose, [unmodified or plasticized with less than 18 percent plasticizingsubstance, by mass] + + + + + Nitrocellulose, wetted [with not less than 25 percent alcohol, by mass] + + + + + Nitrocellulose, plasticized [with not less than 18 percent plasticizing substance,bymass] + + + + + Projectiles, [with bursting charge] + + + + + Projectiles, [inert with tracer] + + + + + Projectiles, [with burster or expelling charge] + + + + + Projectiles, [with burster or expelling charge] + + + + + Cartridges for weapons, [with bursting charge] + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Substances, explosive, n.o.s. + + + + + Substances, explosive, n.o.s. + + + + + Substances, explosive, n.o.s. + + + + + Detonator assemblies, non-electric [for blasting] + + + + + Detonator assemblies, non-electric, [for blasting] + + + + + Ammunition, practice + + + + + Ammunition, proof + + + + + Detonators for ammunition + + + + + Detonators for ammunition + + + + + Detonators for ammunition + + + + + Fuzes, detonating + + + + + Fuzes, igniting + + + + + Warheads, rocket [with bursting charge] + + + + + Warheads, rocket [with burster or expelling charge] + + + + + Warheads, rocket [with burster or expelling charge] + + + + + Grenades, practice, [hand or rifle] + + + + + Signal devices, hand + + + + + Sounding devices, explosive + + + + + Sounding devices, explosive + + + + + Primers, tubular + + + + + Primers, cap type + + + + + Primers, cap type + + + + + Cases, cartridges, empty with primer + + + + + Articles, pyrophoric + + + + + Cartridges, power device + + + + + Components, explosive train, n.o.s. + + + + + Components, explosive train, n.o.s. + + + + + Components, explosive train, n.o.s. + + + + + 5-Nitrobenzotriazol + + + + + Trinitrobenzenesulfonic acid + + + + + Trinitrofluorenone + + + + + Trinitrotoluene and Trinitrobenzene mixtures [or] TNT and trinitrobenzene mixtures[or] TNT and hexanitrostilbene mixtures [or] Trinitrotoluene and hexanitrostilnene mixtures + + + + + Trinitrotoluene mixtures containing Trinitrobenzene and Hexanitrostilbene [or] TNTmixtures containing trinitrobenzene and hexanitrostilbene + + + + + Tritonal + + + + + RDX and HMX mixtures, wetted [with not less than 15 percent water by mass][or]RDX and HMX mixtures, desensitized [with not less than 10 percent phlegmatizer by mass] + + + + + Hexanitrostilbene + + + + + Hexotonal + + + + + Trinitroresorcinol, wetted [or] Styphnic acid, wetted [with not less than 20 percentwater, or mixture of alcohol and water by mass] + + + + + Rocket motors, liquid fueled + + + + + Rocket motors, liquid fueled + + + + + Rockets, liquid fueled [with bursting charge] + + + + + Rockets, liquid fueled [with bursting charge] + + + + + Bombs with flammable liquid, [with bursting charge] + + + + + Bombs with flammable liquid, [with bursting charge] + + + + + Dipicryl sulfide, [dry or wetted with less than 10 percent water, by mass] + + + + + Ammonium perchlorate + + + + + Flares, aerial + + + + + Flares, aerial + + + + + Cartridges, signal + + + + + Dinitrosobenzene + + + + + Tetrazol-1-acetic acid + + + + + Fuzes, detonating, [with protective features] + + + + + Fuzes, detonating, [with protective features] + + + + + Fuzes, detonating, [with protective features] + + + + + Pentaerythrite tetranitrate [or] Pentaerythritol tetranitrate [or] PETN, [with notless than 7 percent wax by mass] + + + + + Cartridges for weapons, [with bursting charge] + + + + + Cartridges for weapons, blank + + + + + Charges, propelling, for cannon + + + + + Charges, propelling + + + + + Cartridges for weapons, inert projectile [or] Cartridges, small arms + + + + + Flares, surface + + + + + Flares, surface + + + + + Flares, aerial + + + + + Flares, aerial + + + + + Projectiles, [inert, with tracer] + + + + + Projectiles, [inert, with tracer] + + + + + Projectiles, [with burster or expelling charge] + + + + + Projectiles, [with burster or expelling charge] + + + + + Articles, pyrotechnic [for technical purposes] + + + + + Articles, pyrotechnic [for technical purposes] + + + + + Articles, pyrotechnic [for technical purposes] + + + + + Articles, pyrotechnic [for technical purposes] + + + + + Articles, pyrotechnic [for technical purposes] + + + + + Powder cake, wetted [or] Powder paste, wetted [with not less than 17 percent alcoholby mass] + + + + + Projectiles, [with burster or expelling charge] + + + + + Projectiles, [with burster or expelling charge] + + + + + Rockets, [with expelling charge] + + + + + Rockets, [with expelling charge] + + + + + Rockets, [with expelling charge] + + + + + Charges, shaped, [without detonator] + + + + + Charges, shaped, [without detonator] + + + + + Charges, shaped, [without detonator] + + + + + Charges, explosive, commercial [without detonator] + + + + + Charges, explosive, commercial [without detonator] + + + + + Charges, explosive, commercial [without detonator] + + + + + Charges, explosive, commercial [without detonator] + + + + + Cases, combustible, empty, without primer + + + + + Cases, combustible, empty, without primer + + + + + 5-Mercaptotetrazol-1-acetic acid + + + + + Torpedoes, liquid fueled, [with or without bursting charge] + + + + + Torpedoes, liquid fueled, [with inert head] + + + + + Torpedoes [with bursting charge] + + + + + Grenades practice [Hand or rifle] + + + + + Rockets, line-throwing + + + + + Igniters + + + + + Detonators, non-electric,[for blasting] + + + + + Detonators, electric [for blasting] + + + + + Charges, bursting, plastics bonded + + + + + Charges, bursting, plastics bonded + + + + + Charges, bursting, plastics bonded + + + + + Charges, bursting, plastics bonded + + + + + Components, explosive train, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Articles, explosive, n.o.s. + + + + + Substances, explosive, n.o.s. + + + + + Substances, explosive, n.o.s. + + + + + Substances, explosive, n.o.s. + + + + + Substances, explosive, n.o.s. + + + + + Substances, explosive, n.o.s. + + + + + Substances, explosive, n.o.s. + + + + + Substances, explosive, n.o.s. + + + + + Substances, explosive, n.o.s. + + + + + Substances, explosive, n.o.s. + + + + + Substances, explosive, very insensitive, n.o.s., [or] Substances, EVI, n.o.s. + + + + + Cyclotrimethylenetrinitramine, desensitized [or] Cyclonite, desensitized [or] Hexogen, desensitized [or] RDX, desensitized + + + + + Cyclotetramethylenetetranitramine, desensitized [or] Octogen, desensitized[or]HMX,desensitized + + + + + Substances, explosive, n.o.s. + + + + + Articles, explosive, extremely insensitive [or] Articles, EEI + + + + + Signals, smoke + + + + + Ammunition, practice + + + + + Dinitroglycoluril [or] Dingu + + + + + Nitrotriazolone [or] NTO + + + + + Charges, propelling + + + + + Signals, railway track, explosive + + + + + Signals, railway track, explosive + + + + + Jet perforating guns, charged, [oil well, without detonator] + + + + + Propellant, liquid + + + + + Octonal + + + + + Propellant, liquid + + + + + Propellant, solid + + + + + Propellant, solid + + + + + Detonator, assemblies, non-electric [for blasting] + + + + + Propellant, solid + + + + + Rockets, [with inert head] + + + + + Air bag inflators, [or] Air bag modules, [or] Seat-belt pretensioners. + + + + + 1H-Tetrazole + + + + + Acetylene, dissolved + + + + + Air, compressed + + + + + Air, refrigerated liquid, [(cryogenic liquid) non-pressurized] + + + + + Ammonia, anhydrous + + + + + Argon, compressed + + + + + Boron trifluoride + + + + + Bromotrifluoromethane [or] Refrigerant gas, R 13B1. + + + + + Butadienes, stabilized [or] Butadienes and Hydrocarbon mixture, stabilized[containing more than 40% butadienes] + + + + + Butane [see also] Petroleum gases, liquefied + + + + + Butylene [see also] Petroleum gases, liquefied + + + + + Carbon dioxide + + + + + Carbon dioxide and oxygen mixtures, compressed + + + + + Carbon dioxide and nitrous oxide mixtures + + + + + Carbon monoxide, compressed + + + + + Chlorine + + + + + Chlorodifluoromethane [or] Refrigerant gas R 22 + + + + + Chloropentafluoroethane [or] Refrigerant gas R 115 + + + + + 1-Chloro-1,2,2,2-tetrafluoroethane[or] Refrigerant gas R 124 + + + + + Chlorotrifluoromethane [or] Refrigerant gas R 13 + + + + + Coal gas, compressed + + + + + Cyanogen + + + + + Cyclopropane + + + + + Dichlorodifluoromethane [or] Refrigerant gas R 12 + + + + + Dichlorofluoromethane [or] Refrigerant gas R21 + + + + + 1,1-Difluoroethane [or] Refrigerant gas R 152a + + + + + Dimethylamine, anhydrous + + + + + Dimethyl ether + + + + + Ethane + + + + + Ethylamine + + + + + Ethyl chloride + + + + + Ethylene, refrigerated liquid [(cryogenic liquid)] + + + + + Ethyl methyl ether + + + + + Ethylene oxide [or] Ethylene oxide with nitrogen [up to a total pressure of1MPa(10bar) at 50 degrees C] + + + + + Ethylene oxide and carbon dioxide mixtures [with more than 9 percent but not morethan 87 percent ethylene oxide] + + + + + Fertilizer ammoniating solution [with free ammonia] + + + + + Fire extinguishers [containing compressed or liquefied gas] + + + + + Fluorine, compressed + + + + + Helium, compressed + + + + + Hydrogen bromide, anhydrous + + + + + Hydrogen, compressed + + + + + Hydrogen chloride, anhydrous + + + + + Hydrogen cyanide, stabilized [with less than 3 percent water] + + + + + Hydrogen fluoride, anhydrous + + + + + Hydrogen sulfide + + + + + Isobutylene [see also] Petroleum gases, liquefied + + + + + Krypton, compressed + + + + + Lighters [or] Lighter refills [containing flammable gas] + + + + + Liquefied gases, [non-flammable charged with nitrogen, carbon dioxide or air] + + + + + Methyl acetylene and propadiene mixtures, stabilized + + + + + Methylamine, anhydrous + + + + + Methyl bromide + + + + + Methyl chloride, [or] Refrigerant gas R 40 + + + + + Methyl mercaptan + + + + + Neon, compressed + + + + + Nitrogen, compressed + + + + + Dinitrogen tetroxide + + + + + Nitrosyl chloride + + + + + Nitrous oxide + + + + + Oil gas, compressed + + + + + Oxygen, compressed + + + + + Oxygen, refrigerated liquid [(cryogenic liquid)] + + + + + Petroleum gases, liquefied [or] Liquefied petroleum gas + + + + + Phosgene + + + + + Propylene [see also] Petroleum gases, liquefied + + + + + Refrigerant gases, n.o.s. + + + + + Sulfur dioxide + + + + + Sulfur hexafluoride + + + + + Tetrafluoroethylene, stabilized + + + + + Trifluorochloroethylene, stabilized + + + + + Trimethylamine, anhydrous + + + + + Vinyl bromide, stabilized + + + + + Vinyl chloride, stabilized + + + + + Vinyl methyl ether, stabilized + + + + + Acetal + + + + + Acetaldehyde + + + + + Acetone + + + + + Acetone oils + + + + + Acrolein, stabilized + + + + + Acrylonitrile, stabilized + + + + + Allyl alcohol + + + + + Allyl bromide + + + + + Allyl chloride + + + + + Amyl acetates + + + + + Pentanols + + + + + Amylamines + + + + + Amyl chlorides + + + + + 1-Pentene [(n-amylene)] + + + + + Amyl formates + + + + + n-Amyl methyl ketone + + + + + Amyl mercaptans + + + + + Amyl nitrate + + + + + Amyl nitrites + + + + + Benzene + + + + + Butanols + + + + + Butyl acetates + + + + + n-Butylamine + + + + + 1-Bromobutane + + + + + Chlorobutanes + + + + + n-Butyl formate + + + + + Butyraldehyde + + + + + Camphor oil + + + + + Carbon disulfide + + + + + Adhesives, [containing a flammable liquid] + + + + + Chlorobenzene + + + + + Ethylene chlorohydrin + + + + + Coal tar distillates, flammable + + + + + Coating solution ([includes surface treatments or coatings used for industrial orother purposes such as vehicle undercoating, drum or barrel lining]) + + + + + Crotonaldehyde, stabilized + + + + + Crotonylene + + + + + Cyclohexane + + + + + Cyclopentane + + + + + Decahydronaphthalene + + + + + Diacetone alcohol + + + + + Dibutyl ethers + + + + + 1,2-Dichloroethylene + + + + + Dichloropentanes + + + + + Ethylene glycol diethyl ether + + + + + Diethylamine + + + + + Diethyl ether [or] Ethyl ether + + + + + Diethyl ketone + + + + + Diisobutyl ketone + + + + + Diisopropylamine + + + + + Diisopropyl ether + + + + + Dimethylamine solution + + + + + Dimethyl carbonate + + + + + Dimethyldichlorosilane + + + + + Dimethylhydrazine, unsymmetrical + + + + + Dimethyl sulfide + + + + + Dioxane + + + + + Dioxolane + + + + + Divinyl ether, stabilized + + + + + Extracts, aromatic, liquid + + + + + Ethanol [or] Ethyl alcohol [or] Ethanol solutions [or] Ethyl alcohol solutions + + + + + Ethylene glycol monoethyl ether + + + + + Ethylene glycol monoethyl ether acetate + + + + + Ethyl acetate + + + + + Ethylbenzene + + + + + Ethyl borate + + + + + 2-Ethylbutyl acetate + + + + + 2-Ethylbutyraldehyde + + + + + Ethyl butyl ether + + + + + Ethyl butyrate + + + + + Ethyl chloroacetate + + + + + Ethyl chloroformate + + + + + Ethyldichlorosilane + + + + + Ethylene dichloride + + + + + Ethyleneimine, stabilized + + + + + Ethylene glycol monomethyl ether + + + + + Ethylene glycol monomethyl ether acetate + + + + + Ethyl formate + + + + + Octyl aldehydes + + + + + Ethyl lactate + + + + + Ethyl methyl ketone [or] Methyl ethyl ketone + + + + + Ethyl nitrite solutions + + + + + Ethyl propionate + + + + + Ethyltrichlorosilane + + + + + Extracts, flavoring, liquid + + + + + Formaldehyde, solutions, flammable + + + + + Furaldehydes + + + + + Fusel oil + + + + + Diesel fuel + + + + + Gasoline + + + + + Nitroglycerin solution in alcohol [with not more than 1 percent nitroglycerin] + + + + + Heptanes + + + + + Hexaldehyde + + + + + Hexanes + + + + + Printing ink, [flammable or] Printing ink related material [(including printingink thinning or reducing compound), flammable] + + + + + Isobutanol [or] Isobutyl alcohol + + + + + Isobutyl acetate + + + + + Isobutylamine + + + + + Isooctenes + + + + + Isoprene, stabilized + + + + + Isopropanol [or] Isopropyl alcohol + + + + + Isopropyl acetate + + + + + Isopropylamine + + + + + Isopropyl nitrate + + + + + Kerosene + + + + + Ketones, liquid, n.o.s. + + + + + Mercaptans, liquid, flammable, toxic, n.o.s. [or] Mercaptan mixtures, liquid, flammable, toxic, n.o.s. + + + + + Mesityl oxide + + + + + Methanol + + + + + Methyl acetate + + + + + Methylamyl acetate + + + + + Methylal + + + + + Methylamine, aqueous solution + + + + + Methyl butyrate + + + + + Methyl chloroformate + + + + + Methyl chloromethyl ether + + + + + Methyldichlorosilane + + + + + Methyl formate + + + + + Methylhydrazine + + + + + Methyl isobutyl ketone + + + + + Methyl isopropenyl ketone, stabilized + + + + + Methyl methacrylate monomer, stabilized + + + + + Methyl propionate + + + + + Methyl propyl ketone + + + + + Methyltrichlorosilane + + + + + Methyl vinyl ketone, stabilized + + + + + Nickel carbonyl + + + + + Nitromethane + + + + + Octanes + + + + + Paint [including paint, lacquer, enamel, stain, shellac solutions, varnish,polish, liquid filler, and liquid lacquer base] + + + + + Paraldehyde + + + + + Pentanes + + + + + Perfumery products [with flammable solvents] + + + + + Petroleum crude oil + + + + + Petroleum distillates, n.o.s. [or] Petroleum products, n.o.s. + + + + + Pine oil + + + + + n-Propanol [or] Propyl alcohol, normal + + + + + Propionaldehyde + + + + + n-Propyl acetate + + + + + Propylamine + + + + + 1-Chloropropane + + + + + 1,2-Dichloropropane + + + + + Propylene oxide + + + + + Propyl formates + + + + + Pyridine + + + + + Rosin oil + + + + + Rubber solution + + + + + Shale oil + + + + + Sodium methylate solutions [in alcohol] + + + + + Tetraethyl silicate + + + + + Tinctures, medicinal + + + + + Toluene + + + + + Trichlorosilane + + + + + Triethylamine + + + + + Trimethylamine, aqueous solutions [with not more than 50 percent trimethylaminebymass] + + + + + Trimethylchlorosilane + + + + + Turpentine + + + + + Turpentine substitute + + + + + Vinyl acetate, stabilized + + + + + Vinyl ethyl ether, stabilized + + + + + Vinylidene chloride, stabilized + + + + + Vinyl isobutyl ether, stabilized + + + + + Vinyltrichlorosilane, stabilized + + + + + Wood preservatives, liquid + + + + + Xylenes + + + + + Zirconium suspended in a liquid + + + + + Aluminum powder, coated + + + + + Ammonium picrate, wetted [with not less than 10 percent water, by mass] + + + + + Borneol + + + + + Calcium resinate + + + + + Calcium resinate, fused + + + + + Cobalt resinate, precipitated + + + + + Dinitrophenol, wetted [with not less than 15 percent water, by mass] + + + + + Dinitrophenolates, wetted [with not less than 15 percent water, by mass] + + + + + Dinitroresorcinol, wetted [with not less than 15 percent water, by mass] + + + + + Ferrocerium + + + + + Films, nitrocellulose base, [gelatine coated (except scrap)] + + + + + Flammable solids, organic, n.o.s. + + + + + Hafnium powder, wetted [with not less than 25 percent water (a visible excess ofwater must be present) (a) mechanically produced, particle size less than 53 microns; (b) chemically produced, particle size less than 840 microns] + + + + + Hexamethylenetetramine + + + + + Manganese resinate + + + + + Matches, strike anywhere + + + + + Metaldehyde + + + + + Cerium, [slabs, ingots, or rods] + + + + + Naphthalene, crude [or] Naphthalene, refined + + + + + Nitroguanidine, wetted [or] Picrite, wetted [with not less than 20 percentwater,bymass] + + + + + Nitrostarch, wetted [with not less than 20 percent water, by mass] + + + + + Phosphorus, amorphous + + + + + Phosphorus heptasulfide, [free from yellow or white phosphorus] + + + + + Phosphorus pentasulfide, [free from yellow or white phosphorus] + + + + + Phosphorus sesquisulfide, [free from yellow or white phosphorus] + + + + + Phosphorus trisulfide, [free from yellow or white phosphorus] + + + + + Trinitrophenol, wetted [with not less than 30 percent water, by mass] + + + + + Rubber scrap [or] shoddy, [powdered or granulated, not exceeding 840 microns andrubber contend exceeding 45%] + + + + + Silicon powder, amorphous + + + + + Silver picrate, wetted [with not less than 30 percent water, by mass] + + + + + Sodium dinitro-o-cresolate, wetted [with not less than 15 percent water, bymass] + + + + + Sodium picramate, wetted [with not less than 20 percent water, by mass] + + + + + Sulfur + + + + + Titanium powder, wetted [with not less than 25 percent water (a visible excess ofwater must be present) (a) mechanically produced, particle size less than 53 microns; (b) chemically produced, particle size less than 840 microns] + + + + + Fibers [or] Fabrics impregnated with weakly nitrated nitrocellulose, n.o.s. + + + + + Trinitrobenzene, wetted [with not less than 30 percent water, by mass] + + + + + Trinitrobenzoic acid, wetted [with not less than 30 percent water, by mass] + + + + + Trinitrotoluene, wetted [with not less than 30 percent water, by mass] + + + + + Urea nitrate, wetted [with not less than 20 percent water, by mass] + + + + + Zirconium powder, wetted [with not less than 25 percent water (a visible excessofwater must be present) (a) mechanically produced, particle size less than 53 microns; (b) chemically produced, particle size less than 840 microns] + + + + + Calcium phosphide + + + + + Carbon, [animal or vegetable origin] + + + + + Carbon, activated + + + + + Copra + + + + + Cotton waste, oily + + + + + Cotton, wet + + + + + Diethylzinc + + + + + p-Nitrosodimethylaniline + + + + + Dimethylzinc + + + + + Fibers, animal [or] Fibers, vegetable [burnt, wet or damp]. + + + + + Fibers [or] Fabrics, animal [or] vegetable [or] Synthetic, n.o.s. [with animal orvegetable oil] + + + + + Fish meal, unstablized [or] Fish scrap, unstabilized + + + + + Iron oxide, spent, [or] Iron sponge, spent [obtained from coal gas purification] + + + + + Metal catalyst, wetted [with a visible excess of liquid] + + + + + Paper, unsaturated oil treated [incompletely dried (including carbon paper)] + + + + + Pentaborane + + + + + Phosphorus, white dry [or] Phosphorus, white, under water [or] Phosphorus white,in solution [or] Phosphorus, yellow dry [or] Phosphorus, yellow, under water [or] Phosphorus, yellow, in solution + + + + + Potassium sulfide, anhydrous [or] Potassium sulfide [with less than 30 percent waterof crystallization] + + + + + Pyrophoric metals, n.o.s., [or] Pyrophoric alloys, n.o.s. + + + + + Sodium dithionite [or] Sodium hydrosulfite + + + + + Sodium sulfide, anhydrous [or] Sodium sulfide [with less than 30 percent water ofcrystallization] + + + + + Seed cake [with more than 1.5 percent oil and not more than 11 percent moisture] + + + + + Wool waste, wet + + + + + Alkali metal amalgam, liquid + + + + + Alkali metal amides + + + + + Alkali metal dispersions, [or] Alkaline earth metal dispersions + + + + + Alkaline earth metal amalgams, liquid + + + + + Alkaline earth metal alloys, n.o.s. + + + + + Aluminum carbide + + + + + Aluminum ferrosilicon powder + + + + + Aluminum powder, uncoated + + + + + Aluminum phosphide + + + + + Aluminum silicon powder, uncoated + + + + + Barium + + + + + Calcium + + + + + Calcium carbide + + + + + Calcium cyanamide [with more than 0.1 percent of calcium carbide] + + + + + Calcium hydride + + + + + Calcium silicide + + + + + Cesium [or] Caesium + + + + + Ferrosilicon [with 30 percent or more but less than 90 percent silicon] + + + + + Metal hydrides, water reactive, n.o.s. + + + + + Lithium aluminum hydride + + + + + Lithium aluminum hydride, ethereal + + + + + Lithium borohydride + + + + + Lithium hydride + + + + + Lithium + + + + + Lithium silicon + + + + + Magnesium, powder [or] Magnesium alloys, powder + + + + + Magnesium aluminum phosphide + + + + + Potassium, metal alloys, liquid + + + + + Alkali metal alloys, liquid, n.o.s. + + + + + Potassium sodium alloys, liquid + + + + + Rubidium + + + + + Sodium borohydride + + + + + Sodium hydride + + + + + Sodium + + + + + Sodium methylate + + + + + Sodium phosphide + + + + + Stannic phosphide + + + + + Zinc ashes + + + + + Zinc powder [or] Zinc dust + + + + + Zirconium hydride + + + + + Aluminum nitrate + + + + + Ammonium dichromate + + + + + Ammonium perchlorate + + + + + Ammonium persulfate + + + + + Barium chlorate, solid + + + + + Barium nitrate + + + + + Barium perchlorate, solid + + + + + Barium permanganate + + + + + Barium peroxide + + + + + Bromates, inorganic, n.o.s. + + + + + Cesium nitrate [or] Caesium nitrate + + + + + Calcium chlorate + + + + + Calcium chlorite + + + + + Calcium nitrate + + + + + Calcium perchlorate + + + + + Calcium permanganate + + + + + Calcium peroxide + + + + + Chlorate and borate mixtures + + + + + Chlorate and magnesium chloride mixture, solid + + + + + Chlorates, inorganic, n.o.s. + + + + + Chlorites, inorganic, n.o.s. + + + + + Chromium trioxide, anhydrous + + + + + Didymium nitrate + + + + + Ferric nitrate + + + + + Guanidine nitrate + + + + + Lead nitrate + + + + + Lead perchlorate, solid + + + + + Lithium hypochlorite, dry [with more than 39% available chlorine (8.8% availableoxygen) or] Lithium hypochlorite mixtures, dry [with more than 39% available chlorine (8.8% available oxygen)] + + + + + Lithium peroxide + + + + + Magnesium bromate + + + + + Magnesium nitrate + + + + + Magnesium perchlorate + + + + + Magnesium peroxide + + + + + Nitrates, inorganic, n.o.s. + + + + + Oxidizing solid, n.o.s. + + + + + Perchlorates, inorganic, n.o.s. + + + + + Permanganates, inorganic, n.o.s. + + + + + Peroxides, inorganic, n.o.s. + + + + + Potassium bromate + + + + + Potassium chlorate + + + + + Potassium nitrate + + + + + Potassium nitrate and sodium nitrite mixtures + + + + + Potassium nitrite + + + + + Potassium perchlorate + + + + + Potassium permanganate + + + + + Potassium peroxide + + + + + Potassium persulfate + + + + + Silver nitrate + + + + + Sodium bromate + + + + + Sodium chlorate + + + + + Sodium chlorite + + + + + Sodium nitrate + + + + + Sodium nitrate and potassium nitrate mixtures + + + + + Sodium nitrite + + + + + Sodium perchlorate + + + + + Sodium permanganate + + + + + Sodium peroxide + + + + + Sodium persulfate + + + + + Strontium chlorate + + + + + Strontium nitrate + + + + + Strontium perchlorate + + + + + Strontium peroxide + + + + + Tetranitromethane + + + + + Urea hydrogen peroxide + + + + + Zinc ammonium nitrite + + + + + Zinc chlorate + + + + + Zinc nitrate + + + + + Zinc permanganate + + + + + Zinc peroxide + + + + + Zirconium picramate, wetted [with not less than 20 percent water, by mass] + + + + + Acetone cyanohydrin, stabilized + + + + + Alkaloids, solid, n.o.s. [or] Alkaloid salts, solid, n.o.s. [poisonous] + + + + + Allyl isothiocyanate, stabilized + + + + + Ammonium arsenate + + + + + Aniline + + + + + Aniline hydrochloride + + + + + Antimony compounds, inorganic, solid, n.o.s. + + + + + Antimony lactate + + + + + Antimony potassium tartrate + + + + + Arsenic acid, liquid + + + + + Arsenic acid, solid + + + + + Arsenic bromide + + + + + Arsenic compounds, liquid, n.o.s. [inorganic, including arsenates, n.o.s.;arsenites,n.o.s.; arsenic sulfides, n.o.s.; and organic compounds of arsenic, n.o.s.] + + + + + Arsenic compounds, solid, n.o.s. [inorganic, including arsenates, n.o.s.; arsenites,n.o.s.; arsenic sulfides, n.o.s.; and organic compounds of arsenic, n.o.s.] + + + + + Arsenic + + + + + Arsenic pentoxide + + + + + Arsenic trichloride + + + + + Arsenic trioxide + + + + + Arsenical dust + + + + + Barium compounds, n.o.s. + + + + + Barium cyanide + + + + + Beryllium compounds, n.o.s. + + + + + Beryllium, powder + + + + + Bromoacetone + + + + + Brucine + + + + + Barium azide, wetted [with not less than 50 percent water, by mass] + + + + + Cacodylic acid + + + + + Calcium arsenate + + + + + Calcium arsenate and calcium arsenite, mixtures, solid + + + + + Calcium cyanide + + + + + Chlorodinitrobenzenes, liquid. + + + + + Chloronitrobenzenes, solid [meta or para] + + + + + 4-Chloro-o-toluidine hydrochloride, solid + + + + + Chloropicrin + + + + + Chloropicrin and methyl bromide mixtures + + + + + Chloropicrin and methyl chloride mixtures + + + + + Chloropicrin mixtures, n.o.s. + + + + + Copper acetoarsenite + + + + + Copper arsenite + + + + + Copper cyanide + + + + + Cyanides, inorganic, solid, n.o.s. + + + + + Cyanogen chloride, stabilized + + + + + Dichloroanilines, liquid + + + + + o-Dichlorobenzene + + + + + Dichloromethane + + + + + Diethyl sulfate + + + + + Dimethyl sulfate + + + + + Dinitroanilines + + + + + Dinitrobenzenes, liquid + + + + + Dinitro-o-cresol + + + + + Dinitrophenol solutions + + + + + Dinitrotoluenes, molten + + + + + Disinfectants, solid, toxic, n.o.s. + + + + + Dyes, liquid, toxic, n.o.s. [or] Dye intermediates, liquid, toxic, n.o.s. + + + + + Ethyl bromoacetate + + + + + Ethylenediamine + + + + + Ethylene dibromide + + + + + Ferric arsenate + + + + + Ferric arsenite + + + + + Ferrous arsenate + + + + + Hexaethyl tetraphosphate, [liquid] + + + + + Hexaethyl tetraphosphate and compressed gas mixtures + + + + + Hydrocyanic acid, aqueous solutions [or] Hydrogen cyanide, aqueous solutions [withnot more than 20 percent hydrogen cyanide] + + + + + Hydrogen cyanide, stabilized, [with less than 3 percent water and absorbedin aporous inert material] + + + + + Lead acetate + + + + + Lead arsenates + + + + + Lead arsenites + + + + + Lead cyanide + + + + + London purple + + + + + Magnesium arsenate + + + + + Mercuric arsenate + + + + + Mercuric chloride + + + + + Mercuric nitrate + + + + + Mercuric potassium cyanide + + + + + Mercurous nitrate + + + + + Mercury acetate + + + + + Mercury ammonium chloride + + + + + Mercury benzoate + + + + + Mercury bromides + + + + + Mercury cyanide + + + + + Mercury gluconate + + + + + Mercury iodide + + + + + Mercury nucleate + + + + + Mercury oleate + + + + + Mercury oxide + + + + + Mercury oxycyanide, desensitized + + + + + Mercury potassium iodide + + + + + Mercury salicylate + + + + + Mercury sulfates + + + + + Mercury thiocyanate + + + + + Methyl bromide and ethylene dibromide mixtures, liquid + + + + + Acetonitrile + + + + + Motor fuel anti-knock mixtures + + + + + beta-Naphthylamine + + + + + Naphthylthiourea + + + + + Naphthylurea + + + + + Nickel cyanide + + + + + Nicotine + + + + + Nicotine compounds, solid, n.o.s. [or] Nicotine preparations, solid, n.o.s. + + + + + Nicotine hydrochloride liquid [or] solution + + + + + Nicotine salicylate + + + + + Nicotine sulfate solution + + + + + Nicotine tartrate + + + + + Nitric oxide, compressed + + + + + Nitroanilines ([o-; m-; p-;]) + + + + + Nitrobenzene + + + + + Nitrophenols ([o-; m-; p-;]) + + + + + Nitrotoluenes, liquid + + + + + Nitroxylenes, liquid + + + + + Pentachloroethane + + + + + Perchloromethyl mercaptan + + + + + Phenol, solid + + + + + Phenylcarbylamine chloride + + + + + Phenylenediamines [(o-; m-; p-;)] + + + + + Phenylmercuric acetate + + + + + Potassium arsenate + + + + + Potassium arsenite + + + + + Potassium cuprocyanide + + + + + Potassium cyanide, solid + + + + + Silver arsenite + + + + + Silver cyanide + + + + + Sodium arsenate + + + + + Sodium arsenite, aqueous solutions + + + + + Sodium azide + + + + + Sodium cacodylate + + + + + Sodium cyanide, solid + + + + + Sodium fluoride, solid + + + + + Strontium arsenite + + + + + Strychnine [or] Strychnine salts + + + + + Tear gas substances, liquid, n.o.s. + + + + + Bromobenzyl cyanides, liquid + + + + + Chloroacetone, stabilized + + + + + Chloroacetophenone, solid (CN) + + + + + Diphenylamine chloroarsine + + + + + Diphenylchloroarsine, liquid + + + + + Tear gas candles + + + + + Xylyl bromide, liquid + + + + + 1,1,2,2-Tetrachloroethane + + + + + Tetraethyl dithiopyrophosphate + + + + + Thallium compounds, n.o.s. + + + + + Toluidines, liquid + + + + + 2,4-Toluylenediamine, solid [or] 2,4-Toluenediamine, solid + + + + + Trichloroethylene + + + + + Xylidines, liquid + + + + + Zinc arsenate [or] Zinc arsenite [or] Zinc arsenate and zinc arsenite mixtures + + + + + Zinc cyanide + + + + + Zinc phosphide + + + + + Acetic anhydride + + + + + Acetyl bromide + + + + + Acetyl chloride + + + + + Butyl acid phosphate + + + + + Caustic alkali liquids, n.o.s. + + + + + Allyl chloroformate + + + + + Allyl iodide + + + + + Allyltrichlorosilane, stabilized + + + + + Aluminum bromide, anhydrous + + + + + Aluminum chloride, anhydrous + + + + + Ammonium hydrogendifluoride, solid + + + + + Amyltrichlorosilane + + + + + Anisoyl chloride + + + + + Antimony pentachloride, liquid + + + + + Antimony pentachloride, solutions + + + + + Antimony pentafluoride + + + + + Antimony trichloride, liquid + + + + + Benzoyl chloride + + + + + Benzyl bromide + + + + + Benzyl chloride + + + + + Benzyl chloroformate + + + + + Hydrogendifluorides, n.o.s. + + + + + Boron trichloride + + + + + Boron trifluoride acetic acid complex, liquid + + + + + Boron trifluoride propionic acid complex, liquid + + + + + Bromine [or] Bromine solutions + + + + + Bromine pentafluoride + + + + + Bromine trifluoride + + + + + Butyltrichlorosilane + + + + + Calcium hypochlorite, dry [or] Calcium hypochlorite mixtures dry [with morethan39 percent available chlorine (8.8 percent available oxygen)] + + + + + Chlorine trifluoride + + + + + Chloroacetic acid, solution + + + + + Chloroacetic acid, solid + + + + + Chloroacetyl chloride + + + + + Chlorophenyltrichlorosilane + + + + + Chlorosulfonic acid [(with or without sulfur trioxide)] + + + + + Chromic acid solution + + + + + Chromic fluoride, solid + + + + + Chromic fluoride, solution + + + + + Chromium oxychloride + + + + + Corrosive solids, n.o.s. + + + + + Corrosive liquids, n.o.s. + + + + + Cupriethylenediamine solution + + + + + Cyclohexenyltrichlorosilane + + + + + Cyclohexyltrichlorosilane + + + + + Dichloroacetic acid + + + + + Dichloroacetyl chloride + + + + + Dichlorophenyltrichlorosilane + + + + + Diethyldichlorosilane + + + + + Difluorophosphoric acid, anhydrous + + + + + Diphenyldichlorosilane + + + + + Diphenylmethyl bromide + + + + + Dodecyltrichlorosilane + + + + + Ferric chloride, anhydrous + + + + + Fire extinguisher charges, [corrosive liquid] + + + + + Fluoroboric acid + + + + + Fluorophosphoric acid anhydrous + + + + + Fluorosulfonic acid + + + + + Fluorosilicic acid + + + + + Formic acid + + + + + Fumaryl chloride + + + + + Hexadecyltrichlorosilane + + + + + Hexafluorophosphoric acid + + + + + Hexamethylenediamine solution + + + + + Hexyltrichlorosilane + + + + + Hydrofluoric acid and Sulfuric acid mixtures + + + + + Hydriodic acid + + + + + Hydrobromic acid, [with more than 49 percent hydrobromic acid] + + + + + Hydrochloric acid + + + + + Hydrofluoric acid, [with more than 60 percent strength] + + + + + Hypochlorite solutions + + + + + Iodine monochloride + + + + + Isopropyl acid phosphate + + + + + Lead sulfate [with more than 3 percent free acid] + + + + + Nitrating acid mixtures [with more than 50 percent nitric acid] + + + + + Nitrohydrochloric acid + + + + + Nonyltrichlorosilane + + + + + Octadecyltrichlorosilane + + + + + Octyltrichlorosilane + + + + + Perchloric acid [with not more than 50 percent acid by mass] + + + + + Phenolsulfonic acid, liquid + + + + + Phenyltrichlorosilane + + + + + Phosphoric acid solution + + + + + Phosphorus pentachloride + + + + + Phosphorus pentoxide + + + + + Phosphorus tribromide + + + + + Phosphorus trichloride + + + + + Phosphorus oxychloride + + + + + Potassium hydrogendifluoride solid + + + + + Potassium fluoride, solid + + + + + Potassium hydroxide, solid + + + + + Potassium hydroxide, solution + + + + + Propionyl chloride + + + + + Propyltrichlorosilane + + + + + Pyrosulfuryl chloride + + + + + Silicon tetrachloride + + + + + Sodium aluminate, solution + + + + + Sodium hydroxide, solid + + + + + Sodium hydroxide solution + + + + + Sodium monoxide + + + + + Nitrating acid mixtures spent [with not more than 50 percent nitric acid] + + + + + Stannic chloride, anhydrous + + + + + Sulfur chlorides + + + + + Sulfur trioxide, stabilized + + + + + Sulfuric acid [with more than 51 percent acid] + + + + + Sulfuric acid, fuming [with 30 percent or more free sulfur trioxide] + + + + + Sulfuric acid, spent + + + + + Sulfurous acid + + + + + Sulfuryl chloride + + + + + Tetramethylammonium hydroxide solution + + + + + Thionyl chloride + + + + + Thiophosphoryl chloride + + + + + Titanium tetrachloride + + + + + Trichloroacetic acid + + + + + Zinc chloride, solution + + + + + Acetaldehyde ammonia + + + + + Ammonium dinitro-o-cresolate, solid + + + + + Carbon dioxide, solid [or] Dry ice + + + + + Carbon tetrachloride + + + + + Potassium sulfide, hydrated [with not less than 30 percent water of crystallization] + + + + + Propionic acid + + + + + Sodium sulfide, hydrated [with not less than 30 percent water] + + + + + Medicine, liquid, toxic, n.o.s. + + + + + Barium alloys, pyrophoric + + + + + Calcium, pyrophoric [or] Calcium alloys, pyrophoric + + + + + Rags, oily + + + + + Textile waste, wet + + + + + Hexafluoropropylene compressed [or] Refrigerant gas R 1216 + + + + + Silicon tetrafluoride + + + + + Vinyl fluoride, stabilized + + + + + Ethyl crotonate + + + + + Fuel, aviation, turbine engine + + + + + n-Propyl nitrate + + + + + Resin solution, [flammable] + + + + + Decaborane + + + + + Magnesium [or] Magnesium alloys [with more than 50 percent magnesium in pellets,turnings or ribbons] + + + + + Potassium borohydride + + + + + Titanium hydride + + + + + Lead dioxide + + + + + Perchloric acid [with more than 50 percent but not more than 72 percent acid, bymass] + + + + + Barium oxide + + + + + Benzidine + + + + + Benzylidene chloride + + + + + Bromochloromethane + + + + + Chloroform + + + + + Cyanogen bromide + + + + + Ethyl bromide + + + + + Ethyldichloroarsine + + + + + Phenylmercuric hydroxide + + + + + Phenylmercuric nitrate + + + + + Tetrachloroethylene + + + + + Acetyl iodide + + + + + Diisooctyl acid phosphate + + + + + Disinfectant, liquid, corrosive, n.o.s. + + + + + Selenic acid + + + + + Sludge, acid + + + + + Soda lime [with more than 4 percent sodium hydroxide] + + + + + Chlorite solution + + + + + Calcium oxide + + + + + Diborane + + + + + Methyl chloride and methylene chloride mixtures + + + + + Neon, refrigerated liquid [(cryogenic liquid)] + + + + + Butyl propionates + + + + + Cyclohexanone + + + + + 2,2-Dichlorodiethyl ether + + + + + Ethyl acrylate, stabilized + + + + + Isopropylbenzene + + + + + Methyl acrylate, stabilized + + + + + Nonanes + + + + + Propyleneimine, stabilized + + + + + Pyrrolidine + + + + + Calcium dithionite [or] Calcium hydrosulfite + + + + + Methyl magnesium bromide, in ethyl ether + + + + + Potassium dithionite [or] Potassium hydrosulfite + + + + + Zinc dithionite [or] Zinc hydrosulfite + + + + + Zirconium scrap + + + + + Cyanide solutions, n.o.s. + + + + + Bromoacetic acid solution + + + + + Phosphorus oxybromide + + + + + Thioglycolic acid + + + + + Dibromodifluoromethane[, R12B2] + + + + + Ammonium nitrate, [with not more than 0.2% total combustible material, includinganyorganic substance, calculated as carbon to the exclusion of any other added substance] + + + + + Matches, safety [(book, card or strike on box)] + + + + + Matches, wax, Vesta + + + + + Aerosols, [corrosive, Packing Group II or III, (each not exceeding 1 L capacity)] + + + + + Argon, refrigerated liquid [(cryogenic liquid)] + + + + + Ethylene oxide and carbon dioxide mixtures [with not more than 9 percent ethyleneoxide] + + + + + Compressed gas, toxic, flammable, n.o.s. [Inhalation hazard Zone A] + + + + + Compressed gas, flammable, n.o.s. + + + + + Compressed gas, toxic, n.o.s. [Inhalation Hazard Zone A] + + + + + Compressed gas, n.o.s. + + + + + Deuterium, compressed + + + + + 1,2-Dichloro-1,1,2,2- tetrafluoroethane [or] Refrigerant gas R 114 + + + + + 1,1-Difluoroethylene [or] Refrigerant gas R 1132a + + + + + Ethane, refrigerated liquid + + + + + Ethylene + + + + + Helium, refrigerated liquid [(cryogenic liquid)] + + + + + Hydrocarbon gas mixture, compressed, n.o.s. + + + + + Hydrocarbon gas mixture, liquefied, n.o.s. + + + + + Hydrogen, refrigerated liquid [(cryogenic liquid)] + + + + + Insecticide gases, toxic, n.o.s. + + + + + Insecticide gases, n.o.s. + + + + + Isobutane [see also] Petroleum gases, liquefied + + + + + Krypton, refrigerated liquid [(cryogenic liquid)] + + + + + Methane, compressed [or] Natural gas, compressed [(with high methane content)] + + + + + Methane, refrigerated liquid [(cryogenic liquid)] [or] Natural gas, refrigeratedliquid [(cryogenic liquid), with high methane content)] + + + + + Chlorodifluoromethane and chloropentafluoroethane mixture [or] Refrigerantgas R502[with fixed boiling point, with approximately 49 percent chlorodifluoromethane] + + + + + Chlorodifluorobromomethane [or] Refrigerant gas R 12B1 + + + + + Nitric oxide and dinitrogen tetroxide mixtures [or] Nitric oxide and nitrogen dioxidemixtures + + + + + Octafluorocyclobutane, [or] Refrigerant gas RC 318 + + + + + Nitrogen, refrigerated liquid [cryogenic liquid] + + + + + Propane [see also] Petroleum gases, liquefied + + + + + Rare gases mixtures, compressed + + + + + Rare gases and oxygen mixtures, compressed + + + + + Rare gases and nitrogen mixtures, compressed + + + + + Tetrafluoromethane [or] Refrigerant gas R 14 + + + + + 1-Chloro-2,2,2-trifluoroethane [or] Refrigerant gas R 133a + + + + + Trifluoromethane [or] Refrigerant gas R 23 + + + + + Alcohols, flammable, toxic, n.o.s. + + + + + Alcohols, n.o.s. + + + + + Aldehydes, flammable, toxic, n.o.s. + + + + + Aldehydes, n.o.s. + + + + + Benzaldehyde + + + + + Chloroprene, stabilized + + + + + Flammable liquids, toxic, n.o.s. + + + + + Flammable liquids, n.o.s. + + + + + Iron pentacarbonyl + + + + + Tars, liquid [including road asphalt and oils, bitumen and cut backs] + + + + + Celluloid, [in block, rods, rolls, sheets, tubes, etc., except scrap] + + + + + Cobalt naphthenates, powder + + + + + Celluloid, scrap + + + + + Magnesium diamide + + + + + Magnesium diphenyl + + + + + Plastics, nitrocellulose-based, self-heating, n.o.s. + + + + + Zirconium powder, dry + + + + + Zirconium, dry, [finished sheets, strip or coiled wire] + + + + + Magnesium hydride + + + + + Magnesium phosphide + + + + + Potassium phosphide + + + + + Strontium phosphide + + + + + Hydrogen peroxide, aqueous solutions [with more than 40 percent but not more than60percent hydrogen peroxide (stabilized as necessary)] + + + + + Hydrogen peroxide, stabilized [or] Hydrogen peroxide aqueous solutions, stabilized[with more than 60 percent hydrogen peroxide] + + + + + Ammunition, toxic, non-explosive, [without burster or expelling charge, non-fuzed] + + + + + Ammunition, tear-producing, non-explosive, [without burster or expelling charge,non-fuzed] + + + + + Chloroanilines, solid + + + + + Chloroanilines, liquid + + + + + Chlorophenols, solid + + + + + Chlorophenols, liquid + + + + + Cresylic acid + + + + + Epichlorohydrin + + + + + Mercury compounds, liquid, n.o.s. + + + + + Mercury compounds, solid, n.o.s. + + + + + Phenylmercuric compounds, n.o.s. + + + + + Sodium arsenite, solid + + + + + Bombs, smoke, non-explosive, [with corrosive liquid, without initiating device] + + + + + Hydrazine, anhydrous + + + + + Hydrazine aqueous solution, [with more than 37% hydrazine, by mass] + + + + + Nitric acid [other than red fuming, with more than 70 percent nitric acid] + + + + + Nitric acid, red fuming + + + + + Potassium monoxide + + + + + Hydrogen and Methane mixtures, compressed + + + + + 1,1,1-Trifluoroethane [or] Refrigerant gas, R 143a + + + + + Xenon + + + + + Gas cartridges, [(flammable) without a release device, non-refillable] + + + + + Dinitrotoluenes, [liquid] + + + + + 2,2-Dimethylpropane + + + + + Isobutyraldehyde [or] Isobutyl aldehyde + + + + + Cymenes + + + + + Dichloropropenes + + + + + Dicyclopentadiene + + + + + Diethylbenzene + + + + + Diisobutylene, isomeric compounds + + + + + 2-Dimethylaminoethanol + + + + + Dipentene + + + + + Methyl isobutyl carbinol + + + + + Morpholine + + + + + Styrene monomer, stabilized + + + + + Tetrahydrofuran + + + + + Tripropylene + + + + + Valeraldehyde + + + + + Nitrocellulose, solution, flammable [with not more than 12.6 percent nitrogen, bymass, and not more than 55 percent nitrocellulose] + + + + + Ammonium nitrate based fertilizer + + + + + Ammonium nitrate based fertilizer + + + + + Ammonia solutions, [relative density less than 0.880 at 15 degrees C in water, with more than 35 percent but not more than 50 percent ammonia] + + + + + Acrylamide, solid + + + + + Chloral, anhydrous, stabilized + + + + + Cresols, liquid + + + + + alpha-Naphthylamine + + + + + Toluene diisocyanate + + + + + Diethylenetriamine + + + + + Hydrogen chloride, refrigerated liquid + + + + + Carbon dioxide, refrigerated liquid + + + + + Arsine + + + + + Dichlorosilane + + + + + Oxygen difluoride, compressed + + + + + Sulfuryl fluoride + + + + + Germane + + + + + Hexafluoroethane, [or] Refrigerant gas R 116 + + + + + Selenium hexafluoride + + + + + Tellurium hexafluoride + + + + + Tungsten hexafluoride + + + + + Hydrogen iodide, anhydrous + + + + + Phosphorus + + + + + Phosphine + + + + + Propadiene, stabilized + + + + + Nitrous oxide, refrigerated liquid + + + + + Hydrogen selenide, anhydrous + + + + + Silane + + + + + Carbonyl sulfide + + + + + Adiponitrile + + + + + Isocyanates, toxic, n.o.s. [or] Isocyanate solutions, toxic, n.o.s., [flashpointmore than 61 degrees C and boiling point less than 300 degrees C] + + + + + Calcium hypochlorite mixtures, dry, [with more than 10 percent but not morethan39 percent available chlorine] + + + + + Formaldehyde, solutions, [with not less than 25 percent formaldehyde] + + + + + Maneb [or] Maneb preparations [with not less than 60 percent maneb] + + + + + Polymeric beads, expandable, [evolving flammable vapor] + + + + + Blue asbestos [(Crocidolite)] [or] Brown asbestos [(amosite, mysorite)] + + + + + Paraformaldehyde + + + + + Phthalic anhydride [with more than .05 percent maleic anhydride] + + + + + Maleic anhydride + + + + + Fish meal, stabilized [or] Fish scrap, stabilized + + + + + Seed cake [with not more than 1.5 percent oil and not more than 11 percentmoisture] + + + + + Acrylic acid, stabilized + + + + + Allyl glycidyl ether + + + + + Anisole + + + + + Benzonitrile + + + + + Benzene sulfonyl chloride + + + + + Benzotrichloride + + + + + n-Butyl methacrylate, stabilized + + + + + 2-Chloroethanal + + + + + Chloroanisidines + + + + + Chlorobenzotrifluorides + + + + + Chlorobenzyl chlorides, liquid + + + + + 3-Chloro-4-methylphenyl isocyanate, liquid + + + + + Chloronitroanilines + + + + + Chlorotoluenes + + + + + Chlorotoluidines, solid + + + + + Chromosulfuric acid + + + + + Cycloheptane + + + + + Cycloheptene + + + + + Cyclohexyl acetate + + + + + Cyclopentanol + + + + + Cyclopentanone + + + + + Cyclopentene + + + + + n-Decane + + + + + Di-n-butylamine + + + + + Dichlorodimethyl ether, symmetrical + + + + + Dichlorophenyl isocyanates + + + + + Bicyclo [2,2,1] hepta-2,5-diene, stabilized [or] 2,5-Norbornadiene, stabilized + + + + + 1,2-Dimethoxyethane + + + + + N,N-Dimethylaniline + + + + + Matches, fusee + + + + + Cyclohexene + + + + + Potassium + + + + + 1,2-Propylenediamine + + + + + Triethylenetetramine + + + + + Tripropylamine + + + + + Xylenols, solid + + + + + Dimethylcarbamoyl chloride + + + + + Dimethylcyclohexanes + + + + + N,N-Dimethylcyclohexylamine + + + + + N,N-Dimethylformamide + + + + + Dimethyl-N-propylamine + + + + + Dimethyl thiophosphoryl chloride + + + + + 3,3-Iminodipropylamine + + + + + Ethylamine, aqueous solution [with not less than 50 percent but not more than 70percent ethylamine] + + + + + Ethyl amyl ketone + + + + + N-Ethylaniline + + + + + 2-Ethylaniline + + + + + N-Ethyl-N-benzylaniline + + + + + 2-Ethylbutanol + + + + + 2-Ethylhexylamine + + + + + Ethyl methacrylate, stabilized + + + + + n-Heptene + + + + + Hexachlorobutadiene + + + + + Hexamethylenediamine, solid + + + + + Hexamethylene diisocyanate + + + + + Hexanols + + + + + Isobutyl methacrylate, stabilized + + + + + Isobutyronitrile + + + + + Isocyanatobenzotrifluorides + + + + + Pentamethylheptane + + + + + Isoheptenes + + + + + Isohexenes + + + + + Isophoronediamine + + + + + Isophorone diisocyanate + + + + + Lead compounds, soluble, n.o.s. + + + + + 4-Methoxy-4-methylpentan-2-one + + + + + N-Methylaniline + + + + + Methyl chloroacetate + + + + + Methylcyclohexane + + + + + Methylcyclohexanone + + + + + Methylcyclopentane + + + + + Methyl dichloroacetate + + + + + 2-Methyl-5-ethylpyridine + + + + + 2-Methylfuran + + + + + 5-Methylhexan-2-one + + + + + Isopropenylbenzene + + + + + Naphthalene, molten + + + + + Nitrobenzenesulfonic acid + + + + + Nitrobenzotrifluorides, liquid + + + + + 3-Nitro-4-chlorobenzotrifluoride + + + + + Nitrosylsulfuric acid, liquid + + + + + Octadiene + + + + + Pentane-2,4-dione + + + + + Phenetidines + + + + + Phenol, molten + + + + + Picolines + + + + + Polychlorinated biphenyls, liquid + + + + + Sodium cuprocyanide, solid + + + + + Sodium cuprocyanide, solution + + + + + Sodium hydrosulfide, [with less than 25 percent water of crystallization] + + + + + Terpene hydrocarbons, n.o.s. + + + + + Tetraethylenepentamine + + + + + Trichlorobenzenes, liquid + + + + + Trichlorobutene + + + + + Triethyl phosphite + + + + + Triisobutylene + + + + + 1,3,5-Trimethylbenzene + + + + + Trimethylcyclohexylamine + + + + + Trimethylhexamethylenediamines + + + + + Trimethylhexamethylene diisocyanate + + + + + Trimethyl phosphite + + + + + Undecane + + + + + Zinc chloride, anhydrous + + + + + Acetaldehyde oxime + + + + + Allyl acetate + + + + + Allylamine + + + + + Allyl ethyl ether + + + + + Allyl formate + + + + + Phenyl mercaptan + + + + + Benzotrifluoride + + + + + 2-Bromobutane + + + + + 2-Bromoethyl ethyl ether + + + + + 1-Bromo-3-methylbutane + + + + + Bromomethylpropanes + + + + + 2-Bromopentane + + + + + Bromopropanes + + + + + 3-Bromopropyne + + + + + Butanedione + + + + + Butyl mercaptans + + + + + Butyl acrylates, stabilized + + + + + Butyl methyl ether + + + + + Butyl nitrites + + + + + Butyl vinyl ether, stabilized + + + + + Butyryl chloride + + + + + Chloromethyl ethyl ether + + + + + 2-Chloropropane + + + + + Cyclohexylamine + + + + + Cyclooctatetraene + + + + + Diallylamine + + + + + Diallylether + + + + + Diisobutylamine + + + + + 1,1-Dichloroethane + + + + + Ethyl mercaptan + + + + + n-Propyl benzene + + + + + Diethyl carbonate + + + + + alpha-Methylvaleraldehyde + + + + + alpha-Pinene + + + + + 1-Hexene + + + + + Isopentenes + + + + + 1,2-Di-(dimethylamino)ethane + + + + + Diethoxymethane + + + + + 3,3-Diethoxypropene + + + + + Diethyl sulfide + + + + + 2,3-Dihydropyran + + + + + 1,1-Dimethoxyethane + + + + + 2-Dimethylaminoacetonitrile + + + + + 1,3-Dimethylbutylamine + + + + + Dimethyldiethoxysilane + + + + + Dimethyl disulfide + + + + + Dimethylhydrazine, symmetrical + + + + + Dipropylamine + + + + + Di-n-propyl ether + + + + + Ethyl isobutyrate + + + + + 1-Ethylpiperidine + + + + + Fluorobenzene + + + + + Fluorotoluenes + + + + + Furan + + + + + 2-Iodobutane + + + + + Iodomethylpropanes + + + + + Iodopropanes + + + + + Isobutyl formate + + + + + Isobutyl propionate + + + + + Isobutyryl chloride + + + + + Methacrylaldehyde, stabilized + + + + + 3-Methylbutan-2-one + + + + + Methyl tert-butyl ether + + + + + 1-Methylpiperidine + + + + + Methyl isovalerate + + + + + Piperidine + + + + + Propanethiols + + + + + Isopropenyl acetate + + + + + Propionitrile + + + + + Isopropyl butyrate + + + + + Isopropyl isobutyrate + + + + + Isopropyl chloroformate + + + + + Isopropyl propionate + + + + + 1,2,3,6-Tetrahydropyridine + + + + + Butyronitrile + + + + + Tetrahydrothiophene + + + + + Tetrapropylorthotitanate + + + + + Thiophene + + + + + Trimethyl borate + + + + + Carbonyl fluoride + + + + + Sulfur tetrafluoride + + + + + Bromotrifluoroethylene + + + + + Hexafluoroacetone + + + + + Nitrogen trioxide + + + + + Octafluorobut-2-ene [or] Refrigerant gas R 1318 + + + + + Octafluoropropane[or] Refrigerant gas R 218 + + + + + Ammonium nitrate, liquid [(hot concentrated solution)] + + + + + Potassium chlorate, aqueous solution + + + + + Sodium chlorate, aqueous solution + + + + + Calcium chlorate aqueous solution + + + + + Alkylphenols, solid, n.o.s. [(including C2-C12 homologues)] + + + + + Anisidines + + + + + N, N-Diethylaniline + + + + + Chloronitrotoluenes, liquid + + + + + Dibenzyldichlorosilane + + + + + Ethylphenyldichlorosilane + + + + + Thioacetic acid + + + + + Methylphenyldichlorosilane + + + + + Trimethylacetyl chloride + + + + + Sodium hydrogendifluoride + + + + + Stannic chloride pentahydrate + + + + + Titanium trichloride, pyrophoric [or] Titanium trichloride mixtures, pyrophoric + + + + + Trichloroacetyl chloride + + + + + Vanadium oxytrichloride + + + + + Vanadium tetrachloride + + + + + Lithium alkyls, liquid + + + + + Nitrocresols, solid + + + + + Phosphorus white, molten + + + + + Sulfur, molten + + + + + Nitrogen trifluoride + + + + + Ethylacetylene, stabilized + + + + + Ethyl fluoride [or] Refrigerant gas R161 + + + + + Methyl fluoride, [or] Refrigerant gas R 41 + + + + + 2-Chloropropene + + + + + 2,3-Dimethylbutane + + + + + Hexadienes + + + + + 2-Methyl-1-butene + + + + + 2-Methyl-2-butene + + + + + Methylpentadienes + + + + + Aluminum hydride + + + + + Beryllium nitrate + + + + + Dichloroisocyanuric acid, dry [or] Dichloroisocyanuric acid salts + + + + + Potassium superoxide + + + + + Trichloroisocyanuric acid, dry + + + + + Zinc bromate + + + + + Phenylacetonitrile, liquid + + + + + Osmium tetroxide + + + + + Sodium arsanilate + + + + + Thiophosgene + + + + + Vanadium trichloride + + + + + Methyl isothiocyanate + + + + + Isocyanates, flammable, toxic, n.o.s. [or] Isocyanate solutions, flammable,toxic,n.o.s. [flash point less than 23 degrees C] + + + + + Methyl isocyanate + + + + + Ethyl isocyanate + + + + + n-Propyl isocyanate + + + + + Isopropyl isocyanate + + + + + tert-Butyl isocyanate + + + + + n-Butyl isocyanate + + + + + Isobutyl isocyanate + + + + + Phenyl isocyanate + + + + + Cyclohexyl isocyanate + + + + + Dichloroisopropyl ether + + + + + Ethanolamine [or] Ethanolamine solutions + + + + + Hexamethyleneimine + + + + + Iodine pentafluoride + + + + + Propionic anhydride + + + + + 1,2,3,6-Tetrahydrobenzaldehyde + + + + + Tris-(1-aziridinyl)phosphine oxide, solution + + + + + Valeryl chloride + + + + + Zirconium tetrachloride + + + + + Tetrabromoethane + + + + + Ammonium fluoride + + + + + Ammonium hydrogen sulfate + + + + + Chloroplatinic acid, solid + + + + + Molybdenum pentachloride + + + + + Potassium hydrogen sulfate + + + + + 2-Chloropropionic acid + + + + + Aminophenols (o-; m-; p-) + + + + + Bromoacetyl bromide + + + + + Bromobenzene + + + + + Bromoform + + + + + Carbon tetrabromide + + + + + 1-Chloro-1,1-difluoroethane[ or] Refrigerant gas R 142b + + + + + 1,5,9-Cyclododecatriene + + + + + Cyclooctadienes + + + + + Diketene, stabilized + + + + + 2-Dimethylaminoethyl methacrylate + + + + + Ethyl orthoformate + + + + + Ethyl oxalate + + + + + Furfurylamine + + + + + Isobutyl acrylate, stabilized + + + + + Isobutyl isobutyrate + + + + + Isobutyric acid + + + + + Methacrylic acid, stabilized + + + + + Methyl trichloroacetate + + + + + Methylchlorosilane + + + + + 4-Methylmorpholine [or] n-methylmorpholine + + + + + Methyltetrahydrofuran + + + + + Nitronaphthalene + + + + + Terpinolene + + + + + Tributylamine + + + + + Hafnium powder, dry + + + + + Titanium powder, dry + + + + + Sodium superoxide + + + + + Chlorine pentafluoride + + + + + Hexafluoroacetone hydrate, liquid + + + + + Methyl allyl chloride + + + + + Nitrocellulose with water [with not less than 25 percent water, by mass] + + + + + Nitrocellulose with alcohol [with not less than 25 percent alcohol by mass,andwithnot more than 12.6 percent nitrogen, by dry mass] + + + + + Nitrocellulose, [with not more than 12.6 percent nitrogen, by dry mass, or]Nitrocellulose mixture with pigment [or] Nitrocellulose mixture with plasticizer [or] Nitrocellulose mixture with pigment and plasticizer + + + + + Epibromohydrin + + + + + 2-Methylpentan-2-ol + + + + + 3-Methyl-1-butene + + + + + Trichloroacetic acid, solution + + + + + Dicyclohexylamine + + + + + Sodium pentachlorophenate + + + + + Cadmium compounds + + + + + Alkylsulfuric acids + + + + + Phenylhydrazine + + + + + Thallium chlorate + + + + + Tricresyl phosphate [with more than 3 percent ortho isomer] + + + + + Phosphorus oxybromide, molten + + + + + Phenylacetyl chloride + + + + + Phosphorus trioxide + + + + + Piperazine + + + + + Aluminum bromide, solution + + + + + Aluminum chloride, solution + + + + + Ferric chloride, solution + + + + + Alkyl sulfonic acids, solid [or] Aryl sulfonic acids, solid, [with more than 5 percent free sulfuric acid] + + + + + Alkyl sulfonic acids, liquid [or] Aryl sulfonic acids, liquid [with more than 5percent free sulfuric acid] + + + + + Alkyl sulfonic acids, solid [or] Aryl sulfonic acids, solid [with not morethan5percent free sulfuric acid] + + + + + Alkyl sulfonic acids, liquid [or] Aryl sulfonic acids, liquid [with not more than5 percent free sulfuric acid] + + + + + Benzoquinone + + + + + Pesticides, solid, toxic, n.o.s. + + + + + Vinyl chloroacetate + + + + + White asbestos [(chrysotile, actinolite, anthophyllite, tremolite)] + + + + + Xenon, refrigerated liquid [(cryogenic liquids)] + + + + + Chlorotrifluoromethane and trifluoromethane azeotropic mixture [or] Refrigerantgas R503 [with approximately 60 percent chlorotrifluoromethane] + + + + + Carbon monoxide and hydrogen mixture, compressed + + + + + Cyclobutane + + + + + Dichlorodifluoromethane and difluoroethane azeotropic mixture [or] Refrigerant gasR500 [with approximately 74 percent dichlorodifluoromethane] + + + + + Cycloheptatriene + + + + + Boron trifluoride diethyl etherate + + + + + Methoxymethyl isocyanate + + + + + Methyl orthosilicate + + + + + Acrolein dimer, stabilized + + + + + Nitropropanes + + + + + Triallyl borate + + + + + Triallylamine + + + + + Propylene chlorohydrin + + + + + Methyl propyl ether + + + + + Methallyl alcohol + + + + + Ethyl propyl ether + + + + + Triisopropyl borate + + + + + Methylcyclohexanols, [flammable] + + + + + Vinyltoluenes, stabilized + + + + + Benzyldimethylamine + + + + + Amyl butyrates + + + + + Acetyl methyl carbinol + + + + + Glycidaldehyde + + + + + Firelighters, solid [with flammable liquid] + + + + + Magnesium silicide + + + + + Chloric acid aqueous solution, [with not more than 10 percent chloric acid] + + + + + Nitrites, inorganic, n.o.s. + + + + + Potassium fluoroacetate + + + + + Sodium fluoroacetate + + + + + Selenates [or] Selenites + + + + + Fluoroacetic acid + + + + + Methyl bromoacetate + + + + + Methyl iodide + + + + + Phenacyl bromide + + + + + Hexachlorocyclopentadiene + + + + + Malononitrile + + + + + 1,2-Dibromobutan-3-one + + + + + 1,3-Dichloroacetone + + + + + 1,1-Dichloro-1-nitroethane + + + + + 4,4-Diaminodiphenyl methane + + + + + Benzyl iodide + + + + + Potassium fluorosilicate + + + + + Quinoline + + + + + Selenium disulfide + + + + + Sodium chloroacetate + + + + + Nitrotoluidines (mono) + + + + + Hexachloroacetone + + + + + Hydroquinone, solid + + + + + Dibromomethane + + + + + Butyltoluenes + + + + + Chloroacetonitrile + + + + + Chlorocresols solution + + + + + Cyanuric chloride + + + + + Aminopyridines [(o-; m-; p-)] + + + + + Ammonia solutions, [relative density between 0.880 and 0.957 at 15 degreesC inwater, with more than 10 percent but not more than 35 percent ammonia] + + + + + 2-Amino-4-chlorophenol + + + + + Sodium fluorosilicate + + + + + Stibine + + + + + Rubidium hydroxide solution + + + + + Rubidium hydroxide + + + + + Lithium hydroxide, solution + + + + + Lithium hydroxide + + + + + Caesium hydroxide solution + + + + + Caesium hydroxide + + + + + Ammonium sulfide solution + + + + + 3-Diethyamino-propylamine. + + + + + N,N-Diethylethylenediamine + + + + + 2-Diethylaminoethanol + + + + + Dicyclohexylammonium nitrite + + + + + 1-Bromo-3-chloropropane + + + + + Glycerol alpha-monochlorohydrin + + + + + N-n-Butyl imidazole + + + + + Phosphorus pentabromide + + + + + Boron tribromide + + + + + Bisulfites, aqueous solutions, n.o.s. + + + + + Tetrahydrophthalic anhydrides [with more than 0.05 percent of maleic anhydride] + + + + + Trifluoroacetic acid + + + + + 1-Pentol + + + + + Dimethyldioxanes + + + + + Butyl benzenes + + + + + Dipropyl ketone + + + + + Acridine + + + + + Zinc resinate + + + + + Aluminum resinate + + + + + 1,4-Butynediol + + + + + Camphor, [synthetic] + + + + + Barium bromate + + + + + Chromium nitrate + + + + + Copper chlorate + + + + + Lithium nitrate + + + + + Magnesium chlorate + + + + + Manganese nitrate + + + + + Nickel nitrate + + + + + Nickel nitrite + + + + + Thallium nitrate + + + + + Zirconium nitrate + + + + + Hexachlorobenzene + + + + + Nitroanisole, liquid + + + + + Nitrobromobenzenes, liquid + + + + + Amines, flammable, corrosive, n.o.s. [or] Polyamines, flammable, corrosive,n.o.s. + + + + + Amines, liquid, corrosive, flammable, n.o.s. [or] Polyamines, liquid, corrosive,flammable, n.o.s. + + + + + Amines, liquid, corrosive, n.o.s., [or] Polyamines, liquid, corrosive, n.o.s. + + + + + N-Butylaniline + + + + + Butyric anhydride + + + + + n-Propyl chloroformate + + + + + Barium hypochlorite [with more than 22 percent available chlorine] + + + + + Chloroformates, toxic, corrosive, flammable, n.o.s. + + + + + n-Butyl chloroformate + + + + + Cyclobutyl chloroformate + + + + + Chloromethyl chloroformate + + + + + Phenyl chloroformate + + + + + tert-Butylcyclohexylchloroformate + + + + + 2-Ethylhexyl chloroformate + + + + + Tetramethylsilane + + + + + 1,3-Dichloropropanol-2 + + + + + Diethylthiophosphoryl chloride + + + + + 1,2-Epoxy-3-ethoxypropane + + + + + N-Ethylbenzyltoluidines liquid + + + + + N-Ethyltoluidines + + + + + Carbamate pesticides, solid, toxic + + + + + Carbamate pesticides, liquid, flammable, toxic, [flash point less than 23 degreesC] + + + + + Arsenical pesticides, solid, toxic + + + + + Arsenical pesticides, liquid, flammable, toxic, [flash point less than 23 degreesC] + + + + + Organochlorine pesticides, solid, toxic + + + + + Organochlorine pesticides liquid, flammable, toxic, [flash point less than23 degreesC] + + + + + Triazine pesticides, solid, toxic + + + + + Triazine pesticides, liquid, flammable, toxic, [flash point less than 23 degreesC] + + + + + Thiocarbamate pesticides, solid, toxic + + + + + Thiocarbamate pesticide, liquid, flammable, toxic, [flash point less than 23 degreesC] + + + + + Copper based pesticides, solid, toxic + + + + + Copper based pesticides, liquid, flammable, toxic, [flash point less than 23 degreesC] + + + + + Mercury based pesticides, solid, toxic + + + + + Mercury based pesticides, liquid, flammable, toxic, [flash point less than23 degreesC] + + + + + Substituted nitrophenol pesticides, solid, toxic + + + + + Substituted nitrophenol pesticides, liquid, flammable, toxic, [flash pointlessthan23 degrees C] + + + + + Bipyridilium pesticides, solid, toxic + + + + + Bipyridilium pesticides, liquid, flammable, toxic, [flash point less than 23 degreesC] + + + + + Organophosphorus pesticides, solid, toxic + + + + + Organophosphorus pesticides, liquid, flammable, toxic, [flash point less than 23degrees C] + + + + + 4-Thiapentanal + + + + + Organotin pesticides, solid, toxic + + + + + Organotin pesticides, liquid, flammable, toxic, [flash point less than 23 degreesC] + + + + + Organotin compounds, liquid, n.o.s. + + + + + Acetic acid, glacial [or] Acetic acid solution, [with more than 80 percentacid,by mass] + + + + + Acetic acid solution, [not less than 50 percent but not more than 80 percent acid,bymass] + + + + + Ferrous metal borings [or] Ferrous metal shavings [or] Ferrous metal turnings [or]Ferrous metal cuttings [in a form liable to self-heating] + + + + + Batteries, wet, filled with acid, [electric storage] + + + + + Batteries, wet, filled with alkali, [electric storage] + + + + + Battery fluid, acid + + + + + Battery fluid, alkali + + + + + Phenyl phosphorus dichloride + + + + + Phenyl phosphorus thiodichloride + + + + + Batteries, wet, non-spillable, [electric storage] + + + + + Dyes, liquid, corrosive, n.o.s. or Dye intermediates, liquid, corrosive, n.o.s. + + + + + Copper chloride + + + + + Gallium + + + + + Lithium hydride, fused solid + + + + + Lithium nitride + + + + + Mercury + + + + + Toxic, liquids, organic, n.o.s. + + + + + Toxic solids, organic, n.o.s. + + + + + Sodium aluminate, solid + + + + + Water-reactive solid, n.o.s. + + + + + Infectious substances, affecting humans + + + + + N-Aminoethylpiperazine + + + + + Ammonium hydrogendifluoride, solution + + + + + Ammonium polysulfide, solution + + + + + Amyl acid phosphate + + + + + Butyric acid + + + + + Phenol solutions + + + + + 2-Chloropyridine + + + + + Crotonic acid [liquid] + + + + + Ethyl chlorothioformate + + + + + Caproic acid + + + + + Lithium ferrosilicon + + + + + 1,1,1-Trichloroethane + + + + + Phosphorous acid + + + + + Sodium aluminum hydride + + + + + Bisulfate, aqueous solution + + + + + Vinyl butyrate, stabilized + + + + + Aldol + + + + + Butyraldoxime + + + + + Di-n-amylamine + + + + + Nitroethane + + + + + Calcium manganese silicon + + + + + Pyrophoric liquids, organic, n.o.s. + + + + + Pyrophoric solids, organic, n.o.s. + + + + + 3-Chloropropanol-1 + + + + + Propylene tetramer + + + + + Boron trifluoride dihydrate + + + + + Dipicryl sulfide, wetted [with not less than 10 percent water, by mass] + + + + + Magnesium fluorosilicate + + + + + Ammonium fluorosilicate + + + + + Zinc fluorosilicate + + + + + Fluorosilicates, n.o.s. + + + + + Refrigerating machines, [containing non-flammable, non-toxic, or ammonia solution(UN2672)] + + + + + Zirconium, dry, [coiled wire, finished metal sheets, strip (thinner than 254 micronsbut not thinner than 18 microns)] + + + + + Ammonium metavanadate + + + + + Ammonium polyvanadate + + + + + Vanadium pentoxide, [non-fused form] + + + + + Sodium ammonium vanadate + + + + + Potassium metavanadate + + + + + Hydroxylamine sulfate + + + + + Titanium trichloride mixtures + + + + + Aluminum borohydride [or] Aluminum borohydride in devices + + + + + Antimony powder + + + + + Dibromochloropropane + + + + + Dibutylaminoethanol + + + + + Furfuryl alcohol + + + + + Hexachlorophene + + + + + Resorcinol + + + + + Titanium sponge granules [or] Titanium sponge powders + + + + + Selenium oxychloride + + + + + Calcium hypochlorite, hydrated [or] Calcium hypochlorite, hydrated mixtures, [withnot less than 5.5 percent but not more than 16 percent water] + + + + + Metal catalyst, dry + + + + + Infectious substances, affecting animals [only] + + + + + Bromine chloride + + + + + Pesticides, liquid, toxic, n.o.s. + + + + + Pesticides, liquid, toxic, flammable, n.o.s. [flash point not less than 23degreesC] + + + + + Chlorophenolates, liquid [or] Phenolates, liquid + + + + + Chlorophenolates, solid [or] Phenolates, solid + + + + + Isosorbide dinitrate mixture [with not less than 60 percent lactose, mannose, starchor calcium hydrogen phosphate] + + + + + Radioactive material, excepted package-empty packaging + + + + + Radioactive material, excepted package-articles manufactured from natural uranium[or] depleted uranium [or] natural thorium + + + + + Radioactive material, excepted package-limited quantity of material + + + + + Radioactive material, excepted package-instruments [or] articles + + + + + Radioactive material, low specific activity (LSA-I) [non fissile or fissile-excepted] + + + + + Radioactive material, surface contaminated objects (SCO-I [or] SCO-II) [nonfissile or fissile-excepted] + + + + + Radioactive material, Type A package [non-special form, non fissile or fissile-excepted] + + + + + Radioactive material, Type B(U) package [non fissile or fissile-excepted] + + + + + Radioactive material, Type B(M) package [non fissile or fissile-excepted] + + + + + Radioactive material, transported under special arrangement, [non fissile or fissileexcepted] + + + + + Corrosive liquids, flammable, n.o.s. + + + + + Corrosive solids, flammable, n.o.s. + + + + + Corrosive liquids, toxic, n.o.s. + + + + + Corrosive solids, toxic, n.o.s. + + + + + Flammable liquids, corrosive, n.o.s. + + + + + Flammable solids, corrosive, organic, n.o.s. + + + + + Flammable solids, toxic, organic, n.o.s. + + + + + Toxic liquids, corrosive, organic, n.o.s. + + + + + Toxic solids, corrosive, organic, n.o.s. + + + + + Toxic liquids, flammable, organic, n.o.s. + + + + + Toxic solids, flammable, organic, n.o.s. + + + + + Vanadyl sulfate + + + + + Methyl 2-chloropropionate + + + + + Isopropyl 2-chloropropionate + + + + + Ethyl 2-chloropropionate + + + + + Thiolactic acid + + + + + alpha-Methylbenzyl alcohol, liquid + + + + + 9-Phosphabicyclononanes [or] Cyclooctadiene phosphines + + + + + Fluoroanilines + + + + + 2-Trifluoromethylaniline + + + + + Tetrahydrofurfurylamine + + + + + N-Methylbutylamine + + + + + 2-Amino-5-diethylaminopentane + + + + + Isopropyl chloroacetate + + + + + 3-Trifluoromethylaniline + + + + + Sodium hydrosulfide [with not less than 25 percent water of crystallization] + + + + + Magnesium granules, coated, [particle size not less than 149 microns] + + + + + 5-tert-Butyl-2,4,6-trinitro-m-xylene [or] Musk xylene + + + + + Boron trifluoride dimethyl etherate + + + + + Thioglycol + + + + + Sulfamic acid + + + + + Maneb stabilized [or] Maneb preparations, stabilized [against self-heating] + + + + + Castor beans [or] Castor meal [or] Castor pomace [or] Castor flake + + + + + Radioactive material, uranium hexafluoride, fissile + + + + + Radioactive material, uranium hexafluoride [non fissile or fissile-excepted] + + + + + Ethylene oxide and propylene oxide mixtures[, with not more than 30 percentethyleneoxide] + + + + + Hydrogen peroxide, aqueous solutions [with not less than 8 percent but lessthan20 percent hydrogen peroxide (stabilized as necessary)] + + + + + Chlorosilanes, flammable, corrosive, n.o.s. + + + + + Chlorosilanes, corrosive, flammable, n.o.s. + + + + + Chlorosilanes, corrosive, n.o.s. + + + + + Chlorosilanes, water-reactive, flammable, corrosive, n.o.s. + + + + + Lead phosphite, dibasic + + + + + Life-saving appliances, self inflating + + + + + Carbamate pesticides, liquid, toxic, flammable, [flash point not less than23 degreesC] + + + + + Carbamate pesticides, liquid, toxic + + + + + Arsenical pesticides, liquid, toxic, flammable, [flash point not less than23 degreesC] + + + + + Arsenical pesticides, liquid, toxic + + + + + Organochlorine pesticides, liquid, toxic, flammable, [flash point not lessthan23degrees C] + + + + + Organochlorine pesticides, liquid, toxic + + + + + Triazine pesticides, liquid, toxic, flammable, [flash point not less than 23 degreesC] + + + + + Triazine pesticides, liquid, toxic + + + + + Thiocarbamate pesticide, liquid, toxic, flammable, [flash point not less than 23degrees C] + + + + + Thiocarbamate pesticide, liquid, toxic + + + + + Copper based pesticides, liquid, toxic, flammable, [flash point not less than 23degrees C] + + + + + Copper based pesticides, liquid, toxic + + + + + Mercury based pesticides, liquid, toxic, flammable, [flash point not less than 23degrees C] + + + + + Mercury based pesticides, liquid, toxic + + + + + Substituted nitrophenol pesticides, liquid, toxic, flammable, [flash pointnot less than 23 degrees C] + + + + + Substituted nitrophenol pesticides, liquid, toxic + + + + + Bipyridilium pesticides, liquid, toxic, flammable, [flash point not less than 23degrees C] + + + + + Bipyridilium pesticides, liquid, toxic + + + + + Organophosphorus pesticides, liquid, toxic, flammable, [flash point not less than23degrees C] + + + + + Organophosphorus pesticides, liquid, toxic + + + + + Organotin pesticides, liquid, toxic, flammable, [flash point not less than23 degreesC] + + + + + Organotin pesticides, liquid, toxic + + + + + Pesticides, liquid, flammable, toxic, [flash point less than 23 degrees C] + + + + + 1,2-Butylene oxide, stabilized + + + + + 2-Methyl-2-heptanethiol + + + + + Coumarin derivative pesticides, liquid, flammable, toxic, [flash point lessthan23 degrees C] + + + + + Coumarin derivative pesticides, liquid, toxic, flammable, [flash point notlessthan23 degrees C] + + + + + Coumarin derivative pesticides, liquid, toxic + + + + + Coumarin derivative pesticides, solid, toxic + + + + + Batteries, dry, containing potassium hydroxide solid, [electric, storage] + + + + + Aluminum phosphide pesticides + + + + + Aluminum alkyls + + + + + Aluminum alkyl halides, liquid + + + + + Magnesium alkyls + + + + + Cyclohexyl mercaptan + + + + + 2-(2-Aminoethoxy) ethanol + + + + + n-Heptaldehyde + + + + + Trifluoroacetyl chloride + + + + + Nitroglycerin, solution in alcohol, [with more than 1 percent but not morethan5percent nitroglycerin] + + + + + Alcoholic beverages + + + + + Paint [or] Paint related material + + + + + Ethylene oxide and dichlorodifluoromethane mixture, [with not more than 12.5 percentethylene oxide] + + + + + Mercaptans, liquid, toxic, flammable, n.o.s. [or] Mercaptan mixtures, liquid, toxic,flammable, n.o.s.[, flash point not less than 23 degrees C] + + + + + Life-saving appliances, not self inflating [containing dangerous goods as equipment] + + + + + Vinylpyridines, stabilized + + + + + Aluminum alkyl hydrides + + + + + Environmentally hazardous substances, solid, n.o.s. + + + + + Cerium, [turnings or gritty powder] + + + + + Methacrylonitrile, stabilized + + + + + Isocyanates, toxic, flammable, n.o.s. [or] Isocyanate solutions, toxic, flammable,n.o.s., [flash point not less than 23 degrees C but not more than 61 degrees C and boiling point less than 300 degrees C] + + + + + Environmentally hazardous substances, liquid, n.o.s. + + + + + Perchloryl fluoride + + + + + Corrosive solids, oxidizing, n.o.s. + + + + + Oxidizing solid, corrosive, n.o.s. + + + + + Toxic solids, oxidizing, n.o.s. + + + + + Oxidizing solid, toxic, n.o.s. + + + + + Self-heating, solid, organic, n.o.s. + + + + + Metal powders, flammable, n.o.s. + + + + + Lithium battery + + + + + Lithium batteries packed with equipment + + + + + 1-Methoxy-2-propanol + + + + + Corrosive liquids, oxidizing, n.o.s. + + + + + Corrosive liquids, water-reactive, n.o.s. + + + + + Corrosive solids, self-heating, n.o.s. + + + + + Corrosive solids, water-reactive, n.o.s. + + + + + Flammable solid, oxidizing, n.o.s. + + + + + Oxidizing liquid, corrosive, n.o.s. + + + + + Oxidizing liquid, toxic, n.o.s. + + + + + Oxidizing solid, self-heating, n.o.s. + + + + + Organic peroxide type B, liquid + + + + + Organic peroxide type B, solid + + + + + Organic peroxide type C, liquid + + + + + Organic peroxide type C, solid + + + + + Organic peroxide type D, liquid + + + + + Organic peroxide type D, solid + + + + + Organic peroxide type E, liquid + + + + + Organic peroxide type E, solid + + + + + Organic peroxide type F, liquid + + + + + Organic peroxide type F, solid + + + + + Organic peroxide type B, liquid, temperature controlled + + + + + Organic peroxide type B, solid, temperature controlled + + + + + Organic peroxide type C, liquid, temperature controlled + + + + + Organic peroxide type C, solid, temperature controlled + + + + + Organic peroxide type D, liquid, temperature controlled + + + + + Organic peroxide type D, solid, temperature controlled + + + + + Organic peroxide type E, liquid, temperature controlled + + + + + Organic peroxide type E, solid, temperature controlled + + + + + Organic peroxide type F, liquid, temperature controlled + + + + + Organic peroxide type F, solid, temperature controlled + + + + + Oxidizing solid, water-reactive, n.o.s. + + + + + Toxic liquids, oxidizing, n.o.s. + + + + + Toxic liquids, water-reactive, n.o.s. + + + + + Toxic solids, self-heating, n.o.s. + + + + + Toxic solids, water-reactive, n.o.s. + + + + + Self-heating, solid, corrosive, organic, n.o.s. + + + + + Self-heating, solid, oxidizing, n.o.s. + + + + + Self-heating, solid, toxic, organic, n.o.s. + + + + + Water-reactive liquid, corrosive, n.o.s. + + + + + Water-reactive liquid, toxic, n.o.s. + + + + + Water-reactive solid, corrosive, n.o.s. + + + + + Water-reactive solid, flammable, n.o.s. + + + + + Water-reactive, solid, oxidizing, n.o.s. + + + + + Water-reactive solid, toxic, n.o.s. + + + + + Water-reactive solid, self-heating, n.o.s. + + + + + Trifluoromethane, refrigerated liquid + + + + + Oxidizing solid, flammable, n.o.s. + + + + + Ethylene, acetylene and propylene in mixture, refrigerated liquid [with atleast71.5percent ethylene with not more than 22.5 percent acetylene and not more than 6 percent propylene] + + + + + Oxidizing liquid, n.o.s. + + + + + Alkaloids, liquid, n.o.s., [or] Alkaloid salts, liquid, n.o.s. + + + + + Antimony compounds, inorganic, liquid, n.o.s. + + + + + Disinfectants, liquid, toxic, n.o.s. + + + + + Dyes, solid, toxic, n.o.s. [or] Dye intermediates, solid, toxic, n.o.s. + + + + + Nicotine compounds, liquid, n.o.s. [or] Nicotine preparations, liquid, n.o.s. + + + + + Alkylphenols, liquid, n.o.s. [(including C2-C12 homologues)] + + + + + Organotin compounds, solid, n.o.s. + + + + + Dyes, solid, corrosive, n.o.s. [or] Dye intermediates, solid, corrosive, n.o.s. + + + + + Water-reactive liquid, n.o.s. + + + + + Hydrogen peroxide and peroxyacetic acid mixtures, stabilized [with acids, waterand not more than 5 percent peroxyacetic acid] + + + + + Devices, small, hydrocarbon gas powered [or] Hydrocarbon gas refills for small devices [with release device] + + + + + Polyhalogenated biphenyls, liquid [or] Polyhalogenated terphenyls liquid + + + + + Polyhalogenated biphenyls, solid [or] Polyhalogenated terphenyls, solid + + + + + Perfluoro(methyl vinyl ether) + + + + + Perfluoro(ethyl vinyl ether) + + + + + Pentachlorophenol + + + + + Compressed gas, oxidizing, n.o.s. + + + + + Liquefied gas, oxidizing, n.o.s. + + + + + Gas, refrigerated liquid, n.o.s. [(cryogenic liquid)] + + + + + 1,1,1,2-Tetrafluoroethane [or] Refrigerant gas R 134a + + + + + Liquefied gas, toxic, flammable, n.o.s. [Inhalation Hazard Zone A] + + + + + Liquefied gas, flammable, n.o.s. + + + + + Liquefied gas, toxic, n.o.s. [Inhalation Hazard Zone A] + + + + + Liquefied gas, n.o.s. + + + + + Articles, pressurized pneumatic [or] hydraulic [containing non-flammable gas] + + + + + Aircraft hydraulic power unit fuel tank [(containing a mixture of anhydroushydrazineand monomethyl hydrazine) (M86 fuel)] + + + + + Engines, internal combustion, [flammable gas powered] + + + + + Gas sample, non-pressurized, flammable, n.o.s., [not refrigerated liquid] + + + + + Gas sample, non-pressurized, toxic, flammable, n.o.s., [not refrigerated liquid] + + + + + Gas sample, non-pressurized, toxic, n.o.s., [not refrigerated liquid] + + + + + Aluminum smelting by-products [or] Aluminum remelting by-products + + + + + Battery-powered vehicle [or] Battery-powered equipment + + + + + Toxins, extracted from living sources, liquid, n.o.s. + + + + + Titanium disulphide + + + + + Solids containing flammable liquid, n.o.s. + + + + + Flammable solid, organic, molten, n.o.s. + + + + + Flammable solid, inorganic, n.o.s. + + + + + Flammable solid, toxic, inorganic, n.o.s. + + + + + Flammable solid, corrosive, inorganic, n.o.s. + + + + + Metal salts of organic compounds, flammable, n.o.s. + + + + + Metal hydrides, flammable, n.o.s. + + + + + Self-heating liquid, organic, n.o.s. + + + + + Self-heating liquid, toxic, organic, n.o.s. + + + + + Self-heating liquid, corrosive, organic, n.o.s. + + + + + Self-heating liquid, inorganic, n.o.s. + + + + + Self-heating liquid, toxic, inorganic, n.o.s. + + + + + Self-heating liquid, corrosive, inorganic, n.o.s. + + + + + Metal powder, self-heating, n.o.s. + + + + + Self-heating solid, inorganic, n.o.s. + + + + + Self-heating solid, toxic, inorganic, n.o.s. + + + + + Self-heating solid, corrosive, inorganic, n.o.s. + + + + + Pyrophoric liquid, inorganic, n.o.s. + + + + + Pyrophoric solid, inorganic, n.o.s. + + + + + Alkaline earth metal alcoholates, n.o.s. + + + + + Alkali metal alcoholates, self-heating, corrosive, n.o.s. + + + + + Metallic substance, water-reactive, n.o.s. + + + + + Metallic substance, water-reactive, self-heating, n.o.s. + + + + + Chlorates, inorganic, aqueous solution, n.o.s. + + + + + Perchlorates, inorganic, aqueous solution, n.o.s. + + + + + Hypochlorites, inorganic, n.o.s. + + + + + Bromates, inorganic, aqueous solution, n.o.s. + + + + + Permanganates, inorganic, aqueous solution, n.o.s. + + + + + Persulfates, inorganic, n.o.s. + + + + + Persulfates, inorganic, aqueous solution, n.o.s. + + + + + Nitrates, inorganic, aqueous solution, n.o.s. + + + + + Nitrites, inorganic, aqueous solution, n.o.s. + + + + + Pentafluoroethane [or] Refrigerant gas R 125 + + + + + Self-reactive liquid type B + + + + + Self-reactive solid type B + + + + + Self-reactive liquid type C + + + + + Self-reactive solid type C + + + + + Self-reactive liquid type D + + + + + Self-reactive solid type D + + + + + Self-reactive liquid type E + + + + + Self-reactive solid type E + + + + + Self-reactive liquid type F + + + + + Self-reactive solid type F + + + + + Self-reactive liquid type B, temperature controlled + + + + + Self-reactive solid type B, temperature controlled + + + + + Self-reactive liquid type C, temperature controlled + + + + + Self-reactive solid type C, temperature controlled + + + + + Self-reactive liquid type D, temperature controlled + + + + + Self-reactive solid type D, temperature controlled + + + + + Self-reactive liquid type E, temperature controlled + + + + + Self-reactive solid type E, temperature controlled + + + + + Self-reactive liquid type F, temperature controlled + + + + + Self-reactive solid type F, temperature controlled + + + + + 2-Bromo-2-nitropropane-1,3-diol + + + + + Azodicarbonamide + + + + + Solids containing toxic liquid, n.o.s. + + + + + Solids containing corrosive liquid, n.o.s. + + + + + Methanesulfonyl chloride + + + + + Sodium peroxoborate, anhydrous + + + + + Medicine, liquid, flammable, toxic, n.o.s. + + + + + Medicine, solid, toxic, n.o.s. + + + + + Chloroacetic acid, molten + + + + + Isosorbide-5-mononitrate + + + + + Difluoromethane [or] Refrigerant gas R 32 + + + + + Disodium trioxosilicate + + + + + Tributylphosphane + + + + + tert-Butyl hypochlorite + + + + + Elevated temperature liquid, flammable, n.o.s., [with flash point above 37.8 C,atorabove its flash point] + + + + + Elevated temperature liquid, n.o.s., [at or above 100 C and below its flashpoint(including molten metals, molten salts, etc.)] + + + + + Elevated temperature solid, n.o.s., [at or above 240 C, see 173.247(h)(4)] + + + + + Amines, solid, corrosive, n.o.s., [or] Polyamines, solid, corrosive n.o.s. + + + + + Corrosive solid, acidic, inorganic, n.o.s. + + + + + Corrosive solid, acidic, organic, n.o.s. + + + + + Corrosive solid, basic, inorganic, n.o.s. + + + + + Corrosive solid, basic, organic, n.o.s. + + + + + Corrosive liquid, acidic, inorganic, n.o.s. + + + + + Corrosive liquid, acidic, organic, n.o.s. + + + + + Corrosive liquid, basic, inorganic, n.o.s. + + + + + Corrosive liquid, basic, organic, n.o.s. + + + + + Air bag inflators, [or] Air bag modules, [or] Seat-belt pretensioners. + + + + + Polyester resin kit + + + + + Nitrocellulose membrane filters, [with not more than 12.6% nitrogen, by drymass] + + + + + Ethers, n.o.s. + + + + + Esters, n.o.s. + + + + + Nitriles, flammable, toxic, n.o.s. + + + + + Alcoholates solution, n.o.s., [in alcohol] + + + + + Nitriles, toxic, flammable, n.o.s. + + + + + Nitriles, toxic, liquid, n.o.s. + + + + + Chloroformates, toxic, corrosive, n.o.s. + + + + + Organophosphorus compound, toxic, liquid, n.o.s. + + + + + Organophosphorus compound, toxic, flammable, n.o.s. + + + + + Organoarsenic compound, liquid, n.o.s. + + + + + Metal carbonyls, liquid, n.o.s. + + + + + Organometallic compound, toxic, liquid, n.o.s. + + + + + Selenium compound, solid, n.o.s. + + + + + Tellurium compound, n.o.s. + + + + + Vanadium compound, n.o.s. + + + + + Flammable liquid, toxic, corrosive, n.o.s. + + + + + Toxic liquid, inorganic, n.o.s. + + + + + Toxic solid, inorganic, n.o.s. + + + + + Toxic liquid, corrosive, inorganic, n.o.s. + + + + + Toxic solid, corrosive, inorganic, n.o.s. + + + + + Regulated medical waste + + + + + Batteries, containing sodium + + + + + Hydrazine, aqueous solution [with not more than 37 percent hydrazine, by mass] + + + + + Hydrogen cyanide, solution in alcohol [with not more than 45 percent hydrogen cyanide] + + + + + Hydrocarbons, liquid, n.o.s. + + + + + Heptafluoropropane [or] Refrigerant gas R 227 + + + + + Ethylene oxide and chlorotetrafluoroethane mixture [with not more than 8.8percentethylene oxide] + + + + + Ethylene oxide and pentafluoroethane mixture [with not more than 7.9 percent ethyleneoxide] + + + + + Ethylene oxide and tetrafluoroethane mixture [with not more than 5.6 percent ethyleneoxide] + + + + + Ethylene oxide and carbon dioxide mixture [with more than 87 percent ethylene oxide] + + + + + Corrosive liquid, self-heating, n.o.s. + + + + + 2-Dimethylaminoethyl acrylate + + + + + Compressed gas, toxic, oxidizing, n.o.s. [Inhalation Hazard Zone A] + + + + + Compressed gas, toxic, corrosive, n.o.s. [Inhalation Hazard Zone A] + + + + + Compressed gas, toxic, flammable, corrosive, n.o.s. [Inhalation Hazard ZoneA] + + + + + Compressed gas, toxic, oxdizing, corrosive, n.o.s. [Inhalation Hazard ZoneA] + + + + + Liquefied gas, toxic, oxidizing, n.o.s. [Inhalation Hazard Zone A] + + + + + Liquefied gas, toxic, corrosive, n.o.s. [Inhalation Hazard Zone A] + + + + + Liquefied gas toxic, flammable, corrosive, n.o.s. [Inhalation Hazard Zone B] + + + + + Liquefied gas, toxic, oxidizing, corrosive, n.o.s. [Inhalation Hazard ZoneA] + + + + + Gas, refrigerated liquid, oxidizing, n.o.s. [(cryogenic liquid)] + + + + + Gas, refrigerated liquid, flammable, n.o.s. [(cryogenic liquid)] + + + + + Organic pigments, self-heating + + + + + Plastic molding compound [in dough, sheet or extruded rope form evolving flammablevapor] + + + + + Chemical kits + + + + + 2-Amino-4,6-Dinitrophenol, wetted [with not less than 20 percent water by mass] + + + + + Ammonia solution, [relative density less than 0.880 at 15 degrees C in water, withmore than 50 percent ammonia] + + + + + Nitroglycerin mixture, desensitized, solid, n.o.s. [with more than 2 percent butnotmore than 10 percent nitroglycerin, by mass] + + + + + Sodium borohydride and sodium hydroxide solution, [with not more than 12 percentsodium borohydride and not more than 40 percent sodium hydroxide by mass] + + + + + Radioactive material, low specific activity (LSA-II) [non fissile or fissile-excepted] + + + + + Radioactive material, low specific activity (LSA-III) [non fissile or fissile excepted] + + + + + Radioactive material, Type A package, fissile [non-special form] + + + + + Radioactive material, Type B(U) package, fissile + + + + + Radioactive material, Type B(M) package, fissile + + + + + Radioactive material, transported under special arrangement, fissile + + + + + Radioactive material, Type A package, special form [non fissile or fissile-excepted] + + + + + Radioactive material, Type A package, special form, fissile + + + + + Aviation regulated liquid, n.o.s. + + + + + Aviation regulated solid, n.o.s. + + + + + Mercaptans, liquid, flammable, n.o.s. [or] Mercaptan mixture, liquid, flammable,n.o.s. + + + + + Refrigerant gas R 404A + + + + + Refrigerant gas R 407A + + + + + Refrigerant gas R 407B + + + + + Refrigerant gas R 407C + + + + + Thiourea dioxide + + + + + Xanthates + + + + + Nitroglycerin mixture, desensitized, liquid, flammable, n.o.s. [with not more than30percent nitroglycerin, by mass] + + + + + Pentaerythrite tetranitrate mixture, desensitized, solid, n.o.s. [with morethan10 percent but not more than 20 percent PETN, by mass] + + + + + Phenoxyacetic acid derivative pesticide, solid, toxic + + + + + Phenoxyacetic acid derivative pesticide, liquid, flammable, toxic [flash point less than 23 degrees C] + + + + + Phenoxyacetic acid derivative pesticide, liquid, toxic, flammable, [flash pointnot less than 23 degrees C] + + + + + Phenoxyacetic acid derivative pesticide, liquid, toxic + + + + + Pyrethroid pesticide, solid, toxic + + + + + Pyrethroid pesticide, liquid, flammable, toxic, [flash point less than 23 degreesC] + + + + + Pyrethroid pesticide, liquid, toxic, flammable, [flash point not less than23 degreesC] + + + + + Pyrethroid pesticide, liquid toxic + + + + + Insecticide gases, flammable, n.o.s. + + + + + Insecticide gases, toxic, flammable, n.o.s. [Inhalation hazard Zone A] + + + + + Oxygen generator, chemical [(including when contained in associated equipment, e.g.,passenger service units (PSUs), portable breathing equipment (PBE), etc).] + + + + + Nitroglycerin mixture, desensitized, liquid, n.o.s. [with not more than 30%nitroglycerin, by mass] + + + + + Refrigerating machines, [containing flammable, non-toxic, liquefied gas] + + + + + Fibers, vegetable, dry + + + + + Chlorosilanes, toxic, corrosive, n.o.s. + + + + + Chlorosilanes, toxic, corrosive, flammable, n.o.s. + + + + + Dangerous Goods in Machinery [or] Dangerous Goods in Apparatus + + + + + Trinitrophenol (picric acid), wetted, [with not less than 10 percent waterby mass] + + + + + Trinitrobenzene (picryl chloride), wetted, [with not less than 10% water bymass] + + + + + Trinitrotoluene (TNT), wetted, [with not less than 10 percent water by mass] + + + + + Trinitrobenzene, wetted, [with not less than 10% water, by mass] + + + + + Trinitrobenzoic acid, wetted [with not less than 10% water by mass] + + + + + Sodium dinitro-o-cresolate, wetted [with not less than 10% water, by mass] + + + + + Urea nitrate, wetted, [with not less than 10 percent water by mass] + + + + + 2-Methlybutanal + + + + + Ammonium nitrate emulsion [or] Ammonium nitrate suspension [or] Ammonium nitrategel,[intermediate for blasting explosives] + + + + + 4-Nitrophenylhydrazine, [with not less than 30% water, by mass] + + + + + Sodium perborate monohydrate + + + + + Sodium carbonate peroxyhydrate + + + + + Desensitized explosive, liquid, n.o.s. + + + + + Desensitized explosive, solid, n.o.s. + + + + + Toxic by inhalation liquid, n.o.s. [with an inhalation toxicity lower thanor equal to 200 ml/m3 and saturated vapor concentration greater than or equal to 500 LC50] + + + + + Toxic by inhalation liquid, n.o.s. [with an inhalation toxicity toxicity lower than or equal to 1000 ml/m3 and saturated vapor concentration greater than or equal to 10 LC50] + + + + + Toxic by inhalation liquid, flammable, n.o.s. [with an inhalation toxicitylowerthanor equal to 200 ml/m3 and saturated vapor concentration greater than or equal to 500 LC50] + + + + + Toxic by inhalation liquid, flammable, n.o.s. [with an inhalation toxicitylowerthanor equal to 1000 ml/m3 and saturated vapor concentration greater than or equal to 10 LC50] + + + + + Toxic by inhalation liquid, water-reactive, n.o.s. [with an inhalation toxicitylowerthan or equal to 200 ml/m3 and saturated vapor concentration greater than or equal to 500 LC50] + + + + + Toxic by inhalation liquid, water-reactive, n.o.s. [with an inhalation toxicitylowerthan or equal to 1000 ml/m3 and saturated vapor concentration greater than or equal to 10 LC50] + + + + + Toxic by inhalation liquid, oxidizing, n.o.s. [with an inhalation toxicitylowerthanor equal to 200 ml/m3 and saturated vapor concentration greater than or equal to 500 LC50] + + + + + Toxic by inhalation liquid, oxidizing, n.o.s. [with an inhalation toxicitylowerthanor equal to 1000 ml/m3 and saturated vapor concentration greater than or equal to 10 LC50] + + + + + Toxic by inhalation liquid, corrosive, n.o.s. [with an inhalation toxicitylowerthanor equal to 200 ml/m3 and saturated vapor concentration greater than or equal to 500 LC50] + + + + + Toxic by inhalation liquid, corrosive, n.o.s. [with an inhalation toxicitylowerthanor equal to 1000 ml/m3 and saturated vapor concentration greater than or equal to 10 LC50] + + + + + Organometallic substance, solid, pyrophoric + + + + + Organometallic substance, liquid, pyrophoric + + + + + Organometallic substance, solid, pyrophoric, water-reactive + + + + + Organometallic substance, liquid, pyrophoric, water-reactive + + + + + Organometallic substance, solid, water-reactive + + + + + Organometallic substance, solid, water-reactive, flammable + + + + + Organometallic substance, solid, water-reactive, self-heating + + + + + Organometallic substance, liquid, water-reactive + + + + + Organometallic substance, liquid, water-reactive, flammable + + + + + Organometallic substance, solid, self-heating + + + + + Alkali metal amalgam, solid + + + + + Alkaline earth metal amalgams, solid + + + + + Potassium, metal alloys, solid + + + + + Potassium sodium alloys, solid + + + + + Barium chlorate, solution + + + + + Barium perchlorate, solution + + + + + Chlorate and magnesium chloride mixture solution + + + + + Lead perchlorate, solution + + + + + Chloronitrobenzene, liquid [ortho] + + + + + 4-Chloro-o-toluidine hydrochloride, solution + + + + + beta-Naphthylamine solution + + + + + Potassium cyanide solution + + + + + Sodium cyanide solution + + + + + Sodium fluoride solution + + + + + Chloroacetophenone, liquid [CN] + + + + + Xylyl bromide, solid + + + + + 2,4-Toluylenediamine solution [or] 2,4-Toluenediamine solution + + + + + Boron trifluoride acetic acid complex, solid + + + + + Boron trifluoride propionic acid complex, solid + + + + + Potassium hydrogendifluoride solution + + + + + Potassium fluoride solution + + + + + Tetramethylammonium hydroxide, solid + + + + + Ammonium dinitro-o-cresolate solution + + + + + Bromoacetic acid, solid + + + + + Acrylamide solution + + + + + Chlorobenzyl chlorides, solid + + + + + 3-Chloro-4-methylphenyl isocyanate, solid + + + + + Chlorotoluidines, liquid + + + + + Xylenols, liquid + + + + + Nitrobenzotrifluorides, solid + + + + + Polychlorinated biphenyls, solid + + + + + Lithium alkyls, solid + + + + + Nitrocresols, liquid + + + + + Hydroquinone solution + + + + + Hexafluoroacetone hydrate, solid + + + + + Chlorocresols, solid + + + + + alpha-Methylbenzyl alcohol, solid + + + + + Nitriles, toxic, solid, n.o.s. + + + + + Selenium compound, liquid, n.o.s. + + + + + Chlorodinitro-benzenes, solid + + + + + Dichloroanilines, solid + + + + + Dinitrobenzenes, solid + + + + + Nicotine hydrochloride, solid + + + + + Nicotine sulphate, solid + + + + + Nitrotoluenes, solid + + + + + Nitroxylenes, solid + + + + + Tear gas substance, solid, n.o.s. + + + + + Bromobenzyl cyanides, solid + + + + + Diphenyl-chloroarsine, solid + + + + + Toluidines, solid + + + + + Xylidines, solid + + + + + Phosphoric acid, solid + + + + + Dinitrotoluenes, solid + + + + + Cresols, solid + + + + + Nitrosylsulphuric acid, solid + + + + + Chloronitrotoluenes, solid + + + + + Nitroanisoles, solid + + + + + Nitrobromobenzenes, solid + + + + + N-Ethylbenzyltoluidines, solid + + + + + Aluminium alkyl halides, solid + + + + + Toxins, extracted from living sources, solid, n.o.s. + + + + + Organophosphorus compound, toxic, solid, n.o.s. + + + + + Organoarsenic compound, solid, n.o.s. + + + + + Metal carbonyls, solid, n.o.s. + + + + + Organometallic compound, toxic, solid, n.o.s. + + + + + Hydrogen in a metal hydride storage system + + + + + + + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/iso_4217/2.0/iso_4217.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/iso_4217/2.0/iso_4217.xsd new file mode 100644 index 00000000..0245be57 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/iso_4217/2.0/iso_4217.xsd @@ -0,0 +1,1026 @@ + + + + Codes for the representation of currencies and funds from the International Organization for Standardization (ISO) 4217:2001. + + true + + + + + + + A data type for a currency that qualifies a monetary amount. + + + + + + + + Andorran Peseta: Andorra + + + + + UAE Dirham: United Arab Emirates + + + + + Afghani: Afghanistan + + + + + Lek: Albania + + + + + Armenian Dram: Armenia + + + + + Antillian Guilder: Netherlands Antilles + + + + + New Kwanza: Angola + + + + + Kwanza Reajustado: Angola + + + + + Argentine Peso: Argentina + + + + + Schilling: Austria + + + + + Australian Dollar: Australia, Christmas Island, Cocos (Keeling) Islands, Heard and Mcdonald Islands, Kiribati, Nauru, Norfolk Island, Tuvalu + + + + + Aruban Guilder: Aruba + + + + + Azerbaijanian Manat: Azerbaijan + + + + + Convertible Marks: Bosnia and Herzegovina + + + + + Barbados Dollar: Barbados + + + + + Taka: Bangladesh + + + + + Belgian Franc: Belgium + + + + + Lev: Bulgaria + + + + + Bulgarian LEV: Bulgaria + + + + + Bahraini Dinar: Bahrain + + + + + Burundi Franc: Burundi + + + + + Bermudian Dollar: Bermuda + + + + + Brunei Dollar: Brunei Darussalam + + + + + Brazilian Real: Brazil + + + + + Bahamian Dollar: Bahamas + + + + + Ngultrum: Bhutan + + + + + Pula: Botswana + + + + + Belarussian Ruble: Belarus + + + + + Belize Dollar: Belize + + + + + Canadian Dollar: Canada + + + + + Franc Congolais: Congo, The Democratic Republic Of + + + + + Swiss Franc: Liechtenstein, Switzerland + + + + + Unidades de fomento: Chile + + + + + Chilean Peso: Chile + + + + + Yuan Renminbi: China + + + + + Colombian Peso: Colombia + + + + + Costa Rican Colon: Costa Rica + + + + + Cuban Peso: Cuba + + + + + Cape Verde Escudo: Cape Verde + + + + + Cyprus Pound: Cyprus + + + + + Czech Koruna: Czech Republic + + + + + Deutsche Mark: Germany + + + + + Djibouti Franc: Djibouti + + + + + Danish Krone: Denmark, Faeroe Islands, Greenland + + + + + Dominican Peso: Dominican Republic + + + + + Algerian Dinar: Algeria + + + + + Sucre: Ecuador + + + + + Unidad de Valor Constante (UVC): Ecuador + + + + + Kroon: Estonia + + + + + Egyptian Pound: Egypt + + + + + Nakfa: Eritrea + + + + + Spanish Peseta: Andorra, Spain + + + + + Ethiopian Birr: Ethiopia + + + + + Euro: + + + + + Markka: Finland + + + + + Fiji Dollar: Fiji + + + + + Pound: Falkland Islands (Malvinas) + + + + + French Franc: Andorra, France, French Guiana, French Southern Territories, Guadeloupe, Martinique, Monaco, Reunion, St Pierre and Miquelon + + + + + Pound Sterling: United Kingdom + + + + + Lari: Georgia + + + + + Cedi: Ghana + + + + + Gibraltar Pound: Gibraltar + + + + + Dalasi: Gambia + + + + + Guinea Franc: Guinea + + + + + Drachma: Greece + + + + + Quetzal: Guatemala + + + + + Guinea-Bissau Peso: Guinea-Bissau + + + + + Guyana Dollar: Guyana + + + + + Hong Kong Dollar: Hong Kong + + + + + Lempira: Honduras + + + + + Kuna: Croatia + + + + + Gourde: Haiti + + + + + Forint: Hungary + + + + + Rupiah: East Timor, Indonesia + + + + + Irish Pound: Ireland + + + + + New Israeli Sheqel: Israel + + + + + Indian Rupee: Bhutan, India + + + + + Iraqi Dinar: Iraq + + + + + Iranian Rial: Iran (Islamic Republic Of) + + + + + Iceland Krona: Iceland + + + + + Italian Lira: Italy, San Marino, Vatican City State (Holy See) + + + + + Jamaican Dollar: Jamaica + + + + + Jordanian Dinar: Jordan + + + + + Yen: Japan + + + + + Kenyan Shilling: Kenya + + + + + Som: Kyrgyzstan + + + + + Riel: Cambodia + + + + + Comoro Franc: Comoros + + + + + North Korean Won: Korea, Democratic People's Republic Of + + + + + Won: Korea, Republic Of + + + + + Kuwaiti Dinar: Kuwait + + + + + Cayman Islands Dollar: Cayman Islands + + + + + Tenge: Kazakhstan + + + + + Kip: Lao People's Democratic Republic + + + + + Lebanese Pound: Lebanon + + + + + Sri Lanka Rupee: Sri Lanka + + + + + Liberian Dollar: Liberia + + + + + Loti: Lesotho + + + + + Lithuanian Litas: Lithuania + + + + + Luxembourg Franc: Luxembourg + + + + + Latvian Lats: Latvia + + + + + Libyan Dinar: Libyan Arab Jamahiriya + + + + + Moroccan Dirham: Morocco, Western Sahara + + + + + Moldovan Leu: Moldova, Republic Of + + + + + Malagasy Franc: Madagascar + + + + + Denar: Macedonia, The Former Yugoslav Republic Of + + + + + Kyat: Myanmar + + + + + Tugrik: Mongolia + + + + + Pataca: Macau + + + + + Ouguiya: Mauritania + + + + + Maltese Lira: Malta + + + + + Mauritius Rupee: Mauritius + + + + + Rufiyaa: Maldives + + + + + Kwacha: Malawi + + + + + Mexican Peso: Mexico + + + + + Mexican Unidad de Inversion (UDI): Mexico + + + + + Malaysian Ringgit: Malaysia + + + + + Metical: Mozambique + + + + + Namibia Dollar: Namibia + + + + + Naira: Nigeria + + + + + Cordoba Oro: Nicaragua + + + + + Netherlands Guilder: Netherlands + + + + + Norwegian Krone: Bouvet Island, Norway, Svalbard and Jan Mayen Islands + + + + + Nepalese Rupee: Nepal + + + + + New Zealand Dollar: Cook Islands, New Zealand, Niue, Pitcairn, Tokelau + + + + + Rial Omani: Oman + + + + + Balboa: Panama + + + + + Nuevo Sol: Peru + + + + + Kina: Papua New Guinea + + + + + Philippine Peso: Philippines + + + + + Pakistan Rupee: Pakistan + + + + + Zloty: Poland + + + + + Portuguese Escudo: Portugal + + + + + Guarani: Paraguay + + + + + Qatari Rial: Qatar + + + + + Leu: Romania + + + + + Russian Ruble: Russian Federation + + + + + Russian Ruble: Russian Federation + + + + + Rwanda Franc: Rwanda + + + + + Saudi Riyal: Saudi Arabia + + + + + Solomon Islands Dollar: Solomon Islands + + + + + Seychelles Rupee: Seychelles + + + + + Sudanese Dinar: Sudan + + + + + Swedish Krona: Sweden + + + + + Singapore Dollar: Singapore + + + + + St Helena Pound: St Helena + + + + + Tolar: Slovenia + + + + + Slovak Koruna: Slovakia + + + + + Leone: Sierra Leone + + + + + Somali Shilling: Somalia + + + + + Surinam Guilder: Suriname + + + + + Dobra: Sao Tome and Principe + + + + + El Salvador Colon: El Salvador + + + + + Syrian Pound: Syrian Arab Republic + + + + + Lilangeni: Swaziland + + + + + Baht: Thailand + + + + + Tajik Ruble (old): Tajikistan (Old) + + + + + Somoni: Tajikistan + + + + + Manat: Turkmenistan + + + + + Tunisian Dinar: Tunisia + + + + + Pa'anga: Tonga + + + + + Timor Escudo: East Timor + + + + + Turkish Lira: Turkey + + + + + Trinidad and Tobago Dollar: Trinidad and Tobago + + + + + New Taiwan Dollar: Taiwan, Province Of China + + + + + Tanzanian Shilling: Tanzania, United Republic Of + + + + + Hryvnia: Ukraine + + + + + Uganda Shilling: Uganda + + + + + US Dollar: American Samoa, British Indian Ocean Territory,, Guam, Haiti, Marshall Islands, Micronesia, Northern Mariana Islands, Palau, Panama, Puerto Rico, Turks and Caicos Islands, United States, United States Minor Outlaying Islands, Virgin Islands (British), Virgin Islands (U.S.) + + + + + (Next day): United States + + + + + (Same day): United States + + + + + Peso Uruguayo: Uruguay + + + + + Uzbekistan Sum: Uzbekistan + + + + + Bolivar: Venezuela + + + + + Dong: Vietnam + + + + + Vatu: Vanuatu + + + + + Tala: Samoa + + + + + CFA Franc BEAC: Cameroon, Central African Republic, Chad, Congo, Equatorial Guinea, Gabon + + + + + Silver: Bond Markets Units + + + + + Gold Bond Markets Units: + + + + + European Composite Unit (EURCO): Bond Markets Units + + + + + European Monetary Unit (E.M.U.-6): Bond Markets Units + + + + + European Unit of Account 9 (E.U.A.- 9): Bond Markets Units + + + + + European Unit of Account 17 (E.U.A.- 17): Bond Markets Units + + + + + East Caribbean Dollar: Anguilla, Antigua and Barbuda, Dominica, Grenada, Montserrat, St Kitts - Nevis, Saint Lucia, Saint Vincent and The Grenadines + + + + + SDR: International Monetary Fund (Imf) + + + + + Gold-Franc: Special settlement currencies + + + + + UIC-Franc: Special settlement currencies + + + + + CFA Franc BCEAO: Benin, Burkina Faso, Cote D'ivoire, Guinea-Bissau, Mali, Niger, Senegal, Togo + + + + + Palladium: Bond Markets Units + + + + + CFP Franc: French Polynesia, New Caledonia, Wallis and Futuna Islands + + + + + Platinum: Bond Markets Units + + + + + Codes specifically reserved for testing purposes: + + + + + The codes assigned for transactions where no currency is involved are:: + + + + + Yemeni Rial: Yemen + + + + + New Dinar: Yugoslavia + + + + + (financial Rand): Lesotho + + + + + Rand: Lesotho, Namibia, South Africa + + + + + Kwacha: Zambia + + + + + New Zaire: Zaire + + + + + Zimbabwe Dollar: Zimbabwe + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/iso_639-3/2.0/iso_639-3.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/iso_639-3/2.0/iso_639-3.xsd new file mode 100644 index 00000000..8b1d139d --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/iso_639-3/2.0/iso_639-3.xsd @@ -0,0 +1,37979 @@ + + + + Codes for the representation of names of languages - Part 3: Alpha-3 code for comprehensive coverage of languages. + + true + + + + + + + A data type for language codes. + + + + + + + + Ghotuo + + + + + Alumu-Tesu + + + + + Ari + + + + + Amal + + + + + Arbereshe Albanian + + + + + Aranadan + + + + + Arifama-Miniafia + + + + + Ankave + + + + + Afade + + + + + Aramanik + + + + + Anambe + + + + + Algerian Saharan Arabic + + + + + Para Arara + + + + + Eastern Abnaki + + + + + Afar + + + + + Aasax + + + + + Arvanitika Albanian + + + + + Abau + + + + + Solong + + + + + Mandobo Atas + + + + + Aariya + + + + + Amarasi + + + + + Abe + + + + + Bankon + + + + + Ambala Ayta + + + + + Camarines Norte Agta + + + + + Western Abnaki + + + + + Abai Sungai + + + + + Abaga + + + + + Tajiki Arabic + + + + + Abidji + + + + + Aka-Bea + + + + + Abkhazian + + + + + Abung + + + + + Abanyom + + + + + Abua + + + + + Abon + + + + + Abenlen Ayta + + + + + Abaza + + + + + Abron + + + + + Ambonese Malay + + + + + Ambulas + + + + + Abure + + + + + Baharna Arabic + + + + + Pal + + + + + Inabaknon + + + + + Aneme Wake + + + + + Abui + + + + + Achagua + + + + + Anca + + + + + Cubulco Achi + + + + + Gikyode + + + + + Achinese + + + + + Saint Lucian Creole French + + + + + Acoli + + + + + Aka-Cari + + + + + Aka-Kora + + + + + Akar-Bale + + + + + Mesopotamian Arabic + + + + + Achang + + + + + Eastern Acipa + + + + + Ta'izzi-Adeni Arabic + + + + + Rabinal Achi + + + + + Acroa + + + + + Achterhoeks + + + + + Achuar-Shiwiar + + + + + Achumawi + + + + + Hijazi Arabic + + + + + Omani Arabic + + + + + Cypriot Arabic + + + + + Acheron + + + + + Adangme + + + + + Adabe + + + + + Dzodinka + + + + + Adele + + + + + Dhofari Arabic + + + + + Andegerebinha + + + + + Adhola + + + + + Adi + + + + + Adioukrou + + + + + Galo Adi + + + + + Adang + + + + + Abu + + + + + Adap + + + + + Adangbe + + + + + Adonara + + + + + Adamorobe Sign Language + + + + + Adynyamathanha + + + + + Aduge + + + + + Amundava + + + + + Amdo Tibetan + + + + + Adyghe + + + + + Areba + + + + + Tunisian Arabic + + + + + Saidi Arabic + + + + + Argentine Sign Language + + + + + Northeast Pashayi + + + + + Haeke + + + + + Ambele + + + + + Arem + + + + + Armenian Sign Language + + + + + Aer + + + + + Eastern Arrernte + + + + + Alsea + + + + + Ambakich + + + + + Amerax + + + + + Amele + + + + + Gulf Arabic + + + + + Putukwam + + + + + Afrihili + + + + + Akrukay + + + + + Defaka + + + + + Eloyi + + + + + Afrikaans + + + + + Afro-Seminole Creole + + + + + Afitti + + + + + Awutu + + + + + Obokuitai + + + + + Aguano + + + + + Legbo + + + + + Agatu + + + + + Agarabi + + + + + Angal + + + + + Arguni + + + + + Angor + + + + + Ngelima + + + + + Agariya + + + + + Argobba + + + + + Isarog Agta + + + + + Fembe + + + + + Angaatiha + + + + + Agutaynen + + + + + Tainae + + + + + Paranan + + + + + Aghem + + + + + Aguaruna + + + + + Esimbi + + + + + Central Cagayan Agta + + + + + Aguacateco + + + + + Remontado Agta + + + + + Kahua + + + + + Aghul + + + + + Southern Alta + + + + + Mt. Iriga Agta + + + + + Ahanta + + + + + Axamb + + + + + Ahe + + + + + Qimant + + + + + Aghu + + + + + Tiagbamrin Aizi + + + + + Akha + + + + + Igo + + + + + Mobumrin Aizi + + + + + Ahan + + + + + Ahom + + + + + Aproumu Aizi + + + + + Ahirani + + + + + Ashe + + + + + Ahtena + + + + + Arosi + + + + + Ainu (China) + + + + + Ainbai + + + + + Alngith + + + + + Amara + + + + + Agi + + + + + Antigua and Barbuda Creole English + + + + + Ai-Cham + + + + + Assyrian Neo-Aramaic + + + + + Lishanid Noshan + + + + + Ake + + + + + Aimele + + + + + Aimol + + + + + Ainu (Japan) + + + + + Aiton + + + + + Burumakok + + + + + Aimaq + + + + + Airoran + + + + + Nataoran Amis + + + + + Arikem + + + + + Aigon + + + + + Ali + + + + + Aari + + + + + Aja (Sudan) + + + + + Aja (Benin) + + + + + Ajie + + + + + South Levantine Arabic + + + + + Judeo-Tunisian Arabic + + + + + Judeo-Moroccan Arabic + + + + + Ajawa + + + + + Amri + + + + + Akan + + + + + Batak Angkola + + + + + Mpur + + + + + Ukpet-Ehom + + + + + Akawaio + + + + + Akpa + + + + + Anakalangu + + + + + Angal Heneng + + + + + Aiome + + + + + Aka-Jeru + + + + + Akkadian + + + + + Aklanon + + + + + Aka-Bo + + + + + Amikoana + + + + + Akurio + + + + + Siwu + + + + + Ak + + + + + Araki + + + + + Akaselem + + + + + Akolet + + + + + Akum + + + + + Akhvakh + + + + + Akwa + + + + + Aka-Kede + + + + + Aka-Kol + + + + + Alabama + + + + + Alago + + + + + Qawasqar + + + + + Alladian + + + + + Aleut + + + + + Alege + + + + + Alawa + + + + + Amaimon + + + + + Alangan + + + + + Alak + + + + + Allar + + + + + Amblong + + + + + Gheg Albanian + + + + + Larike-Wakasihu + + + + + Alune + + + + + Algonquin + + + + + Alutor + + + + + Tosk Albanian + + + + + Southern Altai + + + + + 'Areare + + + + + Alaba + + + + + Alatil + + + + + Alyawarr + + + + + Alur + + + + + Amanaye + + + + + Ambo + + + + + Amahuaca + + + + + Amapa Creole + + + + + Yanesha' + + + + + Hamer-Banna + + + + + Amarag + + + + + Amharic + + + + + Amis + + + + + Amdang + + + + + Ambai + + + + + War + + + + + Ama (Papua New Guinea) + + + + + Amanab + + + + + Amo + + + + + Alamblak + + + + + Amahai + + + + + Amarakaeri + + + + + Southern Amami-Oshima + + + + + Amto + + + + + Guerrero Amuzgo + + + + + Ambelau + + + + + Western Neo-Aramaic + + + + + Anmatyerre + + + + + Ami + + + + + Atampaya + + + + + Andaqui + + + + + Andoa + + + + + Ngas + + + + + Ansus + + + + + Xaracuu + + + + + Animere + + + + + Old English (ca. 450-1100) + + + + + Nend + + + + + Andi + + + + + Anor + + + + + Goemai + + + + + Anu + + + + + Anal + + + + + Obolo + + + + + Andoque + + + + + Angika + + + + + Jarawa (India) + + + + + Andh + + + + + Anserma + + + + + Antakarinya + + + + + Anuak + + + + + Denya + + + + + Anaang + + + + + Andra-Hus + + + + + Anyin + + + + + Anem + + + + + Angolar + + + + + Abom + + + + + Pemon + + + + + Andarum + + + + + Angal Enen + + + + + Bragat + + + + + Angoram + + + + + Arma + + + + + Anindilyakwa + + + + + Mufian + + + + + Arho + + + + + Alor + + + + + Omie + + + + + Bumbita Arapesh + + + + + Aore + + + + + Taikat + + + + + A'tong + + + + + Atorada + + + + + Uab Meto + + + + + Sa'a + + + + + North Levantine Arabic + + + + + Sudanese Arabic + + + + + Bukiyip + + + + + Ampanang + + + + + Athpariya + + + + + Apiaca + + + + + Jicarilla Apache + + + + + Kiowa Apache + + + + + Lipan Apache + + + + + Mescalero-Chiricahua Apache + + + + + Apinaye + + + + + Apalik + + + + + Apma + + + + + A-Pucikwar + + + + + Arop-Lukep + + + + + Arop-Sissano + + + + + Apatani + + + + + Apurina + + + + + Western Apache + + + + + Aputai + + + + + Apalai + + + + + Safeyoka + + + + + Archi + + + + + Arigidi + + + + + Atohwaim + + + + + Northern Alta + + + + + Atakapa + + + + + Arha + + + + + Arabic + + + + + Standard Arabic + + + + + Aramaic + + + + + Arabana + + + + + Western Arrarnta + + + + + Arafundi + + + + + Aragonese + + + + + Arhuaco + + + + + Arikara + + + + + Arapaso + + + + + Arikapu + + + + + Arabela + + + + + Mapudungun + + + + + Araona + + + + + Arapaho + + + + + Algerian Arabic + + + + + Karo (Brazil) + + + + + Najdi Arabic + + + + + Arua + + + + + Arbore + + + + + Arawak + + + + + Arua + + + + + Moroccan Arabic + + + + + Egyptian Arabic + + + + + Asu (Tanzania) + + + + + Assiniboine + + + + + Casuarina Coast Asmat + + + + + Asas + + + + + American Sign Language + + + + + Australian Sign Language + + + + + Cishingini + + + + + Abishira + + + + + Buruwai + + + + + Nsari + + + + + Ashkun + + + + + Asilulu + + + + + Assamese + + + + + Xingu Asurini + + + + + Dano + + + + + Algerian Sign Language + + + + + Austrian Sign Language + + + + + Asuri + + + + + Ipulo + + + + + Asturian + + + + + Asurini + + + + + Asoa + + + + + Australian Aborigines Sign Language + + + + + Muratayak + + + + + Yaosakor Asmat + + + + + As + + + + + Pele-Ata + + + + + Zaiwa + + + + + Atsahuaca + + + + + Ata Manobo + + + + + Atemble + + + + + Atuence + + + + + Ivbie North-Okpela-Arhe + + + + + Attie + + + + + Atikamekw + + + + + Ati + + + + + Mt. Iraya Agta + + + + + Ata + + + + + Ashtiani + + + + + Atong + + + + + Pudtol Atta + + + + + Aralle-Tabulahan + + + + + Atruahi + + + + + Gros Ventre + + + + + Pamplona Atta + + + + + Reel + + + + + Northern Altai + + + + + Atsugewi + + + + + Arutani + + + + + Aneityum + + + + + Arta + + + + + Asumboa + + + + + Waorani + + + + + Anuta + + + + + =/Kx'au//ein + + + + + Aguna + + + + + Aushi + + + + + Anuki + + + + + Awjilah + + + + + Heyo + + + + + Aulua + + + + + Asu (Nigeria) + + + + + Molmo One + + + + + Auyokawa + + + + + Makayam + + + + + Anus + + + + + Aruek + + + + + Austral + + + + + Auye + + + + + Awyi + + + + + Aura + + + + + Awiyaana + + + + + Uzbeki Arabic + + + + + Avaric + + + + + Avau + + + + + Alviri-Vidari + + + + + Avestan + + + + + Avikam + + + + + Eastern Egyptian Bedawi Arabic + + + + + Avatime + + + + + Agavotaguerra + + + + + Aushiri + + + + + Au + + + + + Avokaya + + + + + Ava-Canoeiro + + + + + Awadhi + + + + + Awa + + + + + Western Acipa + + + + + Aweti + + + + + Awbono + + + + + Aekyom + + + + + Awabakal + + + + + Arawum + + + + + Awngi + + + + + Awak + + + + + Awera + + + + + South Awyu + + + + + Arawete + + + + + Central Awyu + + + + + Jair Awyu + + + + + Awun + + + + + Awara + + + + + Edera Awyu + + + + + Abipon + + + + + Mato Grosso Arara + + + + + Yaka (Central African Republic) + + + + + Middle Armenian + + + + + Xaragure + + + + + Awar + + + + + Ayizo Gbe + + + + + Southern Aymara + + + + + Ayabadhu + + + + + Ayere + + + + + Ginyanga + + + + + Hadrami Arabic + + + + + Leyigha + + + + + Akuku + + + + + Libyan Arabic + + + + + Aymara + + + + + Sanaani Arabic + + + + + Ayoreo + + + + + North Mesopotamian Arabic + + + + + Ayi (Papua New Guinea) + + + + + Central Aymara + + + + + Sorsogon Ayta + + + + + Bataan Ayta + + + + + Ayu + + + + + Ayi (China) + + + + + Tayabas Ayta + + + + + Mai Brat + + + + + South Azerbaijani + + + + + Azerbaijani + + + + + San Pedro Amuzgos Amuzgo + + + + + North Azerbaijani + + + + + Ipalapa Amuzgo + + + + + Awing + + + + + Adzera + + + + + Faire Atta + + + + + Highland Puebla Nahuatl + + + + + Babatana + + + + + Bainouk-Gunyuno + + + + + Badui + + + + + Bare + + + + + Nubaca + + + + + Tuki + + + + + Bahamas Creole English + + + + + Barakai + + + + + Bashkir + + + + + Baluchi + + + + + Bambara + + + + + Balinese + + + + + Waimaha + + + + + Bantawa + + + + + Bavarian + + + + + Basa (Cameroon) + + + + + Bada (Nigeria) + + + + + Vengo + + + + + Bambili-Bambui + + + + + Bamun + + + + + Batuley + + + + + Tunen + + + + + Baatonum + + + + + Barai + + + + + Batak Toba + + + + + Bau + + + + + Bangba + + + + + Baibai + + + + + Barama + + + + + Bugan + + + + + Barombi + + + + + Ghomala' + + + + + Babanki + + + + + Bats + + + + + Babango + + + + + Uneapa + + + + + Northern Bobo Madare + + + + + West Central Banda + + + + + Bamali + + + + + Girawa + + + + + Bakpinka + + + + + Mburku + + + + + Kulung (Nigeria) + + + + + Karnai + + + + + Baba + + + + + Bubia + + + + + Befang + + + + + Babalia Creole Arabic + + + + + Central Bai + + + + + Bainouk-Samik + + + + + Southern Balochi + + + + + North Babar + + + + + Bamenyam + + + + + Bamu + + + + + Baga Binari + + + + + Bariai + + + + + Baoule + + + + + Bardi + + + + + Bunaba + + + + + Central Bicolano + + + + + Bannoni + + + + + Bali (Nigeria) + + + + + Kaluli + + + + + Bali (Democratic Republic of Congo) + + + + + Bench + + + + + Babine + + + + + Kohumono + + + + + Bendi + + + + + Awad Bing + + + + + Shoo-Minda-Nye + + + + + Bana + + + + + Pamona + + + + + Bacama + + + + + Bainouk-Gunyaamolo + + + + + Bayot + + + + + Basap + + + + + Embera-Baudo + + + + + Bunama + + + + + Bade + + + + + Bonggi + + + + + Baka (Sudan) + + + + + Burun + + + + + Bai + + + + + Budukh + + + + + Indonesian Bajau + + + + + Buduma + + + + + Baldemu + + + + + Bernde + + + + + Bende + + + + + Bahnar + + + + + West Coast Bajau + + + + + Burunge + + + + + Bokoto + + + + + Oroko + + + + + Bodo Parja + + + + + Baham + + + + + Budong-Budong + + + + + Bandjalang + + + + + Badeshi + + + + + Beaver + + + + + Bebele + + + + + Iceve-Maci + + + + + Bedoanas + + + + + Byangsi + + + + + Benabena + + + + + Belait + + + + + Biali + + + + + Bekati' + + + + + Beja + + + + + Bebeli + + + + + Belarusian + + + + + Bemba (Zambia) + + + + + Bengali + + + + + Beami + + + + + Besoa + + + + + Beembe + + + + + Besme + + + + + Guiberoua Bete + + + + + Blagar + + + + + Daloa Bete + + + + + Betawi + + + + + Jur Modo + + + + + Beli (Papua New Guinea) + + + + + Bena (Tanzania) + + + + + Bari + + + + + Pauri Bareli + + + + + Northern Bai + + + + + Bafut + + + + + Betaf + + + + + Bofi + + + + + Busang Kayan + + + + + Blafe + + + + + British Sign Language + + + + + Bafanji + + + + + Ban Khor Sign Language + + + + + Banda-Ndele + + + + + Mmen + + + + + Bunak + + + + + Malba Birifor + + + + + Beba + + + + + Badaga + + + + + Bazigar + + + + + Southern Bai + + + + + Balti + + + + + Gahri + + + + + Bondo + + + + + Bagheli + + + + + Mahasu Pahari + + + + + Gwamhi-Wuri + + + + + Bobongko + + + + + Haryanvi + + + + + Rathwi Bareli + + + + + Bauria + + + + + Bangandu + + + + + Bugun + + + + + Bogan + + + + + Giangan + + + + + Bangolan + + + + + Bit + + + + + Bo (Laos) + + + + + Baga Mboteni + + + + + Western Balochi + + + + + Baga Koga + + + + + Eastern Balochi + + + + + Bagri + + + + + Bawm Chin + + + + + Tagabawa + + + + + Bughotu + + + + + Mbongno + + + + + Warkay-Bipim + + + + + Bhatri + + + + + Balkan Gagauz Turkish + + + + + Benggoi + + + + + Banggai + + + + + Bharia + + + + + Bhili + + + + + Biga + + + + + Bhadrawahi + + + + + Bhaya + + + + + Odiai + + + + + Binandere + + + + + Bukharic + + + + + Bhilali + + + + + Bahing + + + + + Albay Bicolano + + + + + Bimin + + + + + Bathari + + + + + Bohtan Neo-Aramaic + + + + + Bhojpuri + + + + + Bima + + + + + Tukang Besi South + + + + + Bara Malagasy + + + + + Buwal + + + + + Bhattiyali + + + + + Bhunjia + + + + + Bahau + + + + + Biak + + + + + Bhalay + + + + + Bhele + + + + + Bada (Indonesia) + + + + + Badimaya + + + + + Bissa + + + + + Bikaru + + + + + Bidiyo + + + + + Bepour + + + + + Biafada + + + + + Biangai + + + + + Bisu + + + + + Vaghat-Ya-Bijim-Legeri + + + + + Bikol + + + + + Bile + + + + + Bimoba + + + + + Bini + + + + + Nai + + + + + Bila + + + + + Bipi + + + + + Bisorio + + + + + Bislama + + + + + Berinomo + + + + + Biete + + + + + Southern Birifor + + + + + Kol (Cameroon) + + + + + Bijori + + + + + Birhor + + + + + Baloi + + + + + Budza + + + + + Banggarla + + + + + Bariji + + + + + Bandjigali + + + + + Biao-Jiao Mien + + + + + Barzani Jewish Neo-Aramaic + + + + + Bidyogo + + + + + Bahinemo + + + + + Burji + + + + + Kanauji + + + + + Barok + + + + + Bulu (Papua New Guinea) + + + + + Bajelani + + + + + Banjar + + + + + Mid-Southern Banda + + + + + Southern Betsimisaraka Malagasy + + + + + Binumarien + + + + + Bajan + + + + + Balanta-Ganja + + + + + Busuu + + + + + Bedjond + + + + + Bakwe + + + + + Banao Itneg + + + + + Bayali + + + + + Baruga + + + + + Kyak + + + + + Finallig + + + + + Baka (Cameroon) + + + + + Binukid + + + + + Bengkulu + + + + + Beeke + + + + + Buraka + + + + + Bakoko + + + + + Baki + + + + + Pande + + + + + Brokskat + + + + + Berik + + + + + Kom (Cameroon) + + + + + Bukitan + + + + + Kwa' + + + + + Boko (Democratic Republic of Congo) + + + + + Bakairi + + + + + Bakumpai + + + + + Masbate Sorsogon + + + + + Boloki + + + + + Buhid + + + + + Bekwarra + + + + + Bekwil + + + + + Baikeno + + + + + Bokyi + + + + + Bungku + + + + + Siksika + + + + + Bilua + + + + + Bella Coola + + + + + Bolango + + + + + Balanta-Kentohe + + + + + Buol + + + + + Balau + + + + + Kuwaa + + + + + Bolia + + + + + Bolongan + + + + + Pa'o Karen + + + + + Biloxi + + + + + Beli (Sudan) + + + + + Southern Catanduanes Bicolano + + + + + Anii + + + + + Blablanga + + + + + Baluan-Pam + + + + + Blang + + + + + Balaesang + + + + + Tai Dam + + + + + Hmong Njua + + + + + Bolo + + + + + Balangao + + + + + Mag-Indi Ayta + + + + + Notre + + + + + Balantak + + + + + Lame + + + + + Bembe + + + + + Biem + + + + + Baga Manduri + + + + + Limassa + + + + + Bom + + + + + Bamwe + + + + + Kein + + + + + Bagirmi + + + + + Bote-Majhi + + + + + Ghayavi + + + + + Bomboli + + + + + Northern Betsimisaraka Malagasy + + + + + Bina (Papua New Guinea) + + + + + Bambalang + + + + + Bulgebi + + + + + Bomu + + + + + Muinane + + + + + Bilma Kanuri + + + + + Biao Mon + + + + + Burum-Mindik + + + + + Bum + + + + + Bomwali + + + + + Baimak + + + + + Bemba (Democratic Republic of Congo) + + + + + Baramu + + + + + Bonerate + + + + + Bookan + + + + + Central Bontoc + + + + + Banda (Indonesia) + + + + + Bintauna + + + + + Masiwang + + + + + Benga + + + + + Banawa + + + + + Bangi + + + + + Eastern Tawbuid + + + + + Bierebo + + + + + Boon + + + + + Batanga + + + + + Bunun + + + + + Bantoanon + + + + + Bola + + + + + Bantik + + + + + Butmas-Tur + + + + + Bundeli + + + + + Bentong + + + + + Bonerif + + + + + Bisis + + + + + Bangubangu + + + + + Bintulu + + + + + Beezen + + + + + Bora + + + + + Boni + + + + + Bakung Kenyah + + + + + Tibetan + + + + + Mundabli + + + + + Bolon + + + + + Bamako Sign Language + + + + + Boma + + + + + Barbareno + + + + + Anjam + + + + + Bonjo + + + + + Bole + + + + + Berom + + + + + Bine + + + + + Tiema Ciewe Bozo + + + + + Bonkiman + + + + + Bogaya + + + + + Bororo + + + + + Bosnian + + + + + Bongo + + + + + Bondei + + + + + Tuwuli + + + + + Rema + + + + + Buamu + + + + + Bodo (Central African Republic) + + + + + Tieyaxo Bozo + + + + + Dakaka + + + + + Barbacoas + + + + + Banda-Banda + + + + + Bonggo + + + + + Botlikh + + + + + Bagupi + + + + + Binji + + + + + Orowe + + + + + Broome Pearling Lugger Pidgin + + + + + Biyom + + + + + Dzao Min + + + + + Anasi + + + + + Kaure + + + + + Banda Malay + + + + + Koronadal Blaan + + + + + Sarangani Blaan + + + + + Barrow Point + + + + + Bongu + + + + + Bian Marind + + + + + Bo (Papua New Guinea) + + + + + Palya Bareli + + + + + Bishnupriya + + + + + Bilba + + + + + Tchumbuli + + + + + Bagusa + + + + + Boko (Benin) + + + + + Bung + + + + + Navarro-Labourdin Basque + + + + + Baga Kaloum + + + + + Bago-Kusuntu + + + + + Baima + + + + + Bakhtiari + + + + + Bandial + + + + + Banda-Mbres + + + + + Bilakura + + + + + Wumboko + + + + + Bulgarian Sign Language + + + + + Balo + + + + + Busa + + + + + Biritai + + + + + Burusu + + + + + Bosngun + + + + + Bamukumbit + + + + + Boguru + + + + + Begbere-Ejar + + + + + Buru (Nigeria) + + + + + Baangi + + + + + Bali Sign Language + + + + + Bakaka + + + + + Braj + + + + + Lave + + + + + Berbice Creole Dutch + + + + + Baraamu + + + + + Breton + + + + + Bera + + + + + Baure + + + + + Brahui + + + + + Mokpwe + + + + + Bieria + + + + + Birked + + + + + Birwa + + + + + Barambu + + + + + Boruca + + + + + Brokkat + + + + + Barapasi + + + + + Breri + + + + + Birao + + + + + Baras + + + + + Bitare + + + + + Eastern Bru + + + + + Western Bru + + + + + Bellari + + + + + Bodo (India) + + + + + Burui + + + + + Bilbil + + + + + Abinomn + + + + + Brunei Bisaya + + + + + Bassari + + + + + Sarawak Bisaya + + + + + Wushi + + + + + Bauchi + + + + + Bashkardi + + + + + Kati + + + + + Bassossi + + + + + Bangwinji + + + + + Burushaski + + + + + Basa-Gumna + + + + + Busami + + + + + Barasana + + + + + Buso + + + + + Baga Sitemu + + + + + Bassa + + + + + Bassa-Kontagora + + + + + Akoose + + + + + Basketo + + + + + Bahonsuai + + + + + Baga Sobane + + + + + Baiso + + + + + Yangkam + + + + + Sabah Bisaya + + + + + Souletin Basque + + + + + Bata + + + + + Beti (Cameroon) + + + + + Bati (Cameroon) + + + + + Batak Dairi + + + + + Gamo-Ningi + + + + + Birgit + + + + + Gagnoa Bete + + + + + Biatah + + + + + Burate + + + + + Bacanese Malay + + + + + Bhatola + + + + + Batak Mandailing + + + + + Ratagnon + + + + + Iriga Bicolano + + + + + Budibud + + + + + Batek + + + + + Baetora + + + + + Batak Simalungun + + + + + Bete-Bendi + + + + + Batu + + + + + Bateri + + + + + Butuanon + + + + + Batak Karo + + + + + Bobot + + + + + Batak Alas-Kluet + + + + + Buriat + + + + + Bua + + + + + Bushi + + + + + Ntcham + + + + + Beothuk + + + + + Bushoong + + + + + Buginese + + + + + Younuo Bunu + + + + + Bongili + + + + + Basa-Gurmana + + + + + Bugawac + + + + + Bulgarian + + + + + Bulu (Cameroon) + + + + + Sherbro + + + + + Terei + + + + + Busoa + + + + + Brem + + + + + Bokobaru + + + + + Bungain + + + + + Budu + + + + + Bun + + + + + Bubi + + + + + Boghom + + + + + Bullom So + + + + + Bukwen + + + + + Barein + + + + + Bube + + + + + Baelelea + + + + + Baeggu + + + + + Berau Malay + + + + + Boor + + + + + Bonkeng + + + + + Bure + + + + + Belanda Viri + + + + + Baan + + + + + Bukat + + + + + Bolivian Sign Language + + + + + Bamunka + + + + + Buna + + + + + Bolgo + + + + + Birri + + + + + Burarra + + + + + Belgian Sign Language + + + + + Bati (Indonesia) + + + + + Bukit Malay + + + + + Baniva + + + + + Boga + + + + + Dibole + + + + + Bauzi + + + + + Bwatoo + + + + + Namosi-Naitasiri-Serua + + + + + Bwile + + + + + Bwaidoka + + + + + Bwe Karen + + + + + Boselewa + + + + + Barwe + + + + + Bishuo + + + + + Baniwa + + + + + Laa Laa Bwamu + + + + + Bauwaki + + + + + Bwela + + + + + Biwat + + + + + Wunai Bunu + + + + + Boro + + + + + Mandobo Bawah + + + + + Southern Bobo Madare + + + + + Bura-Pabir + + + + + Bomboma + + + + + Bafaw-Balong + + + + + Buli (Ghana) + + + + + Bahau River Kenyah + + + + + Bwa + + + + + Bu-Nao Bunu + + + + + Cwi Bwamu + + + + + Bwisi + + + + + Bauro + + + + + Belanda Bor + + + + + Molengue + + + + + Pela + + + + + Birale + + + + + Bilur + + + + + Bangala + + + + + Buhutu + + + + + Pirlatapa + + + + + Bayungu + + + + + Bukusu + + + + + Jalkunan + + + + + Mongolia Buriat + + + + + Burduna + + + + + Barikanchi + + + + + Bebil + + + + + Beele + + + + + Russia Buriat + + + + + Busam + + + + + Buxinhua + + + + + China Buriat + + + + + Berakou + + + + + Bankagooma + + + + + Borna + + + + + Binahari + + + + + Batak + + + + + Bikya + + + + + Ubaghara + + + + + Benyadu' + + + + + Pouye + + + + + Bete + + + + + Baygo + + + + + Bujhyal + + + + + Buyu + + + + + Bina (Nigeria) + + + + + Biao + + + + + Bayono + + + + + Bidyara + + + + + Bilin + + + + + Biyo + + + + + Bumaji + + + + + Basay + + + + + Baruya + + + + + Burak + + + + + Berti + + + + + Buyang + + + + + Medumba + + + + + Belhariya + + + + + Qaqet + + + + + Buya + + + + + Banaro + + + + + Bandi + + + + + Andio + + + + + Bribri + + + + + Jenaama Bozo + + + + + Boikin + + + + + Babuza + + + + + Mapos Buang + + + + + Belize Kriol English + + + + + Nicaragua Creole English + + + + + Boano (Sulawesi) + + + + + Bolondo + + + + + Boano (Maluku) + + + + + Bozaba + + + + + Kemberano + + + + + Buli (Indonesia) + + + + + Biri + + + + + Brazilian Sign Language + + + + + Brithenig + + + + + Burmeso + + + + + Bebe + + + + + Basa (Nigeria) + + + + + Hainyaxo Bozo + + + + + Obanliku + + + + + Evant + + + + + Chorti + + + + + Garifuna + + + + + San Sebastian Coatan Chuj + + + + + Caddo + + + + + Lehar + + + + + Southern Carrier + + + + + Nivacle + + + + + Cahuarano + + + + + Chane + + + + + Central Cakchiquel + + + + + Carolinian + + + + + Cemuhi + + + + + Chambri + + + + + Chacobo + + + + + Chipaya + + + + + Car Nicobarese + + + + + Galibi Carib + + + + + Tsimane + + + + + Catalan + + + + + Cavinena + + + + + Callawalla + + + + + Chiquitano + + + + + Cayuga + + + + + Canichana + + + + + Cabiyari + + + + + Carapana + + + + + Carijona + + + + + Chipiajes + + + + + Chimila + + + + + Cagua + + + + + Chachi + + + + + Ede Cabe + + + + + Chavacano + + + + + Bualkhaw Chin + + + + + Yepocapa Southwestern Cakchiquel + + + + + Nyahkur + + + + + Izora + + + + + Cashibo-Cacataibo + + + + + Cashinahua + + + + + Chayahuita + + + + + Candoshi-Shapra + + + + + Cacua + + + + + Carabayo + + + + + Cauca + + + + + Chamicuro + + + + + Cafundo Creole + + + + + Chopi + + + + + Samba Daka + + + + + Atsam + + + + + Kasanga + + + + + Cutchi-Swahili + + + + + Malaccan Creole Malay + + + + + Comaltepec Chinantec + + + + + Chakma + + + + + Chaungtha + + + + + Cacaopera + + + + + Northern Zhuang + + + + + Southern Zhuang + + + + + Choni + + + + + Chenchu + + + + + Chiru + + + + + Chamari + + + + + Chambeali + + + + + Chodri + + + + + Churahi + + + + + Chepang + + + + + Chaudangsi + + + + + Min Dong Chinese + + + + + Cinda-Regi-Tiyal + + + + + Chadian Sign Language + + + + + Koda + + + + + Lower Chehalis + + + + + Cebuano + + + + + Chamacoco + + + + + Czech + + + + + Centuum + + + + + Dijim-Bwilim + + + + + Cara + + + + + Como Karim + + + + + Changriwa + + + + + Kagayanen + + + + + Chiga + + + + + Chocangacakha + + + + + Chamorro + + + + + Chibcha + + + + + Catawba + + + + + Highland Oaxaca Chontal + + + + + Chechen + + + + + Tabasco Chontal + + + + + Chagatai + + + + + Chinook + + + + + Ojitlan Chinantec + + + + + Chuukese + + + + + Cahuilla + + + + + Mari (Russia) + + + + + Chinook jargon + + + + + Choctaw + + + + + Chipewyan + + + + + Quiotepec Chinantec + + + + + Cherokee + + + + + Chumash + + + + + Cholon + + + + + Church Slavic + + + + + Chuvash + + + + + Chuwabu + + + + + Chantyal + + + + + Cheyenne + + + + + Ozumacin Chinantec + + + + + Cia-Cia + + + + + Ci Gbe + + + + + Chickasaw + + + + + Chimariko + + + + + Cineni + + + + + Chinali + + + + + Chitkuli Kinnauri + + + + + Cimbrian + + + + + Cinta Larga + + + + + Chiapanec + + + + + Tiri + + + + + Chittagonian + + + + + Chippewa + + + + + Chaima + + + + + Western Cham + + + + + Chru + + + + + Upper Chehalis + + + + + Chamalal + + + + + Chokwe + + + + + Eastern Cham + + + + + Chenapian + + + + + Asheninka Pajonal + + + + + Cabecar + + + + + Chorotega + + + + + Shor + + + + + Chuave + + + + + Jinyu Chinese + + + + + Khumi Awa Chin + + + + + Central Kurdish + + + + + Northern Cakchiquel + + + + + South Central Cakchiquel + + + + + Eastern Cakchiquel + + + + + Southern Cakchiquel + + + + + Chak + + + + + Santa Maria De Jesus Cakchiquel + + + + + Santo Domingo Xenacoj Cakchiquel + + + + + Acatenango Southwestern Cakchiquel + + + + + Cibak + + + + + Anufo + + + + + Kajakse + + + + + Kairak + + + + + Tayo + + + + + Chukot + + + + + Koasati + + + + + Kavalan + + + + + Western Cakchiquel + + + + + Caka + + + + + Cakfem-Mushere + + + + + Cakchiquel-Quiche Mixed Language + + + + + Ron + + + + + Chilcotin + + + + + Chaldean Neo-Aramaic + + + + + Lealao Chinantec + + + + + Chilisso + + + + + Chakali + + + + + Idu-Mishmi + + + + + Chala + + + + + Clallam + + + + + Lowland Oaxaca Chontal + + + + + Caluyanun + + + + + Chulym + + + + + Eastern Highland Chatino + + + + + Maa + + + + + Cerma + + + + + Classical Mongolian + + + + + Embera-Chami + + + + + Chimakum + + + + + Campalagian + + + + + Michigamea + + + + + Mandarin Chinese + + + + + Central Mnong + + + + + Mro Chin + + + + + Messapic + + + + + Camtho + + + + + Changthang + + + + + Chinbon Chin + + + + + Coong + + + + + Northern Qiang + + + + + Haka Chin + + + + + Ashaninka + + + + + Khumi Chin + + + + + Lalana Chinantec + + + + + Ixtatan Chuj + + + + + Con + + + + + Central Asmat + + + + + Tepetotutla Chinantec + + + + + Chenoua + + + + + Ngawn Chin + + + + + Middle Cornish + + + + + Cocos Islands Malay + + + + + Chicomuceltec + + + + + Cocopa + + + + + Cocama-Cocamilla + + + + + Koreguaje + + + + + Colorado + + + + + Chong + + + + + Chonyi + + + + + Cochimi + + + + + Santa Teresa Cora + + + + + Columbia-Wenatchi + + + + + Comanche + + + + + Cofan + + + + + Comox + + + + + Coptic + + + + + Coquille + + + + + Cornish + + + + + Corsican + + + + + Caquinte + + + + + Wamey + + + + + Cao Miao + + + + + Cowlitz + + + + + Nanti + + + + + Coyaima + + + + + Chochotec + + + + + Palantla Chinantec + + + + + Ucayali-Yurua Asheninka + + + + + Ajyininka Apurucayali + + + + + Cappadocian Greek + + + + + Chinese Pidgin English + + + + + Cherepon + + + + + Capiznon + + + + + Pichis Asheninka + + + + + Pu-Xian Chinese + + + + + South Ucayali Asheninka + + + + + Chilean Quechua + + + + + Chara + + + + + Island Carib + + + + + Lonwolwol + + + + + Coeur d'Alene + + + + + Cree + + + + + Caramanta + + + + + Michif + + + + + Crimean Tatar + + + + + Saotomense + + + + + Southern East Cree + + + + + Plains Cree + + + + + Northern East Cree + + + + + Moose Cree + + + + + El Nayar Cora + + + + + Crow + + + + + Iyo'wujwa Chorote + + + + + Carolina Algonquian + + + + + Seselwa Creole French + + + + + Iyojwa'ja Chorote + + + + + Carutana + + + + + Chaura + + + + + Chrau + + + + + Carrier + + + + + Cori + + + + + Cruzeno + + + + + Chiltepec Chinantec + + + + + Kashubian + + + + + Catalonian Sign Language + + + + + Chiangmai Sign Language + + + + + Czech Sign Language + + + + + Cuba Sign Language + + + + + Chilean Sign Language + + + + + Asho Chin + + + + + Coast Miwok + + + + + Jola-Kasa + + + + + Chinese Sign Language + + + + + Central Sierra Miwok + + + + + Colombian Sign Language + + + + + Sochiapan Chinantec + + + + + Croatia Sign Language + + + + + Costa Rican Sign Language + + + + + Southern Ohlone + + + + + Northern Ohlone + + + + + Swampy Cree + + + + + Siyin Chin + + + + + Coos + + + + + Tataltepec Chatino + + + + + Chetco + + + + + Tedim Chin + + + + + Tepinapa Chinantec + + + + + Tila Chol + + + + + Tlacoatzintepec Chinantec + + + + + Chitimacha + + + + + Chhintange + + + + + Embera-Catio + + + + + Western Highland Chatino + + + + + Northern Catanduanes Bicolano + + + + + Tumbala Chol + + + + + Zacatepec Chatino + + + + + Cua + + + + + Cubeo + + + + + Usila Chinantec + + + + + Cung + + + + + Chuka + + + + + Cuiba + + + + + Mashco Piro + + + + + San Blas Kuna + + + + + Culina + + + + + Cumeral + + + + + Cunen Quiche + + + + + Cumanagoto + + + + + Cupeno + + + + + Cun + + + + + Chhulung + + + + + Teutila Cuicatec + + + + + Tai Ya + + + + + Cuvok + + + + + Chukwa + + + + + Tepeuxila Cuicatec + + + + + Valle Nacional Chinantec + + + + + Kabwa + + + + + Maindo + + + + + Woods Cree + + + + + Kwere + + + + + Chewong + + + + + Kuwaataay + + + + + Nopala Chatino + + + + + Cayubaba + + + + + Welsh + + + + + Cuyonon + + + + + Huizhou Chinese + + + + + Knaanic + + + + + Zenzontepec Chatino + + + + + Min Zhong Chinese + + + + + Zotung Chin + + + + + Dangaleat + + + + + Dambi + + + + + Marik + + + + + Duupa + + + + + Dan + + + + + Dagbani + + + + + Gwahatike + + + + + Day + + + + + Dar Fur Daju + + + + + Dakota + + + + + Dahalo + + + + + Danish + + + + + Daai Chin + + + + + Nisi + + + + + Dandami Maria + + + + + Dargwa + + + + + Daho-Doo + + + + + Darang Deng + + + + + Dar Sila Daju + + + + + Taita + + + + + Davawenyo + + + + + Dayi + + + + + Dao + + + + + Bangeri Me Dogon + + + + + Deno + + + + + Dadiya + + + + + Dabe + + + + + Edopi + + + + + Dogul Dom Dogon + + + + + Doka + + + + + Ida'an + + + + + Dyirbal + + + + + Duguri + + + + + Duriankere + + + + + Dulbu + + + + + Duwai + + + + + Daba + + + + + Dabarre + + + + + Bondum Dom Dogon + + + + + Dungu + + + + + Dibiyaso + + + + + Deccan + + + + + Negerhollands + + + + + Dongotono + + + + + Doondo + + + + + Fataluku + + + + + Diodio + + + + + Jaru + + + + + Dendi (Benin) + + + + + Dido + + + + + Donno So Dogon + + + + + Dawera-Daweloor + + + + + Dagik + + + + + Dedua + + + + + Dewoin + + + + + Dezfuli + + + + + Degema + + + + + Dehwari + + + + + Demisa + + + + + Dek + + + + + Delaware + + + + + Dem + + + + + Slave (Athapascan) + + + + + Pidgin Delaware + + + + + Dendi (Central African Republic) + + + + + Deori + + + + + Desano + + + + + German + + + + + Domung + + + + + Dengese + + + + + Southern Dagaare + + + + + Casiguran Dumagat Agta + + + + + Dagaari Dioula + + + + + Degenan + + + + + Doga + + + + + Dghwede + + + + + Northern Dagara + + + + + Dagba + + + + + Dagoman + + + + + Dogri (individual language) + + + + + Dogrib + + + + + Dogoso + + + + + Degaru + + + + + Doghoro + + + + + Daga + + + + + Dhanwar (India) + + + + + Dhundari + + + + + Dhangu + + + + + Dhimal + + + + + Dhalandji + + + + + Zemba + + + + + Dhanki + + + + + Dhodia + + + + + Dhargari + + + + + Dhaiso + + + + + Dhurga + + + + + Dehu + + + + + Dhanwar (Nepal) + + + + + Dia + + + + + South Central Dinka + + + + + Lakota Dida + + + + + Didinga + + + + + Dieri + + + + + Digo + + + + + Kumiai + + + + + Dimbong + + + + + Dai + + + + + Southwestern Dinka + + + + + Dilling + + + + + Dime + + + + + Dinka + + + + + Dibo + + + + + Northeastern Dinka + + + + + Dimli + + + + + Dirim + + + + + Dimasa + + + + + Dirari + + + + + Diriku + + + + + Dhivehi + + + + + Northwestern Dinka + + + + + Dixon Reef + + + + + Diuwe + + + + + Ding + + + + + Djinba + + + + + Dar Daju Daju + + + + + Djamindjung + + + + + Zarma + + + + + Djangun + + + + + Djinang + + + + + Djeebbana + + + + + Aukan + + + + + Djiwarli + + + + + Jamsay Dogon + + + + + Djauan + + + + + Djongkang + + + + + Djambarrpuyngu + + + + + Kapriman + + + + + Djawi + + + + + Dakpakha + + + + + Dakka + + + + + Kolum So Dogon + + + + + Kuijau + + + + + Southeastern Dinka + + + + + Mazagway + + + + + Dolgan + + + + + Dalmatian + + + + + Darlong + + + + + Duma + + + + + Dimir + + + + + Dugwor + + + + + Upper Kinabatangan + + + + + Domaaki + + + + + Dameli + + + + + Dama + + + + + Kemezung + + + + + East Damar + + + + + Dampelas + + + + + Dubu + + + + + Dumpas + + + + + Dema + + + + + Demta + + + + + Upper Grand Valley Dani + + + + + Daonda + + + + + Ndendeule + + + + + Dungan + + + + + Lower Grand Valley Dani + + + + + Dengka + + + + + Dzuungoo + + + + + Danaru + + + + + Mid Grand Valley Dani + + + + + Danau + + + + + Western Dani + + + + + Deni + + + + + Dom + + + + + Dobu + + + + + Northern Dong + + + + + Doe + + + + + Domu + + + + + Dong + + + + + Dogri (macrolanguage) + + + + + Dondo + + + + + Doso + + + + + Toura (Papua New Guinea) + + + + + Dongo + + + + + Lukpa + + + + + Dominican Sign Language + + + + + Dori'o + + + + + Dogose + + + + + Dass + + + + + Dombe + + + + + Doyayo + + + + + Bussa + + + + + Dompo + + + + + Dorze + + + + + Papar + + + + + Dair + + + + + Darmiya + + + + + Dolpo + + + + + Rungus + + + + + Darkhat + + + + + C'lela + + + + + Darling + + + + + West Damar + + + + + Daro-Matu + + + + + Dura + + + + + Dororo + + + + + Gedeo + + + + + Drents + + + + + Rukai + + + + + Darwazi + + + + + Darai + + + + + Lower Sorbian + + + + + Dutch Sign Language + + + + + Daasanach + + + + + Disa + + + + + Danish Sign Language + + + + + Dusner + + + + + Desiya Oriya + + + + + Tadaksahak + + + + + Daur + + + + + Labuk-Kinabatangan Kadazan + + + + + Tene Kan Dogon + + + + + Tomo Kan Dogon + + + + + Central Dusun + + + + + Lotud + + + + + Toro So Dogon + + + + + Toro Tegu Dogon + + + + + Duala + + + + + Dubli + + + + + Duna + + + + + Hun-Saare + + + + + Umiray Dumaget Agta + + + + + Dumbea + + + + + Duruma + + + + + Dungra Bhil + + + + + Dumun + + + + + Dhuwal + + + + + Duduela + + + + + Alabat Island Agta + + + + + Middle Dutch (ca. 1050-1350) + + + + + Dusun Deyah + + + + + Dupaninan Agta + + + + + Duano' + + + + + Dusun Malang + + + + + Dii + + + + + Dumi + + + + + Drung + + + + + Duvle + + + + + Dusun Witu + + + + + Duungooma + + + + + Dicamay Agta + + + + + Duli + + + + + Duau + + + + + Diri + + + + + Dutton World Speedwords + + + + + Dawawa + + + + + Dyan + + + + + Dyaberdyaber + + + + + Dyugun + + + + + Villa Viciosa Agta + + + + + Djimini Senoufo + + + + + Land Dayak + + + + + Dyangadi + + + + + Jola-Fonyi + + + + + Dyula + + + + + Dyaabugay + + + + + Duguza + + + + + Daza + + + + + Dazaga + + + + + Dzalakha + + + + + Dzando + + + + + Dzongkha + + + + + Ebughu + + + + + Teke-Ebo + + + + + Ebrie + + + + + Embu + + + + + Eteocretan + + + + + Ecuadorian Sign Language + + + + + Eteocypriot + + + + + E + + + + + Efai + + + + + Efe + + + + + Efik + + + + + Ega + + + + + Eggon + + + + + Egyptian (Ancient) + + + + + Ehueun + + + + + Eipomek + + + + + Eitiep + + + + + Askopan + + + + + Ejamat + + + + + Ekajuk + + + + + Ekit + + + + + Ekari + + + + + Eki + + + + + Elip + + + + + Koti + + + + + Ekpeye + + + + + Yace + + + + + Eastern Kayah + + + + + Elepi + + + + + El Hugeirat + + + + + Nding + + + + + Elkei + + + + + Modern Greek (1453-) + + + + + Eleme + + + + + El Molo + + + + + Elpaputih + + + + + Elu + + + + + Elamite + + + + + Emai-Iuleha-Ora + + + + + Embaloh + + + + + Emerillon + + + + + Eastern Meohang + + + + + Mussau-Emira + + + + + Eastern Maninkakan + + + + + Emiliano-Romagnolo + + + + + Mamulique + + + + + Eman + + + + + Emok + + + + + Northern Embera + + + + + Pacific Gulf Yupik + + + + + Eastern Muria + + + + + Emplawas + + + + + Epigraphic Mayan + + + + + Apali + + + + + Endo + + + + + En + + + + + Ende + + + + + Forest Enets + + + + + English + + + + + Tundra Enets + + + + + Enim + + + + + Middle English (1100-1500) + + + + + Engenni + + + + + Enggano + + + + + Enga + + + + + Emumu + + + + + Enwan (Edu State) + + + + + Enwan (Akwa Ibom State) + + + + + Beti (Cote d'Ivoire) + + + + + Epie + + + + + Esperanto + + + + + Sie + + + + + Eruwa + + + + + Ogea + + + + + South Efate + + + + + Horpa + + + + + Erre + + + + + Ersu + + + + + Eritai + + + + + Erokwanas + + + + + Ese Ejja + + + + + Eshtehardi + + + + + North Alaskan Inupiatun + + + + + Northwest Alaska Inupiatun + + + + + Egypt Sign Language + + + + + Esuma + + + + + Salvadoran Sign Language + + + + + Estonian Sign Language + + + + + Esselen + + + + + Central Siberian Yupik + + + + + Estonian + + + + + Central Yupik + + + + + Etebi + + + + + Etchemin + + + + + Ethiopian Sign Language + + + + + Eton (Vanuatu) + + + + + Eton (Cameroon) + + + + + Edolo + + + + + Yekhee + + + + + Etruscan + + + + + Ejagham + + + + + Eten + + + + + Semimi + + + + + Europanto + + + + + Basque + + + + + Even + + + + + Uvbie + + + + + Evenki + + + + + Ewe + + + + + Ewondo + + + + + Extremaduran + + + + + Eyak + + + + + Uzekwe + + + + + Fasu + + + + + Fa D'ambu + + + + + Wagi + + + + + Fagani + + + + + Finongan + + + + + Fali Of Baissa + + + + + Faiwol + + + + + Faita + + + + + Fang (Cameroon) + + + + + South Fali + + + + + Fam + + + + + Fang (Equatorial Guinea) + + + + + Faroese + + + + + Palor + + + + + Fataleka + + + + + Persian + + + + + Fanti + + + + + Fayu + + + + + Fala + + + + + Southwestern Fars + + + + + Northwestern Fars + + + + + Quebec Sign Language + + + + + Feroge + + + + + Maasina Fulfulde + + + + + Fongoro + + + + + Nobiin + + + + + Fyer + + + + + Fijian + + + + + Filipino + + + + + Finnish + + + + + Fipa + + + + + Firan + + + + + Tornedalen Finnish + + + + + Fiwaga + + + + + Izere + + + + + Kven Finnish + + + + + Kalispel-Pend d'Oreille + + + + + Foau + + + + + Fali + + + + + North Fali + + + + + Falam Chin + + + + + Flinders Island + + + + + Fuliiru + + + + + Tsotsitaal + + + + + Fe'fe + + + + + Far Western Muria + + + + + Fanagalo + + + + + Fania + + + + + Foodo + + + + + Foi + + + + + Foma + + + + + Fon + + + + + Fore + + + + + Siraya + + + + + Fernando Po Creole English + + + + + Fas + + + + + French + + + + + Cajun French + + + + + Fordata + + + + + Frankish + + + + + Middle French (ca. 1400-1600) + + + + + Old French (842-ca. 1400) + + + + + Franco-Provencal + + + + + Forak + + + + + Northern Frisian + + + + + Eastern Frisian + + + + + Fortsenal + + + + + Western Frisian + + + + + Finnish Sign Language + + + + + French Sign Language + + + + + Finnish-Swedish Sign Language + + + + + Adamawa Fulfulde + + + + + Pulaar + + + + + East Futuna + + + + + Borgu Fulfulde + + + + + Pular + + + + + Western Niger Fulfulde + + + + + Bagirmi Fulfulde + + + + + Ko + + + + + Fulah + + + + + Fum + + + + + Fulnio + + + + + Central-Eastern Niger Fulfulde + + + + + Friulian + + + + + Futuna-Aniwa + + + + + Furu + + + + + Nigerian Fulfulde + + + + + Fuyug + + + + + Fur + + + + + Fwai + + + + + Fwe + + + + + Ga + + + + + Gabri + + + + + Gaddang + + + + + Guarequena + + + + + Gende + + + + + Gagauz + + + + + Alekano + + + + + Borei + + + + + Gadsup + + + + + Gamkonora + + + + + Galoli + + + + + Kandawo + + + + + Gan Chinese + + + + + Gants + + + + + Gal + + + + + Gata' + + + + + Galeya + + + + + Adiwasi Garasia + + + + + Kenati + + + + + Mudhili Gadaba + + + + + Gabutamon + + + + + Nobonob + + + + + Borana-Arsi-Guji Oromo + + + + + Gayo + + + + + West Central Oromo + + + + + Gbaya (Central African Republic) + + + + + Kaytetye + + + + + Garawa + + + + + Karadjeri + + + + + Niksek + + + + + Gaikundi + + + + + Gbanziri + + + + + Defi Gbe + + + + + Galela + + + + + Bodo Gadaba + + + + + Gaddi + + + + + Gamit + + + + + Garhwali + + + + + Mo'da + + + + + Northern Grebo + + + + + Gbaya-Bossangoa + + + + + Gbaya-Bozoum + + + + + Gbagyi + + + + + Gbesi Gbe + + + + + Gagadu + + + + + Gbanu + + + + + Eastern Xwla Gbe + + + + + Gbari + + + + + Zoroastrian Dari + + + + + Mali + + + + + Ganggalida + + + + + Galice + + + + + Guadeloupean Creole French + + + + + Grenadian Creole English + + + + + Gaina + + + + + Guianese Creole French + + + + + Colonia Tovar German + + + + + Gade Lohar + + + + + Pottangi Ollar Gadaba + + + + + Gugu Badhun + + + + + Gedaged + + + + + Gude + + + + + Guduf-Gava + + + + + Ga'dang + + + + + Gadjerawang + + + + + Gundi + + + + + Gurdjar + + + + + Gadang + + + + + Dirasha + + + + + Laal + + + + + Umanakaina + + + + + Ghodoberi + + + + + Mehri + + + + + Wipi + + + + + Gudu + + + + + Godwari + + + + + Geruma + + + + + Kire + + + + + Gboloo Grebo + + + + + Gade + + + + + Gengle + + + + + Hutterite German + + + + + Gebe + + + + + Gen + + + + + Yiwom + + + + + Kag-Fer-Jiir-Koor-Ror-Us-Zuksun + + + + + Geman Deng + + + + + Geme + + + + + Geser-Gorom + + + + + Gera + + + + + Garre + + + + + Enya + + + + + Geez + + + + + Patpatar + + + + + Gafat + + + + + Gao + + + + + Gbii + + + + + Gugadj + + + + + Guragone + + + + + Gurgula + + + + + Garreh-Ajuran + + + + + Kungarakany + + + + + Ganglau + + + + + Eastern Gurung + + + + + Southern Gondi + + + + + Aghu Tharnggalu + + + + + Gitua + + + + + Gagu + + + + + Gogodala + + + + + Ghadames + + + + + Hiberno-Scottish Gaelic + + + + + Southern Ghale + + + + + Northern Ghale + + + + + Geko Karen + + + + + Ghulfan + + + + + Ghanongga + + + + + Ghomara + + + + + Ghera + + + + + Guhu-Samane + + + + + Kutang Ghale + + + + + Kitja + + + + + Gibanawa + + + + + Gail + + + + + Gidar + + + + + Goaria + + + + + Gilbertese + + + + + Gimi (Eastern Highlands) + + + + + Hinukh + + + + + Gelao + + + + + Gimi (West New Britain) + + + + + Green Gelao + + + + + Red Gelao + + + + + North Giziga + + + + + Gitxsan + + + + + White Gelao + + + + + Gilima + + + + + Giyug + + + + + South Giziga + + + + + Geji + + + + + Kachi Koli + + + + + Gonja + + + + + Gujari + + + + + Guya + + + + + Ndai + + + + + Gokana + + + + + Guinea Kpelle + + + + + Scottish Gaelic + + + + + Bon Gula + + + + + Nanai + + + + + Irish + + + + + Galician + + + + + Northwest Pashayi + + + + + Guliguli + + + + + Gula Iro + + + + + Gilaki + + + + + Galambu + + + + + Glaro-Twabo + + + + + Gula (Chad) + + + + + Manx + + + + + Glavda + + + + + Gule + + + + + Gambera + + + + + Gula'alaa + + + + + Maghdi + + + + + Middle High German (ca. 1050-1500) + + + + + Gimnime + + + + + Gamo-Gofa-Dawro + + + + + Gumalu + + + + + Magoma + + + + + Mycenaean Greek + + + + + Kaansa + + + + + Gangte + + + + + Guanche + + + + + Zulgo-Gemzek + + + + + Ngangam + + + + + Lere + + + + + Gooniyandi + + + + + //Gana + + + + + Gangulu + + + + + Ginuman + + + + + Gumatj + + + + + Northern Gondi + + + + + Gana + + + + + Gureng Gureng + + + + + Guntai + + + + + Gnau + + + + + Western Bolivian Guarani + + + + + Ganzi + + + + + Guro + + + + + Playero + + + + + Gorakor + + + + + Godie + + + + + Gongduk + + + + + Gogo + + + + + Old High German (ca. 750-1050) + + + + + Gobasi + + + + + Gowlan + + + + + Gowli + + + + + Gola + + + + + Goanese Konkani + + + + + Gondi + + + + + Gone Dau + + + + + Yeretuar + + + + + Gorap + + + + + Gorontalo + + + + + Gronings + + + + + Gothic + + + + + Gavar + + + + + Gorowa + + + + + Gobu + + + + + Goundo + + + + + Gozarkhani + + + + + Gupa-Abawa + + + + + Taiap + + + + + Ga'anda + + + + + Guiqiong + + + + + Guana (Brazil) + + + + + Gor + + + + + Rajput Garasia + + + + + Grebo + + + + + Ancient Greek (to 1453) + + + + + Guruntum-Mbaaru + + + + + Madi + + + + + Gbiri-Niragu + + + + + Ghari + + + + + Southern Grebo + + + + + Kota Marudu Talantang + + + + + Guarani + + + + + Groma + + + + + Gorovu + + + + + Taznatit + + + + + Gresi + + + + + Garo + + + + + Kistane + + + + + Central Grebo + + + + + Gweda + + + + + Guriaso + + + + + Barclayville Grebo + + + + + Guramalum + + + + + Ghanaian Sign Language + + + + + German Sign Language + + + + + Gusilay + + + + + Guatemalan Sign Language + + + + + Gusan + + + + + Wasembo + + + + + Greek Sign Language + + + + + Swiss German + + + + + Guato + + + + + Gbati-ri + + + + + Shiki + + + + + Guajajara + + + + + Wayuu + + + + + Yocoboue Dida + + + + + Gurinji + + + + + Gupapuyngu + + + + + Paraguayan Guarani + + + + + Guahibo + + + + + Eastern Bolivian Guarani + + + + + Gujarati + + + + + Gumuz + + + + + Sea Island Creole English + + + + + Guambiano + + + + + Mbya Guarani + + + + + Guayabero + + + + + Gunwinggu + + + + + Ache + + + + + Farefare + + + + + Guinean Sign Language + + + + + Maleku Jaika + + + + + Yanomamo + + + + + Gey + + + + + Gun + + + + + Gourmanchema + + + + + Gusii + + + + + Guana (Paraguay) + + + + + Guanano + + + + + Duwet + + + + + Golin + + + + + Guaja + + + + + Gulay + + + + + Gurmana + + + + + Kuku-Yalanji + + + + + Gaviao Do Jiparana + + + + + Para Gaviao + + + + + Western Gurung + + + + + Gumawana + + + + + Guyani + + + + + Mbato + + + + + Gwa + + + + + Kalami + + + + + Gawwada + + + + + Gweno + + + + + Gowro + + + + + Moo + + + + + Gwich'in + + + + + /Gwi + + + + + Gwandara + + + + + Gwere + + + + + Gawar-Bati + + + + + Guwamu + + + + + Kwini + + + + + Gua + + + + + We Southern + + + + + Northwest Gbaya + + + + + Garus + + + + + Kayardild + + + + + Gyem + + + + + Gungabula + + + + + Gbayi + + + + + Gyele + + + + + Ngabere + + + + + Guyanese Creole English + + + + + Guarayu + + + + + Gunya + + + + + Ganza + + + + + Gazi + + + + + Gane + + + + + Han + + + + + Hanoi Sign Language + + + + + Gurani + + + + + Hatam + + + + + Eastern Oromo + + + + + Haiphong Sign Language + + + + + Hanga + + + + + Hahon + + + + + Haida + + + + + Hajong + + + + + Hakka Chinese + + + + + Halang + + + + + Hewa + + + + + Hangaza + + + + + Hako + + + + + Hupla + + + + + Ha + + + + + Harari + + + + + Haisla + + + + + Haitian + + + + + Hausa + + + + + Havu + + + + + Hawaiian + + + + + Southern Haida + + + + + Haya + + + + + Hazaragi + + + + + Hamba + + + + + Huba + + + + + Heiban + + + + + Ancient Hebrew + + + + + Serbo-Croatian + + + + + Habu + + + + + Andaman Creole Hindi + + + + + Huichol + + + + + Northern Haida + + + + + Honduras Sign Language + + + + + Hadiyya + + + + + Northern Qiandong Hmong + + + + + Hebrew + + + + + Herde + + + + + Helong + + + + + Hehe + + + + + Heiltsuk + + + + + Hemba + + + + + Herero + + + + + Hai//om + + + + + Haigwai + + + + + Kerak + + + + + Lamang + + + + + Hibito + + + + + Hidatsa + + + + + Fijian Hindustani + + + + + Kamwe + + + + + Pamosu + + + + + Hinduri + + + + + Hijuk + + + + + Seit-Kaitetu + + + + + Hiligaynon + + + + + Hindi + + + + + Tsoa + + + + + Himarima + + + + + Hittite + + + + + Hiw + + + + + Hixkaryana + + + + + Kahe + + + + + Hunde + + + + + Halia + + + + + Halbi + + + + + Halang Doan + + + + + Nga La + + + + + Hieroglyphic Luwian + + + + + Southern Mashan Hmong + + + + + Humburi Senni Songhay + + + + + Central Huishui Hmong + + + + + Northeastern Dian Hmong + + + + + Eastern Huishui Hmong + + + + + Hmong Don + + + + + Southwestern Guiyang Hmong + + + + + Southwestern Huishui Hmong + + + + + Northern Huishui Hmong + + + + + Chonganjiang Hmong + + + + + Maek + + + + + Luopohe Hmong + + + + + Central Mashan Hmong + + + + + Hmong + + + + + Hiri Motu + + + + + Northern Mashan Hmong + + + + + Eastern Qiandong Hmong + + + + + Hmar + + + + + Southern Qiandong Hmong + + + + + Hamtai + + + + + Hamap + + + + + Hmong Do + + + + + Western Mashan Hmong + + + + + Southern Guiyang Hmong + + + + + Hmong Shua + + + + + Mina (Cameroon) + + + + + Southern Hindko + + + + + Chhattisgarhi + + + + + //Ani + + + + + Hani + + + + + Hanunoo + + + + + Northern Hindko + + + + + Caribbean Hindustani + + + + + Hung + + + + + Hoava + + + + + Mari (Madang Province) + + + + + Ho + + + + + Holma + + + + + Horom + + + + + Hobyot + + + + + Holikachuk + + + + + Harauti + + + + + Holu + + + + + Homa + + + + + Holoholo + + + + + Hopi + + + + + Horo + + + + + Ho Chi Minh City Sign Language + + + + + Hote + + + + + Hovongan + + + + + Honi + + + + + Holiya + + + + + Hozo + + + + + Hpon + + + + + Hawai'i Pidgin Sign Language + + + + + Hrangkhol + + + + + Hre + + + + + Haruku + + + + + Haroi + + + + + Horuru + + + + + Hertevin + + + + + Hruso + + + + + Croatian + + + + + Harzani + + + + + Upper Sorbian + + + + + Southeastern Huastec + + + + + Hungarian Sign Language + + + + + Hausa Sign Language + + + + + Xiang Chinese + + + + + Harsusi + + + + + Hoti + + + + + Minica Huitoto + + + + + Hadza + + + + + Hitu + + + + + Middle Hittite + + + + + Huambisa + + + + + =/Hua + + + + + Huaulu + + + + + San Francisco Del Mar Huave + + + + + Humene + + + + + Huachipaeri + + + + + Huilliche + + + + + Huli + + + + + Northern Guiyang Hmong + + + + + Hulung + + + + + Hula + + + + + Hungana + + + + + Hungarian + + + + + Hu + + + + + Hupa + + + + + Tsat + + + + + Halkomelem + + + + + Veracruz Huastec + + + + + Humla + + + + + Murui Huitoto + + + + + San Mateo Del Mar Huave + + + + + Hukumina + + + + + Nupode Huitoto + + + + + Hulaula + + + + + Hunzib + + + + + San Luis Potosi Huastec + + + + + Haitian Vodoun Culture Language + + + + + San Dionisio Del Mar Huave + + + + + Haveke + + + + + Sabu + + + + + Santa Maria Del Mar Huave + + + + + Wane + + + + + Hawai'i Creole English + + + + + Hwana + + + + + Hya + + + + + Armenian + + + + + Iaai + + + + + Iatmul + + + + + Iapama + + + + + Purari + + + + + Iban + + + + + Ibibio + + + + + Iwaidja + + + + + Akpes + + + + + Ibanag + + + + + Ibilo + + + + + Ibaloi + + + + + Agoi + + + + + Ibino + + + + + Igbo + + + + + Ibuoro + + + + + Ibu + + + + + Ibani + + + + + Ede Ica + + + + + Etkywan + + + + + Icelandic Sign Language + + + + + Islander Creole English + + + + + Idakho-Isukha-Tiriki + + + + + Indo-Portuguese + + + + + Idon + + + + + Ede Idaca + + + + + Idere + + + + + Idi + + + + + Ido + + + + + Indri + + + + + Idesa + + + + + Idate + + + + + Idoma + + + + + Amganad Ifugao + + + + + Batad Ifugao + + + + + Ife + + + + + Ifo + + + + + Tuwali Ifugao + + + + + Teke-Fuumu + + + + + Mayoyao Ifugao + + + + + Keley-I Kallahan + + + + + Ebira + + + + + Igede + + + + + Igana + + + + + Igala + + + + + Kanggape + + + + + Ignaciano + + + + + Isebe + + + + + Interglossa + + + + + Igwe + + + + + Iha Based Pidgin + + + + + Ihievbe + + + + + Iha + + + + + Sichuan Yi + + + + + Izon + + + + + Biseni + + + + + Ede Ije + + + + + Kalabari + + + + + Southeast Ijo + + + + + Eastern Canadian Inuktitut + + + + + Iko + + + + + Ika + + + + + Ikulu + + + + + Olulumo-Ikom + + + + + Ikpeshi + + + + + Western Canadian Inuktitut + + + + + Inuktitut + + + + + Iku-Gora-Ankwa + + + + + Ikwere + + + + + Ik + + + + + Ikizu + + + + + Ile Ape + + + + + Ila + + + + + Interlingue + + + + + Garig-Ilgar + + + + + Ili Turki + + + + + Ilongot + + + + + Iranun + + + + + Iloko + + + + + Ili'uun + + + + + Ilue + + + + + Talur + + + + + Imeraguen + + + + + Anamgura + + + + + Miluk + + + + + Imonda + + + + + Imbongu + + + + + Imroing + + + + + Marsian + + + + + Milyan + + + + + Interlingua (International Auxiliary Language Association) + + + + + Inga + + + + + Indonesian + + + + + Degexit'an + + + + + Ingush + + + + + Jungle Inga + + + + + Indonesian Sign Language + + + + + Minaean + + + + + Isinai + + + + + Inoke-Yate + + + + + Inapari + + + + + Indian Sign Language + + + + + Intha + + + + + Ineseno + + + + + Inor + + + + + Tuma-Irumu + + + + + Iowa-Oto + + + + + Ipili + + + + + Inupiaq + + + + + Ipiko + + + + + Iquito + + + + + Iresim + + + + + Irarutu + + + + + Irigwe + + + + + Iraqw + + + + + Irantxe + + + + + Ir + + + + + Irula + + + + + Kamberau + + + + + Iraya + + + + + Isabi + + + + + Isconahua + + + + + Isnag + + + + + Italian Sign Language + + + + + Irish Sign Language + + + + + Esan + + + + + Nkem-Nkum + + + + + Icelandic + + + + + Masimasi + + + + + Isanzu + + + + + Isoko + + + + + Israeli Sign Language + + + + + Istriot + + + + + Isu (Menchum Division) + + + + + Italian + + + + + Binongan Itneg + + + + + Itene + + + + + Inlaod Itneg + + + + + Judeo-Italian + + + + + Itelmen + + + + + Itu Mbon Uzo + + + + + Itonama + + + + + Iteri + + + + + Isekiri + + + + + Maeng Itneg + + + + + Itutang + + + + + Itawit + + + + + Ito + + + + + Itik + + + + + Moyadan Itneg + + + + + Itza + + + + + Iu Mien + + + + + Ibatan + + + + + Ivatan + + + + + I-Wak + + + + + Iwam + + + + + Iwur + + + + + Sepik Iwam + + + + + Ixcatec + + + + + Nebaj Ixil + + + + + Chajul Ixil + + + + + San Juan Cotzal Ixil + + + + + Iyayu + + + + + Mesaka + + + + + Yaka (Congo) + + + + + Ingrian + + + + + Izi-Ezaa-Ikwo-Mgbo + + + + + Jamamadi + + + + + Hyam + + + + + Eastern Jacalteco + + + + + Jahanka + + + + + Yabem + + + + + Jara + + + + + Jah Hut + + + + + Western Jacalteco + + + + + Zazao + + + + + Jakun + + + + + Yalahatan + + + + + Jamaican Creole English + + + + + Yanyuwa + + + + + Jaruara + + + + + Yaqay + + + + + Jarawa (Nigeria) + + + + + New Caledonian Javanese + + + + + Jakati + + + + + Yaur + + + + + Javanese + + + + + Jambi Malay + + + + + Jarnango + + + + + Jawe + + + + + Judeo-Berber + + + + + Arandai + + + + + Nafusi + + + + + Lojban + + + + + Jabuti + + + + + Jukun Takum + + + + + Jamaican Country Sign Language + + + + + Judeo-Crimean Tatar + + + + + Jad + + + + + Jadgali + + + + + Judeo-Tat + + + + + Jebero + + + + + Jerung + + + + + Jeng + + + + + Jeh + + + + + Yei + + + + + Jeri Kuo + + + + + Yelmek + + + + + Dza + + + + + Jere + + + + + Manem + + + + + Jonkor Bourmataguil + + + + + Ngbee + + + + + Judeo-Georgian + + + + + Ngomba + + + + + Jehai + + + + + Jina + + + + + Jibu + + + + + Tol + + + + + Bu + + + + + Jilbe + + + + + Djingili + + + + + Shangzhai + + + + + Jiiddu + + + + + Jilim + + + + + Jimi (Cameroon) + + + + + Jiamao + + + + + Guanyinqiao + + + + + Jita + + + + + Youle Jinuo + + + + + Shuar + + + + + Buyuan Jinuo + + + + + Kubo + + + + + Labir + + + + + Ngile + + + + + Dima + + + + + Zumbun + + + + + Machame + + + + + Yamdena + + + + + Jimi (Nigeria) + + + + + Jumli + + + + + Kamara + + + + + Mashi (Nigeria) + + + + + Western Juxtlahuaca Mixtec + + + + + Jangshung + + + + + Jandavra + + + + + Yangman + + + + + Janji + + + + + Yemsa + + + + + Rawat + + + + + Jaunsari + + + + + Joba + + + + + Wojenaka + + + + + Jora + + + + + Jordanian Sign Language + + + + + Jowulu + + + + + Japanese + + + + + Judeo-Persian + + + + + Jaqaru + + + + + Jarai + + + + + Judeo-Arabic + + + + + Jiru + + + + + Jorto + + + + + Japreria + + + + + Japanese Sign Language + + + + + Juma + + + + + Wannu + + + + + Jurchen + + + + + Worodougou + + + + + Hone + + + + + Wapan + + + + + Jirel + + + + + Jumjum + + + + + Juang + + + + + Jiba + + + + + Hupde + + + + + Juruna + + + + + Jutish + + + + + Ju + + + + + Wapha + + + + + Juray + + + + + Caribbean Javanese + + + + + Jwira-Pepesa + + + + + Jiarong + + + + + Judeo-Yemeni Arabic + + + + + Jaya + + + + + Kara-Kalpak + + + + + Kabyle + + + + + Kachin + + + + + Kadara + + + + + Ketangalan + + + + + Kajaman + + + + + Kara (Central African Republic) + + + + + Karekare + + + + + Jju + + + + + Kayapa Kallahan + + + + + Kalaallisut + + + + + Kamba (Kenya) + + + + + Kannada + + + + + Xaasongaxango + + + + + Bezhta + + + + + Capanahua + + + + + Kashmiri + + + + + Georgian + + + + + Kanuri + + + + + Katukina + + + + + Kawi + + + + + Kao + + + + + Kamayura + + + + + Kazakh + + + + + Kalarko + + + + + Kaxuiana + + + + + Kadiweu + + + + + Kabardian + + + + + Kanju + + + + + Kakauhua + + + + + Khamba + + + + + Camsa + + + + + Kari + + + + + Grass Koiari + + + + + Kanembu + + + + + Iwal + + + + + Kare (Central African Republic) + + + + + Keliko + + + + + Kabiye + + + + + Kamano + + + + + Kafa + + + + + Kande + + + + + Abadi + + + + + Kabutra + + + + + Dera (Indonesia) + + + + + Kaiep + + + + + Ap Ma + + + + + Manga Kanuri + + + + + Duhwa + + + + + Khanty + + + + + Kawacha + + + + + Lubila + + + + + Ngkalmpw Kanum + + + + + Kaivi + + + + + Ukaan + + + + + Tyap + + + + + Vono + + + + + Kamantan + + + + + Kobiana + + + + + Kalanga + + + + + Kela (Papua New Guinea) + + + + + Gula (Central African Republic) + + + + + Nubi + + + + + Kinalakna + + + + + Kanga + + + + + Kamo + + + + + Katla + + + + + Koenoem + + + + + Kaian + + + + + Kami (Tanzania) + + + + + Kete + + + + + Kabwari + + + + + Kachama-Ganjule + + + + + Korandje + + + + + Konongo + + + + + Worimi + + + + + Kutu + + + + + Yankunytjatjara + + + + + Makonde + + + + + Mamusi + + + + + Seba + + + + + Tem + + + + + Kumam + + + + + Karamojong + + + + + Numee + + + + + Tsikimba + + + + + Kagoma + + + + + Kunda + + + + + Kaningdon-Nindem + + + + + Koch + + + + + Karaim + + + + + Lahu Shi + + + + + Kuy + + + + + Kadaru + + + + + Kado + + + + + Koneraw + + + + + Kam + + + + + Keder + + + + + Kwaja + + + + + Kabuverdianu + + + + + Kele + + + + + Keiga + + + + + Kerewe + + + + + Eastern Keres + + + + + Kpessi + + + + + Tese + + + + + Kei + + + + + Kadar + + + + + Kekchi + + + + + Kela (Democratic Republic of Congo) + + + + + Kemak + + + + + Kenyang + + + + + Kakwa + + + + + Kaikadi + + + + + Kamar + + + + + Kera + + + + + Kugbo + + + + + Ket + + + + + Akebu + + + + + Kanikkaran + + + + + West Kewa + + + + + Kukna + + + + + Kupia + + + + + Kukele + + + + + Kodagu + + + + + Northwestern Kolami + + + + + Konda-Dora + + + + + Korra Koraga + + + + + Kota (India) + + + + + Koya + + + + + Kudiya + + + + + Kurichiya + + + + + Kurumba + + + + + Kemiehua + + + + + Kinnauri + + + + + Kung + + + + + Khunsari + + + + + Kuk + + + + + Koro (Cote d'Ivoire) + + + + + Korwa + + + + + Korku + + + + + Kachchi + + + + + Bilaspuri + + + + + Kanjari + + + + + Katkari + + + + + Kurmukar + + + + + Kharam Naga + + + + + Kullu Pahari + + + + + Kumauni + + + + + Koromfe + + + + + Koyaga + + + + + Kawe + + + + + Kasseng + + + + + Kataang + + + + + Komering + + + + + Kube + + + + + Kusunda + + + + + Upper Tanudan Kalinga + + + + + Selangor Sign Language + + + + + Gamale Kham + + + + + Kaiwa + + + + + Kunggari + + + + + Karipuna + + + + + Karingani + + + + + Krongo + + + + + Kaingang + + + + + Kamoro + + + + + Abun + + + + + Kumbainggar + + + + + Somyev + + + + + Kobol + + + + + Karas + + + + + Karon Dori + + + + + Kamaru + + + + + Kyerung + + + + + Khasi + + + + + Lu + + + + + Tukang Besi North + + + + + Badi Kanum + + + + + Korowai + + + + + Khuen + + + + + Khams Tibetan + + + + + Kehu + + + + + Kuturmi + + + + + Halh Mongolian + + + + + Lusi + + + + + Central Khmer + + + + + Khandesi + + + + + Khotanese + + + + + Kapori + + + + + Koyra Chiini Songhay + + + + + Kharia + + + + + Kasua + + + + + Khamti + + + + + Nkhumbi + + + + + Khvarshi + + + + + Khowar + + + + + Kanu + + + + + Kele (Democratic Republic of Congo) + + + + + Keapara + + + + + Kim + + + + + Koalib + + + + + Kickapoo + + + + + Koshin + + + + + Kibet + + + + + Eastern Parbate + + + + + Kimaama + + + + + Kilmeri + + + + + Kitsai + + + + + Kilivila + + + + + Kikuyu + + + + + Kariya + + + + + Karagas + + + + + Kinyarwanda + + + + + Kiowa + + + + + Sheshi Kham + + + + + Kosadle + + + + + Kirghiz + + + + + Kis + + + + + Agob + + + + + Kirmanjki + + + + + Kimbu + + + + + Northeast Kiwai + + + + + Kirikiri + + + + + Kisi + + + + + Mlap + + + + + Eastern Kanjobal + + + + + Coastal Konjo + + + + + Southern Kiwai + + + + + Kisar + + + + + Khalaj + + + + + Khmu + + + + + Khakas + + + + + Zabana + + + + + Khinalugh + + + + + Highland Konjo + + + + + Western Parbate + + + + + Khang + + + + + Kunjen + + + + + Harijan Kinnauri + + + + + Pwo Eastern Karen + + + + + Western Keres + + + + + Kurudu + + + + + East Kewa + + + + + Phrae Pwo Karen + + + + + Kashaya + + + + + Ramopa + + + + + Erave + + + + + Bumthangkha + + + + + Kakanda + + + + + Kwerisa + + + + + Odoodee + + + + + Kinuku + + + + + Kakabe + + + + + Mabaka Valley Kalinga + + + + + Khun + + + + + Kagulu + + + + + Kako + + + + + Kokota + + + + + Kosarek Yale + + + + + Kiong + + + + + Kon Keu + + + + + Karko + + + + + Gugubera + + + + + Kaiku + + + + + Kir-Balar + + + + + Giiwo + + + + + Koi + + + + + Tumi + + + + + Kangean + + + + + Teke-Kukuya + + + + + Kohin + + + + + Guguyimidjir + + + + + Kaska + + + + + Klamath-Modoc + + + + + Kiliwa + + + + + Kolbila + + + + + Gamilaraay + + + + + Kulung (Nepal) + + + + + Kendeje + + + + + Tagakaulu Kalagan + + + + + Weliki + + + + + Kalumpang + + + + + Turkic Khalaj + + + + + Kono (Nigeria) + + + + + Kagan Kalagan + + + + + Kolom + + + + + Kalenjin + + + + + Kapya + + + + + Kamasa + + + + + Rumu + + + + + Khaling + + + + + Kalasha + + + + + Nukna + + + + + Klao + + + + + Maskelynes + + + + + Lindu + + + + + Koluwawa + + + + + Kalao + + + + + Kabola + + + + + Konni + + + + + Kimbundu + + + + + Southern Dong + + + + + Madukayang Kalinga + + + + + Bakole + + + + + Kare (Papua New Guinea) + + + + + Kate + + + + + Kalam + + + + + Kami (Nigeria) + + + + + Kumarbhag Paharia + + + + + Limos Kalinga + + + + + Lower Tanudan Kalinga + + + + + Kom (India) + + + + + Awtuw + + + + + Kwoma + + + + + Gimme + + + + + Kwama + + + + + Northern Kurdish + + + + + Kamasau + + + + + Kemtuik + + + + + Kanite + + + + + Karipuna Creole French + + + + + Komo (Democratic Republic of Congo) + + + + + Waboda + + + + + Koma + + + + + Khorasani Turkish + + + + + Dera (Nigeria) + + + + + Lubuagan Kalinga + + + + + Central Kanuri + + + + + Konda + + + + + Kankanaey + + + + + Mankanya + + + + + Koongo + + + + + Kayan River Kenyah + + + + + Kanufi + + + + + Western Kanjobal + + + + + Kuranko + + + + + Keninjal + + + + + Kanamari + + + + + Konkani (individual language) + + + + + Kono (Sierra Leone) + + + + + Kwanja + + + + + Kintaq + + + + + Kaningra + + + + + Kensiu + + + + + Panoan Katukina + + + + + Kono (Guinea) + + + + + Tabo + + + + + Kung-Ekoka + + + + + Kendayan + + + + + Kanyok + + + + + Kalamse + + + + + Konomala + + + + + Kohoroxitari + + + + + Kpati + + + + + Kodi + + + + + Kacipo-Balesi + + + + + Kubi + + + + + Cogui + + + + + Koyo + + + + + Komi-Permyak + + + + + Sara Dunjo + + + + + Konkani (macrolanguage) + + + + + Kol (Papua New Guinea) + + + + + Komi + + + + + Kongo + + + + + Konjo + + + + + Kwato + + + + + Kota (Gabon) + + + + + Korean + + + + + Kosraean + + + + + Lagwan + + + + + Koke + + + + + Kudu-Camo + + + + + Kugama + + + + + Coxima + + + + + Koyukon + + + + + Korak + + + + + Kutto + + + + + Mullu Kurumba + + + + + Curripaco + + + + + Koba + + + + + Kpelle + + + + + Komba + + + + + Kapingamarangi + + + + + Kplang + + + + + Kofei + + + + + Karaja + + + + + Kpan + + + + + Kpala + + + + + Koho + + + + + Kepkiriwat + + + + + Ikposo + + + + + Paku Karen + + + + + Korupun-Sela + + + + + Korafe + + + + + Tehit + + + + + Karata + + + + + Kafoa + + + + + Komi-Zyrian + + + + + Kobon + + + + + Mountain Koiali + + + + + Koryak + + + + + Kupsabiny + + + + + Mum + + + + + Kovai + + + + + Doromu + + + + + Koy Sanjaq Surat + + + + + Kalagan + + + + + Kakabai + + + + + Khe + + + + + Kisankasa + + + + + Koitabu + + + + + Koromira + + + + + Kotafon Gbe + + + + + Kyenele + + + + + Khisa + + + + + Kaonde + + + + + Eastern Krahn + + + + + Kimre + + + + + Krenak + + + + + Kimaragang + + + + + Northern Kissi + + + + + Klias River Kadazan + + + + + Seroa + + + + + Okolod + + + + + Kandas + + + + + Mser + + + + + Koorete + + + + + Korana + + + + + Kumhali + + + + + Karkin + + + + + Karachay-Balkar + + + + + Kairui-Midiki + + + + + Kreen-Akarore + + + + + Koro (Vanuatu) + + + + + North Korowai + + + + + Kurama + + + + + Krio + + + + + Kinaray-A + + + + + Kerek + + + + + Karelian + + + + + Krim + + + + + Sapo + + + + + Korop + + + + + Krui + + + + + Kru'ng 2 + + + + + Gbaya (Sudan) + + + + + Tumari Kanuri + + + + + Kurukh + + + + + Kravet + + + + + Western Krahn + + + + + Karon + + + + + Kryts + + + + + Sota Kanum + + + + + Shuwa-Zamani + + + + + Shambala + + + + + Southern Kalinga + + + + + Kuanua + + + + + Kuni + + + + + Bafia + + + + + Kusaghe + + + + + Kolsch + + + + + Krisa + + + + + Uare + + + + + Kansa + + + + + Kumalu + + + + + Kumba + + + + + Kasiguranin + + + + + Kofa + + + + + Kaba + + + + + Kwaami + + + + + Borong + + + + + Southern Kisi + + + + + Winye + + + + + Khamyang + + + + + Kusu + + + + + S'gaw Karen + + + + + Kedang + + + + + Kharia Thar + + + + + Koraku + + + + + Katua + + + + + Kambaata + + + + + Kholok + + + + + Kokata + + + + + Nubri + + + + + Kwami + + + + + Kalkutung + + + + + Karanga + + + + + North Muyu + + + + + Plapo Krumen + + + + + Kaniet + + + + + Koroshi + + + + + Kurti + + + + + Karitiana + + + + + Kuot + + + + + Kaduo + + + + + Katabaga + + + + + Kota Marudu Tinagas + + + + + South Muyu + + + + + Ketum + + + + + Kituba (Democratic Republic of Congo) + + + + + Eastern Katu + + + + + Kato + + + + + Kaxarari + + + + + Kango (Bas-Uele District) + + + + + Ju/'hoan + + + + + Kuanyama + + + + + Kutep + + + + + 'Auhelawa + + + + + Kuman + + + + + Western Katu + + + + + Kupa + + + + + Kushi + + + + + Kuikuro-Kalapalo + + + + + Kuria + + + + + Kepo' + + + + + Kulere + + + + + Kumyk + + + + + Kunama + + + + + Kumukio + + + + + Kunimaipa + + + + + Karipuna + + + + + Kurdish + + + + + Kusaal + + + + + Kutenai + + + + + Upper Kuskokwim + + + + + Kur + + + + + Kpagua + + + + + Kukatja + + + + + Kuuku-Ya'u + + + + + Kunza + + + + + Bagvalal + + + + + Kubu + + + + + Kove + + + + + Kui (Indonesia) + + + + + Kalabakan + + + + + Kabalai + + + + + Kuni-Boazi + + + + + Komodo + + + + + Kwang + + + + + Psikye + + + + + Korean Sign Language + + + + + Brek Karen + + + + + Kendem + + + + + Border Kuna + + + + + Dobel + + + + + Kompane + + + + + Geba Karen + + + + + Kerinci + + + + + Kunggara + + + + + Lahta Karen + + + + + Yinbaw Karen + + + + + Kola + + + + + Wersing + + + + + Parkari Koli + + + + + Yintale Karen + + + + + Tsakwambo + + + + + Daw + + + + + Kwa + + + + + Likwala + + + + + Kwaio + + + + + Kwerba + + + + + Kwara'ae + + + + + Kaba Deme + + + + + Kowiai + + + + + Awa-Cuaiquer + + + + + Kwanga + + + + + Kwakiutl + + + + + Kofyar + + + + + Kwambi + + + + + Kwangali + + + + + Kwomtari + + + + + Kodia + + + + + Kwak + + + + + Kwer + + + + + Kwese + + + + + Kwesten + + + + + Kwakum + + + + + Kaba Na + + + + + Kwinti + + + + + Khirwar + + + + + San Salvador Kongo + + + + + Kwadi + + + + + Kairiru + + + + + Krobu + + + + + Komso + + + + + Brunei + + + + + Kakihum + + + + + Manumanaw Karen + + + + + Katingan + + + + + Karo (Ethiopia) + + + + + Keningau Murut + + + + + Kulfa + + + + + Zayein Karen + + + + + Nepali Kurux + + + + + Northern Khmer + + + + + Kanowit + + + + + Kanoe + + + + + Wadiyara Koli + + + + + Smarky Kanum + + + + + Koro (Papua New Guinea) + + + + + Kangjia + + + + + Koiwat + + + + + Kui (India) + + + + + Kuvi + + + + + Konai + + + + + Likuba + + + + + Kayong + + + + + Kerewo + + + + + Kwaya + + + + + Butbut Kalinga + + + + + Kyaka + + + + + Karey + + + + + Krache + + + + + Kouya + + + + + Keyagana + + + + + Karok + + + + + Kiput + + + + + Karao + + + + + Kamayo + + + + + Kalapuya + + + + + Kpatili + + + + + Karolanos + + + + + Kelon + + + + + Kang + + + + + Kenga + + + + + Kuruaya + + + + + Baram Kayan + + + + + Kayagar + + + + + Western Kayah + + + + + Kayort + + + + + Kudmali + + + + + Rapoisi + + + + + Kambaira + + + + + Kayabi + + + + + Western Karaboro + + + + + Kaibobo + + + + + Bondoukou Kulango + + + + + Kadai + + + + + Kosena + + + + + Da'a Kaili + + + + + Kikai + + + + + Kenuzi-Dongola + + + + + Kelabit + + + + + Coastal Kadazan + + + + + Kazukuru + + + + + Kayeli + + + + + Kais + + + + + Kokola + + + + + Kaningi + + + + + Kaidipang + + + + + Kaike + + + + + Karang + + + + + Sugut Dusun + + + + + Tambunan Dusun + + + + + Kayupulau + + + + + Komyandaret + + + + + Kariri-Xoco + + + + + Kamarian + + + + + Kango (Tshopo District) + + + + + Kalabra + + + + + Lapuyan Subanun + + + + + Lacandon + + + + + Ladino + + + + + Pattani + + + + + Lafofa + + + + + Langi + + + + + Lahnda + + + + + Lambya + + + + + Lango (Uganda) + + + + + Laka (Nigeria) + + + + + Lalia + + + + + Lamba + + + + + Laru + + + + + Lao + + + + + Laka (Chad) + + + + + Qabiao + + + + + Larteh + + + + + Lama (Togo) + + + + + Latin + + + + + Laba + + + + + Latvian + + + + + Lauje + + + + + Tiwa + + + + + Lama (Myanmar) + + + + + Aribwatsa + + + + + Lui + + + + + Label + + + + + Lakkia + + + + + Lak + + + + + Tinani + + + + + Laopang + + + + + La'bi + + + + + Ladakhi + + + + + Lodhi + + + + + Lamet + + + + + Laven + + + + + Wampar + + + + + Northern Lorung + + + + + Libyan Sign Language + + + + + Lachi + + + + + Labu + + + + + Lavatbura-Lamusong + + + + + Tolaki + + + + + Lawangan + + + + + Lamu-Lamu + + + + + Lardil + + + + + Legenyem + + + + + Lola + + + + + Loncong + + + + + Lubu + + + + + Luchazi + + + + + Lisela + + + + + Tungag + + + + + Western Lawa + + + + + Luhu + + + + + Lisabata-Nuniali + + + + + Idun + + + + + Luri + + + + + Lenyima + + + + + Lamja-Dengsa-Tola + + + + + Laari + + + + + Lemoro + + + + + Leelau + + + + + Kaan + + + + + Landoma + + + + + Laadan + + + + + Loo + + + + + Tso + + + + + Lufu + + + + + Lega-Shabunda + + + + + Lala-Bisa + + + + + Leco + + + + + Lendu + + + + + Lyele + + + + + Lelemi + + + + + Lengua + + + + + Lenje + + + + + Lemio + + + + + Lengola + + + + + Leipon + + + + + Lele (Democratic Republic of Congo) + + + + + Nomaande + + + + + Lenca + + + + + Leti (Cameroon) + + + + + Lepcha + + + + + Lembena + + + + + Lenkau + + + + + Lese + + + + + Lesing-Gelimi + + + + + Kara (Papua New Guinea) + + + + + Lamma + + + + + Ledo Kaili + + + + + Luang + + + + + Lemolang + + + + + Lezghian + + + + + Lefa + + + + + Lungga + + + + + Laghu + + + + + Lugbara + + + + + Laghuu + + + + + Lengilu + + + + + Lingarak + + + + + Wala + + + + + Lega-Mwenga + + + + + Opuuo + + + + + Logba + + + + + Lengo + + + + + Pahi + + + + + Longgu + + + + + Ligenza + + + + + Laha (Viet Nam) + + + + + Laha (Indonesia) + + + + + Lahul Lohar + + + + + Lhomi + + + + + Lahanan + + + + + Lhokpu + + + + + Mlahso + + + + + Toga + + + + + Lahu + + + + + West-Central Limba + + + + + Likum + + + + + Hlai + + + + + Nyindrou + + + + + Likila + + + + + Limbu + + + + + Ligbi + + + + + Lihir + + + + + Lingkhim + + + + + Ligurian + + + + + Lika + + + + + Lillooet + + + + + Limburgan + + + + + Lingala + + + + + Liki + + + + + Sekpele + + + + + Libido + + + + + Liberian English + + + + + Lisu + + + + + Lithuanian + + + + + Logorik + + + + + Liv + + + + + Lembak + + + + + Liabuku + + + + + Banda-Bambari + + + + + Libinza + + + + + Rampi + + + + + Laiyolo + + + + + Li'o + + + + + Lampung + + + + + Lakalei + + + + + Kenyi + + + + + Lakha + + + + + Laki + + + + + Remun + + + + + Laeko-Libuat + + + + + Lakona + + + + + Pari + + + + + Lakota + + + + + Lokoya + + + + + Lala-Roba + + + + + Lolo + + + + + Lele (Guinea) + + + + + Ladin + + + + + Lele (Papua New Guinea) + + + + + Hermit + + + + + Lole + + + + + Teke-Laali + + + + + Lelak + + + + + Lilau + + + + + Lasalimu + + + + + Lele (Chad) + + + + + Khlor + + + + + North Efate + + + + + Lolak + + + + + Lithuanian Sign Language + + + + + Lau + + + + + Lauan + + + + + East Limba + + + + + Merei + + + + + Limilngan + + + + + Lumun + + + + + Peve + + + + + South Lembata + + + + + Lamogai + + + + + Lambichhong + + + + + Lombi + + + + + West Lembata + + + + + Lamkang + + + + + Hano + + + + + Lamam + + + + + Lambadi + + + + + Lombard + + + + + Limbum + + + + + Lamatuka + + + + + Lamalera + + + + + Lematang + + + + + Lamenu + + + + + Lomaiviti + + + + + Lake Miwok + + + + + Laimbue + + + + + Lamboya + + + + + Lumbee + + + + + Langbashe + + + + + Mbalanhu + + + + + Lundayeh + + + + + Langobardic + + + + + Lanoh + + + + + Lantanai + + + + + Leningitij + + + + + South Central Banda + + + + + Langam + + + + + Lorediakarkar + + + + + Lango (Sudan) + + + + + Lamnso' + + + + + Lintang + + + + + Longuda + + + + + Lonzo + + + + + Loloda + + + + + Lobi + + + + + Inonhan + + + + + Berawan + + + + + Coastal Saluan + + + + + Logol + + + + + Logo + + + + + Narim + + + + + Loma (Cote d'Ivoire) + + + + + Lou + + + + + Loko + + + + + Mongo + + + + + Loma (Liberia) + + + + + Malawi Lomwe + + + + + Lombo + + + + + Lopa + + + + + Lobala + + + + + Teen + + + + + Loniu + + + + + Otuho + + + + + Louisiana Creole French + + + + + Lopi + + + + + Tampias Lobu + + + + + Loun + + + + + Lowa + + + + + Lozi + + + + + Lelepa + + + + + Lepki + + + + + Lipo + + + + + Lopit + + + + + Lara' + + + + + Northern Luri + + + + + Laurentian + + + + + Laragia + + + + + Loarki + + + + + Lari + + + + + Lorang + + + + + Laro + + + + + Southern Lorung + + + + + Larevat + + + + + Lasgerdi + + + + + Lishana Deni + + + + + Lusengo + + + + + Lyons Sign Language + + + + + Lashi + + + + + Latvian Sign Language + + + + + Laos Sign Language + + + + + Aruop + + + + + Lasi + + + + + Late Middle Chinese + + + + + Leti (Indonesia) + + + + + Latu + + + + + Luxembourgish + + + + + Luba-Lulua + + + + + Luba-Katanga + + + + + Aringa + + + + + Ludian + + + + + Luvale + + + + + Laua + + + + + Ganda + + + + + Luiseno + + + + + Luna + + + + + Lunanakha + + + + + Olu'bo + + + + + Luimbi + + + + + Lunda + + + + + Luo (Kenya and Tanzania) + + + + + Lumbu + + + + + Lucumi + + + + + Laura + + + + + Lushai + + + + + Lushootseed + + + + + Lumba-Yakkha + + + + + Luwati + + + + + Luo + + + + + Luyia + + + + + Southern Luri + + + + + Maku'a + + + + + Lavukaleve + + + + + Levuka + + + + + Lwalu + + + + + Lewo Eleng + + + + + White Lachi + + + + + Eastern Lawa + + + + + Luwo + + + + + Lewotobi + + + + + Lewo + + + + + Layakha + + + + + Luyana + + + + + Litzlitz + + + + + Laz + + + + + San Jeronimo Tecoatl Mazatec + + + + + Yutanduchi Mixtec + + + + + Madurese + + + + + Bo-Rukul + + + + + Mafa + + + + + Magahi + + + + + Marshallese + + + + + Maithili + + + + + Jalapa De Diaz Mazatec + + + + + Makasar + + + + + Malayalam + + + + + Northern Mam + + + + + Mandingo + + + + + Chiquihuitlan Mazatec + + + + + Marathi + + + + + Masai + + + + + San Francisco Matlatzinca + + + + + Huautla Mazatec + + + + + Satere-Mawe + + + + + Mampruli + + + + + North Moluccan Malay + + + + + Central Mazahua + + + + + Higaonon + + + + + Western Bukidnon Manobo + + + + + Macushi + + + + + Dibabawon Manobo + + + + + Molale + + + + + Baba Malay + + + + + Northern Nambikuara + + + + + Mangseng + + + + + Ilianen Manobo + + + + + Nadeb + + + + + Malol + + + + + Maxakali + + + + + Ombamba + + + + + Macaguan + + + + + Mbo (Cameroon) + + + + + Malayo + + + + + Maisin + + + + + Nukak Maku + + + + + Sarangani Manobo + + + + + Matigsalug Manobo + + + + + Mbula-Bwazza + + + + + Mbulungish + + + + + Maring + + + + + Mari (East Sepik Province) + + + + + Memoni + + + + + Amoltepec Mixtec + + + + + Maca + + + + + Machiguenga + + + + + Bitur + + + + + Sharanahua + + + + + Itundujia Mixtec + + + + + Matses + + + + + Mapoyo + + + + + Maquiritari + + + + + Mese + + + + + Mvanip + + + + + Mbunda + + + + + Macaguaje + + + + + Malaccan Creole Portuguese + + + + + Masana + + + + + Coatlan Mixe + + + + + Makaa + + + + + Ese + + + + + Menya + + + + + Mambai + + + + + Mengisa + + + + + Cameroon Mambila + + + + + Minanibai + + + + + Mawa (Chad) + + + + + Mpiemo + + + + + South Watut + + + + + Mawan + + + + + Mada (Nigeria) + + + + + Morigi + + + + + Male (Papua New Guinea) + + + + + Mbum + + + + + Maba (Chad) + + + + + Moksha + + + + + Massalat + + + + + Maguindanao + + + + + Mamvu + + + + + Mangbetu + + + + + Mangbutu + + + + + Maltese Sign Language + + + + + Mayogo + + + + + Mbati + + + + + Southwest Gbaya + + + + + Mbala + + + + + Mbole + + + + + Mandar + + + + + Maria (Papua New Guinea) + + + + + Mbere + + + + + Mboko + + + + + Santa Lucia Monteverde Mixtec + + + + + Mbosi + + + + + Dizi + + + + + Male (Ethiopia) + + + + + Surui Do Para + + + + + Menka + + + + + Ikobi-Mena + + + + + Mara + + + + + Melpa + + + + + Mengen + + + + + Megam + + + + + Mea + + + + + Southwestern Tlaxiaco Mixtec + + + + + Midob + + + + + Meyah + + + + + Mekeo + + + + + Melanau + + + + + Mangala + + + + + Mende (Sierra Leone) + + + + + Kedah Malay + + + + + Miriwung + + + + + Merey + + + + + Meru + + + + + Masmaje + + + + + Mato + + + + + Motu + + + + + Mann + + + + + Maaka + + + + + Hassaniyya + + + + + Menominee + + + + + Pattani Malay + + + + + Lom + + + + + Mba + + + + + Mendankwe-Nkwen + + + + + Morisyen + + + + + Naki + + + + + Mixifore + + + + + Matal + + + + + Wandala + + + + + Mefele + + + + + North Mofu + + + + + Putai + + + + + Marghi South + + + + + Cross River Mbembe + + + + + Mbe + + + + + Makassar Malay + + + + + Moba + + + + + Marithiel + + + + + Mexican Sign Language + + + + + Mokerang + + + + + Mbwela + + + + + Mandjak + + + + + Mulaha + + + + + Melo + + + + + Mayo + + + + + Mabaan + + + + + Middle Irish (900-1200) + + + + + Mararit + + + + + Morokodo + + + + + Moru + + + + + Mango + + + + + Maklew + + + + + Mpongmpong + + + + + Makhuwa-Meetto + + + + + Lijili + + + + + Abureni + + + + + Mawes + + + + + Maleu-Kilenge + + + + + Mambae + + + + + Mbangi + + + + + Meta' + + + + + Eastern Magar + + + + + Malila + + + + + Mambwe-Lungu + + + + + Manda (Tanzania) + + + + + Mongol + + + + + Mailu + + + + + Matengo + + + + + Matumbi + + + + + Omati + + + + + Mbunga + + + + + Mbugwe + + + + + Manda (India) + + + + + Mahongwe + + + + + Mocho + + + + + Mbugu + + + + + Besisi + + + + + Mamaa + + + + + Margu + + + + + Maskoy Pidgin + + + + + Ma'di + + + + + Mogholi + + + + + Mungaka + + + + + Mauwake + + + + + Makhuwa-Moniga + + + + + Mocheno + + + + + Mashi (Zambia) + + + + + Balinese Malay + + + + + Mandan + + + + + Eastern Mari + + + + + Buru (Indonesia) + + + + + Mandahuaca + + + + + Digaro-Mishmi + + + + + Arakanese + + + + + Mbukushu + + + + + Maru + + + + + Ma'anyan + + + + + Mor (Mor Islands) + + + + + Miami + + + + + Atatlahuca Mixtec + + + + + Mi'kmaq + + + + + Mandaic + + + + + Ocotepec Mixtec + + + + + Mofu-Gudur + + + + + San Miguel El Grande Mixtec + + + + + Chayuco Mixtec + + + + + Chigmecatitlan Mixtec + + + + + Abar + + + + + Mikasuki + + + + + Penoles Mixtec + + + + + Alacatlatzala Mixtec + + + + + Minangkabau + + + + + Pinotepa Nacional Mixtec + + + + + Apasco-Apoala Mixtec + + + + + Miskito + + + + + Isthmus Mixe + + + + + Southern Puebla Mixtec + + + + + Cacaloxtepec Mixtec + + + + + Mimi + + + + + Akoye + + + + + Mixtepec Mixtec + + + + + Ayutla Mixtec + + + + + Coatzospan Mixtec + + + + + Mahei + + + + + San Juan Colorado Mixtec + + + + + Northwest Maidu + + + + + Muskum + + + + + Tu + + + + + Mwera (Nyasa) + + + + + Kim Mun + + + + + Mawak + + + + + Matukar + + + + + Mandeali + + + + + Medebur + + + + + Ma (Papua New Guinea) + + + + + Malankuravan + + + + + Malapandaram + + + + + Malaryan + + + + + Malavedan + + + + + Miship + + + + + Sauria Paharia + + + + + Manna-Dora + + + + + Mannan + + + + + Karbi + + + + + Mahali + + + + + Mahican + + + + + Majhi + + + + + Mbre + + + + + Mal Paharia + + + + + Siliput + + + + + Macedonian + + + + + Mawchi + + + + + Miya + + + + + Mak (China) + + + + + Dhatki + + + + + Mokilese + + + + + Byep + + + + + Mokole + + + + + Moklen + + + + + Kupang Malay + + + + + Mingang Doso + + + + + Moikodi + + + + + Bay Miwok + + + + + Malas + + + + + Silacayoapan Mixtec + + + + + Vamale + + + + + Konyanka Maninka + + + + + Mafea + + + + + Kituba (Congo) + + + + + Cinamiguin Manobo + + + + + East Makian + + + + + Makasae + + + + + Malo + + + + + Mbule + + + + + Cao Lan + + + + + Malakhel + + + + + Manambu + + + + + Mal + + + + + Malagasy + + + + + Mape + + + + + Malimpung + + + + + Miltu + + + + + Malakote + + + + + Malua Bay + + + + + Mulam + + + + + Malango + + + + + Mlomp + + + + + Bargam + + + + + Western Maninkakan + + + + + Vame + + + + + Masalit + + + + + Maltese + + + + + To'abaita + + + + + Motlav + + + + + Moloko + + + + + Malfaxal + + + + + Malay (individual language) + + + + + Malaynon + + + + + Mama + + + + + Momina + + + + + Michoacan Mazahua + + + + + Maonan + + + + + Mae + + + + + Mundat + + + + + North Ambrym + + + + + Mehinaku + + + + + Musar + + + + + Majhwar + + + + + Mukha-Dora + + + + + Man Met + + + + + Maii + + + + + Mamanwa + + + + + Mangga Buang + + + + + Musan + + + + + Musak + + + + + Western Xiangxi Hmong + + + + + Southern Mam + + + + + Malalamai + + + + + Mmaala + + + + + Miriti + + + + + Emae + + + + + Madak + + + + + Migaama + + + + + Mabaale + + + + + Mbula + + + + + Muna + + + + + Manchu + + + + + Monde + + + + + Naba + + + + + Mundani + + + + + Eastern Mnong + + + + + Mono (Democratic Republic of Congo) + + + + + Manipuri + + + + + Munji + + + + + Mandinka + + + + + Tiale + + + + + Mapena + + + + + Southern Mnong + + + + + Min Bei Chinese + + + + + Minriq + + + + + Mono (USA) + + + + + Mansi + + + + + Maykulan + + + + + Mer + + + + + Rennell-Belona + + + + + Mon + + + + + Manikion + + + + + Manyawa + + + + + Moni + + + + + Mwan + + + + + Moinba + + + + + Mocovi + + + + + Mobilian + + + + + Montagnais + + + + + Mohegan-Montauk-Narragansett + + + + + Mongondow + + + + + Mohawk + + + + + Mboi + + + + + Monzombo + + + + + Morori + + + + + Moldavian + + + + + Monimbo + + + + + Mongolian + + + + + Monom + + + + + Mopan Maya + + + + + Mor (Bomberai Peninsula) + + + + + Moro + + + + + Mossi + + + + + Bari + + + + + Mogum + + + + + Mohave + + + + + Moi (Congo) + + + + + Molima + + + + + Shekkacho + + + + + Mukulu + + + + + Mpoto + + + + + Mullukmulluk + + + + + Mangarayi + + + + + Machinere + + + + + Majang + + + + + Tajumulco Mam + + + + + Marba + + + + + Maung + + + + + Mpade + + + + + Martu Wangka + + + + + Mbara (Chad) + + + + + Middle Watut + + + + + Yosondua Mixtec + + + + + Mindiri + + + + + Miu + + + + + Migabac + + + + + Matis + + + + + Vangunu + + + + + Dadibi + + + + + Mian + + + + + Makurap + + + + + Munkip + + + + + Mapidian + + + + + Misima-Paneati + + + + + Mapia + + + + + Mpi + + + + + Maba (Indonesia) + + + + + Mbuko + + + + + Mangole + + + + + Madang + + + + + Matepi + + + + + Momuna + + + + + Kota Bangun Kutai Malay + + + + + Tlazoyaltepec Mixtec + + + + + Mariri + + + + + Mamasa + + + + + Rajah Kabunsuwan Manobo + + + + + Mbelime + + + + + South Marquesan + + + + + Moronene + + + + + Modole + + + + + Manipa + + + + + Minokok + + + + + Mander + + + + + West Makian + + + + + Mok + + + + + Mandari + + + + + Mosimo + + + + + Murupi + + + + + Mamuju + + + + + Manggarai + + + + + Malasanga + + + + + Mlabri + + + + + Marino + + + + + Maricopa + + + + + Western Magar + + + + + Martha's Vineyard Sign Language + + + + + Elseng + + + + + Miri + + + + + Mara Chin + + + + + Maori + + + + + Western Mari + + + + + Hmwaveke + + + + + Mortlockese + + + + + Merlav + + + + + Cheke Holo + + + + + Mru + + + + + Morouas + + + + + North Marquesan + + + + + Maria (India) + + + + + Maragus + + + + + Marghi Central + + + + + Mono (Cameroon) + + + + + Mangareva + + + + + Maranao + + + + + Maremgi + + + + + Karaga Mandaya + + + + + Marind + + + + + Malay (macrolanguage) + + + + + Masbatenyo + + + + + Sankaran Maninka + + + + + Yucatec Maya Sign Language + + + + + Musey + + + + + Mekwei + + + + + Moraid + + + + + Masikoro Malagasy + + + + + Sabah Malay + + + + + Ma (Democratic Republic of Congo) + + + + + Mansaka + + + + + Molof + + + + + Agusan Manobo + + + + + Mosina + + + + + Mombum + + + + + Maritsaua + + + + + Caac + + + + + Mongolian Sign Language + + + + + West Masela + + + + + Cataelano Mandaya + + + + + Musom + + + + + Maslam + + + + + Mansoanka + + + + + Moresada + + + + + Aruamu + + + + + Momare + + + + + Cotabato Manobo + + + + + Anyin Morofo + + + + + Munit + + + + + Mualang + + + + + Mono (Solomon Islands) + + + + + Murik + + + + + Una + + + + + Munggui + + + + + Maiwa (Papua New Guinea) + + + + + Moskona + + + + + Mbe' + + + + + Montol + + + + + Mator + + + + + Matagalpa + + + + + Totontepec Mixe + + + + + Wichi Lhamtes Nocten + + + + + Muong + + + + + Mewari + + + + + Yora + + + + + Mota + + + + + Tututepec Mixtec + + + + + Asaro'o + + + + + Magahat + + + + + Tidaa Mixtec + + + + + Nabi + + + + + Tacanec + + + + + Mundang + + + + + Mubi + + + + + Mbu' + + + + + Mednyj Aleut + + + + + Media Lengua + + + + + Musgu + + + + + Mundu + + + + + Musi + + + + + Mabire + + + + + Mugom + + + + + Multiple languages + + + + + Maiwala + + + + + Nyong + + + + + Malvi + + + + + Eastern Xiangxi Hmong + + + + + Murle + + + + + Creek + + + + + Western Muria + + + + + Yaaku + + + + + Muthuvan + + + + + Mundari + + + + + Mbo-Ung + + + + + Muyang + + + + + Mursi + + + + + Manam + + + + + Mattole + + + + + Central Mam + + + + + Mamboru + + + + + Marwari (Pakistan) + + + + + Peripheral Mongolian + + + + + Yucuane Mixtec + + + + + Mire + + + + + Miyako + + + + + Todos Santos Cuchumatan Mam + + + + + Mekmek + + + + + Mbara (Australia) + + + + + Muya + + + + + Minaveha + + + + + Marovo + + + + + Duri + + + + + Moere + + + + + Marau + + + + + Massep + + + + + Mpotovoro + + + + + Marfa + + + + + Tagal Murut + + + + + Machinga + + + + + Meoswar + + + + + Indus Kohistani + + + + + Mesqan + + + + + Mwatebu + + + + + Juwal + + + + + Are + + + + + Mudbura + + + + + Mwera (Chimwera) + + + + + Murrinh-Patha + + + + + Aiklep + + + + + Mouk-Aria + + + + + Labo + + + + + Maligo + + + + + Kita Maninkakan + + + + + Mirandese + + + + + Sar + + + + + Nyamwanga + + + + + Central Maewo + + + + + Kala Lagaw Ya + + + + + Mun Chin + + + + + Marwari + + + + + Mwimbi-Muthambi + + + + + Moken + + + + + Mittu + + + + + Mentawai + + + + + Hmong Daw + + + + + Mediak + + + + + Mosiro + + + + + Moingi + + + + + Northwest Oaxaca Mixtec + + + + + Tezoatlan Mixtec + + + + + Manyika + + + + + Modang + + + + + Mele-Fila + + + + + Malgbe + + + + + Mbangala + + + + + Mvuba + + + + + Mozarabic + + + + + Miju-Mishmi + + + + + Monumbo + + + + + Maxi Gbe + + + + + Meramera + + + + + Moi (Indonesia) + + + + + Mbowe + + + + + Tlahuitoltepec Mixe + + + + + Juquila Mixe + + + + + Murik Kayan + + + + + Huitepec Mixtec + + + + + Jamiltepec Mixtec + + + + + Mada (Cameroon) + + + + + Metlatonoc Mixtec + + + + + Namo + + + + + Mahou + + + + + Southeastern Nochixtlan Mixtec + + + + + Central Masela + + + + + Burmese + + + + + Mbay + + + + + Mayeka + + + + + Maramba + + + + + Myene + + + + + Bambassi + + + + + Manta + + + + + Makah + + + + + Mina (India) + + + + + Mangayat + + + + + Mamara Senoufo + + + + + Moma + + + + + Me'en + + + + + Anfillo + + + + + Piraha + + + + + Forest Maninka + + + + + Muniche + + + + + Mesmes + + + + + Sangab Mandaya + + + + + Munduruku + + + + + Erzya + + + + + Muyuw + + + + + Masaba + + + + + Macuna + + + + + Classical Mandaic + + + + + Santa Maria Zacatepec Mixtec + + + + + Tumzabt + + + + + Madagascar Sign Language + + + + + Malimba + + + + + Morawa + + + + + Aiku + + + + + Monastic Sign Language + + + + + Wichi Lhamtes Guisnay + + + + + Ixcatlan Mazatec + + + + + Manya + + + + + Nigeria Mambila + + + + + Mazatlan Mixe + + + + + Mumuye + + + + + Mazanderani + + + + + Matipuhy + + + + + Movima + + + + + Mori Atas + + + + + Marubo + + + + + Macanese + + + + + Mintil + + + + + Inapang + + + + + Manza + + + + + Deg + + + + + Mawayana + + + + + Mozambican Sign Language + + + + + Maiadomu + + + + + Southern Nambikuara + + + + + Narak + + + + + Nijadali + + + + + Naka'ela + + + + + Nabak + + + + + Naga Pidgin + + + + + Nalu + + + + + Nakanai + + + + + Nalik + + + + + Nangikurrunggurr + + + + + Min Nan Chinese + + + + + Naaba + + + + + Neapolitan + + + + + Nama (Namibia) + + + + + Iguta + + + + + Naasioi + + + + + Hungworo + + + + + Nauru + + + + + Navajo + + + + + Nawuri + + + + + Nakwi + + + + + Narrinyeri + + + + + Coatepec Nahuatl + + + + + Nyemba + + + + + Ndoe + + + + + Chang Naga + + + + + Ngbinda + + + + + Konyak Naga + + + + + Naxi + + + + + Nagarchal + + + + + Ngamo + + + + + Mao Naga + + + + + Ngarinman + + + + + Nake + + + + + South Ndebele + + + + + Ngbaka Ma'bo + + + + + Kuri + + + + + Nkukoli + + + + + Nnam + + + + + Nggem + + + + + Numana-Nunku-Gbantu-Numbu + + + + + Namibian Sign Language + + + + + Na + + + + + Rongmei Naga + + + + + Ngamambo + + + + + Southern Ngbandi + + + + + Ngura + + + + + Ningera + + + + + Iyo + + + + + Central Nicobarese + + + + + Ponam + + + + + Nachering + + + + + Yale + + + + + Notsi + + + + + Nisga'a + + + + + Central Huasteca Nahuatl + + + + + Classical Nahuatl + + + + + Northern Puebla Nahuatl + + + + + Nakara + + + + + Michoacan Nahuatl + + + + + Nambo + + + + + Nauna + + + + + Sibe + + + + + Ndaktup + + + + + Ncane + + + + + Nicaraguan Sign Language + + + + + Chothe Naga + + + + + Chumburung + + + + + Central Puebla Nahuatl + + + + + Natchez + + + + + Ndasa + + + + + Kenswei Nsei + + + + + Ndau + + + + + Nde-Nsele-Nta + + + + + North Ndebele + + + + + Nadruvian + + + + + Ndengereko + + + + + Ndali + + + + + Samba Leko + + + + + Ndamba + + + + + Ndaka + + + + + Ndolo + + + + + Ndam + + + + + Ngundi + + + + + Ndonga + + + + + Ndo + + + + + Ndombe + + + + + Ndoola + + + + + Low German + + + + + Ndunga + + + + + Dugun + + + + + Ndut + + + + + Ndobo + + + + + Nduga + + + + + Lutos + + + + + Ndogo + + + + + Eastern Ngad'a + + + + + Toura (Cote d'Ivoire) + + + + + Nedebang + + + + + Nde-Gbite + + + + + Kumak + + + + + Nefamese + + + + + Negidal + + + + + Nyenkha + + + + + Neo-Hittite + + + + + Neko + + + + + Neku + + + + + Nemi + + + + + Nengone + + + + + Na-Meo + + + + + Nepali + + + + + North Central Mixe + + + + + Yahadian + + + + + Bhoti Kinnauri + + + + + Nete + + + + + Nyaheun + + + + + Newari + + + + + Neme + + + + + Neyo + + + + + Nez Perce + + + + + Dhao + + + + + Ndun + + + + + Nyeng + + + + + Shakara + + + + + Ayiwo + + + + + Nafaanra + + + + + Mfumte + + + + + Ngbaka + + + + + Northern Ngbandi + + + + + Ngombe (Democratic Republic of Congo) + + + + + Ngando (Central African Republic) + + + + + Ngemba + + + + + Ngbaka Manza + + + + + N/u + + + + + Ngizim + + + + + Ngie + + + + + Ngalkbun + + + + + Lomwe + + + + + Ngatik Men's Creole + + + + + Ngwo + + + + + Ngoni + + + + + Ngulu + + + + + Ngurimi + + + + + Nanggu + + + + + Gvoko + + + + + Ngeq + + + + + Guerrero Nahuatl + + + + + Nagumi + + + + + Ngwaba + + + + + Nggwahyi + + + + + Tibea + + + + + Ngungwel + + + + + Beng + + + + + Tabasco Nahuatl + + + + + Chiripa + + + + + Eastern Huasteca Nahuatl + + + + + Nhuwala + + + + + Tetelcingo Nahuatl + + + + + Nahari + + + + + Tenango Nahuatl + + + + + Tlalitzlipa Nahuatl + + + + + Isthmus-Cosoleacaque Nahuatl + + + + + Morelos Nahuatl + + + + + Central Nahuatl + + + + + Takuu + + + + + Isthmus-Pajapan Nahuatl + + + + + Huaxcaleca Nahuatl + + + + + Naro + + + + + Southeastern Puebla Nahuatl + + + + + Ometepec Nahuatl + + + + + Noone + + + + + Temascaltepec Nahuatl + + + + + Western Huasteca Nahuatl + + + + + Isthmus-Mecayapan Nahuatl + + + + + Northern Oaxaca Nahuatl + + + + + Santa Maria La Alta Nahuatl + + + + + Nias + + + + + Nakama + + + + + Ngandi + + + + + Niellim + + + + + Nek + + + + + Ngalakan + + + + + Nyiha + + + + + Nii + + + + + Ngaju + + + + + Southern Nicobarese + + + + + Nila + + + + + Nilamba + + + + + Ninzo + + + + + Nganasan + + + + + Nimboran + + + + + Nimi + + + + + Southeastern Kolami + + + + + Niuean + + + + + Gilyak + + + + + Nimo + + + + + Hema + + + + + Ngiti + + + + + Ningil + + + + + Nzanyi + + + + + Nocte Naga + + + + + Ndonde Hamba + + + + + Lotha Naga + + + + + Gudanji + + + + + Njen + + + + + Njalgulgule + + + + + Angami Naga + + + + + Liangmai Naga + + + + + Ao Naga + + + + + Njerep + + + + + Nisa + + + + + Ndyuka-Trio Pidgin + + + + + Ngadjunmaya + + + + + Kunyi + + + + + Njyem + + + + + Nkoya + + + + + Khoibu Naga + + + + + Nkongho + + + + + Koireng + + + + + Duke + + + + + Inpui Naga + + + + + Nekgini + + + + + Khezha Naga + + + + + Thangal Naga + + + + + Nakai + + + + + Nokuku + + + + + Namat + + + + + Nkangala + + + + + Nkonya + + + + + Niuatoputapu + + + + + Nukuoro + + + + + North Asmat + + + + + Bouna Kulango + + + + + Nkutu + + + + + Nkoroo + + + + + Khiamniungan Naga + + + + + Nkari + + + + + Ngombale + + + + + Nalca + + + + + Dutch + + + + + East Nyala + + + + + Gela + + + + + Grangali + + + + + Nyali + + + + + Ninia Yali + + + + + Nihali + + + + + Durango Nahuatl + + + + + Ngul + + + + + Ngarla + + + + + Nchumbulu + + + + + Orizaba Nahuatl + + + + + Nahali + + + + + Nyamal + + + + + Maram Naga + + + + + Big Nambas + + + + + Ngam + + + + + Ndumu + + + + + Mzieme Naga + + + + + Tangkhul Naga + + + + + Ngumba + + + + + Monsang Naga + + + + + Nyam + + + + + Ngombe (Central African Republic) + + + + + Namakura + + + + + Ndemli + + + + + Manangba + + + + + !Xoo + + + + + Moyon Naga + + + + + Nimanbur + + + + + Nambya + + + + + Nimbari + + + + + Letemboi + + + + + Namonuito + + + + + Northeast Maidu + + + + + Ngamini + + + + + Nimoa + + + + + Nama (Papua New Guinea) + + + + + Namuyi + + + + + Nawdm + + + + + Nyangumarta + + + + + Nande + + + + + Nancere + + + + + West Ambae + + + + + Ngandyera + + + + + Ngaing + + + + + Maring Naga + + + + + Ngiemboon + + + + + North Nuaulu + + + + + Nyangatom + + + + + Nankina + + + + + Northern Rengma Naga + + + + + Namia + + + + + Ngete + + + + + Norwegian Nynorsk + + + + + Wancho Naga + + + + + Ngindo + + + + + Narungga + + + + + Ningye + + + + + Nanticoke + + + + + Dwang + + + + + Nugunu (Australia) + + + + + Southern Nuni + + + + + Ngong + + + + + Nyangga + + + + + Nda'nda + + + + + Woun Meu + + + + + Norwegian Bokmal + + + + + Nuk + + + + + Northern Thai + + + + + Nimadi + + + + + Nomane + + + + + Nogai + + + + + Nomu + + + + + Noiri + + + + + Nooksack + + + + + Nocaman + + + + + Old Norse + + + + + Nootka + + + + + Numanggang + + + + + Ngongo + + + + + Norwegian + + + + + Southern Yi + + + + + Nomatsiguenga + + + + + Ewage-Notu + + + + + Novial + + + + + Nyambo + + + + + Noy + + + + + Nayi + + + + + Nar Phu + + + + + Nupbikha + + + + + Phom Naga + + + + + Mondropolon + + + + + Pochuri Naga + + + + + Nipsan + + + + + Puimei Naga + + + + + Napu + + + + + Ede Nago + + + + + Kura Ede Nago + + + + + Ndom + + + + + Nen + + + + + N'Ko + + + + + Ngom + + + + + Nara + + + + + Noric + + + + + Southern Rengma Naga + + + + + Narango + + + + + Chokri Naga + + + + + Ngarluma + + + + + Narom + + + + + Norn + + + + + North Picene + + + + + Norra + + + + + Northern Kalapuya + + + + + Ngurmbur + + + + + Lala + + + + + Sangtam Naga + + + + + Nshi + + + + + Nsenga + + + + + Ngasa + + + + + Ngoshie + + + + + Nigerian Sign Language + + + + + Naskapi + + + + + Norwegian Sign Language + + + + + Sumi Naga + + + + + Nehan + + + + + Pedi + + + + + Nepalese Sign Language + + + + + Northern Sierra Miwok + + + + + Maritime Sign Language + + + + + Nali + + + + + Tase Naga + + + + + Navut + + + + + Nsongo + + + + + Nisenan + + + + + Nathembo + + + + + Natioro + + + + + Ngaanyatjarra + + + + + Ikoma + + + + + Nateni + + + + + Ntomba + + + + + Northern Tepehuan + + + + + Delo + + + + + Natagaimas + + + + + Nottoway + + + + + Mantsi + + + + + Natanzi + + + + + Yuaga + + + + + Nukuini + + + + + Ngala + + + + + Ngundu + + + + + Nusu + + + + + Nungali + + + + + Ndunda + + + + + Ngumbi + + + + + Nyole + + + + + Nusa Laut + + + + + Niuafo'ou + + + + + Nung (Myanmar) + + + + + Nguon + + + + + Nupe-Nupe-Tako + + + + + Nukumanu + + + + + Nukuria + + + + + Nuer + + + + + Nung (Viet Nam) + + + + + Ngbundu + + + + + Northern Nuni + + + + + Nguluwan + + + + + Mehek + + + + + Nunggubuyu + + + + + Tlamacazapa Nahuatl + + + + + Nasarian + + + + + Namiae + + + + + Nawathinehena + + + + + Nyabwa + + + + + Classical Newari + + + + + Ngwe + + + + + Southwest Tanna + + + + + Nyamusa-Molo + + + + + Nawaru + + + + + Middle Newar + + + + + Nottoway-Meherrin + + + + + Nauete + + + + + Ngando (Democratic Republic of Congo) + + + + + Nage + + + + + Ngad'a + + + + + Nindi + + + + + Nyadu + + + + + South Nuaulu + + + + + Numidian + + + + + Ngawun + + + + + Ninggerum + + + + + Narau + + + + + Nafri + + + + + Nyanja + + + + + Nyangbo + + + + + Nyanga-li + + + + + Nyore + + + + + Nyengo + + + + + Giryama + + + + + Nyindu + + + + + Nyigina + + + + + Ama (Sudan) + + + + + Nyanga + + + + + Nyaneka + + + + + Nyeu + + + + + Nyamwezi + + + + + Nyankole + + + + + Nyoro + + + + + Nyang'i + + + + + Nayini + + + + + Nyunga + + + + + Nyawaygi + + + + + Nyungwe + + + + + Nyulnyul + + + + + Nyaw + + + + + Nganyaywana + + + + + Nyakyusa-Ngonde + + + + + Tigon Mbembe + + + + + Njebi + + + + + Nzima + + + + + Nzakara + + + + + Zeme Naga + + + + + New Zealand Sign Language + + + + + Teke-Nzikou + + + + + Nzakambay + + + + + Orok + + + + + Oroch + + + + + Old Aramaic + + + + + Old Avar + + + + + Obispeno + + + + + Oblo + + + + + Moabite + + + + + Obo Manobo + + + + + Old Burmese + + + + + Old Breton + + + + + Obulom + + + + + Ocaina + + + + + Occidental + + + + + Old Chinese + + + + + Occitan (post 1500) + + + + + Old Cornish + + + + + Atzingo Matlatzinca + + + + + Odut + + + + + Od + + + + + Old Dutch + + + + + Odual + + + + + Ofo + + + + + Old Frisian + + + + + Efutop + + + + + Ogbia + + + + + Ogbah + + + + + Old Georgian + + + + + Ogbogolo + + + + + Ogan + + + + + Khana + + + + + Ogbronuagum + + + + + Old Hittite + + + + + Old Hungarian + + + + + Oirata + + + + + Inebu One + + + + + Northwestern Ojibwa + + + + + Central Ojibwa + + + + + Eastern Ojibwa + + + + + Ojibwa + + + + + Old Japanese + + + + + Severn Ojibwa + + + + + Ontong Java + + + + + Western Ojibwa + + + + + Okanagan + + + + + Okobo + + + + + Okodia + + + + + Okpe (Southwestern Edo) + + + + + Koresh-e Rostam + + + + + Okiek + + + + + Oko-Juwoi + + + + + Kwamtim One + + + + + Old Kentish Sign Language + + + + + Middle Korean (10th - 16th cent.) + + + + + Oki-No-Erabu + + + + + Old Korean (3rd - 9th cent.) + + + + + Kirike + + + + + Oko-Eni-Osayen + + + + + Oku + + + + + Okpe (Northwestern Edo) + + + + + Walungge + + + + + Mochi + + + + + Olekha + + + + + Oloma + + + + + Livvi + + + + + Omaha-Ponca + + + + + East Ambae + + + + + Mochica + + + + + Omejes + + + + + Omagua + + + + + Omi + + + + + Omok + + + + + Ombo + + + + + Minoan + + + + + Utarmbung + + + + + Old Manipuri + + + + + Old Marathi + + + + + Omotik + + + + + Omurano + + + + + South Tairora + + + + + Old Mon + + + + + Ona + + + + + Lingao + + + + + Oneida + + + + + Olo + + + + + Onin + + + + + Onjob + + + + + Kabore One + + + + + Onobasulu + + + + + Onondaga + + + + + Northern One + + + + + Ono + + + + + Ontenu + + + + + Unua + + + + + Old Nubian + + + + + Onin Based Pidgin + + + + + Tohono O'odham + + + + + Ong + + + + + Onge + + + + + Oorlams + + + + + Old Ossetic + + + + + Okpamheri + + + + + Old Persian + + + + + Kopkaka + + + + + Oksapmin + + + + + Opao + + + + + Opata + + + + + Ofaye + + + + + Oroha + + + + + Orma + + + + + Orejon + + + + + Oring + + + + + Oroqen + + + + + Oriya + + + + + Orokaiva + + + + + Oromo + + + + + Orang Kanaq + + + + + Orokolo + + + + + Oruma + + + + + Orang Seletar + + + + + Adivasi Oriya + + + + + Ormuri + + + + + Old Russian + + + + + Oro Win + + + + + Oro + + + + + Ormu + + + + + Osage + + + + + Oscan + + + + + Osing + + + + + Ososo + + + + + Old Spanish + + + + + Ossetian + + + + + Osatu + + + + + Southern One + + + + + Old Saxon + + + + + Ottoman Turkish (1500-1928) + + + + + Old Tibetan + + + + + Dohoi + + + + + Mezquital Otomi + + + + + Oti + + + + + Old Turkish + + + + + Tilapa Otomi + + + + + Eastern Highland Otomi + + + + + Tenango Otomi + + + + + Queretaro Otomi + + + + + Otoro + + + + + Estado de Mexico Otomi + + + + + Temoaya Otomi + + + + + Otuke + + + + + Ottawa + + + + + Texcatepec Otomi + + + + + Old Tamil + + + + + Ixtenco Otomi + + + + + Tagargrent + + + + + Glio-Oubi + + + + + Oune + + + + + Old Uighur + + + + + Ouma + + + + + !O!ung + + + + + Owiniga + + + + + Old Welsh + + + + + Oy + + + + + Oyda + + + + + Wayampi + + + + + Oya'oya + + + + + Koonzime + + + + + Parecis + + + + + Pacoh + + + + + Paumari + + + + + Pagibete + + + + + Paranawat + + + + + Pangasinan + + + + + Tenharim + + + + + Pe + + + + + Ipeka-Tapuia + + + + + Parakana + + + + + Pahlavi + + + + + Pampanga + + + + + Panjabi + + + + + Northern Paiute + + + + + Papiamento + + + + + Parya + + + + + Panamint + + + + + Papasena + + + + + Papitalai + + + + + Palauan + + + + + Pakaasnovos + + + + + Pawnee + + + + + Pankarare + + + + + Pech + + + + + Pankararu + + + + + Paez + + + + + Patamona + + + + + Mezontla Popoloca + + + + + Coyotepec Popoloca + + + + + Paraujano + + + + + Enepa + + + + + Parkwa + + + + + Mak (Nigeria) + + + + + Kpasam + + + + + Papel + + + + + Badyara + + + + + Pangwa + + + + + Central Pame + + + + + Southern Pashto + + + + + Northern Pashto + + + + + Pnar + + + + + Pyu + + + + + Palu + + + + + Santa Ines Ahuatempan Popoloca + + + + + Pear + + + + + Bouyei + + + + + Picard + + + + + Pale Palaung + + + + + Paliyan + + + + + Paniya + + + + + Pardhan + + + + + Duruwa + + + + + Parenga + + + + + Paite Chin + + + + + Pardhi + + + + + Nigerian Pidgin + + + + + Piti + + + + + Pacahuara + + + + + Panang + + + + + Pyapun + + + + + Anam + + + + + Pennsylvania German + + + + + Pa Di + + + + + Podena + + + + + Padoe + + + + + Plautdietsch + + + + + Kayan + + + + + Peranakan Indonesian + + + + + Eastern Pomo + + + + + Southern Pesisir + + + + + Mala (Papua New Guinea) + + + + + Taje + + + + + Northeastern Pomo + + + + + Pengo + + + + + Bonan + + + + + Chichimeca-Jonaz + + + + + Northern Pomo + + + + + Penchal + + + + + Pekal + + + + + Phende + + + + + Penesak + + + + + Old Persian (ca. 600-400 B.C.) + + + + + Kunja + + + + + Southern Pomo + + + + + Western Farsi + + + + + Pemono + + + + + Petats + + + + + Petjo + + + + + Eastern Penan + + + + + Paafang + + + + + Peere + + + + + Pfaelzisch + + + + + Sudanese Creole Arabic + + + + + Pangwali + + + + + Pagi + + + + + Rerep + + + + + Paelignian + + + + + Pangseng + + + + + Pagu + + + + + Pongyong + + + + + Pa-Hng + + + + + Phudagi + + + + + Phuong + + + + + Phula + + + + + Phake + + + + + Phalura + + + + + Phimbi + + + + + Phoenician + + + + + Phunoi + + + + + Phana' + + + + + Pahari-Potwari + + + + + Phu Thai + + + + + Phuan + + + + + Pahlavani + + + + + Phangduwali + + + + + Pima Bajo + + + + + Yine + + + + + Pinji + + + + + Piaroa + + + + + Piro + + + + + Pingelapese + + + + + Pisabo + + + + + Pitcairn-Norfolk + + + + + Pini + + + + + Pijao + + + + + Yom + + + + + Powhatan + + + + + Piame + + + + + Piapoco + + + + + Pero + + + + + Piratapuyo + + + + + Pijin + + + + + Pitta Pitta + + + + + Pintupi-Luritja + + + + + Pileni + + + + + Pimbwe + + + + + Piu + + + + + Piya-Kwonci + + + + + Pije + + + + + Pitjantjatjara + + + + + Upper Pokomo + + + + + Paekche + + + + + Pak-Tong + + + + + Pankhu + + + + + Pakanha + + + + + Pokoot + + + + + Pukapuka + + + + + Pakistan Sign Language + + + + + Maleng + + + + + Paku + + + + + Miani + + + + + Polonombauk + + + + + Central Palawano + + + + + Polari + + + + + Palu'e + + + + + Pilaga + + + + + Paulohi + + + + + Pali + + + + + Polci + + + + + Kohistani Shina + + + + + Shwe Palaung + + + + + Palembang + + + + + Palenquero + + + + + Oluta Popoluca + + + + + Palpa + + + + + Palaic + + + + + Palaka Senoufo + + + + + San Marcos Tlalcoyalco Popoloca + + + + + Plateau Malagasy + + + + + Palikur + + + + + Southwest Palawano + + + + + Brooke's Point Palawano + + + + + Bolyu + + + + + Paluan + + + + + Paama + + + + + Pambia + + + + + Palumata + + + + + Pwaamei + + + + + Northern Pumi + + + + + Southern Pumi + + + + + Pamlico + + + + + Lingua Franca + + + + + Pomo + + + + + Pam + + + + + Pom + + + + + Northern Pame + + + + + Paynamar + + + + + Piemontese + + + + + Tuamotuan + + + + + Mirpur Panjabi + + + + + Plains Miwok + + + + + Poumei Naga + + + + + Southern Pame + + + + + Punan Bah-Biau + + + + + Western Panjabi + + + + + Pannei + + + + + Western Penan + + + + + Pongu + + + + + Penrhyn + + + + + Aoheng + + + + + Punan Batu 1 + + + + + Pinai-Hagahai + + + + + Panobo + + + + + Pancana + + + + + Pana (Burkina Faso) + + + + + Panim + + + + + Ponosakan + + + + + Pontic + + + + + Jiongnai Bunu + + + + + Pinigura + + + + + Panytyima + + + + + Phong-Kniang + + + + + Pinyin + + + + + Pana (Central African Republic) + + + + + Eastern Pokomam + + + + + Western Pokomchi + + + + + Central Pokomam + + + + + Ponares + + + + + San Juan Atzingo Popoloca + + + + + Poke + + + + + Potiguara + + + + + Eastern Pokomchi + + + + + Highland Popoluca + + + + + Lower Pokomo + + + + + Pokanga + + + + + Polish + + + + + Southeastern Pomo + + + + + Pohnpeian + + + + + Central Pomo + + + + + Pwapwa + + + + + Texistepec Popoluca + + + + + Portuguese + + + + + Sayula Popoluca + + + + + Potawatomi + + + + + Southern Pokomam + + + + + Upper Guinea Crioulo + + + + + San Felipe Otlaltepec Popoloca + + + + + Polabian + + + + + Pogolo + + + + + Pao + + + + + Papi + + + + + Paipai + + + + + Uma + + + + + Pipil + + + + + Papuma + + + + + Papapana + + + + + Folopa + + + + + Pelende + + + + + Pei + + + + + Piru + + + + + San Luis Temalacayuca Popoloca + + + + + Pare + + + + + Papora + + + + + Papavo + + + + + Pa'a + + + + + Malecite-Passamaquoddy + + + + + Lua' + + + + + Parachi + + + + + Parsi-Dari + + + + + Principense + + + + + Prussian + + + + + Porohanon + + + + + Paici + + + + + Parauk + + + + + Peruvian Sign Language + + + + + Kibiri + + + + + Prasuni + + + + + Old Provencal (to 1500) + + + + + Parsi + + + + + Asheninka Perene + + + + + Puri + + + + + Dari + + + + + Phai + + + + + Puragi + + + + + Parawen + + + + + Purik + + + + + Pray 3 + + + + + Providencia Sign Language + + + + + Asue Awyu + + + + + Persian Sign Language + + + + + Plains Indian Sign Language + + + + + Pasemah + + + + + Penang Sign Language + + + + + Southwest Pashayi + + + + + Southeast Pashayi + + + + + Puerto Rican Sign Language + + + + + Pauserna + + + + + Panasuan + + + + + Polish Sign Language + + + + + Philippine Sign Language + + + + + Pasi + + + + + Portuguese Sign Language + + + + + Kaulong + + + + + Central Pashto + + + + + Port Sandwich + + + + + Piscataway + + + + + Pai Tavytera + + + + + Pataxo-Hahaai + + + + + Pintiini + + + + + Patani + + + + + Zo'e + + + + + Patep + + + + + Piamatsina + + + + + Enrekang + + + + + Bambam + + + + + Port Vato + + + + + Pentlatch + + + + + Western Highland Purepecha + + + + + Purum + + + + + Punan Merap + + + + + Punan Aput + + + + + Puelche + + + + + Punan Merah + + + + + Phuie + + + + + Puinave + + + + + Punan Tubu + + + + + Pu Ko + + + + + Puma + + + + + Pubian + + + + + Puoc + + + + + Pulabu + + + + + Puquina + + + + + Purubora + + + + + Pushto + + + + + Putoh + + + + + Punu + + + + + Puluwatese + + + + + Puari + + + + + Purisimeno + + + + + Purum Naga + + + + + Pawaia + + + + + Gapapaiwa + + + + + Molbog + + + + + Paiwan + + + + + Pwo Western Karen + + + + + Powari + + + + + Pwo Northern Karen + + + + + Quetzaltepec Mixe + + + + + Pye Krumen + + + + + Fyam + + + + + Poyanawa + + + + + Puyuma + + + + + Pyu (Myanmar) + + + + + Pyen + + + + + Quapaw + + + + + Huallaga Huanuco Quechua + + + + + Central Quiche + + + + + Calderon Highland Quichua + + + + + Quechua + + + + + Lambayeque Quechua + + + + + Chimborazo Highland Quichua + + + + + South Bolivian Quechua + + + + + Quileute + + + + + Joyabaj Quiche + + + + + Chachapoyas Quechua + + + + + North Bolivian Quechua + + + + + Sipacapense + + + + + Quinault + + + + + Southern Pastaza Quechua + + + + + Quinqui + + + + + Yanahuanca Pasco Quechua + + + + + Santiago del Estero Quichua + + + + + West Central Quiche + + + + + Eastern Quiche + + + + + Sacapulteco + + + + + Tena Lowland Quichua + + + + + Yauyos Quechua + + + + + Ayacucho Quechua + + + + + Cusco Quechua + + + + + Ambo-Pasco Quechua + + + + + Cajamarca Quechua + + + + + Eastern Apurimac Quechua + + + + + Huamalies-Dos de Mayo Huanuco Quechua + + + + + Imbabura Highland Quichua + + + + + Loja Highland Quichua + + + + + Cajatambo North Lima Quechua + + + + + Margos-Yarowilca-Lauricocha Quechua + + + + + North Junin Quechua + + + + + Napo Lowland Quechua + + + + + Pacaraos Quechua + + + + + San Martin Quechua + + + + + Huaylla Wanca Quechua + + + + + Queyu + + + + + Northern Pastaza Quichua + + + + + Corongo Ancash Quechua + + + + + Classical Quechua + + + + + Huaylas Ancash Quechua + + + + + Kuman (Russia) + + + + + Sihuas Ancash Quechua + + + + + Kwalhioqua-Tlatskanai + + + + + Chiquian Ancash Quechua + + + + + Chincha Quechua + + + + + Panao Huanuco Quechua + + + + + San Andres Quiche + + + + + Salasaca Highland Quichua + + + + + Northern Conchucos Ancash Quechua + + + + + Southern Conchucos Ancash Quechua + + + + + Puno Quechua + + + + + Qashqa'i + + + + + Canar Highland Quichua + + + + + Southern Qiang + + + + + Santa Ana de Tusi Pasco Quechua + + + + + Arequipa-La Union Quechua + + + + + Jauja Wanca Quechua + + + + + Quenya + + + + + Dungmali + + + + + Camling + + + + + Rasawa + + + + + Rade + + + + + Ranau + + + + + Western Meohang + + + + + Logooli + + + + + Rabha + + + + + Ramoaaina + + + + + Rajasthani + + + + + Tulu-Bohuai + + + + + Ralte + + + + + Canela + + + + + Riantana + + + + + Rao + + + + + Rapanui + + + + + Saam + + + + + Rarotongan + + + + + Tegali + + + + + Razajerdi + + + + + Raute + + + + + Sampang + + + + + Rawang + + + + + Rang + + + + + Rapa + + + + + Rahambuu + + + + + Rumai Palaung + + + + + Reunion Creole French + + + + + Rudbari + + + + + Rerau + + + + + Rembong + + + + + Rejang Kayan + + + + + Kara (Tanzania) + + + + + Reli + + + + + Rejang + + + + + Rendille + + + + + Remo + + + + + Rengao + + + + + Rer Bare + + + + + Reshe + + + + + Retta + + + + + Reyesano + + + + + Roria + + + + + Romano-Greek + + + + + Rangkas + + + + + Resigaro + + + + + Southern Roglai + + + + + Ringgou + + + + + Yahang + + + + + Riang (India) + + + + + Rien + + + + + Tarifit + + + + + Riang (Myanmar) + + + + + Nyaturu + + + + + Nungu + + + + + Ribun + + + + + Ritarungo + + + + + Riung + + + + + Rajbanshi + + + + + Rajong + + + + + Raji + + + + + Kraol + + + + + Rikbaktsa + + + + + Rakahanga-Manihiki + + + + + Marka + + + + + Rama + + + + + Rembarunga + + + + + Carpathian Romani + + + + + Traveller Danish + + + + + Angloromani + + + + + Kalo Finnish Romani + + + + + Traveller Norwegian + + + + + Murkim + + + + + Lomavren + + + + + Romkun + + + + + Baltic Romani + + + + + Roma + + + + + Balkan Romani + + + + + Sinte Romani + + + + + Rempi + + + + + Calo + + + + + Romanian Sign Language + + + + + Domari + + + + + Tavringer Romani + + + + + Romanova + + + + + Welsh Romani + + + + + Romam + + + + + Vlax Romani + + + + + Runa + + + + + Ruund + + + + + Ronga + + + + + Roon + + + + + Rongpo + + + + + Rungwa + + + + + Tae' + + + + + Cacgia Roglai + + + + + Rogo + + + + + Ronji + + + + + Rombo + + + + + Northern Roglai + + + + + Romansh + + + + + Romblomanon + + + + + Romany + + + + + Romanian + + + + + Rotokas + + + + + Kriol + + + + + Rongga + + + + + Runga + + + + + Dela-Oenale + + + + + Repanbitip + + + + + Rapting + + + + + Ririo + + + + + Waima + + + + + Romano-Serbian + + + + + Rennellese Sign Language + + + + + Russian Sign Language + + + + + Ratahan + + + + + Rotuman + + + + + Rathawi + + + + + Gungu + + + + + Ruli + + + + + Rusyn + + + + + Luguru + + + + + Roviana + + + + + Ruga + + + + + Rufiji + + + + + Che + + + + + Rundi + + + + + Istro Romanian + + + + + Macedo Romanian + + + + + Megleno Romanian + + + + + Russian + + + + + Rutul + + + + + Lanas Lobu + + + + + Mala (Nigeria) + + + + + Ruma + + + + + Rawo + + + + + Rwa + + + + + Amba (Uganda) + + + + + Rawa + + + + + Marwari (India) + + + + + Rawas + + + + + Northern Amami-Oshima + + + + + Yaeyama + + + + + Central Okinawan + + + + + Saba + + + + + Buglere + + + + + Mesquakie + + + + + Sandawe + + + + + Sabanes + + + + + Safaliba + + + + + Sango + + + + + Yakut + + + + + Sahu + + + + + Sake + + + + + Samaritan Aramaic + + + + + Sanskrit + + + + + Sause + + + + + Sanapana + + + + + Samburu + + + + + Saraveca + + + + + Sasak + + + + + Santali + + + + + Saleman + + + + + Saafi-Saafi + + + + + Sawi + + + + + Sa + + + + + Saya + + + + + Saurashtra + + + + + Ngambay + + + + + Simbo + + + + + Kele (Papua New Guinea) + + + + + Southern Samo + + + + + Saliba + + + + + Shabo + + + + + Seget + + + + + Sori-Harengan + + + + + Seti + + + + + Surbakhal + + + + + Safwa + + + + + Botolan Sambal + + + + + Sagala + + + + + Sindhi Bhil + + + + + Sabum + + + + + Sangu (Tanzania) + + + + + Sileibi + + + + + Sembakung Murut + + + + + Subiya + + + + + Kimki + + + + + Stod Bhoti + + + + + Sabine + + + + + Simba + + + + + Seberuang + + + + + Soli + + + + + Sara Kaba + + + + + Sansu + + + + + Chut + + + + + Dongxiang + + + + + San Miguel Creole French + + + + + Sanggau + + + + + Sakechep + + + + + Sri Lankan Creole Malay + + + + + Sadri + + + + + Shina + + + + + Sicilian + + + + + Scots + + + + + Helambu Sherpa + + + + + Sa'och + + + + + North Slavey + + + + + Shumcho + + + + + Sheni + + + + + Sha + + + + + Sicel + + + + + Toraja-Sa'dan + + + + + Shabak + + + + + Sassarese Sardinian + + + + + Semendo + + + + + Surubu + + + + + Sarli + + + + + Savi + + + + + Southern Kurdish + + + + + Sindang Kelingi + + + + + Suundi + + + + + Saudi Arabian Sign Language + + + + + Semandang + + + + + Gallurese Sardinian + + + + + Bukar Sadong + + + + + Sherdukpen + + + + + Oraon Sadri + + + + + Sened + + + + + Shuadit + + + + + Sarudu + + + + + Sibu + + + + + Sallands + + + + + Semai + + + + + Shempire Senoufo + + + + + Sechelt + + + + + Sedang + + + + + Seneca + + + + + Cebaara Senoufo + + + + + Segeju + + + + + Sena + + + + + Seri + + + + + Sene + + + + + Sekani + + + + + Selkup + + + + + Nanerige Senoufo + + + + + Suarmin + + + + + Sicite Senoufo + + + + + Senara Senoufo + + + + + Serrano + + + + + Koyraboro Senni Songhai + + + + + Sentani + + + + + Serui-Laut + + + + + Nyarafolo Senoufo + + + + + Sewa Bay + + + + + Secoya + + + + + Senthang Chin + + + + + South African Sign Language + + + + + Sehwi + + + + + Old Irish (to 900) + + + + + Mag-Anchi Ayta + + + + + Segai + + + + + Swiss-German Sign Language + + + + + Shughni + + + + + Suga + + + + + Sanglechi-Ishkashimi + + + + + Singa + + + + + Songa + + + + + Singpho + + + + + Sangisari + + + + + Brokpake + + + + + Salas + + + + + Sebat Bet Gurage + + + + + Sierra Leone Sign Language + + + + + Sursurunga + + + + + Shall-Zwall + + + + + Ninam + + + + + Sonde + + + + + Sheko + + + + + Shua + + + + + Shoshoni + + + + + Tachelhit + + + + + Shatt + + + + + Shilluk + + + + + Shendu + + + + + Shahrudi + + + + + Shan + + + + + Shanga + + + + + Shipibo-Conibo + + + + + Sala + + + + + Shi + + + + + Shuswap + + + + + Shasta + + + + + Chadian Arabic + + + + + Shehri + + + + + Shwai + + + + + She + + + + + Tachawit + + + + + Syenara Senoufo + + + + + Akkala Sami + + + + + Sebob Kenyah + + + + + Malinguat + + + + + Sidamo + + + + + Simaa + + + + + Siamou + + + + + Paasaal + + + + + Zire + + + + + Shom Peng + + + + + Numbami + + + + + Sikiana + + + + + Tumulung Sisaala + + + + + Mende (Papua New Guinea) + + + + + Sinhala + + + + + Sikkimese + + + + + Sonia + + + + + Siri + + + + + Siuslaw + + + + + Sinagen + + + + + Sumariup + + + + + Siwai + + + + + Sumau + + + + + Sivandi + + + + + Siwi + + + + + Epena + + + + + Sajau Basap + + + + + Kildin Sami + + + + + Pite Sami + + + + + Assangori + + + + + Kemi Sami + + + + + Sajalong + + + + + Mapun + + + + + Sindarin + + + + + Xibe + + + + + Surajpuri + + + + + Siar-Lak + + + + + Senhaja De Srair + + + + + Ter Sami + + + + + Ume Sami + + + + + Shawnee + + + + + Skagit + + + + + Saek + + + + + Sauk + + + + + Southern Sierra Miwok + + + + + Seke (Vanuatu) + + + + + Sakirabia + + + + + Sakalava Malagasy + + + + + Sikule + + + + + Sika + + + + + Seke (Nepal) + + + + + Sok + + + + + Selako + + + + + Sakam + + + + + Kolibugan Subanon + + + + + Seko Tengah + + + + + Sekapan + + + + + Sininkere + + + + + Seraiki + + + + + Maia + + + + + Sakata + + + + + Sakao + + + + + Skou + + + + + Skepi Creole Dutch + + + + + Seko Padang + + + + + Sikaiana + + + + + Sekar + + + + + Kahumamahon Saluan + + + + + Saliba + + + + + Sissala + + + + + Sholaga + + + + + Swiss-Italian Sign Language + + + + + Selungai Murut + + + + + Southern Puget Sound Salish + + + + + Lower Silesian + + + + + Saluma + + + + + Slovak + + + + + Salt-Yui + + + + + Pangutaran Sama + + + + + Salinan + + + + + Lamaholot + + + + + Salchuq + + + + + Salar + + + + + Singapore Sign Language + + + + + Sila + + + + + Selaru + + + + + Slovenian + + + + + Sialum + + + + + Salampasu + + + + + Selayar + + + + + Ma'ya + + + + + Southern Sami + + + + + Simbari + + + + + Som + + + + + Sama + + + + + Northern Sami + + + + + Auwe + + + + + Simbali + + + + + Samei + + + + + Lule Sami + + + + + Bolinao + + + + + Central Sama + + + + + Musasa + + + + + Inari Sami + + + + + Samoan + + + + + Samaritan + + + + + Samo + + + + + Simeulue + + + + + Skolt Sami + + + + + Simte + + + + + Somray + + + + + Samvedi + + + + + Sumbawa + + + + + Samba + + + + + Semnani + + + + + Simeku + + + + + Shona + + + + + Sebuyau + + + + + Sinaugoro + + + + + Sindhi + + + + + Jagoi + + + + + Noon + + + + + Sanga (Democratic Republic of Congo) + + + + + Shinabo + + + + + Sensi + + + + + Riverain Sango + + + + + Soninke + + + + + Sangil + + + + + Southern Ma'di + + + + + Siona + + + + + Snohomish + + + + + Siane + + + + + Sangu (Gabon) + + + + + Sihan + + + + + South West Bay + + + + + Senggi + + + + + Sa'ban + + + + + Selee + + + + + Sam + + + + + Saniyo-Hiyewe + + + + + Sinsauru + + + + + Thai Song + + + + + Sobei + + + + + So (Democratic Republic of Congo) + + + + + Songoora + + + + + Songomeno + + + + + Sogdian + + + + + Aka + + + + + Sonha + + + + + Soi + + + + + Sokoro + + + + + Solos + + + + + Somali + + + + + Songo + + + + + Songe + + + + + Kanasi + + + + + Somrai + + + + + Seeku + + + + + Southern Sotho + + + + + Southern Thai + + + + + Sonsorol + + + + + Sowanda + + + + + So (Cameroon) + + + + + Miyobe + + + + + Temi + + + + + Spanish + + + + + Sepa (Indonesia) + + + + + Sape + + + + + Saep + + + + + Sepa (Papua New Guinea) + + + + + Sian + + + + + Saponi + + + + + Sengo + + + + + Selepet + + + + + Sepen + + + + + Spokane + + + + + Supyire Senoufo + + + + + Loreto-Ucayali Spanish + + + + + Saparua + + + + + Saposa + + + + + Spiti Bhoti + + + + + Sapuan + + + + + South Picene + + + + + Sabaot + + + + + Shama-Sambuga + + + + + Shau + + + + + Albanian + + + + + Suma + + + + + Susquehannock + + + + + Sorkhei + + + + + Sou + + + + + Sri Lankan Sign Language + + + + + Soqotri + + + + + Squamish + + + + + Saruga + + + + + Sora + + + + + Logudorese Sardinian + + + + + Sardinian + + + + + Sara + + + + + Nafi + + + + + Sulod + + + + + Sarikoli + + + + + Siriano + + + + + Serawai + + + + + Serudung Murut + + + + + Isirawa + + + + + Saramaccan + + + + + Sranan Tongo + + + + + Campidanese Sardinian + + + + + Serbian + + + + + Siriono + + + + + Serer + + + + + Sarsi + + + + + Sauri + + + + + Surui + + + + + Waray Sorsogon + + + + + Serua + + + + + Sirmauri + + + + + Sera + + + + + Shahmirzadi + + + + + Southern Sama + + + + + Siroi + + + + + Balangingi + + + + + Thao + + + + + Seimat + + + + + Shihhi Arabic + + + + + Sansi + + + + + Sausi + + + + + Sunam + + + + + Western Sisaala + + + + + Semnam + + + + + Sanye + + + + + Sissano + + + + + Spanish Sign Language + + + + + So'a + + + + + Swiss-French Sign Language + + + + + So + + + + + Sinasina + + + + + Susuami + + + + + Shark Bay + + + + + Swati + + + + + Samberigi + + + + + Saho + + + + + Sengseng + + + + + Settla + + + + + Northern Subanen + + + + + Santa Cruz + + + + + Sentinel + + + + + Liana-Seti + + + + + Seta + + + + + Trieng + + + + + Shelta + + + + + Bulo Stieng + + + + + Matya Samo + + + + + Arammba + + + + + Stellingwerfs + + + + + Setaman + + + + + Owa + + + + + Stoney + + + + + Southeastern Tepehuan + + + + + Saterfriesisch + + + + + Straits Salish + + + + + Shumashti + + + + + Budeh Stieng + + + + + Samtao + + + + + Satawalese + + + + + Sulka + + + + + Suku + + + + + Western Subanon + + + + + Suena + + + + + Tarpia + + + + + Suganga + + + + + Suba + + + + + Suki + + + + + Shubi + + + + + Sukuma + + + + + Surigaonon + + + + + Sumo-Mayangna + + + + + Sundanese + + + + + Suri + + + + + Mwaghavul + + + + + Susu + + + + + Subtiaba + + + + + Sungkai + + + + + Sulung + + + + + Sumbwa + + + + + Sumerian + + + + + Suya + + + + + Sunwar + + + + + Svan + + + + + Ulau-Suain + + + + + Vincentian Creole English + + + + + Serili + + + + + Slovakian Sign Language + + + + + Savara + + + + + Savosavo + + + + + Skalvian + + + + + Swahili (macrolanguage) + + + + + Comorian + + + + + Congo Swahili + + + + + Swedish + + + + + Sere + + + + + Swabian + + + + + Swahili (individual language) + + + + + Sui + + + + + Sira + + + + + Malawi Sena + + + + + Swedish Sign Language + + + + + Samosa + + + + + Sawknah + + + + + Suau + + + + + Sharwa + + + + + Saweru + + + + + Seluwasan + + + + + Sawila + + + + + Suwawa + + + + + Shekhawati + + + + + Sowa + + + + + Suruaha + + + + + Sarua + + + + + Sicanian + + + + + Sighu + + + + + Shixing + + + + + Southern Kalapuya + + + + + Selian + + + + + Samre + + + + + Sangir + + + + + Sorothaptic + + + + + Saaroa + + + + + Sasaru + + + + + Upper Saxon + + + + + Saxwe Gbe + + + + + Siang + + + + + Central Subanen + + + + + Classical Syriac + + + + + Seki + + + + + Sukur + + + + + Sylheti + + + + + Maya Samo + + + + + Senaya + + + + + Suoy + + + + + Syriac + + + + + Sinyar + + + + + Kagate + + + + + Semelai + + + + + Ngalum + + + + + Semaq Beri + + + + + Seru + + + + + Seze + + + + + Sengele + + + + + Sizaki + + + + + Sula + + + + + Suabo + + + + + Isu (Fako Division) + + + + + Sawai + + + + + Lower Tanana + + + + + Tabassaran + + + + + Lowland Tarahumara + + + + + Tause + + + + + Tariano + + + + + Tapirape + + + + + Tagoi + + + + + Tahitian + + + + + Eastern Tamang + + + + + Tala + + + + + Tal + + + + + Tamil + + + + + Tangale + + + + + Yami + + + + + Taabwa + + + + + Tamasheq + + + + + Central Tarahumara + + + + + Tay Boi + + + + + Tatar + + + + + Upper Tanana + + + + + Tatuyo + + + + + Tai + + + + + Tamki + + + + + Atayal + + + + + Tocho + + + + + Tubarao + + + + + Tapeba + + + + + Takia + + + + + Kaki Ae + + + + + Tanimbili + + + + + Mandara + + + + + North Tairora + + + + + Thurawal + + + + + Gaam + + + + + Tiang + + + + + Calamian Tagbanwa + + + + + Tboli + + + + + Tagbu + + + + + Barro Negro Tunebo + + + + + Tawala + + + + + Taworta + + + + + Tumtum + + + + + Tanguat + + + + + Tembo (Kitembo) + + + + + Tubar + + + + + Tobo + + + + + Tagbanwa + + + + + Kapin + + + + + Tabaru + + + + + Ditammari + + + + + Ticuna + + + + + Tanacross + + + + + Datooga + + + + + Tafi + + + + + Southern Tutchone + + + + + Malinaltepec Tlapanec + + + + + Tamagario + + + + + Turks And Caicos Creole English + + + + + Wara + + + + + Tchitchege + + + + + Taman (Myanmar) + + + + + Tanahmerah + + + + + Tichurong + + + + + Taungyo + + + + + Tawr Chin + + + + + Kaiy + + + + + Torres Strait Creole + + + + + T'en + + + + + Southeastern Tarahumara + + + + + Toda + + + + + Tulu + + + + + Thado Chin + + + + + Tagdal + + + + + Panchpargania + + + + + Embera-Tado + + + + + Tai Nua + + + + + Talieng + + + + + Western Tamang + + + + + Thulung + + + + + Tomadino + + + + + Tajio + + + + + Tambas + + + + + Sur + + + + + Tondano + + + + + Teme + + + + + Tita + + + + + Todrah + + + + + Doutai + + + + + Tetun Dili + + + + + Tempasuk Dusun + + + + + Toro + + + + + Tandroy-Mahafaly Malagasy + + + + + Tadyawan + + + + + Temiar + + + + + Tetete + + + + + Tepo Krumen + + + + + Huehuetla Tepehua + + + + + Teressa + + + + + Teke-Tege + + + + + Tehuelche + + + + + Torricelli + + + + + Ibali Teke + + + + + Telugu + + + + + Timne + + + + + Tama (Colombia) + + + + + Teso + + + + + Tepecano + + + + + Temein + + + + + Tereno + + + + + Tengger + + + + + Tetum + + + + + Soo + + + + + Teor + + + + + Tewa (USA) + + + + + Tennet + + + + + Tulishi + + + + + Tofin Gbe + + + + + Tanaina + + + + + Tefaro + + + + + Teribe + + + + + Ternate + + + + + Sagalla + + + + + Tebilung + + + + + Tigak + + + + + Ciwogai + + + + + Eastern Gorkha Tamang + + + + + Chalikha + + + + + Tangga + + + + + Tobagonian Creole English + + + + + Lawunuia + + + + + Tajik + + + + + Tagalog + + + + + Sudest + + + + + Tangoa + + + + + Tring + + + + + Tareng + + + + + Nume + + + + + Central Tagbanwa + + + + + Tanggu + + + + + Tingui-Boto + + + + + Tagwana Senoufo + + + + + Tagish + + + + + Togoyo + + + + + Thai + + + + + Tai Hang Tong + + + + + Thayore + + + + + Chitwania Tharu + + + + + Thangmi + + + + + Northern Tarahumara + + + + + Tai Long + + + + + Tharaka + + + + + Dangaura Tharu + + + + + Aheu + + + + + Thompson + + + + + Kochila Tharu + + + + + Rana Tharu + + + + + Thakali + + + + + Tahltan + + + + + Thuri + + + + + Tahaggart Tamahaq + + + + + Thudam + + + + + The + + + + + Tha + + + + + Tayart Tamajeq + + + + + Tidikelt Tamazight + + + + + Tira + + + + + Tidong + + + + + Tingal + + + + + Tifal + + + + + Tigre + + + + + Timugon Murut + + + + + Tiene + + + + + Tilung + + + + + Tikar + + + + + Tillamook + + + + + Timbe + + + + + Tindi + + + + + Teop + + + + + Trimuris + + + + + Tiefo + + + + + Tigrinya + + + + + Masadiit Itneg + + + + + Tinigua + + + + + Adasen Itneg + + + + + Tiv + + + + + Tiwi + + + + + Southern Tiwa + + + + + Tiruray + + + + + Tai Hongjin + + + + + Tajuasohn + + + + + Tunjung + + + + + Northern Tujia + + + + + Timucua + + + + + Tonjon + + + + + Temacine Tamazight + + + + + Southern Tujia + + + + + Tjurruru + + + + + Truka + + + + + Buksa + + + + + Tukudede + + + + + Takwane + + + + + Tukumanfed + + + + + Takpa + + + + + Tokelau + + + + + Takelma + + + + + Toku-No-Shima + + + + + Tikopia + + + + + Tee + + + + + Tsakhur + + + + + Takestani + + + + + Kathoriya Tharu + + + + + Teanu + + + + + Tangko + + + + + Takua + + + + + Southwestern Tepehuan + + + + + Tobelo + + + + + Yecuatla Totonac + + + + + Talaud + + + + + Talai + + + + + Telefol + + + + + Tofanma + + + + + Klingon + + + + + Tlingit + + + + + Talinga-Bwisi + + + + + Taloki + + + + + Tetela + + + + + Tolomako + + + + + Talondo' + + + + + Talodi + + + + + Filomena Mata-Coahuitlan Totonac + + + + + Tai Loi + + + + + Talise + + + + + Tambotalo + + + + + Teluti + + + + + Tulehu + + + + + Taliabu + + + + + South Wemale + + + + + Khehek + + + + + Talysh + + + + + Toala' + + + + + Tama (Chad) + + + + + Katbol + + + + + Tumak + + + + + Haruai + + + + + Tremembe + + + + + Toba-Maskoy + + + + + Ternateno + + + + + Tamashek + + + + + Tutuba + + + + + Samarokena + + + + + Northwestern Tamang + + + + + Tamnim Citak + + + + + Tai Thanh + + + + + Taman (Indonesia) + + + + + Temoq + + + + + Tai Mene + + + + + Tumleo + + + + + Talmudic Aramaic + + + + + Tima + + + + + Tasmate + + + + + Iau + + + + + Tembo (Motembo) + + + + + Temuan + + + + + Tomyang + + + + + Tami + + + + + Tamanaku + + + + + Tacana + + + + + Western Tunebo + + + + + Tanimuca-Retuara + + + + + Angosturas Tunebo + + + + + Tinoc Kallahan + + + + + Tangshewi + + + + + Tobanga + + + + + Maiani + + + + + Tandia + + + + + Tanjong + + + + + Kwamera + + + + + Lenakel + + + + + Tabla + + + + + North Tanna + + + + + Toromono + + + + + Whitesands + + + + + Taino + + + + + Budik + + + + + Tenis + + + + + Tontemboan + + + + + Tay Khang + + + + + Tangchangya + + + + + Tonsawang + + + + + Tanema + + + + + Tongwe + + + + + Tonga (Thailand) + + + + + Toba + + + + + Coyutla Totonac + + + + + Toma + + + + + Tomedes + + + + + Gizrra + + + + + Tonga (Nyasa) + + + + + Gitonga + + + + + Tonga (Zambia) + + + + + Tojolabal + + + + + Tolowa + + + + + Tombulu + + + + + Tonga (Tonga Islands) + + + + + Xicotepec De Juarez Totonac + + + + + Papantla Totonac + + + + + Toposa + + + + + Togbo-Vara Banda + + + + + Highland Totonac + + + + + Patla-Chicontla Totonac + + + + + Tho + + + + + Upper Taromi + + + + + Jemez + + + + + Tobian + + + + + Topoiyo + + + + + To + + + + + Taupota + + + + + Azoyu Tlapanec + + + + + Tippera + + + + + Kula + + + + + Tok Pisin + + + + + Tapiete + + + + + Tupinikin + + + + + Tlacoapa Tlapanec + + + + + Tampulma + + + + + Tupinamba + + + + + Tai Pao + + + + + Pisaflores Tepehua + + + + + Tukpa + + + + + Tupari + + + + + Tlachichilco Tepehua + + + + + Tampuan + + + + + Tanapag + + + + + Tupi + + + + + Acatepec Tlapanec + + + + + Trumai + + + + + Tinputz + + + + + Tembe + + + + + Lehali + + + + + Turumsa + + + + + Tenino + + + + + Toaripi + + + + + Tomoip + + + + + Tunni + + + + + Torona + + + + + Ozumatlan Totonac + + + + + Touo + + + + + Tonkawa + + + + + Tirahi + + + + + Terebu + + + + + Copala Triqui + + + + + Turi + + + + + East Tarangan + + + + + Trinidadian Creole English + + + + + Lishan Didan + + + + + Turaka + + + + + Trio + + + + + Toram + + + + + Traveller Scottish + + + + + Tregami + + + + + Trinitario + + + + + Tarao Naga + + + + + Kok Borok + + + + + San Martin Itunyoso Triqui + + + + + Taushiro + + + + + Chicahuaxtla Triqui + + + + + Tunggare + + + + + Turoyo + + + + + Taroko + + + + + Torwali + + + + + Tringgus + + + + + Turung + + + + + Tora + + + + + Tsaangi + + + + + Tsamai + + + + + Tswa + + + + + Tsakonian + + + + + Tunisian Sign Language + + + + + Southwestern Tamang + + + + + Tausug + + + + + Tsuvan + + + + + Tsimshian + + + + + Tshangla + + + + + Tseku + + + + + Ts'un-Lao + + + + + Turkish Sign Language + + + + + Tswana + + + + + Tsonga + + + + + Northern Toussian + + + + + Thai Sign Language + + + + + Akei + + + + + Taiwan Sign Language + + + + + Tsou + + + + + Tsogo + + + + + Tsishingini + + + + + Mubami + + + + + Purepecha + + + + + Tutelo + + + + + Gaa + + + + + Tektiteko + + + + + Tauade + + + + + Bwanabwana + + + + + Tuotomb + + + + + Tutong 2 + + + + + Upper Ta'oih + + + + + Tobati + + + + + Tooro + + + + + Totoro + + + + + Totela + + + + + Northern Tutchone + + + + + Towei + + + + + Lower Ta'oih + + + + + Tombelala + + + + + Tawallammat Tamajaq + + + + + Tera + + + + + Northeastern Thai + + + + + Muslim Tat + + + + + Torau + + + + + Titan + + + + + Tutoh Kenyah + + + + + Tutong 1 + + + + + Sikaritai + + + + + Tsum + + + + + Wiarumus + + + + + Tubatulabal + + + + + Mutu + + + + + Tuxa + + + + + Tuyuca + + + + + Central Tunebo + + + + + Tunia + + + + + Taulil + + + + + Tupuri + + + + + Tugutil + + + + + Turkmen + + + + + Tula + + + + + Tumbuka + + + + + Tunica + + + + + Tucano + + + + + Tedaga + + + + + Turkish + + + + + Tuscarora + + + + + Tututni + + + + + Turkana + + + + + Tuxinawa + + + + + North Tugen + + + + + Turka + + + + + Vaghua + + + + + Tsuvadi + + + + + Te'un + + + + + Southeast Ambrym + + + + + Tuvalu + + + + + Tela-Masbuar + + + + + Tavoyan + + + + + Tidore + + + + + Taveta + + + + + Tutsa Naga + + + + + Sedoa + + + + + Timor Pidgin + + + + + Twana + + + + + Western Tawbuid + + + + + Teshenawa + + + + + Twents + + + + + Tewa (Indonesia) + + + + + Northern Tiwa + + + + + Tereweng + + + + + Tai Don + + + + + Twi + + + + + Tawara + + + + + Twendi + + + + + Tswapong + + + + + Ere + + + + + Tasawaq + + + + + Southwestern Tarahumara + + + + + Turiwara + + + + + Termanu + + + + + Tuwari + + + + + Tewe + + + + + Tawoyan + + + + + Tombonuwo + + + + + Tokharian B + + + + + Tsetsaut + + + + + Totoli + + + + + Tangut + + + + + Thracian + + + + + Ikpeng + + + + + Tomini + + + + + West Tarangan + + + + + Toto + + + + + Tii + + + + + Tartessian + + + + + Tonsea + + + + + Citak + + + + + Kayapo + + + + + Tatana + + + + + Tanosy Malagasy + + + + + Tauya + + + + + Kyenga + + + + + O'du + + + + + Teke-Tsaayi + + + + + Tai Do + + + + + Thu Lao + + + + + Kombai + + + + + Thaypan + + + + + Tai Daeng + + + + + Tay Sa Pa + + + + + Tay Tac + + + + + Kua + + + + + Tuvinian + + + + + Teke-Tyee + + + + + Tay + + + + + Tanzanian Sign Language + + + + + Bachajon Tzeltal + + + + + Chamula Tzotzil + + + + + Chenalho Tzotzil + + + + + Oxchuc Tzeltal + + + + + Eastern Tzutujil + + + + + Central Atlas Tamazight + + + + + Tugun + + + + + Venustiano Carranza Tzotzil + + + + + San Andres Larrainzar Tzotzil + + + + + Western Tzutujil + + + + + Huixtan Tzotzil + + + + + Tabriak + + + + + Zinacantan Tzotzil + + + + + Uamue + + + + + Kuan + + + + + Tairuma + + + + + Ubang + + + + + Ubi + + + + + Upper Baram Kenyah + + + + + Ubir + + + + + Umbu-Ungu + + + + + Ubykh + + + + + Uda + + + + + Udihe + + + + + Udi + + + + + Ujir + + + + + Wuzlam + + + + + Udmurt + + + + + Uduk + + + + + Kioko + + + + + Ufim + + + + + Ugaritic + + + + + Kuku-Ugbanh + + + + + Ughele + + + + + Ugandan Sign Language + + + + + Ugong + + + + + Uruguayan Sign Language + + + + + Uhami + + + + + Damal + + + + + Uighur + + + + + Uisai + + + + + Iyive + + + + + Tanjijili + + + + + Kaburi + + + + + Ukuriguma + + + + + Ukhwejo + + + + + Ukrainian Sign Language + + + + + Ukpe-Bayobiri + + + + + Ukwa + + + + + Ukrainian + + + + + Urubu-Kaapor Sign Language + + + + + Ukue + + + + + Ukwuani-Aboh-Ndoni + + + + + Fungwa + + + + + Ulukwumi + + + + + Ulch + + + + + Usku + + + + + Ulithian + + + + + Meriam + + + + + Ullatan + + + + + Ulumanda' + + + + + Unserdeutsch + + + + + Umatilla + + + + + Umbundu + + + + + Marrucinian + + + + + Umbindhamu + + + + + Umbuygamu + + + + + Ukit + + + + + Umon + + + + + Umotina + + + + + Umpila + + + + + Umbugarla + + + + + Pendau + + + + + Munsee + + + + + North Watut + + + + + Undetermined + + + + + Uneme + + + + + Ngarinyin + + + + + Enawene-Nawe + + + + + Unami + + + + + Worora + + + + + Unde Kaili + + + + + Uokha + + + + + Umeda + + + + + Uripiv-Wala-Rano-Atchin + + + + + Urarina + + + + + Urubu-Kaapor + + + + + Urningangg + + + + + Urdu + + + + + Uru + + + + + Uradhi + + + + + Urigina + + + + + Urhobo + + + + + Urim + + + + + Urak Lawoi' + + + + + Urali + + + + + Urapmin + + + + + Uruangnirin + + + + + Ura (Papua New Guinea) + + + + + Uru-Pa-In + + + + + Lehalurup + + + + + Urat + + + + + Urumi + + + + + Uruava + + + + + Sop + + + + + Urimo + + + + + Orya + + + + + Uru-Eu-Wau-Wau + + + + + Usarufa + + + + + Ushojo + + + + + Usui + + + + + Usaghade + + + + + Uspanteco + + + + + Uya + + + + + Otank + + + + + Ute-Southern Paiute + + + + + Amba (Solomon Islands) + + + + + Etulo + + + + + Utu + + + + + Urum + + + + + Kulon-Pazeh + + + + + Ura (Vanuatu) + + + + + U + + + + + West Uvean + + + + + Uri + + + + + Lote + + + + + Kuku-Uwanh + + + + + Doko-Uyanga + + + + + Uzbek + + + + + Northern Uzbek + + + + + Southern Uzbek + + + + + Vaagri Booli + + + + + Vale + + + + + Vafsi + + + + + Vagla + + + + + Varhadi-Nagpuri + + + + + Vai + + + + + Vasekela Bushman + + + + + Vehes + + + + + Vanimo + + + + + Valman + + + + + Vao + + + + + Vaiphei + + + + + Huarijio + + + + + Vasavi + + + + + Vanuma + + + + + Varli + + + + + Wayu + + + + + Southeast Babar + + + + + Venetian + + + + + Veddah + + + + + Veluws + + + + + Vemgo-Mabas + + + + + Venda + + + + + Ventureno + + + + + Veps + + + + + Mom Jango + + + + + Vaghri + + + + + Virgin Islands Creole English + + + + + Vidunda + + + + + Vietnamese + + + + + Vili + + + + + Viemo + + + + + Vilela + + + + + Vinza + + + + + Vishavan + + + + + Viti + + + + + Iduna + + + + + Kariyarra + + + + + Ija-Zuba + + + + + Kujarge + + + + + Kaur + + + + + Kulisusu + + + + + Kamakan + + + + + Kodeoha + + + + + Korlai Creole Portuguese + + + + + Tenggarong Kutai Malay + + + + + Kurrama + + + + + Kayu Agung + + + + + Valpei + + + + + Vatrata + + + + + Vlaams + + + + + Martuyhunira + + + + + Mbabaram + + + + + Juxtlahuaca Mixtec + + + + + Mudu Koraga + + + + + East Masela + + + + + Mainfrankisch + + + + + Minigir + + + + + Maraghei + + + + + Miwa + + + + + Ixtayutla Mixtec + + + + + Makhuwa-Shirima + + + + + Malgana + + + + + Mitlatongo Mixtec + + + + + Muko-Muko + + + + + Soyaltepec Mazatec + + + + + Soyaltepec Mixtec + + + + + Marenje + + + + + Moksela + + + + + Muluridyi + + + + + Valley Maidu + + + + + Makhuwa + + + + + Tamazola Mixtec + + + + + Ayautla Mazatec + + + + + Mazatlan Mazatec + + + + + Vano + + + + + Vinmavis + + + + + Vunapu + + + + + Volapuk + + + + + Voro + + + + + Votic + + + + + Varisi + + + + + Burmbar + + + + + Moldova Sign Language + + + + + Venezuelan Sign Language + + + + + Vumbu + + + + + Vunjo + + + + + Vute + + + + + Walla Walla + + + + + Wab + + + + + Wasco-Wishram + + + + + Wandamen + + + + + Walser + + + + + Wakona + + + + + Wa'ema + + + + + Watubela + + + + + Wares + + + + + Waffa + + + + + Walamo + + + + + Wampanoag + + + + + Wan + + + + + Wappo + + + + + Wapishana + + + + + Wageman + + + + + Waray (Philippines) + + + + + Washo + + + + + Kaninuwa + + + + + Waura + + + + + Waka + + + + + Waiwai + + + + + Watam + + + + + Wayana + + + + + Wampur + + + + + Warao + + + + + Wabo + + + + + Waritai + + + + + Wara + + + + + Wanda + + + + + Wanji + + + + + Alagwa + + + + + Waigali + + + + + Wakhi + + + + + Wa + + + + + Warlpiri + + + + + Waddar + + + + + Wagdi + + + + + Wanman + + + + + Wajarri + + + + + Woi + + + + + Yanomami + + + + + Waci Gbe + + + + + Wandji + + + + + Wadaginam + + + + + Wadjiginy + + + + + Wadjigu + + + + + Wewaw + + + + + We Western + + + + + Wedau + + + + + Weh + + + + + Were + + + + + Weme Gbe + + + + + North Wemale + + + + + Westphalien + + + + + Weri + + + + + Cameroon Pidgin + + + + + Perai + + + + + Welaung + + + + + Wejewa + + + + + Yafi + + + + + Wagaya + + + + + Wangganguru + + + + + Wahgi + + + + + Waigeo + + + + + Wagawaga + + + + + Warrgamay + + + + + Manusela + + + + + North Wahgi + + + + + Wahau Kenyah + + + + + Wahau Kayan + + + + + Southern Toussian + + + + + Wichita + + + + + Wik-Epa + + + + + Wik-Keyangan + + + + + Wik-Ngathana + + + + + Wik-Me'anha + + + + + Wiaki + + + + + Wik-Iiyanh + + + + + Wikalkan + + + + + Wilawila + + + + + Wik-Mungkan + + + + + Ho-Chunk + + + + + Wirafed + + + + + Wintu + + + + + Wiru + + + + + Muduapa + + + + + Wirangu + + + + + Wiyot + + + + + Waja + + + + + Warji + + + + + Kw'adza + + + + + Wakde + + + + + Wakawaka + + + + + Walio + + + + + Mwali Comorian + + + + + Kunbarlang + + + + + Waioli + + + + + Wailaki + + + + + Wali (Sudan) + + + + + Middle Welsh + + + + + Walloon + + + + + Wolio + + + + + Wailapa + + + + + Wallisian + + + + + Wuliwuli + + + + + Wichi Lhamtes Vejoz + + + + + Walak + + + + + Wali (Ghana) + + + + + Waling + + + + + Mawa (Nigeria) + + + + + Wambaya + + + + + Wamas + + + + + Wambule + + + + + Waima'a + + + + + Wamin + + + + + Maiwa (Indonesia) + + + + + Waamwang + + + + + Wom (Papua New Guinea) + + + + + Wambon + + + + + Walmajarri + + + + + Mwani + + + + + Wanambre + + + + + Wantoat + + + + + Wandarang + + + + + Waneci + + + + + Wanggom + + + + + Ndzwani Comorian + + + + + Wanukaka + + + + + Wanggamala + + + + + Wano + + + + + Wanap + + + + + Usan + + + + + Tyaraity + + + + + We Northern + + + + + Wogeo + + + + + Wolani + + + + + Woleaian + + + + + Gambian Wolof + + + + + Wogamusin + + + + + Kamang + + + + + Longto + + + + + Wolof + + + + + Wom (Nigeria) + + + + + Wongo + + + + + Manombai + + + + + Woria + + + + + Hanga Hundi + + + + + Wawonii + + + + + Weyto + + + + + Maco + + + + + Warapu + + + + + Warluwara + + + + + Warduji + + + + + Ware + + + + + Warungu + + + + + Wiradhuri + + + + + Wariyangga + + + + + Warlmanpa + + + + + Warumungu + + + + + Warnang + + + + + Waropen + + + + + Wardaman + + + + + Waris + + + + + Waru + + + + + Waruna + + + + + Gugu Warra + + + + + Wae Rana + + + + + Merwari + + + + + Waray (Australia) + + + + + Warembori + + + + + Wusi + + + + + Waskia + + + + + Owenia + + + + + Wasa + + + + + Wasu + + + + + Wotapuri-Katarqalai + + + + + Dumpu + + + + + Berta + + + + + Watakataui + + + + + Mewati + + + + + Wotu + + + + + Wikngenchera + + + + + Wunambal + + + + + Wudu + + + + + Wutunhua + + + + + Silimo + + + + + Wumbvu + + + + + Bungu + + + + + Wurrugu + + + + + Wutung + + + + + Wu Chinese + + + + + Wuvulu-Aua + + + + + Wulna + + + + + Wauyai + + + + + Waama + + + + + Wetamut + + + + + Warrwa + + + + + Wawa + + + + + Waxianghua + + + + + Wyandot + + + + + Wangaaybuwan-Ngiyambaa + + + + + Wayoro + + + + + Western Fijian + + + + + Kachari + + + + + Adai + + + + + Aequian + + + + + Aghwan + + + + + Kahayan + + + + + Kaimbe + + + + + Kalmyk + + + + + /Xam + + + + + Xamtanga + + + + + Khao + + + + + Apalachee + + + + + Aquitanian + + + + + Karami + + + + + Kamas + + + + + Katawixi + + + + + Kauwera + + + + + Xavante + + + + + Kawaiisu + + + + + Kayan Mahakam + + + + + Kamba (Brazil) + + + + + Bactrian + + + + + Kombio + + + + + Middle Breton + + + + + Bolgarian + + + + + Kambera + + + + + Kambiwa + + + + + Kabixi + + + + + Cumbric + + + + + Camunic + + + + + Celtiberian + + + + + Cisalpine Gaulish + + + + + Chemakum + + + + + Classical Armenian + + + + + Comecrudo + + + + + Cotoname + + + + + Chorasmian + + + + + Carian + + + + + Classical Tibetan + + + + + Curonian + + + + + Chuvantsy + + + + + Coahuilteco + + + + + Cayuse + + + + + Dacian + + + + + Edomite + + + + + Malayic Dayak + + + + + Eblan + + + + + Hdi + + + + + //Xegwi + + + + + Kelo + + + + + Kembayan + + + + + Epi-Olmec + + + + + Xerente + + + + + Kesawai + + + + + Xeta + + + + + Keuru + + + + + Faliscan + + + + + Galatian + + + + + Gabrielino-Fernandeno + + + + + Galindan + + + + + Garza + + + + + Harami + + + + + Hunnic + + + + + Hadrami + + + + + Khetrani + + + + + Xhosa + + + + + Hernican + + + + + Hattic + + + + + Hurrian + + + + + Khua + + + + + Xiandao + + + + + Iberian + + + + + Xiri + + + + + Illyrian + + + + + Xinca + + + + + Xipinawa + + + + + Xiriana + + + + + Indus Valley Language + + + + + Xipaya + + + + + Kalkoti + + + + + Manigri-Kambole Ede Nago + + + + + Kho'ini + + + + + Mendalam Kayan + + + + + Kereho-Uheng + + + + + Khengkha + + + + + Kagoro + + + + + Karahawyana + + + + + Kenyan Sign Language + + + + + Kajali + + + + + Kaco' + + + + + Kelinyau Kenyah + + + + + Mahakam Kenyah + + + + + Kayan River Kayan + + + + + Kiorr + + + + + Kabatei + + + + + Koroni + + + + + Xakriaba + + + + + Kumbewaha + + + + + Kantosi + + + + + Kaamba + + + + + Kgalagadi + + + + + Kembra + + + + + Karore + + + + + Western Kenyah + + + + + Kurtokha + + + + + Kamula + + + + + Loup B + + + + + Lycian + + + + + Lydian + + + + + Lemnian + + + + + Ligurian (Ancient) + + + + + Liburnian + + + + + Alanic + + + + + Loup A + + + + + Lepontic + + + + + Lusitanian + + + + + Cuneiform Luwian + + + + + Elymian + + + + + Mushungulu + + + + + Mbonga + + + + + Makhuwa-Marrevone + + + + + Mbedam + + + + + Median + + + + + Mingrelian + + + + + Mengaka + + + + + Kuku-Muminh + + + + + Miarra + + + + + Majera + + + + + Ancient Macedonian + + + + + Malaysian Sign Language + + + + + Manado Malay + + + + + Morerebi + + + + + Kuku-Mu'inh + + + + + Kuku-Mangk + + + + + Meroitic + + + + + Moroccan Sign Language + + + + + Matbat + + + + + Kamu + + + + + Antankarana Malagasy + + + + + Tsimihety Malagasy + + + + + Maden + + + + + Mayaguduna + + + + + Mori Bawah + + + + + Ancient North Arabian + + + + + Kanakanabu + + + + + Middle Mongolian + + + + + Kuanhua + + + + + Northern Kankanay + + + + + Anglo-Norman + + + + + Kangri + + + + + Kanashi + + + + + Kokoda + + + + + Soga + + + + + Kominimung + + + + + Xokleng + + + + + Komo (Sudan) + + + + + Konkomba + + + + + Xukuru + + + + + Kopar + + + + + Korubo + + + + + Kowaki + + + + + Pecheneg + + + + + Liberia Kpelle + + + + + Phrygian + + + + + Pictish + + + + + Pumpokol + + + + + Kapinawa + + + + + Pochutec + + + + + Puyo-Paekche + + + + + Parthian + + + + + Pisidian + + + + + Punic + + + + + Puyo + + + + + Qatabanian + + + + + Kraho + + + + + Eastern Karaboro + + + + + Kreye + + + + + Krikati-Timbira + + + + + Armazic + + + + + Arin + + + + + Raetic + + + + + Aranama-Tamique + + + + + Karawa + + + + + Sabaean + + + + + Tina Sambal + + + + + Scythian + + + + + Sidetic + + + + + Sempan + + + + + Shamang + + + + + Sio + + + + + Subi + + + + + Sakan + + + + + South Slavey + + + + + Kasem + + + + + Sanga (Nigeria) + + + + + Solano + + + + + Silopi + + + + + Makhuwa-Saka + + + + + Sherpa + + + + + Assan + + + + + Silt'e + + + + + Sanuma + + + + + Sudovian + + + + + Saisiyat + + + + + Alcozauca Mixtec + + + + + Chazumba Mixtec + + + + + Katcha-Kadugli-Miri + + + + + Diuxi-Tilantongo Mixtec + + + + + Ketengban + + + + + Transalpine Gaulish + + + + + Sinicahua Mixtec + + + + + San Juan Teita Mixtec + + + + + Tijaltepec Mixtec + + + + + Magdalena Penasco Mixtec + + + + + Northern Tlaxiaco Mixtec + + + + + Tokharian A + + + + + San Miguel Piedras Mixtec + + + + + Early Tripuri + + + + + Sindihui Mixtec + + + + + Tacahua Mixtec + + + + + Cuyamecalco Mixtec + + + + + Yoloxochitl Mixtec + + + + + Tasmanian + + + + + Alu Kurumba + + + + + Betta Kurumba + + + + + Kunfal + + + + + Kunigami + + + + + Jennu Kurumba + + + + + Umbrian + + + + + Kuo + + + + + Upper Umpqua + + + + + Urartian + + + + + Kuthant + + + + + Kxoe + + + + + Venetic + + + + + Kamviri + + + + + Vandalic + + + + + Volscian + + + + + Vestinian + + + + + Woccon + + + + + Xwela Gbe + + + + + Kwegu + + + + + Western Xwla Gbe + + + + + Written Oirat + + + + + Kwerba Mamberamo + + + + + Ke'o + + + + + Zhang-Zhung + + + + + Zemgalian + + + + + Yaminahua + + + + + Yuhup + + + + + Pass Valley Yali + + + + + Yagua + + + + + Pume + + + + + Yaka (Democratic Republic of Congo) + + + + + Yamana + + + + + Yazgulyam + + + + + Yagnobi + + + + + Banda-Yangere + + + + + Yakima + + + + + Yalunka + + + + + Yamba + + + + + Yao + + + + + Yapese + + + + + Yaqui + + + + + Yabarana + + + + + Nugunu (Cameroon) + + + + + Yambeta + + + + + Yuwana + + + + + Yangben + + + + + Yawalapiti + + + + + Yauma + + + + + Agwagwune + + + + + Lokaa + + + + + Yala + + + + + Yemba + + + + + Yangbye + + + + + West Yugur + + + + + Yakha + + + + + Yamphu + + + + + Hasha + + + + + Yukuben + + + + + Yaben + + + + + Yabaana + + + + + Yabong + + + + + Yawiyo + + + + + Yaweyuha + + + + + Central Yi + + + + + Yucuna + + + + + Eastern Yiddish + + + + + Yidgha + + + + + Yoidik + + + + + Yiddish Sign Language + + + + + Ravula + + + + + Yeniche + + + + + Yimas + + + + + Yeni + + + + + Yevanic + + + + + Yela + + + + + Yendang + + + + + Tarok + + + + + Yeskwa + + + + + Yetfa + + + + + Yerukula + + + + + Yapunda + + + + + Yeyi + + + + + Yagomi + + + + + Yagaria + + + + + Yagwoia + + + + + Judeo-Iraqi Arabic + + + + + Yinggarda + + + + + Yinglish + + + + + Yiddish + + + + + Ache Yi + + + + + Guizhou Yi + + + + + Western Yiddish + + + + + Yidiny + + + + + Yindjibarndi + + + + + Xishan Lalu Yi + + + + + Yindjilandji + + + + + Yimchungru Naga + + + + + Yinchia + + + + + Dayao Yi + + + + + Poluo Yi + + + + + Miqie Yi + + + + + North Awyu + + + + + Yis + + + + + Eastern Lalu Yi + + + + + Awu Yi + + + + + Eshan-Xinping Yi + + + + + Axi Yi + + + + + Yir Yoront + + + + + Azhe Yi + + + + + Yakan + + + + + Northern Yukaghir + + + + + Yoke + + + + + Yakaikeke + + + + + Yakamul + + + + + Yasa + + + + + Yekora + + + + + Yakoma + + + + + Yaul + + + + + Yele + + + + + Yelogu + + + + + Angguruk Yali + + + + + Yil + + + + + Limi Yi + + + + + Naluo Yi + + + + + Yalarnnga + + + + + Aribwaung + + + + + Nyalayu + + + + + Yamphe + + + + + Yambes + + + + + Yameo + + + + + Yamongeri + + + + + Mili Yi + + + + + Muji Yi + + + + + Makwe + + + + + Iamalele + + + + + Maay + + + + + Yamna + + + + + Yamap + + + + + Mysian + + + + + Mator-Taygi-Karagas + + + + + Yandruwandha + + + + + Yango + + + + + Yangho + + + + + Naukan Yupik + + + + + Yangulam + + + + + Yana + + + + + Yong + + + + + Yansi + + + + + Yahuna + + + + + Yoba + + + + + Yogad + + + + + Yonaguni + + + + + Yokuts + + + + + Yombe + + + + + Yonggom + + + + + Yoruba + + + + + Yos + + + + + Yoron + + + + + Yoy + + + + + Pula Yi + + + + + Puwa Yi + + + + + Yerakai + + + + + Yareba + + + + + Yaoure + + + + + Yari + + + + + Nenets + + + + + Nhengatu + + + + + Yerong + + + + + Yarsun + + + + + Yarawata + + + + + Yassic + + + + + Yugoslavian Sign Language + + + + + Sani Yi + + + + + Southeastern Lolo Yi + + + + + Southern Lolopho Yi + + + + + Sirenik Yupik + + + + + Yessan-Mayo + + + + + Yucatan Maya + + + + + Yugambal + + + + + Yuchi + + + + + Judeo-Tripolitanian Arabic + + + + + Yue Chinese + + + + + Havasupai-Walapai-Yavapai + + + + + Yug + + + + + Yuruti + + + + + Karkar-Yuri + + + + + Yuki + + + + + Yulu + + + + + Quechan + + + + + Bena (Nigeria) + + + + + Yukpa + + + + + Yuqui + + + + + Yurok + + + + + Chan Santa Cruz Maya + + + + + Yopno + + + + + Yugh + + + + + Yau (Morobe Province) + + + + + Southern Yukaghir + + + + + East Yugur + + + + + Yuracare + + + + + Yawa + + + + + Yavitero + + + + + Kalou + + + + + Western Lalu Yi + + + + + Wumeng Yi + + + + + Yawanawa + + + + + Wuding-Luquan Yi + + + + + Yawuru + + + + + Western Yi + + + + + Wusa Yi + + + + + Yawarawarga + + + + + Yuanjiang-Mojiang Yi + + + + + Yau (Sandaun Province) + + + + + Sierra de Juarez Zapotec + + + + + San Juan Guelavia Zapotec + + + + + Ocotlan Zapotec + + + + + Cajonos Zapotec + + + + + Yareni Zapotec + + + + + Ayoquesco Zapotec + + + + + Zaghawa + + + + + Zangwal + + + + + Isthmus Zapotec + + + + + Zaramo + + + + + Zanaki + + + + + Zauzou + + + + + Miahuatlan Zapotec + + + + + Ozolotepec Zapotec + + + + + Zapotec + + + + + Aloapam Zapotec + + + + + Rincon Zapotec + + + + + Santo Domingo Albarradas Zapotec + + + + + Tabaa Zapotec + + + + + Zangskari + + + + + Yatzachi Zapotec + + + + + Mitla Zapotec + + + + + Xadani Zapotec + + + + + Zayse-Zergulla + + + + + Zari + + + + + Coatecas Altas Zapotec + + + + + Ngazidja Comorian + + + + + Zeeuws + + + + + Zenag + + + + + Zenaga + + + + + Kinga + + + + + Magori + + + + + Zhuang + + + + + Zhaba + + + + + Zhire + + + + + Chinese + + + + + Zhoa + + + + + Zia + + + + + Zimbabwe Sign Language + + + + + Zimakani + + + + + Mesme + + + + + Zinza + + + + + Ziriya + + + + + Zigula + + + + + Zizilivakan + + + + + Kaimbulawa + + + + + Koibal + + + + + Koguryo + + + + + Khorezmian + + + + + Karankawa + + + + + Kott + + + + + Sao Paulo Kaingang + + + + + Zakhring + + + + + Kitan + + + + + Kaurna + + + + + Krevinian + + + + + Khazar + + + + + Manda (Australia) + + + + + Zimba + + + + + Margany + + + + + Maridan + + + + + Mangerr + + + + + Mfinu + + + + + Marti Ke + + + + + Makolkol + + + + + Negeri Sembilan Malay + + + + + Maridjabin + + + + + Mandandanyi + + + + + Madngele + + + + + Marimanindji + + + + + Mbangwe + + + + + Molo + + + + + Mpuono + + + + + Mituku + + + + + Maranunggu + + + + + Mbesa + + + + + Maringarr + + + + + Muruwari + + + + + Mbariman-Gudhinma + + + + + Mbo (Democratic Republic of Congo) + + + + + Bomitaba + + + + + Mariyedi + + + + + Mbandja + + + + + Zan Gula + + + + + Zande (individual language) + + + + + Mang + + + + + Manangkari + + + + + Mangas + + + + + Copainala Zoque + + + + + Chimalapa Zoque + + + + + Zome + + + + + Asuncion Mixtepec Zapotec + + + + + Tabasco Zoque + + + + + Rayon Zoque + + + + + Francisco Leon Zoque + + + + + Lachiguiri Zapotec + + + + + Yautepec Zapotec + + + + + Choapan Zapotec + + + + + Southeastern Ixtlan Zapotec + + + + + Petapa Zapotec + + + + + San Pedro Quiatoni Zapotec + + + + + Guevea De Humboldt Zapotec + + + + + Totomachapan Zapotec + + + + + Santa Maria Quiegolani Zapotec + + + + + Quiavicuzas Zapotec + + + + + Tlacolulita Zapotec + + + + + Lachixio Zapotec + + + + + Mixtepec Zapotec + + + + + Santa Ines Yatzechi Zapotec + + + + + Amatlan Zapotec + + + + + El Alto Zapotec + + + + + Zoogocho Zapotec + + + + + Santiago Xanica Zapotec + + + + + Coatlan Zapotec + + + + + San Vicente Coatlan Zapotec + + + + + Yalalag Zapotec + + + + + Chichicapan Zapotec + + + + + Zaniza Zapotec + + + + + San Baltazar Loxicha Zapotec + + + + + Mazaltepec Zapotec + + + + + Texmelucan Zapotec + + + + + Kara (Korea) + + + + + Mirgan + + + + + Zirenkel + + + + + Zaparo + + + + + Zarphatic + + + + + Mairasi + + + + + Kaskean + + + + + Zambian Sign Language + + + + + Southern Rincon Zapotec + + + + + Lachirioag Zapotec + + + + + Elotepec Zapotec + + + + + Xanaguia Zapotec + + + + + Santiago Lapaguia Zapotec + + + + + San Agustin Mixtepec Zapotec + + + + + Santa Catarina Albarradas Zapotec + + + + + Loxicha Zapotec + + + + + Quioquitani-Quieri Zapotec + + + + + Tilquiapan Zapotec + + + + + Tejalapan Zapotec + + + + + Guila Zapotec + + + + + Zaachila Zapotec + + + + + Yatee Zapotec + + + + + Zeem + + + + + Tokano + + + + + Zulu + + + + + Kumzari + + + + + Zuni + + + + + Zumaya + + + + + Zay + + + + + No linguistic content + + + + + Zyphe + + + + + Zaza + + + + + + + A data type for language codes. + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/niem-core/2.0/niem-core.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/niem-core/2.0/niem-core.xsd new file mode 100644 index 00000000..a888591a --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/niem-core/2.0/niem-core.xsd @@ -0,0 +1,3808 @@ + + + + NIEM Core includes both Universal (U) and Common (C) components. The identities for U and C components in Core are maintained with metadata. + + true + + + + + + + + + + + + + + + A data type for an association between an activity and a person involved in that activity. + + + + + + + + + + + + + + + A data type for an association between an activity and an item. + + + + + + + + + + + + + + + + A data type for an a association between an activity and an organization. + + + + + + + + + + + + + + + + A data type for an association between an activity and a person. + + + + + + + + + + + + + + + + A data type for a single or set of related actions, events, or process steps. + + + + + + + + + + + + + + + + + + + A data type for a geophysical location described by postal information. + + + + + + + + + + + + + + + A data type for a mode of transportation capable of flying in the air. + + + + + + + + + + + + + + + + + + + + + A data type for an amount of money. + + + + + + + + + + + + + + A data type for a minute of a degree, with a restricted range of 0 (inclusive) to 60 (exclusive). + + + + + + + + + + + + A data type for a minute of a degree, with a restricted range of 0 (inclusive) to 60 (exclusive). + + + + + + + + + + + + + A data type for a second of a minute, with a restricted range of 0 (inclusive) to 60 (exclusive). + + + + + + + + The maximum value for an angular second. + + + + + The minimum value for an angular second. + + + + + + + A data type for a second of a minute, with a restricted range of 0 (inclusive) to 60 (exclusive). + + + + + + + + + + + + + A data type for a connection, relationship, or involvement somehow linking people and/or things together. + + + + + + + + + + + + + + + + A data type for an association between a person and an authority figure. + + + + + + + + + + + + + + + + A data type for a digital representation of an object encoded in a binary format. + + + + + + + + + + + + + + + + + + + + + + A data type for how to contact a person or an organization. + + + + + + + + + + + + + + + A data type for a means of transport from place to place. + + + + + + + + + + + + + + + + A data type for a period of time. + + + + + + + + + + + + + + + + A data type for a calendar date. + + + + + + + + + + + + + + + A data type for a paper or electronic document. + + + + + + + + + + + + + + + + + + + + + A data type for an authorization issued to a driver granting driving privileges. + + + + + + + + + + + + + + + A data type for a license issued to a person granting driving privileges. + + + + + + + + + + + A data type for a legal or illegal substance that can be used as a medicine or a narcotic. + + + + + + + + + + + A data type for a person, organization, or thing capable of bearing legal rights and responsibilities. + + + + + + + + + + + + + + + A data type for a device containing a substance or agent that can cause an explosion. + + + + + + + + + + + + + + + + + + A data type for a building, place, or structure that provides a particular service. + + + + + + + + + + + + + + + + A data type for a weapon that will, or is designed to, or may readily be converted to expel a projectile by air, carbon dioxide, or the action of an explosive. + + + + + + + + + + + + + + + + + + + + + + A data type for a full telephone number. + + + + + + + + + + + + + + + + A data type for an association between a person and a guardian of that person. + + + + + + + + + + + + + + + + A data type for a representation of an identity. + + + + + + + + + + + + + + + + + + + + + A data type for a picture or visual representation of something. + + + + + + + + + + + A data type for an association of people who form a basic family unit of parents and children. + + + + + + + + + + + + + + + + + A data type for a user account for an instant messaging program by which a person or organization may be contacted. + + + + + + + + + + + + + + + + A data type for an intellectual property item. + + + + + + + + + + + A data type for an international telephone number. + + + + + + + + + + + + + + + + + A data type for an association between an item and something in which it is held. + + + + + + + + + + + + + + + + A data type for an association between a property and a location. + + + + + + + + + + + + + + + + A data type for an article or thing. + + + + + + + + + + + + + + + + + A data type for an evaluation of the monetary worth of an item. + + + + + + + + + + + + + + + + + A data type for a measurement of the angular distance between a point on the Earth and the Equator. + + + + + + + + + + + + + + + + + A data type for a degree of latitude. + + + + + + + + The maximum value for a latitude degree. + + + + + The minimum value for a latitude degree. + + + + + + + A data type for a degree of latitude. + + + + + + + + + + + + + A data type for a measurement of length. + + + + + + + + + + + + + + + A data type for an entity which has a contract to use a vehicle. + + + + + + + + + + + + + + + + A data type for an entity which conveys a vehicle by way of a lease. + + + + + + + + + + + + + + + + A data type for a geophysical location. + + + + + + + + + + + + + + + + A data type for a measurement of the angular distance between a point on the Earth and the Prime Meridian. + + + + + + + + + + + + + + + + + A data type for a degree of longitude. + + + + + + + + The minimum value for a longitude degree. + + + + + The maximum value for a longitude degree. + + + + + + + A data type for a degree of longitude. + + + + + + + + + + + + + A data type for a state of a marriage. + + + + + + + + + + + + + + + A data type for a measure point value. + + + + + + + + + + + + + A data type for a measurement range. + + + + + + + + + + + + + + + + A data type for a measurement. + + + + + + + + + + + + + + + A data type for information that further qualifies primary data; data about data. + + + + + + + + + + + + + + + + + + + + + + + + A data type for a North American Numbering Plan telephone number. + + + + + + + + + + + + + + + + + + A data type for a decimal value with a minimum value of 0. + + + + + + + + + + + A data type for a decimal value with a minimum value of 0. + + + + + + + + + + + + + A data type for a number value. + + + + + + + + + + + A data type for an association between organizations. + + + + + + + + + + + + + + + A data type for an association between an organization and an item. + + + + + + + + + + + + + + + + A data type for an association between an organization and a location. + + + + + + + + + + + + + + + + A data type for a body of people organized for a particular purpose. + + + + + + + + + + + + + + + + + A data type for an association between an organization and another organization or unit. + + + + + + + + + + + + + + + + A data type for an association between people. + + + + + + + + + + + + + + + A data type for an association between a person and a conveyance. + + + + + + + + + + + + + + + + A data type for an association between a person and an employment. + + + + + + + + + + + + + + + + + + + + + A data type for an association between a person and an item. + + + + + + + + + + + + + + + + A data type for a language capability of a person. + + + + + + + + + + + + + + + A data type for an association between a person and a location. + + + + + + + + + + + + + + + + A data type for a name by which a person is known, referred, or addressed. + + + + + + + + + + + A data type for a combination of names and/or titles by which a person is known. + + + + + + + + + + + + + + + + + + A data type for an association between a person and an organization. + + + + + + + + + + + + + + + + A data type for an association between a person and a location where that person lives. + + + + + + + + + + + + + + + + A data type for a human being. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A data type for an association between two persons who are in a state of union with each other. + + + + + + + + + + + + + + + A data type for an association between a person and a person assigned to do work for or on behalf of that person. + + + + + + + + + + + + + + + + + A data type for a word or phrase by which a person or thing is known, referred, or addressed. + + + + + + + + + + + A data type for an item that is owned, possessed, or otherwise acquired by an entity. + + + + + + + + + + + + + + + + + A data type for a count or tally. + + + + + + + + + + + A data type for an association between related activities. + + + + + + + + + + + + + + + + A data type for a state of something or someone. + + + + + + + + + + + + + + + + + A data type for a road, thoroughfare, or highway. + + + + + + + + + + + + + + + + + + + + A data type for an address. + + + + + + + + + + + + + + + + + + + A data type for a measurement of a quantity of a substance. + + + + + + + + + + + + + + + A data type for the matter or substance of which something consists. + + + + + + + + + + + + + + + + + + + + + A data type for a physical object. + + + + + + + + + + + + + + + + + + + + + + + + A data type for a telephone number for a telecommunication device. + + + + + + + + + + + + + + + A data type for a character string. + + + + + + + + + + + A data type for a measurement of a quantity of time. + + + + + + + + + + + + + + + A data type for an association between a conveyance and the people and/or goods it transported. + + + + + + + + + + + + + + + + + + + A data type for a location identified by latitude and longitude. + + + + + + + + + + + + + + + + A data type for an organization which brands vehicles. + + + + + + + + + + + + + + + + A data type for a motor-driven conveyance designed to carry its operator, and optionally passengers and cargo, over land. + + + + + + + + + + + + + + + + + A data type for a mode of transportation capable of transport by water. + + + + + + + + + + + + + + + + + + + + + + A data type for a property item used as an instrument of attack or defense. + + + + + + + + + + + + + + + + + A data type for a measurement of a weight. + + + + + + + + + + + + + + + A unit of money or exchange. + + + + + A unit of money or exchange. + + + + + An association between people who recognize each other but do not know each other very well. + + + + + A single or set of related actions, events, or process steps. + + + + + + + + + A single or set of related actions, events, or process steps. + + + + + + A kind of activity. + + + + + A date of an activity. + + + + + + + + A period of time over which an activity occurs. + + + + + + + + A date an activity occurs. + + + + + A description of an activity. + + + + + An identification that references an activity. + + + + + An association between an activity and an organization that abstracted information for that activity. + + + + + An association between an activity and an organization that cleared information for that activity. + + + + + An association between an activity and an organization somehow involved in that activity. + + + + + An association between an activity and a person involved in that activity. + + + + + An association between an activity and an item. + + + + + An association between an activity and an organization primarily associated with that activity. + + + + + A relationship between activities. + + + + + An association between an activity and an organization that responded to that organization. + + + + + An association between an activity and an organization with responsibility over that activity. + + + + + An association between an activity and an organization supervising that activity. + + + + + An association between an activity and a person who supervises the activity. + + + + + A single place or unit at which mail is delivered. + + + + + A complete address. + + + + + + + + A representation of an address. + + + + + A particular unit within a larger unit or grouping at a location. + + + + + + + + A mode of transportation capable of flying in the air. + + + + + A facility at which an aircraft is usually kept. + + + + + A color of the main body of an aircraft. + + + + + A color of the main body of an aircraft. + + + + + + + + A color of the main body of an aircraft. + + + + + + + + A manufacturer of an aircraft. + + + + + A specific design or kind of aircraft made by a manufacturer. + + + + + A style of an aircraft. + + + + + An identifier of an aircraft. + + + + + A color of the wings on an aircraft. + + + + + A color of the wings of an aircraft. + + + + + + + + A color of the wings of an aircraft. + + + + + + + + A date an association begins. + + + + + A date an association ends. + + + + + An association between a person with a trusted position of authority over a person. + + + + + An association between a babysitter and babysittee. + + + + + A digital representation of an object encoded in a binary format. + + + + + A binary encoding of data. + + + + + + + + A date on which a binary object is captured or created. + + + + + A kind of object that has been encoded. + + + + + A description of a binary object. + + + + + An identifier for a file format or content type of a binary object. + + + + + A name of a standard or protocol used to classify binary content. + + + + + An identifier that references a binary object. + + + + + A binary encoding of data. + + + + + A size of a binary object in kilobytes. + + + + + An association between people who live together. + + + + + A remark, explanation, or observation. + + + + + An electronic mailing address by which a person or organization may be contacted. + + + + + + + + A telephone number for a facsimile device by which a person or organization may be contacted. + + + + + + + + Details about how to contact a person or an organization. + + + + + A user account for an instant messaging program by which a person or organization may be contacted. + + + + + + + + A means of contacting someone. + + + + + A telephone number for a mobile telecommunication device by which a person or organization may be contacted. + + + + + + + + A telephone number for a paging device by which a person or organization may be contacted. + + + + + + + + A telephone number for a telecommunication device by which a person or organization may be contacted. + + + + + + + + An item that holds something. + + + + + + + + A means of transport from place to place. + + + + + + + + A number of engines on a conveyance. + + + + + A person who operates or drives a conveyance. + + + + + + + + A number of people in a conveyance excluding the driver. + + + + + An identification on a metal plate fixed to a conveyance. + + + + + An item that is specifically being conveyed. + + + + + + + + A person being conveyed. + + + + + + + + An association between people who work together. + + + + + A full date. + + + + + + + + A representation of a date. + + + + + A full date and time. + + + + + + + + Allowable recipients of information; dissemination statement or instructions. + + + + + A paper or electronic document. + + + + + + + + A paper or electronic document. + + + + + A country being discussed in a document. + + + + + A country being discussed in a document. + + + + + + + + A date a document was created. + + + + + A description of the content of a document. + + + + + An identifier assigned to a document to locate it within a file control system. + + + + + An identification that references a document. + + + + + A significant word or phrase that describes the overall content of a document or its main topic. + + + + + A name given to a document. + + + + + An association of two people who live together, are of the same sex, and share a significant, spouse-like relationship without the partnership being legally sanctioned. + + + + + Details about a license issued to a person granting driving privileges. + + + + + Details about a driver license identifier or driver license permit identifier, including the number and state. + + + + + A legal or illegal substance that can be used as a medicine or a narcotic. + + + + + A date that information take effect. + + + + + A person who works for a business or a person. + + + + + + + + A name of a department or command associated with a job position. + + + + + An employment identification assigned to a person. + + + + + A job title of an employee. + + + + + A rank, status, or promotion level of a person within an employment organization. + + + + + A business or person which employs a person. + + + + + A status of employment for a person. + + + + + An end date. + + + + + An organization capable of bearing legal rights and responsibilities. + + + + + + + + + A person capable of bearing legal rights and responsibilities. + + + + + + + + + A person, organization, or thing capable of bearing legal rights and responsibilities. + + + + + A date after which information is no longer valid. + + + + + A device containing a substance or agent that can cause an explosion. + + + + + An item contained within an explosive device designed to cause harm or damage when propelled by an explosion. + + + + + An item contained within an explosive device designed to cause harm or damage when propelled by an explosion. + + + + + + + + An item contained within an explosive device designed to cause harm or damage when propelled by an explosion. + + + + + + + + An object that contains an explosive substance or agent. + + + + + An object that contains an explosive substance or agent. + + + + + + + + An object that contains an explosive substance or agent. + + + + + + + + A substance that can cause an explosion when ignited or detonated. + + + + + A substance that can cause an explosion when ignited or detonated. + + + + + + + + A substance that can cause an explosion when ignited or detonated. + + + + + + + + A means by which an explosive is ignited or detonated. + + + + + A means by which an explosive is ignited or detonated. + + + + + + + + A means by which an explosive is ignited or detonated. + + + + + + + + An identification assigned to a facility. + + + + + A name of a facility. + + + + + An association between people who are in the same family. + + + + + A kind of relationship between family members. + + + + + A kind of relationship between family members. + + + + + + + + A kind of relationship between family members. + + + + + + + + A weapon that will, or is designed to, or may readily be converted to expel a projectile by air, carbon dioxide, or the action of an explosive. + + + + + True if firearm is an automatic weapon and can be fired in quick succession; false otherwise. + + + + + A diameter of the inside of a barrel of a firearm. + + + + + A diameter of the inside of a barrel of a firearm. + + + + + + + + A diameter of the inside of a barrel of a firearm. + + + + + + + + A kind of firearm. + + + + + A description of a kind of firearm. + + + + + A description of a kind of firearm. + + + + + + + + A description of a kind of firearm. + + + + + + + + A surface coating or finish of a firearm. + + + + + A surface coating or finish of a firearm. + + + + + + + + A surface coating or finish of a firearm. + + + + + + + + A caliber or diameter of the inside of a barrel of a firearm, particularly a shotgun. + + + + + A handle of a firearm. + + + + + A manufacturer of a firearm. + + + + + An association between people who are friends. + + + + + A full telephone number. + + + + + + + + A measurement of the angular distance between a point on the Earth and the Equator. + + + + + A measurement of the angular distance between a point on the Earth and the Prime Meridian. + + + + + An association between a guardian and a dependent. + + + + + A kind of identification. + + + + + A kind of identification. + + + + + + + + A date an identification takes effect. + + + + + A date after which an identification is no longer valid. + + + + + A value that identifies something. + + + + + An area, region, or unit in which a unique identification is issued. + + + + + An area, region, or unit in which a unique identification is issued. + + + + + + + + An area, region, or unit in which a unique identification is issued. + + + + + + + + A person, organization, or locale which issues an identification. + + + + + A status of an identification. + + + + + An association between parents and children. + + + + + A name of an instant messaging program. + + + + + An account identifier used to reference a person or organization within an instant messaging system. + + + + + An intellectual property item. + + + + + An international telephone number. + + + + + + + + An article or thing. + + + + + + + + An article or thing. + + + + + A kind of item. + + + + + A kind of property item. + + + + + + + + A color of an item. + + + + + A description of the overall color of an item. + + + + + + + + An association between an item and something in which it is held. + + + + + A description of an item. + + + + + A measurement of the height of an item. + + + + + An association between a property item and the entity holding or storing that property item. + + + + + A binary representation of an image of an item. + + + + + A measurement of the length of an item. + + + + + An association between a property and a location. + + + + + A name of the manufacturer that produced an item. + + + + + A name of a specific design or kind of item made by a manufacturer. + + + + + A year in which an item was manufactured or produced. + + + + + An association between a property item and an entity that moved that property item. + + + + + An identification inscribed on or attached to a part, collection of parts, or complete unit by the manufacturer. + + + + + A style of an item. + + + + + An evaluation of the monetary worth of an item. + + + + + A monetary value of an item. + + + + + A date an item value takes effect. + + + + + A description of the monetary worth of an item. + + + + + A measurement of the weight of an item. + + + + + A measurement of the width of an item. + + + + + A system of words or symbols used for communication. + + + + + A system of words or symbols used for communication. + + + + + + + + A date information was last modified. + + + + + A date information was last checked for accuracy. + + + + + A value that specifies the degree of a latitude. The value comes from a restricted range between -90 (inclusive) and +90 (inclusive). + + + + + A value that specifies a minute of a degree. The value comes from a restricted range of 0 (inclusive) to 60 (exclusive). + + + + + A value that specifies a second of a minute. The value comes from a restricted range of 0 (inclusive) to 60 (exclusive). + + + + + A unit of measure of a length value. + + + + + An entity which has a contract or lease to use a vehicle. + + + + + An entity which conveys vehicles by way of a lease. + + + + + Details about a physical location. + + + + + + + + Details about a physical location. + + + + + A geophysical location described by postal information. + + + + + A name of a city or town. + + + + + An association between a location and an organization at that location. + + + + + A country, territory, dependency, or other such geopolitical subdivision of a location. + + + + + A country, territory, dependency, or other such geopolitical subdivision of a location. + + + + + + + + An association between a location and its emergency services. + + + + + An association between a location and a person neighboring that location. + + + + + An association between a location and an organization. + + + + + An association between a location and its police department. + + + + + An identifier of a post office-assigned zone for an address. + + + + + A state, commonwealth, province, or other such geopolitical subdivision of a country. + + + + + A state, commonwealth, province, or other such geopolitical subdivision of a country. + + + + + + + + A road, thoroughfare or highway. + + + + + + + + A location identified by a latitude and longitude. + + + + + A value that specifies the degree of a longitude. The value comes from a restricted range between -180 (inclusive) and +180 (exclusive). + + + + + A value that specifies a minute of a degree. The value comes from a restricted range of 0 (inclusive) to 60 (exclusive). + + + + + A value that specifies a second of a minute. The value comes from a restricted range of 0 (inclusive) to 60 (exclusive). + + + + + An association between two persons who are legally married to each other. + + + + + A specific measurement value. + + + + + + + + A measurement specified by a minimum and maximum value. + + + + + + + + A measurement value. + + + + + Information that further qualifies primary data; data about data. + + + + + A North American Numbering Plan telephone number. + + + + + + + + An association between people who live close to each other. + + + + + A unit which conducts some sort of business or operations. + + + + + + + + A unit which conducts some sort of business or operations. + + + + + An association between an organization and another organization. + + + + + A kind or functional type of organization. + + + + + A kind or functional type of organization. + + + + + + + + An association between an organization and a gang. + + + + + An association between an organization and an item. + + + + + A name of an organization. + + + + + An association between an organization and a property item owned by that organization. + + + + + An entity that owns, controls, or operates the organization. + + + + + An association between an organization and a property item possessed by that organization. + + + + + An association between an organization and its principal official. + + + + + An association between an organization and its subsidiary organization. + + + + + A tax identification assigned to an organization. + + + + + A unit of an organization. + + + + + + + + A human being. + + + + + + + + A human being. + + + + + An association between a person and an activity in which a person was or may have been involved. + + + + + A description of the involvement of a person in an activity. + + + + + A measurement of the age of a person. + + + + + An alternate name used by a person. + + + + + An association between a person and a unit to which that person is assigned. + + + + + An association between people. + + + + + A person having or perceived as having a trusted position of authority over a person. + + + + + + + + A date a person was born. + + + + + A son or daughter of a person. + + + + + + + + A county that assigns rights, duties, and privileges to a person because of the birth or naturalization of the person in that country. + + + + + A county that assigns rights, duties, and privileges to a person because of the birth or naturalization of the person in that country. + + + + + + + + An association between a person and a conveyance. + + + + + An association between a person and a criminal organization. + + + + + An employment a person currently holds. + + + + + An association between a person and the current location of that person. + + + + + A person dependent upon the guardianship of another. + + + + + + + + An association between a person and a location at which that person is being detained. + + + + + An employment of a person. + + + + + An association between a person and a location at which that person is employed. + + + + + A color of the eyes of a person. + + + + + A color of the eyes of a person. + + + + + + + + A color of the eyes of a person. + + + + + + + + An employment a person held in the past but does not currently hold. + + + + + A complete name of a person. + + + + + An association between a person and a gang. + + + + + A first name of a person. + + + + + A person with guardianship over another. + + + + + + + + A color of the hair of a person. + + + + + A color of the hair of a person. + + + + + + + + A color of the hair of a person. + + + + + + + + A measurement of the height of a person. + + + + + An association between a person and a driving incident in which that person was involved. + + + + + An association between a person and an item. + + + + + An association between a person and a location at which that person is know to have been previously. + + + + + An association between a person and the last known location at which that person was seen. + + + + + An association between a person and a location. + + + + + A middle name of a person. + + + + + A combination of names and/or titles by which a person is known. + + + + + An association between a person and an organization. + + + + + An association between a person and an organization. + + + + + Information about an identifier with a kind that is not explicitly defined in the standard that refers to a person within a certain domain. + + + + + An association between a person and a property item that person owns. + + + + + A father or mother of a person. + + + + + + + + An identification of a passport issued to a person. + + + + + An association between a person and a property item that person possesses. + + + + + A capacity of a person for a language with which that person has the strongest familiarity. + + + + + An association between a person and a primary worker assigned to that person. + + + + + A classification of a person based on factors such as geographical locations and genetics. + + + + + A classification of a person based on factors such as geographical locations and genetics. + + + + + + + + A classification of a person based on factors such as geographical locations and genetics. + + + + + + + + An association between a person and a referral worker assigned to that person. + + + + + A unique reference to a living person; assigned by the United States Social Security Administration. + + + + + A gender or sex of a person. + + + + + A gender or sex of a person. + + + + + + + + A last name or family name of a person. + + + + + An association between a person and a temporarily assigned unit. + + + + + A status of a union between two people. + + + + + A status of a union between two people. + + + + + A measurement of the weight of a person. + + + + + A person assigned to do work for or on behalf of a person. + + + + + + + + An association between a person and a person assigned to do work for or on behalf of that person. + + + + + An association between an activity and a preceding activity. + + + + + A tangible or intangible item that can be owned or used. + + + + + An association between a property and its current location. + + + + + An amount of money for which an item could currently be sold. + + + + + An association between a property and disposition location. + + + + + An amount of money a previously missing item is worth after having been found. + + + + + A maximum value of a range. + + + + + A minimum value of a range. + + + + + An association between an activity and a related activity. + + + + + An association between related cases. + + + + + A date information was observed, measured, identified, or became known. + + + + + An association between a person and a location where that person lives. + + + + + A general description of a place in which a person lives. + + + + + A kind of occupancy of a residence. + + + + + A property of a role object. This specifies the base object, of which the role object is a function. + + + + + An entity of whom the role object is a function. + + + + + + + + + An organization of whom the role object is a function. + + + + + + + + + A person of whom the role object is a function. + + + + + + + + + A level of security of information. + + + + + A number or string set by a data provider so that information that is sent can be retraced back to its source. + + + + + A date on which something begins. + + + + + A date a status was set, effected, or reported. + + + + + A description of a status or condition of something or someone. + + + + + A name, identifier, or other reference of a person or organization which assigns a status. + + + + + An association between people who do not know each other. + + + + + A kind of street. + + + + + A complete reference for a street. + + + + + A name of a street. + + + + + A number that identifies a particular unit or location within a street. + + + + + A direction that appears after a street name. + + + + + A direction that appears before a street name. + + + + + An address. + + + + + + + + A matter or substance of which something consists. + + + + + A kind of substance. + + + + + A kind of substance. + + + + + + + + A substance. + + + + + A description of the ingredients or makeup of a substance. + + + + + A description of a container used to hold a substance. + + + + + A physical state or form in which a substance appears. + + + + + A description of where a substance was found. + + + + + A quantity of a substance being described. + + + + + A unit of measure for a quantity of a substance. + + + + + A physical object. + + + + + A dialing code for a state or province for phone numbers in the USA, Canada, Mexico, and the Caribbean. + + + + + An international dialing code for a country. + + + + + A portion of a telephone number that usually represents a central telephone switch. + + + + + A portion of a telephone number that identifies the individual circuit within an exchange. + + + + + A telephone number for a telecommunication device. + + + + + A complete telephone number. + + + + + A telephone number. + + + + + A telephone number. + + + + + Additional numbers to be entered after a call connects to be directed to the appropriate place. + + + + + A unit of measure of the time value. + + + + + An association between a conveyance and the people and/or goods it transported. + + + + + A motor-driven conveyance designed to carry its operator, and optionally passengers and cargo, over land. + + + + + An organization that brands a vehicle. + + + + + An identification of an entity which brands a vehicle. + + + + + A single, upper-most, front-most, or majority color of a vehicle. + + + + + + + + A lower-most or rear-most color of a two-tone vehicle or a lesser color of a multi-colored vehicle. + + + + + + + + An association between a vehicle and its garage location. + + + + + A unique combination of alphanumeric characters that identifies a specific vehicle. + + + + + A manufacturer of a vehicle. + + + + + A specific design or class of vehicle made by a manufacturer. + + + + + A style of a vehicle. + + + + + + + + An association between a property item and the entity that towed that property item. + + + + + A mode of transportation capable of transport by water. + + + + + A kind of vessel. + + + + + A color of the majority of a vessel. + + + + + + + + A minor color of a vessel. + + + + + + + + An identification found on the main body or frame of a vessel. + + + + + A substance used as the primary construction material of the main body or frame of a vessel. + + + + + A substance used as the primary construction material of the main body or frame of a vessel. + + + + + + + + A substance used as the primary construction material of the main body or frame of a vessel. + + + + + + + + A shape of the main body or frame of a vessel. + + + + + A shape of the main body or frame of a vessel. + + + + + + + + A shape of the main body or frame of a vessel. + + + + + + + + A manufacturer of a vessel. + + + + + A mode by which a vessel is designed to move through the water. + + + + + A mode by which a vessel is designed to move through the water. + + + + + + + + A mode by which a vessel is designed to move through the water. + + + + + + + + An identification assigned to a vessel by the coast guard or another vessel licensing organization + + + + + A manufacturer of a device pulled by a vehicle for the purpose of transporting a vessel over land. + + + + + A manufacturer of a device pulled by a vehicle for the purpose of transporting a vessel over land. + + + + + + + + A manufacturer of a device pulled by a vehicle for the purpose of transporting a vessel over land. + + + + + + + + A property item used as in instrument of attack or defense. + + + + + A way or manner in which a weapon was used. + + + + + A person who uses a weapon. + + + + + + + + A unit of measure of the weight value. + + + + + A year. + + + + + + + + A year and month. + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/nonauthoritative-code/2.0/nonauthoritative-code.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/nonauthoritative-code/2.0/nonauthoritative-code.xsd new file mode 100644 index 00000000..8e5a6379 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/nonauthoritative-code/2.0/nonauthoritative-code.xsd @@ -0,0 +1,62 @@ + + + + Non-authoritative codes for the direction of a person's pose in an image. + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/proxy/xsd/2.0/xsd.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/proxy/xsd/2.0/xsd.xsd new file mode 100644 index 00000000..1bed9600 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/proxy/xsd/2.0/xsd.xsd @@ -0,0 +1,140 @@ + + + + Proxy types that carry dictionary metadata and have XML data type simple contents. + + true + + + + + + + A data type for Base64-encoded binary data. + + + + + + + + + + + + + A data type for binary-valued logic (true/false). + + + + + + + + + + + + + A data type for a calendar date with the format CCYY-MM-DD. + + + + + + + + + + + + + + + + + + + + + + + + + A data type for arbitrary precision decimal numbers. + + + + + + + + + + + + + A data type for a duration of time with the format PnYnMnDTnHnMnS, where nY is the number of years, nM is the number of months, nD is the number of days, nH is the number of hours, nM is the number of minutes, and nS is the number of seconds. + + + + + + + + + + + + + A data type for a Gregorian calendar year with the format CCYY. + + + + + + + + + + + + + A data type for a specific gregorian month in a specific gregorian year. + + + + + + + + + + + + + A data type for an integer with a minimum value of 0. + + + + + + + + + + + + + A data type for character strings in XML. + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/structures/2.0/structures.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/structures/2.0/structures.xsd new file mode 100644 index 00000000..b735d8a0 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/structures/2.0/structures.xsd @@ -0,0 +1,145 @@ + + + + The structures schema provides support for + fundamental NIEM linking mechanisms, as well as providing base types + for definition of NIEM-conformant types. + + + + The Object resource defines an identifier which acts + as a conceptual base for objects in NIEM-conformant + schemas. + + + + + + The Association resource defines an identifier which + acts as a conceptual base for association in NIEM-conformant + schemas. + + + + + + + The id attribute is used to define XML IDs for + NIEM objects. These IDs may be targets of reference elements, + metadata attributes, and link metadata + attributes. + + + + + The linkMetadata attribute allows an element to + point to metadata that affects the relationship between the context + and the value of the object. + + + + + The attribute metadata allows an object to point + to metadata that affects itself. + + + + + The ref attribute is used by reference elements in + NIEM to refer to an object via an ID reference, rather than including + the object itself as element content. + + + + + The sequenceID attribute allows a series of + elements to define a sequence for content that does not correspond to + the order of element declarations within a type. This attribute may + override the sequence of elements appearing within an + instance. + + + + + The SimpleObjectAttributeGroup attribute group + provides a collection of attributes which are appropriate for + definition of object types. + + + + + + + + The Augmentation element provides a substitution + group head for augmentations. The designer of a message or object may + use this element within an object definition. This will allow the + selection of augmentations dynamically, at run time (or at least + schema selection time) rather than at schema authoring + time. + + + + + The Metadata element provides a substitution group + head for metadata. Like the substitution group head for + augmentations, this allows selection of metadata to be decided late + in message creation, rather than at schema authoring time. This + element may also be used to provide a single point in a container + where all metadata for a message may be + deposited. + + + + + The AugmentationType type is a base type for all + augmentations. An augmentation may have metadata and an ID, but may + not have link metadata, as it does not establish a relationship + between its value and its context. The individual element contents of + an augmentation, however, do establish a relationship between the + context of the augmentation and the values of the individual + elements. + + + + + + + The ComplexObjectType type provides a base class + for object definition, association definitions, and external adapter + type definitions. An instance of one of these types may have an ID. + It may have metadata as it establishes the existence of an object + (maybe a conceptual object). It may also have link metadata, as an + element of one of these types establishes a relationship between its + value and its context. + + + + + + + + The MetadataType type is a base class for metadata + type definition. This type provides only an ID, as the metadata may + be referenced. It does not itself have metadata, and does not have + link metadata. + + + + + + The ReferenceType type is the type of all + reference elements within NIEM-conformant schemas. This type provides + a reference attribute, to reference an object defined elsewhere. It + includes an ID, as the link established by a reference element may + need to be identified, and it includes link metadata, as an element + of this type establishes a relationship between its context and the + referenced object. It does not contain metadata, as it does not + itself establish the existence of an object; it relies on a + definition located elsewhere. + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/unece_rec20-misc/2.0/unece_rec20-misc.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/unece_rec20-misc/2.0/unece_rec20-misc.xsd new file mode 100644 index 00000000..2a8d65d5 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/niem/unece_rec20-misc/2.0/unece_rec20-misc.xsd @@ -0,0 +1,360 @@ + + + + Miscellaneous unit of measure codes from the United Nations Economic Commission for Europe Recommendation No. 20, Codes for Units of Measure used in International Trade. + + true + + + + + + + A data type for units of measurements for a length value. + + + + + + + + micrometre (micron) + + + + + milli-inch + + + + + angstrom + + + + + astronomical unit + + + + + decametre + + + + + femtometre + + + + + fathom + + + + + light year + + + + + nanometre + + + + + picometre + + + + + parsec + + + + + centimetre + + + + + decimetre + + + + + foot + + + + + hectometre + + + + + inch + + + + + kilometre + + + + + micro-inch + + + + + millimetre + + + + + metre + + + + + nautical mile + + + + + mile (statute mile) + + + + + chain + + + + + yard + + + + + + + A data type for units of measurements for a length value. + + + + + + + + + + + + + A data type for units of measurement for a weight value. + + + + + + + + megagram + + + + + troy ounce or apothecary ounce + + + + + centigram + + + + + hundred pounds (cwt) / hundred weight (US) + + + + + hundred weight (UK) + + + + + decigram + + + + + decagram + + + + + decitonne + + + + + gram + + + + + grain + + + + + hectogram + + + + + kilogram + + + + + kilotonne + + + + + pound + + + + + ton (UK) or long ton (US) + + + + + megagram + + + + + ounce + + + + + stone (UK) + + + + + ton (US) or short ton (UK/US) + + + + + tonne (metric ton) + + + + + + + A data type for units of measurement for a weight value. + + + + + + + + + + + + + A data type for units of time. + + + + + + + + year + + + + + kilosecond + + + + + microsecond + + + + + millisecond + + + + + nanosecond + + + + + tropical year + + + + + day + + + + + hour + + + + + minute [unit of time] + + + + + month + + + + + second [unit of time] + + + + + week + + + + + + + A data type for units of time. + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/publish-discover/3.1/publish-discover.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/publish-discover/3.1/publish-discover.xsd new file mode 100644 index 00000000..0f0dedad --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/publish-discover/3.1/publish-discover.xsd @@ -0,0 +1,40 @@ + + + + + + + + LEXS Publish Discover Message Format Schema + + + + + LEXS Submission Publish Method + + + + + + LEXS Submission Publish Method + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/search-retrieve/3.1/search-retrieve.xsd b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/search-retrieve/3.1/search-retrieve.xsd new file mode 100644 index 00000000..97c63a08 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/search-retrieve/3.1/search-retrieve.xsd @@ -0,0 +1,250 @@ + + + + + + + + LEXS Search Retrieve Message Format Schema + + + + + LEXS structured search request. + + + + + + A structure that describes LEXS structured search request. + + + + + + + + + LEXS text search request. + + + + + + A structure that describes LEXS text search request. + + + + + + + + + LEXS response to structured or text search request. + + + + + + A structure that describes LEXS response to structured or text search request. + + + + + + + + + LEXS request for a data item. + + + + + + A structure that describes LEXS request for a data item. + + + + + + + + + LEXS response to a request for a data item. + + + + + + A structure that describes LEXS response to a request for a data item. + + + + + + + + + LEXS request for attachments. + + + + + + A structure that describes LEXS request for attachments. + + + + + + + + + LEXS response to request for attachments. + + + + + + A structure that describes LEXS response to request for attachments. + + + + + + + + + LEXS request for capabilities from service provider. + + + + + + A structure that describes LEXS request for capabilities from service provider. + + + + + + + + + LEXS response to request for service provider capabilities. + + + + + + A structure that describes LEXS response to request for service provider capabilities. + + + + + + + + + LEXS request for data owners available through a service provider. + + + + + + A structure that describes LEXS request for data owners available through a service provider. + + + + + + + + + LEXS response to request for a data owners available through a service provider. + + + + + + A structure that describes LEXS response to request for a data owners available through a service provider. + + + + + + + + + LEXS availability request + + + + + + A structure that describes LEXS availability request. + + + + + + + + + LEXS response to availability request + + + + + + A structure that describes LEXS response to availability request. + + + + + + + + + Domain request + + + + + + A structure that describes domain request. + + + + + + + + + Response to domain request + + + + + + A structure that describes response to domain request. + + + + + + + diff --git a/GeneratedSchemaLibraries/LEXS-NIEM/xsd/wantlist.xml b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/wantlist.xml new file mode 100644 index 00000000..634c8af0 --- /dev/null +++ b/GeneratedSchemaLibraries/LEXS-NIEM/xsd/wantlist.xml @@ -0,0 +1,26060 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/LegalRuleML/normal/ruleml.xsd-g.cs b/GeneratedSchemaLibraries/LegalRuleML/normal/ruleml.xsd-g.cs index 3e7f4922..068f8774 100644 --- a/GeneratedSchemaLibraries/LegalRuleML/normal/ruleml.xsd-g.cs +++ b/GeneratedSchemaLibraries/LegalRuleML/normal/ruleml.xsd-g.cs @@ -20,7 +20,7 @@ namespace www.w3.org.XML.Item1998.@namespace { using global::System.Xml.Schema; using global::System.Xml.Linq; using global::Xml.Schema.Linq; - using ruleml.org.spec; + using global::ruleml.org.spec; public sealed class lang { @@ -47,9 +47,9 @@ namespace ruleml.org.spec { using System.Xml.Schema; using System.Xml.Linq; using Xml.Schema.Linq; - using www.w3.org.XML.Item1998.@namespace; - using docs.oasis.open.org.legalruleml.ns.v1.Item0; - using www.w3.org.Item2001.XMLSchema.datatypes; + using global::www.w3.org.XML.Item1998.@namespace; + using global::docs.oasis.open.org.legalruleml.ns.v1.Item0; + using global::www.w3.org.Item2001.XMLSchema.datatypes; public partial class duration : XTypedElement, IXMetaData { @@ -46117,7 +46117,7 @@ namespace docs.oasis.open.org.legalruleml.ns.v1.Item0 { using System.Xml.Schema; using System.Xml.Linq; using Xml.Schema.Linq; - using ruleml.org.spec; + using global::ruleml.org.spec; /// @@ -141683,7 +141683,7 @@ namespace www.w3.org.Item2001.XMLSchema.datatypes { using System.Xml.Schema; using System.Xml.Linq; using Xml.Schema.Linq; - using ruleml.org.spec; + using global::ruleml.org.spec; public sealed class @string { diff --git a/GeneratedSchemaLibraries/Microsoft Search/Microsoft.Search.Query.xsd-g.cs b/GeneratedSchemaLibraries/Microsoft Search/Microsoft.Search.Query.xsd-g.cs index ada0d358..55a1d075 100644 --- a/GeneratedSchemaLibraries/Microsoft Search/Microsoft.Search.Query.xsd-g.cs +++ b/GeneratedSchemaLibraries/Microsoft Search/Microsoft.Search.Query.xsd-g.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// LinqToXsd Version: 3.4.22 +// LinqToXsd Version: 3.4.24 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -2104,7 +2104,7 @@ public override XTypedElement Clone() { public ResultProvider() { } - public enum TypedValueEnum { + public enum ResultProvider1Enum { Default, @@ -2113,9 +2113,9 @@ public enum TypedValueEnum { FASTSearch, } - public sealed class TypedValueEnumValidator { + public sealed class ResultProvider1EnumValidator { - private TypedValueEnumValidator() { + private ResultProvider1EnumValidator() { } [DebuggerBrowsable(DebuggerBrowsableState.Never)] @@ -2129,13 +2129,13 @@ private TypedValueEnumValidator() { [EditorBrowsable(EditorBrowsableState.Never)] protected internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); - public virtual Microsoft.Search.Query.ResultProvider.TypedValueEnum TypedValue { + public virtual Microsoft.Search.Query.ResultProvider.ResultProvider1Enum TypedValue { get { XElement x = this.Untyped; - return ((Microsoft.Search.Query.ResultProvider.TypedValueEnum)(Enum.Parse(typeof(Microsoft.Search.Query.ResultProvider.TypedValueEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, TypedValueEnumValidator.TypeDefinition)))); + return ((Microsoft.Search.Query.ResultProvider.ResultProvider1Enum)(Enum.Parse(typeof(Microsoft.Search.Query.ResultProvider.ResultProvider1Enum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, ResultProvider1EnumValidator.TypeDefinition)))); } set { - this.SetValueWithValidation(value.ToString(), "TypedValue", TypedValueEnumValidator.TypeDefinition); + this.SetValueWithValidation(value.ToString(), "TypedValue", ResultProvider1EnumValidator.TypeDefinition); } } @@ -2479,7 +2479,7 @@ public override XTypedElement Clone() { public EnableSpellcheck() { } - public enum TypedValueEnum { + public enum EnableSpellcheck1Enum { off, @@ -2488,9 +2488,9 @@ public enum TypedValueEnum { on, } - public sealed class TypedValueEnumValidator { + public sealed class EnableSpellcheck1EnumValidator { - private TypedValueEnumValidator() { + private EnableSpellcheck1EnumValidator() { } [DebuggerBrowsable(DebuggerBrowsableState.Never)] @@ -2504,13 +2504,13 @@ private TypedValueEnumValidator() { [EditorBrowsable(EditorBrowsableState.Never)] protected internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); - public virtual Microsoft.Search.Query.EnableSpellcheck.TypedValueEnum TypedValue { + public virtual Microsoft.Search.Query.EnableSpellcheck.EnableSpellcheck1Enum TypedValue { get { XElement x = this.Untyped; - return ((Microsoft.Search.Query.EnableSpellcheck.TypedValueEnum)(Enum.Parse(typeof(Microsoft.Search.Query.EnableSpellcheck.TypedValueEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, TypedValueEnumValidator.TypeDefinition)))); + return ((Microsoft.Search.Query.EnableSpellcheck.EnableSpellcheck1Enum)(Enum.Parse(typeof(Microsoft.Search.Query.EnableSpellcheck.EnableSpellcheck1Enum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, EnableSpellcheck1EnumValidator.TypeDefinition)))); } set { - this.SetValueWithValidation(value.ToString(), "TypedValue", TypedValueEnumValidator.TypeDefinition); + this.SetValueWithValidation(value.ToString(), "TypedValue", EnableSpellcheck1EnumValidator.TypeDefinition); } } @@ -2907,7 +2907,7 @@ public override XTypedElement Clone() { public SimilarType() { } - public enum TypedValueEnum { + public enum SimilarType1Enum { FindSimilar, @@ -2916,9 +2916,9 @@ public enum TypedValueEnum { ExcludeSimilar, } - public sealed class TypedValueEnumValidator { + public sealed class SimilarType1EnumValidator { - private TypedValueEnumValidator() { + private SimilarType1EnumValidator() { } [DebuggerBrowsable(DebuggerBrowsableState.Never)] @@ -2932,13 +2932,13 @@ private TypedValueEnumValidator() { [EditorBrowsable(EditorBrowsableState.Never)] protected internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); - public virtual Microsoft.Search.Query.SimilarType.TypedValueEnum TypedValue { + public virtual Microsoft.Search.Query.SimilarType.SimilarType1Enum TypedValue { get { XElement x = this.Untyped; - return ((Microsoft.Search.Query.SimilarType.TypedValueEnum)(Enum.Parse(typeof(Microsoft.Search.Query.SimilarType.TypedValueEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, TypedValueEnumValidator.TypeDefinition)))); + return ((Microsoft.Search.Query.SimilarType.SimilarType1Enum)(Enum.Parse(typeof(Microsoft.Search.Query.SimilarType.SimilarType1Enum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, SimilarType1EnumValidator.TypeDefinition)))); } set { - this.SetValueWithValidation(value.ToString(), "TypedValue", TypedValueEnumValidator.TypeDefinition); + this.SetValueWithValidation(value.ToString(), "TypedValue", SimilarType1EnumValidator.TypeDefinition); } } diff --git a/GeneratedSchemaLibraries/Microsoft Search/Microsoft.Search.Response.xsd-g.cs b/GeneratedSchemaLibraries/Microsoft Search/Microsoft.Search.Response.xsd-g.cs index ec8de35a..3085400f 100644 --- a/GeneratedSchemaLibraries/Microsoft Search/Microsoft.Search.Response.xsd-g.cs +++ b/GeneratedSchemaLibraries/Microsoft Search/Microsoft.Search.Response.xsd-g.cs @@ -1,6 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. +// LinqToXsd Version: 3.4.24 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -19,10 +20,10 @@ namespace Microsoft.Search.Response { using System.Xml.Schema; using System.Xml.Linq; using Xml.Schema.Linq; - using Microsoft.Search.Response.Document; - using Microsoft.Search.Response.Form; - using Microsoft.Search.Response.Content; - using Microsoft.Search.Types; + using global::Microsoft.Search.Response.Document; + using global::Microsoft.Search.Response.Form; + using global::Microsoft.Search.Response.Content; + using global::Microsoft.Search.Types; /// @@ -1757,7 +1758,7 @@ namespace Microsoft.Search.Response.Document { using System.Xml.Schema; using System.Xml.Linq; using Xml.Schema.Linq; - using Microsoft.Search.Response; + using global::Microsoft.Search.Response; /// @@ -3089,7 +3090,7 @@ namespace Microsoft.Search.Response.Form { using System.Xml.Schema; using System.Xml.Linq; using Xml.Schema.Linq; - using Microsoft.Search.Response; + using global::Microsoft.Search.Response; /// @@ -7192,7 +7193,7 @@ namespace Microsoft.Search.Response.Content { using System.Xml.Schema; using System.Xml.Linq; using Xml.Schema.Linq; - using Microsoft.Search.Response; + using global::Microsoft.Search.Response; /// @@ -13781,7 +13782,7 @@ namespace Microsoft.Search.Types { using System.Xml.Schema; using System.Xml.Linq; using Xml.Schema.Linq; - using Microsoft.Search.Response; + using global::Microsoft.Search.Response; /// diff --git a/GeneratedSchemaLibraries/Microsoft.Expression.Media.Catalog/origin.md b/GeneratedSchemaLibraries/Microsoft.Expression.Media.Catalog/origin.md index 97c146ae..9370b97c 100644 --- a/GeneratedSchemaLibraries/Microsoft.Expression.Media.Catalog/origin.md +++ b/GeneratedSchemaLibraries/Microsoft.Expression.Media.Catalog/origin.md @@ -1 +1 @@ -This schema was reverse-engineered from an existing instance of an Expression Media Catalog file, and informed by the official Microsoft help documentation that shipped with the app. \ No newline at end of file +This schema was reverse-engineered from an existing instance of an Expression Media Catalog file, and informed by the official Microsoft help documentation that shipped with the app. When you export an Expression Media Catalog file, the app also produces a DTD file which also informed the reverse engineering of the XSD. \ No newline at end of file diff --git a/GeneratedSchemaLibraries/Multi-namespaces/TestNs1.xsd-g.cs b/GeneratedSchemaLibraries/Multi-namespaces/TestNs1.xsd-g.cs index 12808a94..685c94f6 100644 --- a/GeneratedSchemaLibraries/Multi-namespaces/TestNs1.xsd-g.cs +++ b/GeneratedSchemaLibraries/Multi-namespaces/TestNs1.xsd-g.cs @@ -21,7 +21,7 @@ namespace urn.test.namespace1 { using System.Xml.Schema; using System.Xml.Linq; using Xml.Schema.Linq; - using urn.test.namespace2; + using global::urn.test.namespace2; /// @@ -865,7 +865,7 @@ namespace urn.test.namespace2 { using System.Xml.Schema; using System.Xml.Linq; using Xml.Schema.Linq; - using urn.test.namespace1; + using global::urn.test.namespace1; public partial class TestElement2 : XTypedElement, IXMetaData { diff --git a/GeneratedSchemaLibraries/OFMX/OFMX-Snapshot.xsd-g.cs b/GeneratedSchemaLibraries/OFMX/OFMX-Snapshot.xsd-g.cs index 562457b8..e4de07a0 100644 --- a/GeneratedSchemaLibraries/OFMX/OFMX-Snapshot.xsd-g.cs +++ b/GeneratedSchemaLibraries/OFMX/OFMX-Snapshot.xsd-g.cs @@ -5439,7 +5439,6 @@ private codeCatFuelBaseValidator() { "JP9", "JP10", "F-18:F_18", - "F-18:F_18", "F-34:F_34", "F-35:F_35", "F-40:F_40", diff --git a/GeneratedSchemaLibraries/ORMML/ORMML.csproj b/GeneratedSchemaLibraries/ORMML/ORMML.csproj new file mode 100644 index 00000000..988d35a0 --- /dev/null +++ b/GeneratedSchemaLibraries/ORMML/ORMML.csproj @@ -0,0 +1,16 @@ + + + netstandard2.0 + + + + + + + + + + TargetFramework=netstandard2.0 + + + \ No newline at end of file diff --git a/GeneratedSchemaLibraries/ORMML/origins.md b/GeneratedSchemaLibraries/ORMML/origins.md new file mode 100644 index 00000000..ef854959 --- /dev/null +++ b/GeneratedSchemaLibraries/ORMML/origins.md @@ -0,0 +1 @@ +taken from research paper on ORM-ML: https://www.jarrar.info/publications/ORM%20Markup%20Language%203.pdf \ No newline at end of file diff --git a/GeneratedSchemaLibraries/ORMML/orm-ml.xsd b/GeneratedSchemaLibraries/ORMML/orm-ml.xsd new file mode 100644 index 00000000..9134a559 --- /dev/null +++ b/GeneratedSchemaLibraries/ORMML/orm-ml.xsd @@ -0,0 +1,293 @@ + + + + Root + + + + + + + + + Object: LOT or NOLOT + + + + + Objectified Predicate + + + + + + + + + + + + + + + + + + + + Object: LOT or NOLOT + + + + + + + + + + + + + + + Lexical Object Type + + + + + + Non Lexical Object Type + + + + + + + + + + + Object + Role + + + + + + + + + + + + + Abstract element for constraints + + + Objectified Predicate + + + + + + SubType + + + + + + + + + + + + Mandatory Constraint + + + + + + + Uniqueness Constraint + + + + + + + SubSet Constraint + + + + + + + + + + + + + + Equality Constraint + + + + + + + + + + + + + + Exclusion Constraint + + + + + + + + + + + + + + + Frequency Constraint + + + + + + + + + Irreflexive Ring Constraint + + + + + + + Intransitive Ring Constraint + + + + + + + Transitive Ring Constraint + + + + + + + + Acyclic Ring Constraint + + + + + + + Assymetric Ring Constraint + + + + + + + Antisymmetric Ring Constraint + + + + + + + Symmetric Ring Constraint + + + + + + + Reflexive Ring Constraint + + + + + + Total constraint + + + + + + + + Exclusive constraint + + + + + + + + Exclusive constraint + + + + + + + + + + + + + + Partition constraint + + + + + + + + + Intransitive + symmetric Ring Constraint + + + + + + + Acyclic+intransitive Ring Constraint + + + + + + + Asymmetric+intransitive Ring Constraint + + + + + + + Irreflexive + symmetric Ring Constraint + + + + + + + \ No newline at end of file diff --git a/GeneratedSchemaLibraries/ORMML/orm-ml.xsd-g.cs b/GeneratedSchemaLibraries/ORMML/orm-ml.xsd-g.cs new file mode 100644 index 00000000..45a357e4 --- /dev/null +++ b/GeneratedSchemaLibraries/ORMML/orm-ml.xsd-g.cs @@ -0,0 +1,9004 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// LinqToXsd Version: 3.4.24 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace ObjectRoleModelling.Xml { + using System; + using System.Collections; + using System.Collections.Generic; + using System.ComponentModel; + using System.IO; + using System.Linq; + using System.Diagnostics; + using global::System.Xml; + using global::System.Xml.Schema; + using global::System.Xml.Linq; + using global::Xml.Schema.Linq; + using global::www.w3.org.XML.Item1998.@namespace; + using purl.org.dc.elements.Item1.Item1; + + + /// + /// + /// Regular expression: (ORMMeta?, ORMBody) + /// + /// + public partial class ORMSchema : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static ORMSchema Load(string xmlFile) { + return XTypedServices.Load(xmlFile); + } + + public static ORMSchema Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile); + } + + public static ORMSchema Parse(string xml) { + return XTypedServices.Parse(xml); + } + + public static explicit operator ORMSchema(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ORMMeta?, ORMBody) + /// + /// + public ORMSchema() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ORMMetaXName = System.Xml.Linq.XName.Get("ORMMeta", ""); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ORMMeta?, ORMBody) + /// + /// + public virtual ORMMetaLocalType ORMMeta { + get { + XElement x = this.GetElement(ORMMetaXName); + if ((x == null)) { + return null; + } + return ((ORMMetaLocalType)(x)); + } + set { + this.SetElement(ORMMetaXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ORMBodyXName = System.Xml.Linq.XName.Get("ORMBody", ""); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ORMMeta?, ORMBody) + /// + /// + public virtual ORMBodyLocalType ORMBody { + get { + XElement x = this.GetElement(ORMBodyXName); + return ((ORMBodyLocalType)(x)); + } + set { + this.SetElement(ORMBodyXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName OntologyBaseXName = System.Xml.Linq.XName.Get("OntologyBase", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string OntologyBase { + get { + XAttribute x = this.Attribute(OntologyBaseXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(OntologyBaseXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContextXName = System.Xml.Linq.XName.Get("Context", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string Context { + get { + XAttribute x = this.Attribute(ContextXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ContextXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ORMSchema", ""); + + static ORMSchema() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ORMMetaXName), new NamedContentModelEntity(ORMBodyXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ORMMetaXName, typeof(ORMMetaLocalType)); + localElementDictionary.Add(ORMBodyXName, typeof(ORMBodyLocalType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + /// + /// + /// Regular expression: (Meta) + /// + /// + public partial class ORMMetaLocalType : XTypedElement, IXMetaData { + + public static explicit operator ORMMetaLocalType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (Meta) + /// + /// + public ORMMetaLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MetaXName = System.Xml.Linq.XName.Get("Meta", ""); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Meta) + /// + /// + public virtual MetaLocalType Meta { + get { + XElement x = this.GetElement(MetaXName); + return ((MetaLocalType)(x)); + } + set { + this.SetElement(MetaXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ORMMeta", ""); + + static ORMMetaLocalType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(MetaXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(MetaXName, typeof(MetaLocalType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + public partial class MetaLocalType : XTypedElement, IXMetaData { + + public static explicit operator MetaLocalType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public MetaLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName NameXName = System.Xml.Linq.XName.Get("Name", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string Name { + get { + XAttribute x = this.Attribute(NameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(NameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContentXName = System.Xml.Linq.XName.Get("Content", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string Content { + get { + XAttribute x = this.Attribute(ContentXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ContentXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Meta", ""); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + } + + /// + /// + /// Regular expression: (Object+, Subtype*, Predicate*, Predicate_Object*, Constraint*, Subcommitment?) + /// + /// + public partial class ORMBodyLocalType : XTypedElement, IXMetaData { + + public static explicit operator ORMBodyLocalType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (Object+, Subtype*, Predicate*, Predicate_Object*, Constraint*, Subcommitment?) + /// + /// + public ORMBodyLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ObjectXName = System.Xml.Linq.XName.Get("Object", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ObjectField; + + /// + /// + /// Object: LOT or NOLOT + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Object+, Subtype*, Predicate*, Predicate_Object*, Constraint*, Subcommitment?) + /// + /// + public virtual IList Object { + get { + if ((this.ObjectField == null)) { + this.ObjectField = new XTypedList(this, LinqToXsdTypeManager.Instance, ObjectXName); + } + return this.ObjectField; + } + set { + if ((value == null)) { + this.ObjectField = null; + } + else { + if ((this.ObjectField == null)) { + this.ObjectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ObjectXName); + } + else { + XTypedServices.SetList(this.ObjectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SubtypeXName = System.Xml.Linq.XName.Get("Subtype", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList SubtypeField; + + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (Object+, Subtype*, Predicate*, Predicate_Object*, Constraint*, Subcommitment?) + /// + /// + public virtual IList Subtype { + get { + if ((this.SubtypeField == null)) { + this.SubtypeField = new XTypedList(this, LinqToXsdTypeManager.Instance, SubtypeXName); + } + return this.SubtypeField; + } + set { + if ((value == null)) { + this.SubtypeField = null; + } + else { + if ((this.SubtypeField == null)) { + this.SubtypeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, SubtypeXName); + } + else { + XTypedServices.SetList(this.SubtypeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName PredicateXName = System.Xml.Linq.XName.Get("Predicate", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList PredicateField; + + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (Object+, Subtype*, Predicate*, Predicate_Object*, Constraint*, Subcommitment?) + /// + /// + public virtual IList Predicate { + get { + if ((this.PredicateField == null)) { + this.PredicateField = new XTypedList(this, LinqToXsdTypeManager.Instance, PredicateXName); + } + return this.PredicateField; + } + set { + if ((value == null)) { + this.PredicateField = null; + } + else { + if ((this.PredicateField == null)) { + this.PredicateField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, PredicateXName); + } + else { + XTypedServices.SetList(this.PredicateField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName Predicate_ObjectXName = System.Xml.Linq.XName.Get("Predicate_Object", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList Predicate_ObjectField; + + /// + /// + /// Objectified Predicate + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (Object+, Subtype*, Predicate*, Predicate_Object*, Constraint*, Subcommitment?) + /// + /// + public virtual IList Predicate_Object { + get { + if ((this.Predicate_ObjectField == null)) { + this.Predicate_ObjectField = new XTypedList(this, LinqToXsdTypeManager.Instance, Predicate_ObjectXName); + } + return this.Predicate_ObjectField; + } + set { + if ((value == null)) { + this.Predicate_ObjectField = null; + } + else { + if ((this.Predicate_ObjectField == null)) { + this.Predicate_ObjectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, Predicate_ObjectXName); + } + else { + XTypedServices.SetList(this.Predicate_ObjectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ConstraintXName = System.Xml.Linq.XName.Get("Constraint", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ConstraintField; + + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (Object+, Subtype*, Predicate*, Predicate_Object*, Constraint*, Subcommitment?) + /// + /// + public virtual IList Constraint { + get { + if ((this.ConstraintField == null)) { + this.ConstraintField = new XTypedList(this, LinqToXsdTypeManager.Instance, ConstraintXName); + } + return this.ConstraintField; + } + set { + if ((value == null)) { + this.ConstraintField = null; + } + else { + if ((this.ConstraintField == null)) { + this.ConstraintField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ConstraintXName); + } + else { + XTypedServices.SetList(this.ConstraintField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SubcommitmentXName = System.Xml.Linq.XName.Get("Subcommitment", ""); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (Object+, Subtype*, Predicate*, Predicate_Object*, Constraint*, Subcommitment?) + /// + /// + public virtual SubcommitmentLocalType Subcommitment { + get { + XElement x = this.GetElement(SubcommitmentXName); + if ((x == null)) { + return null; + } + return ((SubcommitmentLocalType)(x)); + } + set { + this.SetElement(SubcommitmentXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ORMBody", ""); + + static ORMBodyLocalType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ObjectXName), new NamedContentModelEntity(SubtypeXName), new NamedContentModelEntity(PredicateXName), new NamedContentModelEntity(Predicate_ObjectXName), new NamedContentModelEntity(ConstraintXName), new NamedContentModelEntity(SubcommitmentXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ObjectXName, typeof(Object)); + localElementDictionary.Add(SubtypeXName, typeof(Subtype)); + localElementDictionary.Add(PredicateXName, typeof(Predicate)); + localElementDictionary.Add(Predicate_ObjectXName, typeof(Predicate_Object)); + localElementDictionary.Add(ConstraintXName, typeof(Constraint)); + localElementDictionary.Add(SubcommitmentXName, typeof(SubcommitmentLocalType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + /// + /// + /// Regular expression: (ORMSchema) + /// + /// + public partial class SubcommitmentLocalType : XTypedElement, IXMetaData { + + public static explicit operator SubcommitmentLocalType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ORMSchema) + /// + /// + public SubcommitmentLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ORMSchemaXName = System.Xml.Linq.XName.Get("ORMSchema", ""); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ORMSchema) + /// + /// + public virtual ORMSchema ORMSchema { + get { + XElement x = this.GetElement(ORMSchemaXName); + return ((ORMSchema)(x)); + } + set { + this.SetElement(ORMSchemaXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName orderXName = System.Xml.Linq.XName.Get("order", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Decimal? order { + get { + XAttribute x = this.Attribute(orderXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Integer).Datatype); + } + set { + this.SetAttribute(orderXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Integer).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName URIXName = System.Xml.Linq.XName.Get("URI", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string URI { + get { + XAttribute x = this.Attribute(URIXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(URIXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Subcommitment", ""); + + static SubcommitmentLocalType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ORMSchemaXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ORMSchemaXName, typeof(ORMSchema)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + } + } + + /// + /// + /// Object: LOT or NOLOT + /// + /// + /// Regular expression: (Translation*) + /// + /// + public abstract partial class Object : XTypedElement, IXMetaData { + + public static explicit operator Object(XElement xe) { return (Object)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// Object: LOT or NOLOT + /// + /// + /// Regular expression: (Translation*) + /// + /// + public Object() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TranslationXName = System.Xml.Linq.XName.Get("Translation", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList TranslationField; + + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (Translation*) + /// + /// + public virtual IList Translation { + get { + if ((this.TranslationField == null)) { + this.TranslationField = new XTypedList(this, LinqToXsdTypeManager.Instance, TranslationXName); + } + return this.TranslationField; + } + set { + if ((value == null)) { + this.TranslationField = null; + } + else { + if ((this.TranslationField == null)) { + this.TranslationField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, TranslationXName); + } + else { + XTypedServices.SetList(this.TranslationField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName NameXName = System.Xml.Linq.XName.Get("Name", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string Name { + get { + XAttribute x = this.Attribute(NameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(NameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName GlossXName = System.Xml.Linq.XName.Get("Gloss", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Gloss { + get { + XAttribute x = this.Attribute(GlossXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(GlossXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DatatypeXName = System.Xml.Linq.XName.Get("Datatype", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Datatype { + get { + XAttribute x = this.Attribute(DatatypeXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(DatatypeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TermUpperFormXName = System.Xml.Linq.XName.Get("TermUpperForm", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string TermUpperForm { + get { + XAttribute x = this.Attribute(TermUpperFormXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(TermUpperFormXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName NameSpaceXName = System.Xml.Linq.XName.Get("NameSpace", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string NameSpace { + get { + XAttribute x = this.Attribute(NameSpaceXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(NameSpaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Object", ""); + + static Object() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(TranslationXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(TranslationXName, typeof(TranslationLocalType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + public partial class TranslationLocalType : XTypedElement, IXMetaData { + + public static explicit operator TranslationLocalType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public TranslationLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LanguageXName = System.Xml.Linq.XName.Get("Language", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string Language { + get { + XAttribute x = this.Attribute(LanguageXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(LanguageXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName NameXName = System.Xml.Linq.XName.Get("Name", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string Name { + get { + XAttribute x = this.Attribute(NameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(NameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DescriptionXName = System.Xml.Linq.XName.Get("Description", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string Description { + get { + XAttribute x = this.Attribute(DescriptionXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(DescriptionXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ReferenceXName = System.Xml.Linq.XName.Get("Reference", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string Reference { + get { + XAttribute x = this.Attribute(ReferenceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ReferenceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Translation", ""); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + } + + /// + /// + /// Lexical Object Type + /// + /// + /// Regular expression: (Translation*) + /// + /// + public partial class LOT : global::ObjectRoleModelling.Xml.Object, IXMetaData { + + public static explicit operator LOT(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Lexical Object Type + /// + /// + /// Regular expression: (Translation*) + /// + /// + public LOT() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TranslationXName = System.Xml.Linq.XName.Get("Translation", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName numericXName = System.Xml.Linq.XName.Get("numeric", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool numericDefaultValue = System.Xml.XmlConvert.ToBoolean("false"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool numeric { + get { + XAttribute x = this.Attribute(numericXName); + if ((x == null)) { + return numericDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(numericXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("LOT", ""); + + static LOT() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(TranslationXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(TranslationXName, typeof(void)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Non Lexical Object Type + /// + /// + /// Regular expression: (Translation*, Reference?) + /// + /// + public partial class NOLOT : global::ObjectRoleModelling.Xml.Object, IXMetaData { + + public static explicit operator NOLOT(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Non Lexical Object Type + /// + /// + /// Regular expression: (Translation*, Reference?) + /// + /// + public NOLOT() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TranslationXName = System.Xml.Linq.XName.Get("Translation", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ReferenceXName = System.Xml.Linq.XName.Get("Reference", ""); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (Translation*, Reference?) + /// + /// + public virtual ReferenceLocalType Reference { + get { + XElement x = this.GetElement(ReferenceXName); + if ((x == null)) { + return null; + } + return ((ReferenceLocalType)(x)); + } + set { + this.SetElement(ReferenceXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IndependentXName = System.Xml.Linq.XName.Get("Independent", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool IndependentDefaultValue = System.Xml.XmlConvert.ToBoolean("false"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool Independent { + get { + XAttribute x = this.Attribute(IndependentXName); + if ((x == null)) { + return IndependentDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(IndependentXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("NOLOT", ""); + + static NOLOT() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(TranslationXName), new NamedContentModelEntity(ReferenceXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(TranslationXName, typeof(void)); + localElementDictionary.Add(ReferenceXName, typeof(ReferenceLocalType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + public partial class ReferenceLocalType : XTypedElement, IXMetaData { + + public static explicit operator ReferenceLocalType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public ReferenceLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName Ref_NameXName = System.Xml.Linq.XName.Get("Ref_Name", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string Ref_Name { + get { + XAttribute x = this.Attribute(Ref_NameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType).Datatype); + } + set { + this.SetAttribute(Ref_NameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName numericXName = System.Xml.Linq.XName.Get("numeric", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool numericDefaultValue = System.Xml.XmlConvert.ToBoolean("false"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool numeric { + get { + XAttribute x = this.Attribute(numericXName); + if ((x == null)) { + return numericDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(numericXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Reference", ""); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + } + + /// + /// + /// Object + Role + /// + /// + public partial class Object_Role : XTypedElement, IXMetaData { + + public static explicit operator Object_Role(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Object + Role + /// + /// + public Object_Role() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IDXName = System.Xml.Linq.XName.Get("ID", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string ID { + get { + XAttribute x = this.Attribute(IDXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(IDXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ObjectXName = System.Xml.Linq.XName.Get("Object", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string Object { + get { + XAttribute x = this.Attribute(ObjectXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(ObjectXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RoleXName = System.Xml.Linq.XName.Get("Role", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Role { + get { + XAttribute x = this.Attribute(RoleXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(RoleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Object_Role", ""); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class ORMType : XTypedElement, IXMetaData { + + public static explicit operator ORMType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public ORMType() { + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ORMType", ""); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (Object_Role+, Rule*) + /// + /// + public partial class Predicate : XTypedElement, IXMetaData { + + public static explicit operator Predicate(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (Object_Role+, Rule*) + /// + /// + public Predicate() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName Object_RoleXName = System.Xml.Linq.XName.Get("Object_Role", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList Object_RoleField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Object_Role+, Rule*) + /// + /// + public virtual IList Object_Role { + get { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = new XTypedList(this, LinqToXsdTypeManager.Instance, Object_RoleXName); + } + return this.Object_RoleField; + } + set { + if ((value == null)) { + this.Object_RoleField = null; + } + else { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, Object_RoleXName); + } + else { + XTypedServices.SetList(this.Object_RoleField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RuleXName = System.Xml.Linq.XName.Get("Rule", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList RuleField; + + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (Object_Role+, Rule*) + /// + /// + public virtual IList Rule { + get { + if ((this.RuleField == null)) { + this.RuleField = new XTypedList(this, LinqToXsdTypeManager.Instance, RuleXName); + } + return this.RuleField; + } + set { + if ((value == null)) { + this.RuleField = null; + } + else { + if ((this.RuleField == null)) { + this.RuleField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, RuleXName); + } + else { + XTypedServices.SetList(this.RuleField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DerivedXName = System.Xml.Linq.XName.Get("Derived", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool DerivedDefaultValue = System.Xml.XmlConvert.ToBoolean("false"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool Derived { + get { + XAttribute x = this.Attribute(DerivedXName); + if ((x == null)) { + return DerivedDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(DerivedXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName Derived_StoredXName = System.Xml.Linq.XName.Get("Derived_Stored", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool Derived_StoredDefaultValue = System.Xml.XmlConvert.ToBoolean("false"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool Derived_Stored { + get { + XAttribute x = this.Attribute(Derived_StoredXName); + if ((x == null)) { + return Derived_StoredDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(Derived_StoredXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Predicate", ""); + + static Predicate() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(Object_RoleXName), new NamedContentModelEntity(RuleXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(Object_RoleXName, typeof(Object_Role)); + localElementDictionary.Add(RuleXName, typeof(XTypedElement)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Abstract element for constraints + /// + /// + public abstract partial class Constraint : XTypedElement, IXMetaData { + + public static explicit operator Constraint(XElement xe) { return (Constraint)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// Abstract element for constraints + /// + /// + public Constraint() { + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Constraint", ""); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Objectified Predicate + /// + /// + /// Regular expression: (Predicate) + /// + /// + public partial class Predicate_Object : XTypedElement, IXMetaData { + + public static explicit operator Predicate_Object(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Objectified Predicate + /// + /// + /// Regular expression: (Predicate) + /// + /// + public Predicate_Object() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName PredicateXName = System.Xml.Linq.XName.Get("Predicate", ""); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Predicate) + /// + /// + public virtual Predicate Predicate { + get { + XElement x = this.GetElement(PredicateXName); + return ((Predicate)(x)); + } + set { + this.SetElement(PredicateXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName Predicate_NameXName = System.Xml.Linq.XName.Get("Predicate_Name", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string Predicate_Name { + get { + XAttribute x = this.Attribute(Predicate_NameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(Predicate_NameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Predicate_Object", ""); + + static Predicate_Object() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(PredicateXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(PredicateXName, typeof(Predicate)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// SubType + /// + /// + /// Regular expression: (Parent, Child) + /// + /// + public partial class Subtype : XTypedElement, IXMetaData { + + public static explicit operator Subtype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// SubType + /// + /// + /// Regular expression: (Parent, Child) + /// + /// + public Subtype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParentXName = System.Xml.Linq.XName.Get("Parent", ""); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Parent, Child) + /// + /// + public virtual ParentLocalType Parent { + get { + XElement x = this.GetElement(ParentXName); + return ((ParentLocalType)(x)); + } + set { + this.SetElement(ParentXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ChildXName = System.Xml.Linq.XName.Get("Child", ""); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Parent, Child) + /// + /// + public virtual ChildLocalType Child { + get { + XElement x = this.GetElement(ChildXName); + return ((ChildLocalType)(x)); + } + set { + this.SetElement(ChildXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Subtype", ""); + + static Subtype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ParentXName), new NamedContentModelEntity(ChildXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ParentXName, typeof(ParentLocalType)); + localElementDictionary.Add(ChildXName, typeof(ChildLocalType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + public partial class ParentLocalType : XTypedElement, IXMetaData { + + public static explicit operator ParentLocalType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public ParentLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ObjectXName = System.Xml.Linq.XName.Get("Object", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Object { + get { + XAttribute x = this.Attribute(ObjectXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(ObjectXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RoleXName = System.Xml.Linq.XName.Get("Role", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Role { + get { + XAttribute x = this.Attribute(RoleXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(RoleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Parent", ""); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class ChildLocalType : XTypedElement, IXMetaData { + + public static explicit operator ChildLocalType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public ChildLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ObjectXName = System.Xml.Linq.XName.Get("Object", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Object { + get { + XAttribute x = this.Attribute(ObjectXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(ObjectXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RoleXName = System.Xml.Linq.XName.Get("Role", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Role { + get { + XAttribute x = this.Attribute(RoleXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(RoleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Child", ""); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + } + + /// + /// + /// Mandatory Constraint + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public partial class Mandatory : global::ObjectRoleModelling.Xml.Constraint, IXMetaData { + + public static explicit operator Mandatory(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Mandatory Constraint + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public Mandatory() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName Object_RoleXName = System.Xml.Linq.XName.Get("Object_Role", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList Object_RoleField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public virtual IList Object_Role { + get { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, Object_RoleXName); + } + return this.Object_RoleField; + } + set { + if ((value == null)) { + this.Object_RoleField = null; + } + else { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, value, Object_RoleXName); + } + else { + XTypedServices.SetList(this.Object_RoleField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Mandatory", ""); + + static Mandatory() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(Object_RoleXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(Object_RoleXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Uniqueness Constraint + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public partial class Uniqueness : global::ObjectRoleModelling.Xml.Constraint, IXMetaData { + + public static explicit operator Uniqueness(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Uniqueness Constraint + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public Uniqueness() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName Object_RoleXName = System.Xml.Linq.XName.Get("Object_Role", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList Object_RoleField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public virtual IList Object_Role { + get { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, Object_RoleXName); + } + return this.Object_RoleField; + } + set { + if ((value == null)) { + this.Object_RoleField = null; + } + else { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, value, Object_RoleXName); + } + else { + XTypedServices.SetList(this.Object_RoleField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Uniqueness", ""); + + static Uniqueness() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(Object_RoleXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(Object_RoleXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// SubSet Constraint + /// + /// + /// Regular expression: (Parent, Child) + /// + /// + public partial class Subset : global::ObjectRoleModelling.Xml.Constraint, IXMetaData { + + public static explicit operator Subset(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// SubSet Constraint + /// + /// + /// Regular expression: (Parent, Child) + /// + /// + public Subset() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParentXName = System.Xml.Linq.XName.Get("Parent", ""); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Parent, Child) + /// + /// + public virtual ParentLocalType Parent { + get { + XElement x = this.GetElement(ParentXName); + return ((ParentLocalType)(x)); + } + set { + this.SetElement(ParentXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ChildXName = System.Xml.Linq.XName.Get("Child", ""); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Parent, Child) + /// + /// + public virtual ChildLocalType Child { + get { + XElement x = this.GetElement(ChildXName); + return ((ChildLocalType)(x)); + } + set { + this.SetElement(ChildXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Subset", ""); + + static Subset() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ParentXName), new NamedContentModelEntity(ChildXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ParentXName, typeof(ParentLocalType)); + localElementDictionary.Add(ChildXName, typeof(ChildLocalType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public partial class ParentLocalType : XTypedElement, IXMetaData { + + public static explicit operator ParentLocalType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public ParentLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName Object_RoleXName = System.Xml.Linq.XName.Get("Object_Role", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList Object_RoleField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public virtual IList Object_Role { + get { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, Object_RoleXName); + } + return this.Object_RoleField; + } + set { + if ((value == null)) { + this.Object_RoleField = null; + } + else { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, value, Object_RoleXName); + } + else { + XTypedServices.SetList(this.Object_RoleField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Parent", ""); + + static ParentLocalType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(Object_RoleXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(Object_RoleXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public partial class ChildLocalType : XTypedElement, IXMetaData { + + public static explicit operator ChildLocalType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public ChildLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName Object_RoleXName = System.Xml.Linq.XName.Get("Object_Role", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList Object_RoleField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public virtual IList Object_Role { + get { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, Object_RoleXName); + } + return this.Object_RoleField; + } + set { + if ((value == null)) { + this.Object_RoleField = null; + } + else { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, value, Object_RoleXName); + } + else { + XTypedServices.SetList(this.Object_RoleField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Child", ""); + + static ChildLocalType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(Object_RoleXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(Object_RoleXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + } + + /// + /// + /// Equality Constraint + /// + /// + /// Regular expression: (First, Second) + /// + /// + public partial class Equality : global::ObjectRoleModelling.Xml.Constraint, IXMetaData { + + public static explicit operator Equality(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Equality Constraint + /// + /// + /// Regular expression: (First, Second) + /// + /// + public Equality() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FirstXName = System.Xml.Linq.XName.Get("First", ""); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (First, Second) + /// + /// + public virtual FirstLocalType First { + get { + XElement x = this.GetElement(FirstXName); + return ((FirstLocalType)(x)); + } + set { + this.SetElement(FirstXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SecondXName = System.Xml.Linq.XName.Get("Second", ""); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (First, Second) + /// + /// + public virtual SecondLocalType Second { + get { + XElement x = this.GetElement(SecondXName); + return ((SecondLocalType)(x)); + } + set { + this.SetElement(SecondXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Equality", ""); + + static Equality() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(FirstXName), new NamedContentModelEntity(SecondXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(FirstXName, typeof(FirstLocalType)); + localElementDictionary.Add(SecondXName, typeof(SecondLocalType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public partial class FirstLocalType : XTypedElement, IXMetaData { + + public static explicit operator FirstLocalType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public FirstLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName Object_RoleXName = System.Xml.Linq.XName.Get("Object_Role", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList Object_RoleField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public virtual IList Object_Role { + get { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, Object_RoleXName); + } + return this.Object_RoleField; + } + set { + if ((value == null)) { + this.Object_RoleField = null; + } + else { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, value, Object_RoleXName); + } + else { + XTypedServices.SetList(this.Object_RoleField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("First", ""); + + static FirstLocalType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(Object_RoleXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(Object_RoleXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public partial class SecondLocalType : XTypedElement, IXMetaData { + + public static explicit operator SecondLocalType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public SecondLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName Object_RoleXName = System.Xml.Linq.XName.Get("Object_Role", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList Object_RoleField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public virtual IList Object_Role { + get { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, Object_RoleXName); + } + return this.Object_RoleField; + } + set { + if ((value == null)) { + this.Object_RoleField = null; + } + else { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, value, Object_RoleXName); + } + else { + XTypedServices.SetList(this.Object_RoleField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Second", ""); + + static SecondLocalType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(Object_RoleXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(Object_RoleXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + } + + /// + /// + /// Exclusion Constraint + /// + /// + /// Regular expression: (First, Second) + /// + /// + public partial class Exclusion : global::ObjectRoleModelling.Xml.Constraint, IXMetaData { + + public static explicit operator Exclusion(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Exclusion Constraint + /// + /// + /// Regular expression: (First, Second) + /// + /// + public Exclusion() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FirstXName = System.Xml.Linq.XName.Get("First", ""); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (First, Second) + /// + /// + public virtual FirstLocalType First { + get { + XElement x = this.GetElement(FirstXName); + return ((FirstLocalType)(x)); + } + set { + this.SetElement(FirstXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SecondXName = System.Xml.Linq.XName.Get("Second", ""); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (First, Second) + /// + /// + public virtual SecondLocalType Second { + get { + XElement x = this.GetElement(SecondXName); + return ((SecondLocalType)(x)); + } + set { + this.SetElement(SecondXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Exclusion", ""); + + static Exclusion() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(FirstXName), new NamedContentModelEntity(SecondXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(FirstXName, typeof(FirstLocalType)); + localElementDictionary.Add(SecondXName, typeof(SecondLocalType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public partial class FirstLocalType : XTypedElement, IXMetaData { + + public static explicit operator FirstLocalType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public FirstLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName Object_RoleXName = System.Xml.Linq.XName.Get("Object_Role", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList Object_RoleField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public virtual IList Object_Role { + get { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, Object_RoleXName); + } + return this.Object_RoleField; + } + set { + if ((value == null)) { + this.Object_RoleField = null; + } + else { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, value, Object_RoleXName); + } + else { + XTypedServices.SetList(this.Object_RoleField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("First", ""); + + static FirstLocalType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(Object_RoleXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(Object_RoleXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public partial class SecondLocalType : XTypedElement, IXMetaData { + + public static explicit operator SecondLocalType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public SecondLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName Object_RoleXName = System.Xml.Linq.XName.Get("Object_Role", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList Object_RoleField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public virtual IList Object_Role { + get { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, Object_RoleXName); + } + return this.Object_RoleField; + } + set { + if ((value == null)) { + this.Object_RoleField = null; + } + else { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, value, Object_RoleXName); + } + else { + XTypedServices.SetList(this.Object_RoleField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Second", ""); + + static SecondLocalType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(Object_RoleXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(Object_RoleXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + } + + /// + /// + /// Frequency Constraint + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public partial class Frequency : global::ObjectRoleModelling.Xml.Constraint, IXMetaData { + + public static explicit operator Frequency(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Frequency Constraint + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public Frequency() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName Object_RoleXName = System.Xml.Linq.XName.Get("Object_Role", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList Object_RoleField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public virtual IList Object_Role { + get { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = new XTypedList(this, LinqToXsdTypeManager.Instance, Object_RoleXName); + } + return this.Object_RoleField; + } + set { + if ((value == null)) { + this.Object_RoleField = null; + } + else { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, Object_RoleXName); + } + else { + XTypedServices.SetList(this.Object_RoleField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MinimumXName = System.Xml.Linq.XName.Get("Minimum", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Decimal? Minimum { + get { + XAttribute x = this.Attribute(MinimumXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Integer).Datatype); + } + set { + this.SetAttribute(MinimumXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Integer).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MaximumXName = System.Xml.Linq.XName.Get("Maximum", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Decimal? Maximum { + get { + XAttribute x = this.Attribute(MaximumXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Integer).Datatype); + } + set { + this.SetAttribute(MaximumXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Integer).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Frequency", ""); + + static Frequency() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(Object_RoleXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(Object_RoleXName, typeof(XTypedElement)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Irreflexive Ring Constraint + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public partial class Irreflexive : global::ObjectRoleModelling.Xml.Constraint, IXMetaData { + + public static explicit operator Irreflexive(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Irreflexive Ring Constraint + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public Irreflexive() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName Object_RoleXName = System.Xml.Linq.XName.Get("Object_Role", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList Object_RoleField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public virtual IList Object_Role { + get { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, Object_RoleXName); + } + return this.Object_RoleField; + } + set { + if ((value == null)) { + this.Object_RoleField = null; + } + else { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, value, Object_RoleXName); + } + else { + XTypedServices.SetList(this.Object_RoleField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Irreflexive", ""); + + static Irreflexive() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(Object_RoleXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(Object_RoleXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Intransitive Ring Constraint + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public partial class Intransitive : global::ObjectRoleModelling.Xml.Constraint, IXMetaData { + + public static explicit operator Intransitive(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Intransitive Ring Constraint + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public Intransitive() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName Object_RoleXName = System.Xml.Linq.XName.Get("Object_Role", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList Object_RoleField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public virtual IList Object_Role { + get { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, Object_RoleXName); + } + return this.Object_RoleField; + } + set { + if ((value == null)) { + this.Object_RoleField = null; + } + else { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, value, Object_RoleXName); + } + else { + XTypedServices.SetList(this.Object_RoleField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Intransitive", ""); + + static Intransitive() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(Object_RoleXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(Object_RoleXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Transitive Ring Constraint + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public partial class Transitive : global::ObjectRoleModelling.Xml.Constraint, IXMetaData { + + public static explicit operator Transitive(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Transitive Ring Constraint + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public Transitive() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName Object_RoleXName = System.Xml.Linq.XName.Get("Object_Role", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList Object_RoleField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public virtual IList Object_Role { + get { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, Object_RoleXName); + } + return this.Object_RoleField; + } + set { + if ((value == null)) { + this.Object_RoleField = null; + } + else { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, value, Object_RoleXName); + } + else { + XTypedServices.SetList(this.Object_RoleField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Transitive", ""); + + static Transitive() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(Object_RoleXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(Object_RoleXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Acyclic Ring Constraint + /// + /// + /// Regular expression: (Object_Type+) + /// + /// + public partial class Acyclic : global::ObjectRoleModelling.Xml.Constraint, IXMetaData { + + public static explicit operator Acyclic(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Acyclic Ring Constraint + /// + /// + /// Regular expression: (Object_Type+) + /// + /// + public Acyclic() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName Object_TypeXName = System.Xml.Linq.XName.Get("Object_Type", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList Object_TypeField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Object_Type+) + /// + /// + public virtual IList Object_Type { + get { + if ((this.Object_TypeField == null)) { + this.Object_TypeField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, Object_TypeXName); + } + return this.Object_TypeField; + } + set { + if ((value == null)) { + this.Object_TypeField = null; + } + else { + if ((this.Object_TypeField == null)) { + this.Object_TypeField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, value, Object_TypeXName); + } + else { + XTypedServices.SetList(this.Object_TypeField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Acyclic", ""); + + static Acyclic() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(Object_TypeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(Object_TypeXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Assymetric Ring Constraint + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public partial class Asymmetric : global::ObjectRoleModelling.Xml.Constraint, IXMetaData { + + public static explicit operator Asymmetric(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Assymetric Ring Constraint + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public Asymmetric() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName Object_RoleXName = System.Xml.Linq.XName.Get("Object_Role", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList Object_RoleField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public virtual IList Object_Role { + get { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, Object_RoleXName); + } + return this.Object_RoleField; + } + set { + if ((value == null)) { + this.Object_RoleField = null; + } + else { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, value, Object_RoleXName); + } + else { + XTypedServices.SetList(this.Object_RoleField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Asymmetric", ""); + + static Asymmetric() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(Object_RoleXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(Object_RoleXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Antisymmetric Ring Constraint + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public partial class Antisymmetric : global::ObjectRoleModelling.Xml.Constraint, IXMetaData { + + public static explicit operator Antisymmetric(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Antisymmetric Ring Constraint + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public Antisymmetric() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName Object_RoleXName = System.Xml.Linq.XName.Get("Object_Role", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList Object_RoleField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public virtual IList Object_Role { + get { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, Object_RoleXName); + } + return this.Object_RoleField; + } + set { + if ((value == null)) { + this.Object_RoleField = null; + } + else { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, value, Object_RoleXName); + } + else { + XTypedServices.SetList(this.Object_RoleField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Antisymmetric", ""); + + static Antisymmetric() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(Object_RoleXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(Object_RoleXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Symmetric Ring Constraint + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public partial class Symmetric : global::ObjectRoleModelling.Xml.Constraint, IXMetaData { + + public static explicit operator Symmetric(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Symmetric Ring Constraint + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public Symmetric() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName Object_RoleXName = System.Xml.Linq.XName.Get("Object_Role", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList Object_RoleField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public virtual IList Object_Role { + get { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, Object_RoleXName); + } + return this.Object_RoleField; + } + set { + if ((value == null)) { + this.Object_RoleField = null; + } + else { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, value, Object_RoleXName); + } + else { + XTypedServices.SetList(this.Object_RoleField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Symmetric", ""); + + static Symmetric() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(Object_RoleXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(Object_RoleXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Reflexive Ring Constraint + /// + /// + public partial class Reflexive : global::ObjectRoleModelling.Xml.Constraint, IXMetaData { + + public static explicit operator Reflexive(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Reflexive Ring Constraint + /// + /// + public Reflexive() { + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Reflexive", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Total constraint + /// + /// + /// Regular expression: (Supertype, Subtype+) + /// + /// + public partial class Total : global::ObjectRoleModelling.Xml.Constraint, IXMetaData { + + public static explicit operator Total(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Total constraint + /// + /// + /// Regular expression: (Supertype, Subtype+) + /// + /// + public Total() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SupertypeXName = System.Xml.Linq.XName.Get("Supertype", ""); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Supertype, Subtype+) + /// + /// + public virtual XTypedElement Supertype { + get { + XElement x = this.GetElement(SupertypeXName); + return ((XTypedElement)(x)); + } + set { + this.SetElement(SupertypeXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SubtypeXName = System.Xml.Linq.XName.Get("Subtype", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList SubtypeField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Supertype, Subtype+) + /// + /// + public virtual IList Subtype { + get { + if ((this.SubtypeField == null)) { + this.SubtypeField = new XTypedList(this, LinqToXsdTypeManager.Instance, SubtypeXName); + } + return this.SubtypeField; + } + set { + if ((value == null)) { + this.SubtypeField = null; + } + else { + if ((this.SubtypeField == null)) { + this.SubtypeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, SubtypeXName); + } + else { + XTypedServices.SetList(this.SubtypeField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Total", ""); + + static Total() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(SupertypeXName), new NamedContentModelEntity(SubtypeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(SupertypeXName, typeof(XTypedElement)); + localElementDictionary.Add(SubtypeXName, typeof(XTypedElement)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Exclusive constraint + /// + /// + /// Regular expression: (Supertype, Subtype+) + /// + /// + public partial class Exclusive : global::ObjectRoleModelling.Xml.Constraint, IXMetaData { + + public static explicit operator Exclusive(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Exclusive constraint + /// + /// + /// Regular expression: (Supertype, Subtype+) + /// + /// + public Exclusive() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SupertypeXName = System.Xml.Linq.XName.Get("Supertype", ""); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Supertype, Subtype+) + /// + /// + public virtual XTypedElement Supertype { + get { + XElement x = this.GetElement(SupertypeXName); + return ((XTypedElement)(x)); + } + set { + this.SetElement(SupertypeXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SubtypeXName = System.Xml.Linq.XName.Get("Subtype", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList SubtypeField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Supertype, Subtype+) + /// + /// + public virtual IList Subtype { + get { + if ((this.SubtypeField == null)) { + this.SubtypeField = new XTypedList(this, LinqToXsdTypeManager.Instance, SubtypeXName); + } + return this.SubtypeField; + } + set { + if ((value == null)) { + this.SubtypeField = null; + } + else { + if ((this.SubtypeField == null)) { + this.SubtypeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, SubtypeXName); + } + else { + XTypedServices.SetList(this.SubtypeField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Exclusive", ""); + + static Exclusive() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(SupertypeXName), new NamedContentModelEntity(SubtypeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(SupertypeXName, typeof(XTypedElement)); + localElementDictionary.Add(SubtypeXName, typeof(XTypedElement)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Exclusive constraint + /// + /// + /// Regular expression: (Value1+, ValueRange+) + /// + /// + public partial class Value : global::ObjectRoleModelling.Xml.Constraint, IXMetaData { + + public static explicit operator Value(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Exclusive constraint + /// + /// + /// Regular expression: (Value1+, ValueRange+) + /// + /// + public Value() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName Value1XName = System.Xml.Linq.XName.Get("Value", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList Value1Field; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Value1+, ValueRange+) + /// + /// + public virtual IList Value1 { + get { + if ((this.Value1Field == null)) { + this.Value1Field = new XTypedList(this, LinqToXsdTypeManager.Instance, Value1XName); + } + return this.Value1Field; + } + set { + if ((value == null)) { + this.Value1Field = null; + } + else { + if ((this.Value1Field == null)) { + this.Value1Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, Value1XName); + } + else { + XTypedServices.SetList(this.Value1Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ValueRangeXName = System.Xml.Linq.XName.Get("ValueRange", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ValueRangeField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Value1+, ValueRange+) + /// + /// + public virtual IList ValueRange { + get { + if ((this.ValueRangeField == null)) { + this.ValueRangeField = new XTypedList(this, LinqToXsdTypeManager.Instance, ValueRangeXName); + } + return this.ValueRangeField; + } + set { + if ((value == null)) { + this.ValueRangeField = null; + } + else { + if ((this.ValueRangeField == null)) { + this.ValueRangeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ValueRangeXName); + } + else { + XTypedServices.SetList(this.ValueRangeField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Value", ""); + + static Value() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(Value1XName), new NamedContentModelEntity(ValueRangeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(Value1XName, typeof(Value1LocalType)); + localElementDictionary.Add(ValueRangeXName, typeof(ValueRangeLocalType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + public partial class Value1LocalType : XTypedElement, IXMetaData { + + public static explicit operator Value1LocalType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public Value1LocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName datatypeXName = System.Xml.Linq.XName.Get("datatype", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string datatype { + get { + XAttribute x = this.Attribute(datatypeXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(datatypeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Value", ""); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class ValueRangeLocalType : XTypedElement, IXMetaData { + + public static explicit operator ValueRangeLocalType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public ValueRangeLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName datatypeXName = System.Xml.Linq.XName.Get("datatype", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string datatype { + get { + XAttribute x = this.Attribute(datatypeXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(datatypeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName beginXName = System.Xml.Linq.XName.Get("begin", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string begin { + get { + XAttribute x = this.Attribute(beginXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(beginXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName endXName = System.Xml.Linq.XName.Get("end", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string end { + get { + XAttribute x = this.Attribute(endXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(endXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ValueRange", ""); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + } + + /// + /// + /// Partition constraint + /// + /// + /// Regular expression: (Subtype+) + /// + /// + public partial class Partition : global::ObjectRoleModelling.Xml.Constraint, IXMetaData { + + public static explicit operator Partition(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Partition constraint + /// + /// + /// Regular expression: (Subtype+) + /// + /// + public Partition() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SubtypeXName = System.Xml.Linq.XName.Get("Subtype", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList SubtypeField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Subtype+) + /// + /// + public virtual IList Subtype { + get { + if ((this.SubtypeField == null)) { + this.SubtypeField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, SubtypeXName); + } + return this.SubtypeField; + } + set { + if ((value == null)) { + this.SubtypeField = null; + } + else { + if ((this.SubtypeField == null)) { + this.SubtypeField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, value, SubtypeXName); + } + else { + XTypedServices.SetList(this.SubtypeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SupertypeXName = System.Xml.Linq.XName.Get("Supertype", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string Supertype { + get { + XAttribute x = this.Attribute(SupertypeXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(SupertypeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Partition", ""); + + static Partition() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(SubtypeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(SubtypeXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Intransitive + symmetric Ring Constraint + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public partial class Intransitive_symmetric : global::ObjectRoleModelling.Xml.Constraint, IXMetaData { + + public static explicit operator Intransitive_symmetric(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Intransitive + symmetric Ring Constraint + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public Intransitive_symmetric() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName Object_RoleXName = System.Xml.Linq.XName.Get("Object_Role", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList Object_RoleField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public virtual IList Object_Role { + get { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, Object_RoleXName); + } + return this.Object_RoleField; + } + set { + if ((value == null)) { + this.Object_RoleField = null; + } + else { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, value, Object_RoleXName); + } + else { + XTypedServices.SetList(this.Object_RoleField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Intransitive_symmetric", ""); + + static Intransitive_symmetric() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(Object_RoleXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(Object_RoleXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Acyclic+intransitive Ring Constraint + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public partial class Acyclic_intransitive : global::ObjectRoleModelling.Xml.Constraint, IXMetaData { + + public static explicit operator Acyclic_intransitive(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Acyclic+intransitive Ring Constraint + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public Acyclic_intransitive() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName Object_RoleXName = System.Xml.Linq.XName.Get("Object_Role", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList Object_RoleField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public virtual IList Object_Role { + get { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, Object_RoleXName); + } + return this.Object_RoleField; + } + set { + if ((value == null)) { + this.Object_RoleField = null; + } + else { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, value, Object_RoleXName); + } + else { + XTypedServices.SetList(this.Object_RoleField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Acyclic_intransitive", ""); + + static Acyclic_intransitive() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(Object_RoleXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(Object_RoleXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Asymmetric+intransitive Ring Constraint + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public partial class Asymmetric_intransitive : global::ObjectRoleModelling.Xml.Constraint, IXMetaData { + + public static explicit operator Asymmetric_intransitive(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Asymmetric+intransitive Ring Constraint + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public Asymmetric_intransitive() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName Object_RoleXName = System.Xml.Linq.XName.Get("Object_Role", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList Object_RoleField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public virtual IList Object_Role { + get { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, Object_RoleXName); + } + return this.Object_RoleField; + } + set { + if ((value == null)) { + this.Object_RoleField = null; + } + else { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, value, Object_RoleXName); + } + else { + XTypedServices.SetList(this.Object_RoleField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Asymmetric_intransitive", ""); + + static Asymmetric_intransitive() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(Object_RoleXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(Object_RoleXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Irreflexive + symmetric Ring Constraint + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public partial class Irreflexive_symmetric : global::ObjectRoleModelling.Xml.Constraint, IXMetaData { + + public static explicit operator Irreflexive_symmetric(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Irreflexive + symmetric Ring Constraint + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public Irreflexive_symmetric() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName Object_RoleXName = System.Xml.Linq.XName.Get("Object_Role", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList Object_RoleField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Object_Role+) + /// + /// + public virtual IList Object_Role { + get { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, Object_RoleXName); + } + return this.Object_RoleField; + } + set { + if ((value == null)) { + this.Object_RoleField = null; + } + else { + if ((this.Object_RoleField == null)) { + this.Object_RoleField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype, value, Object_RoleXName); + } + else { + XTypedServices.SetList(this.Object_RoleField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Irreflexive_symmetric", ""); + + static Irreflexive_symmetric() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(Object_RoleXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(Object_RoleXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public class LinqToXsdTypeManager : ILinqToXsdTypeManager { + + private LinqToXsdTypeManager() { + } + + private static Dictionary typeDictionary = new Dictionary(); + + private static void BuildTypeDictionary() { + typeDictionary.Add(System.Xml.Linq.XName.Get("Object", ""), typeof(global::ObjectRoleModelling.Xml.Object)); + typeDictionary.Add(System.Xml.Linq.XName.Get("LOT", ""), typeof(global::ObjectRoleModelling.Xml.LOT)); + typeDictionary.Add(System.Xml.Linq.XName.Get("NOLOT", ""), typeof(global::ObjectRoleModelling.Xml.NOLOT)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Object_Role", ""), typeof(global::ObjectRoleModelling.Xml.Object_Role)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ORMType", ""), typeof(global::ObjectRoleModelling.Xml.ORMType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Predicate", ""), typeof(global::ObjectRoleModelling.Xml.Predicate)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Constraint", ""), typeof(global::ObjectRoleModelling.Xml.Constraint)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Predicate_Object", ""), typeof(global::ObjectRoleModelling.Xml.Predicate_Object)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Subtype", ""), typeof(global::ObjectRoleModelling.Xml.Subtype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Mandatory", ""), typeof(global::ObjectRoleModelling.Xml.Mandatory)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Uniqueness", ""), typeof(global::ObjectRoleModelling.Xml.Uniqueness)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Subset", ""), typeof(global::ObjectRoleModelling.Xml.Subset)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Equality", ""), typeof(global::ObjectRoleModelling.Xml.Equality)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Exclusion", ""), typeof(global::ObjectRoleModelling.Xml.Exclusion)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Frequency", ""), typeof(global::ObjectRoleModelling.Xml.Frequency)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Irreflexive", ""), typeof(global::ObjectRoleModelling.Xml.Irreflexive)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Intransitive", ""), typeof(global::ObjectRoleModelling.Xml.Intransitive)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Transitive", ""), typeof(global::ObjectRoleModelling.Xml.Transitive)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Acyclic", ""), typeof(global::ObjectRoleModelling.Xml.Acyclic)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Asymmetric", ""), typeof(global::ObjectRoleModelling.Xml.Asymmetric)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Antisymmetric", ""), typeof(global::ObjectRoleModelling.Xml.Antisymmetric)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Symmetric", ""), typeof(global::ObjectRoleModelling.Xml.Symmetric)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Reflexive", ""), typeof(global::ObjectRoleModelling.Xml.Reflexive)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Total", ""), typeof(global::ObjectRoleModelling.Xml.Total)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Exclusive", ""), typeof(global::ObjectRoleModelling.Xml.Exclusive)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Value", ""), typeof(global::ObjectRoleModelling.Xml.Value)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Partition", ""), typeof(global::ObjectRoleModelling.Xml.Partition)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Intransitive_symmetric", ""), typeof(global::ObjectRoleModelling.Xml.Intransitive_symmetric)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Acyclic_intransitive", ""), typeof(global::ObjectRoleModelling.Xml.Acyclic_intransitive)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Asymmetric_intransitive", ""), typeof(global::ObjectRoleModelling.Xml.Asymmetric_intransitive)); + typeDictionary.Add(System.Xml.Linq.XName.Get("Irreflexive_symmetric", ""), typeof(global::ObjectRoleModelling.Xml.Irreflexive_symmetric)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SimpleLiteral", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.Item1.Item1.SimpleLiteral)); + typeDictionary.Add(System.Xml.Linq.XName.Get("elementContainer", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.Item1.Item1.elementContainer)); + } + + private static Dictionary elementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + elementDictionary.Add(System.Xml.Linq.XName.Get("ORMSchema", ""), typeof(global::ObjectRoleModelling.Xml.ORMSchema)); + elementDictionary.Add(System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.Item1.Item1.any)); + elementDictionary.Add(System.Xml.Linq.XName.Get("title", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.Item1.Item1.title)); + elementDictionary.Add(System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.Item1.Item1.creator)); + elementDictionary.Add(System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.Item1.Item1.subject)); + elementDictionary.Add(System.Xml.Linq.XName.Get("description", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.Item1.Item1.description)); + elementDictionary.Add(System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.Item1.Item1.publisher)); + elementDictionary.Add(System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.Item1.Item1.contributor)); + elementDictionary.Add(System.Xml.Linq.XName.Get("date", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.Item1.Item1.date)); + elementDictionary.Add(System.Xml.Linq.XName.Get("type", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.Item1.Item1.type)); + elementDictionary.Add(System.Xml.Linq.XName.Get("format", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.Item1.Item1.format)); + elementDictionary.Add(System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.Item1.Item1.identifier)); + elementDictionary.Add(System.Xml.Linq.XName.Get("source", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.Item1.Item1.source)); + elementDictionary.Add(System.Xml.Linq.XName.Get("language", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.Item1.Item1.language)); + elementDictionary.Add(System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.Item1.Item1.relation)); + elementDictionary.Add(System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.Item1.Item1.coverage)); + elementDictionary.Add(System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/elements/1.1/"), typeof(global::purl.org.dc.elements.Item1.Item1.rights)); + } + + private static Dictionary wrapperDictionary = new Dictionary(); + + private static void BuildWrapperDictionary() { + wrapperDictionary.Add(typeof(purl.org.dc.elements.Item1.Item1.any), typeof(global::purl.org.dc.elements.Item1.Item1.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.Item1.Item1.title), typeof(global::purl.org.dc.elements.Item1.Item1.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.Item1.Item1.creator), typeof(global::purl.org.dc.elements.Item1.Item1.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.Item1.Item1.subject), typeof(global::purl.org.dc.elements.Item1.Item1.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.Item1.Item1.description), typeof(global::purl.org.dc.elements.Item1.Item1.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.Item1.Item1.publisher), typeof(global::purl.org.dc.elements.Item1.Item1.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.Item1.Item1.contributor), typeof(global::purl.org.dc.elements.Item1.Item1.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.Item1.Item1.date), typeof(global::purl.org.dc.elements.Item1.Item1.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.Item1.Item1.type), typeof(global::purl.org.dc.elements.Item1.Item1.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.Item1.Item1.format), typeof(global::purl.org.dc.elements.Item1.Item1.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.Item1.Item1.identifier), typeof(global::purl.org.dc.elements.Item1.Item1.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.Item1.Item1.source), typeof(global::purl.org.dc.elements.Item1.Item1.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.Item1.Item1.language), typeof(global::purl.org.dc.elements.Item1.Item1.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.Item1.Item1.relation), typeof(global::purl.org.dc.elements.Item1.Item1.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.Item1.Item1.coverage), typeof(global::purl.org.dc.elements.Item1.Item1.SimpleLiteral)); + wrapperDictionary.Add(typeof(purl.org.dc.elements.Item1.Item1.rights), typeof(global::purl.org.dc.elements.Item1.Item1.SimpleLiteral)); + } + + private static XmlSchemaSet schemaSet; + + XmlSchemaSet ILinqToXsdTypeManager.Schemas { + get { + if ((schemaSet == null)) { + XmlSchemaSet tempSet = new XmlSchemaSet(); + System.Threading.Interlocked.CompareExchange(ref schemaSet, tempSet, null); + } + return schemaSet; + } + set { + schemaSet = value; + } + } + + protected internal static void AddSchemas(XmlSchemaSet schemas) { + schemas.Add(schemaSet); + } + + Dictionary ILinqToXsdTypeManager.GlobalTypeDictionary { + get { + return typeDictionary; + } + } + + Dictionary ILinqToXsdTypeManager.GlobalElementDictionary { + get { + return elementDictionary; + } + } + + Dictionary ILinqToXsdTypeManager.RootContentTypeMapping { + get { + return wrapperDictionary; + } + } + + static LinqToXsdTypeManager() { + BuildTypeDictionary(); + BuildElementDictionary(); + BuildWrapperDictionary(); + } + + public static System.Type GetRootType() { + return elementDictionary[System.Xml.Linq.XName.Get("ORMSchema", "")]; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static LinqToXsdTypeManager typeManagerSingleton = new LinqToXsdTypeManager(); + + public static LinqToXsdTypeManager Instance { + get { + return typeManagerSingleton; + } + } + } + + public partial class XRootNamespace { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRootNamespace() { + } + + public static XRootNamespace Load(string xmlFile) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(string xmlFile, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(XmlReader xmlReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRootNamespace(ORMSchema root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public ORMSchema ORMSchema { get {return rootObject as ORMSchema; } } + } + + public partial class XRoot { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRoot() { + } + + public static XRoot Load(string xmlFile) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(string xmlFile, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(TextReader textReader) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(TextReader textReader, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(XmlReader xmlReader) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Parse(string text) { + XRoot root = new XRoot(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Parse(string text, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRoot(global::ObjectRoleModelling.Xml.ORMSchema root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::ObjectRoleModelling.Xml.ORMSchema ORMSchema { get {return rootObject as global::ObjectRoleModelling.Xml.ORMSchema; } } + + public XRoot(global::purl.org.dc.elements.Item1.Item1.any root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.Item1.Item1.any any { get {return rootObject as global::purl.org.dc.elements.Item1.Item1.any; } } + + public XRoot(global::purl.org.dc.elements.Item1.Item1.title root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.Item1.Item1.title title { get {return rootObject as global::purl.org.dc.elements.Item1.Item1.title; } } + + public XRoot(global::purl.org.dc.elements.Item1.Item1.creator root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.Item1.Item1.creator creator { get {return rootObject as global::purl.org.dc.elements.Item1.Item1.creator; } } + + public XRoot(global::purl.org.dc.elements.Item1.Item1.subject root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.Item1.Item1.subject subject { get {return rootObject as global::purl.org.dc.elements.Item1.Item1.subject; } } + + public XRoot(global::purl.org.dc.elements.Item1.Item1.description root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.Item1.Item1.description description { get {return rootObject as global::purl.org.dc.elements.Item1.Item1.description; } } + + public XRoot(global::purl.org.dc.elements.Item1.Item1.publisher root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.Item1.Item1.publisher publisher { get {return rootObject as global::purl.org.dc.elements.Item1.Item1.publisher; } } + + public XRoot(global::purl.org.dc.elements.Item1.Item1.contributor root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.Item1.Item1.contributor contributor { get {return rootObject as global::purl.org.dc.elements.Item1.Item1.contributor; } } + + public XRoot(global::purl.org.dc.elements.Item1.Item1.date root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.Item1.Item1.date date { get {return rootObject as global::purl.org.dc.elements.Item1.Item1.date; } } + + public XRoot(global::purl.org.dc.elements.Item1.Item1.type root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.Item1.Item1.type type { get {return rootObject as global::purl.org.dc.elements.Item1.Item1.type; } } + + public XRoot(global::purl.org.dc.elements.Item1.Item1.format root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.Item1.Item1.format format { get {return rootObject as global::purl.org.dc.elements.Item1.Item1.format; } } + + public XRoot(global::purl.org.dc.elements.Item1.Item1.identifier root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.Item1.Item1.identifier identifier { get {return rootObject as global::purl.org.dc.elements.Item1.Item1.identifier; } } + + public XRoot(global::purl.org.dc.elements.Item1.Item1.source root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.Item1.Item1.source source { get {return rootObject as global::purl.org.dc.elements.Item1.Item1.source; } } + + public XRoot(global::purl.org.dc.elements.Item1.Item1.language root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.Item1.Item1.language language { get {return rootObject as global::purl.org.dc.elements.Item1.Item1.language; } } + + public XRoot(global::purl.org.dc.elements.Item1.Item1.relation root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.Item1.Item1.relation relation { get {return rootObject as global::purl.org.dc.elements.Item1.Item1.relation; } } + + public XRoot(global::purl.org.dc.elements.Item1.Item1.coverage root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.Item1.Item1.coverage coverage { get {return rootObject as global::purl.org.dc.elements.Item1.Item1.coverage; } } + + public XRoot(global::purl.org.dc.elements.Item1.Item1.rights root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::purl.org.dc.elements.Item1.Item1.rights rights { get {return rootObject as global::purl.org.dc.elements.Item1.Item1.rights; } } + } +} +namespace www.w3.org.XML.Item1998.@namespace { + using System; + using System.Collections; + using System.Collections.Generic; + using System.ComponentModel; + using System.IO; + using System.Linq; + using System.Diagnostics; + using global::System.Xml; + using global::System.Xml.Schema; + using global::System.Xml.Linq; + using global::Xml.Schema.Linq; + using global::ObjectRoleModelling.Xml; + + + public sealed class lang { + + private lang() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.UnionSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType), null, new global::Xml.Schema.Linq.SimpleTypeValidator[] { + new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Language), null), + new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + ""}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve))}); + } +} +namespace purl.org.dc.elements.Item1.Item1 { + using System; + using System.Collections; + using System.Collections.Generic; + using System.ComponentModel; + using System.IO; + using System.Linq; + using System.Diagnostics; + using System.Xml; + using System.Xml.Schema; + using System.Xml.Linq; + using Xml.Schema.Linq; + using ObjectRoleModelling.Xml; + + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class SimpleLiteral : XTypedElement, IXMetaData { + + public static explicit operator SimpleLiteral(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public SimpleLiteral() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SimpleLiteral", "http://purl.org/dc/elements/1.1/"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + /// + /// + /// This is an internal validation class. + /// + /// + private class simpleUnionTypeOfLanguageAnd { + + private simpleUnionTypeOfLanguageAnd() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.UnionSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType), null, new Xml.Schema.Linq.SimpleTypeValidator[] { + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Language), null), + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + ""}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve))}); + } + } + + /// + /// + /// + /// This complexType is included as a convenience for schema authors who need to define a root + /// or container element for all of the DC elements. + /// + /// + /// + /// Regular expression: (((any)*)) + /// + /// + public partial class elementContainer : XTypedElement, IXMetaData { + + public static explicit operator elementContainer(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// + /// This complexType is included as a convenience for schema authors who need to define a root + /// or container element for all of the DC elements. + /// + /// + /// + /// Regular expression: (((any)*)) + /// + /// + public elementContainer() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName anyXName = System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedSubstitutedList anyField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Substitution members: any, title, creator, subject, description, publisher, contributor, date, type, format, identifier, source, language, relation, coverage, rights + /// + /// + /// Regular expression: (((any)*)) + /// + /// + public virtual IList any { + get { + if ((this.anyField == null)) { + this.anyField = new XTypedSubstitutedList(this, LinqToXsdTypeManager.Instance, System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("title", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("description", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("date", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("type", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("format", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("source", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("language", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/elements/1.1/")); + } + return this.anyField; + } + set { + if ((value == null)) { + this.anyField = null; + } + else { + if ((this.anyField == null)) { + this.anyField = XTypedSubstitutedList.Initialize(this, LinqToXsdTypeManager.Instance, value, System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("title", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("description", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("date", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("type", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("format", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("source", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("language", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/elements/1.1/")); + } + else { + XTypedServices.SetList(this.anyField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("elementContainer", "http://purl.org/dc/elements/1.1/"); + + static elementContainer() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new SequenceContentModelEntity(new ChoiceContentModelEntity(new SubstitutedContentModelEntity(System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("title", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("description", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("date", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("type", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("format", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("source", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("language", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/elements/1.1/"), System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/elements/1.1/"))))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(anyXName, typeof(any)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public abstract partial class any : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static any Load(string xmlFile) { + return ((any)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static any Load(System.IO.TextReader xmlFile) { + return ((any)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static any Parse(string xml) { + return ((any)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator any(XElement xe) { return (any)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + protected any(bool setNull) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public any() { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + protected virtual void SetSubstitutionMember(SimpleLiteral ContentField) { + this.ContentField = ContentField; + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public any(SimpleLiteral content) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + return this.ContentField.lang; + } + set { + this.ContentField.lang = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("any", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class title : global::purl.org.dc.elements.Item1.Item1.any, IXMetaData { + + public new static title Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static title Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static title Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator title(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new title(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public title() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public title(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("title", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class creator : global::purl.org.dc.elements.Item1.Item1.any, IXMetaData { + + public new static creator Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static creator Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static creator Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator creator(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new creator(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public creator() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public creator(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("creator", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class subject : global::purl.org.dc.elements.Item1.Item1.any, IXMetaData { + + public new static subject Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static subject Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static subject Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator subject(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new subject(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public subject() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public subject(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("subject", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class description : global::purl.org.dc.elements.Item1.Item1.any, IXMetaData { + + public new static description Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static description Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static description Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator description(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new description(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public description() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public description(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("description", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class publisher : global::purl.org.dc.elements.Item1.Item1.any, IXMetaData { + + public new static publisher Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static publisher Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static publisher Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator publisher(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new publisher(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public publisher() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public publisher(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("publisher", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class contributor : global::purl.org.dc.elements.Item1.Item1.any, IXMetaData { + + public new static contributor Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static contributor Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static contributor Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator contributor(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new contributor(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public contributor() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public contributor(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("contributor", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class date : global::purl.org.dc.elements.Item1.Item1.any, IXMetaData { + + public new static date Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static date Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static date Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator date(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new date(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public date() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public date(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("date", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class type : global::purl.org.dc.elements.Item1.Item1.any, IXMetaData { + + public new static type Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static type Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static type Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator type(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new type(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public type() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public type(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("type", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class format : global::purl.org.dc.elements.Item1.Item1.any, IXMetaData { + + public new static format Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static format Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static format Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator format(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new format(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public format() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public format(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("format", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class identifier : global::purl.org.dc.elements.Item1.Item1.any, IXMetaData { + + public new static identifier Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static identifier Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static identifier Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator identifier(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new identifier(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public identifier() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public identifier(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("identifier", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class source : global::purl.org.dc.elements.Item1.Item1.any, IXMetaData { + + public new static source Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static source Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static source Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator source(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new source(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public source() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public source(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("source", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class language : global::purl.org.dc.elements.Item1.Item1.any, IXMetaData { + + public new static language Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static language Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static language Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator language(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new language(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public language() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public language(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("language", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class relation : global::purl.org.dc.elements.Item1.Item1.any, IXMetaData { + + public new static relation Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static relation Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static relation Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator relation(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new relation(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public relation() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public relation(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("relation", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class coverage : global::purl.org.dc.elements.Item1.Item1.any, IXMetaData { + + public new static coverage Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static coverage Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static coverage Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator coverage(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new coverage(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public coverage() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public coverage(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("coverage", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public partial class rights : global::purl.org.dc.elements.Item1.Item1.any, IXMetaData { + + public new static rights Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static rights Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static rights Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator rights(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new rights(((SimpleLiteral)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SimpleLiteral ContentField; + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public rights() : + base(true) { + SetInnerType(new SimpleLiteral()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SimpleLiteral Content { + get { + return ContentField; + } + } + + private void SetInnerType(SimpleLiteral ContentField) { + this.ContentField = ((SimpleLiteral)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + /// + /// + /// + /// This is the default type for all of the DC elements. + /// It permits text content only with optional + /// xml:lang attribute. + /// Text is allowed because mixed="true", but sub-elements + /// are disallowed because minOccurs="0" and maxOccurs="0" + /// are on the xs:any tag. + /// + /// This complexType allows for restriction or extension permitting + /// child elements. + /// + /// + /// + public rights(SimpleLiteral content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("rights", "http://purl.org/dc/elements/1.1/"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class XRootNamespace { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRootNamespace() { + } + + public static XRootNamespace Load(string xmlFile) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(string xmlFile, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(XmlReader xmlReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRootNamespace(any root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public any any { get {return rootObject as any; } } + + public XRootNamespace(title root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public title title { get {return rootObject as title; } } + + public XRootNamespace(creator root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public creator creator { get {return rootObject as creator; } } + + public XRootNamespace(subject root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public subject subject { get {return rootObject as subject; } } + + public XRootNamespace(description root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public description description { get {return rootObject as description; } } + + public XRootNamespace(publisher root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public publisher publisher { get {return rootObject as publisher; } } + + public XRootNamespace(contributor root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public contributor contributor { get {return rootObject as contributor; } } + + public XRootNamespace(date root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public date date { get {return rootObject as date; } } + + public XRootNamespace(type root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public type type { get {return rootObject as type; } } + + public XRootNamespace(format root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public format format { get {return rootObject as format; } } + + public XRootNamespace(identifier root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public identifier identifier { get {return rootObject as identifier; } } + + public XRootNamespace(source root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public source source { get {return rootObject as source; } } + + public XRootNamespace(language root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public language language { get {return rootObject as language; } } + + public XRootNamespace(relation root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public relation relation { get {return rootObject as relation; } } + + public XRootNamespace(coverage root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public coverage coverage { get {return rootObject as coverage; } } + + public XRootNamespace(rights root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public rights rights { get {return rootObject as rights; } } + } +} diff --git a/GeneratedSchemaLibraries/ORMML/orm-ml.xsd.config b/GeneratedSchemaLibraries/ORMML/orm-ml.xsd.config new file mode 100644 index 00000000..fd0d952c --- /dev/null +++ b/GeneratedSchemaLibraries/ORMML/orm-ml.xsd.config @@ -0,0 +1,13 @@ + + + + false + false + false + false + + + + + false + \ No newline at end of file diff --git a/GeneratedSchemaLibraries/SOAP-WSDL/soap.xsd-g.cs b/GeneratedSchemaLibraries/SOAP-WSDL/soap.xsd-g.cs index 52311f3e..8148bbce 100644 --- a/GeneratedSchemaLibraries/SOAP-WSDL/soap.xsd-g.cs +++ b/GeneratedSchemaLibraries/SOAP-WSDL/soap.xsd-g.cs @@ -20,7 +20,7 @@ namespace W3C.WSDL.SOAP { using System.Xml.Schema; using System.Xml.Linq; using Xml.Schema.Linq; - using W3C.WSDL; + using global::W3C.WSDL; /// @@ -903,7 +903,7 @@ namespace W3C.WSDL { using System.Xml.Schema; using System.Xml.Linq; using Xml.Schema.Linq; - using W3C.WSDL.SOAP; + using global::W3C.WSDL.SOAP; /// diff --git a/GeneratedSchemaLibraries/XHTML/xhtml-datatypes-1.xsd b/GeneratedSchemaLibraries/XHTML/xhtml-datatypes-1.xsd new file mode 100644 index 00000000..b07f9683 --- /dev/null +++ b/GeneratedSchemaLibraries/XHTML/xhtml-datatypes-1.xsd @@ -0,0 +1,218 @@ + + + + XHTML Datatypes This is the XML Schema datatypes + module for XHTML Defines containers for the XHTML datatypes, many + of these imported from other specifications and standards. + $Id: xhtml-datatypes-1.xsd,v 1.12 2009/09/30 15:12:48 ahby Exp $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/XHTML/xhtml11.xsd b/GeneratedSchemaLibraries/XHTML/xhtml11.xsd new file mode 100644 index 00000000..06f12412 --- /dev/null +++ b/GeneratedSchemaLibraries/XHTML/xhtml11.xsd @@ -0,0 +1,2781 @@ + + + + This is the XML Schema driver for XHTML 1.1. Please use this + namespace for XHTML elements: "http://www.w3.org/1999/xhtml" $Id: + xhtml11.xsd,v 1.7 2009/02/03 15:14:49 ahby Exp $ + + + + This is XHTML, a reformulation of HTML as a modular XML application + The Extensible HyperText Markup Language (XHTML) Copyright ©1998-2007 World Wide + Web Consortium (Massachusetts Institute of Technology, European Research + Consortium for Informatics and Mathematics, Keio University). All Rights + Reserved. Permission to use, copy, modify and distribute the XHTML Schema + modules and their accompanying xs:documentation for any purpose and without fee is + hereby granted in perpetuity, provided that the above copyright notice and this + paragraph appear in all copies. The copyright holders make no representation about + the suitability of these XML Schema modules for any purpose. They are + provided "as is" without expressed or implied warranty. + + + This is the Schema Driver file for XHTML1.1 Document Type + This schema + imports external schemas (xml.xsd) + refedines (and + include)s schema modules for XHTML1.1 Document Type. + includes Schema for Named + content model for the XHTML1.1 Document Type XHTML1.1 Document Type + includes the following Modules XHTML Core modules (Required for XHTML Family + Conformance) + text + hypertext + lists + + structure Other XHTML modules + Edit + Bdo + + Presentational + Link + Meta + Base + + Scripting + Style + Image + Applet + + Object + Param (Applet/Object modules require Param Module) + + Tables + Forms + Client side image maps + + Server side image maps + Ruby + + + + This import brings in the XML namespace attributes + The XML attributes are used by various modules. + + + + + This is the XML Schema module of common content models for + XHTML11 $Id: xhtml11-model-1.xsd,v 1.9 2009/02/03 15:14:49 + ahby Exp $ + + + + XHTML Document Model This module describes the + groupings of elements/attributes that make up common content models for + XHTML elements. XHTML has following basic content models: + xhtml.Inline.mix; character-level elements xhtml.Block.mix; block-like + elements, e.g., paragraphs and lists xhtml.Flow.mix; any block or inline + elements xhtml.HeadOpts.mix; Head Elements + xhtml.InlinePre.mix; Special class for pre content model + xhtml.InlineNoAnchor.mix; Content model for Anchor Any groups + declared in this module may be used to create element content models, but + the above are considered 'global' (insofar as that term applies here). + XHTML has the following Attribute Groups + xhtml.Core.extra.attrib xhtml.I18n.extra.attrib + xhtml.Common.extra The above attribute Groups are considered + Global + + + + This module defines XHTML Attribute DataTypes + + + + + + Extended I18n attribute + + + + "dir" Attribute from Bi Directional Text (bdo) + Module + + + + + + + Extended Common Attributes + + + + "style" attribute from Inline Style Module + + + + + + Attributes from Events Module + + + + + + Extend Core Attributes + + + + + Extended Global Core Attributes + + + + + Extended Global I18n attributes + + + + + Extended Global Common Attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This schema includes all modules for XHTML1.1 Document Type. + $Id: xhtml11-modules-1.xsd,v 1.10 2009/02/03 15:14:49 ahby Exp $ + + + + This schema includes all modules (and redefinitions) for + XHTML1.1 Document Type. XHTML1.1 Document Type includes the following Modules + XHTML Core modules (Required for XHTML Family Conformance) + text + + hypertext + lists + structure Other XHTML modules + + Edit + Bdo + Presentational + Link + + Meta + Base + Scripting + Style + + Image + Applet + Object + Param (Applet/Object + modules require Param Module) + Tables + Target + + Forms + Client side image maps + Server side image maps + + + + This is the XML Schema Modular Framework support module for XHTML + $Id: xhtml-framework-1.xsd,v 1.5 2005/09/26 23:37:47 ahby Exp $ + + + + XHTML Modular Framework This required module instantiates the + necessary modules needed to support the XHTML modularization framework. The + Schema modules instantiated are: + notations + datatypes + + common attributes + character entities + + + + + This is the XML Schema common attributes module for XHTML + $Id: xhtml-attribs-1.xsd,v 1.9 2009/11/18 17:59:51 ahby Exp $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Textual Content This is the XML Schema Text module for XHTML + The Text module includes declarations for all core text container elements and + their attributes. + block phrasal + block structural + + inline phrasal + inline structural $Id: xhtml-text-1.xsd,v 1.2 + 2005/09/26 22:54:53 ahby Exp $ + + + + + This is the XML Schema Block Phrasal support module for XHTML + $Id: xhtml-blkphras-1.xsd,v 1.7 2008/07/05 04:11:00 ahby Exp $ + + + + Block Phrasal This module declares the elements and + their attributes used to support block-level phrasal markup. This + is the XML Schema block phrasal elements module for XHTML * address, + blockquote, pre, h1, h2, h3, h4, h5, h6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Block Structural * div, p This module declares + the elements and their attributes used to support block-level structural markup. + This is the XML Schema Block Structural module for XHTML $Id: + xhtml-blkstruct-1.xsd,v 1.3 2005/09/26 22:54:53 ahby Exp $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is the XML Schema Inline Phrasal support module for XHTML + $Id: xhtml-inlphras-1.xsd,v 1.4 2005/09/26 22:54:53 ahby Exp $ + + + + Inline Phrasal. This module declares the elements and their + attributes used to support inline-level phrasal markup. This is the XML + Schema Inline Phrasal module for XHTML * abbr, acronym, cite, code, dfn, em, + kbd, q, samp, strong, var $Id: xhtml-inlphras-1.xsd,v 1.4 2005/09/26 22:54:53 + ahby Exp $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is the XML Schema Inline Structural support module for + XHTML $Id: xhtml-inlstruct-1.xsd,v 1.4 2005/09/26 22:54:53 ahby Exp $ + + + + Inline Structural. This module declares the elements and + their attributes used to support inline-level structural markup. This + is the XML Schema Inline Structural element module for XHTML * br, span + + + + + + + + + + + + + + + + + + + + + + + + + + Hypertext module Elements defined here: * a + + + + + + + Redefinition by Client Side Image Map Module + + + + + + Redefinition by XHTML Event Attribute Module + + + + + + Target Module - A Attribute Additions + + + + + + + + + + + + + + + + + Hypertext Module This is the XML Schema Hypertext module for + XHTML * a This module declares the anchor ('a') + element type, which defines the source of a hypertext link. The destination + (or link 'target') is identified via its 'id' attribute rather than the 'name' + attribute as was used in HTML. $Id: xhtml-hypertext-1.xsd,v 1.4 2005/09/26 + 23:37:47 ahby Exp $ + + + + + + + + + + + + + + List Module This is the XML Schema Lists module for XHTML + List Module Elements * dl, dt, dd, ol, ul, li This module + declares the list-oriented element types and their attributes. $Id: + xhtml-list-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Structural module Elements defined here: * + title, head, body, html + + + + + Redefinition by the XHTML11 Markup (for value of version + attr) + + + + + + + Original Body Attlist + + + + + + Redefinition by XHTML Event Attribute Module + + + + + + + + + This is the XML Schema Document Structure module for XHTML + Document Structure * title, head, body, html The Structure + Module defines the major structural elements and their attributes. + $Id: xhtml-struct-1.xsd,v 1.11 2009/09/30 14:13:35 ahby Exp $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Editing Elements This is the XML Schema Editing + Markup module for XHTML * ins, del This module declares element + types and attributes used to indicate inserted and deleted content while + editing a document. $Id: xhtml-edit-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp + $ + + + + + + + + + + + + + + + + + + + Bidirectional Override (bdo) Element This is the XML + Schema BDO Element module for XHTML This modules declares the element 'bdo' + and 'dir' attributes, Used to override the Unicode bidirectional algorithm + for selected fragments of text. Bidirectional text support includes + both the bdo element and the 'dir' attribute. $Id: + xhtml-bdo-1.xsd,v 1.6 2009/11/18 17:59:51 ahby Exp $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is the XML Schema Presentation module for XHTML This is + a REQUIRED module. $Id: xhtml-pres-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp $ + + + + Presentational Elements This module defines elements and + their attributes for simple presentation-related markup. Elements defined + here: * hr * b, big, i, small, sub, sup, tt + + + + This is the XML SchemaBlock presentation element module for XHTML + $Id: xhtml-blkpres-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp $ + + + Block Presentational Elements * hr This module + declares the elements and their attributes used to support block-level + presentational markup. + + + + + + + + + + + + + + + This is the XML Schema Inline Presentation element module for XHTML + $Id: xhtml-inlpres-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp $ + + + + Inline Presentational Elements * b, big, i, small, + sub, sup, tt This module declares the elements and their attributes used to + support inline-level presentational markup. + + + + + + + + + + + + + + + + Link module Elements defined here: + * link + + + + + Changes to XHTML Link Attlist + + + + + Original Link Attributes (declared in Link + Module) + + + + + XHTML Target Module - Attribute additions + + + + + + + + + + + + + + + + This is the XML Schema Link Element module for XHTML $Id: + xhtml-link-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp $ + + + + Link element * link This module declares + the link element type and its attributes, which could (in principle) be used to + define document-level links to external resources. + + + + + + + + + + + This is the XML Schema Metainformation module for XHTML $Id: + xhtml-meta-1.xsd,v 1.3 2008/07/05 04:11:00 ahby Exp $ + + + + Meta Information * meta This module declares the + meta element type and its attributes, used to provide declarative document + metainformation. + + + + + + + + + + + + + + + + + + + Base module Elements defined here: * base + + + + + Changes to XHTML base Attlist + + + + + Original Base Attributes (declared in Base + Module) + + + + + XHTML Target Module - Attribute additions + + + + + + + + + Base element This is the XML Schema Base Element module + for XHTML * base This module declares the base + element type and its attributes, used to define a base URI against which + relative URIs in the document will be resolved. $Id: xhtml-base-1.xsd,v + 1.2 2005/09/26 22:54:53 ahby Exp $ + + + + + + + + + + + + This is the XML Schema Scripting module for XHTML $Id: + xhtml-script-1.xsd,v 1.5 2006/09/11 08:50:41 ahby Exp $ + + + + Scripting * script, noscript This + module declares element types and attributes used to provide support for + executable scripts as well as an alternate content container where scripts are not + supported. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is the XML Schema Stylesheets module for XHTML $Id: + xhtml-style-1.xsd,v 1.5 2006/09/11 10:14:57 ahby Exp $ + + + + Stylesheets * style This module + declares the style element type and its attributes, used to embed stylesheet + information in the document head element. + + + + + + + + + + + + + + + + + + Inline Style module This is the XML Schema Inline Style + module for XHTML * styloe attribute This module declares the + 'style' attribute, used to support inline style markup. $Id: + xhtml-inlstyle-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp $ + + + + + + + + Image module Elements defined here: * img + + + + + + Original Image Attributes (in Image Module) + + + + + + Redefinition by Client Side Image Map Module + + + + + + Redefinition by Server Side Image Module + + + + + + + + + + + + + + + Images This is the XML Schema Images module for XHTML + * img This module provides markup to support basic image embedding. + To avoid problems with text-only UAs as well as to make image content + understandable and navigable to users of non-visual UAs, you need to provide a + description with the 'alt' attribute, and avoid server-side image maps. + $Id: xhtml-image-1.xsd,v 1.3 2009/09/30 15:22:38 ahby Exp $ + + + + + + + + + + + + Client-side mage maps module Elements defined here: + * area, map + + + + + + Original Area Attributes (in CSI Module) + + + + + + Redefinition by Events Attribute Module + + + + + + Target Module - Area Attribute Additions + + + + + + + + + + + + + + + + + + + + + + Client-side Image Maps This is the XML Schema Client-side + Image Maps module for XHTML * area, map This module declares + elements and attributes to support client-side image maps. $Id: + xhtml-csismap-1.xsd,v 1.3 2009/09/30 15:12:48 ahby Exp $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is the XML Schema Server-side Image Maps module for XHTML + $Id: xhtml-ssismap-1.xsd,v 1.3 2005/09/26 22:54:53 ahby Exp $ + + + + Server-side Image Maps This adds the 'ismap' attribute + to the img element to support server-side processing of a user selection. + + + + + + + + + + + + + + + + + + + + + + Object module Elements defined here: * object + + + + + + Original Object Attlist + + + + + + Redefinition by Client Image Map Module + + + + + + + + + + + + + + + + + + + + + + + + + + + This is the XML Schema Embedded Object module for XHTML $Id: + xhtml-object-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp $ + + + + This module declares the object element type and its attributes, + used to embed external objects as part of XHTML pages. In the document, place + param elements prior to the object elements that require their content. + Note that use of this module requires instantiation of the Param Element Module + prior to this module. Elements defined here: * object + (param) + + + + This is the XML Schema Param Element module for XHTML $Id: + xhtml-param-1.xsd,v 1.3 2005/09/26 22:54:53 ahby Exp $ + + + + Parameters for Java Applets and Embedded Objects * param + This module provides declarations for the param element, used to provide named + property values for the applet and object elements. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is the XML Schema Tables module for XHTML $Id: + xhtml-table-1.xsd,v 1.3 2005/09/26 22:54:53 ahby Exp $ + + + + Tables * table, caption, thead, tfoot, tbody, + colgroup, col, tr, th, td This module declares element types and + attributes used to provide table markup similar to HTML 4.0, including + features that enable better accessibility for non-visual user agents. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Forms module Elements defined here: + * form, label, input, select, optgroup, option, * textarea, fieldset, + legend, button + + + + + Changes to XHTML Form Attlist + + + + + Original Form Attributes (declared in Forms + Module) + + + + + XHTML Events Module - Attribute additions + + + + + + XHTML Target Module - Attribute additions + + + + + + + + + + + + + + + + + + + + + + + Changes to XHTML Form Input Element + + + + + Original Input Attributes (in Forms Module) + + + + + + Redefinition by Client Side Image Map Module + + + + + + Redefinition by Server Side Image Map Module + + + + + + Redefinition by Event Attribute Module + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Original Label Attributes (in Forms Module) + + + + + + Redefinition by Event Attribute Module + + + + + + + + + + + + + Original Select Attributes (in Forms Module) + + + + + + Redefinition by Event Attribute Module + + + + + + + + + + + + + + + + + + + + + + + + + + + + Original TextArea Attributes (in Forms Module) + + + + + + Redefinition by Event Attribute Module + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Original Button Attributes (in Forms Module) + + + + + + Redefinition by Event Attribute Module + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Forms This is the XML Schema Forms module for XHTML + * form, label, input, select, optgroup, option, textarea, fieldset, legend, + button This module declares markup to provide support for online forms, + based on the features found in HTML 4.0 forms. $Id: + xhtml-form-1.xsd,v 1.4 2009/09/30 15:22:38 ahby Exp $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is the Ruby module for XHTML $Id: xhtml-ruby-1.xsd,v 1.7 + 2010/05/02 17:22:08 ahby Exp $ + + + + "Ruby" are short runs of text alongside the base text, typically + used in East Asian documents to indicate pronunciation or to provide a short + annotation. The full specification for Ruby is here: + http://www.w3.org/TR/2001/REC-ruby-20010531/ This module defines "Ruby " or + "complex Ruby" as described in the specification: + http://www.w3.org/TR/2001/REC-ruby-20010531/#complex Simple or Basic Ruby are + defined in a separate module. This module declares the elements and their + attributes used to support complex ruby annotation markup. Elements defined here + * ruby, rbc, rtc, rb, rt, rp This module expects the document model to + define the following content models + InlNoRuby.mix + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is the XML Schema Intrinsic Events module for XHTML $Id: + xhtml-events-1.xsd,v 1.4 2005/09/26 22:54:53 ahby Exp $ + + + + Intrinsic Event Attributes These are the event attributes + defined in HTML 4, Section 18.2.3 "Intrinsic Events". + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is the XML Schema Target module for XHTML $Id: + xhtml-target-1.xsd,v 1.3 2007/04/03 18:27:01 ahby Exp $ + + + + Target * target This module declares + the 'target' attribute used for opening windows + + + + + + + + + + + + + + + + + + diff --git a/GeneratedSchemaLibraries/XHTML/xhtml11.xsd.config b/GeneratedSchemaLibraries/XHTML/xhtml11.xsd.config new file mode 100644 index 00000000..10503c6f --- /dev/null +++ b/GeneratedSchemaLibraries/XHTML/xhtml11.xsd.config @@ -0,0 +1,14 @@ + + + + + + + false + + false + + + + + \ No newline at end of file diff --git a/GeneratedSchemaLibraries/XHTML/xhtml11.xsd.cs b/GeneratedSchemaLibraries/XHTML/xhtml11.xsd.cs new file mode 100644 index 00000000..d1a500ee --- /dev/null +++ b/GeneratedSchemaLibraries/XHTML/xhtml11.xsd.cs @@ -0,0 +1,102277 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace www.w3.org.XML.Item1998.@namespace { + using System; + using System.Collections; + using System.Collections.Generic; + using System.ComponentModel; + using System.IO; + using System.Linq; + using System.Diagnostics; + using System.Xml; + using System.Xml.Schema; + using System.Xml.Linq; + using Xml.Schema.Linq; + using W3C.Xhtml; + + + public sealed class lang { + + private lang() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.UnionSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType), null, new Xml.Schema.Linq.SimpleTypeValidator[] { + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Language), null), + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + ""}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve))}); + } +} +namespace W3C.Xhtml { + using System; + using System.Collections; + using System.Collections.Generic; + using System.ComponentModel; + using System.IO; + using System.Linq; + using System.Diagnostics; + using System.Xml; + using System.Xml.Schema; + using System.Xml.Linq; + using Xml.Schema.Linq; + using www.w3.org.XML.Item1998.@namespace; + using W3C.Xhtml.Datatypes; + + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmladdresstype : XTypedElement, IXMetaData { + + public static explicit operator xhtmladdresstype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmladdresstype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmladdresstype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmladdresstype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmladdresstype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.address.type", "http://www.w3.org/1999/xhtml"); + + static xhtmladdresstype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public partial class xhtmlblockquotetype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlblockquotetype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public xhtmlblockquotetype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h1XName = System.Xml.Linq.XName.Get("h1", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h1Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList h1 { + get { + if ((this.h1Field == null)) { + this.h1Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h1XName); + } + return this.h1Field; + } + set { + if ((value == null)) { + this.h1Field = null; + } + else { + if ((this.h1Field == null)) { + this.h1Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h1XName); + } + else { + XTypedServices.SetList(this.h1Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h2XName = System.Xml.Linq.XName.Get("h2", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h2Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList h2 { + get { + if ((this.h2Field == null)) { + this.h2Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h2XName); + } + return this.h2Field; + } + set { + if ((value == null)) { + this.h2Field = null; + } + else { + if ((this.h2Field == null)) { + this.h2Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h2XName); + } + else { + XTypedServices.SetList(this.h2Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h3XName = System.Xml.Linq.XName.Get("h3", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h3Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList h3 { + get { + if ((this.h3Field == null)) { + this.h3Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h3XName); + } + return this.h3Field; + } + set { + if ((value == null)) { + this.h3Field = null; + } + else { + if ((this.h3Field == null)) { + this.h3Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h3XName); + } + else { + XTypedServices.SetList(this.h3Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h4XName = System.Xml.Linq.XName.Get("h4", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h4Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList h4 { + get { + if ((this.h4Field == null)) { + this.h4Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h4XName); + } + return this.h4Field; + } + set { + if ((value == null)) { + this.h4Field = null; + } + else { + if ((this.h4Field == null)) { + this.h4Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h4XName); + } + else { + XTypedServices.SetList(this.h4Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h5XName = System.Xml.Linq.XName.Get("h5", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h5Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList h5 { + get { + if ((this.h5Field == null)) { + this.h5Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h5XName); + } + return this.h5Field; + } + set { + if ((value == null)) { + this.h5Field = null; + } + else { + if ((this.h5Field == null)) { + this.h5Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h5XName); + } + else { + XTypedServices.SetList(this.h5Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h6XName = System.Xml.Linq.XName.Get("h6", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h6Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList h6 { + get { + if ((this.h6Field == null)) { + this.h6Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h6XName); + } + return this.h6Field; + } + set { + if ((value == null)) { + this.h6Field = null; + } + else { + if ((this.h6Field == null)) { + this.h6Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h6XName); + } + else { + XTypedServices.SetList(this.h6Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ulXName = System.Xml.Linq.XName.Get("ul", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ulField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList ul { + get { + if ((this.ulField == null)) { + this.ulField = new XTypedList(this, LinqToXsdTypeManager.Instance, ulXName); + } + return this.ulField; + } + set { + if ((value == null)) { + this.ulField = null; + } + else { + if ((this.ulField == null)) { + this.ulField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ulXName); + } + else { + XTypedServices.SetList(this.ulField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName olXName = System.Xml.Linq.XName.Get("ol", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList olField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList ol { + get { + if ((this.olField == null)) { + this.olField = new XTypedList(this, LinqToXsdTypeManager.Instance, olXName); + } + return this.olField; + } + set { + if ((value == null)) { + this.olField = null; + } + else { + if ((this.olField == null)) { + this.olField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, olXName); + } + else { + XTypedServices.SetList(this.olField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dlXName = System.Xml.Linq.XName.Get("dl", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dlField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList dl { + get { + if ((this.dlField == null)) { + this.dlField = new XTypedList(this, LinqToXsdTypeManager.Instance, dlXName); + } + return this.dlField; + } + set { + if ((value == null)) { + this.dlField = null; + } + else { + if ((this.dlField == null)) { + this.dlField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dlXName); + } + else { + XTypedServices.SetList(this.dlField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName pXName = System.Xml.Linq.XName.Get("p", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList pField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList p { + get { + if ((this.pField == null)) { + this.pField = new XTypedList(this, LinqToXsdTypeManager.Instance, pXName); + } + return this.pField; + } + set { + if ((value == null)) { + this.pField = null; + } + else { + if ((this.pField == null)) { + this.pField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, pXName); + } + else { + XTypedServices.SetList(this.pField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName divXName = System.Xml.Linq.XName.Get("div", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList divField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList div { + get { + if ((this.divField == null)) { + this.divField = new XTypedList(this, LinqToXsdTypeManager.Instance, divXName); + } + return this.divField; + } + set { + if ((value == null)) { + this.divField = null; + } + else { + if ((this.divField == null)) { + this.divField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, divXName); + } + else { + XTypedServices.SetList(this.divField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName preXName = System.Xml.Linq.XName.Get("pre", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList preField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList pre { + get { + if ((this.preField == null)) { + this.preField = new XTypedList(this, LinqToXsdTypeManager.Instance, preXName); + } + return this.preField; + } + set { + if ((value == null)) { + this.preField = null; + } + else { + if ((this.preField == null)) { + this.preField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, preXName); + } + else { + XTypedServices.SetList(this.preField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName blockquoteXName = System.Xml.Linq.XName.Get("blockquote", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList blockquoteField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList blockquote { + get { + if ((this.blockquoteField == null)) { + this.blockquoteField = new XTypedList(this, LinqToXsdTypeManager.Instance, blockquoteXName); + } + return this.blockquoteField; + } + set { + if ((value == null)) { + this.blockquoteField = null; + } + else { + if ((this.blockquoteField == null)) { + this.blockquoteField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, blockquoteXName); + } + else { + XTypedServices.SetList(this.blockquoteField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName addressXName = System.Xml.Linq.XName.Get("address", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList addressField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList address { + get { + if ((this.addressField == null)) { + this.addressField = new XTypedList(this, LinqToXsdTypeManager.Instance, addressXName); + } + return this.addressField; + } + set { + if ((value == null)) { + this.addressField = null; + } + else { + if ((this.addressField == null)) { + this.addressField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, addressXName); + } + else { + XTypedServices.SetList(this.addressField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName hrXName = System.Xml.Linq.XName.Get("hr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList hrField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList hr { + get { + if ((this.hrField == null)) { + this.hrField = new XTypedList(this, LinqToXsdTypeManager.Instance, hrXName); + } + return this.hrField; + } + set { + if ((value == null)) { + this.hrField = null; + } + else { + if ((this.hrField == null)) { + this.hrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, hrXName); + } + else { + XTypedServices.SetList(this.hrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName tableXName = System.Xml.Linq.XName.Get("table", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList tableField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList table { + get { + if ((this.tableField == null)) { + this.tableField = new XTypedList(this, LinqToXsdTypeManager.Instance, tableXName); + } + return this.tableField; + } + set { + if ((value == null)) { + this.tableField = null; + } + else { + if ((this.tableField == null)) { + this.tableField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, tableXName); + } + else { + XTypedServices.SetList(this.tableField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName formXName = System.Xml.Linq.XName.Get("form", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList formField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList form { + get { + if ((this.formField == null)) { + this.formField = new XTypedList(this, LinqToXsdTypeManager.Instance, formXName); + } + return this.formField; + } + set { + if ((value == null)) { + this.formField = null; + } + else { + if ((this.formField == null)) { + this.formField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, formXName); + } + else { + XTypedServices.SetList(this.formField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName fieldsetXName = System.Xml.Linq.XName.Get("fieldset", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList fieldsetField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList fieldset { + get { + if ((this.fieldsetField == null)) { + this.fieldsetField = new XTypedList(this, LinqToXsdTypeManager.Instance, fieldsetXName); + } + return this.fieldsetField; + } + set { + if ((value == null)) { + this.fieldsetField = null; + } + else { + if ((this.fieldsetField == null)) { + this.fieldsetField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, fieldsetXName); + } + else { + XTypedServices.SetList(this.fieldsetField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlblockquotetype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlblockquotetype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlblockquotetype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Uri cite { + get { + XAttribute x = this.Attribute(citeXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(citeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.blockquote.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlblockquotetype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(h1XName), new NamedContentModelEntity(h2XName), new NamedContentModelEntity(h3XName), new NamedContentModelEntity(h4XName), new NamedContentModelEntity(h5XName), new NamedContentModelEntity(h6XName), new NamedContentModelEntity(ulXName), new NamedContentModelEntity(olXName), new NamedContentModelEntity(dlXName), new NamedContentModelEntity(pXName), new NamedContentModelEntity(divXName), new NamedContentModelEntity(preXName), new NamedContentModelEntity(blockquoteXName), new NamedContentModelEntity(addressXName), new SequenceContentModelEntity(new NamedContentModelEntity(hrXName)), new NamedContentModelEntity(tableXName), new NamedContentModelEntity(formXName), new NamedContentModelEntity(fieldsetXName), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(h1XName, typeof(xhtmlh1type)); + localElementDictionary.Add(h2XName, typeof(xhtmlh2type)); + localElementDictionary.Add(h3XName, typeof(xhtmlh3type)); + localElementDictionary.Add(h4XName, typeof(xhtmlh4type)); + localElementDictionary.Add(h5XName, typeof(xhtmlh5type)); + localElementDictionary.Add(h6XName, typeof(xhtmlh6type)); + localElementDictionary.Add(ulXName, typeof(xhtmlultype)); + localElementDictionary.Add(olXName, typeof(xhtmloltype)); + localElementDictionary.Add(dlXName, typeof(xhtmldltype)); + localElementDictionary.Add(pXName, typeof(xhtmlptype)); + localElementDictionary.Add(divXName, typeof(xhtmldivtype)); + localElementDictionary.Add(preXName, typeof(xhtmlpretype)); + localElementDictionary.Add(blockquoteXName, typeof(xhtmlblockquotetype)); + localElementDictionary.Add(addressXName, typeof(xhtmladdresstype)); + localElementDictionary.Add(hrXName, typeof(xhtmlhrtype)); + localElementDictionary.Add(tableXName, typeof(xhtmltabletype)); + localElementDictionary.Add(formXName, typeof(xhtmlformtype)); + localElementDictionary.Add(fieldsetXName, typeof(xhtmlfieldsettype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | (bdo)|(a)|ins | del | script | noscript | map)*) + /// + /// + public partial class xhtmlpretype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlpretype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | (bdo)|(a)|ins | del | script | noscript | map)*) + /// + /// + public xhtmlpretype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | (bdo)|(a)|ins | del | script | noscript | map)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | (bdo)|(a)|ins | del | script | noscript | map)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | (bdo)|(a)|ins | del | script | noscript | map)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | (bdo)|(a)|ins | del | script | noscript | map)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | (bdo)|(a)|ins | del | script | noscript | map)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | (bdo)|(a)|ins | del | script | noscript | map)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | (bdo)|(a)|ins | del | script | noscript | map)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | (bdo)|(a)|ins | del | script | noscript | map)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | (bdo)|(a)|ins | del | script | noscript | map)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | (bdo)|(a)|ins | del | script | noscript | map)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | (bdo)|(a)|ins | del | script | noscript | map)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | (bdo)|(a)|ins | del | script | noscript | map)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | (bdo)|(a)|ins | del | script | noscript | map)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | (bdo)|(a)|ins | del | script | noscript | map)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | (bdo)|(a)|ins | del | script | noscript | map)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | (bdo)|(a)|ins | del | script | noscript | map)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | (bdo)|(a)|ins | del | script | noscript | map)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | (bdo)|(a)|ins | del | script | noscript | map)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | (bdo)|(a)|ins | del | script | noscript | map)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | (bdo)|(a)|ins | del | script | noscript | map)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | (bdo)|(a)|ins | del | script | noscript | map)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | (bdo)|(a)|ins | del | script | noscript | map)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | (bdo)|(a)|ins | del | script | noscript | map)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlpretype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlpretype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlpretype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.pre.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlpretype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName), new NamedContentModelEntity(mapXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public partial class xhtmlheadingtype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlheadingtype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public xhtmlheadingtype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)* + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlheadingtype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlheadingtype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlheadingtype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.heading.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlheadingtype() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmlh1type : XTypedElement, IXMetaData { + + public static explicit operator xhtmlh1type(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmlh1type() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlh1type.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlh1type.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlh1type.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.h1.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlh1type() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmlh2type : XTypedElement, IXMetaData { + + public static explicit operator xhtmlh2type(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmlh2type() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlh2type.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlh2type.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlh2type.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.h2.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlh2type() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmlh3type : XTypedElement, IXMetaData { + + public static explicit operator xhtmlh3type(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmlh3type() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlh3type.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlh3type.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlh3type.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.h3.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlh3type() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmlh4type : XTypedElement, IXMetaData { + + public static explicit operator xhtmlh4type(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmlh4type() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlh4type.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlh4type.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlh4type.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.h4.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlh4type() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmlh5type : XTypedElement, IXMetaData { + + public static explicit operator xhtmlh5type(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmlh5type() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlh5type.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlh5type.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlh5type.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.h5.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlh5type() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmlh6type : XTypedElement, IXMetaData { + + public static explicit operator xhtmlh6type(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmlh6type() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlh6type.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlh6type.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlh6type.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.h6.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlh6type() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmldivtype : XTypedElement, IXMetaData { + + public static explicit operator xhtmldivtype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmldivtype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h1XName = System.Xml.Linq.XName.Get("h1", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h1Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h1 { + get { + if ((this.h1Field == null)) { + this.h1Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h1XName); + } + return this.h1Field; + } + set { + if ((value == null)) { + this.h1Field = null; + } + else { + if ((this.h1Field == null)) { + this.h1Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h1XName); + } + else { + XTypedServices.SetList(this.h1Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h2XName = System.Xml.Linq.XName.Get("h2", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h2Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h2 { + get { + if ((this.h2Field == null)) { + this.h2Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h2XName); + } + return this.h2Field; + } + set { + if ((value == null)) { + this.h2Field = null; + } + else { + if ((this.h2Field == null)) { + this.h2Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h2XName); + } + else { + XTypedServices.SetList(this.h2Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h3XName = System.Xml.Linq.XName.Get("h3", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h3Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h3 { + get { + if ((this.h3Field == null)) { + this.h3Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h3XName); + } + return this.h3Field; + } + set { + if ((value == null)) { + this.h3Field = null; + } + else { + if ((this.h3Field == null)) { + this.h3Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h3XName); + } + else { + XTypedServices.SetList(this.h3Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h4XName = System.Xml.Linq.XName.Get("h4", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h4Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h4 { + get { + if ((this.h4Field == null)) { + this.h4Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h4XName); + } + return this.h4Field; + } + set { + if ((value == null)) { + this.h4Field = null; + } + else { + if ((this.h4Field == null)) { + this.h4Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h4XName); + } + else { + XTypedServices.SetList(this.h4Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h5XName = System.Xml.Linq.XName.Get("h5", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h5Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h5 { + get { + if ((this.h5Field == null)) { + this.h5Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h5XName); + } + return this.h5Field; + } + set { + if ((value == null)) { + this.h5Field = null; + } + else { + if ((this.h5Field == null)) { + this.h5Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h5XName); + } + else { + XTypedServices.SetList(this.h5Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h6XName = System.Xml.Linq.XName.Get("h6", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h6Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h6 { + get { + if ((this.h6Field == null)) { + this.h6Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h6XName); + } + return this.h6Field; + } + set { + if ((value == null)) { + this.h6Field = null; + } + else { + if ((this.h6Field == null)) { + this.h6Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h6XName); + } + else { + XTypedServices.SetList(this.h6Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ulXName = System.Xml.Linq.XName.Get("ul", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ulField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ul { + get { + if ((this.ulField == null)) { + this.ulField = new XTypedList(this, LinqToXsdTypeManager.Instance, ulXName); + } + return this.ulField; + } + set { + if ((value == null)) { + this.ulField = null; + } + else { + if ((this.ulField == null)) { + this.ulField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ulXName); + } + else { + XTypedServices.SetList(this.ulField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName olXName = System.Xml.Linq.XName.Get("ol", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList olField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ol { + get { + if ((this.olField == null)) { + this.olField = new XTypedList(this, LinqToXsdTypeManager.Instance, olXName); + } + return this.olField; + } + set { + if ((value == null)) { + this.olField = null; + } + else { + if ((this.olField == null)) { + this.olField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, olXName); + } + else { + XTypedServices.SetList(this.olField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dlXName = System.Xml.Linq.XName.Get("dl", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dlField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dl { + get { + if ((this.dlField == null)) { + this.dlField = new XTypedList(this, LinqToXsdTypeManager.Instance, dlXName); + } + return this.dlField; + } + set { + if ((value == null)) { + this.dlField = null; + } + else { + if ((this.dlField == null)) { + this.dlField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dlXName); + } + else { + XTypedServices.SetList(this.dlField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName pXName = System.Xml.Linq.XName.Get("p", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList pField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList p { + get { + if ((this.pField == null)) { + this.pField = new XTypedList(this, LinqToXsdTypeManager.Instance, pXName); + } + return this.pField; + } + set { + if ((value == null)) { + this.pField = null; + } + else { + if ((this.pField == null)) { + this.pField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, pXName); + } + else { + XTypedServices.SetList(this.pField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName divXName = System.Xml.Linq.XName.Get("div", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList divField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList div { + get { + if ((this.divField == null)) { + this.divField = new XTypedList(this, LinqToXsdTypeManager.Instance, divXName); + } + return this.divField; + } + set { + if ((value == null)) { + this.divField = null; + } + else { + if ((this.divField == null)) { + this.divField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, divXName); + } + else { + XTypedServices.SetList(this.divField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName preXName = System.Xml.Linq.XName.Get("pre", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList preField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList pre { + get { + if ((this.preField == null)) { + this.preField = new XTypedList(this, LinqToXsdTypeManager.Instance, preXName); + } + return this.preField; + } + set { + if ((value == null)) { + this.preField = null; + } + else { + if ((this.preField == null)) { + this.preField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, preXName); + } + else { + XTypedServices.SetList(this.preField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName blockquoteXName = System.Xml.Linq.XName.Get("blockquote", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList blockquoteField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList blockquote { + get { + if ((this.blockquoteField == null)) { + this.blockquoteField = new XTypedList(this, LinqToXsdTypeManager.Instance, blockquoteXName); + } + return this.blockquoteField; + } + set { + if ((value == null)) { + this.blockquoteField = null; + } + else { + if ((this.blockquoteField == null)) { + this.blockquoteField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, blockquoteXName); + } + else { + XTypedServices.SetList(this.blockquoteField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName addressXName = System.Xml.Linq.XName.Get("address", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList addressField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList address { + get { + if ((this.addressField == null)) { + this.addressField = new XTypedList(this, LinqToXsdTypeManager.Instance, addressXName); + } + return this.addressField; + } + set { + if ((value == null)) { + this.addressField = null; + } + else { + if ((this.addressField == null)) { + this.addressField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, addressXName); + } + else { + XTypedServices.SetList(this.addressField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName hrXName = System.Xml.Linq.XName.Get("hr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList hrField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList hr { + get { + if ((this.hrField == null)) { + this.hrField = new XTypedList(this, LinqToXsdTypeManager.Instance, hrXName); + } + return this.hrField; + } + set { + if ((value == null)) { + this.hrField = null; + } + else { + if ((this.hrField == null)) { + this.hrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, hrXName); + } + else { + XTypedServices.SetList(this.hrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName tableXName = System.Xml.Linq.XName.Get("table", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList tableField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList table { + get { + if ((this.tableField == null)) { + this.tableField = new XTypedList(this, LinqToXsdTypeManager.Instance, tableXName); + } + return this.tableField; + } + set { + if ((value == null)) { + this.tableField = null; + } + else { + if ((this.tableField == null)) { + this.tableField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, tableXName); + } + else { + XTypedServices.SetList(this.tableField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName formXName = System.Xml.Linq.XName.Get("form", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList formField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList form { + get { + if ((this.formField == null)) { + this.formField = new XTypedList(this, LinqToXsdTypeManager.Instance, formXName); + } + return this.formField; + } + set { + if ((value == null)) { + this.formField = null; + } + else { + if ((this.formField == null)) { + this.formField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, formXName); + } + else { + XTypedServices.SetList(this.formField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName fieldsetXName = System.Xml.Linq.XName.Get("fieldset", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList fieldsetField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList fieldset { + get { + if ((this.fieldsetField == null)) { + this.fieldsetField = new XTypedList(this, LinqToXsdTypeManager.Instance, fieldsetXName); + } + return this.fieldsetField; + } + set { + if ((value == null)) { + this.fieldsetField = null; + } + else { + if ((this.fieldsetField == null)) { + this.fieldsetField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, fieldsetXName); + } + else { + XTypedServices.SetList(this.fieldsetField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmldivtype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmldivtype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmldivtype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.div.type", "http://www.w3.org/1999/xhtml"); + + static xhtmldivtype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(h1XName), new NamedContentModelEntity(h2XName), new NamedContentModelEntity(h3XName), new NamedContentModelEntity(h4XName), new NamedContentModelEntity(h5XName), new NamedContentModelEntity(h6XName), new NamedContentModelEntity(ulXName), new NamedContentModelEntity(olXName), new NamedContentModelEntity(dlXName), new NamedContentModelEntity(pXName), new NamedContentModelEntity(divXName), new NamedContentModelEntity(preXName), new NamedContentModelEntity(blockquoteXName), new NamedContentModelEntity(addressXName), new SequenceContentModelEntity(new NamedContentModelEntity(hrXName)), new NamedContentModelEntity(tableXName), new NamedContentModelEntity(formXName), new NamedContentModelEntity(fieldsetXName), new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(h1XName, typeof(xhtmlh1type)); + localElementDictionary.Add(h2XName, typeof(xhtmlh2type)); + localElementDictionary.Add(h3XName, typeof(xhtmlh3type)); + localElementDictionary.Add(h4XName, typeof(xhtmlh4type)); + localElementDictionary.Add(h5XName, typeof(xhtmlh5type)); + localElementDictionary.Add(h6XName, typeof(xhtmlh6type)); + localElementDictionary.Add(ulXName, typeof(xhtmlultype)); + localElementDictionary.Add(olXName, typeof(xhtmloltype)); + localElementDictionary.Add(dlXName, typeof(xhtmldltype)); + localElementDictionary.Add(pXName, typeof(xhtmlptype)); + localElementDictionary.Add(divXName, typeof(xhtmldivtype)); + localElementDictionary.Add(preXName, typeof(xhtmlpretype)); + localElementDictionary.Add(blockquoteXName, typeof(xhtmlblockquotetype)); + localElementDictionary.Add(addressXName, typeof(xhtmladdresstype)); + localElementDictionary.Add(hrXName, typeof(xhtmlhrtype)); + localElementDictionary.Add(tableXName, typeof(xhtmltabletype)); + localElementDictionary.Add(formXName, typeof(xhtmlformtype)); + localElementDictionary.Add(fieldsetXName, typeof(xhtmlfieldsettype)); + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmlptype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlptype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmlptype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlptype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlptype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlptype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.p.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlptype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmlabbrtype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlabbrtype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmlabbrtype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlabbrtype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlabbrtype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlabbrtype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.abbr.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlabbrtype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmlacronymtype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlacronymtype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmlacronymtype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlacronymtype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlacronymtype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlacronymtype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.acronym.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlacronymtype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmlcitetype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlcitetype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmlcitetype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlcitetype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlcitetype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlcitetype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.cite.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlcitetype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmlcodetype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlcodetype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmlcodetype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlcodetype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlcodetype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlcodetype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.code.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlcodetype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmldfntype : XTypedElement, IXMetaData { + + public static explicit operator xhtmldfntype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmldfntype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmldfntype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmldfntype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmldfntype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.dfn.type", "http://www.w3.org/1999/xhtml"); + + static xhtmldfntype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmlemtype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlemtype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmlemtype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlemtype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlemtype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlemtype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.em.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlemtype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmlkbdtype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlkbdtype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmlkbdtype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlkbdtype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlkbdtype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlkbdtype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.kbd.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlkbdtype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmlsamptype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlsamptype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmlsamptype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlsamptype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlsamptype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlsamptype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.samp.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlsamptype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmlstrongtype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlstrongtype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmlstrongtype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlstrongtype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlstrongtype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlstrongtype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.strong.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlstrongtype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmlvartype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlvartype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmlvartype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlvartype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlvartype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlvartype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.var.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlvartype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmlqtype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlqtype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmlqtype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlqtype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlqtype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlqtype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName cite1XName = System.Xml.Linq.XName.Get("cite", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Uri cite1 { + get { + XAttribute x = this.Attribute(cite1XName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(cite1XName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.q.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlqtype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class xhtmlbrtype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlbrtype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public xhtmlbrtype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.br.type", "http://www.w3.org/1999/xhtml"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmlspantype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlspantype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmlspantype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlspantype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlspantype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlspantype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.span.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlspantype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmlatype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlatype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmlatype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlatype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlatype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlatype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName hrefXName = System.Xml.Linq.XName.Get("href", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Uri href { + get { + XAttribute x = this.Attribute(hrefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(hrefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName charsetXName = System.Xml.Linq.XName.Get("charset", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string charset { + get { + XAttribute x = this.Attribute(charsetXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(charsetXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName typeXName = System.Xml.Linq.XName.Get("type", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string type { + get { + XAttribute x = this.Attribute(typeXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(typeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName hreflangXName = System.Xml.Linq.XName.Get("hreflang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object hreflang { + get { + XAttribute x = this.Attribute(hreflangXName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "hreflang", this, hreflangXName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName relXName = System.Xml.Linq.XName.Get("rel", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual IList rel { + get { + XAttribute x = this.Attribute(relXName); + return XTypedServices.ParseListValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + set { + this.SetListAttribute(relXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName revXName = System.Xml.Linq.XName.Get("rev", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual IList rev { + get { + XAttribute x = this.Attribute(revXName); + return XTypedServices.ParseListValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + set { + this.SetListAttribute(revXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName accesskeyXName = System.Xml.Linq.XName.Get("accesskey", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string accesskey { + get { + XAttribute x = this.Attribute(accesskeyXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(accesskeyXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName tabindexXName = System.Xml.Linq.XName.Get("tabindex", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Decimal? tabindex { + get { + XAttribute x = this.Attribute(tabindexXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(tabindexXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName shapeXName = System.Xml.Linq.XName.Get("shape", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static string shapeDefaultValue = "rect"; + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string shape { + get { + XAttribute x = this.Attribute(shapeXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype, shapeDefaultValue); + } + set { + this.SetAttribute(shapeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName coordsXName = System.Xml.Linq.XName.Get("coords", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string coords { + get { + XAttribute x = this.Attribute(coordsXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(coordsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onfocusXName = System.Xml.Linq.XName.Get("onfocus", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onfocus { + get { + XAttribute x = this.Attribute(onfocusXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onfocusXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onblurXName = System.Xml.Linq.XName.Get("onblur", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onblur { + get { + XAttribute x = this.Attribute(onblurXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onblurXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName targetXName = System.Xml.Linq.XName.Get("target", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object target { + get { + XAttribute x = this.Attribute(targetXName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.FrameTarget.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "target", this, targetXName, global::W3C.Xhtml.Datatypes.FrameTarget.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.a.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlatype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmldttype : XTypedElement, IXMetaData { + + public static explicit operator xhtmldttype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmldttype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmldttype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmldttype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmldttype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.dt.type", "http://www.w3.org/1999/xhtml"); + + static xhtmldttype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmlddtype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlddtype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmlddtype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h1XName = System.Xml.Linq.XName.Get("h1", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h1Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h1 { + get { + if ((this.h1Field == null)) { + this.h1Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h1XName); + } + return this.h1Field; + } + set { + if ((value == null)) { + this.h1Field = null; + } + else { + if ((this.h1Field == null)) { + this.h1Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h1XName); + } + else { + XTypedServices.SetList(this.h1Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h2XName = System.Xml.Linq.XName.Get("h2", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h2Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h2 { + get { + if ((this.h2Field == null)) { + this.h2Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h2XName); + } + return this.h2Field; + } + set { + if ((value == null)) { + this.h2Field = null; + } + else { + if ((this.h2Field == null)) { + this.h2Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h2XName); + } + else { + XTypedServices.SetList(this.h2Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h3XName = System.Xml.Linq.XName.Get("h3", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h3Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h3 { + get { + if ((this.h3Field == null)) { + this.h3Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h3XName); + } + return this.h3Field; + } + set { + if ((value == null)) { + this.h3Field = null; + } + else { + if ((this.h3Field == null)) { + this.h3Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h3XName); + } + else { + XTypedServices.SetList(this.h3Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h4XName = System.Xml.Linq.XName.Get("h4", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h4Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h4 { + get { + if ((this.h4Field == null)) { + this.h4Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h4XName); + } + return this.h4Field; + } + set { + if ((value == null)) { + this.h4Field = null; + } + else { + if ((this.h4Field == null)) { + this.h4Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h4XName); + } + else { + XTypedServices.SetList(this.h4Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h5XName = System.Xml.Linq.XName.Get("h5", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h5Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h5 { + get { + if ((this.h5Field == null)) { + this.h5Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h5XName); + } + return this.h5Field; + } + set { + if ((value == null)) { + this.h5Field = null; + } + else { + if ((this.h5Field == null)) { + this.h5Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h5XName); + } + else { + XTypedServices.SetList(this.h5Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h6XName = System.Xml.Linq.XName.Get("h6", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h6Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h6 { + get { + if ((this.h6Field == null)) { + this.h6Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h6XName); + } + return this.h6Field; + } + set { + if ((value == null)) { + this.h6Field = null; + } + else { + if ((this.h6Field == null)) { + this.h6Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h6XName); + } + else { + XTypedServices.SetList(this.h6Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ulXName = System.Xml.Linq.XName.Get("ul", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ulField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ul { + get { + if ((this.ulField == null)) { + this.ulField = new XTypedList(this, LinqToXsdTypeManager.Instance, ulXName); + } + return this.ulField; + } + set { + if ((value == null)) { + this.ulField = null; + } + else { + if ((this.ulField == null)) { + this.ulField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ulXName); + } + else { + XTypedServices.SetList(this.ulField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName olXName = System.Xml.Linq.XName.Get("ol", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList olField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ol { + get { + if ((this.olField == null)) { + this.olField = new XTypedList(this, LinqToXsdTypeManager.Instance, olXName); + } + return this.olField; + } + set { + if ((value == null)) { + this.olField = null; + } + else { + if ((this.olField == null)) { + this.olField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, olXName); + } + else { + XTypedServices.SetList(this.olField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dlXName = System.Xml.Linq.XName.Get("dl", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dlField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dl { + get { + if ((this.dlField == null)) { + this.dlField = new XTypedList(this, LinqToXsdTypeManager.Instance, dlXName); + } + return this.dlField; + } + set { + if ((value == null)) { + this.dlField = null; + } + else { + if ((this.dlField == null)) { + this.dlField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dlXName); + } + else { + XTypedServices.SetList(this.dlField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName pXName = System.Xml.Linq.XName.Get("p", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList pField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList p { + get { + if ((this.pField == null)) { + this.pField = new XTypedList(this, LinqToXsdTypeManager.Instance, pXName); + } + return this.pField; + } + set { + if ((value == null)) { + this.pField = null; + } + else { + if ((this.pField == null)) { + this.pField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, pXName); + } + else { + XTypedServices.SetList(this.pField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName divXName = System.Xml.Linq.XName.Get("div", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList divField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList div { + get { + if ((this.divField == null)) { + this.divField = new XTypedList(this, LinqToXsdTypeManager.Instance, divXName); + } + return this.divField; + } + set { + if ((value == null)) { + this.divField = null; + } + else { + if ((this.divField == null)) { + this.divField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, divXName); + } + else { + XTypedServices.SetList(this.divField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName preXName = System.Xml.Linq.XName.Get("pre", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList preField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList pre { + get { + if ((this.preField == null)) { + this.preField = new XTypedList(this, LinqToXsdTypeManager.Instance, preXName); + } + return this.preField; + } + set { + if ((value == null)) { + this.preField = null; + } + else { + if ((this.preField == null)) { + this.preField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, preXName); + } + else { + XTypedServices.SetList(this.preField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName blockquoteXName = System.Xml.Linq.XName.Get("blockquote", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList blockquoteField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList blockquote { + get { + if ((this.blockquoteField == null)) { + this.blockquoteField = new XTypedList(this, LinqToXsdTypeManager.Instance, blockquoteXName); + } + return this.blockquoteField; + } + set { + if ((value == null)) { + this.blockquoteField = null; + } + else { + if ((this.blockquoteField == null)) { + this.blockquoteField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, blockquoteXName); + } + else { + XTypedServices.SetList(this.blockquoteField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName addressXName = System.Xml.Linq.XName.Get("address", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList addressField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList address { + get { + if ((this.addressField == null)) { + this.addressField = new XTypedList(this, LinqToXsdTypeManager.Instance, addressXName); + } + return this.addressField; + } + set { + if ((value == null)) { + this.addressField = null; + } + else { + if ((this.addressField == null)) { + this.addressField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, addressXName); + } + else { + XTypedServices.SetList(this.addressField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName hrXName = System.Xml.Linq.XName.Get("hr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList hrField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList hr { + get { + if ((this.hrField == null)) { + this.hrField = new XTypedList(this, LinqToXsdTypeManager.Instance, hrXName); + } + return this.hrField; + } + set { + if ((value == null)) { + this.hrField = null; + } + else { + if ((this.hrField == null)) { + this.hrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, hrXName); + } + else { + XTypedServices.SetList(this.hrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName tableXName = System.Xml.Linq.XName.Get("table", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList tableField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList table { + get { + if ((this.tableField == null)) { + this.tableField = new XTypedList(this, LinqToXsdTypeManager.Instance, tableXName); + } + return this.tableField; + } + set { + if ((value == null)) { + this.tableField = null; + } + else { + if ((this.tableField == null)) { + this.tableField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, tableXName); + } + else { + XTypedServices.SetList(this.tableField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName formXName = System.Xml.Linq.XName.Get("form", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList formField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList form { + get { + if ((this.formField == null)) { + this.formField = new XTypedList(this, LinqToXsdTypeManager.Instance, formXName); + } + return this.formField; + } + set { + if ((value == null)) { + this.formField = null; + } + else { + if ((this.formField == null)) { + this.formField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, formXName); + } + else { + XTypedServices.SetList(this.formField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName fieldsetXName = System.Xml.Linq.XName.Get("fieldset", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList fieldsetField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList fieldset { + get { + if ((this.fieldsetField == null)) { + this.fieldsetField = new XTypedList(this, LinqToXsdTypeManager.Instance, fieldsetXName); + } + return this.fieldsetField; + } + set { + if ((value == null)) { + this.fieldsetField = null; + } + else { + if ((this.fieldsetField == null)) { + this.fieldsetField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, fieldsetXName); + } + else { + XTypedServices.SetList(this.fieldsetField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlddtype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlddtype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlddtype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.dd.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlddtype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(h1XName), new NamedContentModelEntity(h2XName), new NamedContentModelEntity(h3XName), new NamedContentModelEntity(h4XName), new NamedContentModelEntity(h5XName), new NamedContentModelEntity(h6XName), new NamedContentModelEntity(ulXName), new NamedContentModelEntity(olXName), new NamedContentModelEntity(dlXName), new NamedContentModelEntity(pXName), new NamedContentModelEntity(divXName), new NamedContentModelEntity(preXName), new NamedContentModelEntity(blockquoteXName), new NamedContentModelEntity(addressXName), new SequenceContentModelEntity(new NamedContentModelEntity(hrXName)), new NamedContentModelEntity(tableXName), new NamedContentModelEntity(formXName), new NamedContentModelEntity(fieldsetXName), new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(h1XName, typeof(xhtmlh1type)); + localElementDictionary.Add(h2XName, typeof(xhtmlh2type)); + localElementDictionary.Add(h3XName, typeof(xhtmlh3type)); + localElementDictionary.Add(h4XName, typeof(xhtmlh4type)); + localElementDictionary.Add(h5XName, typeof(xhtmlh5type)); + localElementDictionary.Add(h6XName, typeof(xhtmlh6type)); + localElementDictionary.Add(ulXName, typeof(xhtmlultype)); + localElementDictionary.Add(olXName, typeof(xhtmloltype)); + localElementDictionary.Add(dlXName, typeof(xhtmldltype)); + localElementDictionary.Add(pXName, typeof(xhtmlptype)); + localElementDictionary.Add(divXName, typeof(xhtmldivtype)); + localElementDictionary.Add(preXName, typeof(xhtmlpretype)); + localElementDictionary.Add(blockquoteXName, typeof(xhtmlblockquotetype)); + localElementDictionary.Add(addressXName, typeof(xhtmladdresstype)); + localElementDictionary.Add(hrXName, typeof(xhtmlhrtype)); + localElementDictionary.Add(tableXName, typeof(xhtmltabletype)); + localElementDictionary.Add(formXName, typeof(xhtmlformtype)); + localElementDictionary.Add(fieldsetXName, typeof(xhtmlfieldsettype)); + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((dt | dd)+) + /// + /// + public partial class xhtmldltype : XTypedElement, IXMetaData { + + public static explicit operator xhtmldltype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((dt | dd)+) + /// + /// + public xhtmldltype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dtXName = System.Xml.Linq.XName.Get("dt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dtField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((dt | dd)+) + /// + /// + public virtual IList dt { + get { + if ((this.dtField == null)) { + this.dtField = new XTypedList(this, LinqToXsdTypeManager.Instance, dtXName); + } + return this.dtField; + } + set { + if ((value == null)) { + this.dtField = null; + } + else { + if ((this.dtField == null)) { + this.dtField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dtXName); + } + else { + XTypedServices.SetList(this.dtField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ddXName = System.Xml.Linq.XName.Get("dd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ddField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((dt | dd)+) + /// + /// + public virtual IList dd { + get { + if ((this.ddField == null)) { + this.ddField = new XTypedList(this, LinqToXsdTypeManager.Instance, ddXName); + } + return this.ddField; + } + set { + if ((value == null)) { + this.ddField = null; + } + else { + if ((this.ddField == null)) { + this.ddField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ddXName); + } + else { + XTypedServices.SetList(this.ddField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmldltype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmldltype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmldltype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.dl.type", "http://www.w3.org/1999/xhtml"); + + static xhtmldltype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(dtXName), new NamedContentModelEntity(ddXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(dtXName, typeof(xhtmldttype)); + localElementDictionary.Add(ddXName, typeof(xhtmlddtype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmllitype : XTypedElement, IXMetaData { + + public static explicit operator xhtmllitype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmllitype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h1XName = System.Xml.Linq.XName.Get("h1", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h1Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h1 { + get { + if ((this.h1Field == null)) { + this.h1Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h1XName); + } + return this.h1Field; + } + set { + if ((value == null)) { + this.h1Field = null; + } + else { + if ((this.h1Field == null)) { + this.h1Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h1XName); + } + else { + XTypedServices.SetList(this.h1Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h2XName = System.Xml.Linq.XName.Get("h2", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h2Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h2 { + get { + if ((this.h2Field == null)) { + this.h2Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h2XName); + } + return this.h2Field; + } + set { + if ((value == null)) { + this.h2Field = null; + } + else { + if ((this.h2Field == null)) { + this.h2Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h2XName); + } + else { + XTypedServices.SetList(this.h2Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h3XName = System.Xml.Linq.XName.Get("h3", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h3Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h3 { + get { + if ((this.h3Field == null)) { + this.h3Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h3XName); + } + return this.h3Field; + } + set { + if ((value == null)) { + this.h3Field = null; + } + else { + if ((this.h3Field == null)) { + this.h3Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h3XName); + } + else { + XTypedServices.SetList(this.h3Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h4XName = System.Xml.Linq.XName.Get("h4", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h4Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h4 { + get { + if ((this.h4Field == null)) { + this.h4Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h4XName); + } + return this.h4Field; + } + set { + if ((value == null)) { + this.h4Field = null; + } + else { + if ((this.h4Field == null)) { + this.h4Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h4XName); + } + else { + XTypedServices.SetList(this.h4Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h5XName = System.Xml.Linq.XName.Get("h5", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h5Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h5 { + get { + if ((this.h5Field == null)) { + this.h5Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h5XName); + } + return this.h5Field; + } + set { + if ((value == null)) { + this.h5Field = null; + } + else { + if ((this.h5Field == null)) { + this.h5Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h5XName); + } + else { + XTypedServices.SetList(this.h5Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h6XName = System.Xml.Linq.XName.Get("h6", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h6Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h6 { + get { + if ((this.h6Field == null)) { + this.h6Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h6XName); + } + return this.h6Field; + } + set { + if ((value == null)) { + this.h6Field = null; + } + else { + if ((this.h6Field == null)) { + this.h6Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h6XName); + } + else { + XTypedServices.SetList(this.h6Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ulXName = System.Xml.Linq.XName.Get("ul", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ulField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ul { + get { + if ((this.ulField == null)) { + this.ulField = new XTypedList(this, LinqToXsdTypeManager.Instance, ulXName); + } + return this.ulField; + } + set { + if ((value == null)) { + this.ulField = null; + } + else { + if ((this.ulField == null)) { + this.ulField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ulXName); + } + else { + XTypedServices.SetList(this.ulField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName olXName = System.Xml.Linq.XName.Get("ol", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList olField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ol { + get { + if ((this.olField == null)) { + this.olField = new XTypedList(this, LinqToXsdTypeManager.Instance, olXName); + } + return this.olField; + } + set { + if ((value == null)) { + this.olField = null; + } + else { + if ((this.olField == null)) { + this.olField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, olXName); + } + else { + XTypedServices.SetList(this.olField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dlXName = System.Xml.Linq.XName.Get("dl", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dlField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dl { + get { + if ((this.dlField == null)) { + this.dlField = new XTypedList(this, LinqToXsdTypeManager.Instance, dlXName); + } + return this.dlField; + } + set { + if ((value == null)) { + this.dlField = null; + } + else { + if ((this.dlField == null)) { + this.dlField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dlXName); + } + else { + XTypedServices.SetList(this.dlField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName pXName = System.Xml.Linq.XName.Get("p", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList pField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList p { + get { + if ((this.pField == null)) { + this.pField = new XTypedList(this, LinqToXsdTypeManager.Instance, pXName); + } + return this.pField; + } + set { + if ((value == null)) { + this.pField = null; + } + else { + if ((this.pField == null)) { + this.pField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, pXName); + } + else { + XTypedServices.SetList(this.pField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName divXName = System.Xml.Linq.XName.Get("div", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList divField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList div { + get { + if ((this.divField == null)) { + this.divField = new XTypedList(this, LinqToXsdTypeManager.Instance, divXName); + } + return this.divField; + } + set { + if ((value == null)) { + this.divField = null; + } + else { + if ((this.divField == null)) { + this.divField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, divXName); + } + else { + XTypedServices.SetList(this.divField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName preXName = System.Xml.Linq.XName.Get("pre", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList preField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList pre { + get { + if ((this.preField == null)) { + this.preField = new XTypedList(this, LinqToXsdTypeManager.Instance, preXName); + } + return this.preField; + } + set { + if ((value == null)) { + this.preField = null; + } + else { + if ((this.preField == null)) { + this.preField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, preXName); + } + else { + XTypedServices.SetList(this.preField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName blockquoteXName = System.Xml.Linq.XName.Get("blockquote", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList blockquoteField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList blockquote { + get { + if ((this.blockquoteField == null)) { + this.blockquoteField = new XTypedList(this, LinqToXsdTypeManager.Instance, blockquoteXName); + } + return this.blockquoteField; + } + set { + if ((value == null)) { + this.blockquoteField = null; + } + else { + if ((this.blockquoteField == null)) { + this.blockquoteField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, blockquoteXName); + } + else { + XTypedServices.SetList(this.blockquoteField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName addressXName = System.Xml.Linq.XName.Get("address", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList addressField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList address { + get { + if ((this.addressField == null)) { + this.addressField = new XTypedList(this, LinqToXsdTypeManager.Instance, addressXName); + } + return this.addressField; + } + set { + if ((value == null)) { + this.addressField = null; + } + else { + if ((this.addressField == null)) { + this.addressField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, addressXName); + } + else { + XTypedServices.SetList(this.addressField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName hrXName = System.Xml.Linq.XName.Get("hr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList hrField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList hr { + get { + if ((this.hrField == null)) { + this.hrField = new XTypedList(this, LinqToXsdTypeManager.Instance, hrXName); + } + return this.hrField; + } + set { + if ((value == null)) { + this.hrField = null; + } + else { + if ((this.hrField == null)) { + this.hrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, hrXName); + } + else { + XTypedServices.SetList(this.hrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName tableXName = System.Xml.Linq.XName.Get("table", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList tableField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList table { + get { + if ((this.tableField == null)) { + this.tableField = new XTypedList(this, LinqToXsdTypeManager.Instance, tableXName); + } + return this.tableField; + } + set { + if ((value == null)) { + this.tableField = null; + } + else { + if ((this.tableField == null)) { + this.tableField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, tableXName); + } + else { + XTypedServices.SetList(this.tableField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName formXName = System.Xml.Linq.XName.Get("form", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList formField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList form { + get { + if ((this.formField == null)) { + this.formField = new XTypedList(this, LinqToXsdTypeManager.Instance, formXName); + } + return this.formField; + } + set { + if ((value == null)) { + this.formField = null; + } + else { + if ((this.formField == null)) { + this.formField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, formXName); + } + else { + XTypedServices.SetList(this.formField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName fieldsetXName = System.Xml.Linq.XName.Get("fieldset", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList fieldsetField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList fieldset { + get { + if ((this.fieldsetField == null)) { + this.fieldsetField = new XTypedList(this, LinqToXsdTypeManager.Instance, fieldsetXName); + } + return this.fieldsetField; + } + set { + if ((value == null)) { + this.fieldsetField = null; + } + else { + if ((this.fieldsetField == null)) { + this.fieldsetField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, fieldsetXName); + } + else { + XTypedServices.SetList(this.fieldsetField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmllitype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmllitype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmllitype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.li.type", "http://www.w3.org/1999/xhtml"); + + static xhtmllitype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(h1XName), new NamedContentModelEntity(h2XName), new NamedContentModelEntity(h3XName), new NamedContentModelEntity(h4XName), new NamedContentModelEntity(h5XName), new NamedContentModelEntity(h6XName), new NamedContentModelEntity(ulXName), new NamedContentModelEntity(olXName), new NamedContentModelEntity(dlXName), new NamedContentModelEntity(pXName), new NamedContentModelEntity(divXName), new NamedContentModelEntity(preXName), new NamedContentModelEntity(blockquoteXName), new NamedContentModelEntity(addressXName), new SequenceContentModelEntity(new NamedContentModelEntity(hrXName)), new NamedContentModelEntity(tableXName), new NamedContentModelEntity(formXName), new NamedContentModelEntity(fieldsetXName), new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(h1XName, typeof(xhtmlh1type)); + localElementDictionary.Add(h2XName, typeof(xhtmlh2type)); + localElementDictionary.Add(h3XName, typeof(xhtmlh3type)); + localElementDictionary.Add(h4XName, typeof(xhtmlh4type)); + localElementDictionary.Add(h5XName, typeof(xhtmlh5type)); + localElementDictionary.Add(h6XName, typeof(xhtmlh6type)); + localElementDictionary.Add(ulXName, typeof(xhtmlultype)); + localElementDictionary.Add(olXName, typeof(xhtmloltype)); + localElementDictionary.Add(dlXName, typeof(xhtmldltype)); + localElementDictionary.Add(pXName, typeof(xhtmlptype)); + localElementDictionary.Add(divXName, typeof(xhtmldivtype)); + localElementDictionary.Add(preXName, typeof(xhtmlpretype)); + localElementDictionary.Add(blockquoteXName, typeof(xhtmlblockquotetype)); + localElementDictionary.Add(addressXName, typeof(xhtmladdresstype)); + localElementDictionary.Add(hrXName, typeof(xhtmlhrtype)); + localElementDictionary.Add(tableXName, typeof(xhtmltabletype)); + localElementDictionary.Add(formXName, typeof(xhtmlformtype)); + localElementDictionary.Add(fieldsetXName, typeof(xhtmlfieldsettype)); + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (li+) + /// + /// + public partial class xhtmloltype : XTypedElement, IXMetaData { + + public static explicit operator xhtmloltype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (li+) + /// + /// + public xhtmloltype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName liXName = System.Xml.Linq.XName.Get("li", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList liField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (li+) + /// + /// + public virtual IList li { + get { + if ((this.liField == null)) { + this.liField = new XTypedList(this, LinqToXsdTypeManager.Instance, liXName); + } + return this.liField; + } + set { + if ((value == null)) { + this.liField = null; + } + else { + if ((this.liField == null)) { + this.liField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, liXName); + } + else { + XTypedServices.SetList(this.liField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmloltype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmloltype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmloltype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.ol.type", "http://www.w3.org/1999/xhtml"); + + static xhtmloltype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(liXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(liXName, typeof(xhtmllitype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (li+) + /// + /// + public partial class xhtmlultype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlultype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (li+) + /// + /// + public xhtmlultype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName liXName = System.Xml.Linq.XName.Get("li", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList liField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (li+) + /// + /// + public virtual IList li { + get { + if ((this.liField == null)) { + this.liField = new XTypedList(this, LinqToXsdTypeManager.Instance, liXName); + } + return this.liField; + } + set { + if ((value == null)) { + this.liField = null; + } + else { + if ((this.liField == null)) { + this.liField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, liXName); + } + else { + XTypedServices.SetList(this.liField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlultype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlultype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlultype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.ul.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlultype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(liXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(liXName, typeof(xhtmllitype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class xhtmltitletype : XTypedElement, IXMetaData { + + public static explicit operator xhtmltitletype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public xhtmltitletype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmltitletype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmltitletype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmltitletype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.title.type", "http://www.w3.org/1999/xhtml"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((script | style | meta | link | @object)*, ((title, (script | style | meta | link | @object)*, (@base, (script | style | meta | link | @object)*)?)|(@base, (script | style | meta | link | @object)*, title, (script | style | meta | link | @object)*))) + /// + /// + public partial class xhtmlheadtype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlheadtype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((script | style | meta | link | @object)*, ((title, (script | style | meta | link | @object)*, (@base, (script | style | meta | link | @object)*)?)|(@base, (script | style | meta | link | @object)*, title, (script | style | meta | link | @object)*))) + /// + /// + public xhtmlheadtype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((script | style | meta | link | @object)*, ((title, (script | style | meta | link | @object)*, (@base, (script | style | meta | link | @object)*)?)|(@base, (script | style | meta | link | @object)*, title, (script | style | meta | link | @object)*))) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList styleField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((script | style | meta | link | @object)*, ((title, (script | style | meta | link | @object)*, (@base, (script | style | meta | link | @object)*)?)|(@base, (script | style | meta | link | @object)*, title, (script | style | meta | link | @object)*))) + /// + /// + public virtual IList style { + get { + if ((this.styleField == null)) { + this.styleField = new XTypedList(this, LinqToXsdTypeManager.Instance, styleXName); + } + return this.styleField; + } + set { + if ((value == null)) { + this.styleField = null; + } + else { + if ((this.styleField == null)) { + this.styleField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, styleXName); + } + else { + XTypedServices.SetList(this.styleField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName metaXName = System.Xml.Linq.XName.Get("meta", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList metaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((script | style | meta | link | @object)*, ((title, (script | style | meta | link | @object)*, (@base, (script | style | meta | link | @object)*)?)|(@base, (script | style | meta | link | @object)*, title, (script | style | meta | link | @object)*))) + /// + /// + public virtual IList meta { + get { + if ((this.metaField == null)) { + this.metaField = new XTypedList(this, LinqToXsdTypeManager.Instance, metaXName); + } + return this.metaField; + } + set { + if ((value == null)) { + this.metaField = null; + } + else { + if ((this.metaField == null)) { + this.metaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, metaXName); + } + else { + XTypedServices.SetList(this.metaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName linkXName = System.Xml.Linq.XName.Get("link", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList linkField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((script | style | meta | link | @object)*, ((title, (script | style | meta | link | @object)*, (@base, (script | style | meta | link | @object)*)?)|(@base, (script | style | meta | link | @object)*, title, (script | style | meta | link | @object)*))) + /// + /// + public virtual IList link { + get { + if ((this.linkField == null)) { + this.linkField = new XTypedList(this, LinqToXsdTypeManager.Instance, linkXName); + } + return this.linkField; + } + set { + if ((value == null)) { + this.linkField = null; + } + else { + if ((this.linkField == null)) { + this.linkField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, linkXName); + } + else { + XTypedServices.SetList(this.linkField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((script | style | meta | link | @object)*, ((title, (script | style | meta | link | @object)*, (@base, (script | style | meta | link | @object)*)?)|(@base, (script | style | meta | link | @object)*, title, (script | style | meta | link | @object)*))) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList titleField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((script | style | meta | link | @object)*, ((title, (script | style | meta | link | @object)*, (@base, (script | style | meta | link | @object)*)?)|(@base, (script | style | meta | link | @object)*, title, (script | style | meta | link | @object)*))) + /// + /// + public virtual IList title { + get { + if ((this.titleField == null)) { + this.titleField = new XTypedList(this, LinqToXsdTypeManager.Instance, titleXName); + } + return this.titleField; + } + set { + if ((value == null)) { + this.titleField = null; + } + else { + if ((this.titleField == null)) { + this.titleField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, titleXName); + } + else { + XTypedServices.SetList(this.titleField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @baseXName = System.Xml.Linq.XName.Get("base", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @baseField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((script | style | meta | link | @object)*, ((title, (script | style | meta | link | @object)*, (@base, (script | style | meta | link | @object)*)?)|(@base, (script | style | meta | link | @object)*, title, (script | style | meta | link | @object)*))) + /// + /// + public virtual IList @base { + get { + if ((this.@baseField == null)) { + this.@baseField = new XTypedList(this, LinqToXsdTypeManager.Instance, @baseXName); + } + return this.@baseField; + } + set { + if ((value == null)) { + this.@baseField = null; + } + else { + if ((this.@baseField == null)) { + this.@baseField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @baseXName); + } + else { + XTypedServices.SetList(this.@baseField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName profileXName = System.Xml.Linq.XName.Get("profile", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual IList profile { + get { + XAttribute x = this.Attribute(profileXName); + return XTypedServices.ParseListValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetListAttribute(profileXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlheadtype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlheadtype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlheadtype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.head.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlheadtype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(styleXName), new NamedContentModelEntity(metaXName), new NamedContentModelEntity(linkXName), new NamedContentModelEntity(@objectXName)), new ChoiceContentModelEntity(new SequenceContentModelEntity(new NamedContentModelEntity(titleXName), new ChoiceContentModelEntity(new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(styleXName), new NamedContentModelEntity(metaXName), new NamedContentModelEntity(linkXName), new NamedContentModelEntity(@objectXName)), new SequenceContentModelEntity(new NamedContentModelEntity(@baseXName), new ChoiceContentModelEntity(new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(styleXName), new NamedContentModelEntity(metaXName), new NamedContentModelEntity(linkXName), new NamedContentModelEntity(@objectXName)))), new SequenceContentModelEntity(new NamedContentModelEntity(@baseXName), new ChoiceContentModelEntity(new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(styleXName), new NamedContentModelEntity(metaXName), new NamedContentModelEntity(linkXName), new NamedContentModelEntity(@objectXName)), new NamedContentModelEntity(titleXName), new ChoiceContentModelEntity(new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(styleXName), new NamedContentModelEntity(metaXName), new NamedContentModelEntity(linkXName), new NamedContentModelEntity(@objectXName))))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(styleXName, typeof(xhtmlstyletype)); + localElementDictionary.Add(metaXName, typeof(xhtmlmetatype)); + localElementDictionary.Add(linkXName, typeof(xhtmllinktype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(titleXName, typeof(xhtmltitletype)); + localElementDictionary.Add(@baseXName, typeof(xhtmlbasetype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public partial class xhtmlbodytype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlbodytype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public xhtmlbodytype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h1XName = System.Xml.Linq.XName.Get("h1", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h1Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList h1 { + get { + if ((this.h1Field == null)) { + this.h1Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h1XName); + } + return this.h1Field; + } + set { + if ((value == null)) { + this.h1Field = null; + } + else { + if ((this.h1Field == null)) { + this.h1Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h1XName); + } + else { + XTypedServices.SetList(this.h1Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h2XName = System.Xml.Linq.XName.Get("h2", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h2Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList h2 { + get { + if ((this.h2Field == null)) { + this.h2Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h2XName); + } + return this.h2Field; + } + set { + if ((value == null)) { + this.h2Field = null; + } + else { + if ((this.h2Field == null)) { + this.h2Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h2XName); + } + else { + XTypedServices.SetList(this.h2Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h3XName = System.Xml.Linq.XName.Get("h3", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h3Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList h3 { + get { + if ((this.h3Field == null)) { + this.h3Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h3XName); + } + return this.h3Field; + } + set { + if ((value == null)) { + this.h3Field = null; + } + else { + if ((this.h3Field == null)) { + this.h3Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h3XName); + } + else { + XTypedServices.SetList(this.h3Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h4XName = System.Xml.Linq.XName.Get("h4", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h4Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList h4 { + get { + if ((this.h4Field == null)) { + this.h4Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h4XName); + } + return this.h4Field; + } + set { + if ((value == null)) { + this.h4Field = null; + } + else { + if ((this.h4Field == null)) { + this.h4Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h4XName); + } + else { + XTypedServices.SetList(this.h4Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h5XName = System.Xml.Linq.XName.Get("h5", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h5Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList h5 { + get { + if ((this.h5Field == null)) { + this.h5Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h5XName); + } + return this.h5Field; + } + set { + if ((value == null)) { + this.h5Field = null; + } + else { + if ((this.h5Field == null)) { + this.h5Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h5XName); + } + else { + XTypedServices.SetList(this.h5Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h6XName = System.Xml.Linq.XName.Get("h6", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h6Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList h6 { + get { + if ((this.h6Field == null)) { + this.h6Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h6XName); + } + return this.h6Field; + } + set { + if ((value == null)) { + this.h6Field = null; + } + else { + if ((this.h6Field == null)) { + this.h6Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h6XName); + } + else { + XTypedServices.SetList(this.h6Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ulXName = System.Xml.Linq.XName.Get("ul", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ulField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList ul { + get { + if ((this.ulField == null)) { + this.ulField = new XTypedList(this, LinqToXsdTypeManager.Instance, ulXName); + } + return this.ulField; + } + set { + if ((value == null)) { + this.ulField = null; + } + else { + if ((this.ulField == null)) { + this.ulField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ulXName); + } + else { + XTypedServices.SetList(this.ulField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName olXName = System.Xml.Linq.XName.Get("ol", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList olField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList ol { + get { + if ((this.olField == null)) { + this.olField = new XTypedList(this, LinqToXsdTypeManager.Instance, olXName); + } + return this.olField; + } + set { + if ((value == null)) { + this.olField = null; + } + else { + if ((this.olField == null)) { + this.olField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, olXName); + } + else { + XTypedServices.SetList(this.olField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dlXName = System.Xml.Linq.XName.Get("dl", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dlField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList dl { + get { + if ((this.dlField == null)) { + this.dlField = new XTypedList(this, LinqToXsdTypeManager.Instance, dlXName); + } + return this.dlField; + } + set { + if ((value == null)) { + this.dlField = null; + } + else { + if ((this.dlField == null)) { + this.dlField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dlXName); + } + else { + XTypedServices.SetList(this.dlField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName pXName = System.Xml.Linq.XName.Get("p", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList pField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList p { + get { + if ((this.pField == null)) { + this.pField = new XTypedList(this, LinqToXsdTypeManager.Instance, pXName); + } + return this.pField; + } + set { + if ((value == null)) { + this.pField = null; + } + else { + if ((this.pField == null)) { + this.pField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, pXName); + } + else { + XTypedServices.SetList(this.pField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName divXName = System.Xml.Linq.XName.Get("div", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList divField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList div { + get { + if ((this.divField == null)) { + this.divField = new XTypedList(this, LinqToXsdTypeManager.Instance, divXName); + } + return this.divField; + } + set { + if ((value == null)) { + this.divField = null; + } + else { + if ((this.divField == null)) { + this.divField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, divXName); + } + else { + XTypedServices.SetList(this.divField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName preXName = System.Xml.Linq.XName.Get("pre", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList preField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList pre { + get { + if ((this.preField == null)) { + this.preField = new XTypedList(this, LinqToXsdTypeManager.Instance, preXName); + } + return this.preField; + } + set { + if ((value == null)) { + this.preField = null; + } + else { + if ((this.preField == null)) { + this.preField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, preXName); + } + else { + XTypedServices.SetList(this.preField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName blockquoteXName = System.Xml.Linq.XName.Get("blockquote", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList blockquoteField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList blockquote { + get { + if ((this.blockquoteField == null)) { + this.blockquoteField = new XTypedList(this, LinqToXsdTypeManager.Instance, blockquoteXName); + } + return this.blockquoteField; + } + set { + if ((value == null)) { + this.blockquoteField = null; + } + else { + if ((this.blockquoteField == null)) { + this.blockquoteField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, blockquoteXName); + } + else { + XTypedServices.SetList(this.blockquoteField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName addressXName = System.Xml.Linq.XName.Get("address", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList addressField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList address { + get { + if ((this.addressField == null)) { + this.addressField = new XTypedList(this, LinqToXsdTypeManager.Instance, addressXName); + } + return this.addressField; + } + set { + if ((value == null)) { + this.addressField = null; + } + else { + if ((this.addressField == null)) { + this.addressField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, addressXName); + } + else { + XTypedServices.SetList(this.addressField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName hrXName = System.Xml.Linq.XName.Get("hr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList hrField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList hr { + get { + if ((this.hrField == null)) { + this.hrField = new XTypedList(this, LinqToXsdTypeManager.Instance, hrXName); + } + return this.hrField; + } + set { + if ((value == null)) { + this.hrField = null; + } + else { + if ((this.hrField == null)) { + this.hrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, hrXName); + } + else { + XTypedServices.SetList(this.hrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName tableXName = System.Xml.Linq.XName.Get("table", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList tableField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList table { + get { + if ((this.tableField == null)) { + this.tableField = new XTypedList(this, LinqToXsdTypeManager.Instance, tableXName); + } + return this.tableField; + } + set { + if ((value == null)) { + this.tableField = null; + } + else { + if ((this.tableField == null)) { + this.tableField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, tableXName); + } + else { + XTypedServices.SetList(this.tableField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName formXName = System.Xml.Linq.XName.Get("form", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList formField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList form { + get { + if ((this.formField == null)) { + this.formField = new XTypedList(this, LinqToXsdTypeManager.Instance, formXName); + } + return this.formField; + } + set { + if ((value == null)) { + this.formField = null; + } + else { + if ((this.formField == null)) { + this.formField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, formXName); + } + else { + XTypedServices.SetList(this.formField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName fieldsetXName = System.Xml.Linq.XName.Get("fieldset", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList fieldsetField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList fieldset { + get { + if ((this.fieldsetField == null)) { + this.fieldsetField = new XTypedList(this, LinqToXsdTypeManager.Instance, fieldsetXName); + } + return this.fieldsetField; + } + set { + if ((value == null)) { + this.fieldsetField = null; + } + else { + if ((this.fieldsetField == null)) { + this.fieldsetField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, fieldsetXName); + } + else { + XTypedServices.SetList(this.fieldsetField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlbodytype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlbodytype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlbodytype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onloadXName = System.Xml.Linq.XName.Get("onload", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onload { + get { + XAttribute x = this.Attribute(onloadXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onloadXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onunloadXName = System.Xml.Linq.XName.Get("onunload", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onunload { + get { + XAttribute x = this.Attribute(onunloadXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onunloadXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.body.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlbodytype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(h1XName), new NamedContentModelEntity(h2XName), new NamedContentModelEntity(h3XName), new NamedContentModelEntity(h4XName), new NamedContentModelEntity(h5XName), new NamedContentModelEntity(h6XName), new NamedContentModelEntity(ulXName), new NamedContentModelEntity(olXName), new NamedContentModelEntity(dlXName), new NamedContentModelEntity(pXName), new NamedContentModelEntity(divXName), new NamedContentModelEntity(preXName), new NamedContentModelEntity(blockquoteXName), new NamedContentModelEntity(addressXName), new SequenceContentModelEntity(new NamedContentModelEntity(hrXName)), new NamedContentModelEntity(tableXName), new NamedContentModelEntity(formXName), new NamedContentModelEntity(fieldsetXName), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(h1XName, typeof(xhtmlh1type)); + localElementDictionary.Add(h2XName, typeof(xhtmlh2type)); + localElementDictionary.Add(h3XName, typeof(xhtmlh3type)); + localElementDictionary.Add(h4XName, typeof(xhtmlh4type)); + localElementDictionary.Add(h5XName, typeof(xhtmlh5type)); + localElementDictionary.Add(h6XName, typeof(xhtmlh6type)); + localElementDictionary.Add(ulXName, typeof(xhtmlultype)); + localElementDictionary.Add(olXName, typeof(xhtmloltype)); + localElementDictionary.Add(dlXName, typeof(xhtmldltype)); + localElementDictionary.Add(pXName, typeof(xhtmlptype)); + localElementDictionary.Add(divXName, typeof(xhtmldivtype)); + localElementDictionary.Add(preXName, typeof(xhtmlpretype)); + localElementDictionary.Add(blockquoteXName, typeof(xhtmlblockquotetype)); + localElementDictionary.Add(addressXName, typeof(xhtmladdresstype)); + localElementDictionary.Add(hrXName, typeof(xhtmlhrtype)); + localElementDictionary.Add(tableXName, typeof(xhtmltabletype)); + localElementDictionary.Add(formXName, typeof(xhtmlformtype)); + localElementDictionary.Add(fieldsetXName, typeof(xhtmlfieldsettype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (head, body) + /// + /// + public partial class xhtmlhtmltype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlhtmltype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (head, body) + /// + /// + public xhtmlhtmltype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName headXName = System.Xml.Linq.XName.Get("head", "http://www.w3.org/1999/xhtml"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (head, body) + /// + /// + public virtual xhtmlheadtype head { + get { + XElement x = this.GetElement(headXName); + return ((xhtmlheadtype)(x)); + } + set { + this.SetElement(headXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bodyXName = System.Xml.Linq.XName.Get("body", "http://www.w3.org/1999/xhtml"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (head, body) + /// + /// + public virtual xhtmlbodytype body { + get { + XElement x = this.GetElement(bodyXName); + return ((xhtmlbodytype)(x)); + } + set { + this.SetElement(bodyXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName versionXName = System.Xml.Linq.XName.Get("version", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static string versionFixedValue = "-//W3C//DTD XHTML 1.1//EN"; + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string version { + get { + return versionFixedValue; + } + set { + if (value.Equals(versionFixedValue)) { + } + else { + throw new Xml.Schema.Linq.LinqToXsdFixedValueException(value, versionFixedValue); + } + this.SetAttribute(versionXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlhtmltype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlhtmltype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlhtmltype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.html.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlhtmltype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(headXName), new NamedContentModelEntity(bodyXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(headXName, typeof(xhtmlheadtype)); + localElementDictionary.Add(bodyXName, typeof(xhtmlbodytype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmledittype : XTypedElement, IXMetaData { + + public static explicit operator xhtmledittype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmledittype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h1XName = System.Xml.Linq.XName.Get("h1", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h1Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h1 { + get { + if ((this.h1Field == null)) { + this.h1Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h1XName); + } + return this.h1Field; + } + set { + if ((value == null)) { + this.h1Field = null; + } + else { + if ((this.h1Field == null)) { + this.h1Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h1XName); + } + else { + XTypedServices.SetList(this.h1Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h2XName = System.Xml.Linq.XName.Get("h2", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h2Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h2 { + get { + if ((this.h2Field == null)) { + this.h2Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h2XName); + } + return this.h2Field; + } + set { + if ((value == null)) { + this.h2Field = null; + } + else { + if ((this.h2Field == null)) { + this.h2Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h2XName); + } + else { + XTypedServices.SetList(this.h2Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h3XName = System.Xml.Linq.XName.Get("h3", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h3Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h3 { + get { + if ((this.h3Field == null)) { + this.h3Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h3XName); + } + return this.h3Field; + } + set { + if ((value == null)) { + this.h3Field = null; + } + else { + if ((this.h3Field == null)) { + this.h3Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h3XName); + } + else { + XTypedServices.SetList(this.h3Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h4XName = System.Xml.Linq.XName.Get("h4", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h4Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h4 { + get { + if ((this.h4Field == null)) { + this.h4Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h4XName); + } + return this.h4Field; + } + set { + if ((value == null)) { + this.h4Field = null; + } + else { + if ((this.h4Field == null)) { + this.h4Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h4XName); + } + else { + XTypedServices.SetList(this.h4Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h5XName = System.Xml.Linq.XName.Get("h5", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h5Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h5 { + get { + if ((this.h5Field == null)) { + this.h5Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h5XName); + } + return this.h5Field; + } + set { + if ((value == null)) { + this.h5Field = null; + } + else { + if ((this.h5Field == null)) { + this.h5Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h5XName); + } + else { + XTypedServices.SetList(this.h5Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h6XName = System.Xml.Linq.XName.Get("h6", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h6Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h6 { + get { + if ((this.h6Field == null)) { + this.h6Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h6XName); + } + return this.h6Field; + } + set { + if ((value == null)) { + this.h6Field = null; + } + else { + if ((this.h6Field == null)) { + this.h6Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h6XName); + } + else { + XTypedServices.SetList(this.h6Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ulXName = System.Xml.Linq.XName.Get("ul", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ulField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ul { + get { + if ((this.ulField == null)) { + this.ulField = new XTypedList(this, LinqToXsdTypeManager.Instance, ulXName); + } + return this.ulField; + } + set { + if ((value == null)) { + this.ulField = null; + } + else { + if ((this.ulField == null)) { + this.ulField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ulXName); + } + else { + XTypedServices.SetList(this.ulField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName olXName = System.Xml.Linq.XName.Get("ol", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList olField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ol { + get { + if ((this.olField == null)) { + this.olField = new XTypedList(this, LinqToXsdTypeManager.Instance, olXName); + } + return this.olField; + } + set { + if ((value == null)) { + this.olField = null; + } + else { + if ((this.olField == null)) { + this.olField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, olXName); + } + else { + XTypedServices.SetList(this.olField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dlXName = System.Xml.Linq.XName.Get("dl", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dlField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dl { + get { + if ((this.dlField == null)) { + this.dlField = new XTypedList(this, LinqToXsdTypeManager.Instance, dlXName); + } + return this.dlField; + } + set { + if ((value == null)) { + this.dlField = null; + } + else { + if ((this.dlField == null)) { + this.dlField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dlXName); + } + else { + XTypedServices.SetList(this.dlField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName pXName = System.Xml.Linq.XName.Get("p", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList pField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList p { + get { + if ((this.pField == null)) { + this.pField = new XTypedList(this, LinqToXsdTypeManager.Instance, pXName); + } + return this.pField; + } + set { + if ((value == null)) { + this.pField = null; + } + else { + if ((this.pField == null)) { + this.pField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, pXName); + } + else { + XTypedServices.SetList(this.pField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName divXName = System.Xml.Linq.XName.Get("div", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList divField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList div { + get { + if ((this.divField == null)) { + this.divField = new XTypedList(this, LinqToXsdTypeManager.Instance, divXName); + } + return this.divField; + } + set { + if ((value == null)) { + this.divField = null; + } + else { + if ((this.divField == null)) { + this.divField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, divXName); + } + else { + XTypedServices.SetList(this.divField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName preXName = System.Xml.Linq.XName.Get("pre", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList preField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList pre { + get { + if ((this.preField == null)) { + this.preField = new XTypedList(this, LinqToXsdTypeManager.Instance, preXName); + } + return this.preField; + } + set { + if ((value == null)) { + this.preField = null; + } + else { + if ((this.preField == null)) { + this.preField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, preXName); + } + else { + XTypedServices.SetList(this.preField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName blockquoteXName = System.Xml.Linq.XName.Get("blockquote", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList blockquoteField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList blockquote { + get { + if ((this.blockquoteField == null)) { + this.blockquoteField = new XTypedList(this, LinqToXsdTypeManager.Instance, blockquoteXName); + } + return this.blockquoteField; + } + set { + if ((value == null)) { + this.blockquoteField = null; + } + else { + if ((this.blockquoteField == null)) { + this.blockquoteField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, blockquoteXName); + } + else { + XTypedServices.SetList(this.blockquoteField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName addressXName = System.Xml.Linq.XName.Get("address", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList addressField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList address { + get { + if ((this.addressField == null)) { + this.addressField = new XTypedList(this, LinqToXsdTypeManager.Instance, addressXName); + } + return this.addressField; + } + set { + if ((value == null)) { + this.addressField = null; + } + else { + if ((this.addressField == null)) { + this.addressField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, addressXName); + } + else { + XTypedServices.SetList(this.addressField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName hrXName = System.Xml.Linq.XName.Get("hr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList hrField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList hr { + get { + if ((this.hrField == null)) { + this.hrField = new XTypedList(this, LinqToXsdTypeManager.Instance, hrXName); + } + return this.hrField; + } + set { + if ((value == null)) { + this.hrField = null; + } + else { + if ((this.hrField == null)) { + this.hrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, hrXName); + } + else { + XTypedServices.SetList(this.hrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName tableXName = System.Xml.Linq.XName.Get("table", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList tableField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList table { + get { + if ((this.tableField == null)) { + this.tableField = new XTypedList(this, LinqToXsdTypeManager.Instance, tableXName); + } + return this.tableField; + } + set { + if ((value == null)) { + this.tableField = null; + } + else { + if ((this.tableField == null)) { + this.tableField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, tableXName); + } + else { + XTypedServices.SetList(this.tableField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName formXName = System.Xml.Linq.XName.Get("form", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList formField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList form { + get { + if ((this.formField == null)) { + this.formField = new XTypedList(this, LinqToXsdTypeManager.Instance, formXName); + } + return this.formField; + } + set { + if ((value == null)) { + this.formField = null; + } + else { + if ((this.formField == null)) { + this.formField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, formXName); + } + else { + XTypedServices.SetList(this.formField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName fieldsetXName = System.Xml.Linq.XName.Get("fieldset", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList fieldsetField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList fieldset { + get { + if ((this.fieldsetField == null)) { + this.fieldsetField = new XTypedList(this, LinqToXsdTypeManager.Instance, fieldsetXName); + } + return this.fieldsetField; + } + set { + if ((value == null)) { + this.fieldsetField = null; + } + else { + if ((this.fieldsetField == null)) { + this.fieldsetField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, fieldsetXName); + } + else { + XTypedServices.SetList(this.fieldsetField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmledittype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmledittype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmledittype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName cite1XName = System.Xml.Linq.XName.Get("cite", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Uri cite1 { + get { + XAttribute x = this.Attribute(cite1XName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(cite1XName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName datetimeXName = System.Xml.Linq.XName.Get("datetime", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.DateTime? datetime { + get { + XAttribute x = this.Attribute(datetimeXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.DateTime).Datatype); + } + set { + this.SetAttribute(datetimeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.DateTime).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.edit.type", "http://www.w3.org/1999/xhtml"); + + static xhtmledittype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(h1XName), new NamedContentModelEntity(h2XName), new NamedContentModelEntity(h3XName), new NamedContentModelEntity(h4XName), new NamedContentModelEntity(h5XName), new NamedContentModelEntity(h6XName), new NamedContentModelEntity(ulXName), new NamedContentModelEntity(olXName), new NamedContentModelEntity(dlXName), new NamedContentModelEntity(pXName), new NamedContentModelEntity(divXName), new NamedContentModelEntity(preXName), new NamedContentModelEntity(blockquoteXName), new NamedContentModelEntity(addressXName), new SequenceContentModelEntity(new NamedContentModelEntity(hrXName)), new NamedContentModelEntity(tableXName), new NamedContentModelEntity(formXName), new NamedContentModelEntity(fieldsetXName), new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(h1XName, typeof(xhtmlh1type)); + localElementDictionary.Add(h2XName, typeof(xhtmlh2type)); + localElementDictionary.Add(h3XName, typeof(xhtmlh3type)); + localElementDictionary.Add(h4XName, typeof(xhtmlh4type)); + localElementDictionary.Add(h5XName, typeof(xhtmlh5type)); + localElementDictionary.Add(h6XName, typeof(xhtmlh6type)); + localElementDictionary.Add(ulXName, typeof(xhtmlultype)); + localElementDictionary.Add(olXName, typeof(xhtmloltype)); + localElementDictionary.Add(dlXName, typeof(xhtmldltype)); + localElementDictionary.Add(pXName, typeof(xhtmlptype)); + localElementDictionary.Add(divXName, typeof(xhtmldivtype)); + localElementDictionary.Add(preXName, typeof(xhtmlpretype)); + localElementDictionary.Add(blockquoteXName, typeof(xhtmlblockquotetype)); + localElementDictionary.Add(addressXName, typeof(xhtmladdresstype)); + localElementDictionary.Add(hrXName, typeof(xhtmlhrtype)); + localElementDictionary.Add(tableXName, typeof(xhtmltabletype)); + localElementDictionary.Add(formXName, typeof(xhtmlformtype)); + localElementDictionary.Add(fieldsetXName, typeof(xhtmlfieldsettype)); + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmlbdotype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlbdotype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmlbdotype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlbdotype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlbdotype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlbdotype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.bdo.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlbdotype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class xhtmlhrtype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlhrtype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public xhtmlhrtype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlhrtype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlhrtype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlhrtype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.hr.type", "http://www.w3.org/1999/xhtml"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmlInlPrestype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlInlPrestype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmlInlPrestype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlInlPrestype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlInlPrestype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlInlPrestype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.InlPres.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlInlPrestype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class xhtmllinktype : XTypedElement, IXMetaData { + + public static explicit operator xhtmllinktype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public xhtmllinktype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmllinktype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmllinktype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmllinktype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName charsetXName = System.Xml.Linq.XName.Get("charset", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string charset { + get { + XAttribute x = this.Attribute(charsetXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(charsetXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName hrefXName = System.Xml.Linq.XName.Get("href", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Uri href { + get { + XAttribute x = this.Attribute(hrefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(hrefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName hreflangXName = System.Xml.Linq.XName.Get("hreflang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object hreflang { + get { + XAttribute x = this.Attribute(hreflangXName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "hreflang", this, hreflangXName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName typeXName = System.Xml.Linq.XName.Get("type", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string type { + get { + XAttribute x = this.Attribute(typeXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(typeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName relXName = System.Xml.Linq.XName.Get("rel", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual IList rel { + get { + XAttribute x = this.Attribute(relXName); + return XTypedServices.ParseListValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + set { + this.SetListAttribute(relXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName revXName = System.Xml.Linq.XName.Get("rev", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual IList rev { + get { + XAttribute x = this.Attribute(revXName); + return XTypedServices.ParseListValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + set { + this.SetListAttribute(revXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mediaXName = System.Xml.Linq.XName.Get("media", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string media { + get { + XAttribute x = this.Attribute(mediaXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(mediaXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName targetXName = System.Xml.Linq.XName.Get("target", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object target { + get { + XAttribute x = this.Attribute(targetXName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.FrameTarget.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "target", this, targetXName, global::W3C.Xhtml.Datatypes.FrameTarget.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.link.type", "http://www.w3.org/1999/xhtml"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class xhtmlmetatype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlmetatype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public xhtmlmetatype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlmetatype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlmetatype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlmetatype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName httpequivXName = System.Xml.Linq.XName.Get("http-equiv", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string httpequiv { + get { + XAttribute x = this.Attribute(httpequivXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + set { + this.SetAttribute(httpequivXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName nameXName = System.Xml.Linq.XName.Get("name", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string name { + get { + XAttribute x = this.Attribute(nameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + set { + this.SetAttribute(nameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName contentXName = System.Xml.Linq.XName.Get("content", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string content { + get { + XAttribute x = this.Attribute(contentXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(contentXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName schemeXName = System.Xml.Linq.XName.Get("scheme", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string scheme { + get { + XAttribute x = this.Attribute(schemeXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(schemeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.meta.type", "http://www.w3.org/1999/xhtml"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class xhtmlbasetype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlbasetype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public xhtmlbasetype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName hrefXName = System.Xml.Linq.XName.Get("href", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual System.Uri href { + get { + XAttribute x = this.Attribute(hrefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(hrefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName targetXName = System.Xml.Linq.XName.Get("target", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object target { + get { + XAttribute x = this.Attribute(targetXName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.FrameTarget.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "target", this, targetXName, global::W3C.Xhtml.Datatypes.FrameTarget.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.base.type", "http://www.w3.org/1999/xhtml"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class xhtmlscripttype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlscripttype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public xhtmlscripttype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName charsetXName = System.Xml.Linq.XName.Get("charset", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string charset { + get { + XAttribute x = this.Attribute(charsetXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(charsetXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName typeXName = System.Xml.Linq.XName.Get("type", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string type { + get { + XAttribute x = this.Attribute(typeXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(typeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName srcXName = System.Xml.Linq.XName.Get("src", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Uri src { + get { + XAttribute x = this.Attribute(srcXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(srcXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + public enum DeferEnum { + + defer, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName deferXName = System.Xml.Linq.XName.Get("defer", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlscripttype.DeferEnum? defer { + get { + XAttribute x = this.Attribute(deferXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlscripttype.DeferEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlscripttype.DeferEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(deferXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.script.type", "http://www.w3.org/1999/xhtml"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)+) + /// + /// + public partial class xhtmlnoscripttype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlnoscripttype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)+) + /// + /// + public xhtmlnoscripttype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h1XName = System.Xml.Linq.XName.Get("h1", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h1Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)+) + /// + /// + public virtual IList h1 { + get { + if ((this.h1Field == null)) { + this.h1Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h1XName); + } + return this.h1Field; + } + set { + if ((value == null)) { + this.h1Field = null; + } + else { + if ((this.h1Field == null)) { + this.h1Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h1XName); + } + else { + XTypedServices.SetList(this.h1Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h2XName = System.Xml.Linq.XName.Get("h2", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h2Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)+) + /// + /// + public virtual IList h2 { + get { + if ((this.h2Field == null)) { + this.h2Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h2XName); + } + return this.h2Field; + } + set { + if ((value == null)) { + this.h2Field = null; + } + else { + if ((this.h2Field == null)) { + this.h2Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h2XName); + } + else { + XTypedServices.SetList(this.h2Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h3XName = System.Xml.Linq.XName.Get("h3", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h3Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)+) + /// + /// + public virtual IList h3 { + get { + if ((this.h3Field == null)) { + this.h3Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h3XName); + } + return this.h3Field; + } + set { + if ((value == null)) { + this.h3Field = null; + } + else { + if ((this.h3Field == null)) { + this.h3Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h3XName); + } + else { + XTypedServices.SetList(this.h3Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h4XName = System.Xml.Linq.XName.Get("h4", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h4Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)+) + /// + /// + public virtual IList h4 { + get { + if ((this.h4Field == null)) { + this.h4Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h4XName); + } + return this.h4Field; + } + set { + if ((value == null)) { + this.h4Field = null; + } + else { + if ((this.h4Field == null)) { + this.h4Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h4XName); + } + else { + XTypedServices.SetList(this.h4Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h5XName = System.Xml.Linq.XName.Get("h5", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h5Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)+) + /// + /// + public virtual IList h5 { + get { + if ((this.h5Field == null)) { + this.h5Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h5XName); + } + return this.h5Field; + } + set { + if ((value == null)) { + this.h5Field = null; + } + else { + if ((this.h5Field == null)) { + this.h5Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h5XName); + } + else { + XTypedServices.SetList(this.h5Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h6XName = System.Xml.Linq.XName.Get("h6", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h6Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)+) + /// + /// + public virtual IList h6 { + get { + if ((this.h6Field == null)) { + this.h6Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h6XName); + } + return this.h6Field; + } + set { + if ((value == null)) { + this.h6Field = null; + } + else { + if ((this.h6Field == null)) { + this.h6Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h6XName); + } + else { + XTypedServices.SetList(this.h6Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ulXName = System.Xml.Linq.XName.Get("ul", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ulField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)+) + /// + /// + public virtual IList ul { + get { + if ((this.ulField == null)) { + this.ulField = new XTypedList(this, LinqToXsdTypeManager.Instance, ulXName); + } + return this.ulField; + } + set { + if ((value == null)) { + this.ulField = null; + } + else { + if ((this.ulField == null)) { + this.ulField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ulXName); + } + else { + XTypedServices.SetList(this.ulField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName olXName = System.Xml.Linq.XName.Get("ol", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList olField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)+) + /// + /// + public virtual IList ol { + get { + if ((this.olField == null)) { + this.olField = new XTypedList(this, LinqToXsdTypeManager.Instance, olXName); + } + return this.olField; + } + set { + if ((value == null)) { + this.olField = null; + } + else { + if ((this.olField == null)) { + this.olField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, olXName); + } + else { + XTypedServices.SetList(this.olField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dlXName = System.Xml.Linq.XName.Get("dl", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dlField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)+) + /// + /// + public virtual IList dl { + get { + if ((this.dlField == null)) { + this.dlField = new XTypedList(this, LinqToXsdTypeManager.Instance, dlXName); + } + return this.dlField; + } + set { + if ((value == null)) { + this.dlField = null; + } + else { + if ((this.dlField == null)) { + this.dlField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dlXName); + } + else { + XTypedServices.SetList(this.dlField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName pXName = System.Xml.Linq.XName.Get("p", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList pField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)+) + /// + /// + public virtual IList p { + get { + if ((this.pField == null)) { + this.pField = new XTypedList(this, LinqToXsdTypeManager.Instance, pXName); + } + return this.pField; + } + set { + if ((value == null)) { + this.pField = null; + } + else { + if ((this.pField == null)) { + this.pField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, pXName); + } + else { + XTypedServices.SetList(this.pField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName divXName = System.Xml.Linq.XName.Get("div", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList divField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)+) + /// + /// + public virtual IList div { + get { + if ((this.divField == null)) { + this.divField = new XTypedList(this, LinqToXsdTypeManager.Instance, divXName); + } + return this.divField; + } + set { + if ((value == null)) { + this.divField = null; + } + else { + if ((this.divField == null)) { + this.divField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, divXName); + } + else { + XTypedServices.SetList(this.divField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName preXName = System.Xml.Linq.XName.Get("pre", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList preField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)+) + /// + /// + public virtual IList pre { + get { + if ((this.preField == null)) { + this.preField = new XTypedList(this, LinqToXsdTypeManager.Instance, preXName); + } + return this.preField; + } + set { + if ((value == null)) { + this.preField = null; + } + else { + if ((this.preField == null)) { + this.preField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, preXName); + } + else { + XTypedServices.SetList(this.preField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName blockquoteXName = System.Xml.Linq.XName.Get("blockquote", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList blockquoteField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)+) + /// + /// + public virtual IList blockquote { + get { + if ((this.blockquoteField == null)) { + this.blockquoteField = new XTypedList(this, LinqToXsdTypeManager.Instance, blockquoteXName); + } + return this.blockquoteField; + } + set { + if ((value == null)) { + this.blockquoteField = null; + } + else { + if ((this.blockquoteField == null)) { + this.blockquoteField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, blockquoteXName); + } + else { + XTypedServices.SetList(this.blockquoteField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName addressXName = System.Xml.Linq.XName.Get("address", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList addressField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)+) + /// + /// + public virtual IList address { + get { + if ((this.addressField == null)) { + this.addressField = new XTypedList(this, LinqToXsdTypeManager.Instance, addressXName); + } + return this.addressField; + } + set { + if ((value == null)) { + this.addressField = null; + } + else { + if ((this.addressField == null)) { + this.addressField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, addressXName); + } + else { + XTypedServices.SetList(this.addressField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName hrXName = System.Xml.Linq.XName.Get("hr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList hrField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)+) + /// + /// + public virtual IList hr { + get { + if ((this.hrField == null)) { + this.hrField = new XTypedList(this, LinqToXsdTypeManager.Instance, hrXName); + } + return this.hrField; + } + set { + if ((value == null)) { + this.hrField = null; + } + else { + if ((this.hrField == null)) { + this.hrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, hrXName); + } + else { + XTypedServices.SetList(this.hrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName tableXName = System.Xml.Linq.XName.Get("table", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList tableField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)+) + /// + /// + public virtual IList table { + get { + if ((this.tableField == null)) { + this.tableField = new XTypedList(this, LinqToXsdTypeManager.Instance, tableXName); + } + return this.tableField; + } + set { + if ((value == null)) { + this.tableField = null; + } + else { + if ((this.tableField == null)) { + this.tableField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, tableXName); + } + else { + XTypedServices.SetList(this.tableField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName formXName = System.Xml.Linq.XName.Get("form", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList formField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)+) + /// + /// + public virtual IList form { + get { + if ((this.formField == null)) { + this.formField = new XTypedList(this, LinqToXsdTypeManager.Instance, formXName); + } + return this.formField; + } + set { + if ((value == null)) { + this.formField = null; + } + else { + if ((this.formField == null)) { + this.formField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, formXName); + } + else { + XTypedServices.SetList(this.formField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName fieldsetXName = System.Xml.Linq.XName.Get("fieldset", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList fieldsetField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)+) + /// + /// + public virtual IList fieldset { + get { + if ((this.fieldsetField == null)) { + this.fieldsetField = new XTypedList(this, LinqToXsdTypeManager.Instance, fieldsetXName); + } + return this.fieldsetField; + } + set { + if ((value == null)) { + this.fieldsetField = null; + } + else { + if ((this.fieldsetField == null)) { + this.fieldsetField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, fieldsetXName); + } + else { + XTypedServices.SetList(this.fieldsetField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)+) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)+) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)+) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript)+) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlnoscripttype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlnoscripttype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlnoscripttype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.noscript.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlnoscripttype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(h1XName), new NamedContentModelEntity(h2XName), new NamedContentModelEntity(h3XName), new NamedContentModelEntity(h4XName), new NamedContentModelEntity(h5XName), new NamedContentModelEntity(h6XName), new NamedContentModelEntity(ulXName), new NamedContentModelEntity(olXName), new NamedContentModelEntity(dlXName), new NamedContentModelEntity(pXName), new NamedContentModelEntity(divXName), new NamedContentModelEntity(preXName), new NamedContentModelEntity(blockquoteXName), new NamedContentModelEntity(addressXName), new SequenceContentModelEntity(new NamedContentModelEntity(hrXName)), new NamedContentModelEntity(tableXName), new NamedContentModelEntity(formXName), new NamedContentModelEntity(fieldsetXName), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(h1XName, typeof(xhtmlh1type)); + localElementDictionary.Add(h2XName, typeof(xhtmlh2type)); + localElementDictionary.Add(h3XName, typeof(xhtmlh3type)); + localElementDictionary.Add(h4XName, typeof(xhtmlh4type)); + localElementDictionary.Add(h5XName, typeof(xhtmlh5type)); + localElementDictionary.Add(h6XName, typeof(xhtmlh6type)); + localElementDictionary.Add(ulXName, typeof(xhtmlultype)); + localElementDictionary.Add(olXName, typeof(xhtmloltype)); + localElementDictionary.Add(dlXName, typeof(xhtmldltype)); + localElementDictionary.Add(pXName, typeof(xhtmlptype)); + localElementDictionary.Add(divXName, typeof(xhtmldivtype)); + localElementDictionary.Add(preXName, typeof(xhtmlpretype)); + localElementDictionary.Add(blockquoteXName, typeof(xhtmlblockquotetype)); + localElementDictionary.Add(addressXName, typeof(xhtmladdresstype)); + localElementDictionary.Add(hrXName, typeof(xhtmlhrtype)); + localElementDictionary.Add(tableXName, typeof(xhtmltabletype)); + localElementDictionary.Add(formXName, typeof(xhtmlformtype)); + localElementDictionary.Add(fieldsetXName, typeof(xhtmlfieldsettype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class xhtmlstyletype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlstyletype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public xhtmlstyletype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlstyletype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlstyletype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlstyletype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName typeXName = System.Xml.Linq.XName.Get("type", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string type { + get { + XAttribute x = this.Attribute(typeXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(typeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mediaXName = System.Xml.Linq.XName.Get("media", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string media { + get { + XAttribute x = this.Attribute(mediaXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(mediaXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.style.type", "http://www.w3.org/1999/xhtml"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class xhtmlimgtype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlimgtype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public xhtmlimgtype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlimgtype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlimgtype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlimgtype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName srcXName = System.Xml.Linq.XName.Get("src", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual System.Uri src { + get { + XAttribute x = this.Attribute(srcXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(srcXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName altXName = System.Xml.Linq.XName.Get("alt", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string alt { + get { + XAttribute x = this.Attribute(altXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(altXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName longdescXName = System.Xml.Linq.XName.Get("longdesc", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Uri longdesc { + get { + XAttribute x = this.Attribute(longdescXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(longdescXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName nameXName = System.Xml.Linq.XName.Get("name", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string name { + get { + XAttribute x = this.Attribute(nameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(nameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName heightXName = System.Xml.Linq.XName.Get("height", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object height { + get { + XAttribute x = this.Attribute(heightXName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "height", this, heightXName, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName widthXName = System.Xml.Linq.XName.Get("width", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object width { + get { + XAttribute x = this.Attribute(widthXName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "width", this, widthXName, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName usemapXName = System.Xml.Linq.XName.Get("usemap", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string usemap { + get { + XAttribute x = this.Attribute(usemapXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(usemapXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + public enum IsmapEnum { + + ismap, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ismapXName = System.Xml.Linq.XName.Get("ismap", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlimgtype.IsmapEnum? ismap { + get { + XAttribute x = this.Attribute(ismapXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlimgtype.IsmapEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlimgtype.IsmapEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(ismapXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.img.type", "http://www.w3.org/1999/xhtml"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public sealed class xhtmlShapeDatatype { + + private xhtmlShapeDatatype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "rect", + "circle", + "poly", + "default"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Collapse)); + } + + public sealed class xhtmlCoordsDatatype { + + private xhtmlCoordsDatatype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + + public partial class xhtmlareatype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlareatype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public xhtmlareatype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlareatype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlareatype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlareatype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName hrefXName = System.Xml.Linq.XName.Get("href", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Uri href { + get { + XAttribute x = this.Attribute(hrefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(hrefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName shapeXName = System.Xml.Linq.XName.Get("shape", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static string shapeDefaultValue = "rect"; + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string shape { + get { + XAttribute x = this.Attribute(shapeXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype, shapeDefaultValue); + } + set { + this.SetAttribute(shapeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName coordsXName = System.Xml.Linq.XName.Get("coords", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string coords { + get { + XAttribute x = this.Attribute(coordsXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(coordsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + public enum NohrefEnum { + + nohref, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName nohrefXName = System.Xml.Linq.XName.Get("nohref", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlareatype.NohrefEnum? nohref { + get { + XAttribute x = this.Attribute(nohrefXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlareatype.NohrefEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlareatype.NohrefEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(nohrefXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName altXName = System.Xml.Linq.XName.Get("alt", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string alt { + get { + XAttribute x = this.Attribute(altXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(altXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName tabindexXName = System.Xml.Linq.XName.Get("tabindex", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Decimal? tabindex { + get { + XAttribute x = this.Attribute(tabindexXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(tabindexXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName accesskeyXName = System.Xml.Linq.XName.Get("accesskey", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string accesskey { + get { + XAttribute x = this.Attribute(accesskeyXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(accesskeyXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onfocusXName = System.Xml.Linq.XName.Get("onfocus", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onfocus { + get { + XAttribute x = this.Attribute(onfocusXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onfocusXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onblurXName = System.Xml.Linq.XName.Get("onblur", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onblur { + get { + XAttribute x = this.Attribute(onblurXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onblurXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName targetXName = System.Xml.Linq.XName.Get("target", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object target { + get { + XAttribute x = this.Attribute(targetXName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.FrameTarget.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "target", this, targetXName, global::W3C.Xhtml.Datatypes.FrameTarget.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.area.type", "http://www.w3.org/1999/xhtml"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript | area)+) + /// + /// + public partial class xhtmlmaptype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlmaptype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript | area)+) + /// + /// + public xhtmlmaptype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h1XName = System.Xml.Linq.XName.Get("h1", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h1Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript | area)+) + /// + /// + public virtual IList h1 { + get { + if ((this.h1Field == null)) { + this.h1Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h1XName); + } + return this.h1Field; + } + set { + if ((value == null)) { + this.h1Field = null; + } + else { + if ((this.h1Field == null)) { + this.h1Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h1XName); + } + else { + XTypedServices.SetList(this.h1Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h2XName = System.Xml.Linq.XName.Get("h2", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h2Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript | area)+) + /// + /// + public virtual IList h2 { + get { + if ((this.h2Field == null)) { + this.h2Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h2XName); + } + return this.h2Field; + } + set { + if ((value == null)) { + this.h2Field = null; + } + else { + if ((this.h2Field == null)) { + this.h2Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h2XName); + } + else { + XTypedServices.SetList(this.h2Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h3XName = System.Xml.Linq.XName.Get("h3", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h3Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript | area)+) + /// + /// + public virtual IList h3 { + get { + if ((this.h3Field == null)) { + this.h3Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h3XName); + } + return this.h3Field; + } + set { + if ((value == null)) { + this.h3Field = null; + } + else { + if ((this.h3Field == null)) { + this.h3Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h3XName); + } + else { + XTypedServices.SetList(this.h3Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h4XName = System.Xml.Linq.XName.Get("h4", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h4Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript | area)+) + /// + /// + public virtual IList h4 { + get { + if ((this.h4Field == null)) { + this.h4Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h4XName); + } + return this.h4Field; + } + set { + if ((value == null)) { + this.h4Field = null; + } + else { + if ((this.h4Field == null)) { + this.h4Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h4XName); + } + else { + XTypedServices.SetList(this.h4Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h5XName = System.Xml.Linq.XName.Get("h5", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h5Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript | area)+) + /// + /// + public virtual IList h5 { + get { + if ((this.h5Field == null)) { + this.h5Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h5XName); + } + return this.h5Field; + } + set { + if ((value == null)) { + this.h5Field = null; + } + else { + if ((this.h5Field == null)) { + this.h5Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h5XName); + } + else { + XTypedServices.SetList(this.h5Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h6XName = System.Xml.Linq.XName.Get("h6", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h6Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript | area)+) + /// + /// + public virtual IList h6 { + get { + if ((this.h6Field == null)) { + this.h6Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h6XName); + } + return this.h6Field; + } + set { + if ((value == null)) { + this.h6Field = null; + } + else { + if ((this.h6Field == null)) { + this.h6Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h6XName); + } + else { + XTypedServices.SetList(this.h6Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ulXName = System.Xml.Linq.XName.Get("ul", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ulField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript | area)+) + /// + /// + public virtual IList ul { + get { + if ((this.ulField == null)) { + this.ulField = new XTypedList(this, LinqToXsdTypeManager.Instance, ulXName); + } + return this.ulField; + } + set { + if ((value == null)) { + this.ulField = null; + } + else { + if ((this.ulField == null)) { + this.ulField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ulXName); + } + else { + XTypedServices.SetList(this.ulField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName olXName = System.Xml.Linq.XName.Get("ol", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList olField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript | area)+) + /// + /// + public virtual IList ol { + get { + if ((this.olField == null)) { + this.olField = new XTypedList(this, LinqToXsdTypeManager.Instance, olXName); + } + return this.olField; + } + set { + if ((value == null)) { + this.olField = null; + } + else { + if ((this.olField == null)) { + this.olField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, olXName); + } + else { + XTypedServices.SetList(this.olField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dlXName = System.Xml.Linq.XName.Get("dl", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dlField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript | area)+) + /// + /// + public virtual IList dl { + get { + if ((this.dlField == null)) { + this.dlField = new XTypedList(this, LinqToXsdTypeManager.Instance, dlXName); + } + return this.dlField; + } + set { + if ((value == null)) { + this.dlField = null; + } + else { + if ((this.dlField == null)) { + this.dlField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dlXName); + } + else { + XTypedServices.SetList(this.dlField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName pXName = System.Xml.Linq.XName.Get("p", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList pField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript | area)+) + /// + /// + public virtual IList p { + get { + if ((this.pField == null)) { + this.pField = new XTypedList(this, LinqToXsdTypeManager.Instance, pXName); + } + return this.pField; + } + set { + if ((value == null)) { + this.pField = null; + } + else { + if ((this.pField == null)) { + this.pField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, pXName); + } + else { + XTypedServices.SetList(this.pField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName divXName = System.Xml.Linq.XName.Get("div", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList divField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript | area)+) + /// + /// + public virtual IList div { + get { + if ((this.divField == null)) { + this.divField = new XTypedList(this, LinqToXsdTypeManager.Instance, divXName); + } + return this.divField; + } + set { + if ((value == null)) { + this.divField = null; + } + else { + if ((this.divField == null)) { + this.divField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, divXName); + } + else { + XTypedServices.SetList(this.divField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName preXName = System.Xml.Linq.XName.Get("pre", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList preField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript | area)+) + /// + /// + public virtual IList pre { + get { + if ((this.preField == null)) { + this.preField = new XTypedList(this, LinqToXsdTypeManager.Instance, preXName); + } + return this.preField; + } + set { + if ((value == null)) { + this.preField = null; + } + else { + if ((this.preField == null)) { + this.preField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, preXName); + } + else { + XTypedServices.SetList(this.preField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName blockquoteXName = System.Xml.Linq.XName.Get("blockquote", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList blockquoteField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript | area)+) + /// + /// + public virtual IList blockquote { + get { + if ((this.blockquoteField == null)) { + this.blockquoteField = new XTypedList(this, LinqToXsdTypeManager.Instance, blockquoteXName); + } + return this.blockquoteField; + } + set { + if ((value == null)) { + this.blockquoteField = null; + } + else { + if ((this.blockquoteField == null)) { + this.blockquoteField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, blockquoteXName); + } + else { + XTypedServices.SetList(this.blockquoteField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName addressXName = System.Xml.Linq.XName.Get("address", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList addressField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript | area)+) + /// + /// + public virtual IList address { + get { + if ((this.addressField == null)) { + this.addressField = new XTypedList(this, LinqToXsdTypeManager.Instance, addressXName); + } + return this.addressField; + } + set { + if ((value == null)) { + this.addressField = null; + } + else { + if ((this.addressField == null)) { + this.addressField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, addressXName); + } + else { + XTypedServices.SetList(this.addressField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName hrXName = System.Xml.Linq.XName.Get("hr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList hrField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript | area)+) + /// + /// + public virtual IList hr { + get { + if ((this.hrField == null)) { + this.hrField = new XTypedList(this, LinqToXsdTypeManager.Instance, hrXName); + } + return this.hrField; + } + set { + if ((value == null)) { + this.hrField = null; + } + else { + if ((this.hrField == null)) { + this.hrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, hrXName); + } + else { + XTypedServices.SetList(this.hrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName tableXName = System.Xml.Linq.XName.Get("table", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList tableField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript | area)+) + /// + /// + public virtual IList table { + get { + if ((this.tableField == null)) { + this.tableField = new XTypedList(this, LinqToXsdTypeManager.Instance, tableXName); + } + return this.tableField; + } + set { + if ((value == null)) { + this.tableField = null; + } + else { + if ((this.tableField == null)) { + this.tableField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, tableXName); + } + else { + XTypedServices.SetList(this.tableField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName formXName = System.Xml.Linq.XName.Get("form", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList formField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript | area)+) + /// + /// + public virtual IList form { + get { + if ((this.formField == null)) { + this.formField = new XTypedList(this, LinqToXsdTypeManager.Instance, formXName); + } + return this.formField; + } + set { + if ((value == null)) { + this.formField = null; + } + else { + if ((this.formField == null)) { + this.formField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, formXName); + } + else { + XTypedServices.SetList(this.formField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName fieldsetXName = System.Xml.Linq.XName.Get("fieldset", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList fieldsetField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript | area)+) + /// + /// + public virtual IList fieldset { + get { + if ((this.fieldsetField == null)) { + this.fieldsetField = new XTypedList(this, LinqToXsdTypeManager.Instance, fieldsetXName); + } + return this.fieldsetField; + } + set { + if ((value == null)) { + this.fieldsetField = null; + } + else { + if ((this.fieldsetField == null)) { + this.fieldsetField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, fieldsetXName); + } + else { + XTypedServices.SetList(this.fieldsetField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript | area)+) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript | area)+) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript | area)+) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript | area)+) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName areaXName = System.Xml.Linq.XName.Get("area", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList areaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | ins | del | script | noscript | area)+) + /// + /// + public virtual IList area { + get { + if ((this.areaField == null)) { + this.areaField = new XTypedList(this, LinqToXsdTypeManager.Instance, areaXName); + } + return this.areaField; + } + set { + if ((value == null)) { + this.areaField = null; + } + else { + if ((this.areaField == null)) { + this.areaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, areaXName); + } + else { + XTypedServices.SetList(this.areaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlmaptype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlmaptype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlmaptype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.map.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlmaptype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(h1XName), new NamedContentModelEntity(h2XName), new NamedContentModelEntity(h3XName), new NamedContentModelEntity(h4XName), new NamedContentModelEntity(h5XName), new NamedContentModelEntity(h6XName), new NamedContentModelEntity(ulXName), new NamedContentModelEntity(olXName), new NamedContentModelEntity(dlXName), new NamedContentModelEntity(pXName), new NamedContentModelEntity(divXName), new NamedContentModelEntity(preXName), new NamedContentModelEntity(blockquoteXName), new NamedContentModelEntity(addressXName), new SequenceContentModelEntity(new NamedContentModelEntity(hrXName)), new NamedContentModelEntity(tableXName), new NamedContentModelEntity(formXName), new NamedContentModelEntity(fieldsetXName), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName), new NamedContentModelEntity(areaXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(h1XName, typeof(xhtmlh1type)); + localElementDictionary.Add(h2XName, typeof(xhtmlh2type)); + localElementDictionary.Add(h3XName, typeof(xhtmlh3type)); + localElementDictionary.Add(h4XName, typeof(xhtmlh4type)); + localElementDictionary.Add(h5XName, typeof(xhtmlh5type)); + localElementDictionary.Add(h6XName, typeof(xhtmlh6type)); + localElementDictionary.Add(ulXName, typeof(xhtmlultype)); + localElementDictionary.Add(olXName, typeof(xhtmloltype)); + localElementDictionary.Add(dlXName, typeof(xhtmldltype)); + localElementDictionary.Add(pXName, typeof(xhtmlptype)); + localElementDictionary.Add(divXName, typeof(xhtmldivtype)); + localElementDictionary.Add(preXName, typeof(xhtmlpretype)); + localElementDictionary.Add(blockquoteXName, typeof(xhtmlblockquotetype)); + localElementDictionary.Add(addressXName, typeof(xhtmladdresstype)); + localElementDictionary.Add(hrXName, typeof(xhtmlhrtype)); + localElementDictionary.Add(tableXName, typeof(xhtmltabletype)); + localElementDictionary.Add(formXName, typeof(xhtmlformtype)); + localElementDictionary.Add(fieldsetXName, typeof(xhtmlfieldsettype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + localElementDictionary.Add(areaXName, typeof(xhtmlareatype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class xhtmlparamtype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlparamtype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public xhtmlparamtype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName nameXName = System.Xml.Linq.XName.Get("name", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string name { + get { + XAttribute x = this.Attribute(nameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(nameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName valueXName = System.Xml.Linq.XName.Get("value", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string value { + get { + XAttribute x = this.Attribute(valueXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(valueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName valuetypeXName = System.Xml.Linq.XName.Get("valuetype", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static string valuetypeDefaultValue = "data"; + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string valuetype { + get { + XAttribute x = this.Attribute(valuetypeXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype, valuetypeDefaultValue); + } + set { + this.SetAttribute(valuetypeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName typeXName = System.Xml.Linq.XName.Get("type", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string type { + get { + XAttribute x = this.Attribute(typeXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(typeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.param.type", "http://www.w3.org/1999/xhtml"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmlobjecttype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlobjecttype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmlobjecttype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName paramXName = System.Xml.Linq.XName.Get("param", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList paramField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList param { + get { + if ((this.paramField == null)) { + this.paramField = new XTypedList(this, LinqToXsdTypeManager.Instance, paramXName); + } + return this.paramField; + } + set { + if ((value == null)) { + this.paramField = null; + } + else { + if ((this.paramField == null)) { + this.paramField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, paramXName); + } + else { + XTypedServices.SetList(this.paramField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h1XName = System.Xml.Linq.XName.Get("h1", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h1Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h1 { + get { + if ((this.h1Field == null)) { + this.h1Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h1XName); + } + return this.h1Field; + } + set { + if ((value == null)) { + this.h1Field = null; + } + else { + if ((this.h1Field == null)) { + this.h1Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h1XName); + } + else { + XTypedServices.SetList(this.h1Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h2XName = System.Xml.Linq.XName.Get("h2", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h2Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h2 { + get { + if ((this.h2Field == null)) { + this.h2Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h2XName); + } + return this.h2Field; + } + set { + if ((value == null)) { + this.h2Field = null; + } + else { + if ((this.h2Field == null)) { + this.h2Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h2XName); + } + else { + XTypedServices.SetList(this.h2Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h3XName = System.Xml.Linq.XName.Get("h3", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h3Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h3 { + get { + if ((this.h3Field == null)) { + this.h3Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h3XName); + } + return this.h3Field; + } + set { + if ((value == null)) { + this.h3Field = null; + } + else { + if ((this.h3Field == null)) { + this.h3Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h3XName); + } + else { + XTypedServices.SetList(this.h3Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h4XName = System.Xml.Linq.XName.Get("h4", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h4Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h4 { + get { + if ((this.h4Field == null)) { + this.h4Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h4XName); + } + return this.h4Field; + } + set { + if ((value == null)) { + this.h4Field = null; + } + else { + if ((this.h4Field == null)) { + this.h4Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h4XName); + } + else { + XTypedServices.SetList(this.h4Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h5XName = System.Xml.Linq.XName.Get("h5", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h5Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h5 { + get { + if ((this.h5Field == null)) { + this.h5Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h5XName); + } + return this.h5Field; + } + set { + if ((value == null)) { + this.h5Field = null; + } + else { + if ((this.h5Field == null)) { + this.h5Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h5XName); + } + else { + XTypedServices.SetList(this.h5Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h6XName = System.Xml.Linq.XName.Get("h6", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h6Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h6 { + get { + if ((this.h6Field == null)) { + this.h6Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h6XName); + } + return this.h6Field; + } + set { + if ((value == null)) { + this.h6Field = null; + } + else { + if ((this.h6Field == null)) { + this.h6Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h6XName); + } + else { + XTypedServices.SetList(this.h6Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ulXName = System.Xml.Linq.XName.Get("ul", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ulField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ul { + get { + if ((this.ulField == null)) { + this.ulField = new XTypedList(this, LinqToXsdTypeManager.Instance, ulXName); + } + return this.ulField; + } + set { + if ((value == null)) { + this.ulField = null; + } + else { + if ((this.ulField == null)) { + this.ulField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ulXName); + } + else { + XTypedServices.SetList(this.ulField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName olXName = System.Xml.Linq.XName.Get("ol", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList olField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ol { + get { + if ((this.olField == null)) { + this.olField = new XTypedList(this, LinqToXsdTypeManager.Instance, olXName); + } + return this.olField; + } + set { + if ((value == null)) { + this.olField = null; + } + else { + if ((this.olField == null)) { + this.olField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, olXName); + } + else { + XTypedServices.SetList(this.olField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dlXName = System.Xml.Linq.XName.Get("dl", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dlField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dl { + get { + if ((this.dlField == null)) { + this.dlField = new XTypedList(this, LinqToXsdTypeManager.Instance, dlXName); + } + return this.dlField; + } + set { + if ((value == null)) { + this.dlField = null; + } + else { + if ((this.dlField == null)) { + this.dlField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dlXName); + } + else { + XTypedServices.SetList(this.dlField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName pXName = System.Xml.Linq.XName.Get("p", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList pField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList p { + get { + if ((this.pField == null)) { + this.pField = new XTypedList(this, LinqToXsdTypeManager.Instance, pXName); + } + return this.pField; + } + set { + if ((value == null)) { + this.pField = null; + } + else { + if ((this.pField == null)) { + this.pField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, pXName); + } + else { + XTypedServices.SetList(this.pField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName divXName = System.Xml.Linq.XName.Get("div", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList divField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList div { + get { + if ((this.divField == null)) { + this.divField = new XTypedList(this, LinqToXsdTypeManager.Instance, divXName); + } + return this.divField; + } + set { + if ((value == null)) { + this.divField = null; + } + else { + if ((this.divField == null)) { + this.divField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, divXName); + } + else { + XTypedServices.SetList(this.divField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName preXName = System.Xml.Linq.XName.Get("pre", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList preField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList pre { + get { + if ((this.preField == null)) { + this.preField = new XTypedList(this, LinqToXsdTypeManager.Instance, preXName); + } + return this.preField; + } + set { + if ((value == null)) { + this.preField = null; + } + else { + if ((this.preField == null)) { + this.preField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, preXName); + } + else { + XTypedServices.SetList(this.preField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName blockquoteXName = System.Xml.Linq.XName.Get("blockquote", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList blockquoteField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList blockquote { + get { + if ((this.blockquoteField == null)) { + this.blockquoteField = new XTypedList(this, LinqToXsdTypeManager.Instance, blockquoteXName); + } + return this.blockquoteField; + } + set { + if ((value == null)) { + this.blockquoteField = null; + } + else { + if ((this.blockquoteField == null)) { + this.blockquoteField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, blockquoteXName); + } + else { + XTypedServices.SetList(this.blockquoteField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName addressXName = System.Xml.Linq.XName.Get("address", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList addressField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList address { + get { + if ((this.addressField == null)) { + this.addressField = new XTypedList(this, LinqToXsdTypeManager.Instance, addressXName); + } + return this.addressField; + } + set { + if ((value == null)) { + this.addressField = null; + } + else { + if ((this.addressField == null)) { + this.addressField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, addressXName); + } + else { + XTypedServices.SetList(this.addressField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName hrXName = System.Xml.Linq.XName.Get("hr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList hrField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList hr { + get { + if ((this.hrField == null)) { + this.hrField = new XTypedList(this, LinqToXsdTypeManager.Instance, hrXName); + } + return this.hrField; + } + set { + if ((value == null)) { + this.hrField = null; + } + else { + if ((this.hrField == null)) { + this.hrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, hrXName); + } + else { + XTypedServices.SetList(this.hrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName tableXName = System.Xml.Linq.XName.Get("table", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList tableField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList table { + get { + if ((this.tableField == null)) { + this.tableField = new XTypedList(this, LinqToXsdTypeManager.Instance, tableXName); + } + return this.tableField; + } + set { + if ((value == null)) { + this.tableField = null; + } + else { + if ((this.tableField == null)) { + this.tableField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, tableXName); + } + else { + XTypedServices.SetList(this.tableField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName formXName = System.Xml.Linq.XName.Get("form", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList formField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList form { + get { + if ((this.formField == null)) { + this.formField = new XTypedList(this, LinqToXsdTypeManager.Instance, formXName); + } + return this.formField; + } + set { + if ((value == null)) { + this.formField = null; + } + else { + if ((this.formField == null)) { + this.formField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, formXName); + } + else { + XTypedServices.SetList(this.formField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName fieldsetXName = System.Xml.Linq.XName.Get("fieldset", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList fieldsetField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList fieldset { + get { + if ((this.fieldsetField == null)) { + this.fieldsetField = new XTypedList(this, LinqToXsdTypeManager.Instance, fieldsetXName); + } + return this.fieldsetField; + } + set { + if ((value == null)) { + this.fieldsetField = null; + } + else { + if ((this.fieldsetField == null)) { + this.fieldsetField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, fieldsetXName); + } + else { + XTypedServices.SetList(this.fieldsetField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((param | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlobjecttype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlobjecttype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlobjecttype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + public enum DeclareEnum { + + declare, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName declareXName = System.Xml.Linq.XName.Get("declare", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlobjecttype.DeclareEnum? declare { + get { + XAttribute x = this.Attribute(declareXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlobjecttype.DeclareEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlobjecttype.DeclareEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(declareXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName classidXName = System.Xml.Linq.XName.Get("classid", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Uri classid { + get { + XAttribute x = this.Attribute(classidXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(classidXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codebaseXName = System.Xml.Linq.XName.Get("codebase", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Uri codebase { + get { + XAttribute x = this.Attribute(codebaseXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(codebaseXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dataXName = System.Xml.Linq.XName.Get("data", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Uri data { + get { + XAttribute x = this.Attribute(dataXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(dataXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName typeXName = System.Xml.Linq.XName.Get("type", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string type { + get { + XAttribute x = this.Attribute(typeXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(typeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codetypeXName = System.Xml.Linq.XName.Get("codetype", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string codetype { + get { + XAttribute x = this.Attribute(codetypeXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(codetypeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName archiveXName = System.Xml.Linq.XName.Get("archive", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual IList archive { + get { + XAttribute x = this.Attribute(archiveXName); + return XTypedServices.ParseListValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetListAttribute(archiveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName standbyXName = System.Xml.Linq.XName.Get("standby", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string standby { + get { + XAttribute x = this.Attribute(standbyXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(standbyXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName heightXName = System.Xml.Linq.XName.Get("height", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object height { + get { + XAttribute x = this.Attribute(heightXName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "height", this, heightXName, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName widthXName = System.Xml.Linq.XName.Get("width", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object width { + get { + XAttribute x = this.Attribute(widthXName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "width", this, widthXName, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName nameXName = System.Xml.Linq.XName.Get("name", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string name { + get { + XAttribute x = this.Attribute(nameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(nameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName tabindexXName = System.Xml.Linq.XName.Get("tabindex", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Decimal? tabindex { + get { + XAttribute x = this.Attribute(tabindexXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(tabindexXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName usemapXName = System.Xml.Linq.XName.Get("usemap", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string usemap { + get { + XAttribute x = this.Attribute(usemapXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(usemapXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.object.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlobjecttype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(paramXName), new NamedContentModelEntity(h1XName), new NamedContentModelEntity(h2XName), new NamedContentModelEntity(h3XName), new NamedContentModelEntity(h4XName), new NamedContentModelEntity(h5XName), new NamedContentModelEntity(h6XName), new NamedContentModelEntity(ulXName), new NamedContentModelEntity(olXName), new NamedContentModelEntity(dlXName), new NamedContentModelEntity(pXName), new NamedContentModelEntity(divXName), new NamedContentModelEntity(preXName), new NamedContentModelEntity(blockquoteXName), new NamedContentModelEntity(addressXName), new SequenceContentModelEntity(new NamedContentModelEntity(hrXName)), new NamedContentModelEntity(tableXName), new NamedContentModelEntity(formXName), new NamedContentModelEntity(fieldsetXName), new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(paramXName, typeof(xhtmlparamtype)); + localElementDictionary.Add(h1XName, typeof(xhtmlh1type)); + localElementDictionary.Add(h2XName, typeof(xhtmlh2type)); + localElementDictionary.Add(h3XName, typeof(xhtmlh3type)); + localElementDictionary.Add(h4XName, typeof(xhtmlh4type)); + localElementDictionary.Add(h5XName, typeof(xhtmlh5type)); + localElementDictionary.Add(h6XName, typeof(xhtmlh6type)); + localElementDictionary.Add(ulXName, typeof(xhtmlultype)); + localElementDictionary.Add(olXName, typeof(xhtmloltype)); + localElementDictionary.Add(dlXName, typeof(xhtmldltype)); + localElementDictionary.Add(pXName, typeof(xhtmlptype)); + localElementDictionary.Add(divXName, typeof(xhtmldivtype)); + localElementDictionary.Add(preXName, typeof(xhtmlpretype)); + localElementDictionary.Add(blockquoteXName, typeof(xhtmlblockquotetype)); + localElementDictionary.Add(addressXName, typeof(xhtmladdresstype)); + localElementDictionary.Add(hrXName, typeof(xhtmlhrtype)); + localElementDictionary.Add(tableXName, typeof(xhtmltabletype)); + localElementDictionary.Add(formXName, typeof(xhtmlformtype)); + localElementDictionary.Add(fieldsetXName, typeof(xhtmlfieldsettype)); + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmltdtype : XTypedElement, IXMetaData { + + public static explicit operator xhtmltdtype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmltdtype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h1XName = System.Xml.Linq.XName.Get("h1", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h1Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h1 { + get { + if ((this.h1Field == null)) { + this.h1Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h1XName); + } + return this.h1Field; + } + set { + if ((value == null)) { + this.h1Field = null; + } + else { + if ((this.h1Field == null)) { + this.h1Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h1XName); + } + else { + XTypedServices.SetList(this.h1Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h2XName = System.Xml.Linq.XName.Get("h2", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h2Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h2 { + get { + if ((this.h2Field == null)) { + this.h2Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h2XName); + } + return this.h2Field; + } + set { + if ((value == null)) { + this.h2Field = null; + } + else { + if ((this.h2Field == null)) { + this.h2Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h2XName); + } + else { + XTypedServices.SetList(this.h2Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h3XName = System.Xml.Linq.XName.Get("h3", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h3Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h3 { + get { + if ((this.h3Field == null)) { + this.h3Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h3XName); + } + return this.h3Field; + } + set { + if ((value == null)) { + this.h3Field = null; + } + else { + if ((this.h3Field == null)) { + this.h3Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h3XName); + } + else { + XTypedServices.SetList(this.h3Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h4XName = System.Xml.Linq.XName.Get("h4", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h4Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h4 { + get { + if ((this.h4Field == null)) { + this.h4Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h4XName); + } + return this.h4Field; + } + set { + if ((value == null)) { + this.h4Field = null; + } + else { + if ((this.h4Field == null)) { + this.h4Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h4XName); + } + else { + XTypedServices.SetList(this.h4Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h5XName = System.Xml.Linq.XName.Get("h5", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h5Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h5 { + get { + if ((this.h5Field == null)) { + this.h5Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h5XName); + } + return this.h5Field; + } + set { + if ((value == null)) { + this.h5Field = null; + } + else { + if ((this.h5Field == null)) { + this.h5Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h5XName); + } + else { + XTypedServices.SetList(this.h5Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h6XName = System.Xml.Linq.XName.Get("h6", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h6Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h6 { + get { + if ((this.h6Field == null)) { + this.h6Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h6XName); + } + return this.h6Field; + } + set { + if ((value == null)) { + this.h6Field = null; + } + else { + if ((this.h6Field == null)) { + this.h6Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h6XName); + } + else { + XTypedServices.SetList(this.h6Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ulXName = System.Xml.Linq.XName.Get("ul", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ulField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ul { + get { + if ((this.ulField == null)) { + this.ulField = new XTypedList(this, LinqToXsdTypeManager.Instance, ulXName); + } + return this.ulField; + } + set { + if ((value == null)) { + this.ulField = null; + } + else { + if ((this.ulField == null)) { + this.ulField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ulXName); + } + else { + XTypedServices.SetList(this.ulField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName olXName = System.Xml.Linq.XName.Get("ol", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList olField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ol { + get { + if ((this.olField == null)) { + this.olField = new XTypedList(this, LinqToXsdTypeManager.Instance, olXName); + } + return this.olField; + } + set { + if ((value == null)) { + this.olField = null; + } + else { + if ((this.olField == null)) { + this.olField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, olXName); + } + else { + XTypedServices.SetList(this.olField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dlXName = System.Xml.Linq.XName.Get("dl", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dlField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dl { + get { + if ((this.dlField == null)) { + this.dlField = new XTypedList(this, LinqToXsdTypeManager.Instance, dlXName); + } + return this.dlField; + } + set { + if ((value == null)) { + this.dlField = null; + } + else { + if ((this.dlField == null)) { + this.dlField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dlXName); + } + else { + XTypedServices.SetList(this.dlField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName pXName = System.Xml.Linq.XName.Get("p", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList pField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList p { + get { + if ((this.pField == null)) { + this.pField = new XTypedList(this, LinqToXsdTypeManager.Instance, pXName); + } + return this.pField; + } + set { + if ((value == null)) { + this.pField = null; + } + else { + if ((this.pField == null)) { + this.pField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, pXName); + } + else { + XTypedServices.SetList(this.pField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName divXName = System.Xml.Linq.XName.Get("div", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList divField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList div { + get { + if ((this.divField == null)) { + this.divField = new XTypedList(this, LinqToXsdTypeManager.Instance, divXName); + } + return this.divField; + } + set { + if ((value == null)) { + this.divField = null; + } + else { + if ((this.divField == null)) { + this.divField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, divXName); + } + else { + XTypedServices.SetList(this.divField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName preXName = System.Xml.Linq.XName.Get("pre", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList preField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList pre { + get { + if ((this.preField == null)) { + this.preField = new XTypedList(this, LinqToXsdTypeManager.Instance, preXName); + } + return this.preField; + } + set { + if ((value == null)) { + this.preField = null; + } + else { + if ((this.preField == null)) { + this.preField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, preXName); + } + else { + XTypedServices.SetList(this.preField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName blockquoteXName = System.Xml.Linq.XName.Get("blockquote", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList blockquoteField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList blockquote { + get { + if ((this.blockquoteField == null)) { + this.blockquoteField = new XTypedList(this, LinqToXsdTypeManager.Instance, blockquoteXName); + } + return this.blockquoteField; + } + set { + if ((value == null)) { + this.blockquoteField = null; + } + else { + if ((this.blockquoteField == null)) { + this.blockquoteField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, blockquoteXName); + } + else { + XTypedServices.SetList(this.blockquoteField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName addressXName = System.Xml.Linq.XName.Get("address", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList addressField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList address { + get { + if ((this.addressField == null)) { + this.addressField = new XTypedList(this, LinqToXsdTypeManager.Instance, addressXName); + } + return this.addressField; + } + set { + if ((value == null)) { + this.addressField = null; + } + else { + if ((this.addressField == null)) { + this.addressField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, addressXName); + } + else { + XTypedServices.SetList(this.addressField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName hrXName = System.Xml.Linq.XName.Get("hr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList hrField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList hr { + get { + if ((this.hrField == null)) { + this.hrField = new XTypedList(this, LinqToXsdTypeManager.Instance, hrXName); + } + return this.hrField; + } + set { + if ((value == null)) { + this.hrField = null; + } + else { + if ((this.hrField == null)) { + this.hrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, hrXName); + } + else { + XTypedServices.SetList(this.hrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName tableXName = System.Xml.Linq.XName.Get("table", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList tableField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList table { + get { + if ((this.tableField == null)) { + this.tableField = new XTypedList(this, LinqToXsdTypeManager.Instance, tableXName); + } + return this.tableField; + } + set { + if ((value == null)) { + this.tableField = null; + } + else { + if ((this.tableField == null)) { + this.tableField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, tableXName); + } + else { + XTypedServices.SetList(this.tableField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName formXName = System.Xml.Linq.XName.Get("form", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList formField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList form { + get { + if ((this.formField == null)) { + this.formField = new XTypedList(this, LinqToXsdTypeManager.Instance, formXName); + } + return this.formField; + } + set { + if ((value == null)) { + this.formField = null; + } + else { + if ((this.formField == null)) { + this.formField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, formXName); + } + else { + XTypedServices.SetList(this.formField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName fieldsetXName = System.Xml.Linq.XName.Get("fieldset", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList fieldsetField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList fieldset { + get { + if ((this.fieldsetField == null)) { + this.fieldsetField = new XTypedList(this, LinqToXsdTypeManager.Instance, fieldsetXName); + } + return this.fieldsetField; + } + set { + if ((value == null)) { + this.fieldsetField = null; + } + else { + if ((this.fieldsetField == null)) { + this.fieldsetField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, fieldsetXName); + } + else { + XTypedServices.SetList(this.fieldsetField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmltdtype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmltdtype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmltdtype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbr1XName = System.Xml.Linq.XName.Get("abbr", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string abbr1 { + get { + XAttribute x = this.Attribute(abbr1XName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(abbr1XName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName axisXName = System.Xml.Linq.XName.Get("axis", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string axis { + get { + XAttribute x = this.Attribute(axisXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(axisXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName headersXName = System.Xml.Linq.XName.Get("headers", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual IList headers { + get { + XAttribute x = this.Attribute(headersXName); + return XTypedServices.ParseListValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetListAttribute(headersXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + public enum ScopeEnum { + + row, + + col, + + rowgroup, + + colgroup, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scopeXName = System.Xml.Linq.XName.Get("scope", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmltdtype.ScopeEnum? scope { + get { + XAttribute x = this.Attribute(scopeXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmltdtype.ScopeEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmltdtype.ScopeEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(scopeXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rowspanXName = System.Xml.Linq.XName.Get("rowspan", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static decimal rowspanDefaultValue = System.Xml.XmlConvert.ToDecimal("1"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual decimal rowspan { + get { + XAttribute x = this.Attribute(rowspanXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype, rowspanDefaultValue); + } + set { + this.SetAttribute(rowspanXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName colspanXName = System.Xml.Linq.XName.Get("colspan", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static decimal colspanDefaultValue = System.Xml.XmlConvert.ToDecimal("1"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual decimal colspan { + get { + XAttribute x = this.Attribute(colspanXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype, colspanDefaultValue); + } + set { + this.SetAttribute(colspanXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName alignXName = System.Xml.Linq.XName.Get("align", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string align { + get { + XAttribute x = this.Attribute(alignXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + set { + this.SetAttribute(alignXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @charXName = System.Xml.Linq.XName.Get("char", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @char { + get { + XAttribute x = this.Attribute(@charXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@charXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName charoffXName = System.Xml.Linq.XName.Get("charoff", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object charoff { + get { + XAttribute x = this.Attribute(charoffXName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "charoff", this, charoffXName, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + } + + public enum ValignEnum { + + top, + + middle, + + bottom, + + baseline, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName valignXName = System.Xml.Linq.XName.Get("valign", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmltdtype.ValignEnum? valign { + get { + XAttribute x = this.Attribute(valignXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmltdtype.ValignEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmltdtype.ValignEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(valignXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.td.type", "http://www.w3.org/1999/xhtml"); + + static xhtmltdtype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(h1XName), new NamedContentModelEntity(h2XName), new NamedContentModelEntity(h3XName), new NamedContentModelEntity(h4XName), new NamedContentModelEntity(h5XName), new NamedContentModelEntity(h6XName), new NamedContentModelEntity(ulXName), new NamedContentModelEntity(olXName), new NamedContentModelEntity(dlXName), new NamedContentModelEntity(pXName), new NamedContentModelEntity(divXName), new NamedContentModelEntity(preXName), new NamedContentModelEntity(blockquoteXName), new NamedContentModelEntity(addressXName), new SequenceContentModelEntity(new NamedContentModelEntity(hrXName)), new NamedContentModelEntity(tableXName), new NamedContentModelEntity(formXName), new NamedContentModelEntity(fieldsetXName), new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(h1XName, typeof(xhtmlh1type)); + localElementDictionary.Add(h2XName, typeof(xhtmlh2type)); + localElementDictionary.Add(h3XName, typeof(xhtmlh3type)); + localElementDictionary.Add(h4XName, typeof(xhtmlh4type)); + localElementDictionary.Add(h5XName, typeof(xhtmlh5type)); + localElementDictionary.Add(h6XName, typeof(xhtmlh6type)); + localElementDictionary.Add(ulXName, typeof(xhtmlultype)); + localElementDictionary.Add(olXName, typeof(xhtmloltype)); + localElementDictionary.Add(dlXName, typeof(xhtmldltype)); + localElementDictionary.Add(pXName, typeof(xhtmlptype)); + localElementDictionary.Add(divXName, typeof(xhtmldivtype)); + localElementDictionary.Add(preXName, typeof(xhtmlpretype)); + localElementDictionary.Add(blockquoteXName, typeof(xhtmlblockquotetype)); + localElementDictionary.Add(addressXName, typeof(xhtmladdresstype)); + localElementDictionary.Add(hrXName, typeof(xhtmlhrtype)); + localElementDictionary.Add(tableXName, typeof(xhtmltabletype)); + localElementDictionary.Add(formXName, typeof(xhtmlformtype)); + localElementDictionary.Add(fieldsetXName, typeof(xhtmlfieldsettype)); + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmlthtype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlthtype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmlthtype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h1XName = System.Xml.Linq.XName.Get("h1", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h1Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h1 { + get { + if ((this.h1Field == null)) { + this.h1Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h1XName); + } + return this.h1Field; + } + set { + if ((value == null)) { + this.h1Field = null; + } + else { + if ((this.h1Field == null)) { + this.h1Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h1XName); + } + else { + XTypedServices.SetList(this.h1Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h2XName = System.Xml.Linq.XName.Get("h2", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h2Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h2 { + get { + if ((this.h2Field == null)) { + this.h2Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h2XName); + } + return this.h2Field; + } + set { + if ((value == null)) { + this.h2Field = null; + } + else { + if ((this.h2Field == null)) { + this.h2Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h2XName); + } + else { + XTypedServices.SetList(this.h2Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h3XName = System.Xml.Linq.XName.Get("h3", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h3Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h3 { + get { + if ((this.h3Field == null)) { + this.h3Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h3XName); + } + return this.h3Field; + } + set { + if ((value == null)) { + this.h3Field = null; + } + else { + if ((this.h3Field == null)) { + this.h3Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h3XName); + } + else { + XTypedServices.SetList(this.h3Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h4XName = System.Xml.Linq.XName.Get("h4", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h4Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h4 { + get { + if ((this.h4Field == null)) { + this.h4Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h4XName); + } + return this.h4Field; + } + set { + if ((value == null)) { + this.h4Field = null; + } + else { + if ((this.h4Field == null)) { + this.h4Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h4XName); + } + else { + XTypedServices.SetList(this.h4Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h5XName = System.Xml.Linq.XName.Get("h5", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h5Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h5 { + get { + if ((this.h5Field == null)) { + this.h5Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h5XName); + } + return this.h5Field; + } + set { + if ((value == null)) { + this.h5Field = null; + } + else { + if ((this.h5Field == null)) { + this.h5Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h5XName); + } + else { + XTypedServices.SetList(this.h5Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h6XName = System.Xml.Linq.XName.Get("h6", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h6Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h6 { + get { + if ((this.h6Field == null)) { + this.h6Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h6XName); + } + return this.h6Field; + } + set { + if ((value == null)) { + this.h6Field = null; + } + else { + if ((this.h6Field == null)) { + this.h6Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h6XName); + } + else { + XTypedServices.SetList(this.h6Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ulXName = System.Xml.Linq.XName.Get("ul", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ulField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ul { + get { + if ((this.ulField == null)) { + this.ulField = new XTypedList(this, LinqToXsdTypeManager.Instance, ulXName); + } + return this.ulField; + } + set { + if ((value == null)) { + this.ulField = null; + } + else { + if ((this.ulField == null)) { + this.ulField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ulXName); + } + else { + XTypedServices.SetList(this.ulField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName olXName = System.Xml.Linq.XName.Get("ol", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList olField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ol { + get { + if ((this.olField == null)) { + this.olField = new XTypedList(this, LinqToXsdTypeManager.Instance, olXName); + } + return this.olField; + } + set { + if ((value == null)) { + this.olField = null; + } + else { + if ((this.olField == null)) { + this.olField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, olXName); + } + else { + XTypedServices.SetList(this.olField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dlXName = System.Xml.Linq.XName.Get("dl", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dlField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dl { + get { + if ((this.dlField == null)) { + this.dlField = new XTypedList(this, LinqToXsdTypeManager.Instance, dlXName); + } + return this.dlField; + } + set { + if ((value == null)) { + this.dlField = null; + } + else { + if ((this.dlField == null)) { + this.dlField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dlXName); + } + else { + XTypedServices.SetList(this.dlField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName pXName = System.Xml.Linq.XName.Get("p", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList pField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList p { + get { + if ((this.pField == null)) { + this.pField = new XTypedList(this, LinqToXsdTypeManager.Instance, pXName); + } + return this.pField; + } + set { + if ((value == null)) { + this.pField = null; + } + else { + if ((this.pField == null)) { + this.pField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, pXName); + } + else { + XTypedServices.SetList(this.pField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName divXName = System.Xml.Linq.XName.Get("div", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList divField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList div { + get { + if ((this.divField == null)) { + this.divField = new XTypedList(this, LinqToXsdTypeManager.Instance, divXName); + } + return this.divField; + } + set { + if ((value == null)) { + this.divField = null; + } + else { + if ((this.divField == null)) { + this.divField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, divXName); + } + else { + XTypedServices.SetList(this.divField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName preXName = System.Xml.Linq.XName.Get("pre", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList preField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList pre { + get { + if ((this.preField == null)) { + this.preField = new XTypedList(this, LinqToXsdTypeManager.Instance, preXName); + } + return this.preField; + } + set { + if ((value == null)) { + this.preField = null; + } + else { + if ((this.preField == null)) { + this.preField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, preXName); + } + else { + XTypedServices.SetList(this.preField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName blockquoteXName = System.Xml.Linq.XName.Get("blockquote", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList blockquoteField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList blockquote { + get { + if ((this.blockquoteField == null)) { + this.blockquoteField = new XTypedList(this, LinqToXsdTypeManager.Instance, blockquoteXName); + } + return this.blockquoteField; + } + set { + if ((value == null)) { + this.blockquoteField = null; + } + else { + if ((this.blockquoteField == null)) { + this.blockquoteField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, blockquoteXName); + } + else { + XTypedServices.SetList(this.blockquoteField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName addressXName = System.Xml.Linq.XName.Get("address", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList addressField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList address { + get { + if ((this.addressField == null)) { + this.addressField = new XTypedList(this, LinqToXsdTypeManager.Instance, addressXName); + } + return this.addressField; + } + set { + if ((value == null)) { + this.addressField = null; + } + else { + if ((this.addressField == null)) { + this.addressField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, addressXName); + } + else { + XTypedServices.SetList(this.addressField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName hrXName = System.Xml.Linq.XName.Get("hr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList hrField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList hr { + get { + if ((this.hrField == null)) { + this.hrField = new XTypedList(this, LinqToXsdTypeManager.Instance, hrXName); + } + return this.hrField; + } + set { + if ((value == null)) { + this.hrField = null; + } + else { + if ((this.hrField == null)) { + this.hrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, hrXName); + } + else { + XTypedServices.SetList(this.hrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName tableXName = System.Xml.Linq.XName.Get("table", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList tableField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList table { + get { + if ((this.tableField == null)) { + this.tableField = new XTypedList(this, LinqToXsdTypeManager.Instance, tableXName); + } + return this.tableField; + } + set { + if ((value == null)) { + this.tableField = null; + } + else { + if ((this.tableField == null)) { + this.tableField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, tableXName); + } + else { + XTypedServices.SetList(this.tableField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName formXName = System.Xml.Linq.XName.Get("form", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList formField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList form { + get { + if ((this.formField == null)) { + this.formField = new XTypedList(this, LinqToXsdTypeManager.Instance, formXName); + } + return this.formField; + } + set { + if ((value == null)) { + this.formField = null; + } + else { + if ((this.formField == null)) { + this.formField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, formXName); + } + else { + XTypedServices.SetList(this.formField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName fieldsetXName = System.Xml.Linq.XName.Get("fieldset", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList fieldsetField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList fieldset { + get { + if ((this.fieldsetField == null)) { + this.fieldsetField = new XTypedList(this, LinqToXsdTypeManager.Instance, fieldsetXName); + } + return this.fieldsetField; + } + set { + if ((value == null)) { + this.fieldsetField = null; + } + else { + if ((this.fieldsetField == null)) { + this.fieldsetField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, fieldsetXName); + } + else { + XTypedServices.SetList(this.fieldsetField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlthtype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlthtype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlthtype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbr1XName = System.Xml.Linq.XName.Get("abbr", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string abbr1 { + get { + XAttribute x = this.Attribute(abbr1XName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(abbr1XName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName axisXName = System.Xml.Linq.XName.Get("axis", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string axis { + get { + XAttribute x = this.Attribute(axisXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(axisXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName headersXName = System.Xml.Linq.XName.Get("headers", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual IList headers { + get { + XAttribute x = this.Attribute(headersXName); + return XTypedServices.ParseListValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetListAttribute(headersXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + public enum ScopeEnum { + + row, + + col, + + rowgroup, + + colgroup, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scopeXName = System.Xml.Linq.XName.Get("scope", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlthtype.ScopeEnum? scope { + get { + XAttribute x = this.Attribute(scopeXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlthtype.ScopeEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlthtype.ScopeEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(scopeXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rowspanXName = System.Xml.Linq.XName.Get("rowspan", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static decimal rowspanDefaultValue = System.Xml.XmlConvert.ToDecimal("1"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual decimal rowspan { + get { + XAttribute x = this.Attribute(rowspanXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype, rowspanDefaultValue); + } + set { + this.SetAttribute(rowspanXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName colspanXName = System.Xml.Linq.XName.Get("colspan", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static decimal colspanDefaultValue = System.Xml.XmlConvert.ToDecimal("1"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual decimal colspan { + get { + XAttribute x = this.Attribute(colspanXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype, colspanDefaultValue); + } + set { + this.SetAttribute(colspanXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName alignXName = System.Xml.Linq.XName.Get("align", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string align { + get { + XAttribute x = this.Attribute(alignXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + set { + this.SetAttribute(alignXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @charXName = System.Xml.Linq.XName.Get("char", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @char { + get { + XAttribute x = this.Attribute(@charXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@charXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName charoffXName = System.Xml.Linq.XName.Get("charoff", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object charoff { + get { + XAttribute x = this.Attribute(charoffXName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "charoff", this, charoffXName, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + } + + public enum ValignEnum { + + top, + + middle, + + bottom, + + baseline, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName valignXName = System.Xml.Linq.XName.Get("valign", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlthtype.ValignEnum? valign { + get { + XAttribute x = this.Attribute(valignXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlthtype.ValignEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlthtype.ValignEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(valignXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.th.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlthtype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(h1XName), new NamedContentModelEntity(h2XName), new NamedContentModelEntity(h3XName), new NamedContentModelEntity(h4XName), new NamedContentModelEntity(h5XName), new NamedContentModelEntity(h6XName), new NamedContentModelEntity(ulXName), new NamedContentModelEntity(olXName), new NamedContentModelEntity(dlXName), new NamedContentModelEntity(pXName), new NamedContentModelEntity(divXName), new NamedContentModelEntity(preXName), new NamedContentModelEntity(blockquoteXName), new NamedContentModelEntity(addressXName), new SequenceContentModelEntity(new NamedContentModelEntity(hrXName)), new NamedContentModelEntity(tableXName), new NamedContentModelEntity(formXName), new NamedContentModelEntity(fieldsetXName), new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(h1XName, typeof(xhtmlh1type)); + localElementDictionary.Add(h2XName, typeof(xhtmlh2type)); + localElementDictionary.Add(h3XName, typeof(xhtmlh3type)); + localElementDictionary.Add(h4XName, typeof(xhtmlh4type)); + localElementDictionary.Add(h5XName, typeof(xhtmlh5type)); + localElementDictionary.Add(h6XName, typeof(xhtmlh6type)); + localElementDictionary.Add(ulXName, typeof(xhtmlultype)); + localElementDictionary.Add(olXName, typeof(xhtmloltype)); + localElementDictionary.Add(dlXName, typeof(xhtmldltype)); + localElementDictionary.Add(pXName, typeof(xhtmlptype)); + localElementDictionary.Add(divXName, typeof(xhtmldivtype)); + localElementDictionary.Add(preXName, typeof(xhtmlpretype)); + localElementDictionary.Add(blockquoteXName, typeof(xhtmlblockquotetype)); + localElementDictionary.Add(addressXName, typeof(xhtmladdresstype)); + localElementDictionary.Add(hrXName, typeof(xhtmlhrtype)); + localElementDictionary.Add(tableXName, typeof(xhtmltabletype)); + localElementDictionary.Add(formXName, typeof(xhtmlformtype)); + localElementDictionary.Add(fieldsetXName, typeof(xhtmlfieldsettype)); + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((th | td)+) + /// + /// + public partial class xhtmltrtype : XTypedElement, IXMetaData { + + public static explicit operator xhtmltrtype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((th | td)+) + /// + /// + public xhtmltrtype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName thXName = System.Xml.Linq.XName.Get("th", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList thField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((th | td)+) + /// + /// + public virtual IList th { + get { + if ((this.thField == null)) { + this.thField = new XTypedList(this, LinqToXsdTypeManager.Instance, thXName); + } + return this.thField; + } + set { + if ((value == null)) { + this.thField = null; + } + else { + if ((this.thField == null)) { + this.thField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, thXName); + } + else { + XTypedServices.SetList(this.thField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName tdXName = System.Xml.Linq.XName.Get("td", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList tdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((th | td)+) + /// + /// + public virtual IList td { + get { + if ((this.tdField == null)) { + this.tdField = new XTypedList(this, LinqToXsdTypeManager.Instance, tdXName); + } + return this.tdField; + } + set { + if ((value == null)) { + this.tdField = null; + } + else { + if ((this.tdField == null)) { + this.tdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, tdXName); + } + else { + XTypedServices.SetList(this.tdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmltrtype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmltrtype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmltrtype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName alignXName = System.Xml.Linq.XName.Get("align", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string align { + get { + XAttribute x = this.Attribute(alignXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + set { + this.SetAttribute(alignXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @charXName = System.Xml.Linq.XName.Get("char", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @char { + get { + XAttribute x = this.Attribute(@charXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@charXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName charoffXName = System.Xml.Linq.XName.Get("charoff", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object charoff { + get { + XAttribute x = this.Attribute(charoffXName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "charoff", this, charoffXName, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + } + + public enum ValignEnum { + + top, + + middle, + + bottom, + + baseline, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName valignXName = System.Xml.Linq.XName.Get("valign", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmltrtype.ValignEnum? valign { + get { + XAttribute x = this.Attribute(valignXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmltrtype.ValignEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmltrtype.ValignEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(valignXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.tr.type", "http://www.w3.org/1999/xhtml"); + + static xhtmltrtype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(thXName), new NamedContentModelEntity(tdXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(thXName, typeof(xhtmlthtype)); + localElementDictionary.Add(tdXName, typeof(xhtmltdtype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class xhtmlcoltype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlcoltype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public xhtmlcoltype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlcoltype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlcoltype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlcoltype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static decimal spanDefaultValue = System.Xml.XmlConvert.ToDecimal("1"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual decimal span { + get { + XAttribute x = this.Attribute(spanXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype, spanDefaultValue); + } + set { + this.SetAttribute(spanXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName widthXName = System.Xml.Linq.XName.Get("width", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object width { + get { + XAttribute x = this.Attribute(widthXName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.MultiLength.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "width", this, widthXName, global::W3C.Xhtml.Datatypes.MultiLength.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName alignXName = System.Xml.Linq.XName.Get("align", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string align { + get { + XAttribute x = this.Attribute(alignXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + set { + this.SetAttribute(alignXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @charXName = System.Xml.Linq.XName.Get("char", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @char { + get { + XAttribute x = this.Attribute(@charXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@charXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName charoffXName = System.Xml.Linq.XName.Get("charoff", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object charoff { + get { + XAttribute x = this.Attribute(charoffXName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "charoff", this, charoffXName, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + } + + public enum ValignEnum { + + top, + + middle, + + bottom, + + baseline, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName valignXName = System.Xml.Linq.XName.Get("valign", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlcoltype.ValignEnum? valign { + get { + XAttribute x = this.Attribute(valignXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlcoltype.ValignEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlcoltype.ValignEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(valignXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.col.type", "http://www.w3.org/1999/xhtml"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (col*) + /// + /// + public partial class xhtmlcolgrouptype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlcolgrouptype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (col*) + /// + /// + public xhtmlcolgrouptype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName colXName = System.Xml.Linq.XName.Get("col", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList colField; + + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (col*) + /// + /// + public virtual IList col { + get { + if ((this.colField == null)) { + this.colField = new XTypedList(this, LinqToXsdTypeManager.Instance, colXName); + } + return this.colField; + } + set { + if ((value == null)) { + this.colField = null; + } + else { + if ((this.colField == null)) { + this.colField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, colXName); + } + else { + XTypedServices.SetList(this.colField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlcolgrouptype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlcolgrouptype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlcolgrouptype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static decimal spanDefaultValue = System.Xml.XmlConvert.ToDecimal("1"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual decimal span { + get { + XAttribute x = this.Attribute(spanXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype, spanDefaultValue); + } + set { + this.SetAttribute(spanXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName widthXName = System.Xml.Linq.XName.Get("width", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object width { + get { + XAttribute x = this.Attribute(widthXName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.MultiLength.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "width", this, widthXName, global::W3C.Xhtml.Datatypes.MultiLength.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName alignXName = System.Xml.Linq.XName.Get("align", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string align { + get { + XAttribute x = this.Attribute(alignXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + set { + this.SetAttribute(alignXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @charXName = System.Xml.Linq.XName.Get("char", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @char { + get { + XAttribute x = this.Attribute(@charXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@charXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName charoffXName = System.Xml.Linq.XName.Get("charoff", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object charoff { + get { + XAttribute x = this.Attribute(charoffXName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "charoff", this, charoffXName, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + } + + public enum ValignEnum { + + top, + + middle, + + bottom, + + baseline, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName valignXName = System.Xml.Linq.XName.Get("valign", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlcolgrouptype.ValignEnum? valign { + get { + XAttribute x = this.Attribute(valignXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlcolgrouptype.ValignEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlcolgrouptype.ValignEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(valignXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.colgroup.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlcolgrouptype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(colXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(colXName, typeof(xhtmlcoltype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (tr+) + /// + /// + public partial class xhtmltbodytype : XTypedElement, IXMetaData { + + public static explicit operator xhtmltbodytype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (tr+) + /// + /// + public xhtmltbodytype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName trXName = System.Xml.Linq.XName.Get("tr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList trField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (tr+) + /// + /// + public virtual IList tr { + get { + if ((this.trField == null)) { + this.trField = new XTypedList(this, LinqToXsdTypeManager.Instance, trXName); + } + return this.trField; + } + set { + if ((value == null)) { + this.trField = null; + } + else { + if ((this.trField == null)) { + this.trField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, trXName); + } + else { + XTypedServices.SetList(this.trField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmltbodytype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmltbodytype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmltbodytype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName alignXName = System.Xml.Linq.XName.Get("align", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string align { + get { + XAttribute x = this.Attribute(alignXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + set { + this.SetAttribute(alignXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @charXName = System.Xml.Linq.XName.Get("char", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @char { + get { + XAttribute x = this.Attribute(@charXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@charXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName charoffXName = System.Xml.Linq.XName.Get("charoff", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object charoff { + get { + XAttribute x = this.Attribute(charoffXName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "charoff", this, charoffXName, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + } + + public enum ValignEnum { + + top, + + middle, + + bottom, + + baseline, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName valignXName = System.Xml.Linq.XName.Get("valign", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmltbodytype.ValignEnum? valign { + get { + XAttribute x = this.Attribute(valignXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmltbodytype.ValignEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmltbodytype.ValignEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(valignXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.tbody.type", "http://www.w3.org/1999/xhtml"); + + static xhtmltbodytype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(trXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(trXName, typeof(xhtmltrtype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (tr+) + /// + /// + public partial class xhtmltfoottype : XTypedElement, IXMetaData { + + public static explicit operator xhtmltfoottype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (tr+) + /// + /// + public xhtmltfoottype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName trXName = System.Xml.Linq.XName.Get("tr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList trField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (tr+) + /// + /// + public virtual IList tr { + get { + if ((this.trField == null)) { + this.trField = new XTypedList(this, LinqToXsdTypeManager.Instance, trXName); + } + return this.trField; + } + set { + if ((value == null)) { + this.trField = null; + } + else { + if ((this.trField == null)) { + this.trField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, trXName); + } + else { + XTypedServices.SetList(this.trField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmltfoottype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmltfoottype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmltfoottype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName alignXName = System.Xml.Linq.XName.Get("align", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string align { + get { + XAttribute x = this.Attribute(alignXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + set { + this.SetAttribute(alignXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @charXName = System.Xml.Linq.XName.Get("char", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @char { + get { + XAttribute x = this.Attribute(@charXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@charXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName charoffXName = System.Xml.Linq.XName.Get("charoff", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object charoff { + get { + XAttribute x = this.Attribute(charoffXName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "charoff", this, charoffXName, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + } + + public enum ValignEnum { + + top, + + middle, + + bottom, + + baseline, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName valignXName = System.Xml.Linq.XName.Get("valign", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmltfoottype.ValignEnum? valign { + get { + XAttribute x = this.Attribute(valignXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmltfoottype.ValignEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmltfoottype.ValignEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(valignXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.tfoot.type", "http://www.w3.org/1999/xhtml"); + + static xhtmltfoottype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(trXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(trXName, typeof(xhtmltrtype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (tr+) + /// + /// + public partial class xhtmltheadtype : XTypedElement, IXMetaData { + + public static explicit operator xhtmltheadtype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (tr+) + /// + /// + public xhtmltheadtype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName trXName = System.Xml.Linq.XName.Get("tr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList trField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (tr+) + /// + /// + public virtual IList tr { + get { + if ((this.trField == null)) { + this.trField = new XTypedList(this, LinqToXsdTypeManager.Instance, trXName); + } + return this.trField; + } + set { + if ((value == null)) { + this.trField = null; + } + else { + if ((this.trField == null)) { + this.trField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, trXName); + } + else { + XTypedServices.SetList(this.trField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmltheadtype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmltheadtype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmltheadtype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName alignXName = System.Xml.Linq.XName.Get("align", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string align { + get { + XAttribute x = this.Attribute(alignXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + set { + this.SetAttribute(alignXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @charXName = System.Xml.Linq.XName.Get("char", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @char { + get { + XAttribute x = this.Attribute(@charXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@charXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName charoffXName = System.Xml.Linq.XName.Get("charoff", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object charoff { + get { + XAttribute x = this.Attribute(charoffXName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "charoff", this, charoffXName, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + } + + public enum ValignEnum { + + top, + + middle, + + bottom, + + baseline, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName valignXName = System.Xml.Linq.XName.Get("valign", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmltheadtype.ValignEnum? valign { + get { + XAttribute x = this.Attribute(valignXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmltheadtype.ValignEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmltheadtype.ValignEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(valignXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.thead.type", "http://www.w3.org/1999/xhtml"); + + static xhtmltheadtype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(trXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(trXName, typeof(xhtmltrtype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmlcaptiontype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlcaptiontype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmlcaptiontype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlcaptiontype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlcaptiontype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlcaptiontype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.caption.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlcaptiontype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (caption?, (col* | colgroup*), ((thead?, tfoot?, tbody+)|tr+)) + /// + /// + public partial class xhtmltabletype : XTypedElement, IXMetaData { + + public static explicit operator xhtmltabletype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (caption?, (col* | colgroup*), ((thead?, tfoot?, tbody+)|tr+)) + /// + /// + public xhtmltabletype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName captionXName = System.Xml.Linq.XName.Get("caption", "http://www.w3.org/1999/xhtml"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (caption?, (col* | colgroup*), ((thead?, tfoot?, tbody+)|tr+)) + /// + /// + public virtual xhtmlcaptiontype caption { + get { + XElement x = this.GetElement(captionXName); + return ((xhtmlcaptiontype)(x)); + } + set { + this.SetElement(captionXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName colXName = System.Xml.Linq.XName.Get("col", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList colField; + + /// + /// + /// Occurrence: optional, repeating, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (caption?, (col* | colgroup*), ((thead?, tfoot?, tbody+)|tr+)) + /// + /// + public virtual IList col { + get { + if ((this.colField == null)) { + this.colField = new XTypedList(this, LinqToXsdTypeManager.Instance, colXName); + } + return this.colField; + } + set { + if ((value == null)) { + this.colField = null; + } + else { + if ((this.colField == null)) { + this.colField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, colXName); + } + else { + XTypedServices.SetList(this.colField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName colgroupXName = System.Xml.Linq.XName.Get("colgroup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList colgroupField; + + /// + /// + /// Occurrence: optional, repeating, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (caption?, (col* | colgroup*), ((thead?, tfoot?, tbody+)|tr+)) + /// + /// + public virtual IList colgroup { + get { + if ((this.colgroupField == null)) { + this.colgroupField = new XTypedList(this, LinqToXsdTypeManager.Instance, colgroupXName); + } + return this.colgroupField; + } + set { + if ((value == null)) { + this.colgroupField = null; + } + else { + if ((this.colgroupField == null)) { + this.colgroupField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, colgroupXName); + } + else { + XTypedServices.SetList(this.colgroupField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName theadXName = System.Xml.Linq.XName.Get("thead", "http://www.w3.org/1999/xhtml"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (caption?, (col* | colgroup*), ((thead?, tfoot?, tbody+)|tr+)) + /// + /// + public virtual xhtmltheadtype thead { + get { + XElement x = this.GetElement(theadXName); + return ((xhtmltheadtype)(x)); + } + set { + this.SetElement(theadXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName tfootXName = System.Xml.Linq.XName.Get("tfoot", "http://www.w3.org/1999/xhtml"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (caption?, (col* | colgroup*), ((thead?, tfoot?, tbody+)|tr+)) + /// + /// + public virtual xhtmltfoottype tfoot { + get { + XElement x = this.GetElement(tfootXName); + return ((xhtmltfoottype)(x)); + } + set { + this.SetElement(tfootXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName tbodyXName = System.Xml.Linq.XName.Get("tbody", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList tbodyField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (caption?, (col* | colgroup*), ((thead?, tfoot?, tbody+)|tr+)) + /// + /// + public virtual IList tbody { + get { + if ((this.tbodyField == null)) { + this.tbodyField = new XTypedList(this, LinqToXsdTypeManager.Instance, tbodyXName); + } + return this.tbodyField; + } + set { + if ((value == null)) { + this.tbodyField = null; + } + else { + if ((this.tbodyField == null)) { + this.tbodyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, tbodyXName); + } + else { + XTypedServices.SetList(this.tbodyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName trXName = System.Xml.Linq.XName.Get("tr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList trField; + + /// + /// + /// Occurrence: required, repeating, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (caption?, (col* | colgroup*), ((thead?, tfoot?, tbody+)|tr+)) + /// + /// + public virtual IList tr { + get { + if ((this.trField == null)) { + this.trField = new XTypedList(this, LinqToXsdTypeManager.Instance, trXName); + } + return this.trField; + } + set { + if ((value == null)) { + this.trField = null; + } + else { + if ((this.trField == null)) { + this.trField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, trXName); + } + else { + XTypedServices.SetList(this.trField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmltabletype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmltabletype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmltabletype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName summaryXName = System.Xml.Linq.XName.Get("summary", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string summary { + get { + XAttribute x = this.Attribute(summaryXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(summaryXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName widthXName = System.Xml.Linq.XName.Get("width", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object width { + get { + XAttribute x = this.Attribute(widthXName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "width", this, widthXName, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName borderXName = System.Xml.Linq.XName.Get("border", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Decimal? border { + get { + XAttribute x = this.Attribute(borderXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(borderXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName frameXName = System.Xml.Linq.XName.Get("frame", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string frame { + get { + XAttribute x = this.Attribute(frameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + set { + this.SetAttribute(frameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + public enum RulesEnum { + + none, + + groups, + + rows, + + cols, + + all, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rulesXName = System.Xml.Linq.XName.Get("rules", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmltabletype.RulesEnum? rules { + get { + XAttribute x = this.Attribute(rulesXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmltabletype.RulesEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmltabletype.RulesEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(rulesXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName cellspacingXName = System.Xml.Linq.XName.Get("cellspacing", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object cellspacing { + get { + XAttribute x = this.Attribute(cellspacingXName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "cellspacing", this, cellspacingXName, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName cellpaddingXName = System.Xml.Linq.XName.Get("cellpadding", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object cellpadding { + get { + XAttribute x = this.Attribute(cellpaddingXName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "cellpadding", this, cellpaddingXName, global::W3C.Xhtml.Datatypes.Length.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.table.type", "http://www.w3.org/1999/xhtml"); + + static xhtmltabletype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(captionXName), new ChoiceContentModelEntity(new NamedContentModelEntity(colXName), new NamedContentModelEntity(colgroupXName)), new ChoiceContentModelEntity(new SequenceContentModelEntity(new NamedContentModelEntity(theadXName), new NamedContentModelEntity(tfootXName), new NamedContentModelEntity(tbodyXName)), new NamedContentModelEntity(trXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(captionXName, typeof(xhtmlcaptiontype)); + localElementDictionary.Add(colXName, typeof(xhtmlcoltype)); + localElementDictionary.Add(colgroupXName, typeof(xhtmlcolgrouptype)); + localElementDictionary.Add(theadXName, typeof(xhtmltheadtype)); + localElementDictionary.Add(tfootXName, typeof(xhtmltfoottype)); + localElementDictionary.Add(tbodyXName, typeof(xhtmltbodytype)); + localElementDictionary.Add(trXName, typeof(xhtmltrtype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | fieldset)+) + /// + /// + public partial class xhtmlformtype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlformtype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | fieldset)+) + /// + /// + public xhtmlformtype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h1XName = System.Xml.Linq.XName.Get("h1", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h1Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | fieldset)+) + /// + /// + public virtual IList h1 { + get { + if ((this.h1Field == null)) { + this.h1Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h1XName); + } + return this.h1Field; + } + set { + if ((value == null)) { + this.h1Field = null; + } + else { + if ((this.h1Field == null)) { + this.h1Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h1XName); + } + else { + XTypedServices.SetList(this.h1Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h2XName = System.Xml.Linq.XName.Get("h2", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h2Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | fieldset)+) + /// + /// + public virtual IList h2 { + get { + if ((this.h2Field == null)) { + this.h2Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h2XName); + } + return this.h2Field; + } + set { + if ((value == null)) { + this.h2Field = null; + } + else { + if ((this.h2Field == null)) { + this.h2Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h2XName); + } + else { + XTypedServices.SetList(this.h2Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h3XName = System.Xml.Linq.XName.Get("h3", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h3Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | fieldset)+) + /// + /// + public virtual IList h3 { + get { + if ((this.h3Field == null)) { + this.h3Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h3XName); + } + return this.h3Field; + } + set { + if ((value == null)) { + this.h3Field = null; + } + else { + if ((this.h3Field == null)) { + this.h3Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h3XName); + } + else { + XTypedServices.SetList(this.h3Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h4XName = System.Xml.Linq.XName.Get("h4", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h4Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | fieldset)+) + /// + /// + public virtual IList h4 { + get { + if ((this.h4Field == null)) { + this.h4Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h4XName); + } + return this.h4Field; + } + set { + if ((value == null)) { + this.h4Field = null; + } + else { + if ((this.h4Field == null)) { + this.h4Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h4XName); + } + else { + XTypedServices.SetList(this.h4Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h5XName = System.Xml.Linq.XName.Get("h5", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h5Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | fieldset)+) + /// + /// + public virtual IList h5 { + get { + if ((this.h5Field == null)) { + this.h5Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h5XName); + } + return this.h5Field; + } + set { + if ((value == null)) { + this.h5Field = null; + } + else { + if ((this.h5Field == null)) { + this.h5Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h5XName); + } + else { + XTypedServices.SetList(this.h5Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h6XName = System.Xml.Linq.XName.Get("h6", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h6Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | fieldset)+) + /// + /// + public virtual IList h6 { + get { + if ((this.h6Field == null)) { + this.h6Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h6XName); + } + return this.h6Field; + } + set { + if ((value == null)) { + this.h6Field = null; + } + else { + if ((this.h6Field == null)) { + this.h6Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h6XName); + } + else { + XTypedServices.SetList(this.h6Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ulXName = System.Xml.Linq.XName.Get("ul", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ulField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | fieldset)+) + /// + /// + public virtual IList ul { + get { + if ((this.ulField == null)) { + this.ulField = new XTypedList(this, LinqToXsdTypeManager.Instance, ulXName); + } + return this.ulField; + } + set { + if ((value == null)) { + this.ulField = null; + } + else { + if ((this.ulField == null)) { + this.ulField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ulXName); + } + else { + XTypedServices.SetList(this.ulField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName olXName = System.Xml.Linq.XName.Get("ol", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList olField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | fieldset)+) + /// + /// + public virtual IList ol { + get { + if ((this.olField == null)) { + this.olField = new XTypedList(this, LinqToXsdTypeManager.Instance, olXName); + } + return this.olField; + } + set { + if ((value == null)) { + this.olField = null; + } + else { + if ((this.olField == null)) { + this.olField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, olXName); + } + else { + XTypedServices.SetList(this.olField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dlXName = System.Xml.Linq.XName.Get("dl", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dlField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | fieldset)+) + /// + /// + public virtual IList dl { + get { + if ((this.dlField == null)) { + this.dlField = new XTypedList(this, LinqToXsdTypeManager.Instance, dlXName); + } + return this.dlField; + } + set { + if ((value == null)) { + this.dlField = null; + } + else { + if ((this.dlField == null)) { + this.dlField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dlXName); + } + else { + XTypedServices.SetList(this.dlField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName pXName = System.Xml.Linq.XName.Get("p", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList pField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | fieldset)+) + /// + /// + public virtual IList p { + get { + if ((this.pField == null)) { + this.pField = new XTypedList(this, LinqToXsdTypeManager.Instance, pXName); + } + return this.pField; + } + set { + if ((value == null)) { + this.pField = null; + } + else { + if ((this.pField == null)) { + this.pField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, pXName); + } + else { + XTypedServices.SetList(this.pField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName divXName = System.Xml.Linq.XName.Get("div", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList divField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | fieldset)+) + /// + /// + public virtual IList div { + get { + if ((this.divField == null)) { + this.divField = new XTypedList(this, LinqToXsdTypeManager.Instance, divXName); + } + return this.divField; + } + set { + if ((value == null)) { + this.divField = null; + } + else { + if ((this.divField == null)) { + this.divField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, divXName); + } + else { + XTypedServices.SetList(this.divField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName preXName = System.Xml.Linq.XName.Get("pre", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList preField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | fieldset)+) + /// + /// + public virtual IList pre { + get { + if ((this.preField == null)) { + this.preField = new XTypedList(this, LinqToXsdTypeManager.Instance, preXName); + } + return this.preField; + } + set { + if ((value == null)) { + this.preField = null; + } + else { + if ((this.preField == null)) { + this.preField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, preXName); + } + else { + XTypedServices.SetList(this.preField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName blockquoteXName = System.Xml.Linq.XName.Get("blockquote", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList blockquoteField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | fieldset)+) + /// + /// + public virtual IList blockquote { + get { + if ((this.blockquoteField == null)) { + this.blockquoteField = new XTypedList(this, LinqToXsdTypeManager.Instance, blockquoteXName); + } + return this.blockquoteField; + } + set { + if ((value == null)) { + this.blockquoteField = null; + } + else { + if ((this.blockquoteField == null)) { + this.blockquoteField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, blockquoteXName); + } + else { + XTypedServices.SetList(this.blockquoteField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName addressXName = System.Xml.Linq.XName.Get("address", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList addressField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | fieldset)+) + /// + /// + public virtual IList address { + get { + if ((this.addressField == null)) { + this.addressField = new XTypedList(this, LinqToXsdTypeManager.Instance, addressXName); + } + return this.addressField; + } + set { + if ((value == null)) { + this.addressField = null; + } + else { + if ((this.addressField == null)) { + this.addressField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, addressXName); + } + else { + XTypedServices.SetList(this.addressField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName hrXName = System.Xml.Linq.XName.Get("hr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList hrField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | fieldset)+) + /// + /// + public virtual IList hr { + get { + if ((this.hrField == null)) { + this.hrField = new XTypedList(this, LinqToXsdTypeManager.Instance, hrXName); + } + return this.hrField; + } + set { + if ((value == null)) { + this.hrField = null; + } + else { + if ((this.hrField == null)) { + this.hrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, hrXName); + } + else { + XTypedServices.SetList(this.hrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName tableXName = System.Xml.Linq.XName.Get("table", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList tableField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | fieldset)+) + /// + /// + public virtual IList table { + get { + if ((this.tableField == null)) { + this.tableField = new XTypedList(this, LinqToXsdTypeManager.Instance, tableXName); + } + return this.tableField; + } + set { + if ((value == null)) { + this.tableField = null; + } + else { + if ((this.tableField == null)) { + this.tableField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, tableXName); + } + else { + XTypedServices.SetList(this.tableField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | fieldset)+) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | fieldset)+) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | fieldset)+) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | fieldset)+) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName fieldsetXName = System.Xml.Linq.XName.Get("fieldset", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList fieldsetField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | fieldset)+) + /// + /// + public virtual IList fieldset { + get { + if ((this.fieldsetField == null)) { + this.fieldsetField = new XTypedList(this, LinqToXsdTypeManager.Instance, fieldsetXName); + } + return this.fieldsetField; + } + set { + if ((value == null)) { + this.fieldsetField = null; + } + else { + if ((this.fieldsetField == null)) { + this.fieldsetField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, fieldsetXName); + } + else { + XTypedServices.SetList(this.fieldsetField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlformtype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlformtype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlformtype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName actionXName = System.Xml.Linq.XName.Get("action", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual System.Uri action { + get { + XAttribute x = this.Attribute(actionXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(actionXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + public enum MethodEnum { + + get, + + post, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName methodXName = System.Xml.Linq.XName.Get("method", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static string methodDefaultValue = "get"; + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlformtype.MethodEnum method { + get { + XAttribute x = this.Attribute(methodXName); + return ((W3C.Xhtml.xhtmlformtype.MethodEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlformtype.MethodEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype, methodDefaultValue)))); + } + set { + this.SetAttribute(methodXName, value.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName nameXName = System.Xml.Linq.XName.Get("name", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string name { + get { + XAttribute x = this.Attribute(nameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(nameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName enctypeXName = System.Xml.Linq.XName.Get("enctype", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static string enctypeDefaultValue = "application/x-www-form-urlencoded"; + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string enctype { + get { + XAttribute x = this.Attribute(enctypeXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, enctypeDefaultValue); + } + set { + this.SetAttribute(enctypeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acceptcharsetXName = System.Xml.Linq.XName.Get("accept-charset", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual IList acceptcharset { + get { + XAttribute x = this.Attribute(acceptcharsetXName); + return XTypedServices.ParseListValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetListAttribute(acceptcharsetXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acceptXName = System.Xml.Linq.XName.Get("accept", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string accept { + get { + XAttribute x = this.Attribute(acceptXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(acceptXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onsubmitXName = System.Xml.Linq.XName.Get("onsubmit", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onsubmit { + get { + XAttribute x = this.Attribute(onsubmitXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onsubmitXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onresetXName = System.Xml.Linq.XName.Get("onreset", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onreset { + get { + XAttribute x = this.Attribute(onresetXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onresetXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName targetXName = System.Xml.Linq.XName.Get("target", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object target { + get { + XAttribute x = this.Attribute(targetXName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.FrameTarget.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "target", this, targetXName, global::W3C.Xhtml.Datatypes.FrameTarget.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.form.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlformtype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(h1XName), new NamedContentModelEntity(h2XName), new NamedContentModelEntity(h3XName), new NamedContentModelEntity(h4XName), new NamedContentModelEntity(h5XName), new NamedContentModelEntity(h6XName), new NamedContentModelEntity(ulXName), new NamedContentModelEntity(olXName), new NamedContentModelEntity(dlXName), new NamedContentModelEntity(pXName), new NamedContentModelEntity(divXName), new NamedContentModelEntity(preXName), new NamedContentModelEntity(blockquoteXName), new NamedContentModelEntity(addressXName), new SequenceContentModelEntity(new NamedContentModelEntity(hrXName)), new NamedContentModelEntity(tableXName), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName), new NamedContentModelEntity(fieldsetXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(h1XName, typeof(xhtmlh1type)); + localElementDictionary.Add(h2XName, typeof(xhtmlh2type)); + localElementDictionary.Add(h3XName, typeof(xhtmlh3type)); + localElementDictionary.Add(h4XName, typeof(xhtmlh4type)); + localElementDictionary.Add(h5XName, typeof(xhtmlh5type)); + localElementDictionary.Add(h6XName, typeof(xhtmlh6type)); + localElementDictionary.Add(ulXName, typeof(xhtmlultype)); + localElementDictionary.Add(olXName, typeof(xhtmloltype)); + localElementDictionary.Add(dlXName, typeof(xhtmldltype)); + localElementDictionary.Add(pXName, typeof(xhtmlptype)); + localElementDictionary.Add(divXName, typeof(xhtmldivtype)); + localElementDictionary.Add(preXName, typeof(xhtmlpretype)); + localElementDictionary.Add(blockquoteXName, typeof(xhtmlblockquotetype)); + localElementDictionary.Add(addressXName, typeof(xhtmladdresstype)); + localElementDictionary.Add(hrXName, typeof(xhtmlhrtype)); + localElementDictionary.Add(tableXName, typeof(xhtmltabletype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + localElementDictionary.Add(fieldsetXName, typeof(xhtmlfieldsettype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public partial class xhtmllabeltype : XTypedElement, IXMetaData { + + public static explicit operator xhtmllabeltype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public xhtmllabeltype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((input | select | textarea | button | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | (bdo)|tt | i | b | big | small | sub | sup | img | map | @object | ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmllabeltype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmllabeltype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmllabeltype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @forXName = System.Xml.Linq.XName.Get("for", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @for { + get { + XAttribute x = this.Attribute(@forXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(@forXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName accesskeyXName = System.Xml.Linq.XName.Get("accesskey", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string accesskey { + get { + XAttribute x = this.Attribute(accesskeyXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(accesskeyXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onfocusXName = System.Xml.Linq.XName.Get("onfocus", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onfocus { + get { + XAttribute x = this.Attribute(onfocusXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onfocusXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onblurXName = System.Xml.Linq.XName.Get("onblur", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onblur { + get { + XAttribute x = this.Attribute(onblurXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onblurXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.label.type", "http://www.w3.org/1999/xhtml"); + + static xhtmllabeltype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(buttonXName), new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public enum xhtmlInputTypeclass { + + text, + + password, + + checkbox, + + radio, + + submit, + + reset, + + hidden, + + image, + + button, + + file, + } + + public sealed class xhtmlInputTypeclassValidator { + + private xhtmlInputTypeclassValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "text", + "password", + "checkbox", + "radio", + "submit", + "reset", + "hidden", + "image", + "button", + "file"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Collapse)); + } + + public partial class xhtmlinputtype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlinputtype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public xhtmlinputtype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlinputtype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlinputtype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlinputtype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName typeXName = System.Xml.Linq.XName.Get("type", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static string typeDefaultValue = "text"; + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlInputTypeclass type { + get { + XAttribute x = this.Attribute(typeXName); + return ((W3C.Xhtml.xhtmlInputTypeclass)(Enum.Parse(typeof(W3C.Xhtml.xhtmlInputTypeclass), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype, typeDefaultValue)))); + } + set { + this.SetAttribute(typeXName, value.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName nameXName = System.Xml.Linq.XName.Get("name", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string name { + get { + XAttribute x = this.Attribute(nameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(nameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName valueXName = System.Xml.Linq.XName.Get("value", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string value { + get { + XAttribute x = this.Attribute(valueXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(valueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @checkedXName = System.Xml.Linq.XName.Get("checked", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @checked { + get { + XAttribute x = this.Attribute(@checkedXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + set { + this.SetAttribute(@checkedXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + public enum DisabledEnum { + + disabled, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName disabledXName = System.Xml.Linq.XName.Get("disabled", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlinputtype.DisabledEnum? disabled { + get { + XAttribute x = this.Attribute(disabledXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlinputtype.DisabledEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlinputtype.DisabledEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(disabledXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @readonlyXName = System.Xml.Linq.XName.Get("readonly", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @readonly { + get { + XAttribute x = this.Attribute(@readonlyXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + set { + this.SetAttribute(@readonlyXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sizeXName = System.Xml.Linq.XName.Get("size", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Decimal? size { + get { + XAttribute x = this.Attribute(sizeXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(sizeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName maxlengthXName = System.Xml.Linq.XName.Get("maxlength", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Decimal? maxlength { + get { + XAttribute x = this.Attribute(maxlengthXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(maxlengthXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName srcXName = System.Xml.Linq.XName.Get("src", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Uri src { + get { + XAttribute x = this.Attribute(srcXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(srcXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName altXName = System.Xml.Linq.XName.Get("alt", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string alt { + get { + XAttribute x = this.Attribute(altXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(altXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName tabindexXName = System.Xml.Linq.XName.Get("tabindex", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Decimal? tabindex { + get { + XAttribute x = this.Attribute(tabindexXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(tabindexXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName accesskeyXName = System.Xml.Linq.XName.Get("accesskey", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string accesskey { + get { + XAttribute x = this.Attribute(accesskeyXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(accesskeyXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acceptXName = System.Xml.Linq.XName.Get("accept", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string accept { + get { + XAttribute x = this.Attribute(acceptXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(acceptXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName usemapXName = System.Xml.Linq.XName.Get("usemap", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string usemap { + get { + XAttribute x = this.Attribute(usemapXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(usemapXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + public enum IsmapEnum { + + ismap, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ismapXName = System.Xml.Linq.XName.Get("ismap", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlinputtype.IsmapEnum? ismap { + get { + XAttribute x = this.Attribute(ismapXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlinputtype.IsmapEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlinputtype.IsmapEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(ismapXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onfocusXName = System.Xml.Linq.XName.Get("onfocus", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onfocus { + get { + XAttribute x = this.Attribute(onfocusXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onfocusXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onblurXName = System.Xml.Linq.XName.Get("onblur", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onblur { + get { + XAttribute x = this.Attribute(onblurXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onblurXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onselectXName = System.Xml.Linq.XName.Get("onselect", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onselect { + get { + XAttribute x = this.Attribute(onselectXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onselectXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onchangeXName = System.Xml.Linq.XName.Get("onchange", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onchange { + get { + XAttribute x = this.Attribute(onchangeXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onchangeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.input.type", "http://www.w3.org/1999/xhtml"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((optgroup | option)+) + /// + /// + public partial class xhtmlselecttype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlselecttype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((optgroup | option)+) + /// + /// + public xhtmlselecttype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName optgroupXName = System.Xml.Linq.XName.Get("optgroup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList optgroupField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((optgroup | option)+) + /// + /// + public virtual IList optgroup { + get { + if ((this.optgroupField == null)) { + this.optgroupField = new XTypedList(this, LinqToXsdTypeManager.Instance, optgroupXName); + } + return this.optgroupField; + } + set { + if ((value == null)) { + this.optgroupField = null; + } + else { + if ((this.optgroupField == null)) { + this.optgroupField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, optgroupXName); + } + else { + XTypedServices.SetList(this.optgroupField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName optionXName = System.Xml.Linq.XName.Get("option", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList optionField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((optgroup | option)+) + /// + /// + public virtual IList option { + get { + if ((this.optionField == null)) { + this.optionField = new XTypedList(this, LinqToXsdTypeManager.Instance, optionXName); + } + return this.optionField; + } + set { + if ((value == null)) { + this.optionField = null; + } + else { + if ((this.optionField == null)) { + this.optionField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, optionXName); + } + else { + XTypedServices.SetList(this.optionField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlselecttype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlselecttype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlselecttype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName nameXName = System.Xml.Linq.XName.Get("name", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string name { + get { + XAttribute x = this.Attribute(nameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(nameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sizeXName = System.Xml.Linq.XName.Get("size", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Decimal? size { + get { + XAttribute x = this.Attribute(sizeXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(sizeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + public enum MultipleEnum { + + multiple, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName multipleXName = System.Xml.Linq.XName.Get("multiple", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlselecttype.MultipleEnum? multiple { + get { + XAttribute x = this.Attribute(multipleXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlselecttype.MultipleEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlselecttype.MultipleEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(multipleXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + public enum DisabledEnum { + + disabled, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName disabledXName = System.Xml.Linq.XName.Get("disabled", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlselecttype.DisabledEnum? disabled { + get { + XAttribute x = this.Attribute(disabledXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlselecttype.DisabledEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlselecttype.DisabledEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(disabledXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName tabindexXName = System.Xml.Linq.XName.Get("tabindex", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Decimal? tabindex { + get { + XAttribute x = this.Attribute(tabindexXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(tabindexXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onfocusXName = System.Xml.Linq.XName.Get("onfocus", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onfocus { + get { + XAttribute x = this.Attribute(onfocusXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onfocusXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onblurXName = System.Xml.Linq.XName.Get("onblur", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onblur { + get { + XAttribute x = this.Attribute(onblurXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onblurXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onchangeXName = System.Xml.Linq.XName.Get("onchange", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onchange { + get { + XAttribute x = this.Attribute(onchangeXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onchangeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.select.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlselecttype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(optgroupXName), new NamedContentModelEntity(optionXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(optgroupXName, typeof(xhtmloptgrouptype)); + localElementDictionary.Add(optionXName, typeof(xhtmloptiontype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (option+) + /// + /// + public partial class xhtmloptgrouptype : XTypedElement, IXMetaData { + + public static explicit operator xhtmloptgrouptype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (option+) + /// + /// + public xhtmloptgrouptype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName optionXName = System.Xml.Linq.XName.Get("option", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList optionField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (option+) + /// + /// + public virtual IList option { + get { + if ((this.optionField == null)) { + this.optionField = new XTypedList(this, LinqToXsdTypeManager.Instance, optionXName); + } + return this.optionField; + } + set { + if ((value == null)) { + this.optionField = null; + } + else { + if ((this.optionField == null)) { + this.optionField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, optionXName); + } + else { + XTypedServices.SetList(this.optionField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmloptgrouptype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmloptgrouptype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmloptgrouptype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + public enum DisabledEnum { + + disabled, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName disabledXName = System.Xml.Linq.XName.Get("disabled", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmloptgrouptype.DisabledEnum? disabled { + get { + XAttribute x = this.Attribute(disabledXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmloptgrouptype.DisabledEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmloptgrouptype.DisabledEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(disabledXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string label { + get { + XAttribute x = this.Attribute(labelXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(labelXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.optgroup.type", "http://www.w3.org/1999/xhtml"); + + static xhtmloptgrouptype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(optionXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(optionXName, typeof(xhtmloptiontype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class xhtmloptiontype : XTypedElement, IXMetaData { + + public static explicit operator xhtmloptiontype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public xhtmloptiontype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmloptiontype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmloptiontype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmloptiontype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + public enum SelectedEnum { + + selected, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectedXName = System.Xml.Linq.XName.Get("selected", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmloptiontype.SelectedEnum? selected { + get { + XAttribute x = this.Attribute(selectedXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmloptiontype.SelectedEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmloptiontype.SelectedEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(selectedXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + public enum DisabledEnum { + + disabled, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName disabledXName = System.Xml.Linq.XName.Get("disabled", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmloptiontype.DisabledEnum? disabled { + get { + XAttribute x = this.Attribute(disabledXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmloptiontype.DisabledEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmloptiontype.DisabledEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(disabledXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string label { + get { + XAttribute x = this.Attribute(labelXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(labelXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName valueXName = System.Xml.Linq.XName.Get("value", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string value { + get { + XAttribute x = this.Attribute(valueXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(valueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.option.type", "http://www.w3.org/1999/xhtml"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class xhtmltextareatype : XTypedElement, IXMetaData { + + public static explicit operator xhtmltextareatype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public xhtmltextareatype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmltextareatype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmltextareatype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmltextareatype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName nameXName = System.Xml.Linq.XName.Get("name", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string name { + get { + XAttribute x = this.Attribute(nameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(nameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rowsXName = System.Xml.Linq.XName.Get("rows", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual decimal rows { + get { + XAttribute x = this.Attribute(rowsXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(rowsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName colsXName = System.Xml.Linq.XName.Get("cols", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual decimal cols { + get { + XAttribute x = this.Attribute(colsXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(colsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + public enum DisabledEnum { + + disabled, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName disabledXName = System.Xml.Linq.XName.Get("disabled", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmltextareatype.DisabledEnum? disabled { + get { + XAttribute x = this.Attribute(disabledXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmltextareatype.DisabledEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmltextareatype.DisabledEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(disabledXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @readonlyXName = System.Xml.Linq.XName.Get("readonly", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @readonly { + get { + XAttribute x = this.Attribute(@readonlyXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + set { + this.SetAttribute(@readonlyXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName tabindexXName = System.Xml.Linq.XName.Get("tabindex", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Decimal? tabindex { + get { + XAttribute x = this.Attribute(tabindexXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(tabindexXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName accesskeyXName = System.Xml.Linq.XName.Get("accesskey", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string accesskey { + get { + XAttribute x = this.Attribute(accesskeyXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(accesskeyXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onfocusXName = System.Xml.Linq.XName.Get("onfocus", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onfocus { + get { + XAttribute x = this.Attribute(onfocusXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onfocusXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onblurXName = System.Xml.Linq.XName.Get("onblur", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onblur { + get { + XAttribute x = this.Attribute(onblurXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onblurXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onselectXName = System.Xml.Linq.XName.Get("onselect", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onselect { + get { + XAttribute x = this.Attribute(onselectXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onselectXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onchangeXName = System.Xml.Linq.XName.Get("onchange", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onchange { + get { + XAttribute x = this.Attribute(onchangeXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onchangeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.textarea.type", "http://www.w3.org/1999/xhtml"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmlfieldsettype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlfieldsettype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmlfieldsettype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName legendXName = System.Xml.Linq.XName.Get("legend", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList legendField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList legend { + get { + if ((this.legendField == null)) { + this.legendField = new XTypedList(this, LinqToXsdTypeManager.Instance, legendXName); + } + return this.legendField; + } + set { + if ((value == null)) { + this.legendField = null; + } + else { + if ((this.legendField == null)) { + this.legendField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, legendXName); + } + else { + XTypedServices.SetList(this.legendField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h1XName = System.Xml.Linq.XName.Get("h1", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h1Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h1 { + get { + if ((this.h1Field == null)) { + this.h1Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h1XName); + } + return this.h1Field; + } + set { + if ((value == null)) { + this.h1Field = null; + } + else { + if ((this.h1Field == null)) { + this.h1Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h1XName); + } + else { + XTypedServices.SetList(this.h1Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h2XName = System.Xml.Linq.XName.Get("h2", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h2Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h2 { + get { + if ((this.h2Field == null)) { + this.h2Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h2XName); + } + return this.h2Field; + } + set { + if ((value == null)) { + this.h2Field = null; + } + else { + if ((this.h2Field == null)) { + this.h2Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h2XName); + } + else { + XTypedServices.SetList(this.h2Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h3XName = System.Xml.Linq.XName.Get("h3", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h3Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h3 { + get { + if ((this.h3Field == null)) { + this.h3Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h3XName); + } + return this.h3Field; + } + set { + if ((value == null)) { + this.h3Field = null; + } + else { + if ((this.h3Field == null)) { + this.h3Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h3XName); + } + else { + XTypedServices.SetList(this.h3Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h4XName = System.Xml.Linq.XName.Get("h4", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h4Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h4 { + get { + if ((this.h4Field == null)) { + this.h4Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h4XName); + } + return this.h4Field; + } + set { + if ((value == null)) { + this.h4Field = null; + } + else { + if ((this.h4Field == null)) { + this.h4Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h4XName); + } + else { + XTypedServices.SetList(this.h4Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h5XName = System.Xml.Linq.XName.Get("h5", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h5Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h5 { + get { + if ((this.h5Field == null)) { + this.h5Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h5XName); + } + return this.h5Field; + } + set { + if ((value == null)) { + this.h5Field = null; + } + else { + if ((this.h5Field == null)) { + this.h5Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h5XName); + } + else { + XTypedServices.SetList(this.h5Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h6XName = System.Xml.Linq.XName.Get("h6", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h6Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList h6 { + get { + if ((this.h6Field == null)) { + this.h6Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h6XName); + } + return this.h6Field; + } + set { + if ((value == null)) { + this.h6Field = null; + } + else { + if ((this.h6Field == null)) { + this.h6Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h6XName); + } + else { + XTypedServices.SetList(this.h6Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ulXName = System.Xml.Linq.XName.Get("ul", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ulField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ul { + get { + if ((this.ulField == null)) { + this.ulField = new XTypedList(this, LinqToXsdTypeManager.Instance, ulXName); + } + return this.ulField; + } + set { + if ((value == null)) { + this.ulField = null; + } + else { + if ((this.ulField == null)) { + this.ulField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ulXName); + } + else { + XTypedServices.SetList(this.ulField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName olXName = System.Xml.Linq.XName.Get("ol", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList olField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ol { + get { + if ((this.olField == null)) { + this.olField = new XTypedList(this, LinqToXsdTypeManager.Instance, olXName); + } + return this.olField; + } + set { + if ((value == null)) { + this.olField = null; + } + else { + if ((this.olField == null)) { + this.olField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, olXName); + } + else { + XTypedServices.SetList(this.olField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dlXName = System.Xml.Linq.XName.Get("dl", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dlField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dl { + get { + if ((this.dlField == null)) { + this.dlField = new XTypedList(this, LinqToXsdTypeManager.Instance, dlXName); + } + return this.dlField; + } + set { + if ((value == null)) { + this.dlField = null; + } + else { + if ((this.dlField == null)) { + this.dlField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dlXName); + } + else { + XTypedServices.SetList(this.dlField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName pXName = System.Xml.Linq.XName.Get("p", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList pField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList p { + get { + if ((this.pField == null)) { + this.pField = new XTypedList(this, LinqToXsdTypeManager.Instance, pXName); + } + return this.pField; + } + set { + if ((value == null)) { + this.pField = null; + } + else { + if ((this.pField == null)) { + this.pField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, pXName); + } + else { + XTypedServices.SetList(this.pField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName divXName = System.Xml.Linq.XName.Get("div", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList divField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList div { + get { + if ((this.divField == null)) { + this.divField = new XTypedList(this, LinqToXsdTypeManager.Instance, divXName); + } + return this.divField; + } + set { + if ((value == null)) { + this.divField = null; + } + else { + if ((this.divField == null)) { + this.divField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, divXName); + } + else { + XTypedServices.SetList(this.divField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName preXName = System.Xml.Linq.XName.Get("pre", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList preField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList pre { + get { + if ((this.preField == null)) { + this.preField = new XTypedList(this, LinqToXsdTypeManager.Instance, preXName); + } + return this.preField; + } + set { + if ((value == null)) { + this.preField = null; + } + else { + if ((this.preField == null)) { + this.preField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, preXName); + } + else { + XTypedServices.SetList(this.preField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName blockquoteXName = System.Xml.Linq.XName.Get("blockquote", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList blockquoteField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList blockquote { + get { + if ((this.blockquoteField == null)) { + this.blockquoteField = new XTypedList(this, LinqToXsdTypeManager.Instance, blockquoteXName); + } + return this.blockquoteField; + } + set { + if ((value == null)) { + this.blockquoteField = null; + } + else { + if ((this.blockquoteField == null)) { + this.blockquoteField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, blockquoteXName); + } + else { + XTypedServices.SetList(this.blockquoteField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName addressXName = System.Xml.Linq.XName.Get("address", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList addressField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList address { + get { + if ((this.addressField == null)) { + this.addressField = new XTypedList(this, LinqToXsdTypeManager.Instance, addressXName); + } + return this.addressField; + } + set { + if ((value == null)) { + this.addressField = null; + } + else { + if ((this.addressField == null)) { + this.addressField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, addressXName); + } + else { + XTypedServices.SetList(this.addressField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName hrXName = System.Xml.Linq.XName.Get("hr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList hrField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList hr { + get { + if ((this.hrField == null)) { + this.hrField = new XTypedList(this, LinqToXsdTypeManager.Instance, hrXName); + } + return this.hrField; + } + set { + if ((value == null)) { + this.hrField = null; + } + else { + if ((this.hrField == null)) { + this.hrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, hrXName); + } + else { + XTypedServices.SetList(this.hrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName tableXName = System.Xml.Linq.XName.Get("table", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList tableField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList table { + get { + if ((this.tableField == null)) { + this.tableField = new XTypedList(this, LinqToXsdTypeManager.Instance, tableXName); + } + return this.tableField; + } + set { + if ((value == null)) { + this.tableField = null; + } + else { + if ((this.tableField == null)) { + this.tableField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, tableXName); + } + else { + XTypedServices.SetList(this.tableField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName formXName = System.Xml.Linq.XName.Get("form", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList formField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList form { + get { + if ((this.formField == null)) { + this.formField = new XTypedList(this, LinqToXsdTypeManager.Instance, formXName); + } + return this.formField; + } + set { + if ((value == null)) { + this.formField = null; + } + else { + if ((this.formField == null)) { + this.formField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, formXName); + } + else { + XTypedServices.SetList(this.formField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName fieldsetXName = System.Xml.Linq.XName.Get("fieldset", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList fieldsetField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList fieldset { + get { + if ((this.fieldsetField == null)) { + this.fieldsetField = new XTypedList(this, LinqToXsdTypeManager.Instance, fieldsetXName); + } + return this.fieldsetField; + } + set { + if ((value == null)) { + this.fieldsetField = null; + } + else { + if ((this.fieldsetField == null)) { + this.fieldsetField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, fieldsetXName); + } + else { + XTypedServices.SetList(this.fieldsetField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((legend | h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | form | fieldset | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlfieldsettype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlfieldsettype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlfieldsettype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.fieldset.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlfieldsettype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(legendXName), new NamedContentModelEntity(h1XName), new NamedContentModelEntity(h2XName), new NamedContentModelEntity(h3XName), new NamedContentModelEntity(h4XName), new NamedContentModelEntity(h5XName), new NamedContentModelEntity(h6XName), new NamedContentModelEntity(ulXName), new NamedContentModelEntity(olXName), new NamedContentModelEntity(dlXName), new NamedContentModelEntity(pXName), new NamedContentModelEntity(divXName), new NamedContentModelEntity(preXName), new NamedContentModelEntity(blockquoteXName), new NamedContentModelEntity(addressXName), new SequenceContentModelEntity(new NamedContentModelEntity(hrXName)), new NamedContentModelEntity(tableXName), new NamedContentModelEntity(formXName), new NamedContentModelEntity(fieldsetXName), new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(legendXName, typeof(xhtmllegendtype)); + localElementDictionary.Add(h1XName, typeof(xhtmlh1type)); + localElementDictionary.Add(h2XName, typeof(xhtmlh2type)); + localElementDictionary.Add(h3XName, typeof(xhtmlh3type)); + localElementDictionary.Add(h4XName, typeof(xhtmlh4type)); + localElementDictionary.Add(h5XName, typeof(xhtmlh5type)); + localElementDictionary.Add(h6XName, typeof(xhtmlh6type)); + localElementDictionary.Add(ulXName, typeof(xhtmlultype)); + localElementDictionary.Add(olXName, typeof(xhtmloltype)); + localElementDictionary.Add(dlXName, typeof(xhtmldltype)); + localElementDictionary.Add(pXName, typeof(xhtmlptype)); + localElementDictionary.Add(divXName, typeof(xhtmldivtype)); + localElementDictionary.Add(preXName, typeof(xhtmlpretype)); + localElementDictionary.Add(blockquoteXName, typeof(xhtmlblockquotetype)); + localElementDictionary.Add(addressXName, typeof(xhtmladdresstype)); + localElementDictionary.Add(hrXName, typeof(xhtmlhrtype)); + localElementDictionary.Add(tableXName, typeof(xhtmltabletype)); + localElementDictionary.Add(formXName, typeof(xhtmlformtype)); + localElementDictionary.Add(fieldsetXName, typeof(xhtmlfieldsettype)); + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public partial class xhtmllegendtype : XTypedElement, IXMetaData { + + public static explicit operator xhtmllegendtype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public xhtmllegendtype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rubyXName = System.Xml.Linq.XName.Get("ruby", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rubyField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ruby { + get { + if ((this.rubyField == null)) { + this.rubyField = new XTypedList(this, LinqToXsdTypeManager.Instance, rubyXName); + } + return this.rubyField; + } + set { + if ((value == null)) { + this.rubyField = null; + } + else { + if ((this.rubyField == null)) { + this.rubyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rubyXName); + } + else { + XTypedServices.SetList(this.rubyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | (ruby)|ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmllegendtype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmllegendtype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmllegendtype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName accesskeyXName = System.Xml.Linq.XName.Get("accesskey", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string accesskey { + get { + XAttribute x = this.Attribute(accesskeyXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(accesskeyXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.legend.type", "http://www.w3.org/1999/xhtml"); + + static xhtmllegendtype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new SequenceContentModelEntity(new NamedContentModelEntity(rubyXName)), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(rubyXName, typeof(xhtmlrubytype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public partial class xhtmlbuttontype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlbuttontype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public xhtmlbuttontype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h1XName = System.Xml.Linq.XName.Get("h1", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h1Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList h1 { + get { + if ((this.h1Field == null)) { + this.h1Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h1XName); + } + return this.h1Field; + } + set { + if ((value == null)) { + this.h1Field = null; + } + else { + if ((this.h1Field == null)) { + this.h1Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h1XName); + } + else { + XTypedServices.SetList(this.h1Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h2XName = System.Xml.Linq.XName.Get("h2", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h2Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList h2 { + get { + if ((this.h2Field == null)) { + this.h2Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h2XName); + } + return this.h2Field; + } + set { + if ((value == null)) { + this.h2Field = null; + } + else { + if ((this.h2Field == null)) { + this.h2Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h2XName); + } + else { + XTypedServices.SetList(this.h2Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h3XName = System.Xml.Linq.XName.Get("h3", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h3Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList h3 { + get { + if ((this.h3Field == null)) { + this.h3Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h3XName); + } + return this.h3Field; + } + set { + if ((value == null)) { + this.h3Field = null; + } + else { + if ((this.h3Field == null)) { + this.h3Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h3XName); + } + else { + XTypedServices.SetList(this.h3Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h4XName = System.Xml.Linq.XName.Get("h4", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h4Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList h4 { + get { + if ((this.h4Field == null)) { + this.h4Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h4XName); + } + return this.h4Field; + } + set { + if ((value == null)) { + this.h4Field = null; + } + else { + if ((this.h4Field == null)) { + this.h4Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h4XName); + } + else { + XTypedServices.SetList(this.h4Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h5XName = System.Xml.Linq.XName.Get("h5", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h5Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList h5 { + get { + if ((this.h5Field == null)) { + this.h5Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h5XName); + } + return this.h5Field; + } + set { + if ((value == null)) { + this.h5Field = null; + } + else { + if ((this.h5Field == null)) { + this.h5Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h5XName); + } + else { + XTypedServices.SetList(this.h5Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName h6XName = System.Xml.Linq.XName.Get("h6", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList h6Field; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList h6 { + get { + if ((this.h6Field == null)) { + this.h6Field = new XTypedList(this, LinqToXsdTypeManager.Instance, h6XName); + } + return this.h6Field; + } + set { + if ((value == null)) { + this.h6Field = null; + } + else { + if ((this.h6Field == null)) { + this.h6Field = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, h6XName); + } + else { + XTypedServices.SetList(this.h6Field, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ulXName = System.Xml.Linq.XName.Get("ul", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ulField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList ul { + get { + if ((this.ulField == null)) { + this.ulField = new XTypedList(this, LinqToXsdTypeManager.Instance, ulXName); + } + return this.ulField; + } + set { + if ((value == null)) { + this.ulField = null; + } + else { + if ((this.ulField == null)) { + this.ulField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ulXName); + } + else { + XTypedServices.SetList(this.ulField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName olXName = System.Xml.Linq.XName.Get("ol", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList olField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList ol { + get { + if ((this.olField == null)) { + this.olField = new XTypedList(this, LinqToXsdTypeManager.Instance, olXName); + } + return this.olField; + } + set { + if ((value == null)) { + this.olField = null; + } + else { + if ((this.olField == null)) { + this.olField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, olXName); + } + else { + XTypedServices.SetList(this.olField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dlXName = System.Xml.Linq.XName.Get("dl", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dlField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList dl { + get { + if ((this.dlField == null)) { + this.dlField = new XTypedList(this, LinqToXsdTypeManager.Instance, dlXName); + } + return this.dlField; + } + set { + if ((value == null)) { + this.dlField = null; + } + else { + if ((this.dlField == null)) { + this.dlField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dlXName); + } + else { + XTypedServices.SetList(this.dlField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName pXName = System.Xml.Linq.XName.Get("p", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList pField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList p { + get { + if ((this.pField == null)) { + this.pField = new XTypedList(this, LinqToXsdTypeManager.Instance, pXName); + } + return this.pField; + } + set { + if ((value == null)) { + this.pField = null; + } + else { + if ((this.pField == null)) { + this.pField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, pXName); + } + else { + XTypedServices.SetList(this.pField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName divXName = System.Xml.Linq.XName.Get("div", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList divField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList div { + get { + if ((this.divField == null)) { + this.divField = new XTypedList(this, LinqToXsdTypeManager.Instance, divXName); + } + return this.divField; + } + set { + if ((value == null)) { + this.divField = null; + } + else { + if ((this.divField == null)) { + this.divField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, divXName); + } + else { + XTypedServices.SetList(this.divField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName preXName = System.Xml.Linq.XName.Get("pre", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList preField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList pre { + get { + if ((this.preField == null)) { + this.preField = new XTypedList(this, LinqToXsdTypeManager.Instance, preXName); + } + return this.preField; + } + set { + if ((value == null)) { + this.preField = null; + } + else { + if ((this.preField == null)) { + this.preField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, preXName); + } + else { + XTypedServices.SetList(this.preField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName blockquoteXName = System.Xml.Linq.XName.Get("blockquote", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList blockquoteField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList blockquote { + get { + if ((this.blockquoteField == null)) { + this.blockquoteField = new XTypedList(this, LinqToXsdTypeManager.Instance, blockquoteXName); + } + return this.blockquoteField; + } + set { + if ((value == null)) { + this.blockquoteField = null; + } + else { + if ((this.blockquoteField == null)) { + this.blockquoteField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, blockquoteXName); + } + else { + XTypedServices.SetList(this.blockquoteField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName addressXName = System.Xml.Linq.XName.Get("address", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList addressField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList address { + get { + if ((this.addressField == null)) { + this.addressField = new XTypedList(this, LinqToXsdTypeManager.Instance, addressXName); + } + return this.addressField; + } + set { + if ((value == null)) { + this.addressField = null; + } + else { + if ((this.addressField == null)) { + this.addressField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, addressXName); + } + else { + XTypedServices.SetList(this.addressField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName hrXName = System.Xml.Linq.XName.Get("hr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList hrField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList hr { + get { + if ((this.hrField == null)) { + this.hrField = new XTypedList(this, LinqToXsdTypeManager.Instance, hrXName); + } + return this.hrField; + } + set { + if ((value == null)) { + this.hrField = null; + } + else { + if ((this.hrField == null)) { + this.hrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, hrXName); + } + else { + XTypedServices.SetList(this.hrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName tableXName = System.Xml.Linq.XName.Get("table", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList tableField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList table { + get { + if ((this.tableField == null)) { + this.tableField = new XTypedList(this, LinqToXsdTypeManager.Instance, tableXName); + } + return this.tableField; + } + set { + if ((value == null)) { + this.tableField = null; + } + else { + if ((this.tableField == null)) { + this.tableField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, tableXName); + } + else { + XTypedServices.SetList(this.tableField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((h1 | h2 | h3 | h4 | h5 | h6 | ul | ol | dl | p | div | pre | blockquote | address | (hr)|table | ins | del | script | noscript | br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|img | map | @object)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spaceXName = System.Xml.Linq.XName.Get("space", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + XAttribute x = this.Attribute(spaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + set { + this.SetAttribute(spaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NCName).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @classXName = System.Xml.Linq.XName.Get("class", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string @class { + get { + XAttribute x = this.Attribute(@classXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(@classXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName titleXName = System.Xml.Linq.XName.Get("title", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string title { + get { + XAttribute x = this.Attribute(titleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(titleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName langXName = System.Xml.Linq.XName.Get("lang", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + XAttribute x = this.Attribute(langXName); + return XTypedServices.ParseUnionValue(x, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang", this, langXName, global::www.w3.org.XML.Item1998.@namespace.lang.TypeDefinition); + } + } + + public enum DirEnum { + + ltr, + + rtl, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dirXName = System.Xml.Linq.XName.Get("dir", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlbuttontype.DirEnum? dir { + get { + XAttribute x = this.Attribute(dirXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlbuttontype.DirEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlbuttontype.DirEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(dirXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName lang1XName = System.Xml.Linq.XName.Get("lang", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + XAttribute x = this.Attribute(lang1XName); + return XTypedServices.ParseUnionValue(x, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "lang1", this, lang1XName, global::W3C.Xhtml.Datatypes.LanguageCode.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName styleXName = System.Xml.Linq.XName.Get("style", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string style { + get { + XAttribute x = this.Attribute(styleXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(styleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onclickXName = System.Xml.Linq.XName.Get("onclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onclick { + get { + XAttribute x = this.Attribute(onclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ondblclickXName = System.Xml.Linq.XName.Get("ondblclick", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string ondblclick { + get { + XAttribute x = this.Attribute(ondblclickXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(ondblclickXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousedownXName = System.Xml.Linq.XName.Get("onmousedown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousedown { + get { + XAttribute x = this.Attribute(onmousedownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousedownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseupXName = System.Xml.Linq.XName.Get("onmouseup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseup { + get { + XAttribute x = this.Attribute(onmouseupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoverXName = System.Xml.Linq.XName.Get("onmouseover", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseover { + get { + XAttribute x = this.Attribute(onmouseoverXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoverXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmousemoveXName = System.Xml.Linq.XName.Get("onmousemove", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmousemove { + get { + XAttribute x = this.Attribute(onmousemoveXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmousemoveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onmouseoutXName = System.Xml.Linq.XName.Get("onmouseout", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onmouseout { + get { + XAttribute x = this.Attribute(onmouseoutXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onmouseoutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeypressXName = System.Xml.Linq.XName.Get("onkeypress", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeypress { + get { + XAttribute x = this.Attribute(onkeypressXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeypressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeydownXName = System.Xml.Linq.XName.Get("onkeydown", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeydown { + get { + XAttribute x = this.Attribute(onkeydownXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeydownXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onkeyupXName = System.Xml.Linq.XName.Get("onkeyup", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onkeyup { + get { + XAttribute x = this.Attribute(onkeyupXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onkeyupXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName nameXName = System.Xml.Linq.XName.Get("name", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string name { + get { + XAttribute x = this.Attribute(nameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(nameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName valueXName = System.Xml.Linq.XName.Get("value", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string value { + get { + XAttribute x = this.Attribute(valueXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(valueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + public enum TypeEnum { + + button, + + submit, + + reset, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName typeXName = System.Xml.Linq.XName.Get("type", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static string typeDefaultValue = "submit"; + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlbuttontype.TypeEnum type { + get { + XAttribute x = this.Attribute(typeXName); + return ((W3C.Xhtml.xhtmlbuttontype.TypeEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlbuttontype.TypeEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype, typeDefaultValue)))); + } + set { + this.SetAttribute(typeXName, value.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + public enum DisabledEnum { + + disabled, + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName disabledXName = System.Xml.Linq.XName.Get("disabled", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlbuttontype.DisabledEnum? disabled { + get { + XAttribute x = this.Attribute(disabledXName); + if ((x == null)) { + return null; + } + return ((W3C.Xhtml.xhtmlbuttontype.DisabledEnum)(Enum.Parse(typeof(W3C.Xhtml.xhtmlbuttontype.DisabledEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype)))); + } + set { + this.SetAttribute(disabledXName, value?.ToString(), XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName tabindexXName = System.Xml.Linq.XName.Get("tabindex", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Decimal? tabindex { + get { + XAttribute x = this.Attribute(tabindexXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(tabindexXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName accesskeyXName = System.Xml.Linq.XName.Get("accesskey", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string accesskey { + get { + XAttribute x = this.Attribute(accesskeyXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(accesskeyXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onfocusXName = System.Xml.Linq.XName.Get("onfocus", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onfocus { + get { + XAttribute x = this.Attribute(onfocusXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onfocusXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName onblurXName = System.Xml.Linq.XName.Get("onblur", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string onblur { + get { + XAttribute x = this.Attribute(onblurXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(onblurXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.button.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlbuttontype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(h1XName), new NamedContentModelEntity(h2XName), new NamedContentModelEntity(h3XName), new NamedContentModelEntity(h4XName), new NamedContentModelEntity(h5XName), new NamedContentModelEntity(h6XName), new NamedContentModelEntity(ulXName), new NamedContentModelEntity(olXName), new NamedContentModelEntity(dlXName), new NamedContentModelEntity(pXName), new NamedContentModelEntity(divXName), new NamedContentModelEntity(preXName), new NamedContentModelEntity(blockquoteXName), new NamedContentModelEntity(addressXName), new SequenceContentModelEntity(new NamedContentModelEntity(hrXName)), new NamedContentModelEntity(tableXName), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName), new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(h1XName, typeof(xhtmlh1type)); + localElementDictionary.Add(h2XName, typeof(xhtmlh2type)); + localElementDictionary.Add(h3XName, typeof(xhtmlh3type)); + localElementDictionary.Add(h4XName, typeof(xhtmlh4type)); + localElementDictionary.Add(h5XName, typeof(xhtmlh5type)); + localElementDictionary.Add(h6XName, typeof(xhtmlh6type)); + localElementDictionary.Add(ulXName, typeof(xhtmlultype)); + localElementDictionary.Add(olXName, typeof(xhtmloltype)); + localElementDictionary.Add(dlXName, typeof(xhtmldltype)); + localElementDictionary.Add(pXName, typeof(xhtmlptype)); + localElementDictionary.Add(divXName, typeof(xhtmldivtype)); + localElementDictionary.Add(preXName, typeof(xhtmlpretype)); + localElementDictionary.Add(blockquoteXName, typeof(xhtmlblockquotetype)); + localElementDictionary.Add(addressXName, typeof(xhtmladdresstype)); + localElementDictionary.Add(hrXName, typeof(xhtmlhrtype)); + localElementDictionary.Add(tableXName, typeof(xhtmltabletype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((rb, (rt | (rp, rt, rp)))|(rbc, rtc+)) + /// + /// + public partial class xhtmlrubytype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlrubytype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((rb, (rt | (rp, rt, rp)))|(rbc, rtc+)) + /// + /// + public xhtmlrubytype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rbXName = System.Xml.Linq.XName.Get("rb", "http://www.w3.org/1999/xhtml"); + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((rb, (rt | (rp, rt, rp)))|(rbc, rtc+)) + /// + /// + public virtual xhtmlrbtype rb { + get { + XElement x = this.GetElement(rbXName); + return ((xhtmlrbtype)(x)); + } + set { + this.SetElement(rbXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rtXName = System.Xml.Linq.XName.Get("rt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rtField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((rb, (rt | (rp, rt, rp)))|(rbc, rtc+)) + /// + /// + public virtual IList rt { + get { + if ((this.rtField == null)) { + this.rtField = new XTypedList(this, LinqToXsdTypeManager.Instance, rtXName); + } + return this.rtField; + } + set { + if ((value == null)) { + this.rtField = null; + } + else { + if ((this.rtField == null)) { + this.rtField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rtXName); + } + else { + XTypedServices.SetList(this.rtField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rpXName = System.Xml.Linq.XName.Get("rp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rpField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((rb, (rt | (rp, rt, rp)))|(rbc, rtc+)) + /// + /// + public virtual IList rp { + get { + if ((this.rpField == null)) { + this.rpField = new XTypedList(this, LinqToXsdTypeManager.Instance, rpXName); + } + return this.rpField; + } + set { + if ((value == null)) { + this.rpField = null; + } + else { + if ((this.rpField == null)) { + this.rpField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rpXName); + } + else { + XTypedServices.SetList(this.rpField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rbcXName = System.Xml.Linq.XName.Get("rbc", "http://www.w3.org/1999/xhtml"); + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((rb, (rt | (rp, rt, rp)))|(rbc, rtc+)) + /// + /// + public virtual xhtmlrbctype rbc { + get { + XElement x = this.GetElement(rbcXName); + return ((xhtmlrbctype)(x)); + } + set { + this.SetElement(rbcXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rtcXName = System.Xml.Linq.XName.Get("rtc", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList rtcField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((rb, (rt | (rp, rt, rp)))|(rbc, rtc+)) + /// + /// + public virtual IList rtc { + get { + if ((this.rtcField == null)) { + this.rtcField = new XTypedList(this, LinqToXsdTypeManager.Instance, rtcXName); + } + return this.rtcField; + } + set { + if ((value == null)) { + this.rtcField = null; + } + else { + if ((this.rtcField == null)) { + this.rtcField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, rtcXName); + } + else { + XTypedServices.SetList(this.rtcField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.ruby.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlrubytype() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new SequenceContentModelEntity(new NamedContentModelEntity(rbXName), new ChoiceContentModelEntity(new NamedContentModelEntity(rtXName), new SequenceContentModelEntity(new NamedContentModelEntity(rpXName), new NamedContentModelEntity(rtXName), new NamedContentModelEntity(rpXName)))), new SequenceContentModelEntity(new NamedContentModelEntity(rbcXName), new NamedContentModelEntity(rtcXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(rbXName, typeof(xhtmlrbtype)); + localElementDictionary.Add(rtXName, typeof(xhtmlrttype)); + localElementDictionary.Add(rpXName, typeof(xhtmlrptype)); + localElementDictionary.Add(rbcXName, typeof(xhtmlrbctype)); + localElementDictionary.Add(rtcXName, typeof(xhtmlrtctype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (rb) + /// + /// + public partial class xhtmlrbctype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlrbctype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (rb) + /// + /// + public xhtmlrbctype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rbXName = System.Xml.Linq.XName.Get("rb", "http://www.w3.org/1999/xhtml"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (rb) + /// + /// + public virtual xhtmlrbtype rb { + get { + XElement x = this.GetElement(rbXName); + return ((xhtmlrbtype)(x)); + } + set { + this.SetElement(rbXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.rbc.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlrbctype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(rbXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(rbXName, typeof(xhtmlrbtype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public partial class xhtmlrtctype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlrtctype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public xhtmlrtctype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.rtc.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlrtctype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public partial class xhtmlrbtype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlrbtype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public xhtmlrbtype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.rb.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlrbtype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public partial class xhtmlrttype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlrttype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public xhtmlrttype() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName brXName = System.Xml.Linq.XName.Get("br", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList brField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList br { + get { + if ((this.brField == null)) { + this.brField = new XTypedList(this, LinqToXsdTypeManager.Instance, brXName); + } + return this.brField; + } + set { + if ((value == null)) { + this.brField = null; + } + else { + if ((this.brField == null)) { + this.brField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, brXName); + } + else { + XTypedServices.SetList(this.brField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName spanXName = System.Xml.Linq.XName.Get("span", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spanField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList span { + get { + if ((this.spanField == null)) { + this.spanField = new XTypedList(this, LinqToXsdTypeManager.Instance, spanXName); + } + return this.spanField; + } + set { + if ((value == null)) { + this.spanField = null; + } + else { + if ((this.spanField == null)) { + this.spanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spanXName); + } + else { + XTypedServices.SetList(this.spanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName emXName = System.Xml.Linq.XName.Get("em", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList emField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList em { + get { + if ((this.emField == null)) { + this.emField = new XTypedList(this, LinqToXsdTypeManager.Instance, emXName); + } + return this.emField; + } + set { + if ((value == null)) { + this.emField = null; + } + else { + if ((this.emField == null)) { + this.emField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, emXName); + } + else { + XTypedServices.SetList(this.emField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName strongXName = System.Xml.Linq.XName.Get("strong", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList strongField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList strong { + get { + if ((this.strongField == null)) { + this.strongField = new XTypedList(this, LinqToXsdTypeManager.Instance, strongXName); + } + return this.strongField; + } + set { + if ((value == null)) { + this.strongField = null; + } + else { + if ((this.strongField == null)) { + this.strongField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, strongXName); + } + else { + XTypedServices.SetList(this.strongField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName dfnXName = System.Xml.Linq.XName.Get("dfn", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dfnField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList dfn { + get { + if ((this.dfnField == null)) { + this.dfnField = new XTypedList(this, LinqToXsdTypeManager.Instance, dfnXName); + } + return this.dfnField; + } + set { + if ((value == null)) { + this.dfnField = null; + } + else { + if ((this.dfnField == null)) { + this.dfnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dfnXName); + } + else { + XTypedServices.SetList(this.dfnField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName codeXName = System.Xml.Linq.XName.Get("code", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList codeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList code { + get { + if ((this.codeField == null)) { + this.codeField = new XTypedList(this, LinqToXsdTypeManager.Instance, codeXName); + } + return this.codeField; + } + set { + if ((value == null)) { + this.codeField = null; + } + else { + if ((this.codeField == null)) { + this.codeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, codeXName); + } + else { + XTypedServices.SetList(this.codeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName sampXName = System.Xml.Linq.XName.Get("samp", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList samp { + get { + if ((this.sampField == null)) { + this.sampField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampXName); + } + return this.sampField; + } + set { + if ((value == null)) { + this.sampField = null; + } + else { + if ((this.sampField == null)) { + this.sampField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampXName); + } + else { + XTypedServices.SetList(this.sampField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName kbdXName = System.Xml.Linq.XName.Get("kbd", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList kbdField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList kbd { + get { + if ((this.kbdField == null)) { + this.kbdField = new XTypedList(this, LinqToXsdTypeManager.Instance, kbdXName); + } + return this.kbdField; + } + set { + if ((value == null)) { + this.kbdField = null; + } + else { + if ((this.kbdField == null)) { + this.kbdField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, kbdXName); + } + else { + XTypedServices.SetList(this.kbdField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @varXName = System.Xml.Linq.XName.Get("var", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @varField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList @var { + get { + if ((this.@varField == null)) { + this.@varField = new XTypedList(this, LinqToXsdTypeManager.Instance, @varXName); + } + return this.@varField; + } + set { + if ((value == null)) { + this.@varField = null; + } + else { + if ((this.@varField == null)) { + this.@varField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @varXName); + } + else { + XTypedServices.SetList(this.@varField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName citeXName = System.Xml.Linq.XName.Get("cite", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList citeField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList cite { + get { + if ((this.citeField == null)) { + this.citeField = new XTypedList(this, LinqToXsdTypeManager.Instance, citeXName); + } + return this.citeField; + } + set { + if ((value == null)) { + this.citeField = null; + } + else { + if ((this.citeField == null)) { + this.citeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, citeXName); + } + else { + XTypedServices.SetList(this.citeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName abbrXName = System.Xml.Linq.XName.Get("abbr", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList abbrField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList abbr { + get { + if ((this.abbrField == null)) { + this.abbrField = new XTypedList(this, LinqToXsdTypeManager.Instance, abbrXName); + } + return this.abbrField; + } + set { + if ((value == null)) { + this.abbrField = null; + } + else { + if ((this.abbrField == null)) { + this.abbrField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, abbrXName); + } + else { + XTypedServices.SetList(this.abbrField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName acronymXName = System.Xml.Linq.XName.Get("acronym", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList acronymField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList acronym { + get { + if ((this.acronymField == null)) { + this.acronymField = new XTypedList(this, LinqToXsdTypeManager.Instance, acronymXName); + } + return this.acronymField; + } + set { + if ((value == null)) { + this.acronymField = null; + } + else { + if ((this.acronymField == null)) { + this.acronymField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, acronymXName); + } + else { + XTypedServices.SetList(this.acronymField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName qXName = System.Xml.Linq.XName.Get("q", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList qField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList q { + get { + if ((this.qField == null)) { + this.qField = new XTypedList(this, LinqToXsdTypeManager.Instance, qXName); + } + return this.qField; + } + set { + if ((value == null)) { + this.qField = null; + } + else { + if ((this.qField == null)) { + this.qField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, qXName); + } + else { + XTypedServices.SetList(this.qField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName ttXName = System.Xml.Linq.XName.Get("tt", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ttField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList tt { + get { + if ((this.ttField == null)) { + this.ttField = new XTypedList(this, LinqToXsdTypeManager.Instance, ttXName); + } + return this.ttField; + } + set { + if ((value == null)) { + this.ttField = null; + } + else { + if ((this.ttField == null)) { + this.ttField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ttXName); + } + else { + XTypedServices.SetList(this.ttField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName iXName = System.Xml.Linq.XName.Get("i", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList iField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList i { + get { + if ((this.iField == null)) { + this.iField = new XTypedList(this, LinqToXsdTypeManager.Instance, iXName); + } + return this.iField; + } + set { + if ((value == null)) { + this.iField = null; + } + else { + if ((this.iField == null)) { + this.iField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, iXName); + } + else { + XTypedServices.SetList(this.iField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bXName = System.Xml.Linq.XName.Get("b", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList b { + get { + if ((this.bField == null)) { + this.bField = new XTypedList(this, LinqToXsdTypeManager.Instance, bXName); + } + return this.bField; + } + set { + if ((value == null)) { + this.bField = null; + } + else { + if ((this.bField == null)) { + this.bField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bXName); + } + else { + XTypedServices.SetList(this.bField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bigXName = System.Xml.Linq.XName.Get("big", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bigField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList big { + get { + if ((this.bigField == null)) { + this.bigField = new XTypedList(this, LinqToXsdTypeManager.Instance, bigXName); + } + return this.bigField; + } + set { + if ((value == null)) { + this.bigField = null; + } + else { + if ((this.bigField == null)) { + this.bigField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bigXName); + } + else { + XTypedServices.SetList(this.bigField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName smallXName = System.Xml.Linq.XName.Get("small", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList smallField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList small { + get { + if ((this.smallField == null)) { + this.smallField = new XTypedList(this, LinqToXsdTypeManager.Instance, smallXName); + } + return this.smallField; + } + set { + if ((value == null)) { + this.smallField = null; + } + else { + if ((this.smallField == null)) { + this.smallField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, smallXName); + } + else { + XTypedServices.SetList(this.smallField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName subXName = System.Xml.Linq.XName.Get("sub", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList subField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList sub { + get { + if ((this.subField == null)) { + this.subField = new XTypedList(this, LinqToXsdTypeManager.Instance, subXName); + } + return this.subField; + } + set { + if ((value == null)) { + this.subField = null; + } + else { + if ((this.subField == null)) { + this.subField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, subXName); + } + else { + XTypedServices.SetList(this.subField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName supXName = System.Xml.Linq.XName.Get("sup", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList supField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList sup { + get { + if ((this.supField == null)) { + this.supField = new XTypedList(this, LinqToXsdTypeManager.Instance, supXName); + } + return this.supField; + } + set { + if ((value == null)) { + this.supField = null; + } + else { + if ((this.supField == null)) { + this.supField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, supXName); + } + else { + XTypedServices.SetList(this.supField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName bdoXName = System.Xml.Linq.XName.Get("bdo", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList bdoField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList bdo { + get { + if ((this.bdoField == null)) { + this.bdoField = new XTypedList(this, LinqToXsdTypeManager.Instance, bdoXName); + } + return this.bdoField; + } + set { + if ((value == null)) { + this.bdoField = null; + } + else { + if ((this.bdoField == null)) { + this.bdoField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, bdoXName); + } + else { + XTypedServices.SetList(this.bdoField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName aXName = System.Xml.Linq.XName.Get("a", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList aField; + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList a { + get { + if ((this.aField == null)) { + this.aField = new XTypedList(this, LinqToXsdTypeManager.Instance, aXName); + } + return this.aField; + } + set { + if ((value == null)) { + this.aField = null; + } + else { + if ((this.aField == null)) { + this.aField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, aXName); + } + else { + XTypedServices.SetList(this.aField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName imgXName = System.Xml.Linq.XName.Get("img", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList imgField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList img { + get { + if ((this.imgField == null)) { + this.imgField = new XTypedList(this, LinqToXsdTypeManager.Instance, imgXName); + } + return this.imgField; + } + set { + if ((value == null)) { + this.imgField = null; + } + else { + if ((this.imgField == null)) { + this.imgField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, imgXName); + } + else { + XTypedServices.SetList(this.imgField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName mapXName = System.Xml.Linq.XName.Get("map", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList mapField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList map { + get { + if ((this.mapField == null)) { + this.mapField = new XTypedList(this, LinqToXsdTypeManager.Instance, mapXName); + } + return this.mapField; + } + set { + if ((value == null)) { + this.mapField = null; + } + else { + if ((this.mapField == null)) { + this.mapField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, mapXName); + } + else { + XTypedServices.SetList(this.mapField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName @objectXName = System.Xml.Linq.XName.Get("object", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList @objectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList @object { + get { + if ((this.@objectField == null)) { + this.@objectField = new XTypedList(this, LinqToXsdTypeManager.Instance, @objectXName); + } + return this.@objectField; + } + set { + if ((value == null)) { + this.@objectField = null; + } + else { + if ((this.@objectField == null)) { + this.@objectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, @objectXName); + } + else { + XTypedServices.SetList(this.@objectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName inputXName = System.Xml.Linq.XName.Get("input", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList inputField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList input { + get { + if ((this.inputField == null)) { + this.inputField = new XTypedList(this, LinqToXsdTypeManager.Instance, inputXName); + } + return this.inputField; + } + set { + if ((value == null)) { + this.inputField = null; + } + else { + if ((this.inputField == null)) { + this.inputField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, inputXName); + } + else { + XTypedServices.SetList(this.inputField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName selectXName = System.Xml.Linq.XName.Get("select", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList select { + get { + if ((this.selectField == null)) { + this.selectField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectXName); + } + return this.selectField; + } + set { + if ((value == null)) { + this.selectField = null; + } + else { + if ((this.selectField == null)) { + this.selectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectXName); + } + else { + XTypedServices.SetList(this.selectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName textareaXName = System.Xml.Linq.XName.Get("textarea", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList textareaField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList textarea { + get { + if ((this.textareaField == null)) { + this.textareaField = new XTypedList(this, LinqToXsdTypeManager.Instance, textareaXName); + } + return this.textareaField; + } + set { + if ((value == null)) { + this.textareaField = null; + } + else { + if ((this.textareaField == null)) { + this.textareaField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, textareaXName); + } + else { + XTypedServices.SetList(this.textareaField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList labelField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList label { + get { + if ((this.labelField == null)) { + this.labelField = new XTypedList(this, LinqToXsdTypeManager.Instance, labelXName); + } + return this.labelField; + } + set { + if ((value == null)) { + this.labelField = null; + } + else { + if ((this.labelField == null)) { + this.labelField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, labelXName); + } + else { + XTypedServices.SetList(this.labelField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName buttonXName = System.Xml.Linq.XName.Get("button", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList buttonField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList button { + get { + if ((this.buttonField == null)) { + this.buttonField = new XTypedList(this, LinqToXsdTypeManager.Instance, buttonXName); + } + return this.buttonField; + } + set { + if ((value == null)) { + this.buttonField = null; + } + else { + if ((this.buttonField == null)) { + this.buttonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, buttonXName); + } + else { + XTypedServices.SetList(this.buttonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName insXName = System.Xml.Linq.XName.Get("ins", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList insField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList ins { + get { + if ((this.insField == null)) { + this.insField = new XTypedList(this, LinqToXsdTypeManager.Instance, insXName); + } + return this.insField; + } + set { + if ((value == null)) { + this.insField = null; + } + else { + if ((this.insField == null)) { + this.insField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, insXName); + } + else { + XTypedServices.SetList(this.insField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName delXName = System.Xml.Linq.XName.Get("del", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList delField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList del { + get { + if ((this.delField == null)) { + this.delField = new XTypedList(this, LinqToXsdTypeManager.Instance, delXName); + } + return this.delField; + } + set { + if ((value == null)) { + this.delField = null; + } + else { + if ((this.delField == null)) { + this.delField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, delXName); + } + else { + XTypedServices.SetList(this.delField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName scriptXName = System.Xml.Linq.XName.Get("script", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList script { + get { + if ((this.scriptField == null)) { + this.scriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, scriptXName); + } + return this.scriptField; + } + set { + if ((value == null)) { + this.scriptField = null; + } + else { + if ((this.scriptField == null)) { + this.scriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scriptXName); + } + else { + XTypedServices.SetList(this.scriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName noscriptXName = System.Xml.Linq.XName.Get("noscript", "http://www.w3.org/1999/xhtml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList noscriptField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((br | span | em | strong | dfn | code | samp | kbd | @var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | (bdo)|(a)|img | map | @object | input | select | textarea | label | button | ins | del | script | noscript)*) + /// + /// + public virtual IList noscript { + get { + if ((this.noscriptField == null)) { + this.noscriptField = new XTypedList(this, LinqToXsdTypeManager.Instance, noscriptXName); + } + return this.noscriptField; + } + set { + if ((value == null)) { + this.noscriptField = null; + } + else { + if ((this.noscriptField == null)) { + this.noscriptField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, noscriptXName); + } + else { + XTypedServices.SetList(this.noscriptField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + internal static readonly System.Xml.Linq.XName rbspanXName = System.Xml.Linq.XName.Get("rbspan", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static decimal rbspanDefaultValue = System.Xml.XmlConvert.ToDecimal("1"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual decimal rbspan { + get { + XAttribute x = this.Attribute(rbspanXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype, rbspanDefaultValue); + } + set { + this.SetAttribute(rbspanXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.rt.type", "http://www.w3.org/1999/xhtml"); + + static xhtmlrttype() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(brXName), new NamedContentModelEntity(spanXName), new NamedContentModelEntity(emXName), new NamedContentModelEntity(strongXName), new NamedContentModelEntity(dfnXName), new NamedContentModelEntity(codeXName), new NamedContentModelEntity(sampXName), new NamedContentModelEntity(kbdXName), new NamedContentModelEntity(@varXName), new NamedContentModelEntity(citeXName), new NamedContentModelEntity(abbrXName), new NamedContentModelEntity(acronymXName), new NamedContentModelEntity(qXName), new NamedContentModelEntity(ttXName), new NamedContentModelEntity(iXName), new NamedContentModelEntity(bXName), new NamedContentModelEntity(bigXName), new NamedContentModelEntity(smallXName), new NamedContentModelEntity(subXName), new NamedContentModelEntity(supXName), new SequenceContentModelEntity(new NamedContentModelEntity(bdoXName)), new SequenceContentModelEntity(new NamedContentModelEntity(aXName)), new NamedContentModelEntity(imgXName), new NamedContentModelEntity(mapXName), new NamedContentModelEntity(@objectXName), new NamedContentModelEntity(inputXName), new NamedContentModelEntity(selectXName), new NamedContentModelEntity(textareaXName), new NamedContentModelEntity(labelXName), new NamedContentModelEntity(buttonXName), new NamedContentModelEntity(insXName), new NamedContentModelEntity(delXName), new NamedContentModelEntity(scriptXName), new NamedContentModelEntity(noscriptXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(brXName, typeof(xhtmlbrtype)); + localElementDictionary.Add(spanXName, typeof(xhtmlspantype)); + localElementDictionary.Add(emXName, typeof(xhtmlemtype)); + localElementDictionary.Add(strongXName, typeof(xhtmlstrongtype)); + localElementDictionary.Add(dfnXName, typeof(xhtmldfntype)); + localElementDictionary.Add(codeXName, typeof(xhtmlcodetype)); + localElementDictionary.Add(sampXName, typeof(xhtmlsamptype)); + localElementDictionary.Add(kbdXName, typeof(xhtmlkbdtype)); + localElementDictionary.Add(@varXName, typeof(xhtmlvartype)); + localElementDictionary.Add(citeXName, typeof(xhtmlcitetype)); + localElementDictionary.Add(abbrXName, typeof(xhtmlabbrtype)); + localElementDictionary.Add(acronymXName, typeof(xhtmlacronymtype)); + localElementDictionary.Add(qXName, typeof(xhtmlqtype)); + localElementDictionary.Add(ttXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(iXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bigXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(smallXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(subXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(supXName, typeof(xhtmlInlPrestype)); + localElementDictionary.Add(bdoXName, typeof(xhtmlbdotype)); + localElementDictionary.Add(aXName, typeof(xhtmlatype)); + localElementDictionary.Add(imgXName, typeof(xhtmlimgtype)); + localElementDictionary.Add(mapXName, typeof(xhtmlmaptype)); + localElementDictionary.Add(@objectXName, typeof(xhtmlobjecttype)); + localElementDictionary.Add(inputXName, typeof(xhtmlinputtype)); + localElementDictionary.Add(selectXName, typeof(xhtmlselecttype)); + localElementDictionary.Add(textareaXName, typeof(xhtmltextareatype)); + localElementDictionary.Add(labelXName, typeof(xhtmllabeltype)); + localElementDictionary.Add(buttonXName, typeof(xhtmlbuttontype)); + localElementDictionary.Add(insXName, typeof(xhtmledittype)); + localElementDictionary.Add(delXName, typeof(xhtmledittype)); + localElementDictionary.Add(scriptXName, typeof(xhtmlscripttype)); + localElementDictionary.Add(noscriptXName, typeof(xhtmlnoscripttype)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class xhtmlrptype : XTypedElement, IXMetaData { + + public static explicit operator xhtmlrptype(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public xhtmlrptype() { + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("xhtml.rp.type", "http://www.w3.org/1999/xhtml"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class html : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static html Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static html Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static html Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator html(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new html(((xhtmlhtmltype)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private xhtmlhtmltype ContentField; + + public html() { + SetInnerType(new xhtmlhtmltype()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual xhtmlhtmltype Content { + get { + return ContentField; + } + } + + private void SetInnerType(xhtmlhtmltype ContentField) { + this.ContentField = ((xhtmlhtmltype)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public html(xhtmlhtmltype content) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (head, body) + /// + /// + public virtual xhtmlheadtype head { + get { + return this.ContentField.head; + } + set { + this.ContentField.head = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (head, body) + /// + /// + public virtual xhtmlbodytype body { + get { + return this.ContentField.body; + } + set { + this.ContentField.body = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string version { + get { + return this.ContentField.version; + } + set { + this.ContentField.version = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang { + get { + return this.ContentField.lang; + } + set { + this.ContentField.lang = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual W3C.Xhtml.xhtmlhtmltype.DirEnum? dir { + get { + return this.ContentField.dir; + } + set { + this.ContentField.dir = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual object lang1 { + get { + return this.ContentField.lang1; + } + set { + this.ContentField.lang1 = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + return this.ContentField.id; + } + set { + this.ContentField.id = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string space { + get { + return this.ContentField.space; + } + set { + this.ContentField.space = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("html", "http://www.w3.org/1999/xhtml"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public class LinqToXsdTypeManager : ILinqToXsdTypeManager { + + private LinqToXsdTypeManager() { + } + + private static Dictionary typeDictionary = new Dictionary(); + + private static void BuildTypeDictionary() { + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.address.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmladdresstype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.blockquote.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlblockquotetype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.pre.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlpretype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.heading.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlheadingtype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.h1.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlh1type)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.h2.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlh2type)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.h3.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlh3type)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.h4.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlh4type)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.h5.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlh5type)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.h6.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlh6type)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.div.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmldivtype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.p.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlptype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.abbr.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlabbrtype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.acronym.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlacronymtype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.cite.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlcitetype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.code.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlcodetype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.dfn.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmldfntype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.em.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlemtype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.kbd.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlkbdtype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.samp.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlsamptype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.strong.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlstrongtype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.var.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlvartype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.q.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlqtype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.br.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlbrtype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.span.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlspantype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.a.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlatype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.dt.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmldttype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.dd.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlddtype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.dl.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmldltype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.li.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmllitype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.ol.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmloltype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.ul.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlultype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.title.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmltitletype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.head.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlheadtype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.body.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlbodytype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.html.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlhtmltype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.edit.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmledittype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.bdo.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlbdotype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.hr.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlhrtype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.InlPres.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlInlPrestype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.link.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmllinktype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.meta.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlmetatype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.base.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlbasetype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.script.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlscripttype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.noscript.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlnoscripttype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.style.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlstyletype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.img.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlimgtype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.area.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlareatype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.map.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlmaptype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.param.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlparamtype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.object.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlobjecttype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.td.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmltdtype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.th.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlthtype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.tr.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmltrtype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.col.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlcoltype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.colgroup.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlcolgrouptype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.tbody.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmltbodytype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.tfoot.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmltfoottype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.thead.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmltheadtype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.caption.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlcaptiontype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.table.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmltabletype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.form.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlformtype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.label.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmllabeltype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.input.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlinputtype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.select.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlselecttype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.optgroup.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmloptgrouptype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.option.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmloptiontype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.textarea.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmltextareatype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.fieldset.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlfieldsettype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.legend.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmllegendtype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.button.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlbuttontype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.ruby.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlrubytype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.rbc.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlrbctype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.rtc.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlrtctype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.rb.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlrbtype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.rt.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlrttype)); + typeDictionary.Add(System.Xml.Linq.XName.Get("xhtml.rp.type", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.xhtmlrptype)); + } + + private static Dictionary elementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + elementDictionary.Add(System.Xml.Linq.XName.Get("html", "http://www.w3.org/1999/xhtml"), typeof(global::W3C.Xhtml.html)); + } + + private static Dictionary wrapperDictionary = new Dictionary(); + + private static void BuildWrapperDictionary() { + wrapperDictionary.Add(typeof(W3C.Xhtml.html), typeof(global::W3C.Xhtml.xhtmlhtmltype)); + } + + private static XmlSchemaSet schemaSet; + + XmlSchemaSet ILinqToXsdTypeManager.Schemas { + get { + if ((schemaSet == null)) { + XmlSchemaSet tempSet = new XmlSchemaSet(); + System.Threading.Interlocked.CompareExchange(ref schemaSet, tempSet, null); + } + return schemaSet; + } + set { + schemaSet = value; + } + } + + protected internal static void AddSchemas(XmlSchemaSet schemas) { + schemas.Add(schemaSet); + } + + Dictionary ILinqToXsdTypeManager.GlobalTypeDictionary { + get { + return typeDictionary; + } + } + + Dictionary ILinqToXsdTypeManager.GlobalElementDictionary { + get { + return elementDictionary; + } + } + + Dictionary ILinqToXsdTypeManager.RootContentTypeMapping { + get { + return wrapperDictionary; + } + } + + static LinqToXsdTypeManager() { + BuildTypeDictionary(); + BuildElementDictionary(); + BuildWrapperDictionary(); + } + + public static System.Type GetRootType() { + return elementDictionary[System.Xml.Linq.XName.Get("html", "http://www.w3.org/1999/xhtml")]; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static LinqToXsdTypeManager typeManagerSingleton = new LinqToXsdTypeManager(); + + public static LinqToXsdTypeManager Instance { + get { + return typeManagerSingleton; + } + } + } + + public partial class XRootNamespace { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRootNamespace() { + } + + public static XRootNamespace Load(string xmlFile) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(string xmlFile, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(XmlReader xmlReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRootNamespace(html root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public html html { get {return rootObject as html; } } + } + + public partial class XRoot { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRoot() { + } + + public static XRoot Load(string xmlFile) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(string xmlFile, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(TextReader textReader) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(TextReader textReader, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(XmlReader xmlReader) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Parse(string text) { + XRoot root = new XRoot(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Parse(string text, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRoot(global::W3C.Xhtml.html root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::W3C.Xhtml.html html { get {return rootObject as global::W3C.Xhtml.html; } } + } +} +namespace W3C.Xhtml.Datatypes { + using System; + using System.Collections; + using System.Collections.Generic; + using System.ComponentModel; + using System.IO; + using System.Linq; + using System.Diagnostics; + using System.Xml; + using System.Xml.Schema; + using System.Xml.Linq; + using Xml.Schema.Linq; + using W3C.Xhtml; + + + public sealed class Length { + + private Length() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.UnionSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType), null, new Xml.Schema.Linq.SimpleTypeValidator[] { + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger), null), + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Token), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(8)), null, 0, 0, null, null, 0, null, null, 0, new string[] { + "\\d+[%]|\\d*\\.\\d+[%]"}, 0, XmlSchemaWhiteSpace.Collapse))}); + } + + public sealed class LinkTypes { + + private LinkTypes() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.ListSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken), null, new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken), null)); + } + + public sealed class MediaDesc { + + private MediaDesc() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + + public sealed class MultiLength { + + private MultiLength() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.UnionSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType), null, new Xml.Schema.Linq.SimpleTypeValidator[] { + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger), null), + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Token), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(8)), null, 0, 0, null, null, 0, null, null, 0, new string[] { + "\\d+[%]|\\d*\\.\\d+[%]"}, 0, XmlSchemaWhiteSpace.Collapse)), + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Token), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(8)), null, 0, 0, null, null, 0, null, null, 0, new string[] { + "\\d*\\*"}, 0, XmlSchemaWhiteSpace.Collapse))}); + } + + public sealed class Number { + + private Number() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger), null); + } + + public sealed class Pixels { + + private Pixels() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger), null); + } + + public sealed class Script { + + private Script() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + + public sealed class Color { + + private Color() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.UnionSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType), null, new Xml.Schema.Linq.SimpleTypeValidator[] { + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken), null), + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Token), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(8)), null, 0, 0, null, null, 0, null, null, 0, new string[] { + "#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?"}, 0, XmlSchemaWhiteSpace.Collapse))}); + } + + public sealed class Text { + + private Text() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + + public sealed class Character { + + private Character() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(1)), null, 0, 1, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public sealed class Charset { + + private Charset() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + + public sealed class Charsets { + + private Charsets() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.ListSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null, W3C.Xhtml.Datatypes.Charset.TypeDefinition); + } + + public sealed class ContentType { + + private ContentType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + + public sealed class ContentTypes { + + private ContentTypes() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + + public sealed class Datetime { + + private Datetime() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.DateTime), null); + } + + public sealed class FPI { + + private FPI() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString), null); + } + + public sealed class FrameTarget { + + private FrameTarget() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.UnionSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType), null, new Xml.Schema.Linq.SimpleTypeValidator[] { + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "_blank", + "_self", + "_parent", + "_top"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Collapse)), + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(8)), null, 0, 0, null, null, 0, null, null, 0, new string[] { + "[a-zA-Z].*"}, 0, XmlSchemaWhiteSpace.Preserve))}); + } + + public sealed class LanguageCode { + + private LanguageCode() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.UnionSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType), null, new Xml.Schema.Linq.SimpleTypeValidator[] { + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Language), null), + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + ""}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve))}); + } + + public sealed class LanguageCodes { + + private LanguageCodes() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + + public sealed class URI { + + private URI() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri), null); + } + + public sealed class URIs { + + private URIs() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.ListSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri), null, new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri), null)); + } + + public sealed class URIREF { + + private URIREF() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(10)), null, 0, 0, null, null, 0, null, null, 1, new string[] { + "#\\c*"}, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public sealed class MultiLengths { + + private MultiLengths() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + + public sealed class CDATA { + + private CDATA() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + + public sealed class CURIE { + + private CURIE() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(10)), null, 0, 0, null, null, 0, null, null, 1, new string[] { + "(([\\i-[:]][\\c-[:]]*)?:)?(/[^\\s/][^\\s]*|[^\\s/][^\\s]*|[^\\s]?)"}, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public sealed class CURIEs { + + private CURIEs() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.ListSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null, W3C.Xhtml.Datatypes.CURIE.TypeDefinition); + } + + public sealed class SafeCURIE { + + private SafeCURIE() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(10)), null, 0, 0, null, null, 0, null, null, 3, new string[] { + "\\[(([\\i-[:]][\\c-[:]]*)?:)?(/[^\\s/][^\\s]*|[^\\s/][^\\s]*|[^\\s]?)\\]"}, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public sealed class SafeCURIEs { + + private SafeCURIEs() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.ListSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null, W3C.Xhtml.Datatypes.SafeCURIE.TypeDefinition); + } + + public sealed class URIorSafeCURIE { + + private URIorSafeCURIE() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.UnionSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType), null, new Xml.Schema.Linq.SimpleTypeValidator[] { + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri), null), + W3C.Xhtml.Datatypes.SafeCURIE.TypeDefinition}); + } + + public sealed class URIorSafeCURIEs { + + private URIorSafeCURIEs() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.ListSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType), null, W3C.Xhtml.Datatypes.URIorSafeCURIE.TypeDefinition); + } + + public sealed class PREFIX { + + private PREFIX() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Name), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(8)), null, 0, 0, null, null, 0, null, null, 0, new string[] { + "[\\i-[:]][\\c-[:]]*: [\\i-[:]][\\c-[:]]+:.+"}, 0, XmlSchemaWhiteSpace.Collapse)); + } + + public sealed class PREFIXes { + + private PREFIXes() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.ListSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Name), null, W3C.Xhtml.Datatypes.PREFIX.TypeDefinition); + } + + public sealed class TERM { + + private TERM() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Name), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(8)), null, 0, 0, null, null, 0, null, null, 0, new string[] { + "[\\i-[:]][/\\c-[:]]*"}, 0, XmlSchemaWhiteSpace.Collapse)); + } + + public sealed class CURIEorIRI { + + private CURIEorIRI() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.UnionSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType), null, new Xml.Schema.Linq.SimpleTypeValidator[] { + W3C.Xhtml.Datatypes.CURIE.TypeDefinition, + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri), null)}); + } + + public sealed class CURIEorIRIs { + + private CURIEorIRIs() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.ListSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType), null, W3C.Xhtml.Datatypes.CURIEorIRI.TypeDefinition); + } + + public sealed class SafeCURIEorCURIEorIRI { + + private SafeCURIEorCURIEorIRI() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.UnionSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType), null, new Xml.Schema.Linq.SimpleTypeValidator[] { + W3C.Xhtml.Datatypes.SafeCURIE.TypeDefinition, + W3C.Xhtml.Datatypes.CURIE.TypeDefinition, + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri), null)}); + } + + public sealed class SafeCURIEorCURIEorIRIs { + + private SafeCURIEorCURIEorIRIs() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.ListSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType), null, W3C.Xhtml.Datatypes.SafeCURIEorCURIEorIRI.TypeDefinition); + } + + public sealed class AbsIRI { + + private AbsIRI() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(8)), null, 0, 0, null, null, 0, null, null, 0, new string[] { + "[\\i-[:]][\\c-[:]]+:.+"}, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public sealed class TERMorCURIEorAbsIRI { + + private TERMorCURIEorAbsIRI() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.UnionSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType), null, new Xml.Schema.Linq.SimpleTypeValidator[] { + W3C.Xhtml.Datatypes.TERM.TypeDefinition, + W3C.Xhtml.Datatypes.CURIE.TypeDefinition, + W3C.Xhtml.Datatypes.AbsIRI.TypeDefinition}); + } + + public sealed class TERMorCURIEorAbsIRIs { + + private TERMorCURIEorAbsIRIs() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.ListSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType), null, W3C.Xhtml.Datatypes.TERMorCURIEorAbsIRI.TypeDefinition); + } +} diff --git a/GeneratedSchemaLibraries/XHTML/xml.xsd b/GeneratedSchemaLibraries/XHTML/xml.xsd new file mode 100644 index 00000000..b0d1a94c --- /dev/null +++ b/GeneratedSchemaLibraries/XHTML/xml.xsd @@ -0,0 +1,99 @@ + + + + See http://www.w3.org/XML/1998/namespace.html and + http://www.w3.org/TR/REC-xml for information about this namespace. This schema + document describes the XML namespace, in a form suitable for import by other schema + documents. Note that local names in this namespace are intended to be defined + only by the World Wide Web Consortium or its subgroups. The following names are + currently defined in this namespace and should not be used with conflicting + semantics by any Working Group, specification, or document instance: base (as + an attribute name): denotes an attribute whose value provides a URI to be used + as the base for interpreting any relative URIs in the scope of the element on + which it appears; its value is inherited. This name is reserved by + virtue of its definition in the XML Base specification. id (as an attribute + name): denotes an attribute whose value should be interpreted as if declared to + be of type ID. This name is reserved by virtue of its definition in the + xml:id specification. lang (as an attribute name): denotes an attribute whose value + is a language code for the natural language of the content of any element; its + value is inherited. This name is reserved by virtue of its definition in the + XML specification. space (as an attribute name): denotes an attribute whose + value is a keyword indicating what whitespace processing discipline is intended + for the content of the element; its value is inherited. This name is reserved + by virtue of its definition in the XML specification. Father (in any + context at all): denotes Jon Bosak, the chair of the original XML Working + Group. This name is reserved by the following decision of the W3C XML Plenary + and XML Coordination groups: In appreciation for his vision, + leadership and dedication the W3C XML Plenary on this 10th day of February, + 2000 reserves for Jon Bosak in perpetuity the XML name + xml:Father + + + This schema defines attributes and an attribute group suitable for + use by schemas wishing to allow xml:base, xml:lang, xml:space or xml:id + attributes on elements they define. To enable this, such a schema must import + this schema for the XML namespace, e.g. as follows: <schema . . .> + . . . <import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2001/xml.xsd"/> Subsequently, qualified + reference to any of the attributes or the group defined below will have the + desired effect, e.g. <type . . .> . . . <attributeGroup + ref="xml:specialAttrs"/> will define a type which will schema-validate an + instance element with any of those attributes + + + In keeping with the XML Schema WG's standard versioning policy, this + schema document will persist at http://www.w3.org/2007/08/xml.xsd. At the date of + issue it can also be found at http://www.w3.org/2001/xml.xsd. The schema document + at that URI may however change in the future, in order to remain compatible with the + latest version of XML Schema itself, or with the XML namespace itself. In other + words, if the XML Schema or XML namespaces change, the version of this document at + http://www.w3.org/2001/xml.xsd will change accordingly; the version at + http://www.w3.org/2007/08/xml.xsd will not change. + + + + Attempting to install the relevant ISO 2- and 3-letter codes + as the enumerated possible values is probably never going to be a realistic + possibility. See RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the + IANA registry at http://www.iana.org/assignments/lang-tag-apps.htm for + further information. The union allows for the 'un-declaration' of xml:lang + with the empty string. + + + + + + + + + + + + + + + + + + + + + + See http://www.w3.org/TR/xmlbase/ for information + about this attribute. + + + + + See http://www.w3.org/TR/xml-id/ for information + about this attribute. + + + + + + + + + diff --git a/GeneratedSchemaLibraries/XSD/W3C XMLSchema v1.xsd-g.cs b/GeneratedSchemaLibraries/XSD/W3C XMLSchema v1.xsd-g.cs index 6838d2ab..ae740480 100644 --- a/GeneratedSchemaLibraries/XSD/W3C XMLSchema v1.xsd-g.cs +++ b/GeneratedSchemaLibraries/XSD/W3C XMLSchema v1.xsd-g.cs @@ -20,7 +20,7 @@ namespace W3C.XSD { using global::System.Xml.Schema; using global::System.Xml.Linq; using global::Xml.Schema.Linq; - using W3C; + using global::W3C; /// @@ -15973,7 +15973,7 @@ namespace W3C { using global::System.Xml.Schema; using global::System.Xml.Linq; using global::Xml.Schema.Linq; - using W3C.XSD; + using global::W3C.XSD; public sealed class lang { diff --git a/GeneratedSchemaLibraries/XTCE/SpaceSystem.xsd b/GeneratedSchemaLibraries/XTCE/SpaceSystem.xsd new file mode 100644 index 00000000..2ffad262 --- /dev/null +++ b/GeneratedSchemaLibraries/XTCE/SpaceSystem.xsd @@ -0,0 +1,6363 @@ + + + + + + This XML Schema Definition (XSD) defines syntax with concrete semantics for describing space or remote device telemetry and commanding in a platform and program independent manner. + + + + + The top-level SpaceSystem is the root element for the set of metadata necessary to monitor and command a space device, such as a satellite. A SpaceSystem defines a namespace. Metadata areas include: packets/minor frames layout, telemetry, calibration, alarm, algorithms, streams and commands. A SpaceSystem may have child SpaceSystems, forming a SpaceSystem tree. See SpaceSystemType. + + + + This key ensures a unique parameter name at the system level. + + + + + + + This key ensures a unique parameter type name at the system level. + + + + + + + This key ensures a unique metaCommand name at the system level. + + + + + + + This key ensures a unique algorithm name at the system level. + + + + + + + This key ensures a unique stream name at the system level. + + + + + + + This key ensures a unique service name at the system level. + + + + + + + This key ensures a container stream name at the system level. + + + + + + + + + + + This key ensures a unique argument type name at the system level. + + + + + + + This key ensures a unique BlockMetaCommand name at the system level. + + + + + + + + SpaceSystem is a collection of SpaceSystem(s) including space assets, ground assets, multi-satellite systems and sub-systems. A SpaceSystem is the root element for the set of data necessary to monitor and command an arbitrary space device - this includes the binary decomposition the data streams going into and out of a device. + + + + + + + The Header element contains optional descriptive information about this SpaceSystem or the document as a whole when specified at the root SpaceSystem. + + + + + This element contains descriptions of the telemetry created on the space asset/device and sent to other data consumers. + + + + + This element contains descriptions of the commands and their associated constraints and verifications that can be sent to the space asset/device. + + + + + + Additional SpaceSystem elements may be used like namespaces to segregate portions of the space asset/device into convenient groupings or may be used to specialize a product line generic SpaceSystem to a specific asset instance. + + + + + + Type of the space system. Represents what from a space enterprise this SpaceSystem element represents. See the individual enumeration descriptions in SystemTypeType. + + + + + Broad name for the type of asset, such as spacecraft, aircraft, device, or any other that makes sense for the system. + + + + + Optional descriptive attribute for document owner convenience. + + + + + + + + + The type attribute represents what from a space enterprise this SpaceSystem element represents. See the enumerations for specific details. Unknown is the default for backwards compatibility, though it should be avoided in newer documents. + + + + + An form of asset monitored and/or controlled by the enterprise that may participate in a larger group and may be subdivided into internal components. + + + + + A grouping of assets that make sense to aggregate together in the data model, such as a fleet or constellation. + + + + + Internal systems of assets permit managing the structure of XTCE documents by decomposing the internal structures of interest to tighten the scope of an individual SpaceSystem element. The XInclude facility is also available at the SpaceSystem element for managing the size of XTCE documents, in addition to the internal organization. + + + + + The default enumeration is meant for backwards compatibility with earlier versions and should be avoided. + + + + + + + Describe command related metadata. Items defined in this area may refer to items defined in TelemetryMetaData. See TelemetryMetaDataType. + + + + + A list of parameter types. + + + + + Parameters referenced by MetaCommands. This Parameter Set is located here so that MetaCommand data can be built independently of TelemetryMetaData. + + + + + A list of argument types. MetaCommand definitions can contain arguments and parameters. Arguments are user provided to the specific command definition. Parameters are provided/calculated/determined by the software creating the command instance. As a result, arguments contain separate type information. In some cases, arguments have different descriptive characteristics. + + + + + A list of command definitions with their arguments, parameters, and container encoding descriptions. + + + + + Similar to the ContainerSet for telemetry, the CommandContainerSet contains containers that can be referenced/shared by MetaCommand definitions. + + + + + Contains an unordered set of Streams. + + + + + Contains an unordered set of Algorithms. + + + + + + + All the data about telemetry is contained in TelemetryMetaData + + + + + A list of parameter types + + + + + A list of Parameters for this Space System. + + + + + Holds the list of all potential container definitions for telemetry. Containers may parts of packets or TDM, and then groups of the containers, and then an entire entity -- such as a packet. In order to maximize re-used for duplication, the pieces may defined once here, and then assembled as needed into larger structures, also here. + + + + + Messages are an alternative method of uniquely identifying containers within a Service. A message provides a test in the form of MatchCriteria to match to a container. A simple example might be: [When minorframeID=21, the message is the 21st minorframe container. The collection of messages to search thru will be bound by a Service. + + + + + + + + + + + This schema defines the dictionary for containers, which in turn describe the physical composition of data in a communication system + + + + Identical to ArgumentRefEntryType but supports argument instance references. + + + + + + + + + + Identical to ArrayParameterRefEntryType but supports argument instance references. + + + + + + Only used for subsetting an array. The array's true dimension sizes are set in the Type. + + + + The dimension here if used for subsetting must be less than the ones in the type. It's not a subset if its the same size. + + + + + + + + + + + Identical to ArrayParameterRefEntryType but supports argument instance references. + + + + + + Only used for subsetting an array. The array's true dimension sizes are set in the Type. + + + + The dimension here if used for subsetting must be less than the ones in the type. It's not a subset if its the same size. + + + + + + + + + + + Identical to ContainerRefEntryType but supports argument instance references. + + + + + + + + + + Identical to ContainerSegmentRefEntryType but supports argument instance references. + + + + + + + + + + + + Identical to FixedValueEntryType but supports argument instance references. + + + + + + An optional name for the fixed/constant field in the sequence. + + + + + The fixed/constant value that should be encoded into the sequence. This value provided should have sufficient bit length to accomodate the size in bits. If the value is larger, the most significant unnecessary bits are dropped. The value provided should be in network byte order for encoding. + + + + + The number of bits that this fixed/constant value should occupy in the sequence. + + + + + + + + Identical to IndirectParameterRefEntryType but supports argument instance references. + + + + + + + + + + + + + Identical to ParameterRefEntryType but supports argument instance references. + + + + + + + + + + Identical to ParameterSegmentRefEntryType but supports argument instance references. + + + + + + + + + + + + Identical to StreamRefEntryType but supports argument instance references. + + + + + + + + + + + + Describe an entry that is an array parameter. Specify the dimension sizes if you subsetting the array (the number of dimensions shall match the number defined in the parameter's type definition), otherwise the ones in the ParameterType are assumed. See SequenceEntryType. + + + + + + Only used for subsetting an array. The array's maximum dimension sizes are set in the type. When a DimensionList is not used, the array is the full size provided in the type. + + + + The dimension here if used for subsetting must be less than the ones in the type. It's not a subset if its the same size. + + + + + + + + + + Supplies an optional non-reference-able name and short description for alarms. Also includes an optional ancillary data for any special local flags, note that these may not necessarily transfer to another recipient of an instance document. + + + + + + + The alarm definition may be named. + + + + + An optional brief description of this alarm definition. + + + + + + Describe a child/parent container inheritance relationship. Describe constraints with RestrictionCriteria, conditions that must be true for this container to be an extension of the parent container. A constraint can be used to convey the identifying features of the telemetry format such as the CCSDS application id or minor-frame id. See RestrictionCriteriaType and SequenceContainerType. + + + + + Contains the conditions that must evaluate to true in order for this container to be an extension of the parent container. + + + + + + Reference to the container that this container extends. + + + + + + An abstract block of data; used as the base type for more specific container types + + + + + + RateInStream is used to: a) generate alarms when the Container is updated too frequently or too infrequently, b) provide some 'guidelines' for generating forward link containers, c) provide some guidelines for spacecraft simulators to generate telemetry containers. If necessary, these rates may be defined on a per stream basis. + The software should check that any Stream names referenced in the RateInStreamSet actually exist. + + + + + + May be used to indicate error detection and correction, change byte order, provide the size (when it can't be derived), or perform some custom processing. + + + + + + + + + + + + + + Holds a reference to a container + + + + name of container + + + + + + An entry that is simply a reference to another container. + + + + + + + + + + An entry that is only a portion of a container indicating that the entire container must be assembled from other container segments. It is assumed that container segments happen sequentially in time, that is the first part of a container is first, however (and there's always a however), if this is not the case the order of this container segment may be supplied with the order attribute where the first segment order="0". Each instance of a container cannot overlap in the overall sequence with another instance + + + + + + + + + + + + Unordered Set of Containers + + + + + SequenceContainers define sequences of parameters or other containers. + + + + + + + Contains an ordered list of Entries. Used in Sequence Container + + + + + Specify a Parameter to be a part of this container layout definition. + + + + + Specify a portion of a Parameter to be a part of this container layout definition. This is used when the Parameter is reported in fractional parts in the container before being fully updated. + + + + + Specify the content of another Container to be a part of this container layout definition. + + + + + Specify a portion of another Container to be a part of this container layout definition. + + + + + Specify a portion of a Stream to be a part of this container layout definition. + + + + + Specify a previous (not last reported) value of a Parmeter to be a part of this container layout definition. + + + + + Specify an Array Type Parameter to be a part of this container layout definition when the Container does not populate the entire space of the Array contents. If the entire space of the Array is populated, a tolerant implementation will accept ParameterRefEntry also. + + + + + + + An entry whose name is given by the value of a ParamameterInstance. This entry may be used to implement dwell telemetry streams. The value of the parameter in ParameterInstance must use either the name of the Parameter or its alias. If it's an alias name, the alias namespace is supplied as an attribute. + + + + + + + + + + + + + Describe the absolute or relative bit location of an entry in a container. The "referenceLocation" attribute specifies the starting bit anchor. If no referenceLocation value is given, the entry is assumed to begin at the first bit position after the previous entry. Each container starts at bit 0, thus "containerStart" is an offset from 0. Negative container start bits are before the container and are implementation dependent - these should be flagged as likely errors. "containerEnd" is given as a positive offset from the end of the container, thus a container end of 0 is exactly at the end of the container. Negative container end addresses are after the container and are implementation dependent - these should be flagged as likely errors. Positive "previouEntry" values are offsets from the previous entry - zero (0) is the default which means it follows contiguously from the last occupied bit of the previous entry. A value of one means it is offset 1-bit from the previous entry, and a value of negative 1 (-1) means it overlaps the previous entry by one bit, and so forth. The "nextEntry" attribute value is proposed for deprecation and should be avoided. See SequenceEntryType. + + + + + + Defines the relative reference used to interpret the start bit position. The default is 0 bits from the end of the previousEntry, which makes the entry contiguous. + + + + + + + + Identical to LocationInContainerInBitsType but supports argument instance references. + + + + + + + + + + Holds a reference to a message + + + + name of message + + + + + + An entry that is a single Parameter + + + + + + + + + + An entry that is only a portion of a parameter value indicating that the entire parameter value must be assembled from other parameter segments. It is assumed that parameter segments happen sequentially in time, that is the first part if a telemetry parameter first, however (and there's always a however), if this is not the case the order of this parameter segment may be supplied with the order attribute where the first segment order="0". + + + + + + + + + + + + Describes the binary layout/packing of data and also related properties, including an entry list of parameters, parameter segments, array parameters, stream segments, containers, and container segments. Sequence containers may extend other sequence containers (see BaseContainerType). The parent container's entries are placed before the entries in the child container forming one entry list. An inheritance chain may be formed using this mechanism, but only one entry list is being created. Sequence containers may be marked as "abstract", when this occurs an instance of it cannot itself be created. The idle pattern is part of any unallocated space in the container. See EntryListType. + + + + + + + List of item entries to pack/encode into this container definition. + + + + + Optional inheritance for this container from another named container. + + + + + + Abstract container definitions that are not instantiated, rather only used as bases to inherit from to create specialized container definitions. + + + + + The idle pattern is part of any unallocated space in the container. This is uncommon. + + + + + + + + Defines an abstract schema type used to create other entry types. Describe an entry's location in the container (See LocationInContainerInBitsType). The location may be fixed or dynamic, absolute or relative. Entries may be included depending on the value of a condition (See IncludeConditionType), and entries may also repeat (see RepeatEntryType). The entry's IncludeCondition resolves to true, it is fully-resolved when its size is computable after RepeatEntry has been accounted for and then offset by LocationInContainer. See EntryListType, IncludeConditionType, RepeatEntryType and LocationInContainerInBitsType. + + + + + The start bit 0 position for each container is local to the container, but does include space occupied by inherited containers. When a container is "included", as opposed to inherited, then the interpreting implementation takes into account the start bit position of the referring container when finally assembling the start bits for the post-processed entry content. The default start bit for any entry is 0 bits from the previous entry, making the content contiguous when this element is not used. + + + + + May be used when this entry repeats itself in the sequence container. When an entry repeats, it effectively specifies that the same entry is reported more than once in the container and has the same physical meaning. This should not be construed to be equivalent to arrays. + + + + + This entry will only be included in the sequence when this condition is true, otherwise it is always included. When the include condition evaluates to false, it is as if the entry does not exist such that any start bit interpretations cannot take into account the space that would have been occupied if this included condition were true. + + + + + Optional timing information associated with this entry. + + + + + Optional ancillary data associated with this element. + + + + + + Optional short description for this entry element. + + + + + + Identical to a SequenceEntryType but supports argument instance references. + + + + + The start bit 0 position for each container is local to the container, but does include space occupied by inherited containers. When a container is "included", as opposed to inherited, then the interpreting implementation takes into account the start bit position of the referring container when finally assembling the start bits for the post-processed entry content. The default start bit for any entry is 0 bits from the previous entry, making the content contiguous when this element is not used. + + + + + May be used when this entry repeats itself in the sequence container. When an entry repeats, it effectively specifies that the same entry is reported more than once in the container and has the same physical meaning. This should not be construed to be equivalent to arrays. + + + + + This entry will only be included in the sequence when this condition is true, otherwise it is always included. When the include condition evaluates to false, it is as if the entry does not exist such that any start bit interpretations cannot take into account the space that would have been occupied if this included condition were true. + + + + + Ancillary data associated with this entry. + + + + + + Optional short description for this entry element. + + + + + + Holds a set of services, logical groups of containers OR messages (not both). + + + + + + + + + + + + + An entry that is a portion of a stream (streams are by definition, assumed continuous) It is assumed that stream segments happen sequentially in time, that is the first part if a steam first, however, if this is not the case the order of the stream segments may be supplied with the order attribute where the first segment order="0". + + + + + + + + + + + + + + + + + The ContainerRef should point to ROOT container that will describe an entire packet/minor frame or chunk of telemetry. + + + + + + + + + + + + + + + + + + + + + + + Define the expected appearance (rate) of a container in a stream where the rate is defined on either a perSecond or perContainer update basis. Many programs and platforms have variable reporting rates for containers and these can be commanded. As a result, this element is only useful to some users and generally does not affect the processing of the received containers themselves. See ContainerType. + + + + The measurement unit basis for the minimum and maximum appearance count values. + + + + + The minimum rate for the specified basis for which this container should appear in the stream. + + + + + The maximum rate for the specified basis for which this container should appear in the stream. + + + + + + Define the expected appearance (rate) of a container in a named stream where the rate is defined on either a perSecond or perContainer update basis. Many programs and platforms have variable reporting rates for containers and these can be commanded. As a result, this element is only useful to some users and generally does not affect the processing of the received containers themselves. See ContainerType and RateInStreamType. + + + + + + Reference to a named stream for which this rate specification applies. + + + + + + + + The location may be relative to the start of the container (containerStart), relative to the end of the previous entry (previousEntry), relative to the end of the container (containerEnd), or relative to the entry that follows this one (nextEntry). If going forward (containerStart and previousEntry) then the location refers to the start of the Entry. If going backwards (containerEnd and nextEntry) then, the location refers to the end of the entry. + + + + + + + + + + + + + + + + + Define one or more conditions (constraints) for container inheritance. A container is instantiable if its constraints are true. Constraint conditions may be a comparison, a list of comparisons, a boolean expression, or a graph of containers that are instantiable (if all containers are instantiable the condition is true). See BaseContainerType, ComparisonType, ComparisonListType, BooleanExpressionType and NextContainerType. + + + + + + + Reference to the named container that must follow this container in the stream sequence. + + + + + + + + + + + This schema defines the dictionary for telemetry + + + + Describe an absolute time parameter type relative to a known epoch (such as TAI). The string representation of this time should use the [ISO 8601] extended format CCYY-MM-DDThh:mm:ss where "CC" represents the century, "YY" the year, "MM" the month and "DD" the day, preceded by an optional leading "-" sign to indicate a negative number. If the sign is omitted, "+" is assumed. The letter "T" is the date/time separator and "hh", "mm", "ss" represent hour, minute and second respectively. Additional digits can be used to increase the precision of fractional seconds if desired i.e. the format ss.ss... with any number of digits after the decimal point is supported. See TAIType, IntegerDataEncoding and AbsoluteTimeDataType. + + + + + + + + Describe a complex data type analogous to a C-struct. Each field of the data type is called a Member. Each Member is part of the MemberList which forms the list of items to be placed under this data type's name. The MemberList defines a data block and block's size is defined by the DataEncodings of each Member's type reference. The data members are ordered and contiguous in the MemberList element (packed). Each member may be addressed by the dot syntax similar to C such as P.voltage if P is the referring parameter and voltage is of a member of P's aggregate type. See MemberType, MemberListType, DataEncodingType, NameReferenceType, and AggregateDataType. + + + + + + + + Describe an array parameter type. The size and number of dimensions are described here. See ArrayParameterRefEntryType, NameReferenceType and ArrayDataType. + + + + + + + Describe the dimensions of this array. + + + + + + + + + Describe a binary engineering/calibrated parameter type (sometimes called a "blob type"). It may be of fixed or variable length, and has an optional encoding and decoding algorithm that may be defined to transform the data between space and ground. See BinaryDataEncodingType, IntegerValueType, InputAlgorithmType and BinaryDataType. + + + + + + + Optionally describe an alarm monitoring specification that is effective whenever a contextual alarm definition does not take precedence. + + + + + Optionally describe one or more alarm monitoring specifications that are effective whenever a contextual match definition evaluates to true. The first match that evaluates to true takes precedence. + + + + + + + + + Describe a boolean parameter type which has two values only: "True" (1) or "False" (0). The values one and zero may be mapped to a specific string using the attributes oneStringValue and zeroStringValue. This type is a simplified form of the EnumeratedDataType. See IntegerDataEncoding and BooleanDataType. + + + + + + + Optionally describe an alarm monitoring specification that is effective whenever a contextual alarm definition does not take precedence. + + + + + Optionally describe one or more alarm monitoring specifications that are effective whenever a contextual match definition evaluates to true. The first match that evaluates to true takes precedence. + + + + + + + + + Describe an enumerated parameter type. The enumeration list consists of label/value pairs. See EnumerationListType, IntegerDataEncodingType and EnumeratedDataType. + + + + + + + Describe labels for this parameter that should be in an alarm state. The default definition applies when there are no context alarm definitions or all the context alarm definitions evaluate to false in their matching criteria. + + + + + Describe labels for this parameter that should be in an alarm state when another parameter and value combination evaluates to true using the described matching criteria. + + + + + + + + + Describe an ordered collection of context enumeration alarms, duplicates are valid. Process the contexts in list order. See EnumerationContextAlarmType. + + + + + A Context contains a new alarm definition and a context match. The match takes precedence over any default alarm when the first in the overall list evaluates to true. It is also possible the alarm definition is empty, in which case the context means no alarm defined when the match is true. + + + + + + + Describe a floating point parameter type. Several encodings are supported. Calibrated integer to float relationships should be described with this data type. Use the data encoding to define calibrators. Joins integer as one of the numerics. See FloatDataEncodingType, IntegerDataEncodingType and FloatDataType. + + + + + + + Default alarm definitions are those which do not adjust definition logic based on the value of other parameters. Other parameters may participate in the determination of an alarm condition for this parameter, but the definition logic of the alarm on this parameter is constant. If the alarming logic on this parameter changes based on the value of other parameters, then it is a ContextAlarm and belongs in the ContextAlarmList element. + + + + + Context alarm definitions are those which adjust the definition logic for this parameter based on the value of other parameters. A context which evaluates to being in effect, based on the testing of another parameter, takes precedence over the default alarms in the DefaultAlarm element. If the no context alarm evaluates to being in effect, based on the testing of another parameter, then the default alarm definitions from the DefaultAlarm element will remain in effect. If multiple contexts evaluate to being in effect, then the first one that appears will take precedence. + + + + + + + + + Describe an integer parameter type. Several are supported. Calibrated integer to integer relationships should be described with this data type. Use the integer data encoding to define calibrators. Joins float as one of the numerics. See IntegerDataEncoding and IntegerDataType. + + + + + + + Default alarm definitions are those which do not adjust definition logic based on the value of other parameters. Other parameters may participate in the determination of an alarm condition for this parameter, but the definition logic of the alarm on this parameter is constant. If the alarming logic on this parameter changes based on the value of other parameters, then it is a ContextAlarm and belongs in the ContextAlarmList element. + + + + + Context alarm definitions are those which adjust the definition logic for this parameter based on the value of other parameters. A context which evaluates to being in effect, based on the testing of another parameter, takes precedence over the default alarms in the DefaultAlarm element. If the no context alarm evaluates to being in effect, based on the testing of another parameter, then the default alarm definitions from the DefaultAlarm element will remain in effect. If multiple contexts evaluate to being in effect, then the first one that appears will take precedence. + + + + + + + + + + + + + + An ordered collection of numeric alarms associated with a context. A context is an alarm definition on a parameter which is valid only in the case of a test on the value of other parameters. Process the contexts in list order. Used by both FloatParameterType and IntegerParameterType. See NumericContextAlarmType. + + + + + A Context contains a new alarm definition and a context match. The match takes precedence over any default alarm when the first in the overall list evaluates to true. It is also possible the alarm definition is empty, in which case the context means no alarm defined when the match is true. + + + + + + + A reference to an instance of a Parameter. Used when the value of a parameter is required for a calculation or as an index value. A positive value for instance is forward in time, a negative value for count is backward in time, a 0 value for count means use the current value of the parameter or the first value in a container. + + + + + + + + + + + Describes extended properties/attributes of Parameter definitions. + + + + + Optional. Normally used when the database is built in a flat, non-hierarchical format. + + + + + Optional condition that must be true for this Parameter to be valid. + + + + + When present, this set of elements describes physical address location(s) of the parameter where it is stored. Typically this is on the data source, although that is not constrained by this schema. + + + + + This time will override any Default value for TimeAssociation. + + + + + + This attribute describes the nature of the source entity for which this parameter receives a value. Implementations assign different attributes/properties internally to a parameter based on the anticipated data source. + + + + + A Parameter marked as 'readOnly' true is non-settable by users and applications/services that do not represent the data source itself. Note that a slight conceptual overlap exists here between the 'dataSource' attribute and this attribute when the data source is 'constant'. For a constant data source, then 'readOnly' should be 'true'. Application implementations may choose to implicitly enforce this. Some implementations have both concepts of a Parameter that is settable or non-settable and a Constant in different parts of their internal data model. + + + + + A Parameter marked to persist should retain the latest value through resets/restarts to the extent that is possible or defined in the implementation. The net effect is that the initial/default value on a Parameter is only seen once or when the system has a reset to revert to initial/default values. + + + + + + Describe the properties of a telemetry parameter, including its data type (parameter type). The bulk of properties associated with a telemetry parameter are in its parameter type. The initial value specified here, overrides the initial value in the parameter type. A parameter may be local, in which case its parameter type would have no data encodings. Ideally such a definition would also set data source in parameter properties to "local" but the syntax does not enforce this. See BaseDataType, BaseTimeDataType, and NameReferenceType. + + + + + + + Specify additional properties for this Parameter used by the implementation of tailor the behavior and attributes of the Parameter. When not specified, the defaults on the ParameterProperties element attributes are assumed. + + + + + + Specify the reference to the parameter type from the ParameterTypeSet area using the path reference rules, either local to this SpaceSystem, relative, or absolute. + + + + + Specify as: integer data type using xs:integer, float data type using xs:double, string data type using xs:string, boolean data type using xs:boolean, binary data type using xs:hexBinary, enum data type using label name, relative time data type using xs:duration, absolute time data type using xs:dateTime, arrays using JSON syntax (e.g. '[1, 3, 4]', and aggregates using JSON syntax '{"member1": 1, "member2": "foo"}' ). Values must not exceed the characteristics for the data type or this is a validation error. Takes precedence over an initial value given in the data type. Values are calibrated unless there is an option to override it. + The value type must match the Parameter type + + + + + + + + Describe an unordered collection of parameter type definitions. These types named for the engineering/calibrated type of the parameter. See BaseDataType and BaseTimeDataType. + + + + + Describe a parameter type that has an engineering/calibrated value in the form of a character string. + + + + + Describe a parameter type that has an engineering/calibrated value in the form of an enumeration. + + + + + Describe a parameter type that has an engineering/calibrated value in the form of an integer. + + + + + Describe a parameter type that has an engineering/calibrated value in the form of a binary (usually hex represented). + + + + + Describe a parameter type that has an engineering/calibrated value in the form of a decimal. + + + + + Describe a parameter type that has an engineering/calibrated value in the form of a boolean enumeration. + + + + + Describe a parameter type that has an engineering/calibrated value in the form of a duration in time. + + + + + Describe a parameter type that has an engineering/calibrated value in the form of an instant in time. + + + + + Describe a parameter type that has an engineering/calibrated value in the form of an array of a primitive type. + + + + + Describe a parameter type that has an engineering/calibrated value in the form of a structure of parameters of other types. + + + + + + + A reference to a Parameter. Uses Unix-like naming across the SpaceSystem Tree (e.g., SimpleSat/Bus/EPDS/BatteryOne/Voltage). To reference an individual member of an array use the zero based bracket notation commonly used in languages like C, C++, and Java. + + + + + + One or more physical addresses may be associated with each Parameter. Examples of physical addresses include a location on the spacecraft or a location on a data collection bus. + + + + + Contains the address (e.g., channel information) required to process the spacecraft telemetry streams. May be an onboard id, a mux address, or a physical location. + Contains the address (channel information) required to process the spacecraft telemetry streams + + + + + + + Describe the physical address(s) that this parameter is collected from. Examples of physical addresses include a memory location on the spacecraft or a location on a data collection bus, with the source identified with a descriptive name for the region of memory, such as RAM, Flash, EEPROM, and other possibilities that can be adapted for program specific usage. + + + + + A sub-address may be used to further specify the location if it fractionally occupies the address. Additional possibilities exist for separating partitions of memory or other address based storage mechanisms. This specification does not specify spacecraft specific hardware properties, so usage of addressing information is largely program and platform specific. + + + + + + A descriptive name for the location, such as a memory type, where this address is located. + + + + + The address within the memory location. This specification does not specify program and hardware specific attributes, such as address size and address region starting location. These are part of the spacecraft hardware properties. + + + + + + A service is a logical grouping of container and/or messages. + + + + + + + + Describes a string parameter type. Three forms are supported: fixed length, variable length and variable length using a prefix. See StringDataEncodingType and StringDataType. + + + + + + + Default alarm definitions are those which do not adjust definition logic based on the value of other parameters. Other parameters may participate in the determination of an alarm condition for this parameter, but the definition logic of the alarm on this parameter is constant. If the alarming logic on this parameter changes based on the value of other parameters, then it is a ContextAlarm and belongs in the ContextAlarmList element. + + + + + Context alarm definitions are those which adjust the definition logic for this parameter based on the value of other parameters. A context which evaluates to being in effect, based on the testing of another parameter, takes precedence over the default alarms in the DefaultAlarm element. If the no context alarm evaluates to being in effect, based on the testing of another parameter, then the default alarm definitions from the DefaultAlarm element will remain in effect. If multiple contexts evaluate to being in effect, then the first one that appears will take precedence. + + + + + + + + + Describes a relative time parameter type. Relative time parameters are time offsets (e.g. 10 second, 1.24 milliseconds, etc.) See IntegerDataEncodingType, FloatDataEncoding and RelativeTimeDataType. + + + + + + + Default alarm definitions are those which do not adjust definition logic based on the value of other parameters. Other parameters may participate in the determination of an alarm condition for this parameter, but the definition logic of the alarm on this parameter is constant. If the alarming logic on this parameter changes based on the value of other parameters, then it is a ContextAlarm and belongs in the ContextAlarmList element. + + + + + Context alarm definitions are those which adjust the definition logic for this parameter based on the value of other parameters. A context which evaluates to being in effect, based on the testing of another parameter, takes precedence over the default alarms in the DefaultAlarm element. If the no context alarm evaluates to being in effect, based on the testing of another parameter, then the default alarm definitions from the DefaultAlarm element will remain in effect. If multiple contexts evaluate to being in effect, then the first one that appears will take precedence. + + + + + + + + + A telemetered Parameter is one that will have values in telemetry. A derived Parameter is one that is calculated, usually by an Algorithm. A constant Parameter is one that is used as a constant in the system (e.g. a vehicle id). A local Parameter is one that is used purely by the software locally (e.g. a ground command counter). A ground Parameter is one that is generated by an asset which is not the spacecraft. + + + + + + + + + + + + Describes a time association consisting of an instance of an absolute time parameter (parameterRef) and this entry. Because telemetry parameter instances are oftentimes "time-tagged" with a timing signal either provided on the ground or on the space system. This data element allows one to specify which of possibly many AbsoluteTimeParameters to use to "time-tag" parameter instances with. See AbsoluteTimeParameterType. + + + + + + If true, then the current value of the AbsoluteTime will be projected to current time. In other words, if the value of the AbsoluteTime parameter was set 10 seconds ago, then 10 seconds will be added to its value before associating this time with the parameter. + + + + + The offset is used to supply a relative time offset from the time association and to this parameter + + + + + Specify the units the offset is in, the default is seconds. + + + + + + + + + + + + + + + + This schema defines the dictionary for commanding + + + + Describe an absolute time argument type relative to a known epoch (such as TAI). The string representation of this time should use the [ISO 8601] extended format CCYY-MM-DDThh:mm:ss where "CC" represents the century, "YY" the year, "MM" the month and "DD" the day, preceded by an optional leading "-" sign to indicate a negative number. If the sign is omitted, "+" is assumed. The letter "T" is the date/time separator and "hh", "mm", "ss" represent hour, minute and second respectively. Additional digits can be used to increase the precision of fractional seconds if desired i.e. the format ss.ss... with any number of digits after the decimal point is supported. See TAIType, IntegerDataEncoding and AbsoluteTimeDataType. + + + + + + + + Describe an array argument type. The size and number of dimension are described here. See ArrayParameterRefEntryType, NameReferenceType and ArrayDataType. + + + + + + + Describe the dimensions of this array. + + + + + + + + + Describe a complex data type analogous to a C-struct. Each field of the data type is called a Member. Each Member is part of the MemberList which forms the list of items to be placed under this data type's name. The MemberList defines a data block and block's size is defined by the DataEncodings of each Member's type reference. The data members are ordered and contiguous in the MemberList element (packed). Each member may be addressed by the dot syntax similar to C such as P.voltage if P is the referring parameter and voltage is of a member of P's aggregate type. See MemberType, MemberListType, DataEncodingType, NameReferenceType, and AggregateDataType. + + + + + + + + Argument Assignments specialize a MetaCommand or BlockMetaCommand when inheriting from another MetaCommand. General argument values can be restricted to specific values to further specialize the MetaCommand. Use it to "narrow" a MetaCommand from its base MetaCommand by specifying values of arguments for example, a power command may be narrowed to a "power on" command by assigning the value of an argument to "on". See ArgumentAssignmentType and MetaCommandType. + + + + + Specialize this command definition when inheriting from a more general MetaCommand by restricting the specific values of otherwise general arguments. + + + + + + + Describe an assignment of an argument with a calibrated/engineering value. See ArgumentAssignmentListType. + + + + The named argument from the base MetaCommand to assign/restrict with a value. + + + + + Specify value as a string compliant with the XML schema (xs) type specified for each XTCE type: integer=xs:integer; float=xs:double; string=xs:string; boolean=xs:boolean; binary=xs:hexBinary; enum=xs:string from EnumerationList; relative time=xs:duration; absolute time=xs:dateTime. Supplied value must be within the ValidRange specified for the type. + + + + + + Identical to ComparisonType but supports argument instance references. + + + + + This parameter instance is being compared to the value in the parent element using the comparison defined there also. + + + + + This argument instance is being compared to the value in the parent element using the comparison defined there also. + + + + + + Comparison operator to use with equality being the common default. + + + + + Specify as: integer data type using xs:integer, float data type using xs:double, string data type using xs:string, boolean data type using xs:boolean, binary data type using xs:hexBinary, enum data type using label name, relative time data type using xs:duration, absolute time data type using xs:dateTime. Values must not exceed the characteristics for the data type or this is a validation error. Takes precedence over an initial value given in the data type. Values are calibrated unless there is an option to override it. + + + + + + Identical to ComparisonCheckType but supports argument instance references. + + + + + + + + Left hand side parameter instance. + + + + + Left hand side argument instance. + + + + + + Comparison operator. + + + + + + + Right hand side parameter instance. Parameter is assumed to be of the same type as the comparison Argument or Parameter. + + + + + Right hand side argument instance. Argument is assumed to be of the same type as the comparison Argument or Parameter. + + + + + + Specify as: integer data type using xs:integer, float data type using xs:double, string data type using xs:string, boolean data type using xs:boolean, binary data type using xs:hexBinary, enum data type using label name, relative time data type using xs:duration, absolute time data type using xs:dateTime. Values must not exceed the characteristics for the data type or this is a validation error. Takes precedence over an initial value given in the data type. Values are calibrated unless there is an option to override it. + + + + + + + + + + Identical to ComparisonListType but supports argument instance references. + + + + + List of Comparison elements must all be true for the comparison to evaluate to true. + + + + + + + Identical to ArgumentDiscreteLookupType but supports argument instance references. + + + + + + Value to use when the lookup conditions are true. + + + + + + + + Identical to DiscreteLookupListType but supports argument instance references. + + + + + Describe a lookup condition set using discrete values from arguments and/or parameters. + + + + + + In the event that no lookup condition evaluates to true, then this value will be used. + + + + + + Identical to DynamicValueType but supports argument instance references. + + + + + + Retrieve the value by referencing the value of an Argument. + + + + + Retrieve the value by referencing the value of a Parameter. + + + + + + A slope and intercept may be applied to scale or shift the value selected from the argument or parameter. + + + + + + + Identical to InputAlgorithmType but supports argument instance references. + + + + + + + The InputSet describes the list of arguments and/or parameters that should be made available as input arguments to the algorithm. + + + + + + + + + Identical to InputSetType but supports argument instance references. + + + + + Reference a parameter to serve as an input to the algorithm. + + + + + Reference an argument to serve as an input to the algorithm. + + + + + Supply a local constant name and value to input to this algorithm. + + + + + + + An argument instance is the name of an argument as the reference is always resolved locally to the metacommand. + + + + Give the name of the argument. There is no path, this is a local reference. + + + + + Typically the calibrated/engineering value is used and that is the default. + + + + + + Defines a list of Arguments for a command definition. + + + + + Defines an Argument for a command definition. Arguments are local to the MetaCommand, BlockMetaCommand, and those that inherit from the definition. + Need to ensure that the named types actually exist + + + + + + + Identical to BooleanExpressionType but supports argument instance references. + + + + + Condition elements describe a test similar to the Comparison element except that the arguments/parameters used have additional flexibility. + + + + + This element describes tests similar to the ComparisonList element except that the arguments/parameters used are more flexible. + + + + + This element describes tests similar to the ComparisonList element except that the arguments/parameters used are more flexible. + + + + + + + Identical to ANDedConditionsType but supports argument instance references. + + + + + + + Condition elements describe a test similar to the Comparison element except that the arguments/parameters used have additional flexibility for the compare. + + + + + This element describes tests similar to the ComparisonList element except that the arguments/parameters used are more flexible and the and/or for multiple checks can be specified. + + + + + + + + + Identical to ORedConditionsType but supports argument instance references. + + + + + + + Condition elements describe a test similar to the Comparison element except that the arguments/parameters used have additional flexibility for the compare. + + + + + This element describes tests similar to the ComparisonList element except that the arguments/parameters used are more flexible and the and/or for multiple checks can be specified. + + + + + + + + + Identical to MatchCriteriaType but supports argument instance references. + + + + + A simple comparison check involving a single test of an argument or parameter value. + + + + + A series of simple comparison checks with an implicit 'and' in that they all must be true for the overall condition to be true. + + + + + An arbitrarily complex boolean expression that has additional flexibility on the terms beyond the Comparison and ComparisonList elements. + + + + + An escape to an externally defined algorithm. + + + + + + + Defines a list of argument values that restrict a constraint from being realized in the commanding lifecycle. + + + + + Specifies an argument value that causes this constraint to be realized. + + + + + + + An Argument has a name and can take on values with the underlying value type described by the ArgumentTypeRef. Describe the properties of a command argument referring to a data type (argument type). The bulk of properties associated with a command argument are in its argument type. The initial value specified here, overrides the initial value in the argument type. See BaseDataType, BaseTimeDataType and NameReferenceType. + + + + + + Specify the reference to the argument type from the ArgumentTypeSet area using the path reference rules, either local to this SpaceSystem, relative, or absolute. + + + + + Specify as: integer data type using xs:integer, float data type using xs:double, string data type using xs:string, boolean data type using xs:boolean, binary data type using xs:hexBinary, enum data type using label name, relative time data type using xs:duration, absolute time data type using xs:dateTime, arrays using JSON syntax (e.g. '[1, 3, 4]', and aggregates using JSON syntax '{"member1": 1, "member2": "foo"}' ). Values must not exceed the characteristics for the data type or this is a validation error. Takes precedence over an initial value given in the data type. Values are calibrated unless there is an option to override it. + The value type must match the Argument type + + + + + + + + Describe an unordered collection of argument type definitions. These types named for the engineering/calibrated type of the argument. See BaseDataType and BaseTimeDataType. + + + + + Describe an argument type that has an engineering/calibrated value in the form of a character string. + + + + + Describe an argument type that has an engineering/calibrated value in the form of an enumeration. + + + + + Describe an argument type that has an engineering/calibrated value in the form of an integer. + + + + + Describe an argument type that has an engineering/calibrated value in the form of a binary (usually hex represented). + + + + + Describe an argument type that has an engineering/calibrated value in the form of a decimal. + + + + + Describe an argument type that has an engineering/calibrated value in the form of a boolean enumeration. + + + + + Describe an argument type that has an engineering/calibrated value in the form of a duration in time. + + + + + Describe an argument type that has an engineering/calibrated value in the form of an instant in time. + + + + + Describe an argument type that has an engineering/calibrated value in the form of an array of a primitive type. + + + + + Describe an argument type that has an engineering/calibrated value in the form of a structure of arguments of other types. + + + + + + + When specified, a BaseMetaCommand element identifies that this MetaCommand inherits (extends) another MetaCommand. It's required ArgumentAssignmentList narrows or this command from the parent. This is typically used when specializing a generic MetaCommand to a specific MetaCommand. See MetaCommandType. + + + + + Argument Assignments specialize a MetaCommand or BlockMetaCommand when inheriting from another MetaCommand. General argument values can be restricted to specific values to further specialize the MetaCommand. + + + + + + Reference to the MetaCommand definition that this MetaCommand extends. + + + + + + Defines a binary engineering/calibrated argument type (often called "blob type"). The binary data may be of fixed or variable length, and has an optional encoding and decoding algorithm that may be defined to transform the data between space and ground. See BinaryDataEncodingType, IntegerValueType, InputAlgorithmType, and BinaryDataType. + + + + + + + + Describe an ordered grouping of MetaCommands into a list, duplicates are valid. The block contains argument values fully specified. See MetaCommandStepListType. + + + + + + + List of the MetaCommands to include in this BlockMetaCommand. + + + + + + + + + Defines a boolean argument type which has two values only: "True" (1) or "False" (0). The values one and zero may be mapped to a specific string using the attributes oneStringValue and zeroStringValue. This type is a simplified form of the EnumeratedDataType. See IntegerDataEncoding and BooleanDataType. + + + + + + + + Describe an entry list for a CommandContainer which is associated with a MetaCommand. The entry list for a MetaCommand CommandContainer element operates in a similar fashion as the entry list element for a SequenceContainer element. It adds fixed value and argument entries to the entry list not present in sequence containers. See MetaCommandType, CommandContainerType and EntryListType. + + + + + Specify a Parameter to be a part of this container layout definition. + + + + + Specify a portion of a Parameter to be a part of this container layout definition. This is used when the Parameter is reported in fractional parts in the container before being fully updated. + + + + + Specify the content of another Container to be a part of this container layout definition. + + + + + Specify a portion of another Container to be a part of this container layout definition. + + + + + Specify a portion of a Stream to be a part of this container layout definition. + + + + + Specify a previous (not last reported) value of a Parmeter to be a part of this container layout definition. + + + + + Specify an Array Type Parameter to be a part of this container layout definition when the Container does not populate the entire space of the Array contents. If the entire space of the Array is populated, a tolerant implementation will accept ParameterRefEntry also. + + + + + Specify an Argument to be a part of this container layout definition. + + + + + Specify an Array Type Argument to be a part of this container layout definition when the Container does not populate the entire space of the Array contents. If the entire space of the Array is populated, a tolerant implementation will accept ArgumentRefEntry also. + + + + + Specify an immutable value to be a part of this container layout definition. + + + + + + + Contains an unordered Set of Command Containers + + + + + + + + Describe a MetaCommand command container. The command container may contain arguments, parameters, other basic containers, and fixed values. Arguments are supplied by the user of a commanding application; parameters are supplied by the controlling system. Parameters and arguments map source data types to encodings. See MetaCommandType. + + + + + + + List of item entries to pack/encode into this container definition. + + + + + When a MetaCommand inherits/extends another MetaCommand, this references the CommandContainer from the BaseMetaCommand. + + + + + + + + + A command verifier is used to check that the command has been successfully executed. Command Verifiers may be either a Custom Algorithm or a Boolean Check or the presence of a Container for a relative change in the value of a Parameter. The CheckWindow is a time period where the verification must test true to pass. + + + + + + + + Verification is a list of comparisons. + + + + + Verification is a new instance of the referenced container. For example, sending a command to download memory then receiving a packet with the memory download would be verified upon receipt of the packet. + + + + + Verification is a telemetry parameter value change on the ground. For example, a command counter. + + + + + Verification is outside the scope of regular command and telemetry processing. + + + + + Verification is a boolean expression of conditions. + + + + + Verification is a single comparison. + + + + + + + Define a time window for checking for verification. + + + + + Define a time window algorithmically for verification. + + + + + + Optional list of argument values that manifest this post-transmission validation parameter value check. When not present, this check applies to all instances of the command. + + + + + + + + + Describes an enumerated argument type. The enumeration list consists of label/value pairs. See EnumerationListType, IntegerDataEncodingType and EnumeratedDataType. + + + + + + + + Describe a floating point argument type. Several encodings are supported. Calibrated integer to float relationships should be described with this data type. Use the data encoding to define calibrators. Joins integer as one of the numerics. See FloatDataEncodingType, IntegerDataEncodingType and FloatDataType. + + + + + + + Provides additional platform/program specific ranging information. + + + + + + + + + Describes an integer argument type. Several encodings supported. Calibrated integer to integer relationships should be described with this data type. Use the integer data encoding to define calibrators. Joins float as one of the numerics. See IntegerDataEncoding and IntegerDataType. + + + + + + + Provides additional platform/program specific ranging information. + + + + + + + + + Describes an unordered collection of command definitions. Duplicates are invalid based on the name attribute of MetaCommand and BlockMetaCommand. See MetaCommandType and BlockMetaCommandType. + + + + + All atomic commands to be sent on this mission are listed here. In addition this area has verification and validation information. + + + + + + + + + Used to include a MetaCommand defined in another sub-system in this sub-system. + + + + + Used to define a command that includes more than one atomic MetaCommand definition. + + + + + + + Describe the list of MetaCommand definitions that form the block command. Contains an ordered list of MetaCommandSteps where each step is a MetaCommand with associated arguments, duplicates are valid. See BlockMetaCommandType. + + + + + A MetaCommand with specific specified argument values to include in the BlockMetaCommand. + + + + + + + Describe a MetaCommand step, consisting MetaCommand reference and argument list. See MetaCommandStepListType and NameReferenceType. + + + + + + + + + Describe a command which consists of an abstract portion (MetaCommand) and an optional packaging portion (MetaCommand CommandContainer). An argument list is provided. MetaCommand may extend other MetaCommands and their CommandContainer may extend other CommandContainer or SequenceContainers. A MetaCommand's CommandContainer is private except as referred to in BaseMetaCommand (they are not visible to other containers and cannot be used in an entry list). MetaCommands may also define various other behavioral aspects of a command such as command verifiers. See CommandContainerType, ArgumentListType, BaseMetaCommandType and BaseContainerType. + + + + + + + Optional inheritance for this MetaCommand from another named MetaCommand. + + + + + Optional. Normally used when the database is built in a flat, non-hierarchical format. May be used by implementations to group MetaCommands together. + + + + + Many commands have one or more options. These are called command arguments. Command arguments may be of any of the standard data types. MetaCommand arguments are local to the MetaCommand, but may be referenced in inherited MetaCommand definitions, generally to apply Argument Assignments to the values. + + + + + Tells how to package/encode this command definition in binary form. + + + + + List of constraints to check when sending this command. + + + + + Some Command and Control Systems may require special user access or confirmations before transmitting commands with certain levels. The level is inherited from the Base MetaCommand. + + + + + Some Command and Control Systems may require special user access or confirmations before transmitting commands with certain levels. In addition to the default, Significance can be defined in contexts where it changes based on the values of parameters. + + + + + An Interlock is a type of Constraint, but not on Command instances of this MetaCommand; Interlocks apply instead to the next command. An Interlock will block successive commands until this command has reached a certain stage (through verifications). Interlocks are scoped to a SpaceSystem basis. + + + + + Functional list of conditions/changes to check after sending this command to determine success or failure. + + + + + List of parameters to set new values upon completion of sending this command. + + + + + List of parameters to suspend alarm processing/detection upon completion of sending this command. + + + + + + Abstract MetaCommand definitions that are not instantiated, rather only used as bases to inherit from to create specialized command definitions. + + + + + + + + Describes a relative time argument type. Relative time parameters are time offsets (e.g. 10 second, 1.24 milliseconds, etc.) See IntegerDataEncodingType, FloatDataEncoding and RelativeTimeDataType. + + + + + + + + Significance provides some cautionary information about the potential consequence of each MetaCommand. + + + + If none is supplied, then the current SpaceSystem is assumed to be the one at risk by the issuance of this command + + + + + + + + Describes a string parameter type. Three forms are supported: fixed length, variable length and variable length using a prefix. See StringDataEncodingType and StringDataType. + + + + + + + + + + A verifier that means the destination has accepted the command. + + + + + + + + Used by CommandVerifiers to limit the time allocated to check for the verification. See CheckWindowAlgorithmsType. + + + + + + + + Used by CommandVerifiers to limit the time allocated to check for the verification. See CommandVerifierType. + + + + + + + + + A possible set of verifiers that all must be true for the command be considered completed. Consider that some may not participate due to argument value restriction, if that element is used. + + + + + + + + + + + + Describe a significance level for a MetaCommand definition where the significance level depends on matching a context value. See ContextMatchType and SignificanceType. + + + + + Describe the context matching value and source that will enable the Significance listed in the Significance element. + + + + + Describe the signficance of this MetaCommand definition. See SignificanceType. + + + + + + + Describe an ordered list of ContextSignificance elements where the significance on the first context match to test true is used as the significance of the MetaCommand. If there is a DefaultSignificance, it is overrideen by the matching context. See ContextSignificantType and MetaCommandType. + + + + + A Context contains a different significance definition and a context match. The match takes precedence over any default significance when the first in the overall list evaluates to true. + + + + + + + A verifier that indicates that the command is being executed. An optional Element indicates how far along the command has progressed either as a fixed value or an (possibly scaled) ParameterInstance value. + + + + + + + + + + + + When true, indicates that the command failed. timeToWait is how long to wait for the FailedVerifier to test true. + + + + + + + + + + + + Describe a type of constraint on the next command, rather than this command. Interlocks apply only to the next command. An interlock will block successive commands until this command has reached a certain stage of verifier. Interlocks are scoped to a SpaceSystem basis: they by default apply to the SpaceSystem the MetaCommand is defined in but this may be overridden. See MetaCommandType and VerifierSetType. + + + + The name of a SpaceSystem this Interlock applies to. By default, it only applies to the SpaceSystem that contains this MetaCommand. + + + + + The verification stage of the command that releases the interlock, with the default being complete. + + + + + Only applies when the verificationToWaitFor attribute is 'queued' or 'executing'. + + + + + A flag that indicates that under special circumstances, this Interlock can be suspended. + + + + + + Sets a Parameter to a new value (either from a derivation or explicitly) after the command has been verified (all verifications have passed). + Value type must match Parameter type. + + + + + + + Specify a simple algorithm to use to set the target Parameter value. See ArgumentMathOperationType. + + + + + Specify value as a string compliant with the XML schema (xs) type specified for each XTCE type: integer=xs:integer; float=xs:double; string=xs:string; boolean=xs:boolean; binary=xs:hexBinary; enum=xs:string from EnumerationList; relative time= xs:duration; absolute time=xs:dateTime. Supplied value must be within the ValidRange specified for the Parameter and appropriate for the type. + + + + + + This attribute provides more specific control over when the Parameter value is set. By default, it is when the command have all verifications complete. See VerifierEnumerationType. + + + + + + + + Parameters that are set with a new value after the command has been sent. Appended to the Base Command list + + + + + + + + Will suspend all Alarms associated with this Parameter for the given suspense time after the given verifier + + + + + + + + + + + Sometimes it is necessary to suspend alarms - particularly 'change' alarms for commands that will change the value of a Parameter + + + + + + + + A parameter change in value or specified delta change in value. + + + + + + + + + A verifer that means the command is scheduled for execution by the destination. + + + + + + + + A verifier that simply means the destination has received the command. + + + + + + + + Sent from range means the command has been transmitted to the spacecraft by the network that connects the ground system to the spacecraft. Typically, this verifier would come from something other than the spacecraft, such as a modem or front end processor. + + + + + + + + Time units the time association decimal value is in. + + + + + + + + + + + + + + + + + Transferred to range means the command has been received to the network that connects the ground system to the spacecraft. Typically, this verifier would come from something other than the spacecraft, such as a modem or front end processor. + + + + + + + + A CommandTransmission constraint is used to check that the command can be run in the current operating mode and may block the transmission of the command if the constraint condition is true. + + + + + + + Optional list of argument values that manifest this pre-transmission constraint parameter value check. + + + + + + Pause during timeOut, fail when the timeout passes + + + + + + Indicates whether the constraints for a Command may be suspended. + + + + + + + + Appended to the TramsmissionConstraint List of the base command. Constraints are checked in order. + + + + + A constraint that potentially blocks transmission of this command based on parameter values for all instances or optionally limited to only when specified argument values are used in the command. + + + + + + + An enumerated list of verifier types + + + + + + + + + + + + + + + + Describe a collection of unordered verifiers. A command verifier is a conditional check on the telemetry from a SpaceSystem that that provides positive indication on the processing state of a command. There are eight different verifiers each associated with different states in command processing: TransferredToRange, TransferredFromRange, Received, Accepted, Queued, Execution, Complete, and Failed. There may be multiple "complete" and "execution" verifiers. If the MetaCommand is part of an inheritance relation (BaseMetaCommand), the "complete" and "execution" verifier sets are appended to any defined in the parent MetaCommand. All others will override a verifier defined in a BaseMetaCommand. Duplicate verifiers in the list of CompleteVerifiers and ExecutionVerifiers before and after appending to the verifiers in BaseMetaCommand should be avoided. See MetaCommandType and BaseMetaCommandType for additional information. + + + + + Transferred to range means the command has been received to the network that connects the ground system to the spacecraft. Typically, this verifier would come from something other than the spacecraft, such as a modem or front end processor. + + + + + Sent from range means the command has been transmitted to the spacecraft by the network that connects the ground system to the spacecraft. Typically, this verifier would come from something other than the spacecraft, such as a modem or front end processor. + + + + + A verifier that simply means the destination has received the command. + + + + + A verifier that means the destination has accepted the command. + + + + + A verifer that means the command is scheduled for execution by the destination. + + + + + A verifier that indicates that the command is being executed. An optional Element indicates how far along the command has progressed either as a fixed value or an (possibly scaled) ParameterInstance value. + + + + + A possible set of verifiers that all must be true for the command be considered completed. Consider that some may not participate due to argument value restriction, if that element is used. + + + + + When true, indicates that the command failed. timeToWait is how long to wait for the FailedVerifier to test true. + + + + + + + + + This schema defines the structure for an Algorithm. An Algorithm may be one of a growing set of pre-defined algorithms or a named escape into a user defined algorithm where (depending on the system) the name of the algorithm may be a java class, a function in a shared library, an external program or some other reference to an outside algorithm. At some later date, this schema may also allow the logic of the user defined algorithm to be defined within the instance document itself (perhaps using MathML?). + + + + This optional element may be used to enter Pseudo or actual code for the algorithm. The language for the algorithm is specified with the language attribute + + + + + + + + + + A base type for the various triggers, purely to improve the mappings created by data binding compilers. + + + + + Describe checksum or hash function definiton. See ErrorDetectCorrectType. + + + + + Provided to account for an algorithm not otherwise listed by enumeration. Assumed to return the computed checksum. + + + + + + An offset of non-zero may be specified to skip some bits against the reference position in the reference attribute. + + + + + The bits involved in the calculation may start at the beginning or the end of the container. + + + + + Qualified list of named common checksum algorithms. If custom is chosen, InputAlgorithm must be set. + + + + + + + + + + + + + + + + + + + Document a custom checksum algorithm in the InputAlgorithm element. + + + + + + + + The hashing algorithm may use a larger internal bucket size than the emitted value size in bits captured by the parameterRef attribute. + + + + + Reference to the parameter that contains the value of this computed checksum or hash based on this container. This attribute is optional because not all implementations verify (telemetry) or create (telecommand) error control fields using the XTCE definition. + + + + + + Names and provides a value for a constant input to the algorithm. There are two attributes to Constant, constantName and value. constantName is a variable name in the algorithm to be executed. value is the value of the constant to be used. + + + + Supply a name for the constant to be used to access this value from within the algorithm. + + + + + Supply the constant value in the form of the data type needed in the algorithm. + + + + + + Describe an ordered list of calibrators with a context match. Useful when different calibrations must be used depending on a matching value. The first context that matches determines which calibrator to use. See IntegerDataEncodingType and FloatDataEncodingType. + + + + + Describe a calibrator that depends on a matching value using a ContextMatch. When the context matches for the calibrator, the default calibrator is overridden, if it exists. + + + + + + + This is the external algorithm. Multiple entries are provided so that the same database may be used for multiple implementation s + + + + + + + + + + + + A set of labeled inputs is added to the SimpleAlgorithmType + + + + + + + The InputSet describes the list of parameters that should be made available as input arguments to the algorithm. + + + + + + + + + A set of labeled outputs are added to the SimpleInputAlgorithmType + + + + + + + + + + + + + Input output algorithm is extended with a set of labeled triggers. See InputOutputAlgorithmType. + + + + + + + + + First telemetry container from which the output parameter should be calculated. + + + + + Algorithm processing priority. If more than one algorithm is triggered by the same container, the lowest priority algorithm should be calculated first. + + + + + + + + Names an input parameter to the algorithm. There are two attributes to InputParm, inputName and parameterName. parameterName is a parameter reference name for a parameter that will be used in this algorithm. inputName is an optional "friendly" name for the input parameter. + + + + + + + + + + + + Reference a parameter to serve as an input to the algorithm. + + + + + Supply a local constant name and value to input to this algorithm. + + + + + + + Describe a postfix (Reverse Polish Notation (RPN)) notation based mathmatical equations. See MathOperationType. + + + + + + + The contents of the Math Operation as an algorithm definition in RPN. See TriggeredMathOperationType. + + + + + + + + + Describe a reference to container that triggers an event when the telemetry container referred to is updated (processed). See TriggerSetType. + + + + + + Reference to the Container whose update/receipt triggers this algorithm to evaluate. + + + + + + + + Describe a periodic time basis to trigger an event. See TriggerSetType. + + + + + + The periodic rate in time in which this algorithm is triggered to evaluate. + + + + + + + + Describe a reference to parameter that triggers an event when the telemetry parameter referred to is updated (processed) with a new value. See TriggerSetType. + + + + + + Reference to the Parameter whose update triggers this algorithm to evaluate. + + + + + + + + Names an output parameter to the algorithm. There are two attributes to OutputParm, outputName and parameterName. parameterName is a parameter reference name for a parameter that will be updated by this algorithm. outputName is an optional "friendly" name for the output parameter. + + + + + + + + + + + + + + + The simplest form of algorithm, a SimpleAlgorithmType contains an area for a free-form pseudo code description of the algorithm plus a Set of references to external algorithms. External algorithms are usually unique to a ground system type. Multiple external algorithms are possible because XTCE documents may be used across multiple ground systems. + + + + + + + + + + + + + + + + + + + + + + + A trigger is used to initiate the processing of some algorithm. A trigger may be based on an update of a Parameter, receipt of a Container, or on a time basis. Triggers may also have a maximum rate that limits how often the trigger can be invoked. + + + + + This element instructs the trigger to invoke the algorithm evaluation when a Parameter update is received. + + + + + This element instructs the trigger to invoke the algorithm evaluation when a Container is received. + + + + + This element instructs the trigger to invoke the algorithm evaluation using a timer. + + + + + + Triggers may optionally be named. + + + + + This attribute is a maximum rate that constrains how quickly this trigger may evaluate the algorithm to avoid flooding the implementation. The default is once per second. Setting to 0 results in no maximum. + + + + + + + + Supplies an optional non-reference-able name and short description for calibrators. Also includes an optional ancillary data for any special local flags, note that these may not necessarily transfer to another recipient of an instance document. + + + + + Optional additional ancillary information for this calibrator/algorithm + + + + + + Optional name for this calibrator/algorithm + + + + + Optional description for this calibrator/algorithm + + + + + + Describe a calibrator to transform a source data type raw/uncalibrated value (e.g. an integer count from a spacecraft) to an engineering unit/calibrated value for users (e.g. a float). + + + + + + + Describes a calibrator in the form of a piecewise defined function + + + + + Describes a calibrator in the form of a polynomial function + + + + + Describes a calibrator in the form of a user/program/implementation defined function + + + + + + + + + Describe a change value used to test verification status. See CommandVerifierType. + + + + Value as a floating point number. + + + + + + Describe a mathematical function for calibration where the mathematical function is defined using the MathOperationType. + + + + + + Describe a postfix (aka Reverse Polish Notation (RPN)) expression for mathematical equations. It uses a stack where operands (either fixed values or ParameterInstances) are pushed onto the stack from first to last in the XML. As the operators are specified, each pops off operands as it evaluates them, and pushes the result back onto the stack. For example, the stack, 4 8 /, would result as 0.5. In this case postfix is used to avoid having to specify parenthesis. To convert from infix to postfix, use Dijkstra's "shunting yard" algorithm. + + + + Use a constant in the calculation. + + + + + Use the value of this parameter in the calculation. It is the calibrator's value only. If the raw value is needed, specify it explicitly using ParameterInstanceRefOperand. Note this element has no content. + + + + + All operators utilize operands on the top values in the stack and leaving the result on the top of the stack. Ternary operators utilize the top three operands on the stack, binary operators utilize the top two operands on the stack, and unary operators use the top operand on the stack. + + + + + This element is used to reference the last received/assigned value of any Parameter in this math operation. + + + + + + + + + Describe a polynomial equation for calibration. This is a calibration type where a curve in a raw vs calibrated plane is described using a set of polynomial coefficients. Raw values are converted to calibrated values by finding a position on the curve corresponding to the raw value. The first coefficient belongs with the X^0 term, the next coefficient belongs to the X^1 term and so on. See CalibratorType. + + + + + + + A single term in the polynomial function. + Generally only up to second order powers are reflexive. Implementations may limit the maximum number of terms supported. + + + + + + + + + Describe a spline function for calibration using a set of at least 2 points. Raw values are converted to calibrated values by finding a position on the line corresponding to the raw value. The line may be interpolated and/or extrapolated as needed. The interpolation order may be specified for all the points and overridden on individual points. The algorithm triggers on the input parameter. See CalibratorType. + + + + + + + Describes a single point of the spline or piecewise function. + + + + + + The interpolation order to apply to the overall spline function. Order 0 is no slope between the points (flat). Order 1 is linear interpolation. Order 2 would be quadratic and in this special case, 3 points would be required, etc. + + + + + Extrapolation allows the closest outside point and the associated interpolation to extend outside of the range of the points in the spline function. + + + + + + + + + + This schema provides a language for defining binary stream data. + + + + After searching for the frame sync marker for some number of bits, it may be desirable to invert the incoming data, and then look for frame sync. In some cases this will require an external algorithm + + + + + + + + + A stream type where some level of custom processing (e.g. convolutional, encryption, compression) is performed. Has a reference to external algorithms for encoding and decoding algorithms. + Must check to ensure that the attributes encodedStreamRef and decodedStreamRef point to valid Streams + + + + + + + + Algorithm outputs may be used to set decoding quality parameters. + + + + + + + + + + + + + + + + + The pattern of bits used to look for frame synchronization. + + + + + + + The top level type definition for all data streams that are frame based. + + + + + + + + This Container (usually abstract) is the container that is in the fixed frame stream. Normally, this is a general container type from which many specific containers are inherited. + + + + + + + This is a reference to a connecting stream - say a custom stream. + + + + + + + + + For streams that contain a series of frames with a fixed frame length where the frames are found by looking for a marker in the data. This marker is sometimes called the frame sync pattern and sometimes the Asynchronous Sync Marker (ASM). This marker need not be contiguous although it usually is. + + + + + + + + + Allowed slip (in bits) in either direction for the sync pattern + + + + + + + + + Describe a sync pattern and an optional reference to an algorithm used to invert the stream if the frame sync pattern is not found. See FixedFrameStreamType. + + + + + + + The pattern of bits used to look for frame synchronization. See SyncPatternType. + + + + + + + + + A PCM Stream Type is the high level definition for all Pulse Code Modulated (PCM) (i.e., binary) streams. + + + + + + + + + + + + + + + + + + + + + + Holds a reference to a stream + + + + name of reference stream + + + + + + Contains an unordered set of Streams. + + + + + + + + + + A Sync Strategy specifies the strategy on how to find frames within a stream of PCM data. The sync strategy is based upon a state machine that begins in the 'Search' state until the first sync marker is found. Then it goes into the 'Verify' state until a specified number of successive good sync markers are found. Then, the state machine goes into the 'Lock' state, in the 'Lock' state frames are considered good. Should a sync marker be missed in the 'Lock' state, the state machine will transition into the 'Check' state, if the next sync marker is where it's expected within a specified number of frames, then the state machine will transition back to the 'Lock' state, it not it will transition back to 'Search'. + + + + + + + + + Maximum number of bit errors in the sync pattern (marker). + + + + + + The pattern of bits used to look for frame synchronization. + + + + CCSDS ASM for non-turbocoded frames = 1acffc1d + + + + + + + truncate the mask from the left + + + + + truncate the pattern from the left + + + + + + For streams that contain a series of frames with a variable frame length where the frames are found by looking for a series of one's or zero's (usually one's). The series is called the flag. in the PCM stream that are usually made to be illegal in the PCM stream by zero or one bit insertion. + + + + + + + + + + + + + + + + + + + + + + + + A base schema type for describing an absolute time data type. Contains an absolute (to a known epoch) time. Use the [ISO 8601] extended format CCYY-MM-DDThh:mm:ss where "CC" represents the century, "YY" the year, "MM" the month and "DD" the day, preceded by an optional leading "-" sign to indicate a negative number. If the sign is omitted, "+" is assumed. The letter "T" is the date/time separator and "hh", "mm", "ss" represent hour, minute and second respectively. Additional digits can be used to increase the precision of fractional seconds if desired i.e. the format ss.ss... with any number of digits after the decimal point is supported. See AbsoluteTimeParameterType and AbsoluteTimeArgumentType. See AbsouteTimeParameterType, AbsoluteTimeArgumentType and BaseTimeDataType. + + + + + + Default/Initial value is always given in calibrated form. + + + + + + + + A base schema type for describing an absolute time data type. Contains an absolute (to a known epoch) time. Use the [ISO 8601] extended format CCYY-MM-DDThh:mm:ss where "CC" represents the century, "YY" the year, "MM" the month and "DD" the day, preceded by an optional leading "-" sign to indicate a negative number. If the sign is omitted, "+" is assumed. The letter "T" is the date/time separator and "hh", "mm", "ss" represent hour, minute and second respectively. Additional digits can be used to increase the precision of fractional seconds if desired i.e. the format ss.ss... with any number of digits after the decimal point is supported. See AbsoluteTimeParameterType and AbsoluteTimeArgumentType. See AbsouteTimeParameterType, AbsoluteTimeArgumentType and BaseTimeDataType. + + + + + + Default/Initial value is always given in calibrated form. + + + + + + + + A base schema type for describing a complex data type analogous to a C-struct. Each field of the data type is called a Member. Each Member is part of the MemberList which forms the list of items to be placed under this data type's name. The MemberList defines a data block and block's size is defined by the DataEncodings of each Member's type reference. The data members are ordered and contiguous in the MemberList element (packed). Each member may be addressed by the dot syntax similar to C such as P.voltage if P is the referring parameter and voltage is of a member of P's aggregate type. See MemberType, MemberListType, DataEncodingType, NameReferenceType, AggregateParameterType and AggregateArgumentType. + + + + + + + Ordered list of the members of the aggregate/structure. Members are contiguous. + + + + + + Initial values for the individual members of the aggregate/structure may be provided here at the type definition using JSON style notation (e.g. '{ "member1": 2, "member2": "foo" }'). When Member elements provide initialValue attributes, they take precedence over these since these are at the type definition level and the Member element acts like a Parameter element. These may also recurse into members that are also aggregates. + + + + + + + + A base schema type for describing an array data type. The number of and size of each dimension is defined in its two child types. See NameReferenceType, ArrayArgumentType and ArrayParameterType. + + + + + + Reference to the data type that represents the type of the elements for this array. + + + + + Initial values for the individual elements of the array may be provided here at the type definition using JSON style array notation (e.g. [1, 2, 3]). It may be multi-dimension, in which case the sequence matches the sequence of the Dimension elements in the DimensionList. When provided here, the initialValue attributes in the type definition specified in attribute arrayTypeRef are ignored. + + + + + + + + An abstract schema type used by within the schema to derive the other simple/primitive engineering form data types: BooleanDataType, BinaryDataType, StringDataType, EnumeratedDataType, FloatDataType and IntegerDataType. The encoding elements are optional because they describe the raw wire encoded form of the data type. Encoding is only necessary when the type is telemetered in some form. Local variables and derived typically do not require encoding. + + + + + + + When appropriate, describe the units of measure that are represented by this parameter value. + + + + + + Binary encoding is typically a "pass through" raw encoding form where one of the more common encodings is not required for the parameter. A custom transformation capability is available if needed. + + + + + Float encoding is a common encoding where the raw binary is in a form that gets interpreted as a decimal numeric value. + + + + + Integer encoding is a common encoding where the raw binary is in a form that gets interpreted as an integral value, either signed or unsigned. + + + + + String encoding is a common encoding where the raw binary is in a form that gets interpreted as a character sequence. + + + + + + + Must be derived from a like type (e.g,, String from String). No circular derivations. + Used to derive one Data Type from another - will inherit all the attributes from the baseType any of which may be redefined in this type definition. + + + + + + + + Identical to BaseDataType but supports argument instance references. + + + + + + + When appropriate, describe the units of measure that are represented by this argument value. + + + + + + Binary encoding is typically a "pass through" raw encoding form where one of the more common encodings is not required for the argument. A custom transformation capability is available if needed. + + + + + Float encoding is a common encoding where the raw binary is in a form that gets interpreted as a decimal numeric value. + + + + + Integer encoding is a common encoding where the raw binary is in a form that gets interpreted as an integral value, either signed or unsigned. + + + + + String encoding is a common encoding where the raw binary is in a form that gets interpreted as a character sequence. + + + + + + + Must be derived from a like type (e.g,, String from String). No circular derivations. + Used to derive one Data Type from another - will inherit all the attributes from the baseType any of which may be redefined in this type definition. + + + + + + + + Identical to BaseTimeDataType but supports argument instance references. + + + + + + + Describes how the raw base counts of the time type are encoded/decoded. + + + + + Describes origin (epoch or reference) of this time type. + + + + + + Extend another absolute or relative time type. + + + + + + + + An abstract schema type used within the schema to derive other time based data types: RelativeTimeDataType and AbsoluteTimeDataType. An absolute time data type is a telemetered source/destination data type. A data encoding must be set. An optional epoch may be set. Time types are an exception to other primitives because, if the time data type is not telemetered, it still must have a data encoding set. See DataEncodingType, AbsoluteTimeDataType and RelativeTimeDataType. + + + + + + + Describes how the raw base counts of the time type are encoded/decoded. + + + + + Describes origin (epoch or reference) of this time type. + + + + + + Extend another absolute or relative time type. + + + + + + + + Identical to BinaryDataType but supports argument instance references. + + + + + + Default/Initial value is always given in calibrated form. Extra bits are truncated from the MSB (leftmost). + + + + + + + + A base schema type for describing a binary data engineering/calibrated type (often called "blob type"). The binary data may be of fixed or variable length, and has an optional encoding and decoding algorithm that may be defined to transform the data between space and ground. See BaseDataType, BinaryParameterType and BinaryArgumentType. + + + + + + Default/Initial value is always given in calibrated form. Extra bits are truncated from the MSB (leftmost). + + + + + + + + Identical to BooleanDataType but supports argument instance references. + + + + + + Initial value must match either the oneStringValue or the zeroStringValue + Default/Initial value is always given in calibrated form. + + + + + Enumeration string representing the 1 value, with the default being 'True'. + + + + + Enumeration string representing the 0 value, with the default being 'False'. + + + + + + + + A base schema type for describing a boolean data type which has two values only: "True" (1) or "False" (0). The values one and zero may be mapped to a specific string using the attributes oneStringValue and zeroStringValue. This type is a simplified form of the EnumeratedDataType. See BaseDataType, BooleanParameterType and BooleanArgumentType. + + + + + + Initial value must match either the oneStringValue or the zeroStringValue + Default/Initial value is always given in calibrated form. + + + + + Enumeration string representing the 1 value, with the default being 'True'. + + + + + Enumeration string representing the 0 value, with the default being 'False'. + + + + + + + + For partial entries of an array, the starting and ending index for each dimension, OR the Size must be specified. Indexes are zero based. + + + + + zero based index + + + + + + + + Identical to DimensionType but supports argument instance references. + + + + + zero based index + + + + + + + + Where the Dimension list is in this form: Array[1stDim][2ndDim][lastDim]. The last dimension is assumed to be the least significant - that is this dimension will cycle through its combination before the next to last dimension changes. The order MUST ascend or the array will need to be broken out entry by entry. + + + + + For an ArrayParameterType of size N, their should be N Dimensions + An array made up by multiple Entries should not have indexes that overlap, but should be continuous. + + + + + + + Identical to DimensionListType but supports argument instance references. + + + + + For an ArrayParameterType of size N, their should be N Dimensions + An array made up by multiple Entries should not have indexes that overlap, but should be continuous. + + + + + + + Identical to EnumeratedDataType but supports argument instance references. + + + + + + + Unordered list of label/value pairs where values cannot be duplicated. + Check that values do not overlap in the mappings. + + + + + + Default/Initial value is always given in calibrated form. Use the label, it must be in the enumeration list to be valid. + Label must be in the enumeration list to be valid. + + + + + + + + Describes an enumerated parameter type. The enumeration list consists of label/value pairs. See EnumerationListType, EnumeratedParameterType and EnumeratedArgumentType. + + + + + + + Unordered list of label/value pairs where values cannot be duplicated. + Check that values do not overlap in the mappings. + + + + + + Default/Initial value is always given in calibrated form. Use the label, it must be in the enumeration list to be valid. + Label must be in the enumeration list to be valid. + + + + + + + + + + + + + Identical to FloatDataType but supports argument instance references. + + + + + + + This element provides the implementation with assistance rendering the value as a string for users. + + + + + + Default/Initial value is always given in calibrated form. + + + + + Optional hint to the implementation about the size of the engineering/calibrated data type to use internally. Generally this can be determined by examination of the space required to capture the full range of the encoding, but it is not always clear when calibrators are in use. A tolerant implementation will endeavor to always make sufficient size engineering data types to capture the entire range of possible values. + + + + + + + + A base schema type for describing a floating point engineering/calibrated data type. Several encodings are supported. Calibrated integer to float relationships should be described with this data type. Use the data encoding to define calibrators. Joins integer as one of the numerics. See BaseDataType, FloatParameterType and FloatArgumentType. + + + + + + + This element provides the implementation with assistance rendering the value as a string for users. + + + + + The ValidRange defines the span of valid values for this data type. This is a subset within the data type itself. For example, an IEEE754 encoded float has almost a universal of possible values. However, the known possible valid range may only span -180.0 to +180.0, due to the physics of the measurement. So, the valid range provides additional boundary/constraint information beyond that of the data encoding in the range of possible values that are meaningful to this parameter. The valid range is not to be construed as an alarm definition and is not affected by any alarm definitions, instead violations of the valid range make a parameter value "unreasonable", as opposed to reasonable to be reported. The exact effect of this state which should be of concern is implementation dependent. + + + + + + + By default and general recommendation, the valid range is specified in engineering/calibrated values, although this can be adjusted. + + + + + + + + + + Initial value is always given in calibrated form + + + + + Optional hint to the implementation about the size of the engineering/calibrated data type to use internally. Generally this can be determined by examination of the space required to capture the full range of the encoding, but it is not always clear when calibrators are in use. A tolerant implementation will endeavor to always make sufficient size engineering data types to capture the entire range of possible values. + + + + + + + + Identical to IntegerDataType but supports argument instance references. + + + + + + + This element provides the implementation with assistance rendering the value as a string for users. + + + + + + Default/Initial value is always given in calibrated form. Specify the value as a base 10 integer. + + + + + Optional hint to the implementation about the size of the engineering/calibrated data type to use internally. Generally this can be determined by examination of the space required to capture the full range of the encoding, but it is not always clear when calibrators are in use. A tolerant implementation will endeavor to always make sufficient size engineering data types to capture the entire range of possible values. + + + + + Flag indicating if the engineering/calibrated data type used should support signed representation. This should not be confused with the encoding type for the raw value. The default is true. + + + + + + + + Describe an integer engineering/calibrated data type. Several encodings are supported. See BaseDataType, IntegerParameterType and IntegerArgumentType. + + + + + + + This element provides the implementation with assistance rendering the value as a string for users. + + + + + The ValidRange defines the span of valid values for this data type. This is a subset within the data type itself. For example, a 16 bit unsigned integer has possible values from 0 to 65535. However, the known possible valid range may only span 0 to 999, due to the physics of the measurement. So, the valid range provides additional boundary/constraint information beyond that of the data encoding in the range of possible values that are meaningful to this parameter. The valid range is not to be construed as an alarm definition and is not affected by any alarm definitions, instead violations of the valid range make a parameter value "unreasonable", as opposed to reasonable to be reported. The exact effect of this state which should be of concern is implementation dependent. + + + + + + + By default and general recommendation, the valid range is specified in engineering/calibrated values, although this can be adjusted. + + + + + + + + + + Default/Initial value is always given in calibrated form. Specify the value as a base 10 integer. + + + + + Optional hint to the implementation about the size of the engineering/calibrated data type to use internally. Generally this can be determined by examination of the space required to capture the full range of the encoding, but it is not always clear when calibrators are in use. A tolerant implementation will endeavor to always make sufficient size engineering data types to capture the entire range of possible values. + + + + + Flag indicating if the engineering/calibrated data type used should support signed representation. This should not be confused with the encoding type for the raw value. The default is true. + + + + + + + + Describe a member field in an AggregateDataType. Each member has a name and a type reference to a data type for the aggregate member name. If this aggregate is a Parameter aggregate, then the typeRef is a parameter type reference. If this aggregate is an Argument aggregate, then the typeRef is an argument type reference. References to an array data type is currently not supported. Circular references are not allowed. See MemberListType. AggregateParameterType and AggregateArgumentType. + ensure no circular references + + + + + + + Used to set the initial calibrated values of Parameters and Arguments. Will overwrite an initial value defined for the ParameterType or ArgumentType definition elements. For integer types it is base 10 form. Floating point types may be specified in normal (100.0) or scientific (1.0e2) form. Time types are specified using the ISO 8601 formats described for XTCE time data types. Initial values for string types, may include C language style (\n, \t, \", \\, etc.) escape sequences. + The value type must match the Parameter type + + + + + + + + Order is important only if the name of the AggregateParameter or Aggregate Argument is directly referenced in SequenceContainers. In this case the members are assued to be added sequentially (in the order listed here) into the Container. + + + + + + + + Used to contain a relative time value. Used to describe a relative time. Normally used for time offsets. A Relative time is expressed as PnYn MnDTnH nMnS, where nY represents the number of years, nM the number of months, nD the number of days, 'T' is the date/time separator, nH the number of hours, nM the number of minutes and nS the number of seconds. The number of seconds can include decimal digits to arbitrary precision. For example, to indicate a duration of 1 year, 2 months, 3 days, 10 hours, and 30 minutes, one would write: P1Y2M3DT10H30M. One could also indicate a duration of minus 120 days as: -P120D. An extension of Schema duration type. + + + + + + + + + + Used to contain a relative time value. Used to describe a relative time. Normally used for time offsets. A Relative time is expressed as PnYn MnDTnH nMnS, where nY represents the number of years, nM the number of months, nD the number of days, 'T' is the date/time separator, nH the number of hours, nM the number of minutes and nS the number of seconds. The number of seconds can include decimal digits to arbitrary precision. For example, to indicate a duration of 1 year, 2 months, 3 days, 10 hours, and 30 minutes, one would write: P1Y2M3DT10H30M. One could also indicate a duration of minus 120 days as: -P120D. An extension of Schema duration type. + + + + + + + + + + Identical to StringDataType but supports argument instance references. + + + + + + + + + Initial values for string types, may include C language style (\n, \t, \", \\, etc.) escape sequences. + + + + + restriction pattern is a regular expression + + + + + Optional hint to the implementation about the size of the engineering/calibrated data type to use internally. Generally this can be determined by examination of the encoding information for the string, but it is not always clear, so this attribute allows the extra hint when needed. A tolerant implementation will endeavor to always make sufficient size engineering data types to capture the entire range of possible characters. + + + + + + + + Defines a base schema type for StringParameterType and StringArgumentType, adding initial value, restriction pattern, character width, and size range in characters. The initial value if set is the initial value of all instances of the child types. The restriction pattern is a regular expression enforcing the string value to this pattern. The character width is on the local data type side. And the size range in character restricts the character set. For telemetered values, if the restriction pattern of size range in character is not met, the item is invalid. See BaseDataType, StringParameterType, StringArgumentType, CharacterWidthType and IntegerRangeType. + + + + + + + The size in bits may be greater than or equal to minInclusive. It may be less than or equal to maxInclusive. They both may be set indicating a closed range. + + + + + + Initial values for string types, may include C language style (\n, \t, \", \\, etc.) escape sequences. + + + + + restriction pattern is a regular expression + + + + + Optional hint to the implementation about the size of the engineering/calibrated data type to use internally. Generally this can be determined by examination of the encoding information for the string, but it is not always clear, so this attribute allows the extra hint when needed. A tolerant implementation will endeavor to always make sufficient size engineering data types to capture the entire range of possible characters. + + + + + + + + Describe an ordered collection of units that form a unit-expression. Units may be described for both calibrated/engineering values and also potentially uncalibrated/raw values. See UnitType. + + + + + Describe the exponent, factor, form, and description for a unit. The attributes are optional because different programs use this element in different ways, depending on vendor support. + + + + + + + Numerical ranges that define the universe of valid values for this argument. A single range is the most common, although it is possible to define multiple ranges when the valid values are not contiguous. + + + + + A valid range constrains the whole set of possible values that could be encoded by the data type to a more "valid" or "reasonable" set of values. This should be treated as a boundary check in an implementation to validate the input or output value. Typically, only 1 range is used. In cases where multiple ranges are used, then the value is valid when it is valid in any of the provided ranges. Implementations may also use these ranges to enhance user interface displays and other visualization widgets as appropriate for the type. + + + + + + By default and general recommendation, the valid range is specified in engineering/calibrated values, although this can be adjusted. + + + + + + Numerical ranges that define the universe of valid values for this argument. A single range is the most common, although it is possible to define multiple ranges when the valid values are not contiguous. + + + + + A valid range constrains the whole set of possible values that could be encoded by the data type to a more "valid" or "reasonable" set of values. This should be treated as a boundary check in an implementation to validate the input or output value. Typically, only 1 range is used. In cases where multiple ranges are used, then the value is valid when it is valid in any of the provided ranges. Implementations may also use these ranges to enhance user interface displays and other visualization widgets as appropriate for the type. + + + + + + By default and general recommendation, the valid range is specified in engineering/calibrated values, although this can be adjusted. + + + + + + + + Defines two bit-order types: most significant bit first and least significant bit first. See DataEncodingType. + + + + + + + + + Identical to BinaryDataEncodingType but supports argument instance references. + + + + + + + Number of bits this value occupies on the stream being encoded/decoded. + + + + + Used to convert binary data to an application data type + + + + + Used to convert binary data from an application data type to binary data + + + + + + + + + Describe binary data that is unmolested in the decoding/encoding or cannot be represented in any of the other data encoding formats. Optionally use the FromBinaryTransformAlgorithm and ToBinaryTransformAlgorithm element to describe the transformation process. See InputAlgorithmType for the transformation structure. + + + + + + + Number of bits this value occupies on the stream being encoded/decoded. + + + + + Used to convert binary data to an application data type + + + + + Used to convert binary data from an application data type to binary data + + + + + + + + + + + + + + + + + + + Describe container binary data that is unmolested in the decoding/encoding or cannot be represented in any of the other data encoding formats. Optionally use the FromBinaryTransformAlgorithm and ToBinaryTransformAlgorithm element to describe the transformation process. See InputAlgorithmType for the transformation structure. + + + + + Describes the optional inclusion of an error detection and/or correction algorithm used with this container. + + + + + Number of bits this container occupies on the stream being encoded/decoded. This is only needed to "force" the bit length of the container to be a fixed value. In most cases, the entry list would define the size of the container. + + + + + Used to convert binary data to an application data type. + + + + + Used to convert binary data from an application data type to binary data. + + + + + + + Cyclic Redundancy Check (CRC) definition. The polynomial coefficients for the CRC are defined as a truncated hex value. The coefficient for the nth bit of an n-bit CRC will always be 1 and is not represented in the truncated hex value. For example, the truncated hex value of CRC-32 (width=32 bits) used in the Ethernet specification is 0x04C11DB7, where each non-zero bit of the truncated hex represents a coefficient of 1 in the polynomial and the bit position represents the exponent. There may also be an initial remainder "InitRemainder" and a final XOR "FinalXOR" to fully specify the CRC. reflectData and reflectRemainder may also be specified to reverse the bit order in the incoming data and/or the result. + + + + + The polynomial that represents the calculation in hexadecimal form (described at CRCType annotation). + + + + + A hexadecimal digit string specifying the initial value to set in the shift register before computing the CRC. + + + + + A hexadecimal digit string specifying the value to be added to the final shift register value before output. + + + + + + The width is the number of bits in the shift register, which is not necessarily the number of bits of the parameter holding the value. + + + + + Endianness of the input data, true=little, false=big. + + + + + Endianness of the output data, true=little, false=big. + + + + + The direction to perform the CRC calculation. + + + + + An offset of non-zero may be specified to skip some bits against the reference position in the reference attribute. + + + + + The bits involved in the calculation may start at the beginning or the end of the container. + + + + + Reference to the parameter that contains the value of the CRC based on this container. This attribute is optional because not all implementations verify (telemetry) or create (telecommand) error control fields using the XTCE definition. + + + + + + Describes how a particular piece of data is sent or received from some non-native, off-platform device. (e.g. a spacecraft) + + + + + DEPRECATED: Use the ErrorDetectCorrect element in the container elements instead. + + + + + + Describes the bit ordering of the encoded value. + + + + + Describes the endianness of the encoded value. + + + + + + Describe the data encoding for a time data type. It includes the units and other attributes scale and offset. Use scale and offset to describe a y=mx+b relationship (where m is the slope/scale and b is the intercept/offset) to make adjustments to the encoded time value so that it matches the time units. For binary encoded time use transform algorithms to convert time data formats that are too difficult to describe in XTCE. See AbsoluteTimeDataType and RelativeTimeDataType. + + + + + Binary encoding is typically a "pass through" raw encoding form where one of the more common encodings is not required for the parameter. A custom transformation capability is available if needed. + + + + + Float encoding is a common encoding where the raw binary is in a form that gets interpreted as a decimal numeric value. + + + + + Integer encoding is a common encoding where the raw binary is in a form that gets interpreted as an integral value, either signed or unsigned. + + + + + String encoding is a common encoding where the raw binary is in a form that gets interpreted as a character sequence. + + + + + + Time units, with the default being in seconds. + + + + + Linear slope used as a shorter form of specifying a calibrator to convert between the raw value and the engineering units. + + + + + Linear intercept used as a shorter form of specifying a calibrator to convert between the raw value and the engineering units. + + + + + + Epochs may be specified as an xs date where time is implied to be 00:00:00, xs dateTime, or string enumeration of common epochs. The enumerations are TAI (used by CCSDS and others), J2000, UNIX (also known as POSIX), and GPS. + + + + + + For common encodings of floating point data + + + + + + + Calibrator to be applied to the raw uncalibrated value to arrive at the engineering/calibrated value when no Context Calibrators are provided or evaluate to true, based on their MatchCriteria. + + + + + Calibrator to be applied to the raw uncalibrated value to arrive at the engineering/calibrated value when a MatchCriteria evaluates to true. The first in the list to match takes precedence. + + + + + + Specifies real/decimal numeric value to raw encoding method, with the default being "IEEE754_1985". + + + + + Number of bits to use for the float raw encoding method, with 32 being the default. Not every number of bits is valid for each encoding method. + Verify the number of bits for encoding is valid for the encoding method. + + + + + A changeThreshold may optionally be specified to inform systems of the minimum change in value that is significant. This is used by some systems to limit the telemetry processing and/or recording requirements. If the value is unspecified or zero, any change is significant. + + + + + + + + + + At the time of this writing, 16 bit encoding size is only valid in cases of IEEE754 and vendor specific MILSTD_1750A variation that is not a part of the standard. This is not meant to preclude use in the event that future floating point formats may also define this value. + + + + + At the time of this writing, 32 bit encoding size is only valid in cases of IEEE754_1985, IEEE754, MILSTD_1750A, DEC, IBM, and TI. This is not meant to preclude use in the event that future floating point formats may also define this value. The IEEE754 enumeration and the IEEE754_1985 enumeration are allowed in this case and the interpretation is the same. + + + + + At the time of this writing, 40 bit encoding size is only valid in the case of TI. This is not meant to preclude use in the event that future floating point formats may also define this value. + + + + + At the time of this writing, 48 bit encoding size is only valid in the case of MILSTD_1750A. This is not meant to preclude use in the event that future floating point formats may also define this value. + + + + + At the time of this writing, 64 bit encoding size is only valid in cases of IEEE754_1985, IEEE754, DEC, and IBM. This is not meant to preclude use in the event that future floating point formats may also define this value. The IEEE754 enumeration and the IEEE754_1985 enumeration are allowed in this case and the interpretation is the same. + + + + + At the time of this writing, 80 bit encoding size is only valid in the case of IEEE754_1985. This is not meant to preclude use in the event that future floating point formats may also define this value. + + + + + At the time of this writing, 128 bit encoding size is only valid in the case of IEEE754_1985 and IEEE754. This is not meant to preclude use in the event that future floating point formats may also define this value. The IEEE754 enumeration and the IEEE754_1985 enumeration are allowed in this case and the interpretation is the same. + + + + + + + + + + + + + + + + + + + + + + + + For all major encodings of integer data + + + + + + + Calibrator to be applied to the raw uncalibrated value to arrive at the engineering/calibrated value when no Context Calibrators are provided or evaluate to true, based on their MatchCriteria. + + + + + Calibrator to be applied to the raw uncalibrated value to arrive at the engineering/calibrated value when a MatchCriteria evaluates to true. The first in the list to match takes precedence. + + + + + + Specifies integer numeric value to raw encoding method, with the default being "unsigned". + + + + + Number of bits to use for the raw encoding, with 8 being the default. + + + + + A changeThreshold may optionally be specified to inform systems of the minimum change in value that is significant. This is used by some systems to limit the telemetry processing and/or recording requirements, such as for an analog-to-digital converter that dithers in the least significant bit. If the value is unspecified or zero, any change is significant. + + + + + + + + + + + + + + + + + + Like PASCAL strings, the size of the string is given as an integer at the start of the string. SizeTag must be an unsigned Integer + + + + + + + + + + + + Describe the parity value. See ErrorDetectCorrectType. + + + + The parity form. + + + + + An offset of non-zero may be specified to skip some bits against the reference position in the reference attribute. + + + + + The bits involved in the calculation may start at the beginning or the end of the container. + + + + + Reference to the parameter that contains the value of the parity based on this container. This attribute is optional because not all implementations verify (telemetry) or create (telecommand) error control fields using the XTCE definition. + + + + + + + + This is the simplest case of a string data type where the encoding size of the string does not change. + + + + + + Size in bits of this string data type for both the memory allocation in the implementing software and also the size in bits for this parameter when it appears in a container. + + + + + + + + The termination character that represents the end of the string contents. For C and most strings, this is null (00), which is the default. + + + + + In some string implementations, the size of the string contents (not the memory allocation size) is determined by a leading numeric value. This is sometimes referred to as Pascal strings. If a LeadingSize is specified, then the TerminationChar element does not have a functional meaning. + + + + + + + Identical to VariableStringType but supports argument instance references. + + + + + Select the method by which the container entry list allocation in bits will be observed while encoding or decoding the container fields. + + + + Determine the container size in bits by interrogating an instance of a parameter or argument. + + + + + Determine the container size in bits by interrogating an instance of a parameter or argument and selecting a specified value based on tests of the value of that parameter or argument. + + + + + + Select the method by which the string content is encoded or decoded within the container entry list allocation of bits. + + + + In some string implementations, the size of the string contents (not the memory allocation size) is determined by a leading numeric value. This is sometimes referred to as Pascal strings. If a LeadingSize is specified, then the TerminationChar element does not have a functional meaning. + + + + + The termination character that represents the end of the string contents. For C and most strings, this is null (00), which is the default. + + + + + + + The upper bound of the size of this string data type so that the implementation can reserve/allocate enough memory to capture all reported instances of the string. + + + + + + Describe a variable string whose length may change between samples. + + + + + Select the method by which the container entry list allocation in bits will be observed while encoding or decoding the container fields. + + + + Determine the container size in bits by interrogating an instance of a parameter. + + + + + Determine the container size in bits by interrogating an instance of a parameter and selecting a specified value based on tests of the value of that parameter. + + + + + + Select the method by which the string content is encoded or decoded within the container entry list allocation of bits. + + + + In some string implementations, the size of the string contents (not the memory allocation size) is determined by a leading numeric value. This is sometimes referred to as Pascal strings. If a LeadingSize is specified, then the TerminationChar element does not have a functional meaning. + + + + + The termination character that represents the end of the string contents. For C and most strings, this is null (00), which is the default. + + + + + + + The upper bound of the size of this string data type so that the implementation can reserve/allocate enough memory to capture all reported instances of the string. + + + + + + Identical to StringDataEncodingType but supports argument instance references. + + + + + + + Static length strings do not change in overall length between samples. They may terminate before the end of their buffer using a terminating character, or by various lookups, or calculations. But they have a maximum fixed size, and the data itself is always within that maximum size. + + + + + Variable length strings are those where the space occupied in a container can vary. If the string has variable content but occupies the same amount of space when encoded should use the SizeInBits element. Specification of a variable length string needs to consider that the implementation needs to allocate space to store the string. Specify the maximum possible length of the string data type for memory purposes and also specify the bit size of the string to use in containers with the dynamic elements. + + + + + + The character set encoding of this string data type. + + + + + + + + Describe common encodings of string data: UTF-8 and UTF-16. See StringDataType. + + + + + + + Static length strings do not change in overall length between samples. They may terminate before the end of their buffer using a terminating character, or by various lookups, or calculations. But they have a maximum fixed size, and the data itself is always within that maximum size. + + + + + Variable length strings are those where the space occupied in a container can vary. If the string has variable content but occupies the same amount of space when encoded should use the SizeInBits element. Specification of a variable length string needs to consider that the implementation needs to allocate space to store the string. Specify the maximum possible length of the string data type for memory purposes and also specify the bit size of the string to use in containers with the dynamic elements. + + + + + + The character set encoding of this string data type. + + + + + + + + Defines string encodings. US-ASCII (7-bit), ISO-8859-1 (8-bit Extended ASCII), Windows-1252 (8-bit Extended ASCII), UTF-8 (Unicode), UTF-16 (Unicode with Byte Order Mark), UTF-16LE (Unicode Little Endian), UTF-16BE (Unicode Big Endian). See StringDataEncodingType. + + + + + + + + + With UTF-16, encoded bits must be prepended with a Byte Order Mark. This mark indicates whether the data is encoded in big or little endian. + + + + + With UTF-16LE, encoded bits will always be represented as little endian. Bits are not prepended with a Byte Order Mark. + + + + + With UTF-16BE, encoded bits will always be represented as big endian. Bits are not prepended with a Byte Order Mark. + + + + + With UTF-32, encoded bits must be prepended with a Byte Order Mark. This mark indicates whether the data is encoded in big or little endian. + + + + + With UTF-32LE, encoded bits will always be represented as little endian. Bits are not prepended with a Byte Order Mark. + + + + + With UTF-32BE, encoded bits will always be represented as big endian. Bits are not prepended with a Byte Order Mark. + + + + + + + + + This element describes how a numeric value should be represented in engineering/calibrated form. The defaults reflect the most common form. + + + + + + + Union values of common epoch definitions for document convenience. + + + + + + + + + + + + + + + An unordered collection of algorithms + + + + + + + + + Contains an unordered collection of Alias elements to describe alternate names or IDs for this named item. + Applications should enforce uniqueness of individual nameSpace attribute values. Aliases are usually unique within the same nameSpace attribute value, depending on the physical meaning of that nameSpace. There are some cases where Alias values can be duplicated in a single nameSpace value. + + + + + An alternate name, ID number, and sometimes flight software variable name in the code for this item. + + + + + + + Used to contain an alias (alternate) name or ID for the object. For example, a parameter may have a mnemonic, an on-board id, and special IDs used by various ground software applications; all of these are alias's. Some ground system processing equipment has some severe naming restrictions on parameters (e.g., names must less then 12 characters, single case or integral id's only); their alias's provide a means of capturing each name in a "nameSpace". Note: the name is not reference-able (it cannot be used in a name reference substituting for the name of the item of interest). See NameDescriptionType. + + + + Aliases should be grouped together in a "namespace" so that they can be switched in and out of data extractions. The namespace generally identifies the purpose of the alternate name, whether for software variable names, additional operator names, or whatever the purpose. + + + + + The alternate name or ID to use. The alias does not have the restrictions that apply to name attributes. This is useful for capturing legacy identifiers for systems with unusual naming conventions. It is also useful for capturing variable names in software, amongst other things. + + + + + + Use for any other data associated with a named item. May be used to include administrative data (e.g., version, CM or tags) or potentially any MIME type. Data may be included or given as an href. + + + + + + Identifier for this Ancillary Data characteristic, feature, or data. + + + + + Optional text encoding method for the element text content of this element. The default is "text/plain". + + + + + Optional Uniform Resource Identifier for this characteristic, feature, or data. + + + + + + + + Describe an unordered collection of ancillary data. AncillaryData elements capture platform/program/implementation specific data about the parent element object that is non-standard and would not fit into the schema. See AncillaryDataType. + + + + + Optional list of AncillaryData elements associated with this item. + + + + + + + Describe two or more conditions that are logically anded together. Conditions may be a mix of Condition and ORedCondition. See ORedConditionType and BooleanExpressionType. + + + + + + + Condition elements describe a test similar to the Comparison element except that the parameters used have additional flexibility for the compare. + + + + + This element describes tests similar to the ComparisonList element except that the parameters used are more flexible and the and/or for multiple checks can be specified. + + + + + + + + + Describe an unordered collection of authors. See AuthorType. + + + + + Contains information about an author, maintainer, or data source regarding this document. + + + + + + + Type definition that describes the format of the contents of the Author element. + + + + + + A base type for comparison related elements that improves the mapping produced by data binding tools. + + + + + A base type for boolean expression related elements that improves the mapping produced by data binding tools. + + + + + A simple restriction on string for hexadecimal numbers. Must be in 0b or 0B form. + + + + + + + + Holds an arbitrarily complex boolean expression + + + + + Condition elements describe a test similar to the Comparison element except that the parameters used have additional flexibility. + + + + + This element describes tests similar to the ComparisonList element except that the parameters used are more flexible. + + + + + This element describes tests similar to the ComparisonList element except that the parameters used are more flexible. + + + + + + + Describe a byte order: big/little or byte list. + + + + + + Common byte orderings: most significant byte first (also known as big endian) and least significant byte first (also known as little endian). + + + + + + + + + Describe a byte order using a byte list. The list is viewed as representing memory, the first item in the list is address 0. For mostSignificantByteFirst/big endian, the high order byte is the first byte in the list and has the highest significance followed by the less significant bytes ending with the least significant byte. For leastSignificantByteFirst/little endian, the first byte starts with the least significant byte which is first in the least and ends at the highest significant byte. For example given the value 0x0A0B0C0D the following example orderings can be formed. For mostSignificantByteFirst/big endian the significances would be listed as 3 (0x0A), 2 (0x0B), 1 (0x0C), 0 (0x0D) with 3 being first in the list, and for leastSignificantByteFirst/little endian as 0 (0x0D), 1 (0x0C), 2 (0x0B), 3 (0x0A) with 0 being first in the list. See DataEncodingType. + + + + + + + + Describe the comparison between the instance (value) of a parameter against either a specified value or another parameter instance. + + + + + + + Left hand side parameter instance. + + + + + Comparison operator. + + + + + + Right hand side parameter instance. Parameter is assumed to be of the same type as the comparison Parameter. + + + + + Right hand side value. Specify as: integer data type using xs:integer, float data type using xs:double, string data type using xs:string, boolean data type using xs:boolean, binary data type using xs:hexBinary, enum data type using label name, relative time data type using xs:duration, absolute time data type using xs:dateTime. Values must not exceed the characteristics for the data type or this is a validation error. Takes precedence over an initial value given in the data type. Values are calibrated unless there is an option to override it. + + + + + + + + + + All comparisons must be true + + + + + List of Comparison elements must all be true for the comparison to evaluate to true. + + + + + + + Operators to use when testing a boolean condition for a validity check + + + + + + + + + + + + + A simple ParameterInstanceRef to value comparison. The string supplied in the value attribute needs to be converted to a type matching the Parameter being compared to. For integer types it is base 10 form. Floating point types may be specified in normal (100.0) or scientific (1.0e2) form. The value is truncated to use the least significant bits that match the bit size of the Parameter being compared to. + + + + + + Operator to use for the comparison with the common equality operator as the default. + + + + + Specify value as a string compliant with the XML schema (xs) type specified for each XTCE type: integer=xs:integer; float=xs:double; string=xs:string; boolean=xs:boolean; binary=xs:hexBinary; enum=xs:string from EnumerationList; relative time= xs:duration; absolute time=xs:dateTime. Supplied value must be within the ValidRange specified for the type. + + + + + + + + Context calibrations are applied when the ContextMatch is true. Context calibrators overide Default calibrators + + + + + + + + + A MatchCriteriaType used for Context selection. It is possible that no match evaluates to true, which results in the default element being used. It is also possible that a match can have an empty context change, in which case the default is replaced with nothing. + + + + + + + + Describe a custom, algorithmic alarm condition. The algorithm is assumed to return a boolean value: true or false. See AlarmType. + + + + + + + Algorithm returns a boolean. + + + + + + + + + Describe a percentage complete that is fixed from 0 to 100, or as value from a parameter. See ExecutionVerifierType. + + + + + 0 to 100 percent + + + + + + + + + + + Uses a parameter instance to obtain the value. The parameter value may be optionally adjusted by a Linear function or use a series of boolean expressions to lookup the value. Anything more complex and a DynamicValue with a CustomAlgorithm may be used. + + + + + + + Defines an abstract schema type used as basis for NameDescriptionType and OptionalNameDescriptionType, includes an attribute for a short description and an element for a longer unbounded description. This type also provides alias set and ancillary data set See AliasSetType and AncillaryDataSetType. + + + + + Optional long form description to be used for explanatory descriptions of this item and may include HTML markup using CDATA. Long Descriptions are of unbounded length. + + + + + Used to contain an alias (alternate) name or ID for this item. See AliasSetType for additional explanation. + + + + + Use for any non-standard data associated with this named item. See AncillaryDataSetType for additional explanation. + + + + + + Optional short description to be used for explanation of this item. It is recommended that the short description be kept under 80 characters in length. + + + + + + Describe an ordered table of integer values and associated conditions, forming a lookup table. The list may have duplicates. The table is evaluated from first to last, the first condition to be true returns the value associated with it. See DiscreteLookupType. + + + + + Describe a lookup condition set using discrete values from parameters. + + + + + + In the event that no lookup condition evaluates to true, then this value will be used. + + + + + + Uses a parameter instance to obtain the value. The parameter value may be optionally adjusted by a Linear function or use a series of boolean expressions to lookup the value. Anything more complex and a DynamicValue with a CustomAlgorithm may be used + + + + + Retrieve the value by referencing the value of a Parameter. + + + + + A slope and intercept may be applied to scale or shift the value selected from the argument or parameter. + + + + + + + Describe CRC, Checksum, Parity, or XOR for error detection and correction algorithm calculation. See CRCType, ChecksumType, ParityType, and XORType. + + + + + Describe checksum or hash function applied to all or part of this container definition. + + + + + Describe a Cyclic Redundancy Check (CRC) algorithm applied to all or part of this container definition. + + + + + Describe an "exclusive or" (XOR) checksum applied to all or part of this container definition. + + + + + Describe a parity applied to all or part of this container definition. + + + + + + + A simple union type combining integer, octal, binary, and hexadecimal types + + + + + + Schema for a Header record. A header contains general information about the system or subsystem. + + + + + The AuthorSet contains optional contact information for this document. + + + + + The NoteSet contains optional technical information related to the content of this document. + + + + + The HistorySet contains optional evolutionary information for data contained in this document. + + + + + + This attribute contains an optional version descriptor for this document. + + + + + This attribute contains an optional date to be associated with this document. + + + + + This attribute contains optional classification status for use by programs for which that is applicable. + + + + + This attribute contains an optional additional instructions attribute to be interpreted by programs that use this attribute. + + + + + This attribute contains a flag describing the state of this document in the evolution of the project using it. + + + + + + A simple restriction on string for hexadecimal numbers. Must be in 0x or 0X form. + + + + + + + + Describe an unordered collection of History elements. Usage is user defined. See HistoryType. + + + + + Contains a history record related to the evolution of this document. + + + + + + + + + + Contains an Integer value; value may be provided directly or via the value in a parameter. + + + + + Use a fixed integer value. + + + + + Determine the value by interrogating an instance of a parameter. + + + + + Determine the value by interrogating an instance of a parameter and selecting a specified value based on tests of the value of that parameter. + + + + + + + Identical to IntegerValueType but supports argument instance references. + + + + + Use a fixed integer value. + + + + + Determine the value by interrogating an instance of an argument or parameter. + + + + + Determine the value by interrogating an instance of an argument or parameter and selecting a specified value based on tests of the value of that argument or parameter. + + + + + + + The Long Description is intended to be used for explanatory descriptions of the object and may include HTML markup. Long Descriptions are of unbounded length + + + + + + Mathematical operators used in the math operation. Behavior of each operator on the stack is described using notation (before -- after), where "before" represents the stack before execution of the operator and "after" represent the stack after execution. + + + + + addition (x1 x2 -- x1+x2) + + + + + subtraction (x1 x2 -- x1-x2) + + + + + multiplication (x1 x2 -- x1*x2) + + + + + division (x1 x2 -- x1/x2) + An undefined condition exists if x2 is 0 + + + + + modulo (x1 x2 -- x3) Divide x1 by x2, giving the modulo x3 + An undefined condition exists if x2 is 0. Implementations should verify modulo versus remainder behavior. + + + + + power function (x1 x2 -- x1**x2) + An undefined condition exists if an imaginary number is the result. Imaginary numbers are not supported + + + + + reverse power function (x1 x2 -- x2**x1) + + + + + natural (base e) logarithm (x -- ln(x)) + An undefined condition exists if x is less than or equal to 0 + + + + + base-10 logarithm (x-- log(x)) + An undefined condition exists if x is less than or equal to 0 + + + + + exponentiation (x -- exp(x)) + + + + + inversion (x -- 1/x) + An undefined condition exists if x is less than 0 + + + + + factorial (x -- x!) + An undefined condition exists if x is less than 0 + + + + + tangent (x -- tan(x)) radians + + + + + cosine (x -- cos(x)) radians + + + + + sine (x -- sin(x)) radians + + + + + arctangent (x -- atan(x)) radians + + + + + arctangent (x1 x2 -- atan2(x2, x1)) radians + An undefined condition exists if x1 and x2 are 0 + + + + + arccosine (x -- acos(x)) radians + + + + + arcsine (x -- asin(x)) radians + + + + + hyperbolic tangent (x -- tanh(x)) + + + + + hyperbolic cosine (x -- cosh(x)) + + + + + hyperbolic sine (x -- sinh(x)) + + + + + hyperbolic arctangent (x -- atanh(x)) + An undefined condition exists if x is outside the range [-1.0,+1.0] + + + + + hyperbolic arccosine (x -- acosh(x)) + An undefined condition exists if n is less than 1 + + + + + hyperbolic arcsine (x -- asinh(x)) + + + + + swap the top two stack items (x1 x2 -- x2 x1) + + + + + Remove top item from the stack (x -- ) + + + + + Duplicate top item on the stack (x -- x x) + + + + + Duplicate top item on the stack (x1 x2 -- x1 x2 x1) + + + + + signed bitwise left shift (x1 x2 -- x1 << x2) + Limitation from SEI INT13-C. Use bitwise operators only on unsigned operands + + + + + signed bitwise right shift (x1 x2 -- x1 >> x2) + Limitation from SEI INT13-C. Use bitwise operators only on unsigned operands + + + + + bitwise and (x1 x2 -- x1 & x2) + Limitation from SEI INT13-C. Use bitwise operators only on unsigned operands + + + + + bitwise or (x1 x2 -- x1 | x2) + Limitation from SEI INT13-C. Use bitwise operators only on unsigned operands + + + + + logical and (x1 x2 -- x1 && x2) + The result of this can only be 0 or 1 + + + + + logical or (x1 x2 -- x1 || x2) + The result of this can only be 0 or 1 + + + + + logical not (x1 x2 -- x1 ! x2) + The result of this can only be 0 or 1 + + + + + absolute value (x1 -- abs(x1)) + + + + + Euclidean division quotient (x1 -- div(x1)) + + + + + integer part (x1 -- int(x1)) + + + + + greater than x,y (x1 x2 -- x1 > x2) + The result of this can only be 0 or 1 + + + + + greater than or equal x,y (x1 x2 -- x1 >= x2) + The result of this can only be 0 or 1 + + + + + less than x,y (x1 x2 -- x1 < x2) + The result of this can only be 0 or 1 + + + + + less than or equal x,y (x1 x2 -- x1 <= x2) + The result of this can only be 0 or 1 + + + + + equal x,y (x1 x2 -- x1 == x2) + The result of this can only be 0 or 1 + + + + + not equal x,y (x1 x2 -- x1 != x2) + The result of this can only be 0 or 1 + + + + + minimum of x,y (x1 x2 -- min(x1, x2)) + + + + + maximum of x,y (x1 x2 -- max(x1, x2)) + + + + + Bitwise exclusive or (XOR) (x1 x2 -- x1 xor x2) + Limitation from SEI INT13-C. Use bitwise operators only on unsigned operands + + + + + Bitwise not operation (x1 x2 -- x1 ~ x2) The result of this can only be 0 or 1 + Limitation from SEI INT13-C. Use bitwise operators only on unsigned operands + + + + + + + Contains either a simple Comparison, a ComparisonList, an arbitrarily complex BooleanExpression or an escape to an externally defined algorithm + + + + + A simple comparison check involving a single test of a parameter value. + + + + + A series of simple comparison checks with an implicit 'and' in that they all must be true for the overall condition to be true. + + + + + An arbitrarily complex boolean expression that has additional flexibility on the terms beyond the Comparison and ComparisonList elements. + + + + + An escape to an externally defined algorithm. + + + + + + + Describe a value to set to a destination Parameter after completion of a commanding lifecycle step. + + + + Describe a postfix (aka Reverse Polish Notation (RPN)) expression for mathematical equations. It uses a stack where operands (either fixed values or ParameterInstances) are pushed onto the stack from first to last in the XML. As the operators are specified, each pops off operands as it evaluates them, and pushes the result back onto the stack. For example, the stack, 4 8 /, would result as 0.5. In this case postfix is used to avoid having to specify parenthesis. To convert from infix to postfix, use Dijkstra's "shunting yard" algorithm. + + + + Use a constant in the calculation. + + + + + Use the value of the target parameter in the calculation. It is the calibrated/engineering value only. If the raw value is needed, specify it explicitly using ParameterInstanceRefOperand. Note this element has no content. + + + + + All operators utilize operands on the top values in the stack and leaving the result on the top of the stack. Ternary operators utilize the top three operands on the stack, binary operators utilize the top two operands on the stack, and unary operators use the top operand on the stack. + + + + + This element is used to reference the last received/assigned value of any Parameter in this math operation. + + + + + This element is used to reference a value of any Argument from this command instance in this math operation. + + + + + + + Postfix (aka Reverse Polish Notation (RPN)) notation is used to describe mathmatical equations. It uses a stack where operands (either fixed values or ParameterInstances) are pushed onto the stack from first to last in the XML. As the operators are specified, each pops off operands as it evaluates them, and pushes the result back onto the stack. In this case postfix is used to avoid having to specify parenthesis. To convert from infix to postfix, use Dijkstra's "shunting yard" algorithm. + + + + + + + + Defines a basic name where all characters are allowed except '.', '[', ']', ':', '/', and whitespace. See NameDescriptionType. + + + + + + + + Defines a base schema type definition used by many other schema types throughout schema. Use it to describe a name with optional descriptions, aliases, and ancillary data. See NameType, LongDescriptionType, ShortDescriptionType, AliasSetType and AncillaryDataSetType. + + + + + + The name of this defined item. See NameType for restriction information. + + + + + + + + This is identical to NameType above and is used for references that point to named objects for which path is not an option and array/aggregate typing is not an option. This is not used by the schema. + + + + + + + + Defines a reference to a named object where array and aggregate are possibilities, but path is not a possibility. This is used by the argumentName attribute within the ArgumentAssignment element and ArgumentRef variations. + + + + + + + + Defines a reference that can include a path to a named object where array and aggregate are not possible. The named must be of schema type NameType. All name references use a Unix style file system name format where the SpaceSystem names form a path in the SpaceSystem tree. The following characters are reserved for the path: '/', '..' and '.' (multiple consecutive '/'s are treated as one). The path portion is similar to the directory path used in file system names and the path characters have similar meaning (e.g., SimpleSat/Bus/EPDS/BatteryOne/Voltage). There are three overall forms for name references: absolute path, relative path and just the name. The first two forms are called qualified name references; the last form is called an unqualified name reference. The unqualified form refers to an item in the SpaceSystem the reference is used in. The unqualified form refers to an item in the SpaceSystem the reference is used in. All name references must resolve to a named item (i.e. no dangling name references). This is used by the ParameterTypeRef, ArgumentTypeRef, baseType attribute, typeRef attribute, arrayTypeRef attribute, spaceSystemAtRisk attribute, scopeToSpaceSystem attribute, triggerContainer attribute, StreamRef, ContainerRef, MetaCommandRef, ServiceRef, and MessageRef variations. + + + + + + + + Defines a reference that can include a path to a named object where array and aggregate are possible. The named must be of schema type NameType. All name references use a Unix style file system name format where the SpaceSystem names form a path in the SpaceSystem tree. The following characters are reserved for the path: '/', '..' and '.' (multiple consecutive '/'s are treated as one). The path portion is similar to the directory path used in file system names and the path characters have similar meaning (e.g., SimpleSat/Bus/EPDS/BatteryOne/Voltage). There are three overall forms for name references: absolute path, relative path and just the name. The first two forms are called qualified name references; the last form is called an unqualified name reference. The unqualified form refers to an item in the SpaceSystem the reference is used in. The unqualified form refers to an item in the SpaceSystem the reference is used in. All name references must resolve to a named item (i.e. no dangling name references). This is used by the ParameterRef variations. + + + + + + + + Contains an unordered collection of Notes. Usage is user defined. See NoteType. + + + + + Contains a program defined technical note regarding this document. + + + + + + + + + + This type describes how a numeric value should be represented in engineering/calibrated form. The defaults reflect the most common form. + + + + Describes how the engineering/calibrated value of this number should be displayed with respect to the radix. Default is base 10. + + + + + Describes how the engineering/calibrated value of this number should be displayed with respect to the minimum number of fractional digits. The default is 0. + + + + + Describes how the engineering/calibrated value of this number should be displayed with respect to the maximum or upper bound of the number of digits. There is no default. No value specified should be interpreted as no upper bound such that all requires digits are used to fully characterize the value. + + + + + Describes how the engineering/calibrated value of this number should be displayed with respect to the minimum number of integer digits. The default is 1. + + + + + Describes how the engineering/calibrated value of this number should be displayed with respect to the maximum or upper bound of the integer digits. There is no default. No value specified should be interpreted as no upper bound such that all requires digits are used to fully characterize the value. + + + + + Describes how the engineering/calibrated value of this number should be displayed with respect to negative values. This attribute specifies the character or characters that should be appended to the numeric value to indicate negative values. The default is none. + + + + + Describes how the engineering/calibrated value of this number should be displayed with respect to positive values. This attribute specifies the character or characters that should be appended to the numeric value to indicate positive values. The default is none. Zero is considered to be specific to the implementation/platform and is not implied here. + + + + + Describes how the engineering/calibrated value of this number should be displayed with respect to negative values. This attribute specifies the character or characters that should be prepended to the numeric value to indicate negative values. The default is a minus character "-". + + + + + Describes how the engineering/calibrated value of this number should be displayed with respect to positive values. This attribute specifies the character or characters that should be prepended to the numeric value to indicate positive values. The default is none. Zero is considered to be specific to the implementation/platform and is not implied here. + + + + + Describes how the engineering/calibrated value of this number should be displayed with respect to larger values. Groupings by thousand are specific to locale, so the schema only specifies whether they will be present and not which character separators are used. The default is false. + + + + + Describes how the engineering/calibrated value of this number should be displayed with respect to notation. Engineering, scientific, or traditional decimal notation may be specified. The precise characters used is locale specific for the implementation/platform. The default is "normal" for the traditional notation. + + + + + + A simple restriction on string for hexadecimal numbers. Must be in 0o or 0O form. + + + + + + + + The type definition used by most elements that have an optional name with optional descriptions. + + + + + + Optional name of this defined item. See NameType for restriction information. + + + + + + + + Describe two or more conditions that are logically ored together. Conditions may be a mix of Condition and ANDedCondition. See ORedConditionType and BooleanExpressionType. + + + + + + + Condition elements describe a test similar to the Comparison element except that the parameters used have additional flexibility for the compare. + + + + + This element describes tests similar to the ComparisonList element except that the parameters used are more flexible and the and/or for multiple checks can be specified. + + + + + + + + + Describe an unordered collection of parameters where duplicates defined by the Parameter name attribute are invalid. The ParameterSet exists in both the TelemetryMetaData and the CommandMetaData element so that each may be built independently but from a single namespace. See TelemetryMetaDataType and CommandMetaDataType. + + + + + Defines a named and typed Parameter. + Need to ensure that the named types actually exist + + + + + Used to include a Parameter defined in another sub-system in this sub-system. + + + + + + + Specifies the number base + + + + + + + + + + + Defines inside and outside enumerated terms, where the term outside means the range is (-inf, minimum) and (maximum, inf) -- that is a range where acceptable values must be less than the minimum and greater than the maximum, and the term inside means the range is (minimum, maximum) -- that is acceptable values are between the minimum and maximum (either the min or max may be inclusive or exclusive). + + + + + + + + + Most time values are relative to another time e.g. seconds are relative to minutes, minutes are relative to hours. This type is used to describe this relationship starting with the least significant time Parameter to and progressing to the most significant time parameter. + + + + + + Epochs may be specified as an xs date where time is implied to be 00:00:00, xs dateTime, or string enumeration of common epochs. The enumerations are TAI (used by CCSDS and others), J2000, UNIX (also known as POSIX), and GPS. + + + + + + + Used to describe a relative time. Normally used for time offsets. A Relative time is expressed as PnYn MnDTnH nMnS, where nY represents the number of years, nM the number of months, nD the number of days, 'T' is the date/time separator, nH the number of hours, nM the number of minutes and nS the number of seconds. The number of seconds can include decimal digits to arbitrary precision. For example, to indicate a duration of 1 year, 2 months, 3 days, 10 hours, and 30 minutes, one would write: P1Y2M3DT10H30M. One could also indicate a duration of minus 120 days as: -P120D. An extension of Schema duration type. + + + + + + Contains elements that describe how an Entry is identically repeated. This includes a Count of the number of appearances and an optional Offset in bits that may occur between appearances. A Count of 1 indicates no repetition. The Offset default is 0 when not specified. + + + + + Value (either fixed or dynamic) that contains the count of appearances for an Entry. The value must be positive where 1 is the same as not specifying a RepeatEntry element at all. + + + + + Value (either fixed or dynamic) that contains an optional offset in bits between repeats of the Entry. The default is 0, which is contiguous. The value must be 0 or positive. Empty offset after the last repeat count is not implicitly reserved, so the parent EntryList should consider if these are occupied bits when placing the next Entry. + + + + + + + Identical to RepeatType but supports argument instance references. + + + + + Value (either fixed or dynamic) that contains the count of repeated structures. + + + + + + + + A reference to a Service + + + + + + It is strongly recommended that the short description be kept under 80 characters in length + + + + + + A spline, or piecewise defined function, is a set on points from which a curve may be drawn to interpolate raw to calibrated values + + + + The order of a SplineCalibrator refers to the interpolation function. Order 0 is a flat line from the defined point (inclusive) to the next point (exclusive). Order 1 is linear interpolation between two points. Order 2 is quadratic fit and requires at least 3 points (unusual case). This order is generally not needed, but may be used to override the interpolation order for this point. + + + + + The raw encoded value. + + + + + The engineering/calibrated value associated with the raw value for this point. + + + + + + A term in a polynomial expression. + + + + The coefficient in a single term of a polynomial expression. + + + + + The exponent in a single term of a polynomial expression. Should negative exponents be required, use a Math Calibrator style of definition for this type. + + + + + + Base time unit of measure. It is best practice to avoid days, months, and years due to ambiguity involving leap seconds and leap days. If these are used, the system should document how the leaps are handled. + + + + + + + + + + + + + + + + + Describe the exponent, factor, form, and description for a unit. The unit itself is in element Unit in UnitSet. See UnitSetType. The attributes are optional because different programs use this element in different ways, depending on vendor support. + + + + Optional attribute used in conjunction with the "factor" attribute where some programs choose to specify the unit definition with these machine processable algebraic features. For example, a unit text of "meters" may have a "power" attribute of 2, resulting "meters squared" as the actual unit. This is not commonly used. The most common method for "meters squared" is to use the text content of the Unit element in a form like "m^2". + + + + + Optional attribute used in conjunction with the "power" attribute where some programs choose to specify the unit definition with these machine processable algebraic features. For example, a unit text of "meters" may have a "factor" attribute of 2, resulting "2 times meters" as the actual unit. This is not commonly used. The most common method for "2 times meters" is to use the text content of the Unit element in a form like "2*m". + + + + + A description of the unit, which may be for expanded human readability or for specification of the nature/property of the unit. For example, meters per second squared is of a nature/property of acceleration. + + + + + The default value "calibrated" is most common practice to specify units at the engineering/calibrated value, it is possible to specify an additional Unit element for the raw/uncalibrated value. + + + + + + + + + + + + + + + + + Describe a value and an associated string label, see EnumerationListType. + + + + Numeric raw/uncalibrated value to associate with a string enumeration label. + + + + + If max value is given, the label maps to a range where value is less than or equal to maxValue. The range is inclusive. + + + + + String enumeration label to apply to this value definition in the enumeration. + + + + + An optional additional string description can be specified for this enumeration label to provide extended information if desired. + + + + + + Describe an exclusive or (XOR) checksum definition. See ErrorDetectCorrectType. + + + + An offset of non-zero may be specified to skip some bits against the reference position in the reference attribute. + + + + + The bits involved in the calculation may start at the beginning or the end of the container. + + + + + Reference to the parameter that contains the value of this computed XOR based on this container. This attribute is optional because not all implementations verify (telemetry) or create (telecommand) error control fields using the XTCE definition. + + + + + + + + Describe up to six levels: Normal, Watch, Warning, Distress, Critical, and Severe of conditions the alarm will trigger when true. The types are conditions available are a single comparison, a comparison list, a discrete lookup list, and custom algorithm. See MatchCriteriaType. + + + + + An alarm state of least concern. Considered to be below the most commonly used Warning level. + + + + + An alarm state of concern that represents the most commonly used minimum concern level for many software applications. + + + + + An alarm state of concern in between the most commonly used Warning and Critical levels. + + + + + An alarm state of concern that represents the most commonly used maximum concern level for many software applications. + + + + + An alarm state of highest concern. Considered to be above the most commonly used Critical level. + + + + + + + Describe up to six ranges where either less severe ranges are a subset of more severe ranges (outside), or more severe ranges are a subset of less severe ranges (inside). In both forms, the undefined least severe range is normal. Range values are in calibrated engineering units. See FloatRangeType. + + + + + + + A range of least concern. Considered to be below the most commonly used Warning level. + + + + + A range of concern that represents the most commonly used minimum concern level for many software applications. + + + + + A range of concern in between the most commonly used Warning and Critical levels. + + + + + A range of concern that represents the most commonly used maximum concern level for many software applications. + + + + + A range of highest concern. Considered to be above the most commonly used Critical level. + + + + + + A value of outside specifies that the most severe range is outside all the other ranges: -severe -critical -distress -warning -watch normal +watch +warning +distress +critical +severe. This means each min, max pair are a range: (-inf, min) or (-inf, min], and [max, inf) or (max, inf). However a value of inside "inverts" these bands: -normal -watch -warning -distress -critical severe +critical +distress +warning +watch, +normal. This means each min, max pair form a range of (min, max) or [min, max) or (min, max] or [min, max]. The most common form used is "outside" and it is the default. The set notation used defines parenthesis as exclusive and square brackets as inclusive. + + + + + + + + Defines a base schema type used to build up the other data type specific alarm types. The definition includes a count to go into alarm (minViolations - the counts to go out of alarm is the same), a condition style alarm and a custom alarm. See AlarmConditionType, CustomAlgorithmType, BinaryAlarmConditionType, BooleanAlarmType, BinaryContextAlarmType, EnumerationAlarmType, NumericAlarmType, StringAlarmType, TimeAlarmType, TimeAlarmConditionType. + + + + + + + A MatchCriteria may be specified for each of the 5 alarm levels. Each level is optional and the alarm should be the highest level to test true. + + + + + An escape for ridiculously complex alarm conditions. Will trigger on changes to the containing Parameter. + + + + + + The number of successive instances that meet the alarm conditions for the alarm to trigger. The default is 1. + + + + + Optionally specify the number of successive instances that do not meet the alarm conditions to leave the alarm state. If this attribute is not specified, it is treated as being equal to minViolations (symmetric). + + + + + The initial state of this alarm definition as delivered. When true, this leaves the alarm definition empty for the parameter and also short circuits the remaining context matches and the default so no alarm is active on the parameter. + + + + + + + + Describe any number of alarm ranges, each with its own level (normal, warning, watch, distress, critical, severe) and range form (inside -- (min,max), [min,max), (min, max], [min, max], or outside -- (-inf, min) or (-inf,min] and [max, +inf) or (max,+inf). Ranges may overlap, be disjoint and so forth. Ranges within the value spectrum non-specified are non-normal. The most severe range level of value within the ranges is the level of the alarm. Range values are in calibrated engineering units. See FloatRangeType. + + + + + + + Describe any number of alarm ranges, each with its own level (normal, warning, watch, distress, critical, severe) and range form (inside -- (min,max),[min,max), (min, max], [min, max], or outside -- (-inf, min) or (-inf,min] and [max, +inf) or (max,+inf).. Ranges may overlap, be disjoint and so forth. Ranges within the value spectrum non-specified are non-normal. The most severe range level of value within the ranges is the level of the alarm. Range values are in calibrated engineering units. See FloatRangeType. + + + + + + + + + Defines to type of update rates: perSecond and perContainerUpdate. See RateInStreamType. + + + + + + + + + Describe alarm conditions specific to the binary data type, extends the basic AlarmType. + + + + + + + + Alarm conditions for Boolean types + + + + + + + + Describe an ordered collection of context binary alarms, duplicates are valid. Process the contexts in list order. See BinaryContextAlarmType. + + + + + A Context contains a new alarm definition and a context match. The match takes precedence over any default alarm when the first in the overall list evaluates to true. It is also possible the alarm definition is empty, in which case the context means no alarm defined when the match is true. + + + + + + + + + + + + + + + + + + + + + + + + + Describe an ordered collection of context boolean alarms, duplicates are valid. Process the contexts in list order. See BooleanContextAlarmType. + + + + + A Context contains a new alarm definition and a context match. The match takes precedence over any default alarm when the first in the overall list evaluates to true. It is also possible the alarm definition is empty, in which case the context means no alarm defined when the match is true. + + + + + + + Describe an alarm when the parameter value's rate-of-change is either too fast or too slow. The change may be with respect to time (the default) or with respect to samples (delta alarms). Use the changeType attribute to select the type: changePerSecond (time) or changePerSample (delta). The change may also be ether relative (as a percentage change) or absolute as set by the changeBasis attribute. (Delta alarms are typically absolute but percentage is conceivable). The alarm also requires the spanOfInterest in both samples and seconds to have passed before it is to trigger. For time based rate of change alarms, the time specified in spanOfInterestInSeconds is used to calculate the change. For sample based rate of change alarms, the change is calculated over the number of samples specified in spanOfInterestInSamples. A typical delta alarm would set: changeType=changePerSample, changeBasis=absoluteChange, spanOfInterestInSamples=1. A typical time based version would set: changeType=changePerSecond, changeBasis=percentageChange, and spaceOfInterestInSeconds=1. To set the ranges use maxInclusive, the following definition applies: | Normal.maxInclusive | <= | Watch.maxInclusive | <= | Warning.maxInclusive | <= | Distress.maxInclusive | <= | Critical.maxInclusive | <= | Severe.maxInclusive |. And it is further assumed the absolute value of each range and sampled value it taken to evaluate the alarm. See NumericAlarmType. + + + + + + + + + + + + + Defines absoluteChange and percentageChange for use in rate of change alarms. Used by ChangeAlarmRangesType. + + + + + + + + + Defines six levels: Normal, Watch, Warning, Distress, Critical and Severe, in that order of concern from least to most. These level definitions are used throughout the alarm definitions. An implementation should interpret these as best to match their uniqueness and provide documentation on how this standard maps to their implementation. Not all are likely to be provided, with some either ignored, promoted or demoted to others, or warned on input. There exist some reasonable usage recommendations in the user community. + + + + + The case of "normal" or "no concern level" is generally the default. This value can be useful when describing an exception or disabling when the more typical case is a non-normal concern level. + + + + + DEPRECATED: The lowest level of concern. Systems that support only 3 or 4 concern levels have been observed to promote "watch" to "warning" during data processing, if this enumeration is not explicitly supported. This value may not exist in future versions of this specification. + + + + + A level of concern to be interpreted by the user as less than the highest possible concern. This is intended by the specification to be quite vague. The project operational concept will explicitly define how these are to be used. + + + + + A level of concern to be interpreted by the user as greater than the least concern but not yet rising to the highest possible concern. This is intended by the specification to be quite vague. The project operational concept will explicitly define how these are to be used. + + + + + A level of concern to be interpreted by the user as the highest possible concern. This is intended by the specification to be quite vague. The project operational concept will explicitly define how these are to be used. + + + + + DEPRECATED: The highest level of concern. Systems that support only 3 or 4 concern levels have been observed to demote "severe" to "critical" during data processing, if this enumeration is not explicitly supported. This value may not exist in future versions of this specification. + + + + + + + Defines the criticality level of a command. Criticality levels follow ISO 14950. + + + + + Normal command. Corresponds to ISO 14950 Level D telecommand criticality. + + + + + Command that is not a critical command but is essential to the success of the mission and, if sent at the wrong time, could cause momentary loss of the mission. Corresponds to ISO 14950 Level C telecommand criticality. + + + + + Command that, if executed at the wrong time or in the wrong configuration, could cause irreversible loss or damage for the mission. Corresponds to ISO 14950 Level B telecommand criticality. Some space programs have called this "restricted" and may be implemented with a secondary confirmation before transmission. + + + + + Command that is not expected to be used for nominal or foreseeable contingency operations, that is included for unforeseen contingency operations, and that could cause irreversible damage if executed at the wrong time or in the wrong configuration. Corresponds to ISO 14950 Level A telecommand criticality. Some space programs have called this "prohibited". + + + + + In the event that a program uses this value, that program will need to define the meaning of this value to their system. + + + + + In the event that a program uses this value, that program will need to define the meaning of this value to their system. + + + + + + + Defines a changePerSecond and changePerSample for use in rate of change alarms. Used by ChangeAlarmRangesType. + + + + + + + + + Describe a discrete value lookup and the value associated when the lookup evaluates to true. + + + + + + Value to use when the lookup conditions are true. + + + + + + + + Describe an alarm level and its enumeration label to trigger from. See EnumeratedAlarmType and EnumeratedParameterType. + + + + Defines six levels: Normal, Watch, Warning, Distress, Critical and Severe. Typical implementations color the "normal" level as green, "warning" level as yellow, and "critical" level as red. In the case of enumeration alarms, the "normal" is assumed by implementations to be any label not otherwise in an alarm state. + + + + + The enumeration label is the engineering/calibrated value for enumerated types. + + + + + + + + Describe an alarm state for an enumeration label where the label is engineer/calibrated value. Note that labels may represent multiple raw/uncalbrated values. + + + + + + + Describe a context that when true the alarm condition may be evaluated. See ContextMatchType and EnumerationAlarmType. + + + + + + + Describe a context in terms of a parameter and value that when true enables the context alarm definition. + + + + + + + + + Describe alarm conditions specific to the enumeration data type, extends the basic AlarmType with an EnumerationAlarmList. The alarms are described using the label (engineering/calibrated value) of the enumerated parameter. Enumeration labels may represent several raw/uncalibrated values, so as a result, a single alarm definition here may represent multiple raw values in the enumerated parameter. It is not necessary to define an alarm for raw/uncalibrated values that do not map to an enumeration. Implementations should implicitly define this as an alarm case, of which the manifestation of that is program/implementation specific. See EnumeratedParameterType. + An additional check needs to be performed to ensure that the enumeration values in the alarms are valid enumeration values for the Parameter + + + + + + + List of alarm state definitions for this enumerated type. + + + + + + Alarm state name for when no enumeration alarms evaluate to true. This defaults to "normal", which is almost always the case. Setting it to another alarm state permits a form of "inverted logic" where the alarm list can specify the normal states instead of the alarm states. + + + + + + + + + + + + + + + Describe a floating point based range, several types of ranges are supported -- one sided and two sided, inclusive or exclusive. It would not make sense to set two mins or maxes. Used in a number of locations related to ranges: ValidFloatRangeSetType or AlarmRangeType for example. + Verify that the combination provided is usable. + + + + Minimum decimal/real number value including itself. + + + + + Minimum decimal/real number value excluding itself. + + + + + Maximum decimal/real number value including itself. + + + + + Maximum decimal/real number value excluding itself. + + + + + + Describe an integral based range: minInclusive and maxInclusive. Used in a number of locations related to ranges: ValidIntegerRangeSetType for example. + + + + Minimum integer value including itself. + + + + + Maximum integer value including itself. + + + + + + A slope and intercept may be applied to scale or shift the value of the parameter in the dynamic value. The default of slope=1 and intercept=0 results in no change to the value. + + + + + + + The alarm multi-range element type permits users to define multiple alarm ranges in a sequence that goes beyond the more typical "inside" and "outside" range definitions. It can be thought of as a "barber pole" definition. + + + + + + A value of outside specifies that the most severe range is outside all the other ranges: -severe -critical -distress -warning -watch normal +watch +warning +distress +critical +severe. This means each min, max pair are a range: (-inf, min) or (-inf, min], and [max, inf) or (max, inf). However a value of inside "inverts" these bands: -normal -watch -warning -distress -critical severe +critical +distress +warning +watch, +normal. This means each min, max pair form a range of (min, max) or [min, max) or (min, max] or [min, max]. The most common form used is "outside" and it is the default. The set notation used defines parenthesis as exclusive and square brackets as inclusive. + + + + + The level of concern for this alarm definition. + + + + + + + + Describe alarm conditions specific to the numeric data types, extends the basic AlarmType with StaticAlarmRanges and ChangeAlarmRanges. See FloatParameterType and IntegerParameterType. + + + + + + + StaticAlarmRanges are used to trigger alarms when the parameter value passes some threshold value. + + + + + ChangeAlarmRanges are used to trigger alarms when the parameter value changes by a rate or quantity from a reference. + + + + + Similar to but more lenient form of StaticAlarmRanges. + + + + + + + + + Describe a parameter dependent context, that when evaluates to true, enables the use of this alarm definition. See ContextMatchType and NumericAlarmType. + + + + + + + Contains the evaluation criteria for a parameter dependent test, that when evaluates to true, enables this alarm definition. + + + + + + + + + Describe a string alarm condition based on matching a regular expression. The level and regular expression are described. The specific implementation of the regular expression syntax is not specified in the schema at this time. See StringAlarmListType. + + + + + + + Describe an ordered collection of string alarms, where duplicates are valid. Evaluate the alarms in list order. The first to evaluate to true takes precedence. See StringAlarmLevelType. + + + + + + + + Describe alarms specific to the string data type, extends the basic AlarmType, while adding a StringAlarmList and defaultAlarmLevel attribute. The string alarm list is evaluated in list order. See ConcernsLevelsType and StringAlarmListType. + + + + + + + + + + + + + Describe a context that when true the alarm may be evaluated. See ContextMatchType and StringAlarmType. + + + + + + + + + + + + Describe an ordered collection of context string alarms, duplicates are valid. Process the contexts in list order. See StringContextAlarmType. + + + + + A Context contains a new alarm definition and a context match. The match takes precedence over any default alarm when the first in the overall list evaluates to true. It is also possible the alarm definition is empty, in which case the context means no alarm defined when the match is true. + + + + + + + Alarms associated with time data types + + + + + + + StaticAlarmRanges are used to trigger alarms when the parameter value passes some threshold value + + + + + ChangePerSecondAlarmRanges are used to trigger alarms when the parameter value's rate-of-change passes some threshold value. An alarm condition that triggers when the value changes too fast (or too slow) + + + + + + + + + + + + Time units, with the default being in seconds. + + + + + + + + An ordered collection of temporal alarms associated with a context. A context is an alarm definition on a parameter which is valid only in the case of a test on the value of other parameters. Process the contexts in list order. See TimeContextAlarmType. + + + + + A Context contains a new alarm definition and a context match. The match takes precedence over any default alarm when the first in the overall list evaluates to true. It is also possible the alarm definition is empty, in which case the context means no alarm defined when the match is true. + + + + + + + Context alarms are applied when the ContextMatch is true. Context alarms override Default alarms + + + + + + + + + + + + XTCE-specific replacement for xtce:NonNegativeLongType which more cleanly maps to native data types. + + + + + + + + XTCE-specific replacement for xtce:PositiveLongType which more cleanly maps to native data types. + + + + + + + + Defines enumerated values to categorize a unit associated with a telemetered value. Typically the unit refers to the calibrated (engineering) value. In some cases the unit may be associated with the uncalibrated or raw values. Uncalibrated and raw here are typically synonymous, but there are exceptions. + + + + + The unit of measure for this value refers to the engineer/calibrated value. + + + + + The unit of measure for this value refers to the pre-calibrated data, after extraction from the data stream, when in the local native data type. This is unusual, but present in some cases. + + + + + The unit of measure for this value refers to the raw binary value from the data stream, prior to conversion to the local native data type and application of calibrators. + + + + + + + diff --git a/GeneratedSchemaLibraries/XTCE/SpaceSystem.xsd-g.cs b/GeneratedSchemaLibraries/XTCE/SpaceSystem.xsd-g.cs new file mode 100644 index 00000000..dfadd55d --- /dev/null +++ b/GeneratedSchemaLibraries/XTCE/SpaceSystem.xsd-g.cs @@ -0,0 +1,46322 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// LinqToXsd Version: 3.4.24 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Omg.Xtce { + using System; + using System.Collections; + using System.Collections.Generic; + using System.ComponentModel; + using System.IO; + using System.Linq; + using System.Diagnostics; + using System.Xml; + using System.Xml.Schema; + using System.Xml.Linq; + using Xml.Schema.Linq; + + + /// + /// + /// SpaceSystem is a collection of SpaceSystem(s) including space assets, ground assets, multi-satellite systems and sub-systems. A SpaceSystem is the root element for the set of data necessary to monitor and command an arbitrary space device - this includes the binary decomposition the data streams going into and out of a device. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Header?, TelemetryMetaData?, CommandMetaData?, ServiceSet?, SpaceSystem*) + /// + /// + public partial class SpaceSystemType : global::Omg.Xtce.NameDescriptionType, IXMetaData { + + public static explicit operator SpaceSystemType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// SpaceSystem is a collection of SpaceSystem(s) including space assets, ground assets, multi-satellite systems and sub-systems. A SpaceSystem is the root element for the set of data necessary to monitor and command an arbitrary space device - this includes the binary decomposition the data streams going into and out of a device. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Header?, TelemetryMetaData?, CommandMetaData?, ServiceSet?, SpaceSystem*) + /// + /// + public SpaceSystemType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName HeaderXName = System.Xml.Linq.XName.Get("Header", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// The Header element contains optional descriptive information about this SpaceSystem or the document as a whole when specified at the root SpaceSystem. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Header?, TelemetryMetaData?, CommandMetaData?, ServiceSet?, SpaceSystem*) + /// + /// + public virtual HeaderType Header { + get { + XElement x = this.GetElement(HeaderXName); + if ((x == null)) { + return null; + } + return ((HeaderType)(x)); + } + set { + this.SetElement(HeaderXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TelemetryMetaDataXName = System.Xml.Linq.XName.Get("TelemetryMetaData", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// This element contains descriptions of the telemetry created on the space asset/device and sent to other data consumers. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Header?, TelemetryMetaData?, CommandMetaData?, ServiceSet?, SpaceSystem*) + /// + /// + public virtual TelemetryMetaDataType TelemetryMetaData { + get { + XElement x = this.GetElement(TelemetryMetaDataXName); + if ((x == null)) { + return null; + } + return ((TelemetryMetaDataType)(x)); + } + set { + this.SetElement(TelemetryMetaDataXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CommandMetaDataXName = System.Xml.Linq.XName.Get("CommandMetaData", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// This element contains descriptions of the commands and their associated constraints and verifications that can be sent to the space asset/device. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Header?, TelemetryMetaData?, CommandMetaData?, ServiceSet?, SpaceSystem*) + /// + /// + public virtual CommandMetaDataType CommandMetaData { + get { + XElement x = this.GetElement(CommandMetaDataXName); + if ((x == null)) { + return null; + } + return ((CommandMetaDataType)(x)); + } + set { + this.SetElement(CommandMetaDataXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ServiceSetXName = System.Xml.Linq.XName.Get("ServiceSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Header?, TelemetryMetaData?, CommandMetaData?, ServiceSet?, SpaceSystem*) + /// + /// + public virtual ServiceSetType ServiceSet { + get { + XElement x = this.GetElement(ServiceSetXName); + if ((x == null)) { + return null; + } + return ((ServiceSetType)(x)); + } + set { + this.SetElement(ServiceSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SpaceSystemXName = System.Xml.Linq.XName.Get("SpaceSystem", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList SpaceSystemField; + + /// + /// + /// Additional SpaceSystem elements may be used like namespaces to segregate portions of the space asset/device into convenient groupings or may be used to specialize a product line generic SpaceSystem to a specific asset instance. + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Header?, TelemetryMetaData?, CommandMetaData?, ServiceSet?, SpaceSystem*) + /// + /// + public virtual IList SpaceSystem { + get { + if ((this.SpaceSystemField == null)) { + this.SpaceSystemField = new XTypedList(this, LinqToXsdTypeManager.Instance, SpaceSystemXName); + } + return this.SpaceSystemField; + } + set { + if ((value == null)) { + this.SpaceSystemField = null; + } + else { + if ((this.SpaceSystemField == null)) { + this.SpaceSystemField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, SpaceSystemXName); + } + else { + XTypedServices.SetList(this.SpaceSystemField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName systemTypeXName = System.Xml.Linq.XName.Get("systemType", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.SystemTypeType systemTypeDefaultValue = Omg.Xtce.SystemTypeType.unknown; + + /// + /// + /// Type of the space system. Represents what from a space enterprise this SpaceSystem element represents. See the individual enumeration descriptions in SystemTypeType. + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.SystemTypeType systemType { + get { + XAttribute x = this.Attribute(systemTypeXName); + if ((x == null)) { + return systemTypeDefaultValue; + } + return ((Omg.Xtce.SystemTypeType)(Enum.Parse(typeof(Omg.Xtce.SystemTypeType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Token).Datatype, global::Omg.Xtce.SystemTypeTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(systemTypeXName, value.ToString(), "systemType", global::Omg.Xtce.SystemTypeTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName assetTypeXName = System.Xml.Linq.XName.Get("assetType", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static string assetTypeDefaultValue = "unknown"; + + /// + /// + /// Broad name for the type of asset, such as spacecraft, aircraft, device, or any other that makes sense for the system. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string assetType { + get { + XAttribute x = this.Attribute(assetTypeXName); + if ((x == null)) { + return assetTypeDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(assetTypeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName operationalStatusXName = System.Xml.Linq.XName.Get("operationalStatus", ""); + + /// + /// + /// Optional descriptive attribute for document owner convenience. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string operationalStatus { + get { + XAttribute x = this.Attribute(operationalStatusXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Token).Datatype); + } + set { + this.SetAttribute(operationalStatusXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Token).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName @baseXName = System.Xml.Linq.XName.Get("base", "http://www.w3.org/XML/1998/namespace"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Uri @base { + get { + XAttribute x = this.Attribute(@baseXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(@baseXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SpaceSystemType", "http://www.omg.org/spec/XTCE/20250214"); + + static SpaceSystemType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(HeaderXName), new NamedContentModelEntity(TelemetryMetaDataXName), new NamedContentModelEntity(CommandMetaDataXName), new NamedContentModelEntity(ServiceSetXName), new NamedContentModelEntity(SpaceSystemXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(HeaderXName, typeof(HeaderType)); + localElementDictionary.Add(TelemetryMetaDataXName, typeof(TelemetryMetaDataType)); + localElementDictionary.Add(CommandMetaDataXName, typeof(CommandMetaDataType)); + localElementDictionary.Add(ServiceSetXName, typeof(ServiceSetType)); + localElementDictionary.Add(SpaceSystemXName, typeof(SpaceSystem)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// The type attribute represents what from a space enterprise this SpaceSystem element represents. See the enumerations for specific details. Unknown is the default for backwards compatibility, though it should be avoided in newer documents. + /// + /// + public enum SystemTypeType { + + asset, + + assetGroup, + + assetComponent, + + unknown, + } + + /// + /// + /// The type attribute represents what from a space enterprise this SpaceSystem element represents. See the enumerations for specific details. Unknown is the default for backwards compatibility, though it should be avoided in newer documents. + /// + /// + public sealed class SystemTypeTypeValidator { + + private SystemTypeTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Token), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "asset", + "assetGroup", + "assetComponent", + "unknown"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Collapse)); + } + + /// + /// + /// Describe command related metadata. Items defined in this area may refer to items defined in TelemetryMetaData. See TelemetryMetaDataType. + /// + /// + /// Regular expression: (ParameterTypeSet?, ParameterSet?, ArgumentTypeSet?, MetaCommandSet?, CommandContainerSet?, StreamSet?, AlgorithmSet?) + /// + /// + public partial class CommandMetaDataType : XTypedElement, IXMetaData { + + public static explicit operator CommandMetaDataType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe command related metadata. Items defined in this area may refer to items defined in TelemetryMetaData. See TelemetryMetaDataType. + /// + /// + /// Regular expression: (ParameterTypeSet?, ParameterSet?, ArgumentTypeSet?, MetaCommandSet?, CommandContainerSet?, StreamSet?, AlgorithmSet?) + /// + /// + public CommandMetaDataType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterTypeSetXName = System.Xml.Linq.XName.Get("ParameterTypeSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// A list of parameter types. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ParameterTypeSet?, ParameterSet?, ArgumentTypeSet?, MetaCommandSet?, CommandContainerSet?, StreamSet?, AlgorithmSet?) + /// + /// + public virtual ParameterTypeSetType ParameterTypeSet { + get { + XElement x = this.GetElement(ParameterTypeSetXName); + if ((x == null)) { + return null; + } + return ((ParameterTypeSetType)(x)); + } + set { + this.SetElement(ParameterTypeSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterSetXName = System.Xml.Linq.XName.Get("ParameterSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Parameters referenced by MetaCommands. This Parameter Set is located here so that MetaCommand data can be built independently of TelemetryMetaData. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ParameterTypeSet?, ParameterSet?, ArgumentTypeSet?, MetaCommandSet?, CommandContainerSet?, StreamSet?, AlgorithmSet?) + /// + /// + public virtual ParameterSetType ParameterSet { + get { + XElement x = this.GetElement(ParameterSetXName); + if ((x == null)) { + return null; + } + return ((ParameterSetType)(x)); + } + set { + this.SetElement(ParameterSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ArgumentTypeSetXName = System.Xml.Linq.XName.Get("ArgumentTypeSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// A list of argument types. MetaCommand definitions can contain arguments and parameters. Arguments are user provided to the specific command definition. Parameters are provided/calculated/determined by the software creating the command instance. As a result, arguments contain separate type information. In some cases, arguments have different descriptive characteristics. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ParameterTypeSet?, ParameterSet?, ArgumentTypeSet?, MetaCommandSet?, CommandContainerSet?, StreamSet?, AlgorithmSet?) + /// + /// + public virtual ArgumentTypeSetType ArgumentTypeSet { + get { + XElement x = this.GetElement(ArgumentTypeSetXName); + if ((x == null)) { + return null; + } + return ((ArgumentTypeSetType)(x)); + } + set { + this.SetElement(ArgumentTypeSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MetaCommandSetXName = System.Xml.Linq.XName.Get("MetaCommandSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// A list of command definitions with their arguments, parameters, and container encoding descriptions. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ParameterTypeSet?, ParameterSet?, ArgumentTypeSet?, MetaCommandSet?, CommandContainerSet?, StreamSet?, AlgorithmSet?) + /// + /// + public virtual MetaCommandSetType MetaCommandSet { + get { + XElement x = this.GetElement(MetaCommandSetXName); + if ((x == null)) { + return null; + } + return ((MetaCommandSetType)(x)); + } + set { + this.SetElement(MetaCommandSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CommandContainerSetXName = System.Xml.Linq.XName.Get("CommandContainerSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Similar to the ContainerSet for telemetry, the CommandContainerSet contains containers that can be referenced/shared by MetaCommand definitions. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ParameterTypeSet?, ParameterSet?, ArgumentTypeSet?, MetaCommandSet?, CommandContainerSet?, StreamSet?, AlgorithmSet?) + /// + /// + public virtual CommandContainerSetType CommandContainerSet { + get { + XElement x = this.GetElement(CommandContainerSetXName); + if ((x == null)) { + return null; + } + return ((CommandContainerSetType)(x)); + } + set { + this.SetElement(CommandContainerSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StreamSetXName = System.Xml.Linq.XName.Get("StreamSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Contains an unordered set of Streams. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ParameterTypeSet?, ParameterSet?, ArgumentTypeSet?, MetaCommandSet?, CommandContainerSet?, StreamSet?, AlgorithmSet?) + /// + /// + public virtual StreamSetType StreamSet { + get { + XElement x = this.GetElement(StreamSetXName); + if ((x == null)) { + return null; + } + return ((StreamSetType)(x)); + } + set { + this.SetElement(StreamSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AlgorithmSetXName = System.Xml.Linq.XName.Get("AlgorithmSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Contains an unordered set of Algorithms. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ParameterTypeSet?, ParameterSet?, ArgumentTypeSet?, MetaCommandSet?, CommandContainerSet?, StreamSet?, AlgorithmSet?) + /// + /// + public virtual AlgorithmSetType AlgorithmSet { + get { + XElement x = this.GetElement(AlgorithmSetXName); + if ((x == null)) { + return null; + } + return ((AlgorithmSetType)(x)); + } + set { + this.SetElement(AlgorithmSetXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CommandMetaDataType", "http://www.omg.org/spec/XTCE/20250214"); + + static CommandMetaDataType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ParameterTypeSetXName), new NamedContentModelEntity(ParameterSetXName), new NamedContentModelEntity(ArgumentTypeSetXName), new NamedContentModelEntity(MetaCommandSetXName), new NamedContentModelEntity(CommandContainerSetXName), new NamedContentModelEntity(StreamSetXName), new NamedContentModelEntity(AlgorithmSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ParameterTypeSetXName, typeof(ParameterTypeSetType)); + localElementDictionary.Add(ParameterSetXName, typeof(ParameterSetType)); + localElementDictionary.Add(ArgumentTypeSetXName, typeof(ArgumentTypeSetType)); + localElementDictionary.Add(MetaCommandSetXName, typeof(MetaCommandSetType)); + localElementDictionary.Add(CommandContainerSetXName, typeof(CommandContainerSetType)); + localElementDictionary.Add(StreamSetXName, typeof(StreamSetType)); + localElementDictionary.Add(AlgorithmSetXName, typeof(AlgorithmSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// All the data about telemetry is contained in TelemetryMetaData + /// + /// + /// Regular expression: (ParameterTypeSet?, ParameterSet?, ContainerSet?, MessageSet?, StreamSet?, AlgorithmSet?) + /// + /// + public partial class TelemetryMetaDataType : XTypedElement, IXMetaData { + + public static explicit operator TelemetryMetaDataType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// All the data about telemetry is contained in TelemetryMetaData + /// + /// + /// Regular expression: (ParameterTypeSet?, ParameterSet?, ContainerSet?, MessageSet?, StreamSet?, AlgorithmSet?) + /// + /// + public TelemetryMetaDataType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterTypeSetXName = System.Xml.Linq.XName.Get("ParameterTypeSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// A list of parameter types + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ParameterTypeSet?, ParameterSet?, ContainerSet?, MessageSet?, StreamSet?, AlgorithmSet?) + /// + /// + public virtual ParameterTypeSetType ParameterTypeSet { + get { + XElement x = this.GetElement(ParameterTypeSetXName); + if ((x == null)) { + return null; + } + return ((ParameterTypeSetType)(x)); + } + set { + this.SetElement(ParameterTypeSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterSetXName = System.Xml.Linq.XName.Get("ParameterSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// A list of Parameters for this Space System. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ParameterTypeSet?, ParameterSet?, ContainerSet?, MessageSet?, StreamSet?, AlgorithmSet?) + /// + /// + public virtual ParameterSetType ParameterSet { + get { + XElement x = this.GetElement(ParameterSetXName); + if ((x == null)) { + return null; + } + return ((ParameterSetType)(x)); + } + set { + this.SetElement(ParameterSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContainerSetXName = System.Xml.Linq.XName.Get("ContainerSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Holds the list of all potential container definitions for telemetry. Containers may parts of packets or TDM, and then groups of the containers, and then an entire entity -- such as a packet. In order to maximize re-used for duplication, the pieces may defined once here, and then assembled as needed into larger structures, also here. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ParameterTypeSet?, ParameterSet?, ContainerSet?, MessageSet?, StreamSet?, AlgorithmSet?) + /// + /// + public virtual ContainerSetType ContainerSet { + get { + XElement x = this.GetElement(ContainerSetXName); + if ((x == null)) { + return null; + } + return ((ContainerSetType)(x)); + } + set { + this.SetElement(ContainerSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MessageSetXName = System.Xml.Linq.XName.Get("MessageSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Messages are an alternative method of uniquely identifying containers within a Service. A message provides a test in the form of MatchCriteria to match to a container. A simple example might be: [When minorframeID=21, the message is the 21st minorframe container. The collection of messages to search thru will be bound by a Service. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ParameterTypeSet?, ParameterSet?, ContainerSet?, MessageSet?, StreamSet?, AlgorithmSet?) + /// + /// + public virtual MessageSetType MessageSet { + get { + XElement x = this.GetElement(MessageSetXName); + if ((x == null)) { + return null; + } + return ((MessageSetType)(x)); + } + set { + this.SetElement(MessageSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StreamSetXName = System.Xml.Linq.XName.Get("StreamSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ParameterTypeSet?, ParameterSet?, ContainerSet?, MessageSet?, StreamSet?, AlgorithmSet?) + /// + /// + public virtual StreamSetType StreamSet { + get { + XElement x = this.GetElement(StreamSetXName); + if ((x == null)) { + return null; + } + return ((StreamSetType)(x)); + } + set { + this.SetElement(StreamSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AlgorithmSetXName = System.Xml.Linq.XName.Get("AlgorithmSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ParameterTypeSet?, ParameterSet?, ContainerSet?, MessageSet?, StreamSet?, AlgorithmSet?) + /// + /// + public virtual AlgorithmSetType AlgorithmSet { + get { + XElement x = this.GetElement(AlgorithmSetXName); + if ((x == null)) { + return null; + } + return ((AlgorithmSetType)(x)); + } + set { + this.SetElement(AlgorithmSetXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("TelemetryMetaDataType", "http://www.omg.org/spec/XTCE/20250214"); + + static TelemetryMetaDataType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ParameterTypeSetXName), new NamedContentModelEntity(ParameterSetXName), new NamedContentModelEntity(ContainerSetXName), new NamedContentModelEntity(MessageSetXName), new NamedContentModelEntity(StreamSetXName), new NamedContentModelEntity(AlgorithmSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ParameterTypeSetXName, typeof(ParameterTypeSetType)); + localElementDictionary.Add(ParameterSetXName, typeof(ParameterSetType)); + localElementDictionary.Add(ContainerSetXName, typeof(ContainerSetType)); + localElementDictionary.Add(MessageSetXName, typeof(MessageSetType)); + localElementDictionary.Add(StreamSetXName, typeof(StreamSetType)); + localElementDictionary.Add(AlgorithmSetXName, typeof(AlgorithmSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to ArgumentRefEntryType but supports argument instance references. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?) + /// + /// + public partial class ArgumentArgumentRefEntryType : global::Omg.Xtce.ArgumentSequenceEntryType, IXMetaData { + + public static explicit operator ArgumentArgumentRefEntryType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to ArgumentRefEntryType but supports argument instance references. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?) + /// + /// + public ArgumentArgumentRefEntryType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LocationInContainerInBitsXName = System.Xml.Linq.XName.Get("LocationInContainerInBits", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RepeatEntryXName = System.Xml.Linq.XName.Get("RepeatEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IncludeConditionXName = System.Xml.Linq.XName.Get("IncludeCondition", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName argumentRefXName = System.Xml.Linq.XName.Get("argumentRef", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string argumentRef { + get { + XAttribute x = this.Attribute(argumentRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(argumentRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentArgumentRefEntryType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentArgumentRefEntryType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LocationInContainerInBitsXName), new NamedContentModelEntity(RepeatEntryXName), new NamedContentModelEntity(IncludeConditionXName), new NamedContentModelEntity(AncillaryDataSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LocationInContainerInBitsXName, typeof(ArgumentLocationInContainerInBitsType)); + localElementDictionary.Add(RepeatEntryXName, typeof(ArgumentRepeatType)); + localElementDictionary.Add(IncludeConditionXName, typeof(ArgumentMatchCriteriaType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to ArrayParameterRefEntryType but supports argument instance references. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?, (DimensionList)?) + /// + /// + public partial class ArgumentArrayArgumentRefEntryType : global::Omg.Xtce.ArgumentSequenceEntryType, IXMetaData { + + public static explicit operator ArgumentArrayArgumentRefEntryType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to ArrayParameterRefEntryType but supports argument instance references. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?, (DimensionList)?) + /// + /// + public ArgumentArrayArgumentRefEntryType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LocationInContainerInBitsXName = System.Xml.Linq.XName.Get("LocationInContainerInBits", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RepeatEntryXName = System.Xml.Linq.XName.Get("RepeatEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IncludeConditionXName = System.Xml.Linq.XName.Get("IncludeCondition", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DimensionListXName = System.Xml.Linq.XName.Get("DimensionList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// The dimension here if used for subsetting must be less than the ones in the type. It's not a subset if its the same size. + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?, (DimensionList)?) + /// + /// + public virtual ArgumentDimensionListType DimensionList { + get { + XElement x = this.GetElement(DimensionListXName); + if ((x == null)) { + return null; + } + return ((ArgumentDimensionListType)(x)); + } + set { + this.SetElement(DimensionListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName argumentRefXName = System.Xml.Linq.XName.Get("argumentRef", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string argumentRef { + get { + XAttribute x = this.Attribute(argumentRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(argumentRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName lastEntryForThisArrayInstanceXName = System.Xml.Linq.XName.Get("lastEntryForThisArrayInstance", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool lastEntryForThisArrayInstanceDefaultValue = System.Xml.XmlConvert.ToBoolean("false"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool lastEntryForThisArrayInstance { + get { + XAttribute x = this.Attribute(lastEntryForThisArrayInstanceXName); + if ((x == null)) { + return lastEntryForThisArrayInstanceDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(lastEntryForThisArrayInstanceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentArrayArgumentRefEntryType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentArrayArgumentRefEntryType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LocationInContainerInBitsXName), new NamedContentModelEntity(RepeatEntryXName), new NamedContentModelEntity(IncludeConditionXName), new NamedContentModelEntity(AncillaryDataSetXName), new SequenceContentModelEntity(new NamedContentModelEntity(DimensionListXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LocationInContainerInBitsXName, typeof(ArgumentLocationInContainerInBitsType)); + localElementDictionary.Add(RepeatEntryXName, typeof(ArgumentRepeatType)); + localElementDictionary.Add(IncludeConditionXName, typeof(ArgumentMatchCriteriaType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(DimensionListXName, typeof(ArgumentDimensionListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to ArrayParameterRefEntryType but supports argument instance references. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?, (DimensionList)?) + /// + /// + public partial class ArgumentArrayParameterRefEntryType : global::Omg.Xtce.ArgumentSequenceEntryType, IXMetaData { + + public static explicit operator ArgumentArrayParameterRefEntryType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to ArrayParameterRefEntryType but supports argument instance references. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?, (DimensionList)?) + /// + /// + public ArgumentArrayParameterRefEntryType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LocationInContainerInBitsXName = System.Xml.Linq.XName.Get("LocationInContainerInBits", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RepeatEntryXName = System.Xml.Linq.XName.Get("RepeatEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IncludeConditionXName = System.Xml.Linq.XName.Get("IncludeCondition", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DimensionListXName = System.Xml.Linq.XName.Get("DimensionList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// The dimension here if used for subsetting must be less than the ones in the type. It's not a subset if its the same size. + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?, (DimensionList)?) + /// + /// + public virtual DimensionListType DimensionList { + get { + XElement x = this.GetElement(DimensionListXName); + if ((x == null)) { + return null; + } + return ((DimensionListType)(x)); + } + set { + this.SetElement(DimensionListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName parameterRefXName = System.Xml.Linq.XName.Get("parameterRef", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string parameterRef { + get { + XAttribute x = this.Attribute(parameterRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(parameterRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName lastEntryForThisArrayInstanceXName = System.Xml.Linq.XName.Get("lastEntryForThisArrayInstance", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool lastEntryForThisArrayInstanceDefaultValue = System.Xml.XmlConvert.ToBoolean("false"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool lastEntryForThisArrayInstance { + get { + XAttribute x = this.Attribute(lastEntryForThisArrayInstanceXName); + if ((x == null)) { + return lastEntryForThisArrayInstanceDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(lastEntryForThisArrayInstanceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentArrayParameterRefEntryType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentArrayParameterRefEntryType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LocationInContainerInBitsXName), new NamedContentModelEntity(RepeatEntryXName), new NamedContentModelEntity(IncludeConditionXName), new NamedContentModelEntity(AncillaryDataSetXName), new SequenceContentModelEntity(new NamedContentModelEntity(DimensionListXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LocationInContainerInBitsXName, typeof(ArgumentLocationInContainerInBitsType)); + localElementDictionary.Add(RepeatEntryXName, typeof(ArgumentRepeatType)); + localElementDictionary.Add(IncludeConditionXName, typeof(ArgumentMatchCriteriaType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(DimensionListXName, typeof(DimensionListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to ContainerRefEntryType but supports argument instance references. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?) + /// + /// + public partial class ArgumentContainerRefEntryType : global::Omg.Xtce.ArgumentSequenceEntryType, IXMetaData { + + public static explicit operator ArgumentContainerRefEntryType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to ContainerRefEntryType but supports argument instance references. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?) + /// + /// + public ArgumentContainerRefEntryType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LocationInContainerInBitsXName = System.Xml.Linq.XName.Get("LocationInContainerInBits", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RepeatEntryXName = System.Xml.Linq.XName.Get("RepeatEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IncludeConditionXName = System.Xml.Linq.XName.Get("IncludeCondition", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName containerRefXName = System.Xml.Linq.XName.Get("containerRef", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string containerRef { + get { + XAttribute x = this.Attribute(containerRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(containerRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentContainerRefEntryType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentContainerRefEntryType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LocationInContainerInBitsXName), new NamedContentModelEntity(RepeatEntryXName), new NamedContentModelEntity(IncludeConditionXName), new NamedContentModelEntity(AncillaryDataSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LocationInContainerInBitsXName, typeof(ArgumentLocationInContainerInBitsType)); + localElementDictionary.Add(RepeatEntryXName, typeof(ArgumentRepeatType)); + localElementDictionary.Add(IncludeConditionXName, typeof(ArgumentMatchCriteriaType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to ContainerSegmentRefEntryType but supports argument instance references. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?) + /// + /// + public partial class ArgumentContainerSegmentRefEntryType : global::Omg.Xtce.ArgumentSequenceEntryType, IXMetaData { + + public static explicit operator ArgumentContainerSegmentRefEntryType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to ContainerSegmentRefEntryType but supports argument instance references. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?) + /// + /// + public ArgumentContainerSegmentRefEntryType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LocationInContainerInBitsXName = System.Xml.Linq.XName.Get("LocationInContainerInBits", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RepeatEntryXName = System.Xml.Linq.XName.Get("RepeatEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IncludeConditionXName = System.Xml.Linq.XName.Get("IncludeCondition", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName containerRefXName = System.Xml.Linq.XName.Get("containerRef", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string containerRef { + get { + XAttribute x = this.Attribute(containerRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(containerRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName orderXName = System.Xml.Linq.XName.Get("order", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Int64? order { + get { + XAttribute x = this.Attribute(orderXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(orderXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName sizeInBitsXName = System.Xml.Linq.XName.Get("sizeInBits", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual long sizeInBits { + get { + XAttribute x = this.Attribute(sizeInBitsXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(sizeInBitsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentContainerSegmentRefEntryType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentContainerSegmentRefEntryType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LocationInContainerInBitsXName), new NamedContentModelEntity(RepeatEntryXName), new NamedContentModelEntity(IncludeConditionXName), new NamedContentModelEntity(AncillaryDataSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LocationInContainerInBitsXName, typeof(ArgumentLocationInContainerInBitsType)); + localElementDictionary.Add(RepeatEntryXName, typeof(ArgumentRepeatType)); + localElementDictionary.Add(IncludeConditionXName, typeof(ArgumentMatchCriteriaType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to FixedValueEntryType but supports argument instance references. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?) + /// + /// + public partial class ArgumentFixedValueEntryType : global::Omg.Xtce.ArgumentSequenceEntryType, IXMetaData { + + public static explicit operator ArgumentFixedValueEntryType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to FixedValueEntryType but supports argument instance references. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?) + /// + /// + public ArgumentFixedValueEntryType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LocationInContainerInBitsXName = System.Xml.Linq.XName.Get("LocationInContainerInBits", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RepeatEntryXName = System.Xml.Linq.XName.Get("RepeatEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IncludeConditionXName = System.Xml.Linq.XName.Get("IncludeCondition", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName nameXName = System.Xml.Linq.XName.Get("name", ""); + + /// + /// + /// An optional name for the fixed/constant field in the sequence. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string name { + get { + XAttribute x = this.Attribute(nameXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(nameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName binaryValueXName = System.Xml.Linq.XName.Get("binaryValue", ""); + + /// + /// + /// The fixed/constant value that should be encoded into the sequence. This value provided should have sufficient bit length to accomodate the size in bits. If the value is larger, the most significant unnecessary bits are dropped. The value provided should be in network byte order for encoding. + /// + /// + /// Occurrence: required + /// + /// + public virtual byte[] binaryValue { + get { + XAttribute x = this.Attribute(binaryValueXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary).Datatype); + } + set { + this.SetAttribute(binaryValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName sizeInBitsXName = System.Xml.Linq.XName.Get("sizeInBits", ""); + + /// + /// + /// The number of bits that this fixed/constant value should occupy in the sequence. + /// + /// + /// Occurrence: required + /// + /// + public virtual long sizeInBits { + get { + XAttribute x = this.Attribute(sizeInBitsXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(sizeInBitsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentFixedValueEntryType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentFixedValueEntryType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LocationInContainerInBitsXName), new NamedContentModelEntity(RepeatEntryXName), new NamedContentModelEntity(IncludeConditionXName), new NamedContentModelEntity(AncillaryDataSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LocationInContainerInBitsXName, typeof(ArgumentLocationInContainerInBitsType)); + localElementDictionary.Add(RepeatEntryXName, typeof(ArgumentRepeatType)); + localElementDictionary.Add(IncludeConditionXName, typeof(ArgumentMatchCriteriaType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to IndirectParameterRefEntryType but supports argument instance references. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?, ParameterInstance) + /// + /// + public partial class ArgumentIndirectParameterRefEntryType : global::Omg.Xtce.ArgumentSequenceEntryType, IXMetaData { + + public static explicit operator ArgumentIndirectParameterRefEntryType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to IndirectParameterRefEntryType but supports argument instance references. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?, ParameterInstance) + /// + /// + public ArgumentIndirectParameterRefEntryType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LocationInContainerInBitsXName = System.Xml.Linq.XName.Get("LocationInContainerInBits", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RepeatEntryXName = System.Xml.Linq.XName.Get("RepeatEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IncludeConditionXName = System.Xml.Linq.XName.Get("IncludeCondition", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterInstanceXName = System.Xml.Linq.XName.Get("ParameterInstance", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?, ParameterInstance) + /// + /// + public virtual ParameterInstanceRefType ParameterInstance { + get { + XElement x = this.GetElement(ParameterInstanceXName); + return ((ParameterInstanceRefType)(x)); + } + set { + this.SetElement(ParameterInstanceXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName aliasNameSpaceXName = System.Xml.Linq.XName.Get("aliasNameSpace", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string aliasNameSpace { + get { + XAttribute x = this.Attribute(aliasNameSpaceXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(aliasNameSpaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentIndirectParameterRefEntryType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentIndirectParameterRefEntryType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LocationInContainerInBitsXName), new NamedContentModelEntity(RepeatEntryXName), new NamedContentModelEntity(IncludeConditionXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(ParameterInstanceXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LocationInContainerInBitsXName, typeof(ArgumentLocationInContainerInBitsType)); + localElementDictionary.Add(RepeatEntryXName, typeof(ArgumentRepeatType)); + localElementDictionary.Add(IncludeConditionXName, typeof(ArgumentMatchCriteriaType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(ParameterInstanceXName, typeof(ParameterInstanceRefType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to ParameterRefEntryType but supports argument instance references. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?) + /// + /// + public partial class ArgumentParameterRefEntryType : global::Omg.Xtce.ArgumentSequenceEntryType, IXMetaData { + + public static explicit operator ArgumentParameterRefEntryType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to ParameterRefEntryType but supports argument instance references. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?) + /// + /// + public ArgumentParameterRefEntryType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LocationInContainerInBitsXName = System.Xml.Linq.XName.Get("LocationInContainerInBits", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RepeatEntryXName = System.Xml.Linq.XName.Get("RepeatEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IncludeConditionXName = System.Xml.Linq.XName.Get("IncludeCondition", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName parameterRefXName = System.Xml.Linq.XName.Get("parameterRef", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string parameterRef { + get { + XAttribute x = this.Attribute(parameterRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(parameterRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentParameterRefEntryType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentParameterRefEntryType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LocationInContainerInBitsXName), new NamedContentModelEntity(RepeatEntryXName), new NamedContentModelEntity(IncludeConditionXName), new NamedContentModelEntity(AncillaryDataSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LocationInContainerInBitsXName, typeof(ArgumentLocationInContainerInBitsType)); + localElementDictionary.Add(RepeatEntryXName, typeof(ArgumentRepeatType)); + localElementDictionary.Add(IncludeConditionXName, typeof(ArgumentMatchCriteriaType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to ParameterSegmentRefEntryType but supports argument instance references. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?) + /// + /// + public partial class ArgumentParameterSegmentRefEntryType : global::Omg.Xtce.ArgumentSequenceEntryType, IXMetaData { + + public static explicit operator ArgumentParameterSegmentRefEntryType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to ParameterSegmentRefEntryType but supports argument instance references. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?) + /// + /// + public ArgumentParameterSegmentRefEntryType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LocationInContainerInBitsXName = System.Xml.Linq.XName.Get("LocationInContainerInBits", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RepeatEntryXName = System.Xml.Linq.XName.Get("RepeatEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IncludeConditionXName = System.Xml.Linq.XName.Get("IncludeCondition", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName parameterRefXName = System.Xml.Linq.XName.Get("parameterRef", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string parameterRef { + get { + XAttribute x = this.Attribute(parameterRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(parameterRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName orderXName = System.Xml.Linq.XName.Get("order", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Int64? order { + get { + XAttribute x = this.Attribute(orderXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(orderXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName sizeInBitsXName = System.Xml.Linq.XName.Get("sizeInBits", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual long sizeInBits { + get { + XAttribute x = this.Attribute(sizeInBitsXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(sizeInBitsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentParameterSegmentRefEntryType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentParameterSegmentRefEntryType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LocationInContainerInBitsXName), new NamedContentModelEntity(RepeatEntryXName), new NamedContentModelEntity(IncludeConditionXName), new NamedContentModelEntity(AncillaryDataSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LocationInContainerInBitsXName, typeof(ArgumentLocationInContainerInBitsType)); + localElementDictionary.Add(RepeatEntryXName, typeof(ArgumentRepeatType)); + localElementDictionary.Add(IncludeConditionXName, typeof(ArgumentMatchCriteriaType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to StreamRefEntryType but supports argument instance references. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?) + /// + /// + public partial class ArgumentStreamSegmentEntryType : global::Omg.Xtce.ArgumentSequenceEntryType, IXMetaData { + + public static explicit operator ArgumentStreamSegmentEntryType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to StreamRefEntryType but supports argument instance references. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?) + /// + /// + public ArgumentStreamSegmentEntryType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LocationInContainerInBitsXName = System.Xml.Linq.XName.Get("LocationInContainerInBits", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RepeatEntryXName = System.Xml.Linq.XName.Get("RepeatEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IncludeConditionXName = System.Xml.Linq.XName.Get("IncludeCondition", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName streamRefXName = System.Xml.Linq.XName.Get("streamRef", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string streamRef { + get { + XAttribute x = this.Attribute(streamRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(streamRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName orderXName = System.Xml.Linq.XName.Get("order", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Int64? order { + get { + XAttribute x = this.Attribute(orderXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(orderXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName sizeInBitsXName = System.Xml.Linq.XName.Get("sizeInBits", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual long sizeInBits { + get { + XAttribute x = this.Attribute(sizeInBitsXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(sizeInBitsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentStreamSegmentEntryType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentStreamSegmentEntryType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LocationInContainerInBitsXName), new NamedContentModelEntity(RepeatEntryXName), new NamedContentModelEntity(IncludeConditionXName), new NamedContentModelEntity(AncillaryDataSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LocationInContainerInBitsXName, typeof(ArgumentLocationInContainerInBitsType)); + localElementDictionary.Add(RepeatEntryXName, typeof(ArgumentRepeatType)); + localElementDictionary.Add(IncludeConditionXName, typeof(ArgumentMatchCriteriaType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an entry that is an array parameter. Specify the dimension sizes if you subsetting the array (the number of dimensions shall match the number defined in the parameter's type definition), otherwise the ones in the ParameterType are assumed. See SequenceEntryType. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, TimeAssociation?, AncillaryDataSet?, (DimensionList)?) + /// + /// + public partial class ArrayParameterRefEntryType : global::Omg.Xtce.SequenceEntryType, IXMetaData { + + public static explicit operator ArrayParameterRefEntryType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an entry that is an array parameter. Specify the dimension sizes if you subsetting the array (the number of dimensions shall match the number defined in the parameter's type definition), otherwise the ones in the ParameterType are assumed. See SequenceEntryType. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, TimeAssociation?, AncillaryDataSet?, (DimensionList)?) + /// + /// + public ArrayParameterRefEntryType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LocationInContainerInBitsXName = System.Xml.Linq.XName.Get("LocationInContainerInBits", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RepeatEntryXName = System.Xml.Linq.XName.Get("RepeatEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IncludeConditionXName = System.Xml.Linq.XName.Get("IncludeCondition", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TimeAssociationXName = System.Xml.Linq.XName.Get("TimeAssociation", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DimensionListXName = System.Xml.Linq.XName.Get("DimensionList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// The dimension here if used for subsetting must be less than the ones in the type. It's not a subset if its the same size. + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, TimeAssociation?, AncillaryDataSet?, (DimensionList)?) + /// + /// + public virtual DimensionListType DimensionList { + get { + XElement x = this.GetElement(DimensionListXName); + if ((x == null)) { + return null; + } + return ((DimensionListType)(x)); + } + set { + this.SetElement(DimensionListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName parameterRefXName = System.Xml.Linq.XName.Get("parameterRef", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string parameterRef { + get { + XAttribute x = this.Attribute(parameterRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(parameterRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArrayParameterRefEntryType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArrayParameterRefEntryType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LocationInContainerInBitsXName), new NamedContentModelEntity(RepeatEntryXName), new NamedContentModelEntity(IncludeConditionXName), new NamedContentModelEntity(TimeAssociationXName), new NamedContentModelEntity(AncillaryDataSetXName), new SequenceContentModelEntity(new NamedContentModelEntity(DimensionListXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LocationInContainerInBitsXName, typeof(LocationInContainerInBitsType)); + localElementDictionary.Add(RepeatEntryXName, typeof(RepeatType)); + localElementDictionary.Add(IncludeConditionXName, typeof(MatchCriteriaType)); + localElementDictionary.Add(TimeAssociationXName, typeof(TimeAssociationType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(DimensionListXName, typeof(DimensionListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Supplies an optional non-reference-able name and short description for alarms. Also includes an optional ancillary data for any special local flags, note that these may not necessarily transfer to another recipient of an instance document. + /// + /// + /// Regular expression: (AncillaryDataSet?) + /// + /// + public abstract partial class BaseAlarmType : XTypedElement, IXMetaData { + + public static explicit operator BaseAlarmType(XElement xe) { return (BaseAlarmType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// Supplies an optional non-reference-able name and short description for alarms. Also includes an optional ancillary data for any special local flags, note that these may not necessarily transfer to another recipient of an instance document. + /// + /// + /// Regular expression: (AncillaryDataSet?) + /// + /// + public BaseAlarmType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (AncillaryDataSet?) + /// + /// + public virtual AncillaryDataSetType AncillaryDataSet { + get { + XElement x = this.GetElement(AncillaryDataSetXName); + if ((x == null)) { + return null; + } + return ((AncillaryDataSetType)(x)); + } + set { + this.SetElement(AncillaryDataSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName nameXName = System.Xml.Linq.XName.Get("name", ""); + + /// + /// + /// The alarm definition may be named. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string name { + get { + XAttribute x = this.Attribute(nameXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(nameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName shortDescriptionXName = System.Xml.Linq.XName.Get("shortDescription", ""); + + /// + /// + /// An optional brief description of this alarm definition. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string shortDescription { + get { + XAttribute x = this.Attribute(shortDescriptionXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(shortDescriptionXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BaseAlarmType", "http://www.omg.org/spec/XTCE/20250214"); + + static BaseAlarmType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AncillaryDataSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a child/parent container inheritance relationship. Describe constraints with RestrictionCriteria, conditions that must be true for this container to be an extension of the parent container. A constraint can be used to convey the identifying features of the telemetry format such as the CCSDS application id or minor-frame id. See RestrictionCriteriaType and SequenceContainerType. + /// + /// + /// Regular expression: (RestrictionCriteria?) + /// + /// + public partial class BaseContainerType : XTypedElement, IXMetaData { + + public static explicit operator BaseContainerType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a child/parent container inheritance relationship. Describe constraints with RestrictionCriteria, conditions that must be true for this container to be an extension of the parent container. A constraint can be used to convey the identifying features of the telemetry format such as the CCSDS application id or minor-frame id. See RestrictionCriteriaType and SequenceContainerType. + /// + /// + /// Regular expression: (RestrictionCriteria?) + /// + /// + public BaseContainerType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RestrictionCriteriaXName = System.Xml.Linq.XName.Get("RestrictionCriteria", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Contains the conditions that must evaluate to true in order for this container to be an extension of the parent container. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (RestrictionCriteria?) + /// + /// + public virtual RestrictionCriteriaType RestrictionCriteria { + get { + XElement x = this.GetElement(RestrictionCriteriaXName); + if ((x == null)) { + return null; + } + return ((RestrictionCriteriaType)(x)); + } + set { + this.SetElement(RestrictionCriteriaXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName containerRefXName = System.Xml.Linq.XName.Get("containerRef", ""); + + /// + /// + /// Reference to the container that this container extends. + /// + /// + /// Occurrence: required + /// + /// + public virtual string containerRef { + get { + XAttribute x = this.Attribute(containerRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(containerRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BaseContainerType", "http://www.omg.org/spec/XTCE/20250214"); + + static BaseContainerType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(RestrictionCriteriaXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(RestrictionCriteriaXName, typeof(RestrictionCriteriaType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// An abstract block of data; used as the base type for more specific container types + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, DefaultRateInStream?, RateInStreamSet?, BinaryEncoding?) + /// + /// + public abstract partial class ContainerType : global::Omg.Xtce.NameDescriptionType, IXMetaData { + + public static explicit operator ContainerType(XElement xe) { return (ContainerType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// An abstract block of data; used as the base type for more specific container types + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, DefaultRateInStream?, RateInStreamSet?, BinaryEncoding?) + /// + /// + public ContainerType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DefaultRateInStreamXName = System.Xml.Linq.XName.Get("DefaultRateInStream", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, DefaultRateInStream?, RateInStreamSet?, BinaryEncoding?) + /// + /// + public virtual RateInStreamType DefaultRateInStream { + get { + XElement x = this.GetElement(DefaultRateInStreamXName); + if ((x == null)) { + return null; + } + return ((RateInStreamType)(x)); + } + set { + this.SetElement(DefaultRateInStreamXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RateInStreamSetXName = System.Xml.Linq.XName.Get("RateInStreamSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, DefaultRateInStream?, RateInStreamSet?, BinaryEncoding?) + /// + /// + public virtual RateInStreamSetType RateInStreamSet { + get { + XElement x = this.GetElement(RateInStreamSetXName); + if ((x == null)) { + return null; + } + return ((RateInStreamSetType)(x)); + } + set { + this.SetElement(RateInStreamSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryEncodingXName = System.Xml.Linq.XName.Get("BinaryEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// May be used to indicate error detection and correction, change byte order, provide the size (when it can't be derived), or perform some custom processing. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, DefaultRateInStream?, RateInStreamSet?, BinaryEncoding?) + /// + /// + public virtual ContainerBinaryDataEncodingType BinaryEncoding { + get { + XElement x = this.GetElement(BinaryEncodingXName); + if ((x == null)) { + return null; + } + return ((ContainerBinaryDataEncodingType)(x)); + } + set { + this.SetElement(BinaryEncodingXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ContainerType", "http://www.omg.org/spec/XTCE/20250214"); + + static ContainerType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(DefaultRateInStreamXName), new NamedContentModelEntity(RateInStreamSetXName), new NamedContentModelEntity(BinaryEncodingXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(DefaultRateInStreamXName, typeof(RateInStreamType)); + localElementDictionary.Add(RateInStreamSetXName, typeof(RateInStreamSetType)); + localElementDictionary.Add(BinaryEncodingXName, typeof(ContainerBinaryDataEncodingType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ContainerRef+) + /// + /// + public partial class ContainerRefSetType : XTypedElement, IXMetaData { + + public static explicit operator ContainerRefSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ContainerRef+) + /// + /// + public ContainerRefSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContainerRefXName = System.Xml.Linq.XName.Get("ContainerRef", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ContainerRefField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (ContainerRef+) + /// + /// + public virtual IList ContainerRef { + get { + if ((this.ContainerRefField == null)) { + this.ContainerRefField = new XTypedList(this, LinqToXsdTypeManager.Instance, ContainerRefXName); + } + return this.ContainerRefField; + } + set { + if ((value == null)) { + this.ContainerRefField = null; + } + else { + if ((this.ContainerRefField == null)) { + this.ContainerRefField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ContainerRefXName); + } + else { + XTypedServices.SetList(this.ContainerRefField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ContainerRefSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static ContainerRefSetType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ContainerRefXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ContainerRefXName, typeof(ContainerRefType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Holds a reference to a container + /// + /// + public partial class ContainerRefType : XTypedElement, IXMetaData { + + public static explicit operator ContainerRefType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Holds a reference to a container + /// + /// + public ContainerRefType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName containerRefXName = System.Xml.Linq.XName.Get("containerRef", ""); + + /// + /// + /// name of container + /// + /// + /// Occurrence: required + /// + /// + public virtual string containerRef { + get { + XAttribute x = this.Attribute(containerRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(containerRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ContainerRefType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// An entry that is simply a reference to another container. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, TimeAssociation?, AncillaryDataSet?) + /// + /// + public partial class ContainerRefEntryType : global::Omg.Xtce.SequenceEntryType, IXMetaData { + + public static explicit operator ContainerRefEntryType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// An entry that is simply a reference to another container. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, TimeAssociation?, AncillaryDataSet?) + /// + /// + public ContainerRefEntryType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LocationInContainerInBitsXName = System.Xml.Linq.XName.Get("LocationInContainerInBits", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RepeatEntryXName = System.Xml.Linq.XName.Get("RepeatEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IncludeConditionXName = System.Xml.Linq.XName.Get("IncludeCondition", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TimeAssociationXName = System.Xml.Linq.XName.Get("TimeAssociation", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName containerRefXName = System.Xml.Linq.XName.Get("containerRef", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string containerRef { + get { + XAttribute x = this.Attribute(containerRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(containerRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ContainerRefEntryType", "http://www.omg.org/spec/XTCE/20250214"); + + static ContainerRefEntryType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LocationInContainerInBitsXName), new NamedContentModelEntity(RepeatEntryXName), new NamedContentModelEntity(IncludeConditionXName), new NamedContentModelEntity(TimeAssociationXName), new NamedContentModelEntity(AncillaryDataSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LocationInContainerInBitsXName, typeof(LocationInContainerInBitsType)); + localElementDictionary.Add(RepeatEntryXName, typeof(RepeatType)); + localElementDictionary.Add(IncludeConditionXName, typeof(MatchCriteriaType)); + localElementDictionary.Add(TimeAssociationXName, typeof(TimeAssociationType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// An entry that is only a portion of a container indicating that the entire container must be assembled from other container segments. It is assumed that container segments happen sequentially in time, that is the first part of a container is first, however (and there's always a however), if this is not the case the order of this container segment may be supplied with the order attribute where the first segment order="0". Each instance of a container cannot overlap in the overall sequence with another instance + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, TimeAssociation?, AncillaryDataSet?) + /// + /// + public partial class ContainerSegmentRefEntryType : global::Omg.Xtce.SequenceEntryType, IXMetaData { + + public static explicit operator ContainerSegmentRefEntryType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// An entry that is only a portion of a container indicating that the entire container must be assembled from other container segments. It is assumed that container segments happen sequentially in time, that is the first part of a container is first, however (and there's always a however), if this is not the case the order of this container segment may be supplied with the order attribute where the first segment order="0". Each instance of a container cannot overlap in the overall sequence with another instance + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, TimeAssociation?, AncillaryDataSet?) + /// + /// + public ContainerSegmentRefEntryType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LocationInContainerInBitsXName = System.Xml.Linq.XName.Get("LocationInContainerInBits", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RepeatEntryXName = System.Xml.Linq.XName.Get("RepeatEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IncludeConditionXName = System.Xml.Linq.XName.Get("IncludeCondition", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TimeAssociationXName = System.Xml.Linq.XName.Get("TimeAssociation", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName containerRefXName = System.Xml.Linq.XName.Get("containerRef", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string containerRef { + get { + XAttribute x = this.Attribute(containerRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(containerRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName orderXName = System.Xml.Linq.XName.Get("order", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Int64? order { + get { + XAttribute x = this.Attribute(orderXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(orderXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName sizeInBitsXName = System.Xml.Linq.XName.Get("sizeInBits", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual long sizeInBits { + get { + XAttribute x = this.Attribute(sizeInBitsXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(sizeInBitsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ContainerSegmentRefEntryType", "http://www.omg.org/spec/XTCE/20250214"); + + static ContainerSegmentRefEntryType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LocationInContainerInBitsXName), new NamedContentModelEntity(RepeatEntryXName), new NamedContentModelEntity(IncludeConditionXName), new NamedContentModelEntity(TimeAssociationXName), new NamedContentModelEntity(AncillaryDataSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LocationInContainerInBitsXName, typeof(LocationInContainerInBitsType)); + localElementDictionary.Add(RepeatEntryXName, typeof(RepeatType)); + localElementDictionary.Add(IncludeConditionXName, typeof(MatchCriteriaType)); + localElementDictionary.Add(TimeAssociationXName, typeof(TimeAssociationType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Unordered Set of Containers + /// + /// + /// Regular expression: (SequenceContainer)+ + /// + /// + public partial class ContainerSetType : XTypedElement, IXMetaData { + + public static explicit operator ContainerSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Unordered Set of Containers + /// + /// + /// Regular expression: (SequenceContainer)+ + /// + /// + public ContainerSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SequenceContainerXName = System.Xml.Linq.XName.Get("SequenceContainer", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList SequenceContainerField; + + /// + /// + /// SequenceContainers define sequences of parameters or other containers. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (SequenceContainer)+ + /// + /// + public virtual IList SequenceContainer { + get { + if ((this.SequenceContainerField == null)) { + this.SequenceContainerField = new XTypedList(this, LinqToXsdTypeManager.Instance, SequenceContainerXName); + } + return this.SequenceContainerField; + } + set { + if ((value == null)) { + this.SequenceContainerField = null; + } + else { + if ((this.SequenceContainerField == null)) { + this.SequenceContainerField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, SequenceContainerXName); + } + else { + XTypedServices.SetList(this.SequenceContainerField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ContainerSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static ContainerSetType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(SequenceContainerXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(SequenceContainerXName, typeof(SequenceContainerType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Contains an ordered list of Entries. Used in Sequence Container + /// + /// + /// Regular expression: (ParameterRefEntry | ParameterSegmentRefEntry | ContainerRefEntry | ContainerSegmentRefEntry | StreamSegmentEntry | IndirectParameterRefEntry | ArrayParameterRefEntry)* + /// + /// + public partial class EntryListType : XTypedElement, IXMetaData { + + public static explicit operator EntryListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Contains an ordered list of Entries. Used in Sequence Container + /// + /// + /// Regular expression: (ParameterRefEntry | ParameterSegmentRefEntry | ContainerRefEntry | ContainerSegmentRefEntry | StreamSegmentEntry | IndirectParameterRefEntry | ArrayParameterRefEntry)* + /// + /// + public EntryListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterRefEntryXName = System.Xml.Linq.XName.Get("ParameterRefEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ParameterRefEntryField; + + /// + /// + /// Specify a Parameter to be a part of this container layout definition. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (ParameterRefEntry | ParameterSegmentRefEntry | ContainerRefEntry | ContainerSegmentRefEntry | StreamSegmentEntry | IndirectParameterRefEntry | ArrayParameterRefEntry)* + /// + /// + public virtual IList ParameterRefEntry { + get { + if ((this.ParameterRefEntryField == null)) { + this.ParameterRefEntryField = new XTypedList(this, LinqToXsdTypeManager.Instance, ParameterRefEntryXName); + } + return this.ParameterRefEntryField; + } + set { + if ((value == null)) { + this.ParameterRefEntryField = null; + } + else { + if ((this.ParameterRefEntryField == null)) { + this.ParameterRefEntryField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ParameterRefEntryXName); + } + else { + XTypedServices.SetList(this.ParameterRefEntryField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterSegmentRefEntryXName = System.Xml.Linq.XName.Get("ParameterSegmentRefEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ParameterSegmentRefEntryField; + + /// + /// + /// Specify a portion of a Parameter to be a part of this container layout definition. This is used when the Parameter is reported in fractional parts in the container before being fully updated. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (ParameterRefEntry | ParameterSegmentRefEntry | ContainerRefEntry | ContainerSegmentRefEntry | StreamSegmentEntry | IndirectParameterRefEntry | ArrayParameterRefEntry)* + /// + /// + public virtual IList ParameterSegmentRefEntry { + get { + if ((this.ParameterSegmentRefEntryField == null)) { + this.ParameterSegmentRefEntryField = new XTypedList(this, LinqToXsdTypeManager.Instance, ParameterSegmentRefEntryXName); + } + return this.ParameterSegmentRefEntryField; + } + set { + if ((value == null)) { + this.ParameterSegmentRefEntryField = null; + } + else { + if ((this.ParameterSegmentRefEntryField == null)) { + this.ParameterSegmentRefEntryField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ParameterSegmentRefEntryXName); + } + else { + XTypedServices.SetList(this.ParameterSegmentRefEntryField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContainerRefEntryXName = System.Xml.Linq.XName.Get("ContainerRefEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ContainerRefEntryField; + + /// + /// + /// Specify the content of another Container to be a part of this container layout definition. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (ParameterRefEntry | ParameterSegmentRefEntry | ContainerRefEntry | ContainerSegmentRefEntry | StreamSegmentEntry | IndirectParameterRefEntry | ArrayParameterRefEntry)* + /// + /// + public virtual IList ContainerRefEntry { + get { + if ((this.ContainerRefEntryField == null)) { + this.ContainerRefEntryField = new XTypedList(this, LinqToXsdTypeManager.Instance, ContainerRefEntryXName); + } + return this.ContainerRefEntryField; + } + set { + if ((value == null)) { + this.ContainerRefEntryField = null; + } + else { + if ((this.ContainerRefEntryField == null)) { + this.ContainerRefEntryField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ContainerRefEntryXName); + } + else { + XTypedServices.SetList(this.ContainerRefEntryField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContainerSegmentRefEntryXName = System.Xml.Linq.XName.Get("ContainerSegmentRefEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ContainerSegmentRefEntryField; + + /// + /// + /// Specify a portion of another Container to be a part of this container layout definition. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (ParameterRefEntry | ParameterSegmentRefEntry | ContainerRefEntry | ContainerSegmentRefEntry | StreamSegmentEntry | IndirectParameterRefEntry | ArrayParameterRefEntry)* + /// + /// + public virtual IList ContainerSegmentRefEntry { + get { + if ((this.ContainerSegmentRefEntryField == null)) { + this.ContainerSegmentRefEntryField = new XTypedList(this, LinqToXsdTypeManager.Instance, ContainerSegmentRefEntryXName); + } + return this.ContainerSegmentRefEntryField; + } + set { + if ((value == null)) { + this.ContainerSegmentRefEntryField = null; + } + else { + if ((this.ContainerSegmentRefEntryField == null)) { + this.ContainerSegmentRefEntryField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ContainerSegmentRefEntryXName); + } + else { + XTypedServices.SetList(this.ContainerSegmentRefEntryField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StreamSegmentEntryXName = System.Xml.Linq.XName.Get("StreamSegmentEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList StreamSegmentEntryField; + + /// + /// + /// Specify a portion of a Stream to be a part of this container layout definition. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (ParameterRefEntry | ParameterSegmentRefEntry | ContainerRefEntry | ContainerSegmentRefEntry | StreamSegmentEntry | IndirectParameterRefEntry | ArrayParameterRefEntry)* + /// + /// + public virtual IList StreamSegmentEntry { + get { + if ((this.StreamSegmentEntryField == null)) { + this.StreamSegmentEntryField = new XTypedList(this, LinqToXsdTypeManager.Instance, StreamSegmentEntryXName); + } + return this.StreamSegmentEntryField; + } + set { + if ((value == null)) { + this.StreamSegmentEntryField = null; + } + else { + if ((this.StreamSegmentEntryField == null)) { + this.StreamSegmentEntryField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, StreamSegmentEntryXName); + } + else { + XTypedServices.SetList(this.StreamSegmentEntryField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IndirectParameterRefEntryXName = System.Xml.Linq.XName.Get("IndirectParameterRefEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList IndirectParameterRefEntryField; + + /// + /// + /// Specify a previous (not last reported) value of a Parmeter to be a part of this container layout definition. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (ParameterRefEntry | ParameterSegmentRefEntry | ContainerRefEntry | ContainerSegmentRefEntry | StreamSegmentEntry | IndirectParameterRefEntry | ArrayParameterRefEntry)* + /// + /// + public virtual IList IndirectParameterRefEntry { + get { + if ((this.IndirectParameterRefEntryField == null)) { + this.IndirectParameterRefEntryField = new XTypedList(this, LinqToXsdTypeManager.Instance, IndirectParameterRefEntryXName); + } + return this.IndirectParameterRefEntryField; + } + set { + if ((value == null)) { + this.IndirectParameterRefEntryField = null; + } + else { + if ((this.IndirectParameterRefEntryField == null)) { + this.IndirectParameterRefEntryField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, IndirectParameterRefEntryXName); + } + else { + XTypedServices.SetList(this.IndirectParameterRefEntryField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ArrayParameterRefEntryXName = System.Xml.Linq.XName.Get("ArrayParameterRefEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ArrayParameterRefEntryField; + + /// + /// + /// Specify an Array Type Parameter to be a part of this container layout definition when the Container does not populate the entire space of the Array contents. If the entire space of the Array is populated, a tolerant implementation will accept ParameterRefEntry also. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (ParameterRefEntry | ParameterSegmentRefEntry | ContainerRefEntry | ContainerSegmentRefEntry | StreamSegmentEntry | IndirectParameterRefEntry | ArrayParameterRefEntry)* + /// + /// + public virtual IList ArrayParameterRefEntry { + get { + if ((this.ArrayParameterRefEntryField == null)) { + this.ArrayParameterRefEntryField = new XTypedList(this, LinqToXsdTypeManager.Instance, ArrayParameterRefEntryXName); + } + return this.ArrayParameterRefEntryField; + } + set { + if ((value == null)) { + this.ArrayParameterRefEntryField = null; + } + else { + if ((this.ArrayParameterRefEntryField == null)) { + this.ArrayParameterRefEntryField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ArrayParameterRefEntryXName); + } + else { + XTypedServices.SetList(this.ArrayParameterRefEntryField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("EntryListType", "http://www.omg.org/spec/XTCE/20250214"); + + static EntryListType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(ParameterRefEntryXName), new NamedContentModelEntity(ParameterSegmentRefEntryXName), new NamedContentModelEntity(ContainerRefEntryXName), new NamedContentModelEntity(ContainerSegmentRefEntryXName), new NamedContentModelEntity(StreamSegmentEntryXName), new NamedContentModelEntity(IndirectParameterRefEntryXName), new NamedContentModelEntity(ArrayParameterRefEntryXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ParameterRefEntryXName, typeof(ParameterRefEntryType)); + localElementDictionary.Add(ParameterSegmentRefEntryXName, typeof(ParameterSegmentRefEntryType)); + localElementDictionary.Add(ContainerRefEntryXName, typeof(ContainerRefEntryType)); + localElementDictionary.Add(ContainerSegmentRefEntryXName, typeof(ContainerSegmentRefEntryType)); + localElementDictionary.Add(StreamSegmentEntryXName, typeof(StreamSegmentEntryType)); + localElementDictionary.Add(IndirectParameterRefEntryXName, typeof(IndirectParameterRefEntryType)); + localElementDictionary.Add(ArrayParameterRefEntryXName, typeof(ArrayParameterRefEntryType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// An entry whose name is given by the value of a ParamameterInstance. This entry may be used to implement dwell telemetry streams. The value of the parameter in ParameterInstance must use either the name of the Parameter or its alias. If it's an alias name, the alias namespace is supplied as an attribute. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, TimeAssociation?, AncillaryDataSet?, ParameterInstance) + /// + /// + public partial class IndirectParameterRefEntryType : global::Omg.Xtce.SequenceEntryType, IXMetaData { + + public static explicit operator IndirectParameterRefEntryType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// An entry whose name is given by the value of a ParamameterInstance. This entry may be used to implement dwell telemetry streams. The value of the parameter in ParameterInstance must use either the name of the Parameter or its alias. If it's an alias name, the alias namespace is supplied as an attribute. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, TimeAssociation?, AncillaryDataSet?, ParameterInstance) + /// + /// + public IndirectParameterRefEntryType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LocationInContainerInBitsXName = System.Xml.Linq.XName.Get("LocationInContainerInBits", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RepeatEntryXName = System.Xml.Linq.XName.Get("RepeatEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IncludeConditionXName = System.Xml.Linq.XName.Get("IncludeCondition", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TimeAssociationXName = System.Xml.Linq.XName.Get("TimeAssociation", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterInstanceXName = System.Xml.Linq.XName.Get("ParameterInstance", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, TimeAssociation?, AncillaryDataSet?, ParameterInstance) + /// + /// + public virtual ParameterInstanceRefType ParameterInstance { + get { + XElement x = this.GetElement(ParameterInstanceXName); + return ((ParameterInstanceRefType)(x)); + } + set { + this.SetElement(ParameterInstanceXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName aliasNameSpaceXName = System.Xml.Linq.XName.Get("aliasNameSpace", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string aliasNameSpace { + get { + XAttribute x = this.Attribute(aliasNameSpaceXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(aliasNameSpaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("IndirectParameterRefEntryType", "http://www.omg.org/spec/XTCE/20250214"); + + static IndirectParameterRefEntryType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LocationInContainerInBitsXName), new NamedContentModelEntity(RepeatEntryXName), new NamedContentModelEntity(IncludeConditionXName), new NamedContentModelEntity(TimeAssociationXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(ParameterInstanceXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LocationInContainerInBitsXName, typeof(LocationInContainerInBitsType)); + localElementDictionary.Add(RepeatEntryXName, typeof(RepeatType)); + localElementDictionary.Add(IncludeConditionXName, typeof(MatchCriteriaType)); + localElementDictionary.Add(TimeAssociationXName, typeof(TimeAssociationType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(ParameterInstanceXName, typeof(ParameterInstanceRefType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe the absolute or relative bit location of an entry in a container. The "referenceLocation" attribute specifies the starting bit anchor. If no referenceLocation value is given, the entry is assumed to begin at the first bit position after the previous entry. Each container starts at bit 0, thus "containerStart" is an offset from 0. Negative container start bits are before the container and are implementation dependent - these should be flagged as likely errors. "containerEnd" is given as a positive offset from the end of the container, thus a container end of 0 is exactly at the end of the container. Negative container end addresses are after the container and are implementation dependent - these should be flagged as likely errors. Positive "previouEntry" values are offsets from the previous entry - zero (0) is the default which means it follows contiguously from the last occupied bit of the previous entry. A value of one means it is offset 1-bit from the previous entry, and a value of negative 1 (-1) means it overlaps the previous entry by one bit, and so forth. The "nextEntry" attribute value is proposed for deprecation and should be avoided. See SequenceEntryType. + /// + /// + /// Regular expression: (FixedValue | DynamicValue | DiscreteLookupList) + /// + /// + public partial class LocationInContainerInBitsType : global::Omg.Xtce.IntegerValueType, IXMetaData { + + public static explicit operator LocationInContainerInBitsType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe the absolute or relative bit location of an entry in a container. The "referenceLocation" attribute specifies the starting bit anchor. If no referenceLocation value is given, the entry is assumed to begin at the first bit position after the previous entry. Each container starts at bit 0, thus "containerStart" is an offset from 0. Negative container start bits are before the container and are implementation dependent - these should be flagged as likely errors. "containerEnd" is given as a positive offset from the end of the container, thus a container end of 0 is exactly at the end of the container. Negative container end addresses are after the container and are implementation dependent - these should be flagged as likely errors. Positive "previouEntry" values are offsets from the previous entry - zero (0) is the default which means it follows contiguously from the last occupied bit of the previous entry. A value of one means it is offset 1-bit from the previous entry, and a value of negative 1 (-1) means it overlaps the previous entry by one bit, and so forth. The "nextEntry" attribute value is proposed for deprecation and should be avoided. See SequenceEntryType. + /// + /// + /// Regular expression: (FixedValue | DynamicValue | DiscreteLookupList) + /// + /// + public LocationInContainerInBitsType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FixedValueXName = System.Xml.Linq.XName.Get("FixedValue", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DynamicValueXName = System.Xml.Linq.XName.Get("DynamicValue", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DiscreteLookupListXName = System.Xml.Linq.XName.Get("DiscreteLookupList", "http://www.omg.org/spec/XTCE/20250214"); + + public LocationInContainerInBitsType(System.Int64? FixedValue) : + base(FixedValue) { + } + + public LocationInContainerInBitsType(DynamicValueType DynamicValue) : + base(DynamicValue) { + } + + public LocationInContainerInBitsType(DiscreteLookupListType DiscreteLookupList) : + base(DiscreteLookupList) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName referenceLocationXName = System.Xml.Linq.XName.Get("referenceLocation", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.ReferenceLocationType referenceLocationDefaultValue = Omg.Xtce.ReferenceLocationType.previousEntry; + + /// + /// + /// Defines the relative reference used to interpret the start bit position. The default is 0 bits from the end of the previousEntry, which makes the entry contiguous. + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.ReferenceLocationType referenceLocation { + get { + XAttribute x = this.Attribute(referenceLocationXName); + if ((x == null)) { + return referenceLocationDefaultValue; + } + return ((Omg.Xtce.ReferenceLocationType)(Enum.Parse(typeof(Omg.Xtce.ReferenceLocationType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.ReferenceLocationTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(referenceLocationXName, value.ToString(), "referenceLocation", global::Omg.Xtce.ReferenceLocationTypeValidator.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("LocationInContainerInBitsType", "http://www.omg.org/spec/XTCE/20250214"); + + static LocationInContainerInBitsType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(FixedValueXName), new NamedContentModelEntity(DynamicValueXName), new NamedContentModelEntity(DiscreteLookupListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(FixedValueXName, typeof(long)); + localElementDictionary.Add(DynamicValueXName, typeof(DynamicValueType)); + localElementDictionary.Add(DiscreteLookupListXName, typeof(DiscreteLookupListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to LocationInContainerInBitsType but supports argument instance references. + /// + /// + /// Regular expression: (FixedValue | DynamicValue | DiscreteLookupList) + /// + /// + public partial class ArgumentLocationInContainerInBitsType : global::Omg.Xtce.ArgumentIntegerValueType, IXMetaData { + + public static explicit operator ArgumentLocationInContainerInBitsType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to LocationInContainerInBitsType but supports argument instance references. + /// + /// + /// Regular expression: (FixedValue | DynamicValue | DiscreteLookupList) + /// + /// + public ArgumentLocationInContainerInBitsType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FixedValueXName = System.Xml.Linq.XName.Get("FixedValue", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DynamicValueXName = System.Xml.Linq.XName.Get("DynamicValue", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DiscreteLookupListXName = System.Xml.Linq.XName.Get("DiscreteLookupList", "http://www.omg.org/spec/XTCE/20250214"); + + public ArgumentLocationInContainerInBitsType(System.Int64? FixedValue) : + base(FixedValue) { + } + + public ArgumentLocationInContainerInBitsType(ArgumentDynamicValueType DynamicValue) : + base(DynamicValue) { + } + + public ArgumentLocationInContainerInBitsType(ArgumentDiscreteLookupListType DiscreteLookupList) : + base(DiscreteLookupList) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName referenceLocationXName = System.Xml.Linq.XName.Get("referenceLocation", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.ReferenceLocationType referenceLocationDefaultValue = Omg.Xtce.ReferenceLocationType.previousEntry; + + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.ReferenceLocationType referenceLocation { + get { + XAttribute x = this.Attribute(referenceLocationXName); + if ((x == null)) { + return referenceLocationDefaultValue; + } + return ((Omg.Xtce.ReferenceLocationType)(Enum.Parse(typeof(Omg.Xtce.ReferenceLocationType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.ReferenceLocationTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(referenceLocationXName, value.ToString(), "referenceLocation", global::Omg.Xtce.ReferenceLocationTypeValidator.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentLocationInContainerInBitsType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentLocationInContainerInBitsType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(FixedValueXName), new NamedContentModelEntity(DynamicValueXName), new NamedContentModelEntity(DiscreteLookupListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(FixedValueXName, typeof(long)); + localElementDictionary.Add(DynamicValueXName, typeof(ArgumentDynamicValueType)); + localElementDictionary.Add(DiscreteLookupListXName, typeof(ArgumentDiscreteLookupListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Holds a reference to a message + /// + /// + public partial class MessageRefType : XTypedElement, IXMetaData { + + public static explicit operator MessageRefType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Holds a reference to a message + /// + /// + public MessageRefType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName messageRefXName = System.Xml.Linq.XName.Get("messageRef", ""); + + /// + /// + /// name of message + /// + /// + /// Occurrence: required + /// + /// + public virtual string messageRef { + get { + XAttribute x = this.Attribute(messageRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(messageRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("MessageRefType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// An entry that is a single Parameter + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, TimeAssociation?, AncillaryDataSet?) + /// + /// + public partial class ParameterRefEntryType : global::Omg.Xtce.SequenceEntryType, IXMetaData { + + public static explicit operator ParameterRefEntryType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// An entry that is a single Parameter + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, TimeAssociation?, AncillaryDataSet?) + /// + /// + public ParameterRefEntryType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LocationInContainerInBitsXName = System.Xml.Linq.XName.Get("LocationInContainerInBits", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RepeatEntryXName = System.Xml.Linq.XName.Get("RepeatEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IncludeConditionXName = System.Xml.Linq.XName.Get("IncludeCondition", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TimeAssociationXName = System.Xml.Linq.XName.Get("TimeAssociation", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName parameterRefXName = System.Xml.Linq.XName.Get("parameterRef", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string parameterRef { + get { + XAttribute x = this.Attribute(parameterRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(parameterRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ParameterRefEntryType", "http://www.omg.org/spec/XTCE/20250214"); + + static ParameterRefEntryType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LocationInContainerInBitsXName), new NamedContentModelEntity(RepeatEntryXName), new NamedContentModelEntity(IncludeConditionXName), new NamedContentModelEntity(TimeAssociationXName), new NamedContentModelEntity(AncillaryDataSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LocationInContainerInBitsXName, typeof(LocationInContainerInBitsType)); + localElementDictionary.Add(RepeatEntryXName, typeof(RepeatType)); + localElementDictionary.Add(IncludeConditionXName, typeof(MatchCriteriaType)); + localElementDictionary.Add(TimeAssociationXName, typeof(TimeAssociationType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// An entry that is only a portion of a parameter value indicating that the entire parameter value must be assembled from other parameter segments. It is assumed that parameter segments happen sequentially in time, that is the first part if a telemetry parameter first, however (and there's always a however), if this is not the case the order of this parameter segment may be supplied with the order attribute where the first segment order="0". + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, TimeAssociation?, AncillaryDataSet?) + /// + /// + public partial class ParameterSegmentRefEntryType : global::Omg.Xtce.SequenceEntryType, IXMetaData { + + public static explicit operator ParameterSegmentRefEntryType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// An entry that is only a portion of a parameter value indicating that the entire parameter value must be assembled from other parameter segments. It is assumed that parameter segments happen sequentially in time, that is the first part if a telemetry parameter first, however (and there's always a however), if this is not the case the order of this parameter segment may be supplied with the order attribute where the first segment order="0". + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, TimeAssociation?, AncillaryDataSet?) + /// + /// + public ParameterSegmentRefEntryType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LocationInContainerInBitsXName = System.Xml.Linq.XName.Get("LocationInContainerInBits", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RepeatEntryXName = System.Xml.Linq.XName.Get("RepeatEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IncludeConditionXName = System.Xml.Linq.XName.Get("IncludeCondition", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TimeAssociationXName = System.Xml.Linq.XName.Get("TimeAssociation", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName parameterRefXName = System.Xml.Linq.XName.Get("parameterRef", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string parameterRef { + get { + XAttribute x = this.Attribute(parameterRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(parameterRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName orderXName = System.Xml.Linq.XName.Get("order", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Int64? order { + get { + XAttribute x = this.Attribute(orderXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(orderXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName sizeInBitsXName = System.Xml.Linq.XName.Get("sizeInBits", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual long sizeInBits { + get { + XAttribute x = this.Attribute(sizeInBitsXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(sizeInBitsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ParameterSegmentRefEntryType", "http://www.omg.org/spec/XTCE/20250214"); + + static ParameterSegmentRefEntryType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LocationInContainerInBitsXName), new NamedContentModelEntity(RepeatEntryXName), new NamedContentModelEntity(IncludeConditionXName), new NamedContentModelEntity(TimeAssociationXName), new NamedContentModelEntity(AncillaryDataSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LocationInContainerInBitsXName, typeof(LocationInContainerInBitsType)); + localElementDictionary.Add(RepeatEntryXName, typeof(RepeatType)); + localElementDictionary.Add(IncludeConditionXName, typeof(MatchCriteriaType)); + localElementDictionary.Add(TimeAssociationXName, typeof(TimeAssociationType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describes the binary layout/packing of data and also related properties, including an entry list of parameters, parameter segments, array parameters, stream segments, containers, and container segments. Sequence containers may extend other sequence containers (see BaseContainerType). The parent container's entries are placed before the entries in the child container forming one entry list. An inheritance chain may be formed using this mechanism, but only one entry list is being created. Sequence containers may be marked as "abstract", when this occurs an instance of it cannot itself be created. The idle pattern is part of any unallocated space in the container. See EntryListType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, DefaultRateInStream?, RateInStreamSet?, BinaryEncoding?, EntryList, BaseContainer?) + /// + /// + public partial class SequenceContainerType : global::Omg.Xtce.ContainerType, IXMetaData { + + public static explicit operator SequenceContainerType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describes the binary layout/packing of data and also related properties, including an entry list of parameters, parameter segments, array parameters, stream segments, containers, and container segments. Sequence containers may extend other sequence containers (see BaseContainerType). The parent container's entries are placed before the entries in the child container forming one entry list. An inheritance chain may be formed using this mechanism, but only one entry list is being created. Sequence containers may be marked as "abstract", when this occurs an instance of it cannot itself be created. The idle pattern is part of any unallocated space in the container. See EntryListType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, DefaultRateInStream?, RateInStreamSet?, BinaryEncoding?, EntryList, BaseContainer?) + /// + /// + public SequenceContainerType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DefaultRateInStreamXName = System.Xml.Linq.XName.Get("DefaultRateInStream", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RateInStreamSetXName = System.Xml.Linq.XName.Get("RateInStreamSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryEncodingXName = System.Xml.Linq.XName.Get("BinaryEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EntryListXName = System.Xml.Linq.XName.Get("EntryList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// List of item entries to pack/encode into this container definition. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, DefaultRateInStream?, RateInStreamSet?, BinaryEncoding?, EntryList, BaseContainer?) + /// + /// + public virtual EntryListType EntryList { + get { + XElement x = this.GetElement(EntryListXName); + return ((EntryListType)(x)); + } + set { + this.SetElement(EntryListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BaseContainerXName = System.Xml.Linq.XName.Get("BaseContainer", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Optional inheritance for this container from another named container. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, DefaultRateInStream?, RateInStreamSet?, BinaryEncoding?, EntryList, BaseContainer?) + /// + /// + public virtual BaseContainerType BaseContainer { + get { + XElement x = this.GetElement(BaseContainerXName); + if ((x == null)) { + return null; + } + return ((BaseContainerType)(x)); + } + set { + this.SetElement(BaseContainerXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName @abstractXName = System.Xml.Linq.XName.Get("abstract", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool @abstractDefaultValue = System.Xml.XmlConvert.ToBoolean("false"); + + /// + /// + /// Abstract container definitions that are not instantiated, rather only used as bases to inherit from to create specialized container definitions. + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool @abstract { + get { + XAttribute x = this.Attribute(@abstractXName); + if ((x == null)) { + return @abstractDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(@abstractXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName idlePatternXName = System.Xml.Linq.XName.Get("idlePattern", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static decimal idlePatternDefaultValue = System.Xml.XmlConvert.ToDecimal("0"); + + /// + /// + /// The idle pattern is part of any unallocated space in the container. This is uncommon. + /// + /// + /// Occurrence: optional + /// + /// + public virtual object idlePattern { + get { + XAttribute x = this.Attribute(idlePatternXName); + if ((x == null)) { + return idlePatternDefaultValue; + } + return XTypedServices.ParseUnionValue(x, global::Omg.Xtce.FixedIntegerValueType.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "idlePattern", this, idlePatternXName, global::Omg.Xtce.FixedIntegerValueType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SequenceContainerType", "http://www.omg.org/spec/XTCE/20250214"); + + static SequenceContainerType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(DefaultRateInStreamXName), new NamedContentModelEntity(RateInStreamSetXName), new NamedContentModelEntity(BinaryEncodingXName), new NamedContentModelEntity(EntryListXName), new NamedContentModelEntity(BaseContainerXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(DefaultRateInStreamXName, typeof(RateInStreamType)); + localElementDictionary.Add(RateInStreamSetXName, typeof(RateInStreamSetType)); + localElementDictionary.Add(BinaryEncodingXName, typeof(ContainerBinaryDataEncodingType)); + localElementDictionary.Add(EntryListXName, typeof(EntryListType)); + localElementDictionary.Add(BaseContainerXName, typeof(BaseContainerType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Defines an abstract schema type used to create other entry types. Describe an entry's location in the container (See LocationInContainerInBitsType). The location may be fixed or dynamic, absolute or relative. Entries may be included depending on the value of a condition (See IncludeConditionType), and entries may also repeat (see RepeatEntryType). The entry's IncludeCondition resolves to true, it is fully-resolved when its size is computable after RepeatEntry has been accounted for and then offset by LocationInContainer. See EntryListType, IncludeConditionType, RepeatEntryType and LocationInContainerInBitsType. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, TimeAssociation?, AncillaryDataSet?) + /// + /// + public abstract partial class SequenceEntryType : XTypedElement, IXMetaData { + + public static explicit operator SequenceEntryType(XElement xe) { return (SequenceEntryType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// Defines an abstract schema type used to create other entry types. Describe an entry's location in the container (See LocationInContainerInBitsType). The location may be fixed or dynamic, absolute or relative. Entries may be included depending on the value of a condition (See IncludeConditionType), and entries may also repeat (see RepeatEntryType). The entry's IncludeCondition resolves to true, it is fully-resolved when its size is computable after RepeatEntry has been accounted for and then offset by LocationInContainer. See EntryListType, IncludeConditionType, RepeatEntryType and LocationInContainerInBitsType. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, TimeAssociation?, AncillaryDataSet?) + /// + /// + public SequenceEntryType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LocationInContainerInBitsXName = System.Xml.Linq.XName.Get("LocationInContainerInBits", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// The start bit 0 position for each container is local to the container, but does include space occupied by inherited containers. When a container is "included", as opposed to inherited, then the interpreting implementation takes into account the start bit position of the referring container when finally assembling the start bits for the post-processed entry content. The default start bit for any entry is 0 bits from the previous entry, making the content contiguous when this element is not used. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, TimeAssociation?, AncillaryDataSet?) + /// + /// + public virtual LocationInContainerInBitsType LocationInContainerInBits { + get { + XElement x = this.GetElement(LocationInContainerInBitsXName); + if ((x == null)) { + return null; + } + return ((LocationInContainerInBitsType)(x)); + } + set { + this.SetElement(LocationInContainerInBitsXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RepeatEntryXName = System.Xml.Linq.XName.Get("RepeatEntry", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// May be used when this entry repeats itself in the sequence container. When an entry repeats, it effectively specifies that the same entry is reported more than once in the container and has the same physical meaning. This should not be construed to be equivalent to arrays. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, TimeAssociation?, AncillaryDataSet?) + /// + /// + public virtual RepeatType RepeatEntry { + get { + XElement x = this.GetElement(RepeatEntryXName); + if ((x == null)) { + return null; + } + return ((RepeatType)(x)); + } + set { + this.SetElement(RepeatEntryXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IncludeConditionXName = System.Xml.Linq.XName.Get("IncludeCondition", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// This entry will only be included in the sequence when this condition is true, otherwise it is always included. When the include condition evaluates to false, it is as if the entry does not exist such that any start bit interpretations cannot take into account the space that would have been occupied if this included condition were true. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, TimeAssociation?, AncillaryDataSet?) + /// + /// + public virtual MatchCriteriaType IncludeCondition { + get { + XElement x = this.GetElement(IncludeConditionXName); + if ((x == null)) { + return null; + } + return ((MatchCriteriaType)(x)); + } + set { + this.SetElement(IncludeConditionXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TimeAssociationXName = System.Xml.Linq.XName.Get("TimeAssociation", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Optional timing information associated with this entry. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, TimeAssociation?, AncillaryDataSet?) + /// + /// + public virtual TimeAssociationType TimeAssociation { + get { + XElement x = this.GetElement(TimeAssociationXName); + if ((x == null)) { + return null; + } + return ((TimeAssociationType)(x)); + } + set { + this.SetElement(TimeAssociationXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Optional ancillary data associated with this element. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, TimeAssociation?, AncillaryDataSet?) + /// + /// + public virtual AncillaryDataSetType AncillaryDataSet { + get { + XElement x = this.GetElement(AncillaryDataSetXName); + if ((x == null)) { + return null; + } + return ((AncillaryDataSetType)(x)); + } + set { + this.SetElement(AncillaryDataSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName shortDescriptionXName = System.Xml.Linq.XName.Get("shortDescription", ""); + + /// + /// + /// Optional short description for this entry element. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string shortDescription { + get { + XAttribute x = this.Attribute(shortDescriptionXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(shortDescriptionXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SequenceEntryType", "http://www.omg.org/spec/XTCE/20250214"); + + static SequenceEntryType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LocationInContainerInBitsXName), new NamedContentModelEntity(RepeatEntryXName), new NamedContentModelEntity(IncludeConditionXName), new NamedContentModelEntity(TimeAssociationXName), new NamedContentModelEntity(AncillaryDataSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LocationInContainerInBitsXName, typeof(LocationInContainerInBitsType)); + localElementDictionary.Add(RepeatEntryXName, typeof(RepeatType)); + localElementDictionary.Add(IncludeConditionXName, typeof(MatchCriteriaType)); + localElementDictionary.Add(TimeAssociationXName, typeof(TimeAssociationType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to a SequenceEntryType but supports argument instance references. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?) + /// + /// + public abstract partial class ArgumentSequenceEntryType : XTypedElement, IXMetaData { + + public static explicit operator ArgumentSequenceEntryType(XElement xe) { return (ArgumentSequenceEntryType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// Identical to a SequenceEntryType but supports argument instance references. + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?) + /// + /// + public ArgumentSequenceEntryType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LocationInContainerInBitsXName = System.Xml.Linq.XName.Get("LocationInContainerInBits", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// The start bit 0 position for each container is local to the container, but does include space occupied by inherited containers. When a container is "included", as opposed to inherited, then the interpreting implementation takes into account the start bit position of the referring container when finally assembling the start bits for the post-processed entry content. The default start bit for any entry is 0 bits from the previous entry, making the content contiguous when this element is not used. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?) + /// + /// + public virtual ArgumentLocationInContainerInBitsType LocationInContainerInBits { + get { + XElement x = this.GetElement(LocationInContainerInBitsXName); + if ((x == null)) { + return null; + } + return ((ArgumentLocationInContainerInBitsType)(x)); + } + set { + this.SetElement(LocationInContainerInBitsXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RepeatEntryXName = System.Xml.Linq.XName.Get("RepeatEntry", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// May be used when this entry repeats itself in the sequence container. When an entry repeats, it effectively specifies that the same entry is reported more than once in the container and has the same physical meaning. This should not be construed to be equivalent to arrays. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?) + /// + /// + public virtual ArgumentRepeatType RepeatEntry { + get { + XElement x = this.GetElement(RepeatEntryXName); + if ((x == null)) { + return null; + } + return ((ArgumentRepeatType)(x)); + } + set { + this.SetElement(RepeatEntryXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IncludeConditionXName = System.Xml.Linq.XName.Get("IncludeCondition", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// This entry will only be included in the sequence when this condition is true, otherwise it is always included. When the include condition evaluates to false, it is as if the entry does not exist such that any start bit interpretations cannot take into account the space that would have been occupied if this included condition were true. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?) + /// + /// + public virtual ArgumentMatchCriteriaType IncludeCondition { + get { + XElement x = this.GetElement(IncludeConditionXName); + if ((x == null)) { + return null; + } + return ((ArgumentMatchCriteriaType)(x)); + } + set { + this.SetElement(IncludeConditionXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Ancillary data associated with this entry. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, AncillaryDataSet?) + /// + /// + public virtual AncillaryDataSetType AncillaryDataSet { + get { + XElement x = this.GetElement(AncillaryDataSetXName); + if ((x == null)) { + return null; + } + return ((AncillaryDataSetType)(x)); + } + set { + this.SetElement(AncillaryDataSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName shortDescriptionXName = System.Xml.Linq.XName.Get("shortDescription", ""); + + /// + /// + /// Optional short description for this entry element. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string shortDescription { + get { + XAttribute x = this.Attribute(shortDescriptionXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(shortDescriptionXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentSequenceEntryType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentSequenceEntryType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LocationInContainerInBitsXName), new NamedContentModelEntity(RepeatEntryXName), new NamedContentModelEntity(IncludeConditionXName), new NamedContentModelEntity(AncillaryDataSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LocationInContainerInBitsXName, typeof(ArgumentLocationInContainerInBitsType)); + localElementDictionary.Add(RepeatEntryXName, typeof(ArgumentRepeatType)); + localElementDictionary.Add(IncludeConditionXName, typeof(ArgumentMatchCriteriaType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Holds a set of services, logical groups of containers OR messages (not both). + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (MessageRefSet | ContainerRefSet)) + /// + /// + public partial class ServiceType : global::Omg.Xtce.NameDescriptionType, IXMetaData { + + public static explicit operator ServiceType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Holds a set of services, logical groups of containers OR messages (not both). + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (MessageRefSet | ContainerRefSet)) + /// + /// + public ServiceType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MessageRefSetXName = System.Xml.Linq.XName.Get("MessageRefSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (MessageRefSet | ContainerRefSet)) + /// + /// + public virtual MessageRefSetType MessageRefSet { + get { + XElement x = this.GetElement(MessageRefSetXName); + if ((x == null)) { + return null; + } + return ((MessageRefSetType)(x)); + } + set { + this.SetElement(MessageRefSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContainerRefSetXName = System.Xml.Linq.XName.Get("ContainerRefSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (MessageRefSet | ContainerRefSet)) + /// + /// + public virtual ContainerRefSetType ContainerRefSet { + get { + XElement x = this.GetElement(ContainerRefSetXName); + if ((x == null)) { + return null; + } + return ((ContainerRefSetType)(x)); + } + set { + this.SetElement(ContainerRefSetXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ServiceType", "http://www.omg.org/spec/XTCE/20250214"); + + static ServiceType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(MessageRefSetXName), new NamedContentModelEntity(ContainerRefSetXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(MessageRefSetXName, typeof(MessageRefSetType)); + localElementDictionary.Add(ContainerRefSetXName, typeof(ContainerRefSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// An entry that is a portion of a stream (streams are by definition, assumed continuous) It is assumed that stream segments happen sequentially in time, that is the first part if a steam first, however, if this is not the case the order of the stream segments may be supplied with the order attribute where the first segment order="0". + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, TimeAssociation?, AncillaryDataSet?) + /// + /// + public partial class StreamSegmentEntryType : global::Omg.Xtce.SequenceEntryType, IXMetaData { + + public static explicit operator StreamSegmentEntryType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// An entry that is a portion of a stream (streams are by definition, assumed continuous) It is assumed that stream segments happen sequentially in time, that is the first part if a steam first, however, if this is not the case the order of the stream segments may be supplied with the order attribute where the first segment order="0". + /// + /// + /// Regular expression: (LocationInContainerInBits?, RepeatEntry?, IncludeCondition?, TimeAssociation?, AncillaryDataSet?) + /// + /// + public StreamSegmentEntryType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LocationInContainerInBitsXName = System.Xml.Linq.XName.Get("LocationInContainerInBits", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RepeatEntryXName = System.Xml.Linq.XName.Get("RepeatEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IncludeConditionXName = System.Xml.Linq.XName.Get("IncludeCondition", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TimeAssociationXName = System.Xml.Linq.XName.Get("TimeAssociation", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName streamRefXName = System.Xml.Linq.XName.Get("streamRef", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string streamRef { + get { + XAttribute x = this.Attribute(streamRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(streamRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName orderXName = System.Xml.Linq.XName.Get("order", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Int64? order { + get { + XAttribute x = this.Attribute(orderXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(orderXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName sizeInBitsXName = System.Xml.Linq.XName.Get("sizeInBits", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual long sizeInBits { + get { + XAttribute x = this.Attribute(sizeInBitsXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(sizeInBitsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("StreamSegmentEntryType", "http://www.omg.org/spec/XTCE/20250214"); + + static StreamSegmentEntryType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LocationInContainerInBitsXName), new NamedContentModelEntity(RepeatEntryXName), new NamedContentModelEntity(IncludeConditionXName), new NamedContentModelEntity(TimeAssociationXName), new NamedContentModelEntity(AncillaryDataSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LocationInContainerInBitsXName, typeof(LocationInContainerInBitsType)); + localElementDictionary.Add(RepeatEntryXName, typeof(RepeatType)); + localElementDictionary.Add(IncludeConditionXName, typeof(MatchCriteriaType)); + localElementDictionary.Add(TimeAssociationXName, typeof(TimeAssociationType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, MatchCriteria, ContainerRef) + /// + /// + public partial class MessageType : global::Omg.Xtce.NameDescriptionType, IXMetaData { + + public static explicit operator MessageType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, MatchCriteria, ContainerRef) + /// + /// + public MessageType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MatchCriteriaXName = System.Xml.Linq.XName.Get("MatchCriteria", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, MatchCriteria, ContainerRef) + /// + /// + public virtual MatchCriteriaType MatchCriteria { + get { + XElement x = this.GetElement(MatchCriteriaXName); + return ((MatchCriteriaType)(x)); + } + set { + this.SetElement(MatchCriteriaXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContainerRefXName = System.Xml.Linq.XName.Get("ContainerRef", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// The ContainerRef should point to ROOT container that will describe an entire packet/minor frame or chunk of telemetry. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, MatchCriteria, ContainerRef) + /// + /// + public virtual ContainerRefType ContainerRef { + get { + XElement x = this.GetElement(ContainerRefXName); + return ((ContainerRefType)(x)); + } + set { + this.SetElement(ContainerRefXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("MessageType", "http://www.omg.org/spec/XTCE/20250214"); + + static MessageType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(MatchCriteriaXName), new NamedContentModelEntity(ContainerRefXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(MatchCriteriaXName, typeof(MatchCriteriaType)); + localElementDictionary.Add(ContainerRefXName, typeof(ContainerRefType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Message+) + /// + /// + public partial class MessageSetType : global::Omg.Xtce.OptionalNameDescriptionType, IXMetaData { + + public static explicit operator MessageSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Message+) + /// + /// + public MessageSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MessageXName = System.Xml.Linq.XName.Get("Message", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList MessageField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Message+) + /// + /// + public virtual IList Message { + get { + if ((this.MessageField == null)) { + this.MessageField = new XTypedList(this, LinqToXsdTypeManager.Instance, MessageXName); + } + return this.MessageField; + } + set { + if ((value == null)) { + this.MessageField = null; + } + else { + if ((this.MessageField == null)) { + this.MessageField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, MessageXName); + } + else { + XTypedServices.SetList(this.MessageField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("MessageSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static MessageSetType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(MessageXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(MessageXName, typeof(MessageType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (RateInStream+) + /// + /// + public partial class RateInStreamSetType : XTypedElement, IXMetaData { + + public static explicit operator RateInStreamSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (RateInStream+) + /// + /// + public RateInStreamSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RateInStreamXName = System.Xml.Linq.XName.Get("RateInStream", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList RateInStreamField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (RateInStream+) + /// + /// + public virtual IList RateInStream { + get { + if ((this.RateInStreamField == null)) { + this.RateInStreamField = new XTypedList(this, LinqToXsdTypeManager.Instance, RateInStreamXName); + } + return this.RateInStreamField; + } + set { + if ((value == null)) { + this.RateInStreamField = null; + } + else { + if ((this.RateInStreamField == null)) { + this.RateInStreamField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, RateInStreamXName); + } + else { + XTypedServices.SetList(this.RateInStreamField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("RateInStreamSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static RateInStreamSetType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(RateInStreamXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(RateInStreamXName, typeof(RateInStreamWithStreamNameType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Define the expected appearance (rate) of a container in a stream where the rate is defined on either a perSecond or perContainer update basis. Many programs and platforms have variable reporting rates for containers and these can be commanded. As a result, this element is only useful to some users and generally does not affect the processing of the received containers themselves. See ContainerType. + /// + /// + public partial class RateInStreamType : XTypedElement, IXMetaData { + + public static explicit operator RateInStreamType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Define the expected appearance (rate) of a container in a stream where the rate is defined on either a perSecond or perContainer update basis. Many programs and platforms have variable reporting rates for containers and these can be commanded. As a result, this element is only useful to some users and generally does not affect the processing of the received containers themselves. See ContainerType. + /// + /// + public RateInStreamType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName basisXName = System.Xml.Linq.XName.Get("basis", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.BasisType basisDefaultValue = Omg.Xtce.BasisType.perSecond; + + /// + /// + /// The measurement unit basis for the minimum and maximum appearance count values. + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.BasisType basis { + get { + XAttribute x = this.Attribute(basisXName); + if ((x == null)) { + return basisDefaultValue; + } + return ((Omg.Xtce.BasisType)(Enum.Parse(typeof(Omg.Xtce.BasisType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.BasisTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(basisXName, value.ToString(), "basis", global::Omg.Xtce.BasisTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName minimumValueXName = System.Xml.Linq.XName.Get("minimumValue", ""); + + /// + /// + /// The minimum rate for the specified basis for which this container should appear in the stream. + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Double? minimumValue { + get { + XAttribute x = this.Attribute(minimumValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + set { + this.SetAttribute(minimumValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName maximumValueXName = System.Xml.Linq.XName.Get("maximumValue", ""); + + /// + /// + /// The maximum rate for the specified basis for which this container should appear in the stream. + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Double? maximumValue { + get { + XAttribute x = this.Attribute(maximumValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + set { + this.SetAttribute(maximumValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("RateInStreamType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Define the expected appearance (rate) of a container in a named stream where the rate is defined on either a perSecond or perContainer update basis. Many programs and platforms have variable reporting rates for containers and these can be commanded. As a result, this element is only useful to some users and generally does not affect the processing of the received containers themselves. See ContainerType and RateInStreamType. + /// + /// + public partial class RateInStreamWithStreamNameType : global::Omg.Xtce.RateInStreamType, IXMetaData { + + public static explicit operator RateInStreamWithStreamNameType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Define the expected appearance (rate) of a container in a named stream where the rate is defined on either a perSecond or perContainer update basis. Many programs and platforms have variable reporting rates for containers and these can be commanded. As a result, this element is only useful to some users and generally does not affect the processing of the received containers themselves. See ContainerType and RateInStreamType. + /// + /// + public RateInStreamWithStreamNameType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName streamRefXName = System.Xml.Linq.XName.Get("streamRef", ""); + + /// + /// + /// Reference to a named stream for which this rate specification applies. + /// + /// + /// Occurrence: required + /// + /// + public virtual string streamRef { + get { + XAttribute x = this.Attribute(streamRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(streamRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("RateInStreamWithStreamNameType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// The location may be relative to the start of the container (containerStart), relative to the end of the previous entry (previousEntry), relative to the end of the container (containerEnd), or relative to the entry that follows this one (nextEntry). If going forward (containerStart and previousEntry) then the location refers to the start of the Entry. If going backwards (containerEnd and nextEntry) then, the location refers to the end of the entry. + /// + /// + public enum ReferenceLocationType { + + containerStart, + + containerEnd, + + previousEntry, + + nextEntry, + } + + /// + /// + /// The location may be relative to the start of the container (containerStart), relative to the end of the previous entry (previousEntry), relative to the end of the container (containerEnd), or relative to the entry that follows this one (nextEntry). If going forward (containerStart and previousEntry) then the location refers to the start of the Entry. If going backwards (containerEnd and nextEntry) then, the location refers to the end of the entry. + /// + /// + public sealed class ReferenceLocationTypeValidator { + + private ReferenceLocationTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "containerStart", + "containerEnd", + "previousEntry", + "nextEntry"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public enum ReferencePointType { + + start, + + end, + } + + public sealed class ReferencePointTypeValidator { + + private ReferencePointTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "start", + "end"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Define one or more conditions (constraints) for container inheritance. A container is instantiable if its constraints are true. Constraint conditions may be a comparison, a list of comparisons, a boolean expression, or a graph of containers that are instantiable (if all containers are instantiable the condition is true). See BaseContainerType, ComparisonType, ComparisonListType, BooleanExpressionType and NextContainerType. + /// + /// + /// Regular expression: ((Comparison | ComparisonList | BooleanExpression | CustomAlgorithm), NextContainer?) + /// + /// + public partial class RestrictionCriteriaType : global::Omg.Xtce.MatchCriteriaType, IXMetaData { + + public static explicit operator RestrictionCriteriaType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Define one or more conditions (constraints) for container inheritance. A container is instantiable if its constraints are true. Constraint conditions may be a comparison, a list of comparisons, a boolean expression, or a graph of containers that are instantiable (if all containers are instantiable the condition is true). See BaseContainerType, ComparisonType, ComparisonListType, BooleanExpressionType and NextContainerType. + /// + /// + /// Regular expression: ((Comparison | ComparisonList | BooleanExpression | CustomAlgorithm), NextContainer?) + /// + /// + public RestrictionCriteriaType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonXName = System.Xml.Linq.XName.Get("Comparison", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonListXName = System.Xml.Linq.XName.Get("ComparisonList", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BooleanExpressionXName = System.Xml.Linq.XName.Get("BooleanExpression", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlgorithmXName = System.Xml.Linq.XName.Get("CustomAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName NextContainerXName = System.Xml.Linq.XName.Get("NextContainer", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Reference to the named container that must follow this container in the stream sequence. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: ((Comparison | ComparisonList | BooleanExpression | CustomAlgorithm), NextContainer?) + /// + /// + public virtual ContainerRefType NextContainer { + get { + XElement x = this.GetElement(NextContainerXName); + if ((x == null)) { + return null; + } + return ((ContainerRefType)(x)); + } + set { + this.SetElement(NextContainerXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("RestrictionCriteriaType", "http://www.omg.org/spec/XTCE/20250214"); + + static RestrictionCriteriaType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(ComparisonXName), new NamedContentModelEntity(ComparisonListXName), new NamedContentModelEntity(BooleanExpressionXName), new NamedContentModelEntity(CustomAlgorithmXName)), new NamedContentModelEntity(NextContainerXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ComparisonXName, typeof(ComparisonType)); + localElementDictionary.Add(ComparisonListXName, typeof(ComparisonListType)); + localElementDictionary.Add(BooleanExpressionXName, typeof(BooleanExpressionType)); + localElementDictionary.Add(CustomAlgorithmXName, typeof(InputAlgorithmType)); + localElementDictionary.Add(NextContainerXName, typeof(ContainerRefType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an absolute time parameter type relative to a known epoch (such as TAI). The string representation of this time should use the [ISO 8601] extended format CCYY-MM-DDThh:mm:ss where "CC" represents the century, "YY" the year, "MM" the month and "DD" the day, preceded by an optional leading "-" sign to indicate a negative number. If the sign is omitted, "+" is assumed. The letter "T" is the date/time separator and "hh", "mm", "ss" represent hour, minute and second respectively. Additional digits can be used to increase the precision of fractional seconds if desired i.e. the format ss.ss... with any number of digits after the decimal point is supported. See TAIType, IntegerDataEncoding and AbsoluteTimeDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Encoding?, ReferenceTime?) + /// + /// + public partial class AbsoluteTimeParameterType : global::Omg.Xtce.AbsoluteTimeDataType, IXMetaData { + + public static explicit operator AbsoluteTimeParameterType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an absolute time parameter type relative to a known epoch (such as TAI). The string representation of this time should use the [ISO 8601] extended format CCYY-MM-DDThh:mm:ss where "CC" represents the century, "YY" the year, "MM" the month and "DD" the day, preceded by an optional leading "-" sign to indicate a negative number. If the sign is omitted, "+" is assumed. The letter "T" is the date/time separator and "hh", "mm", "ss" represent hour, minute and second respectively. Additional digits can be used to increase the precision of fractional seconds if desired i.e. the format ss.ss... with any number of digits after the decimal point is supported. See TAIType, IntegerDataEncoding and AbsoluteTimeDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Encoding?, ReferenceTime?) + /// + /// + public AbsoluteTimeParameterType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EncodingXName = System.Xml.Linq.XName.Get("Encoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ReferenceTimeXName = System.Xml.Linq.XName.Get("ReferenceTime", "http://www.omg.org/spec/XTCE/20250214"); + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("AbsoluteTimeParameterType", "http://www.omg.org/spec/XTCE/20250214"); + + static AbsoluteTimeParameterType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(EncodingXName), new NamedContentModelEntity(ReferenceTimeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(EncodingXName, typeof(EncodingType)); + localElementDictionary.Add(ReferenceTimeXName, typeof(ReferenceTimeType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a complex data type analogous to a C-struct. Each field of the data type is called a Member. Each Member is part of the MemberList which forms the list of items to be placed under this data type's name. The MemberList defines a data block and block's size is defined by the DataEncodings of each Member's type reference. The data members are ordered and contiguous in the MemberList element (packed). Each member may be addressed by the dot syntax similar to C such as P.voltage if P is the referring parameter and voltage is of a member of P's aggregate type. See MemberType, MemberListType, DataEncodingType, NameReferenceType, and AggregateDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, MemberList) + /// + /// + public partial class AggregateParameterType : global::Omg.Xtce.AggregateDataType, IXMetaData { + + public static explicit operator AggregateParameterType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a complex data type analogous to a C-struct. Each field of the data type is called a Member. Each Member is part of the MemberList which forms the list of items to be placed under this data type's name. The MemberList defines a data block and block's size is defined by the DataEncodings of each Member's type reference. The data members are ordered and contiguous in the MemberList element (packed). Each member may be addressed by the dot syntax similar to C such as P.voltage if P is the referring parameter and voltage is of a member of P's aggregate type. See MemberType, MemberListType, DataEncodingType, NameReferenceType, and AggregateDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, MemberList) + /// + /// + public AggregateParameterType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MemberListXName = System.Xml.Linq.XName.Get("MemberList", "http://www.omg.org/spec/XTCE/20250214"); + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("AggregateParameterType", "http://www.omg.org/spec/XTCE/20250214"); + + static AggregateParameterType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(MemberListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(MemberListXName, typeof(MemberListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an array parameter type. The size and number of dimensions are described here. See ArrayParameterRefEntryType, NameReferenceType and ArrayDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, DimensionList) + /// + /// + public partial class ArrayParameterType : global::Omg.Xtce.ArrayDataTypeType, IXMetaData { + + public static explicit operator ArrayParameterType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an array parameter type. The size and number of dimensions are described here. See ArrayParameterRefEntryType, NameReferenceType and ArrayDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, DimensionList) + /// + /// + public ArrayParameterType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DimensionListXName = System.Xml.Linq.XName.Get("DimensionList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Describe the dimensions of this array. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, DimensionList) + /// + /// + public virtual DimensionListType DimensionList { + get { + XElement x = this.GetElement(DimensionListXName); + return ((DimensionListType)(x)); + } + set { + this.SetElement(DimensionListXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArrayParameterType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArrayParameterType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(DimensionListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(DimensionListXName, typeof(DimensionListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a binary engineering/calibrated parameter type (sometimes called a "blob type"). It may be of fixed or variable length, and has an optional encoding and decoding algorithm that may be defined to transform the data between space and ground. See BinaryDataEncodingType, IntegerValueType, InputAlgorithmType and BinaryDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, DefaultAlarm?, ContextAlarmList?) + /// + /// + public partial class BinaryParameterType : global::Omg.Xtce.BinaryDataType, IXMetaData { + + public static explicit operator BinaryParameterType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a binary engineering/calibrated parameter type (sometimes called a "blob type"). It may be of fixed or variable length, and has an optional encoding and decoding algorithm that may be defined to transform the data between space and ground. See BinaryDataEncodingType, IntegerValueType, InputAlgorithmType and BinaryDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, DefaultAlarm?, ContextAlarmList?) + /// + /// + public BinaryParameterType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitSetXName = System.Xml.Linq.XName.Get("UnitSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryDataEncodingXName = System.Xml.Linq.XName.Get("BinaryDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatDataEncodingXName = System.Xml.Linq.XName.Get("FloatDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerDataEncodingXName = System.Xml.Linq.XName.Get("IntegerDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringDataEncodingXName = System.Xml.Linq.XName.Get("StringDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DefaultAlarmXName = System.Xml.Linq.XName.Get("DefaultAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Optionally describe an alarm monitoring specification that is effective whenever a contextual alarm definition does not take precedence. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, DefaultAlarm?, ContextAlarmList?) + /// + /// + public virtual BinaryAlarmType DefaultAlarm { + get { + XElement x = this.GetElement(DefaultAlarmXName); + if ((x == null)) { + return null; + } + return ((BinaryAlarmType)(x)); + } + set { + this.SetElement(DefaultAlarmXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContextAlarmListXName = System.Xml.Linq.XName.Get("ContextAlarmList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Optionally describe one or more alarm monitoring specifications that are effective whenever a contextual match definition evaluates to true. The first match that evaluates to true takes precedence. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, DefaultAlarm?, ContextAlarmList?) + /// + /// + public virtual BinaryContextAlarmListType ContextAlarmList { + get { + XElement x = this.GetElement(ContextAlarmListXName); + if ((x == null)) { + return null; + } + return ((BinaryContextAlarmListType)(x)); + } + set { + this.SetElement(ContextAlarmListXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BinaryParameterType", "http://www.omg.org/spec/XTCE/20250214"); + + static BinaryParameterType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(UnitSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(BinaryDataEncodingXName), new NamedContentModelEntity(FloatDataEncodingXName), new NamedContentModelEntity(IntegerDataEncodingXName), new NamedContentModelEntity(StringDataEncodingXName)), new NamedContentModelEntity(DefaultAlarmXName), new NamedContentModelEntity(ContextAlarmListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(UnitSetXName, typeof(UnitSetType)); + localElementDictionary.Add(BinaryDataEncodingXName, typeof(BinaryDataEncodingType)); + localElementDictionary.Add(FloatDataEncodingXName, typeof(FloatDataEncodingType)); + localElementDictionary.Add(IntegerDataEncodingXName, typeof(IntegerDataEncodingType)); + localElementDictionary.Add(StringDataEncodingXName, typeof(StringDataEncodingType)); + localElementDictionary.Add(DefaultAlarmXName, typeof(BinaryAlarmType)); + localElementDictionary.Add(ContextAlarmListXName, typeof(BinaryContextAlarmListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a boolean parameter type which has two values only: "True" (1) or "False" (0). The values one and zero may be mapped to a specific string using the attributes oneStringValue and zeroStringValue. This type is a simplified form of the EnumeratedDataType. See IntegerDataEncoding and BooleanDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, DefaultAlarm?, ContextAlarmList?) + /// + /// + public partial class BooleanParameterType : global::Omg.Xtce.BooleanDataType, IXMetaData { + + public static explicit operator BooleanParameterType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a boolean parameter type which has two values only: "True" (1) or "False" (0). The values one and zero may be mapped to a specific string using the attributes oneStringValue and zeroStringValue. This type is a simplified form of the EnumeratedDataType. See IntegerDataEncoding and BooleanDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, DefaultAlarm?, ContextAlarmList?) + /// + /// + public BooleanParameterType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitSetXName = System.Xml.Linq.XName.Get("UnitSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryDataEncodingXName = System.Xml.Linq.XName.Get("BinaryDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatDataEncodingXName = System.Xml.Linq.XName.Get("FloatDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerDataEncodingXName = System.Xml.Linq.XName.Get("IntegerDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringDataEncodingXName = System.Xml.Linq.XName.Get("StringDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DefaultAlarmXName = System.Xml.Linq.XName.Get("DefaultAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Optionally describe an alarm monitoring specification that is effective whenever a contextual alarm definition does not take precedence. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, DefaultAlarm?, ContextAlarmList?) + /// + /// + public virtual BooleanAlarmType DefaultAlarm { + get { + XElement x = this.GetElement(DefaultAlarmXName); + if ((x == null)) { + return null; + } + return ((BooleanAlarmType)(x)); + } + set { + this.SetElement(DefaultAlarmXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContextAlarmListXName = System.Xml.Linq.XName.Get("ContextAlarmList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Optionally describe one or more alarm monitoring specifications that are effective whenever a contextual match definition evaluates to true. The first match that evaluates to true takes precedence. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, DefaultAlarm?, ContextAlarmList?) + /// + /// + public virtual BooleanContextAlarmListType ContextAlarmList { + get { + XElement x = this.GetElement(ContextAlarmListXName); + if ((x == null)) { + return null; + } + return ((BooleanContextAlarmListType)(x)); + } + set { + this.SetElement(ContextAlarmListXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BooleanParameterType", "http://www.omg.org/spec/XTCE/20250214"); + + static BooleanParameterType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(UnitSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(BinaryDataEncodingXName), new NamedContentModelEntity(FloatDataEncodingXName), new NamedContentModelEntity(IntegerDataEncodingXName), new NamedContentModelEntity(StringDataEncodingXName)), new NamedContentModelEntity(DefaultAlarmXName), new NamedContentModelEntity(ContextAlarmListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(UnitSetXName, typeof(UnitSetType)); + localElementDictionary.Add(BinaryDataEncodingXName, typeof(BinaryDataEncodingType)); + localElementDictionary.Add(FloatDataEncodingXName, typeof(FloatDataEncodingType)); + localElementDictionary.Add(IntegerDataEncodingXName, typeof(IntegerDataEncodingType)); + localElementDictionary.Add(StringDataEncodingXName, typeof(StringDataEncodingType)); + localElementDictionary.Add(DefaultAlarmXName, typeof(BooleanAlarmType)); + localElementDictionary.Add(ContextAlarmListXName, typeof(BooleanContextAlarmListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an enumerated parameter type. The enumeration list consists of label/value pairs. See EnumerationListType, IntegerDataEncodingType and EnumeratedDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, EnumerationList, DefaultAlarm?, ContextAlarmList?) + /// + /// + public partial class EnumeratedParameterType : global::Omg.Xtce.EnumeratedDataType, IXMetaData { + + public static explicit operator EnumeratedParameterType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an enumerated parameter type. The enumeration list consists of label/value pairs. See EnumerationListType, IntegerDataEncodingType and EnumeratedDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, EnumerationList, DefaultAlarm?, ContextAlarmList?) + /// + /// + public EnumeratedParameterType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitSetXName = System.Xml.Linq.XName.Get("UnitSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryDataEncodingXName = System.Xml.Linq.XName.Get("BinaryDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatDataEncodingXName = System.Xml.Linq.XName.Get("FloatDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerDataEncodingXName = System.Xml.Linq.XName.Get("IntegerDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringDataEncodingXName = System.Xml.Linq.XName.Get("StringDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EnumerationListXName = System.Xml.Linq.XName.Get("EnumerationList", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DefaultAlarmXName = System.Xml.Linq.XName.Get("DefaultAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Describe labels for this parameter that should be in an alarm state. The default definition applies when there are no context alarm definitions or all the context alarm definitions evaluate to false in their matching criteria. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, EnumerationList, DefaultAlarm?, ContextAlarmList?) + /// + /// + public virtual EnumerationAlarmType DefaultAlarm { + get { + XElement x = this.GetElement(DefaultAlarmXName); + if ((x == null)) { + return null; + } + return ((EnumerationAlarmType)(x)); + } + set { + this.SetElement(DefaultAlarmXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContextAlarmListXName = System.Xml.Linq.XName.Get("ContextAlarmList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Describe labels for this parameter that should be in an alarm state when another parameter and value combination evaluates to true using the described matching criteria. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, EnumerationList, DefaultAlarm?, ContextAlarmList?) + /// + /// + public virtual EnumerationContextAlarmListType ContextAlarmList { + get { + XElement x = this.GetElement(ContextAlarmListXName); + if ((x == null)) { + return null; + } + return ((EnumerationContextAlarmListType)(x)); + } + set { + this.SetElement(ContextAlarmListXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("EnumeratedParameterType", "http://www.omg.org/spec/XTCE/20250214"); + + static EnumeratedParameterType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(UnitSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(BinaryDataEncodingXName), new NamedContentModelEntity(FloatDataEncodingXName), new NamedContentModelEntity(IntegerDataEncodingXName), new NamedContentModelEntity(StringDataEncodingXName)), new NamedContentModelEntity(EnumerationListXName), new NamedContentModelEntity(DefaultAlarmXName), new NamedContentModelEntity(ContextAlarmListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(UnitSetXName, typeof(UnitSetType)); + localElementDictionary.Add(BinaryDataEncodingXName, typeof(BinaryDataEncodingType)); + localElementDictionary.Add(FloatDataEncodingXName, typeof(FloatDataEncodingType)); + localElementDictionary.Add(IntegerDataEncodingXName, typeof(IntegerDataEncodingType)); + localElementDictionary.Add(StringDataEncodingXName, typeof(StringDataEncodingType)); + localElementDictionary.Add(EnumerationListXName, typeof(EnumerationListType)); + localElementDictionary.Add(DefaultAlarmXName, typeof(EnumerationAlarmType)); + localElementDictionary.Add(ContextAlarmListXName, typeof(EnumerationContextAlarmListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an ordered collection of context enumeration alarms, duplicates are valid. Process the contexts in list order. See EnumerationContextAlarmType. + /// + /// + /// Regular expression: (ContextAlarm+) + /// + /// + public partial class EnumerationContextAlarmListType : XTypedElement, IXMetaData { + + public static explicit operator EnumerationContextAlarmListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an ordered collection of context enumeration alarms, duplicates are valid. Process the contexts in list order. See EnumerationContextAlarmType. + /// + /// + /// Regular expression: (ContextAlarm+) + /// + /// + public EnumerationContextAlarmListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContextAlarmXName = System.Xml.Linq.XName.Get("ContextAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ContextAlarmField; + + /// + /// + /// A Context contains a new alarm definition and a context match. The match takes precedence over any default alarm when the first in the overall list evaluates to true. It is also possible the alarm definition is empty, in which case the context means no alarm defined when the match is true. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (ContextAlarm+) + /// + /// + public virtual IList ContextAlarm { + get { + if ((this.ContextAlarmField == null)) { + this.ContextAlarmField = new XTypedList(this, LinqToXsdTypeManager.Instance, ContextAlarmXName); + } + return this.ContextAlarmField; + } + set { + if ((value == null)) { + this.ContextAlarmField = null; + } + else { + if ((this.ContextAlarmField == null)) { + this.ContextAlarmField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ContextAlarmXName); + } + else { + XTypedServices.SetList(this.ContextAlarmField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("EnumerationContextAlarmListType", "http://www.omg.org/spec/XTCE/20250214"); + + static EnumerationContextAlarmListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ContextAlarmXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ContextAlarmXName, typeof(EnumerationContextAlarmType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a floating point parameter type. Several encodings are supported. Calibrated integer to float relationships should be described with this data type. Use the data encoding to define calibrators. Joins integer as one of the numerics. See FloatDataEncodingType, IntegerDataEncodingType and FloatDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?, ValidRange?, DefaultAlarm?, ContextAlarmList?) + /// + /// + public partial class FloatParameterType : global::Omg.Xtce.FloatDataType, IXMetaData { + + public static explicit operator FloatParameterType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a floating point parameter type. Several encodings are supported. Calibrated integer to float relationships should be described with this data type. Use the data encoding to define calibrators. Joins integer as one of the numerics. See FloatDataEncodingType, IntegerDataEncodingType and FloatDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?, ValidRange?, DefaultAlarm?, ContextAlarmList?) + /// + /// + public FloatParameterType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitSetXName = System.Xml.Linq.XName.Get("UnitSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryDataEncodingXName = System.Xml.Linq.XName.Get("BinaryDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatDataEncodingXName = System.Xml.Linq.XName.Get("FloatDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerDataEncodingXName = System.Xml.Linq.XName.Get("IntegerDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringDataEncodingXName = System.Xml.Linq.XName.Get("StringDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ToStringXName = System.Xml.Linq.XName.Get("ToString", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ValidRangeXName = System.Xml.Linq.XName.Get("ValidRange", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DefaultAlarmXName = System.Xml.Linq.XName.Get("DefaultAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Default alarm definitions are those which do not adjust definition logic based on the value of other parameters. Other parameters may participate in the determination of an alarm condition for this parameter, but the definition logic of the alarm on this parameter is constant. If the alarming logic on this parameter changes based on the value of other parameters, then it is a ContextAlarm and belongs in the ContextAlarmList element. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?, ValidRange?, DefaultAlarm?, ContextAlarmList?) + /// + /// + public virtual NumericAlarmType DefaultAlarm { + get { + XElement x = this.GetElement(DefaultAlarmXName); + if ((x == null)) { + return null; + } + return ((NumericAlarmType)(x)); + } + set { + this.SetElement(DefaultAlarmXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContextAlarmListXName = System.Xml.Linq.XName.Get("ContextAlarmList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Context alarm definitions are those which adjust the definition logic for this parameter based on the value of other parameters. A context which evaluates to being in effect, based on the testing of another parameter, takes precedence over the default alarms in the DefaultAlarm element. If the no context alarm evaluates to being in effect, based on the testing of another parameter, then the default alarm definitions from the DefaultAlarm element will remain in effect. If multiple contexts evaluate to being in effect, then the first one that appears will take precedence. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?, ValidRange?, DefaultAlarm?, ContextAlarmList?) + /// + /// + public virtual NumericContextAlarmListType ContextAlarmList { + get { + XElement x = this.GetElement(ContextAlarmListXName); + if ((x == null)) { + return null; + } + return ((NumericContextAlarmListType)(x)); + } + set { + this.SetElement(ContextAlarmListXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("FloatParameterType", "http://www.omg.org/spec/XTCE/20250214"); + + static FloatParameterType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(UnitSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(BinaryDataEncodingXName), new NamedContentModelEntity(FloatDataEncodingXName), new NamedContentModelEntity(IntegerDataEncodingXName), new NamedContentModelEntity(StringDataEncodingXName)), new NamedContentModelEntity(ToStringXName), new NamedContentModelEntity(ValidRangeXName), new NamedContentModelEntity(DefaultAlarmXName), new NamedContentModelEntity(ContextAlarmListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(UnitSetXName, typeof(UnitSetType)); + localElementDictionary.Add(BinaryDataEncodingXName, typeof(BinaryDataEncodingType)); + localElementDictionary.Add(FloatDataEncodingXName, typeof(FloatDataEncodingType)); + localElementDictionary.Add(IntegerDataEncodingXName, typeof(IntegerDataEncodingType)); + localElementDictionary.Add(StringDataEncodingXName, typeof(StringDataEncodingType)); + localElementDictionary.Add(ToStringXName, typeof(ToStringType)); + localElementDictionary.Add(ValidRangeXName, typeof(void)); + localElementDictionary.Add(DefaultAlarmXName, typeof(NumericAlarmType)); + localElementDictionary.Add(ContextAlarmListXName, typeof(NumericContextAlarmListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an integer parameter type. Several are supported. Calibrated integer to integer relationships should be described with this data type. Use the integer data encoding to define calibrators. Joins float as one of the numerics. See IntegerDataEncoding and IntegerDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?, ValidRange?, DefaultAlarm?, ContextAlarmList?) + /// + /// + public partial class IntegerParameterType : global::Omg.Xtce.IntegerDataType, IXMetaData { + + public static explicit operator IntegerParameterType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an integer parameter type. Several are supported. Calibrated integer to integer relationships should be described with this data type. Use the integer data encoding to define calibrators. Joins float as one of the numerics. See IntegerDataEncoding and IntegerDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?, ValidRange?, DefaultAlarm?, ContextAlarmList?) + /// + /// + public IntegerParameterType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitSetXName = System.Xml.Linq.XName.Get("UnitSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryDataEncodingXName = System.Xml.Linq.XName.Get("BinaryDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatDataEncodingXName = System.Xml.Linq.XName.Get("FloatDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerDataEncodingXName = System.Xml.Linq.XName.Get("IntegerDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringDataEncodingXName = System.Xml.Linq.XName.Get("StringDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ToStringXName = System.Xml.Linq.XName.Get("ToString", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ValidRangeXName = System.Xml.Linq.XName.Get("ValidRange", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DefaultAlarmXName = System.Xml.Linq.XName.Get("DefaultAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Default alarm definitions are those which do not adjust definition logic based on the value of other parameters. Other parameters may participate in the determination of an alarm condition for this parameter, but the definition logic of the alarm on this parameter is constant. If the alarming logic on this parameter changes based on the value of other parameters, then it is a ContextAlarm and belongs in the ContextAlarmList element. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?, ValidRange?, DefaultAlarm?, ContextAlarmList?) + /// + /// + public virtual NumericAlarmType DefaultAlarm { + get { + XElement x = this.GetElement(DefaultAlarmXName); + if ((x == null)) { + return null; + } + return ((NumericAlarmType)(x)); + } + set { + this.SetElement(DefaultAlarmXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContextAlarmListXName = System.Xml.Linq.XName.Get("ContextAlarmList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Context alarm definitions are those which adjust the definition logic for this parameter based on the value of other parameters. A context which evaluates to being in effect, based on the testing of another parameter, takes precedence over the default alarms in the DefaultAlarm element. If the no context alarm evaluates to being in effect, based on the testing of another parameter, then the default alarm definitions from the DefaultAlarm element will remain in effect. If multiple contexts evaluate to being in effect, then the first one that appears will take precedence. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?, ValidRange?, DefaultAlarm?, ContextAlarmList?) + /// + /// + public virtual NumericContextAlarmListType ContextAlarmList { + get { + XElement x = this.GetElement(ContextAlarmListXName); + if ((x == null)) { + return null; + } + return ((NumericContextAlarmListType)(x)); + } + set { + this.SetElement(ContextAlarmListXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("IntegerParameterType", "http://www.omg.org/spec/XTCE/20250214"); + + static IntegerParameterType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(UnitSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(BinaryDataEncodingXName), new NamedContentModelEntity(FloatDataEncodingXName), new NamedContentModelEntity(IntegerDataEncodingXName), new NamedContentModelEntity(StringDataEncodingXName)), new NamedContentModelEntity(ToStringXName), new NamedContentModelEntity(ValidRangeXName), new NamedContentModelEntity(DefaultAlarmXName), new NamedContentModelEntity(ContextAlarmListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(UnitSetXName, typeof(UnitSetType)); + localElementDictionary.Add(BinaryDataEncodingXName, typeof(BinaryDataEncodingType)); + localElementDictionary.Add(FloatDataEncodingXName, typeof(FloatDataEncodingType)); + localElementDictionary.Add(IntegerDataEncodingXName, typeof(IntegerDataEncodingType)); + localElementDictionary.Add(StringDataEncodingXName, typeof(StringDataEncodingType)); + localElementDictionary.Add(ToStringXName, typeof(ToStringType)); + localElementDictionary.Add(ValidRangeXName, typeof(void)); + localElementDictionary.Add(DefaultAlarmXName, typeof(NumericAlarmType)); + localElementDictionary.Add(ContextAlarmListXName, typeof(NumericContextAlarmListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (MessageRef+) + /// + /// + public partial class MessageRefSetType : XTypedElement, IXMetaData { + + public static explicit operator MessageRefSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (MessageRef+) + /// + /// + public MessageRefSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MessageRefXName = System.Xml.Linq.XName.Get("MessageRef", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList MessageRefField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (MessageRef+) + /// + /// + public virtual IList MessageRef { + get { + if ((this.MessageRefField == null)) { + this.MessageRefField = new XTypedList(this, LinqToXsdTypeManager.Instance, MessageRefXName); + } + return this.MessageRefField; + } + set { + if ((value == null)) { + this.MessageRefField = null; + } + else { + if ((this.MessageRefField == null)) { + this.MessageRefField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, MessageRefXName); + } + else { + XTypedServices.SetList(this.MessageRefField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("MessageRefSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static MessageRefSetType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(MessageRefXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(MessageRefXName, typeof(MessageRefType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// An ordered collection of numeric alarms associated with a context. A context is an alarm definition on a parameter which is valid only in the case of a test on the value of other parameters. Process the contexts in list order. Used by both FloatParameterType and IntegerParameterType. See NumericContextAlarmType. + /// + /// + /// Regular expression: (ContextAlarm+) + /// + /// + public partial class NumericContextAlarmListType : XTypedElement, IXMetaData { + + public static explicit operator NumericContextAlarmListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// An ordered collection of numeric alarms associated with a context. A context is an alarm definition on a parameter which is valid only in the case of a test on the value of other parameters. Process the contexts in list order. Used by both FloatParameterType and IntegerParameterType. See NumericContextAlarmType. + /// + /// + /// Regular expression: (ContextAlarm+) + /// + /// + public NumericContextAlarmListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContextAlarmXName = System.Xml.Linq.XName.Get("ContextAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ContextAlarmField; + + /// + /// + /// A Context contains a new alarm definition and a context match. The match takes precedence over any default alarm when the first in the overall list evaluates to true. It is also possible the alarm definition is empty, in which case the context means no alarm defined when the match is true. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (ContextAlarm+) + /// + /// + public virtual IList ContextAlarm { + get { + if ((this.ContextAlarmField == null)) { + this.ContextAlarmField = new XTypedList(this, LinqToXsdTypeManager.Instance, ContextAlarmXName); + } + return this.ContextAlarmField; + } + set { + if ((value == null)) { + this.ContextAlarmField = null; + } + else { + if ((this.ContextAlarmField == null)) { + this.ContextAlarmField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ContextAlarmXName); + } + else { + XTypedServices.SetList(this.ContextAlarmField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("NumericContextAlarmListType", "http://www.omg.org/spec/XTCE/20250214"); + + static NumericContextAlarmListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ContextAlarmXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ContextAlarmXName, typeof(NumericContextAlarmType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A reference to an instance of a Parameter. Used when the value of a parameter is required for a calculation or as an index value. A positive value for instance is forward in time, a negative value for count is backward in time, a 0 value for count means use the current value of the parameter or the first value in a container. + /// + /// + public partial class ParameterInstanceRefType : global::Omg.Xtce.ParameterRefType, IXMetaData { + + public static explicit operator ParameterInstanceRefType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// A reference to an instance of a Parameter. Used when the value of a parameter is required for a calculation or as an index value. A positive value for instance is forward in time, a negative value for count is backward in time, a 0 value for count means use the current value of the parameter or the first value in a container. + /// + /// + public ParameterInstanceRefType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName instanceXName = System.Xml.Linq.XName.Get("instance", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static long instanceDefaultValue = System.Xml.XmlConvert.ToInt64("0"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual long instance { + get { + XAttribute x = this.Attribute(instanceXName); + if ((x == null)) { + return instanceDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(instanceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName useCalibratedValueXName = System.Xml.Linq.XName.Get("useCalibratedValue", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool useCalibratedValueDefaultValue = System.Xml.XmlConvert.ToBoolean("true"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool useCalibratedValue { + get { + XAttribute x = this.Attribute(useCalibratedValueXName); + if ((x == null)) { + return useCalibratedValueDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(useCalibratedValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ParameterInstanceRefType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describes extended properties/attributes of Parameter definitions. + /// + /// + /// Regular expression: (SystemName?, ValidityCondition?, PhysicalAddressSet?, TimeAssociation?) + /// + /// + public partial class ParameterPropertiesType : XTypedElement, IXMetaData { + + public static explicit operator ParameterPropertiesType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describes extended properties/attributes of Parameter definitions. + /// + /// + /// Regular expression: (SystemName?, ValidityCondition?, PhysicalAddressSet?, TimeAssociation?) + /// + /// + public ParameterPropertiesType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SystemNameXName = System.Xml.Linq.XName.Get("SystemName", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Optional. Normally used when the database is built in a flat, non-hierarchical format. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (SystemName?, ValidityCondition?, PhysicalAddressSet?, TimeAssociation?) + /// + /// + public virtual string SystemName { + get { + XElement x = this.GetElement(SystemNameXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetElement(SystemNameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ValidityConditionXName = System.Xml.Linq.XName.Get("ValidityCondition", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Optional condition that must be true for this Parameter to be valid. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (SystemName?, ValidityCondition?, PhysicalAddressSet?, TimeAssociation?) + /// + /// + public virtual MatchCriteriaType ValidityCondition { + get { + XElement x = this.GetElement(ValidityConditionXName); + if ((x == null)) { + return null; + } + return ((MatchCriteriaType)(x)); + } + set { + this.SetElement(ValidityConditionXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName PhysicalAddressSetXName = System.Xml.Linq.XName.Get("PhysicalAddressSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// When present, this set of elements describes physical address location(s) of the parameter where it is stored. Typically this is on the data source, although that is not constrained by this schema. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (SystemName?, ValidityCondition?, PhysicalAddressSet?, TimeAssociation?) + /// + /// + public virtual PhysicalAddressSetType PhysicalAddressSet { + get { + XElement x = this.GetElement(PhysicalAddressSetXName); + if ((x == null)) { + return null; + } + return ((PhysicalAddressSetType)(x)); + } + set { + this.SetElement(PhysicalAddressSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TimeAssociationXName = System.Xml.Linq.XName.Get("TimeAssociation", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// This time will override any Default value for TimeAssociation. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (SystemName?, ValidityCondition?, PhysicalAddressSet?, TimeAssociation?) + /// + /// + public virtual TimeAssociationType TimeAssociation { + get { + XElement x = this.GetElement(TimeAssociationXName); + if ((x == null)) { + return null; + } + return ((TimeAssociationType)(x)); + } + set { + this.SetElement(TimeAssociationXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName dataSourceXName = System.Xml.Linq.XName.Get("dataSource", ""); + + /// + /// + /// This attribute describes the nature of the source entity for which this parameter receives a value. Implementations assign different attributes/properties internally to a parameter based on the anticipated data source. + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.TelemetryDataSourceType? dataSource { + get { + XAttribute x = this.Attribute(dataSourceXName); + if ((x == null)) { + return null; + } + return ((Omg.Xtce.TelemetryDataSourceType)(Enum.Parse(typeof(Omg.Xtce.TelemetryDataSourceType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.TelemetryDataSourceTypeValidator.TypeDefinition)))); + } + set { + if (value == null) { + this.SetAttribute(dataSourceXName, null, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + else { + this.SetAttributeWithValidation(dataSourceXName, value.ToString(), "dataSource", global::Omg.Xtce.TelemetryDataSourceTypeValidator.TypeDefinition); + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName readOnlyXName = System.Xml.Linq.XName.Get("readOnly", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool readOnlyDefaultValue = System.Xml.XmlConvert.ToBoolean("false"); + + /// + /// + /// A Parameter marked as 'readOnly' true is non-settable by users and applications/services that do not represent the data source itself. Note that a slight conceptual overlap exists here between the 'dataSource' attribute and this attribute when the data source is 'constant'. For a constant data source, then 'readOnly' should be 'true'. Application implementations may choose to implicitly enforce this. Some implementations have both concepts of a Parameter that is settable or non-settable and a Constant in different parts of their internal data model. + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool readOnly { + get { + XAttribute x = this.Attribute(readOnlyXName); + if ((x == null)) { + return readOnlyDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(readOnlyXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName persistenceXName = System.Xml.Linq.XName.Get("persistence", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool persistenceDefaultValue = System.Xml.XmlConvert.ToBoolean("true"); + + /// + /// + /// A Parameter marked to persist should retain the latest value through resets/restarts to the extent that is possible or defined in the implementation. The net effect is that the initial/default value on a Parameter is only seen once or when the system has a reset to revert to initial/default values. + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool persistence { + get { + XAttribute x = this.Attribute(persistenceXName); + if ((x == null)) { + return persistenceDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(persistenceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ParameterPropertiesType", "http://www.omg.org/spec/XTCE/20250214"); + + static ParameterPropertiesType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(SystemNameXName), new NamedContentModelEntity(ValidityConditionXName), new NamedContentModelEntity(PhysicalAddressSetXName), new NamedContentModelEntity(TimeAssociationXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(SystemNameXName, typeof(string)); + localElementDictionary.Add(ValidityConditionXName, typeof(MatchCriteriaType)); + localElementDictionary.Add(PhysicalAddressSetXName, typeof(PhysicalAddressSetType)); + localElementDictionary.Add(TimeAssociationXName, typeof(TimeAssociationType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe the properties of a telemetry parameter, including its data type (parameter type). The bulk of properties associated with a telemetry parameter are in its parameter type. The initial value specified here, overrides the initial value in the parameter type. A parameter may be local, in which case its parameter type would have no data encodings. Ideally such a definition would also set data source in parameter properties to "local" but the syntax does not enforce this. See BaseDataType, BaseTimeDataType, and NameReferenceType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, ParameterProperties?) + /// + /// + public partial class ParameterType : global::Omg.Xtce.NameDescriptionType, IXMetaData { + + public static explicit operator ParameterType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe the properties of a telemetry parameter, including its data type (parameter type). The bulk of properties associated with a telemetry parameter are in its parameter type. The initial value specified here, overrides the initial value in the parameter type. A parameter may be local, in which case its parameter type would have no data encodings. Ideally such a definition would also set data source in parameter properties to "local" but the syntax does not enforce this. See BaseDataType, BaseTimeDataType, and NameReferenceType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, ParameterProperties?) + /// + /// + public ParameterType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterPropertiesXName = System.Xml.Linq.XName.Get("ParameterProperties", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Specify additional properties for this Parameter used by the implementation of tailor the behavior and attributes of the Parameter. When not specified, the defaults on the ParameterProperties element attributes are assumed. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, ParameterProperties?) + /// + /// + public virtual ParameterPropertiesType ParameterProperties { + get { + XElement x = this.GetElement(ParameterPropertiesXName); + if ((x == null)) { + return null; + } + return ((ParameterPropertiesType)(x)); + } + set { + this.SetElement(ParameterPropertiesXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName parameterTypeRefXName = System.Xml.Linq.XName.Get("parameterTypeRef", ""); + + /// + /// + /// Specify the reference to the parameter type from the ParameterTypeSet area using the path reference rules, either local to this SpaceSystem, relative, or absolute. + /// + /// + /// Occurrence: required + /// + /// + public virtual string parameterTypeRef { + get { + XAttribute x = this.Attribute(parameterTypeRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(parameterTypeRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName initialValueXName = System.Xml.Linq.XName.Get("initialValue", ""); + + /// + /// + /// Specify as: integer data type using xs:integer, float data type using xs:double, string data type using xs:string, boolean data type using xs:boolean, binary data type using xs:hexBinary, enum data type using label name, relative time data type using xs:duration, absolute time data type using xs:dateTime, arrays using JSON syntax (e.g. '[1, 3, 4]', and aggregates using JSON syntax '{"member1": 1, "member2": "foo"}' ). Values must not exceed the characteristics for the data type or this is a validation error. Takes precedence over an initial value given in the data type. Values are calibrated unless there is an option to override it. + /// + /// + /// The value type must match the Parameter type + /// + /// + /// Occurrence: optional + /// + /// + public virtual string initialValue { + get { + XAttribute x = this.Attribute(initialValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(initialValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ParameterType", "http://www.omg.org/spec/XTCE/20250214"); + + static ParameterType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(ParameterPropertiesXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(ParameterPropertiesXName, typeof(ParameterPropertiesType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an unordered collection of parameter type definitions. These types named for the engineering/calibrated type of the parameter. See BaseDataType and BaseTimeDataType. + /// + /// + /// Regular expression: (StringParameterType | EnumeratedParameterType | IntegerParameterType | BinaryParameterType | FloatParameterType | BooleanParameterType | RelativeTimeParameterType | AbsoluteTimeParameterType | ArrayParameterType | AggregateParameterType)+ + /// + /// + public partial class ParameterTypeSetType : XTypedElement, IXMetaData { + + public static explicit operator ParameterTypeSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an unordered collection of parameter type definitions. These types named for the engineering/calibrated type of the parameter. See BaseDataType and BaseTimeDataType. + /// + /// + /// Regular expression: (StringParameterType | EnumeratedParameterType | IntegerParameterType | BinaryParameterType | FloatParameterType | BooleanParameterType | RelativeTimeParameterType | AbsoluteTimeParameterType | ArrayParameterType | AggregateParameterType)+ + /// + /// + public ParameterTypeSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringParameterTypeXName = System.Xml.Linq.XName.Get("StringParameterType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList StringParameterTypeField; + + /// + /// + /// Describe a parameter type that has an engineering/calibrated value in the form of a character string. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (StringParameterType | EnumeratedParameterType | IntegerParameterType | BinaryParameterType | FloatParameterType | BooleanParameterType | RelativeTimeParameterType | AbsoluteTimeParameterType | ArrayParameterType | AggregateParameterType)+ + /// + /// + public virtual IList StringParameterType { + get { + if ((this.StringParameterTypeField == null)) { + this.StringParameterTypeField = new XTypedList(this, LinqToXsdTypeManager.Instance, StringParameterTypeXName); + } + return this.StringParameterTypeField; + } + set { + if ((value == null)) { + this.StringParameterTypeField = null; + } + else { + if ((this.StringParameterTypeField == null)) { + this.StringParameterTypeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, StringParameterTypeXName); + } + else { + XTypedServices.SetList(this.StringParameterTypeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EnumeratedParameterTypeXName = System.Xml.Linq.XName.Get("EnumeratedParameterType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList EnumeratedParameterTypeField; + + /// + /// + /// Describe a parameter type that has an engineering/calibrated value in the form of an enumeration. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (StringParameterType | EnumeratedParameterType | IntegerParameterType | BinaryParameterType | FloatParameterType | BooleanParameterType | RelativeTimeParameterType | AbsoluteTimeParameterType | ArrayParameterType | AggregateParameterType)+ + /// + /// + public virtual IList EnumeratedParameterType { + get { + if ((this.EnumeratedParameterTypeField == null)) { + this.EnumeratedParameterTypeField = new XTypedList(this, LinqToXsdTypeManager.Instance, EnumeratedParameterTypeXName); + } + return this.EnumeratedParameterTypeField; + } + set { + if ((value == null)) { + this.EnumeratedParameterTypeField = null; + } + else { + if ((this.EnumeratedParameterTypeField == null)) { + this.EnumeratedParameterTypeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, EnumeratedParameterTypeXName); + } + else { + XTypedServices.SetList(this.EnumeratedParameterTypeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerParameterTypeXName = System.Xml.Linq.XName.Get("IntegerParameterType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList IntegerParameterTypeField; + + /// + /// + /// Describe a parameter type that has an engineering/calibrated value in the form of an integer. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (StringParameterType | EnumeratedParameterType | IntegerParameterType | BinaryParameterType | FloatParameterType | BooleanParameterType | RelativeTimeParameterType | AbsoluteTimeParameterType | ArrayParameterType | AggregateParameterType)+ + /// + /// + public virtual IList IntegerParameterType { + get { + if ((this.IntegerParameterTypeField == null)) { + this.IntegerParameterTypeField = new XTypedList(this, LinqToXsdTypeManager.Instance, IntegerParameterTypeXName); + } + return this.IntegerParameterTypeField; + } + set { + if ((value == null)) { + this.IntegerParameterTypeField = null; + } + else { + if ((this.IntegerParameterTypeField == null)) { + this.IntegerParameterTypeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, IntegerParameterTypeXName); + } + else { + XTypedServices.SetList(this.IntegerParameterTypeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryParameterTypeXName = System.Xml.Linq.XName.Get("BinaryParameterType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList BinaryParameterTypeField; + + /// + /// + /// Describe a parameter type that has an engineering/calibrated value in the form of a binary (usually hex represented). + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (StringParameterType | EnumeratedParameterType | IntegerParameterType | BinaryParameterType | FloatParameterType | BooleanParameterType | RelativeTimeParameterType | AbsoluteTimeParameterType | ArrayParameterType | AggregateParameterType)+ + /// + /// + public virtual IList BinaryParameterType { + get { + if ((this.BinaryParameterTypeField == null)) { + this.BinaryParameterTypeField = new XTypedList(this, LinqToXsdTypeManager.Instance, BinaryParameterTypeXName); + } + return this.BinaryParameterTypeField; + } + set { + if ((value == null)) { + this.BinaryParameterTypeField = null; + } + else { + if ((this.BinaryParameterTypeField == null)) { + this.BinaryParameterTypeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, BinaryParameterTypeXName); + } + else { + XTypedServices.SetList(this.BinaryParameterTypeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatParameterTypeXName = System.Xml.Linq.XName.Get("FloatParameterType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList FloatParameterTypeField; + + /// + /// + /// Describe a parameter type that has an engineering/calibrated value in the form of a decimal. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (StringParameterType | EnumeratedParameterType | IntegerParameterType | BinaryParameterType | FloatParameterType | BooleanParameterType | RelativeTimeParameterType | AbsoluteTimeParameterType | ArrayParameterType | AggregateParameterType)+ + /// + /// + public virtual IList FloatParameterType { + get { + if ((this.FloatParameterTypeField == null)) { + this.FloatParameterTypeField = new XTypedList(this, LinqToXsdTypeManager.Instance, FloatParameterTypeXName); + } + return this.FloatParameterTypeField; + } + set { + if ((value == null)) { + this.FloatParameterTypeField = null; + } + else { + if ((this.FloatParameterTypeField == null)) { + this.FloatParameterTypeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, FloatParameterTypeXName); + } + else { + XTypedServices.SetList(this.FloatParameterTypeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BooleanParameterTypeXName = System.Xml.Linq.XName.Get("BooleanParameterType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList BooleanParameterTypeField; + + /// + /// + /// Describe a parameter type that has an engineering/calibrated value in the form of a boolean enumeration. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (StringParameterType | EnumeratedParameterType | IntegerParameterType | BinaryParameterType | FloatParameterType | BooleanParameterType | RelativeTimeParameterType | AbsoluteTimeParameterType | ArrayParameterType | AggregateParameterType)+ + /// + /// + public virtual IList BooleanParameterType { + get { + if ((this.BooleanParameterTypeField == null)) { + this.BooleanParameterTypeField = new XTypedList(this, LinqToXsdTypeManager.Instance, BooleanParameterTypeXName); + } + return this.BooleanParameterTypeField; + } + set { + if ((value == null)) { + this.BooleanParameterTypeField = null; + } + else { + if ((this.BooleanParameterTypeField == null)) { + this.BooleanParameterTypeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, BooleanParameterTypeXName); + } + else { + XTypedServices.SetList(this.BooleanParameterTypeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RelativeTimeParameterTypeXName = System.Xml.Linq.XName.Get("RelativeTimeParameterType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList RelativeTimeParameterTypeField; + + /// + /// + /// Describe a parameter type that has an engineering/calibrated value in the form of a duration in time. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (StringParameterType | EnumeratedParameterType | IntegerParameterType | BinaryParameterType | FloatParameterType | BooleanParameterType | RelativeTimeParameterType | AbsoluteTimeParameterType | ArrayParameterType | AggregateParameterType)+ + /// + /// + public virtual IList RelativeTimeParameterType { + get { + if ((this.RelativeTimeParameterTypeField == null)) { + this.RelativeTimeParameterTypeField = new XTypedList(this, LinqToXsdTypeManager.Instance, RelativeTimeParameterTypeXName); + } + return this.RelativeTimeParameterTypeField; + } + set { + if ((value == null)) { + this.RelativeTimeParameterTypeField = null; + } + else { + if ((this.RelativeTimeParameterTypeField == null)) { + this.RelativeTimeParameterTypeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, RelativeTimeParameterTypeXName); + } + else { + XTypedServices.SetList(this.RelativeTimeParameterTypeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AbsoluteTimeParameterTypeXName = System.Xml.Linq.XName.Get("AbsoluteTimeParameterType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList AbsoluteTimeParameterTypeField; + + /// + /// + /// Describe a parameter type that has an engineering/calibrated value in the form of an instant in time. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (StringParameterType | EnumeratedParameterType | IntegerParameterType | BinaryParameterType | FloatParameterType | BooleanParameterType | RelativeTimeParameterType | AbsoluteTimeParameterType | ArrayParameterType | AggregateParameterType)+ + /// + /// + public virtual IList AbsoluteTimeParameterType { + get { + if ((this.AbsoluteTimeParameterTypeField == null)) { + this.AbsoluteTimeParameterTypeField = new XTypedList(this, LinqToXsdTypeManager.Instance, AbsoluteTimeParameterTypeXName); + } + return this.AbsoluteTimeParameterTypeField; + } + set { + if ((value == null)) { + this.AbsoluteTimeParameterTypeField = null; + } + else { + if ((this.AbsoluteTimeParameterTypeField == null)) { + this.AbsoluteTimeParameterTypeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, AbsoluteTimeParameterTypeXName); + } + else { + XTypedServices.SetList(this.AbsoluteTimeParameterTypeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ArrayParameterTypeXName = System.Xml.Linq.XName.Get("ArrayParameterType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ArrayParameterTypeField; + + /// + /// + /// Describe a parameter type that has an engineering/calibrated value in the form of an array of a primitive type. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (StringParameterType | EnumeratedParameterType | IntegerParameterType | BinaryParameterType | FloatParameterType | BooleanParameterType | RelativeTimeParameterType | AbsoluteTimeParameterType | ArrayParameterType | AggregateParameterType)+ + /// + /// + public virtual IList ArrayParameterType { + get { + if ((this.ArrayParameterTypeField == null)) { + this.ArrayParameterTypeField = new XTypedList(this, LinqToXsdTypeManager.Instance, ArrayParameterTypeXName); + } + return this.ArrayParameterTypeField; + } + set { + if ((value == null)) { + this.ArrayParameterTypeField = null; + } + else { + if ((this.ArrayParameterTypeField == null)) { + this.ArrayParameterTypeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ArrayParameterTypeXName); + } + else { + XTypedServices.SetList(this.ArrayParameterTypeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AggregateParameterTypeXName = System.Xml.Linq.XName.Get("AggregateParameterType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList AggregateParameterTypeField; + + /// + /// + /// Describe a parameter type that has an engineering/calibrated value in the form of a structure of parameters of other types. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (StringParameterType | EnumeratedParameterType | IntegerParameterType | BinaryParameterType | FloatParameterType | BooleanParameterType | RelativeTimeParameterType | AbsoluteTimeParameterType | ArrayParameterType | AggregateParameterType)+ + /// + /// + public virtual IList AggregateParameterType { + get { + if ((this.AggregateParameterTypeField == null)) { + this.AggregateParameterTypeField = new XTypedList(this, LinqToXsdTypeManager.Instance, AggregateParameterTypeXName); + } + return this.AggregateParameterTypeField; + } + set { + if ((value == null)) { + this.AggregateParameterTypeField = null; + } + else { + if ((this.AggregateParameterTypeField == null)) { + this.AggregateParameterTypeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, AggregateParameterTypeXName); + } + else { + XTypedServices.SetList(this.AggregateParameterTypeField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ParameterTypeSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static ParameterTypeSetType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(StringParameterTypeXName), new NamedContentModelEntity(EnumeratedParameterTypeXName), new NamedContentModelEntity(IntegerParameterTypeXName), new NamedContentModelEntity(BinaryParameterTypeXName), new NamedContentModelEntity(FloatParameterTypeXName), new NamedContentModelEntity(BooleanParameterTypeXName), new NamedContentModelEntity(RelativeTimeParameterTypeXName), new NamedContentModelEntity(AbsoluteTimeParameterTypeXName), new NamedContentModelEntity(ArrayParameterTypeXName), new NamedContentModelEntity(AggregateParameterTypeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(StringParameterTypeXName, typeof(StringParameterType)); + localElementDictionary.Add(EnumeratedParameterTypeXName, typeof(EnumeratedParameterType)); + localElementDictionary.Add(IntegerParameterTypeXName, typeof(IntegerParameterType)); + localElementDictionary.Add(BinaryParameterTypeXName, typeof(BinaryParameterType)); + localElementDictionary.Add(FloatParameterTypeXName, typeof(FloatParameterType)); + localElementDictionary.Add(BooleanParameterTypeXName, typeof(BooleanParameterType)); + localElementDictionary.Add(RelativeTimeParameterTypeXName, typeof(RelativeTimeParameterType)); + localElementDictionary.Add(AbsoluteTimeParameterTypeXName, typeof(AbsoluteTimeParameterType)); + localElementDictionary.Add(ArrayParameterTypeXName, typeof(ArrayParameterType)); + localElementDictionary.Add(AggregateParameterTypeXName, typeof(AggregateParameterType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A reference to a Parameter. Uses Unix-like naming across the SpaceSystem Tree (e.g., SimpleSat/Bus/EPDS/BatteryOne/Voltage). To reference an individual member of an array use the zero based bracket notation commonly used in languages like C, C++, and Java. + /// + /// + public partial class ParameterRefType : XTypedElement, IXMetaData { + + public static explicit operator ParameterRefType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// A reference to a Parameter. Uses Unix-like naming across the SpaceSystem Tree (e.g., SimpleSat/Bus/EPDS/BatteryOne/Voltage). To reference an individual member of an array use the zero based bracket notation commonly used in languages like C, C++, and Java. + /// + /// + public ParameterRefType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName parameterRefXName = System.Xml.Linq.XName.Get("parameterRef", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string parameterRef { + get { + XAttribute x = this.Attribute(parameterRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(parameterRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ParameterRefType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// One or more physical addresses may be associated with each Parameter. Examples of physical addresses include a location on the spacecraft or a location on a data collection bus. + /// + /// + /// Regular expression: (PhysicalAddress*) + /// + /// + public partial class PhysicalAddressSetType : XTypedElement, IXMetaData { + + public static explicit operator PhysicalAddressSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// One or more physical addresses may be associated with each Parameter. Examples of physical addresses include a location on the spacecraft or a location on a data collection bus. + /// + /// + /// Regular expression: (PhysicalAddress*) + /// + /// + public PhysicalAddressSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName PhysicalAddressXName = System.Xml.Linq.XName.Get("PhysicalAddress", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList PhysicalAddressField; + + /// + /// + /// Contains the address (e.g., channel information) required to process the spacecraft telemetry streams. May be an onboard id, a mux address, or a physical location. + /// + /// + /// Contains the address (channel information) required to process the spacecraft telemetry streams + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (PhysicalAddress*) + /// + /// + public virtual IList PhysicalAddress { + get { + if ((this.PhysicalAddressField == null)) { + this.PhysicalAddressField = new XTypedList(this, LinqToXsdTypeManager.Instance, PhysicalAddressXName); + } + return this.PhysicalAddressField; + } + set { + if ((value == null)) { + this.PhysicalAddressField = null; + } + else { + if ((this.PhysicalAddressField == null)) { + this.PhysicalAddressField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, PhysicalAddressXName); + } + else { + XTypedServices.SetList(this.PhysicalAddressField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("PhysicalAddressSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static PhysicalAddressSetType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(PhysicalAddressXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(PhysicalAddressXName, typeof(PhysicalAddressType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe the physical address(s) that this parameter is collected from. Examples of physical addresses include a memory location on the spacecraft or a location on a data collection bus, with the source identified with a descriptive name for the region of memory, such as RAM, Flash, EEPROM, and other possibilities that can be adapted for program specific usage. + /// + /// + /// Regular expression: (SubAddress?) + /// + /// + public partial class PhysicalAddressType : XTypedElement, IXMetaData { + + public static explicit operator PhysicalAddressType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe the physical address(s) that this parameter is collected from. Examples of physical addresses include a memory location on the spacecraft or a location on a data collection bus, with the source identified with a descriptive name for the region of memory, such as RAM, Flash, EEPROM, and other possibilities that can be adapted for program specific usage. + /// + /// + /// Regular expression: (SubAddress?) + /// + /// + public PhysicalAddressType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SubAddressXName = System.Xml.Linq.XName.Get("SubAddress", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// A sub-address may be used to further specify the location if it fractionally occupies the address. Additional possibilities exist for separating partitions of memory or other address based storage mechanisms. This specification does not specify spacecraft specific hardware properties, so usage of addressing information is largely program and platform specific. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (SubAddress?) + /// + /// + public virtual PhysicalAddressType SubAddress { + get { + XElement x = this.GetElement(SubAddressXName); + if ((x == null)) { + return null; + } + return ((PhysicalAddressType)(x)); + } + set { + this.SetElement(SubAddressXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName sourceNameXName = System.Xml.Linq.XName.Get("sourceName", ""); + + /// + /// + /// A descriptive name for the location, such as a memory type, where this address is located. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string sourceName { + get { + XAttribute x = this.Attribute(sourceNameXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(sourceNameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName sourceAddressXName = System.Xml.Linq.XName.Get("sourceAddress", ""); + + /// + /// + /// The address within the memory location. This specification does not specify program and hardware specific attributes, such as address size and address region starting location. These are part of the spacecraft hardware properties. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string sourceAddress { + get { + XAttribute x = this.Attribute(sourceAddressXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(sourceAddressXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("PhysicalAddressType", "http://www.omg.org/spec/XTCE/20250214"); + + static PhysicalAddressType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(SubAddressXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(SubAddressXName, typeof(PhysicalAddressType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A service is a logical grouping of container and/or messages. + /// + /// + /// Regular expression: (Service+) + /// + /// + public partial class ServiceSetType : XTypedElement, IXMetaData { + + public static explicit operator ServiceSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// A service is a logical grouping of container and/or messages. + /// + /// + /// Regular expression: (Service+) + /// + /// + public ServiceSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ServiceXName = System.Xml.Linq.XName.Get("Service", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ServiceField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Service+) + /// + /// + public virtual IList Service { + get { + if ((this.ServiceField == null)) { + this.ServiceField = new XTypedList(this, LinqToXsdTypeManager.Instance, ServiceXName); + } + return this.ServiceField; + } + set { + if ((value == null)) { + this.ServiceField = null; + } + else { + if ((this.ServiceField == null)) { + this.ServiceField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ServiceXName); + } + else { + XTypedServices.SetList(this.ServiceField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ServiceSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static ServiceSetType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ServiceXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ServiceXName, typeof(ServiceType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describes a string parameter type. Three forms are supported: fixed length, variable length and variable length using a prefix. See StringDataEncodingType and StringDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, SizeRangeInCharacters?, DefaultAlarm?, ContextAlarmList?) + /// + /// + public partial class StringParameterType : global::Omg.Xtce.StringDataType, IXMetaData { + + public static explicit operator StringParameterType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describes a string parameter type. Three forms are supported: fixed length, variable length and variable length using a prefix. See StringDataEncodingType and StringDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, SizeRangeInCharacters?, DefaultAlarm?, ContextAlarmList?) + /// + /// + public StringParameterType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitSetXName = System.Xml.Linq.XName.Get("UnitSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryDataEncodingXName = System.Xml.Linq.XName.Get("BinaryDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatDataEncodingXName = System.Xml.Linq.XName.Get("FloatDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerDataEncodingXName = System.Xml.Linq.XName.Get("IntegerDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringDataEncodingXName = System.Xml.Linq.XName.Get("StringDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SizeRangeInCharactersXName = System.Xml.Linq.XName.Get("SizeRangeInCharacters", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DefaultAlarmXName = System.Xml.Linq.XName.Get("DefaultAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Default alarm definitions are those which do not adjust definition logic based on the value of other parameters. Other parameters may participate in the determination of an alarm condition for this parameter, but the definition logic of the alarm on this parameter is constant. If the alarming logic on this parameter changes based on the value of other parameters, then it is a ContextAlarm and belongs in the ContextAlarmList element. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, SizeRangeInCharacters?, DefaultAlarm?, ContextAlarmList?) + /// + /// + public virtual StringAlarmType DefaultAlarm { + get { + XElement x = this.GetElement(DefaultAlarmXName); + if ((x == null)) { + return null; + } + return ((StringAlarmType)(x)); + } + set { + this.SetElement(DefaultAlarmXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContextAlarmListXName = System.Xml.Linq.XName.Get("ContextAlarmList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Context alarm definitions are those which adjust the definition logic for this parameter based on the value of other parameters. A context which evaluates to being in effect, based on the testing of another parameter, takes precedence over the default alarms in the DefaultAlarm element. If the no context alarm evaluates to being in effect, based on the testing of another parameter, then the default alarm definitions from the DefaultAlarm element will remain in effect. If multiple contexts evaluate to being in effect, then the first one that appears will take precedence. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, SizeRangeInCharacters?, DefaultAlarm?, ContextAlarmList?) + /// + /// + public virtual StringContextAlarmListType ContextAlarmList { + get { + XElement x = this.GetElement(ContextAlarmListXName); + if ((x == null)) { + return null; + } + return ((StringContextAlarmListType)(x)); + } + set { + this.SetElement(ContextAlarmListXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("StringParameterType", "http://www.omg.org/spec/XTCE/20250214"); + + static StringParameterType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(UnitSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(BinaryDataEncodingXName), new NamedContentModelEntity(FloatDataEncodingXName), new NamedContentModelEntity(IntegerDataEncodingXName), new NamedContentModelEntity(StringDataEncodingXName)), new NamedContentModelEntity(SizeRangeInCharactersXName), new NamedContentModelEntity(DefaultAlarmXName), new NamedContentModelEntity(ContextAlarmListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(UnitSetXName, typeof(UnitSetType)); + localElementDictionary.Add(BinaryDataEncodingXName, typeof(BinaryDataEncodingType)); + localElementDictionary.Add(FloatDataEncodingXName, typeof(FloatDataEncodingType)); + localElementDictionary.Add(IntegerDataEncodingXName, typeof(IntegerDataEncodingType)); + localElementDictionary.Add(StringDataEncodingXName, typeof(StringDataEncodingType)); + localElementDictionary.Add(SizeRangeInCharactersXName, typeof(IntegerRangeType)); + localElementDictionary.Add(DefaultAlarmXName, typeof(StringAlarmType)); + localElementDictionary.Add(ContextAlarmListXName, typeof(StringContextAlarmListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describes a relative time parameter type. Relative time parameters are time offsets (e.g. 10 second, 1.24 milliseconds, etc.) See IntegerDataEncodingType, FloatDataEncoding and RelativeTimeDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Encoding?, ReferenceTime?, DefaultAlarm?, ContextAlarmList?) + /// + /// + public partial class RelativeTimeParameterType : global::Omg.Xtce.RelativeTimeDataType, IXMetaData { + + public static explicit operator RelativeTimeParameterType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describes a relative time parameter type. Relative time parameters are time offsets (e.g. 10 second, 1.24 milliseconds, etc.) See IntegerDataEncodingType, FloatDataEncoding and RelativeTimeDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Encoding?, ReferenceTime?, DefaultAlarm?, ContextAlarmList?) + /// + /// + public RelativeTimeParameterType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EncodingXName = System.Xml.Linq.XName.Get("Encoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ReferenceTimeXName = System.Xml.Linq.XName.Get("ReferenceTime", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DefaultAlarmXName = System.Xml.Linq.XName.Get("DefaultAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Default alarm definitions are those which do not adjust definition logic based on the value of other parameters. Other parameters may participate in the determination of an alarm condition for this parameter, but the definition logic of the alarm on this parameter is constant. If the alarming logic on this parameter changes based on the value of other parameters, then it is a ContextAlarm and belongs in the ContextAlarmList element. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Encoding?, ReferenceTime?, DefaultAlarm?, ContextAlarmList?) + /// + /// + public virtual TimeAlarmType DefaultAlarm { + get { + XElement x = this.GetElement(DefaultAlarmXName); + if ((x == null)) { + return null; + } + return ((TimeAlarmType)(x)); + } + set { + this.SetElement(DefaultAlarmXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContextAlarmListXName = System.Xml.Linq.XName.Get("ContextAlarmList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Context alarm definitions are those which adjust the definition logic for this parameter based on the value of other parameters. A context which evaluates to being in effect, based on the testing of another parameter, takes precedence over the default alarms in the DefaultAlarm element. If the no context alarm evaluates to being in effect, based on the testing of another parameter, then the default alarm definitions from the DefaultAlarm element will remain in effect. If multiple contexts evaluate to being in effect, then the first one that appears will take precedence. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Encoding?, ReferenceTime?, DefaultAlarm?, ContextAlarmList?) + /// + /// + public virtual TimeContextAlarmListType ContextAlarmList { + get { + XElement x = this.GetElement(ContextAlarmListXName); + if ((x == null)) { + return null; + } + return ((TimeContextAlarmListType)(x)); + } + set { + this.SetElement(ContextAlarmListXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("RelativeTimeParameterType", "http://www.omg.org/spec/XTCE/20250214"); + + static RelativeTimeParameterType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(EncodingXName), new NamedContentModelEntity(ReferenceTimeXName), new NamedContentModelEntity(DefaultAlarmXName), new NamedContentModelEntity(ContextAlarmListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(EncodingXName, typeof(EncodingType)); + localElementDictionary.Add(ReferenceTimeXName, typeof(ReferenceTimeType)); + localElementDictionary.Add(DefaultAlarmXName, typeof(TimeAlarmType)); + localElementDictionary.Add(ContextAlarmListXName, typeof(TimeContextAlarmListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A telemetered Parameter is one that will have values in telemetry. A derived Parameter is one that is calculated, usually by an Algorithm. A constant Parameter is one that is used as a constant in the system (e.g. a vehicle id). A local Parameter is one that is used purely by the software locally (e.g. a ground command counter). A ground Parameter is one that is generated by an asset which is not the spacecraft. + /// + /// + public enum TelemetryDataSourceType { + + telemetered, + + derived, + + constant, + + local, + + ground, + } + + /// + /// + /// A telemetered Parameter is one that will have values in telemetry. A derived Parameter is one that is calculated, usually by an Algorithm. A constant Parameter is one that is used as a constant in the system (e.g. a vehicle id). A local Parameter is one that is used purely by the software locally (e.g. a ground command counter). A ground Parameter is one that is generated by an asset which is not the spacecraft. + /// + /// + public sealed class TelemetryDataSourceTypeValidator { + + private TelemetryDataSourceTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "telemetered", + "derived", + "constant", + "local", + "ground"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Describes a time association consisting of an instance of an absolute time parameter (parameterRef) and this entry. Because telemetry parameter instances are oftentimes "time-tagged" with a timing signal either provided on the ground or on the space system. This data element allows one to specify which of possibly many AbsoluteTimeParameters to use to "time-tag" parameter instances with. See AbsoluteTimeParameterType. + /// + /// + public partial class TimeAssociationType : global::Omg.Xtce.ParameterInstanceRefType, IXMetaData { + + public static explicit operator TimeAssociationType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describes a time association consisting of an instance of an absolute time parameter (parameterRef) and this entry. Because telemetry parameter instances are oftentimes "time-tagged" with a timing signal either provided on the ground or on the space system. This data element allows one to specify which of possibly many AbsoluteTimeParameters to use to "time-tag" parameter instances with. See AbsoluteTimeParameterType. + /// + /// + public TimeAssociationType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName interpolateTimeXName = System.Xml.Linq.XName.Get("interpolateTime", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool interpolateTimeDefaultValue = System.Xml.XmlConvert.ToBoolean("true"); + + /// + /// + /// If true, then the current value of the AbsoluteTime will be projected to current time. In other words, if the value of the AbsoluteTime parameter was set 10 seconds ago, then 10 seconds will be added to its value before associating this time with the parameter. + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool interpolateTime { + get { + XAttribute x = this.Attribute(interpolateTimeXName); + if ((x == null)) { + return interpolateTimeDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(interpolateTimeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName offsetXName = System.Xml.Linq.XName.Get("offset", ""); + + /// + /// + /// The offset is used to supply a relative time offset from the time association and to this parameter + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Double? offset { + get { + XAttribute x = this.Attribute(offsetXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + set { + this.SetAttribute(offsetXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName unitXName = System.Xml.Linq.XName.Get("unit", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.TimeAssociationUnitType unitDefaultValue = Omg.Xtce.TimeAssociationUnitType.seconds; + + /// + /// + /// Specify the units the offset is in, the default is seconds. + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.TimeAssociationUnitType unit { + get { + XAttribute x = this.Attribute(unitXName); + if ((x == null)) { + return unitDefaultValue; + } + return ((Omg.Xtce.TimeAssociationUnitType)(Enum.Parse(typeof(Omg.Xtce.TimeAssociationUnitType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.TimeAssociationUnitTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(unitXName, value.ToString(), "unit", global::Omg.Xtce.TimeAssociationUnitTypeValidator.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("TimeAssociationType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public enum TimeWindowIsRelativeToType { + + commandRelease, + + timeLastVerifierPassed, + } + + public sealed class TimeWindowIsRelativeToTypeValidator { + + private TimeWindowIsRelativeToTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "commandRelease", + "timeLastVerifierPassed"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Describe an absolute time argument type relative to a known epoch (such as TAI). The string representation of this time should use the [ISO 8601] extended format CCYY-MM-DDThh:mm:ss where "CC" represents the century, "YY" the year, "MM" the month and "DD" the day, preceded by an optional leading "-" sign to indicate a negative number. If the sign is omitted, "+" is assumed. The letter "T" is the date/time separator and "hh", "mm", "ss" represent hour, minute and second respectively. Additional digits can be used to increase the precision of fractional seconds if desired i.e. the format ss.ss... with any number of digits after the decimal point is supported. See TAIType, IntegerDataEncoding and AbsoluteTimeDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Encoding?, ReferenceTime?) + /// + /// + public partial class AbsoluteTimeArgumentType : global::Omg.Xtce.ArgumentAbsoluteTimeDataType, IXMetaData { + + public static explicit operator AbsoluteTimeArgumentType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an absolute time argument type relative to a known epoch (such as TAI). The string representation of this time should use the [ISO 8601] extended format CCYY-MM-DDThh:mm:ss where "CC" represents the century, "YY" the year, "MM" the month and "DD" the day, preceded by an optional leading "-" sign to indicate a negative number. If the sign is omitted, "+" is assumed. The letter "T" is the date/time separator and "hh", "mm", "ss" represent hour, minute and second respectively. Additional digits can be used to increase the precision of fractional seconds if desired i.e. the format ss.ss... with any number of digits after the decimal point is supported. See TAIType, IntegerDataEncoding and AbsoluteTimeDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Encoding?, ReferenceTime?) + /// + /// + public AbsoluteTimeArgumentType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EncodingXName = System.Xml.Linq.XName.Get("Encoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ReferenceTimeXName = System.Xml.Linq.XName.Get("ReferenceTime", "http://www.omg.org/spec/XTCE/20250214"); + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("AbsoluteTimeArgumentType", "http://www.omg.org/spec/XTCE/20250214"); + + static AbsoluteTimeArgumentType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(EncodingXName), new NamedContentModelEntity(ReferenceTimeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(EncodingXName, typeof(EncodingType)); + localElementDictionary.Add(ReferenceTimeXName, typeof(ReferenceTimeType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an array argument type. The size and number of dimension are described here. See ArrayParameterRefEntryType, NameReferenceType and ArrayDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, DimensionList) + /// + /// + public partial class ArrayArgumentType : global::Omg.Xtce.ArrayDataTypeType, IXMetaData { + + public static explicit operator ArrayArgumentType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an array argument type. The size and number of dimension are described here. See ArrayParameterRefEntryType, NameReferenceType and ArrayDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, DimensionList) + /// + /// + public ArrayArgumentType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DimensionListXName = System.Xml.Linq.XName.Get("DimensionList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Describe the dimensions of this array. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, DimensionList) + /// + /// + public virtual ArgumentDimensionListType DimensionList { + get { + XElement x = this.GetElement(DimensionListXName); + return ((ArgumentDimensionListType)(x)); + } + set { + this.SetElement(DimensionListXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArrayArgumentType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArrayArgumentType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(DimensionListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(DimensionListXName, typeof(ArgumentDimensionListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a complex data type analogous to a C-struct. Each field of the data type is called a Member. Each Member is part of the MemberList which forms the list of items to be placed under this data type's name. The MemberList defines a data block and block's size is defined by the DataEncodings of each Member's type reference. The data members are ordered and contiguous in the MemberList element (packed). Each member may be addressed by the dot syntax similar to C such as P.voltage if P is the referring parameter and voltage is of a member of P's aggregate type. See MemberType, MemberListType, DataEncodingType, NameReferenceType, and AggregateDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, MemberList) + /// + /// + public partial class AggregateArgumentType : global::Omg.Xtce.AggregateDataType, IXMetaData { + + public static explicit operator AggregateArgumentType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a complex data type analogous to a C-struct. Each field of the data type is called a Member. Each Member is part of the MemberList which forms the list of items to be placed under this data type's name. The MemberList defines a data block and block's size is defined by the DataEncodings of each Member's type reference. The data members are ordered and contiguous in the MemberList element (packed). Each member may be addressed by the dot syntax similar to C such as P.voltage if P is the referring parameter and voltage is of a member of P's aggregate type. See MemberType, MemberListType, DataEncodingType, NameReferenceType, and AggregateDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, MemberList) + /// + /// + public AggregateArgumentType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MemberListXName = System.Xml.Linq.XName.Get("MemberList", "http://www.omg.org/spec/XTCE/20250214"); + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("AggregateArgumentType", "http://www.omg.org/spec/XTCE/20250214"); + + static AggregateArgumentType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(MemberListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(MemberListXName, typeof(MemberListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Argument Assignments specialize a MetaCommand or BlockMetaCommand when inheriting from another MetaCommand. General argument values can be restricted to specific values to further specialize the MetaCommand. Use it to "narrow" a MetaCommand from its base MetaCommand by specifying values of arguments for example, a power command may be narrowed to a "power on" command by assigning the value of an argument to "on". See ArgumentAssignmentType and MetaCommandType. + /// + /// + /// Regular expression: (ArgumentAssignment+) + /// + /// + public partial class ArgumentAssignmentListType : XTypedElement, IXMetaData { + + public static explicit operator ArgumentAssignmentListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Argument Assignments specialize a MetaCommand or BlockMetaCommand when inheriting from another MetaCommand. General argument values can be restricted to specific values to further specialize the MetaCommand. Use it to "narrow" a MetaCommand from its base MetaCommand by specifying values of arguments for example, a power command may be narrowed to a "power on" command by assigning the value of an argument to "on". See ArgumentAssignmentType and MetaCommandType. + /// + /// + /// Regular expression: (ArgumentAssignment+) + /// + /// + public ArgumentAssignmentListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ArgumentAssignmentXName = System.Xml.Linq.XName.Get("ArgumentAssignment", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ArgumentAssignmentField; + + /// + /// + /// Specialize this command definition when inheriting from a more general MetaCommand by restricting the specific values of otherwise general arguments. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (ArgumentAssignment+) + /// + /// + public virtual IList ArgumentAssignment { + get { + if ((this.ArgumentAssignmentField == null)) { + this.ArgumentAssignmentField = new XTypedList(this, LinqToXsdTypeManager.Instance, ArgumentAssignmentXName); + } + return this.ArgumentAssignmentField; + } + set { + if ((value == null)) { + this.ArgumentAssignmentField = null; + } + else { + if ((this.ArgumentAssignmentField == null)) { + this.ArgumentAssignmentField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ArgumentAssignmentXName); + } + else { + XTypedServices.SetList(this.ArgumentAssignmentField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentAssignmentListType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentAssignmentListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ArgumentAssignmentXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ArgumentAssignmentXName, typeof(ArgumentAssignmentType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an assignment of an argument with a calibrated/engineering value. See ArgumentAssignmentListType. + /// + /// + public partial class ArgumentAssignmentType : XTypedElement, IXMetaData { + + public static explicit operator ArgumentAssignmentType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an assignment of an argument with a calibrated/engineering value. See ArgumentAssignmentListType. + /// + /// + public ArgumentAssignmentType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName argumentNameXName = System.Xml.Linq.XName.Get("argumentName", ""); + + /// + /// + /// The named argument from the base MetaCommand to assign/restrict with a value. + /// + /// + /// Occurrence: required + /// + /// + public virtual string argumentName { + get { + XAttribute x = this.Attribute(argumentNameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(argumentNameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName argumentValueXName = System.Xml.Linq.XName.Get("argumentValue", ""); + + /// + /// + /// Specify value as a string compliant with the XML schema (xs) type specified for each XTCE type: integer=xs:integer; float=xs:double; string=xs:string; boolean=xs:boolean; binary=xs:hexBinary; enum=xs:string from EnumerationList; relative time=xs:duration; absolute time=xs:dateTime. Supplied value must be within the ValidRange specified for the type. + /// + /// + /// Occurrence: required + /// + /// + public virtual string argumentValue { + get { + XAttribute x = this.Attribute(argumentValueXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(argumentValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentAssignmentType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to ComparisonType but supports argument instance references. + /// + /// + /// Regular expression: (ParameterInstanceRef | ArgumentInstanceRef) + /// + /// + public partial class ArgumentComparisonType : XTypedElement, IXMetaData { + + public static explicit operator ArgumentComparisonType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to ComparisonType but supports argument instance references. + /// + /// + /// Regular expression: (ParameterInstanceRef | ArgumentInstanceRef) + /// + /// + public ArgumentComparisonType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterInstanceRefXName = System.Xml.Linq.XName.Get("ParameterInstanceRef", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// This parameter instance is being compared to the value in the parent element using the comparison defined there also. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (ParameterInstanceRef | ArgumentInstanceRef) + /// + /// + public virtual ParameterInstanceRefType ParameterInstanceRef { + get { + XElement x = this.GetElement(ParameterInstanceRefXName); + if ((x == null)) { + return null; + } + return ((ParameterInstanceRefType)(x)); + } + set { + this.SetElement(ParameterInstanceRefXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ArgumentInstanceRefXName = System.Xml.Linq.XName.Get("ArgumentInstanceRef", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// This argument instance is being compared to the value in the parent element using the comparison defined there also. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (ParameterInstanceRef | ArgumentInstanceRef) + /// + /// + public virtual ArgumentInstanceRefType ArgumentInstanceRef { + get { + XElement x = this.GetElement(ArgumentInstanceRefXName); + if ((x == null)) { + return null; + } + return ((ArgumentInstanceRefType)(x)); + } + set { + this.SetElement(ArgumentInstanceRefXName, value); + } + } + + public ArgumentComparisonType(ParameterInstanceRefType ParameterInstanceRef) { + this.ParameterInstanceRef = ParameterInstanceRef; + } + + public ArgumentComparisonType(ArgumentInstanceRefType ArgumentInstanceRef) { + this.ArgumentInstanceRef = ArgumentInstanceRef; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName comparisonOperatorXName = System.Xml.Linq.XName.Get("comparisonOperator", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.ComparisonOperatorsType comparisonOperatorDefaultValue = Omg.Xtce.ComparisonOperatorsType.EqualsEquals; + + /// + /// + /// Comparison operator to use with equality being the common default. + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.ComparisonOperatorsType comparisonOperator { + get { + XAttribute x = this.Attribute(comparisonOperatorXName); + if ((x == null)) { + return comparisonOperatorDefaultValue; + } + return ((Omg.Xtce.ComparisonOperatorsType)(Enum.Parse(typeof(Omg.Xtce.ComparisonOperatorsType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.ComparisonOperatorsTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(comparisonOperatorXName, value.ToString(), "comparisonOperator", global::Omg.Xtce.ComparisonOperatorsTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName valueXName = System.Xml.Linq.XName.Get("value", ""); + + /// + /// + /// Specify as: integer data type using xs:integer, float data type using xs:double, string data type using xs:string, boolean data type using xs:boolean, binary data type using xs:hexBinary, enum data type using label name, relative time data type using xs:duration, absolute time data type using xs:dateTime. Values must not exceed the characteristics for the data type or this is a validation error. Takes precedence over an initial value given in the data type. Values are calibrated unless there is an option to override it. + /// + /// + /// Occurrence: required + /// + /// + public virtual string value { + get { + XAttribute x = this.Attribute(valueXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(valueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentComparisonType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentComparisonType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(ParameterInstanceRefXName), new NamedContentModelEntity(ArgumentInstanceRefXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ParameterInstanceRefXName, typeof(ParameterInstanceRefType)); + localElementDictionary.Add(ArgumentInstanceRefXName, typeof(ArgumentInstanceRefType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to ComparisonCheckType but supports argument instance references. + /// + /// + /// Regular expression: ((ParameterInstanceRef | ArgumentInstanceRef), ComparisonOperator, (ParameterInstanceRef | ArgumentInstanceRef | Value)) + /// + /// + public partial class ArgumentComparisonCheckType : global::Omg.Xtce.BaseComparisonType, IXMetaData { + + public static explicit operator ArgumentComparisonCheckType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to ComparisonCheckType but supports argument instance references. + /// + /// + /// Regular expression: ((ParameterInstanceRef | ArgumentInstanceRef), ComparisonOperator, (ParameterInstanceRef | ArgumentInstanceRef | Value)) + /// + /// + public ArgumentComparisonCheckType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterInstanceRefXName = System.Xml.Linq.XName.Get("ParameterInstanceRef", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ParameterInstanceRefField; + + /// + /// + /// Left hand side parameter instance. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((ParameterInstanceRef | ArgumentInstanceRef), ComparisonOperator, (ParameterInstanceRef | ArgumentInstanceRef | Value)) + /// + /// + public virtual IList ParameterInstanceRef { + get { + if ((this.ParameterInstanceRefField == null)) { + this.ParameterInstanceRefField = new XTypedList(this, LinqToXsdTypeManager.Instance, ParameterInstanceRefXName); + } + return this.ParameterInstanceRefField; + } + set { + if ((value == null)) { + this.ParameterInstanceRefField = null; + } + else { + if ((this.ParameterInstanceRefField == null)) { + this.ParameterInstanceRefField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ParameterInstanceRefXName); + } + else { + XTypedServices.SetList(this.ParameterInstanceRefField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ArgumentInstanceRefXName = System.Xml.Linq.XName.Get("ArgumentInstanceRef", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ArgumentInstanceRefField; + + /// + /// + /// Left hand side argument instance. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((ParameterInstanceRef | ArgumentInstanceRef), ComparisonOperator, (ParameterInstanceRef | ArgumentInstanceRef | Value)) + /// + /// + public virtual IList ArgumentInstanceRef { + get { + if ((this.ArgumentInstanceRefField == null)) { + this.ArgumentInstanceRefField = new XTypedList(this, LinqToXsdTypeManager.Instance, ArgumentInstanceRefXName); + } + return this.ArgumentInstanceRefField; + } + set { + if ((value == null)) { + this.ArgumentInstanceRefField = null; + } + else { + if ((this.ArgumentInstanceRefField == null)) { + this.ArgumentInstanceRefField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ArgumentInstanceRefXName); + } + else { + XTypedServices.SetList(this.ArgumentInstanceRefField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonOperatorXName = System.Xml.Linq.XName.Get("ComparisonOperator", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Comparison operator. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: ((ParameterInstanceRef | ArgumentInstanceRef), ComparisonOperator, (ParameterInstanceRef | ArgumentInstanceRef | Value)) + /// + /// + public virtual Omg.Xtce.ComparisonOperatorsType ComparisonOperator { + get { + XElement x = this.GetElement(ComparisonOperatorXName); + return ((Omg.Xtce.ComparisonOperatorsType)(Enum.Parse(typeof(Omg.Xtce.ComparisonOperatorsType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.ComparisonOperatorsTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(ComparisonOperatorXName, value.ToString(), "ComparisonOperator", global::Omg.Xtce.ComparisonOperatorsTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ValueXName = System.Xml.Linq.XName.Get("Value", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Specify as: integer data type using xs:integer, float data type using xs:double, string data type using xs:string, boolean data type using xs:boolean, binary data type using xs:hexBinary, enum data type using label name, relative time data type using xs:duration, absolute time data type using xs:dateTime. Values must not exceed the characteristics for the data type or this is a validation error. Takes precedence over an initial value given in the data type. Values are calibrated unless there is an option to override it. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((ParameterInstanceRef | ArgumentInstanceRef), ComparisonOperator, (ParameterInstanceRef | ArgumentInstanceRef | Value)) + /// + /// + public virtual string Value { + get { + XElement x = this.GetElement(ValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetElement(ValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentComparisonCheckType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentComparisonCheckType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(ParameterInstanceRefXName), new NamedContentModelEntity(ArgumentInstanceRefXName)), new NamedContentModelEntity(ComparisonOperatorXName), new ChoiceContentModelEntity(new NamedContentModelEntity(ParameterInstanceRefXName), new NamedContentModelEntity(ArgumentInstanceRefXName), new NamedContentModelEntity(ValueXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ParameterInstanceRefXName, typeof(ParameterInstanceRefType)); + localElementDictionary.Add(ArgumentInstanceRefXName, typeof(ArgumentInstanceRefType)); + localElementDictionary.Add(ComparisonOperatorXName, typeof(string)); + localElementDictionary.Add(ValueXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to ComparisonListType but supports argument instance references. + /// + /// + /// Regular expression: (Comparison+) + /// + /// + public partial class ArgumentComparisonListType : XTypedElement, IXMetaData { + + public static explicit operator ArgumentComparisonListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to ComparisonListType but supports argument instance references. + /// + /// + /// Regular expression: (Comparison+) + /// + /// + public ArgumentComparisonListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonXName = System.Xml.Linq.XName.Get("Comparison", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ComparisonField; + + /// + /// + /// List of Comparison elements must all be true for the comparison to evaluate to true. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Comparison+) + /// + /// + public virtual IList Comparison { + get { + if ((this.ComparisonField == null)) { + this.ComparisonField = new XTypedList(this, LinqToXsdTypeManager.Instance, ComparisonXName); + } + return this.ComparisonField; + } + set { + if ((value == null)) { + this.ComparisonField = null; + } + else { + if ((this.ComparisonField == null)) { + this.ComparisonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ComparisonXName); + } + else { + XTypedServices.SetList(this.ComparisonField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentComparisonListType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentComparisonListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ComparisonXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ComparisonXName, typeof(ArgumentComparisonType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to ArgumentDiscreteLookupType but supports argument instance references. + /// + /// + /// Regular expression: (Comparison | ComparisonList | BooleanExpression | CustomAlgorithm) + /// + /// + public partial class ArgumentDiscreteLookupType : global::Omg.Xtce.ArgumentMatchCriteriaType, IXMetaData { + + public static explicit operator ArgumentDiscreteLookupType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to ArgumentDiscreteLookupType but supports argument instance references. + /// + /// + /// Regular expression: (Comparison | ComparisonList | BooleanExpression | CustomAlgorithm) + /// + /// + public ArgumentDiscreteLookupType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonXName = System.Xml.Linq.XName.Get("Comparison", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonListXName = System.Xml.Linq.XName.Get("ComparisonList", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BooleanExpressionXName = System.Xml.Linq.XName.Get("BooleanExpression", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlgorithmXName = System.Xml.Linq.XName.Get("CustomAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + public ArgumentDiscreteLookupType(ArgumentComparisonType Comparison) : + base(Comparison) { + } + + public ArgumentDiscreteLookupType(ArgumentComparisonListType ComparisonList) : + base(ComparisonList) { + } + + public ArgumentDiscreteLookupType(ArgumentBooleanExpressionType BooleanExpression) : + base(BooleanExpression) { + } + + public ArgumentDiscreteLookupType(ArgumentInputAlgorithmType CustomAlgorithm) : + base(CustomAlgorithm) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName valueXName = System.Xml.Linq.XName.Get("value", ""); + + /// + /// + /// Value to use when the lookup conditions are true. + /// + /// + /// Occurrence: required + /// + /// + public virtual long value { + get { + XAttribute x = this.Attribute(valueXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(valueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentDiscreteLookupType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentDiscreteLookupType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(ComparisonXName), new NamedContentModelEntity(ComparisonListXName), new NamedContentModelEntity(BooleanExpressionXName), new NamedContentModelEntity(CustomAlgorithmXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ComparisonXName, typeof(ArgumentComparisonType)); + localElementDictionary.Add(ComparisonListXName, typeof(ArgumentComparisonListType)); + localElementDictionary.Add(BooleanExpressionXName, typeof(ArgumentBooleanExpressionType)); + localElementDictionary.Add(CustomAlgorithmXName, typeof(ArgumentInputAlgorithmType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to DiscreteLookupListType but supports argument instance references. + /// + /// + /// Regular expression: (DiscreteLookup+) + /// + /// + public partial class ArgumentDiscreteLookupListType : XTypedElement, IXMetaData { + + public static explicit operator ArgumentDiscreteLookupListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to DiscreteLookupListType but supports argument instance references. + /// + /// + /// Regular expression: (DiscreteLookup+) + /// + /// + public ArgumentDiscreteLookupListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DiscreteLookupXName = System.Xml.Linq.XName.Get("DiscreteLookup", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList DiscreteLookupField; + + /// + /// + /// Describe a lookup condition set using discrete values from arguments and/or parameters. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (DiscreteLookup+) + /// + /// + public virtual IList DiscreteLookup { + get { + if ((this.DiscreteLookupField == null)) { + this.DiscreteLookupField = new XTypedList(this, LinqToXsdTypeManager.Instance, DiscreteLookupXName); + } + return this.DiscreteLookupField; + } + set { + if ((value == null)) { + this.DiscreteLookupField = null; + } + else { + if ((this.DiscreteLookupField == null)) { + this.DiscreteLookupField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, DiscreteLookupXName); + } + else { + XTypedServices.SetList(this.DiscreteLookupField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName defaultValueXName = System.Xml.Linq.XName.Get("defaultValue", ""); + + /// + /// + /// In the event that no lookup condition evaluates to true, then this value will be used. + /// + /// + /// Occurrence: required + /// + /// + public virtual long defaultValue { + get { + XAttribute x = this.Attribute(defaultValueXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(defaultValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentDiscreteLookupListType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentDiscreteLookupListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(DiscreteLookupXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(DiscreteLookupXName, typeof(ArgumentDiscreteLookupType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to DynamicValueType but supports argument instance references. + /// + /// + /// Regular expression: ((ArgumentInstanceRef | ParameterInstanceRef), LinearAdjustment?) + /// + /// + public partial class ArgumentDynamicValueType : XTypedElement, IXMetaData { + + public static explicit operator ArgumentDynamicValueType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to DynamicValueType but supports argument instance references. + /// + /// + /// Regular expression: ((ArgumentInstanceRef | ParameterInstanceRef), LinearAdjustment?) + /// + /// + public ArgumentDynamicValueType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ArgumentInstanceRefXName = System.Xml.Linq.XName.Get("ArgumentInstanceRef", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Retrieve the value by referencing the value of an Argument. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((ArgumentInstanceRef | ParameterInstanceRef), LinearAdjustment?) + /// + /// + public virtual ArgumentInstanceRefType ArgumentInstanceRef { + get { + XElement x = this.GetElement(ArgumentInstanceRefXName); + if ((x == null)) { + return null; + } + return ((ArgumentInstanceRefType)(x)); + } + set { + this.SetElement(ArgumentInstanceRefXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterInstanceRefXName = System.Xml.Linq.XName.Get("ParameterInstanceRef", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Retrieve the value by referencing the value of a Parameter. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((ArgumentInstanceRef | ParameterInstanceRef), LinearAdjustment?) + /// + /// + public virtual ParameterInstanceRefType ParameterInstanceRef { + get { + XElement x = this.GetElement(ParameterInstanceRefXName); + if ((x == null)) { + return null; + } + return ((ParameterInstanceRefType)(x)); + } + set { + this.SetElement(ParameterInstanceRefXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LinearAdjustmentXName = System.Xml.Linq.XName.Get("LinearAdjustment", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// A slope and intercept may be applied to scale or shift the value selected from the argument or parameter. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: ((ArgumentInstanceRef | ParameterInstanceRef), LinearAdjustment?) + /// + /// + public virtual LinearAdjustmentType LinearAdjustment { + get { + XElement x = this.GetElement(LinearAdjustmentXName); + if ((x == null)) { + return null; + } + return ((LinearAdjustmentType)(x)); + } + set { + this.SetElement(LinearAdjustmentXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentDynamicValueType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentDynamicValueType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(ArgumentInstanceRefXName), new NamedContentModelEntity(ParameterInstanceRefXName)), new NamedContentModelEntity(LinearAdjustmentXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ArgumentInstanceRefXName, typeof(ArgumentInstanceRefType)); + localElementDictionary.Add(ParameterInstanceRefXName, typeof(ParameterInstanceRefType)); + localElementDictionary.Add(LinearAdjustmentXName, typeof(LinearAdjustmentType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to InputAlgorithmType but supports argument instance references. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, AlgorithmText?, ExternalAlgorithmSet?, InputSet?) + /// + /// + public partial class ArgumentInputAlgorithmType : global::Omg.Xtce.SimpleAlgorithmType, IXMetaData { + + public static explicit operator ArgumentInputAlgorithmType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to InputAlgorithmType but supports argument instance references. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, AlgorithmText?, ExternalAlgorithmSet?, InputSet?) + /// + /// + public ArgumentInputAlgorithmType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AlgorithmTextXName = System.Xml.Linq.XName.Get("AlgorithmText", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ExternalAlgorithmSetXName = System.Xml.Linq.XName.Get("ExternalAlgorithmSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName InputSetXName = System.Xml.Linq.XName.Get("InputSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// The InputSet describes the list of arguments and/or parameters that should be made available as input arguments to the algorithm. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, AlgorithmText?, ExternalAlgorithmSet?, InputSet?) + /// + /// + public virtual ArgumentInputSetType InputSet { + get { + XElement x = this.GetElement(InputSetXName); + if ((x == null)) { + return null; + } + return ((ArgumentInputSetType)(x)); + } + set { + this.SetElement(InputSetXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentInputAlgorithmType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentInputAlgorithmType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(AlgorithmTextXName), new NamedContentModelEntity(ExternalAlgorithmSetXName), new NamedContentModelEntity(InputSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(AlgorithmTextXName, typeof(AlgorithmTextType)); + localElementDictionary.Add(ExternalAlgorithmSetXName, typeof(ExternalAlgorithmSetType)); + localElementDictionary.Add(InputSetXName, typeof(ArgumentInputSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to InputSetType but supports argument instance references. + /// + /// + /// Regular expression: (InputParameterInstanceRef | InputArgumentInstanceRef | Constant)+ + /// + /// + public partial class ArgumentInputSetType : XTypedElement, IXMetaData { + + public static explicit operator ArgumentInputSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to InputSetType but supports argument instance references. + /// + /// + /// Regular expression: (InputParameterInstanceRef | InputArgumentInstanceRef | Constant)+ + /// + /// + public ArgumentInputSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName InputParameterInstanceRefXName = System.Xml.Linq.XName.Get("InputParameterInstanceRef", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList InputParameterInstanceRefField; + + /// + /// + /// Reference a parameter to serve as an input to the algorithm. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (InputParameterInstanceRef | InputArgumentInstanceRef | Constant)+ + /// + /// + public virtual IList InputParameterInstanceRef { + get { + if ((this.InputParameterInstanceRefField == null)) { + this.InputParameterInstanceRefField = new XTypedList(this, LinqToXsdTypeManager.Instance, InputParameterInstanceRefXName); + } + return this.InputParameterInstanceRefField; + } + set { + if ((value == null)) { + this.InputParameterInstanceRefField = null; + } + else { + if ((this.InputParameterInstanceRefField == null)) { + this.InputParameterInstanceRefField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, InputParameterInstanceRefXName); + } + else { + XTypedServices.SetList(this.InputParameterInstanceRefField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName InputArgumentInstanceRefXName = System.Xml.Linq.XName.Get("InputArgumentInstanceRef", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList InputArgumentInstanceRefField; + + /// + /// + /// Reference an argument to serve as an input to the algorithm. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (InputParameterInstanceRef | InputArgumentInstanceRef | Constant)+ + /// + /// + public virtual IList InputArgumentInstanceRef { + get { + if ((this.InputArgumentInstanceRefField == null)) { + this.InputArgumentInstanceRefField = new XTypedList(this, LinqToXsdTypeManager.Instance, InputArgumentInstanceRefXName); + } + return this.InputArgumentInstanceRefField; + } + set { + if ((value == null)) { + this.InputArgumentInstanceRefField = null; + } + else { + if ((this.InputArgumentInstanceRefField == null)) { + this.InputArgumentInstanceRefField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, InputArgumentInstanceRefXName); + } + else { + XTypedServices.SetList(this.InputArgumentInstanceRefField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ConstantXName = System.Xml.Linq.XName.Get("Constant", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ConstantField; + + /// + /// + /// Supply a local constant name and value to input to this algorithm. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (InputParameterInstanceRef | InputArgumentInstanceRef | Constant)+ + /// + /// + public virtual IList Constant { + get { + if ((this.ConstantField == null)) { + this.ConstantField = new XTypedList(this, LinqToXsdTypeManager.Instance, ConstantXName); + } + return this.ConstantField; + } + set { + if ((value == null)) { + this.ConstantField = null; + } + else { + if ((this.ConstantField == null)) { + this.ConstantField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ConstantXName); + } + else { + XTypedServices.SetList(this.ConstantField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentInputSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentInputSetType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(InputParameterInstanceRefXName), new NamedContentModelEntity(InputArgumentInstanceRefXName), new NamedContentModelEntity(ConstantXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(InputParameterInstanceRefXName, typeof(InputParameterInstanceRefType)); + localElementDictionary.Add(InputArgumentInstanceRefXName, typeof(ArgumentInstanceRefType)); + localElementDictionary.Add(ConstantXName, typeof(ConstantType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// An argument instance is the name of an argument as the reference is always resolved locally to the metacommand. + /// + /// + public partial class ArgumentInstanceRefType : XTypedElement, IXMetaData { + + public static explicit operator ArgumentInstanceRefType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// An argument instance is the name of an argument as the reference is always resolved locally to the metacommand. + /// + /// + public ArgumentInstanceRefType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName argumentRefXName = System.Xml.Linq.XName.Get("argumentRef", ""); + + /// + /// + /// Give the name of the argument. There is no path, this is a local reference. + /// + /// + /// Occurrence: required + /// + /// + public virtual string argumentRef { + get { + XAttribute x = this.Attribute(argumentRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(argumentRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName useCalibratedValueXName = System.Xml.Linq.XName.Get("useCalibratedValue", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool useCalibratedValueDefaultValue = System.Xml.XmlConvert.ToBoolean("true"); + + /// + /// + /// Typically the calibrated/engineering value is used and that is the default. + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool useCalibratedValue { + get { + XAttribute x = this.Attribute(useCalibratedValueXName); + if ((x == null)) { + return useCalibratedValueDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(useCalibratedValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentInstanceRefType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Defines a list of Arguments for a command definition. + /// + /// + /// Regular expression: (Argument+) + /// + /// + public partial class ArgumentListType : XTypedElement, IXMetaData { + + public static explicit operator ArgumentListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Defines a list of Arguments for a command definition. + /// + /// + /// Regular expression: (Argument+) + /// + /// + public ArgumentListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ArgumentXName = System.Xml.Linq.XName.Get("Argument", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ArgumentField; + + /// + /// + /// Defines an Argument for a command definition. Arguments are local to the MetaCommand, BlockMetaCommand, and those that inherit from the definition. + /// + /// + /// Need to ensure that the named types actually exist + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Argument+) + /// + /// + public virtual IList Argument { + get { + if ((this.ArgumentField == null)) { + this.ArgumentField = new XTypedList(this, LinqToXsdTypeManager.Instance, ArgumentXName); + } + return this.ArgumentField; + } + set { + if ((value == null)) { + this.ArgumentField = null; + } + else { + if ((this.ArgumentField == null)) { + this.ArgumentField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ArgumentXName); + } + else { + XTypedServices.SetList(this.ArgumentField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentListType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ArgumentXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ArgumentXName, typeof(ArgumentType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to BooleanExpressionType but supports argument instance references. + /// + /// + /// Regular expression: (Condition | ANDedConditions | ORedConditions) + /// + /// + public partial class ArgumentBooleanExpressionType : XTypedElement, IXMetaData { + + public static explicit operator ArgumentBooleanExpressionType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to BooleanExpressionType but supports argument instance references. + /// + /// + /// Regular expression: (Condition | ANDedConditions | ORedConditions) + /// + /// + public ArgumentBooleanExpressionType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ConditionXName = System.Xml.Linq.XName.Get("Condition", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Condition elements describe a test similar to the Comparison element except that the arguments/parameters used have additional flexibility. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Condition | ANDedConditions | ORedConditions) + /// + /// + public virtual ArgumentComparisonCheckType Condition { + get { + XElement x = this.GetElement(ConditionXName); + if ((x == null)) { + return null; + } + return ((ArgumentComparisonCheckType)(x)); + } + set { + this.SetElement(ConditionXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ANDedConditionsXName = System.Xml.Linq.XName.Get("ANDedConditions", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// This element describes tests similar to the ComparisonList element except that the arguments/parameters used are more flexible. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Condition | ANDedConditions | ORedConditions) + /// + /// + public virtual ArgumentANDedConditionsType ANDedConditions { + get { + XElement x = this.GetElement(ANDedConditionsXName); + if ((x == null)) { + return null; + } + return ((ArgumentANDedConditionsType)(x)); + } + set { + this.SetElement(ANDedConditionsXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ORedConditionsXName = System.Xml.Linq.XName.Get("ORedConditions", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// This element describes tests similar to the ComparisonList element except that the arguments/parameters used are more flexible. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Condition | ANDedConditions | ORedConditions) + /// + /// + public virtual ArgumentORedConditionsType ORedConditions { + get { + XElement x = this.GetElement(ORedConditionsXName); + if ((x == null)) { + return null; + } + return ((ArgumentORedConditionsType)(x)); + } + set { + this.SetElement(ORedConditionsXName, value); + } + } + + public ArgumentBooleanExpressionType(ArgumentComparisonCheckType Condition) { + this.Condition = Condition; + } + + public ArgumentBooleanExpressionType(ArgumentANDedConditionsType ANDedConditions) { + this.ANDedConditions = ANDedConditions; + } + + public ArgumentBooleanExpressionType(ArgumentORedConditionsType ORedConditions) { + this.ORedConditions = ORedConditions; + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentBooleanExpressionType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentBooleanExpressionType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(ConditionXName), new NamedContentModelEntity(ANDedConditionsXName), new NamedContentModelEntity(ORedConditionsXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ConditionXName, typeof(ArgumentComparisonCheckType)); + localElementDictionary.Add(ANDedConditionsXName, typeof(ArgumentANDedConditionsType)); + localElementDictionary.Add(ORedConditionsXName, typeof(ArgumentORedConditionsType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to ANDedConditionsType but supports argument instance references. + /// + /// + /// Regular expression: (Condition | ORedConditions)+ + /// + /// + public partial class ArgumentANDedConditionsType : global::Omg.Xtce.BaseConditionsType, IXMetaData { + + public static explicit operator ArgumentANDedConditionsType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to ANDedConditionsType but supports argument instance references. + /// + /// + /// Regular expression: (Condition | ORedConditions)+ + /// + /// + public ArgumentANDedConditionsType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ConditionXName = System.Xml.Linq.XName.Get("Condition", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ConditionField; + + /// + /// + /// Condition elements describe a test similar to the Comparison element except that the arguments/parameters used have additional flexibility for the compare. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Condition | ORedConditions)+ + /// + /// + public virtual IList Condition { + get { + if ((this.ConditionField == null)) { + this.ConditionField = new XTypedList(this, LinqToXsdTypeManager.Instance, ConditionXName); + } + return this.ConditionField; + } + set { + if ((value == null)) { + this.ConditionField = null; + } + else { + if ((this.ConditionField == null)) { + this.ConditionField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ConditionXName); + } + else { + XTypedServices.SetList(this.ConditionField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ORedConditionsXName = System.Xml.Linq.XName.Get("ORedConditions", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ORedConditionsField; + + /// + /// + /// This element describes tests similar to the ComparisonList element except that the arguments/parameters used are more flexible and the and/or for multiple checks can be specified. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Condition | ORedConditions)+ + /// + /// + public virtual IList ORedConditions { + get { + if ((this.ORedConditionsField == null)) { + this.ORedConditionsField = new XTypedList(this, LinqToXsdTypeManager.Instance, ORedConditionsXName); + } + return this.ORedConditionsField; + } + set { + if ((value == null)) { + this.ORedConditionsField = null; + } + else { + if ((this.ORedConditionsField == null)) { + this.ORedConditionsField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ORedConditionsXName); + } + else { + XTypedServices.SetList(this.ORedConditionsField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentANDedConditionsType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentANDedConditionsType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(ConditionXName), new NamedContentModelEntity(ORedConditionsXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ConditionXName, typeof(ArgumentComparisonCheckType)); + localElementDictionary.Add(ORedConditionsXName, typeof(ArgumentORedConditionsType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to ORedConditionsType but supports argument instance references. + /// + /// + /// Regular expression: (Condition | ANDedConditions)+ + /// + /// + public partial class ArgumentORedConditionsType : global::Omg.Xtce.BaseConditionsType, IXMetaData { + + public static explicit operator ArgumentORedConditionsType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to ORedConditionsType but supports argument instance references. + /// + /// + /// Regular expression: (Condition | ANDedConditions)+ + /// + /// + public ArgumentORedConditionsType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ConditionXName = System.Xml.Linq.XName.Get("Condition", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ConditionField; + + /// + /// + /// Condition elements describe a test similar to the Comparison element except that the arguments/parameters used have additional flexibility for the compare. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Condition | ANDedConditions)+ + /// + /// + public virtual IList Condition { + get { + if ((this.ConditionField == null)) { + this.ConditionField = new XTypedList(this, LinqToXsdTypeManager.Instance, ConditionXName); + } + return this.ConditionField; + } + set { + if ((value == null)) { + this.ConditionField = null; + } + else { + if ((this.ConditionField == null)) { + this.ConditionField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ConditionXName); + } + else { + XTypedServices.SetList(this.ConditionField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ANDedConditionsXName = System.Xml.Linq.XName.Get("ANDedConditions", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ANDedConditionsField; + + /// + /// + /// This element describes tests similar to the ComparisonList element except that the arguments/parameters used are more flexible and the and/or for multiple checks can be specified. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Condition | ANDedConditions)+ + /// + /// + public virtual IList ANDedConditions { + get { + if ((this.ANDedConditionsField == null)) { + this.ANDedConditionsField = new XTypedList(this, LinqToXsdTypeManager.Instance, ANDedConditionsXName); + } + return this.ANDedConditionsField; + } + set { + if ((value == null)) { + this.ANDedConditionsField = null; + } + else { + if ((this.ANDedConditionsField == null)) { + this.ANDedConditionsField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ANDedConditionsXName); + } + else { + XTypedServices.SetList(this.ANDedConditionsField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentORedConditionsType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentORedConditionsType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(ConditionXName), new NamedContentModelEntity(ANDedConditionsXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ConditionXName, typeof(ArgumentComparisonCheckType)); + localElementDictionary.Add(ANDedConditionsXName, typeof(ArgumentANDedConditionsType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to MatchCriteriaType but supports argument instance references. + /// + /// + /// Regular expression: (Comparison | ComparisonList | BooleanExpression | CustomAlgorithm) + /// + /// + public partial class ArgumentMatchCriteriaType : XTypedElement, IXMetaData { + + public static explicit operator ArgumentMatchCriteriaType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to MatchCriteriaType but supports argument instance references. + /// + /// + /// Regular expression: (Comparison | ComparisonList | BooleanExpression | CustomAlgorithm) + /// + /// + public ArgumentMatchCriteriaType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonXName = System.Xml.Linq.XName.Get("Comparison", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// A simple comparison check involving a single test of an argument or parameter value. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Comparison | ComparisonList | BooleanExpression | CustomAlgorithm) + /// + /// + public virtual ArgumentComparisonType Comparison { + get { + XElement x = this.GetElement(ComparisonXName); + if ((x == null)) { + return null; + } + return ((ArgumentComparisonType)(x)); + } + set { + this.SetElement(ComparisonXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonListXName = System.Xml.Linq.XName.Get("ComparisonList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// A series of simple comparison checks with an implicit 'and' in that they all must be true for the overall condition to be true. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Comparison | ComparisonList | BooleanExpression | CustomAlgorithm) + /// + /// + public virtual ArgumentComparisonListType ComparisonList { + get { + XElement x = this.GetElement(ComparisonListXName); + if ((x == null)) { + return null; + } + return ((ArgumentComparisonListType)(x)); + } + set { + this.SetElement(ComparisonListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BooleanExpressionXName = System.Xml.Linq.XName.Get("BooleanExpression", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// An arbitrarily complex boolean expression that has additional flexibility on the terms beyond the Comparison and ComparisonList elements. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Comparison | ComparisonList | BooleanExpression | CustomAlgorithm) + /// + /// + public virtual ArgumentBooleanExpressionType BooleanExpression { + get { + XElement x = this.GetElement(BooleanExpressionXName); + if ((x == null)) { + return null; + } + return ((ArgumentBooleanExpressionType)(x)); + } + set { + this.SetElement(BooleanExpressionXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlgorithmXName = System.Xml.Linq.XName.Get("CustomAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// An escape to an externally defined algorithm. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Comparison | ComparisonList | BooleanExpression | CustomAlgorithm) + /// + /// + public virtual ArgumentInputAlgorithmType CustomAlgorithm { + get { + XElement x = this.GetElement(CustomAlgorithmXName); + if ((x == null)) { + return null; + } + return ((ArgumentInputAlgorithmType)(x)); + } + set { + this.SetElement(CustomAlgorithmXName, value); + } + } + + public ArgumentMatchCriteriaType(ArgumentComparisonType Comparison) { + this.Comparison = Comparison; + } + + public ArgumentMatchCriteriaType(ArgumentComparisonListType ComparisonList) { + this.ComparisonList = ComparisonList; + } + + public ArgumentMatchCriteriaType(ArgumentBooleanExpressionType BooleanExpression) { + this.BooleanExpression = BooleanExpression; + } + + public ArgumentMatchCriteriaType(ArgumentInputAlgorithmType CustomAlgorithm) { + this.CustomAlgorithm = CustomAlgorithm; + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentMatchCriteriaType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentMatchCriteriaType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(ComparisonXName), new NamedContentModelEntity(ComparisonListXName), new NamedContentModelEntity(BooleanExpressionXName), new NamedContentModelEntity(CustomAlgorithmXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ComparisonXName, typeof(ArgumentComparisonType)); + localElementDictionary.Add(ComparisonListXName, typeof(ArgumentComparisonListType)); + localElementDictionary.Add(BooleanExpressionXName, typeof(ArgumentBooleanExpressionType)); + localElementDictionary.Add(CustomAlgorithmXName, typeof(ArgumentInputAlgorithmType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Defines a list of argument values that restrict a constraint from being realized in the commanding lifecycle. + /// + /// + /// Regular expression: (ArgumentRestriction+) + /// + /// + public partial class ArgumentRestrictionListType : XTypedElement, IXMetaData { + + public static explicit operator ArgumentRestrictionListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Defines a list of argument values that restrict a constraint from being realized in the commanding lifecycle. + /// + /// + /// Regular expression: (ArgumentRestriction+) + /// + /// + public ArgumentRestrictionListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ArgumentRestrictionXName = System.Xml.Linq.XName.Get("ArgumentRestriction", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ArgumentRestrictionField; + + /// + /// + /// Specifies an argument value that causes this constraint to be realized. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (ArgumentRestriction+) + /// + /// + public virtual IList ArgumentRestriction { + get { + if ((this.ArgumentRestrictionField == null)) { + this.ArgumentRestrictionField = new XTypedList(this, LinqToXsdTypeManager.Instance, ArgumentRestrictionXName); + } + return this.ArgumentRestrictionField; + } + set { + if ((value == null)) { + this.ArgumentRestrictionField = null; + } + else { + if ((this.ArgumentRestrictionField == null)) { + this.ArgumentRestrictionField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ArgumentRestrictionXName); + } + else { + XTypedServices.SetList(this.ArgumentRestrictionField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentRestrictionListType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentRestrictionListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ArgumentRestrictionXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ArgumentRestrictionXName, typeof(ArgumentAssignmentType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// An Argument has a name and can take on values with the underlying value type described by the ArgumentTypeRef. Describe the properties of a command argument referring to a data type (argument type). The bulk of properties associated with a command argument are in its argument type. The initial value specified here, overrides the initial value in the argument type. See BaseDataType, BaseTimeDataType and NameReferenceType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?) + /// + /// + public partial class ArgumentType : global::Omg.Xtce.NameDescriptionType, IXMetaData { + + public static explicit operator ArgumentType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// An Argument has a name and can take on values with the underlying value type described by the ArgumentTypeRef. Describe the properties of a command argument referring to a data type (argument type). The bulk of properties associated with a command argument are in its argument type. The initial value specified here, overrides the initial value in the argument type. See BaseDataType, BaseTimeDataType and NameReferenceType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?) + /// + /// + public ArgumentType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName argumentTypeRefXName = System.Xml.Linq.XName.Get("argumentTypeRef", ""); + + /// + /// + /// Specify the reference to the argument type from the ArgumentTypeSet area using the path reference rules, either local to this SpaceSystem, relative, or absolute. + /// + /// + /// Occurrence: required + /// + /// + public virtual string argumentTypeRef { + get { + XAttribute x = this.Attribute(argumentTypeRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(argumentTypeRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName initialValueXName = System.Xml.Linq.XName.Get("initialValue", ""); + + /// + /// + /// Specify as: integer data type using xs:integer, float data type using xs:double, string data type using xs:string, boolean data type using xs:boolean, binary data type using xs:hexBinary, enum data type using label name, relative time data type using xs:duration, absolute time data type using xs:dateTime, arrays using JSON syntax (e.g. '[1, 3, 4]', and aggregates using JSON syntax '{"member1": 1, "member2": "foo"}' ). Values must not exceed the characteristics for the data type or this is a validation error. Takes precedence over an initial value given in the data type. Values are calibrated unless there is an option to override it. + /// + /// + /// The value type must match the Argument type + /// + /// + /// Occurrence: optional + /// + /// + public virtual string initialValue { + get { + XAttribute x = this.Attribute(initialValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(initialValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an unordered collection of argument type definitions. These types named for the engineering/calibrated type of the argument. See BaseDataType and BaseTimeDataType. + /// + /// + /// Regular expression: (StringArgumentType | EnumeratedArgumentType | IntegerArgumentType | BinaryArgumentType | FloatArgumentType | BooleanArgumentType | RelativeTimeArgumentType | AbsoluteTimeArgumentType | ArrayArgumentType | AggregateArgumentType)+ + /// + /// + public partial class ArgumentTypeSetType : XTypedElement, IXMetaData { + + public static explicit operator ArgumentTypeSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an unordered collection of argument type definitions. These types named for the engineering/calibrated type of the argument. See BaseDataType and BaseTimeDataType. + /// + /// + /// Regular expression: (StringArgumentType | EnumeratedArgumentType | IntegerArgumentType | BinaryArgumentType | FloatArgumentType | BooleanArgumentType | RelativeTimeArgumentType | AbsoluteTimeArgumentType | ArrayArgumentType | AggregateArgumentType)+ + /// + /// + public ArgumentTypeSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringArgumentTypeXName = System.Xml.Linq.XName.Get("StringArgumentType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList StringArgumentTypeField; + + /// + /// + /// Describe an argument type that has an engineering/calibrated value in the form of a character string. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (StringArgumentType | EnumeratedArgumentType | IntegerArgumentType | BinaryArgumentType | FloatArgumentType | BooleanArgumentType | RelativeTimeArgumentType | AbsoluteTimeArgumentType | ArrayArgumentType | AggregateArgumentType)+ + /// + /// + public virtual IList StringArgumentType { + get { + if ((this.StringArgumentTypeField == null)) { + this.StringArgumentTypeField = new XTypedList(this, LinqToXsdTypeManager.Instance, StringArgumentTypeXName); + } + return this.StringArgumentTypeField; + } + set { + if ((value == null)) { + this.StringArgumentTypeField = null; + } + else { + if ((this.StringArgumentTypeField == null)) { + this.StringArgumentTypeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, StringArgumentTypeXName); + } + else { + XTypedServices.SetList(this.StringArgumentTypeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EnumeratedArgumentTypeXName = System.Xml.Linq.XName.Get("EnumeratedArgumentType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList EnumeratedArgumentTypeField; + + /// + /// + /// Describe an argument type that has an engineering/calibrated value in the form of an enumeration. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (StringArgumentType | EnumeratedArgumentType | IntegerArgumentType | BinaryArgumentType | FloatArgumentType | BooleanArgumentType | RelativeTimeArgumentType | AbsoluteTimeArgumentType | ArrayArgumentType | AggregateArgumentType)+ + /// + /// + public virtual IList EnumeratedArgumentType { + get { + if ((this.EnumeratedArgumentTypeField == null)) { + this.EnumeratedArgumentTypeField = new XTypedList(this, LinqToXsdTypeManager.Instance, EnumeratedArgumentTypeXName); + } + return this.EnumeratedArgumentTypeField; + } + set { + if ((value == null)) { + this.EnumeratedArgumentTypeField = null; + } + else { + if ((this.EnumeratedArgumentTypeField == null)) { + this.EnumeratedArgumentTypeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, EnumeratedArgumentTypeXName); + } + else { + XTypedServices.SetList(this.EnumeratedArgumentTypeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerArgumentTypeXName = System.Xml.Linq.XName.Get("IntegerArgumentType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList IntegerArgumentTypeField; + + /// + /// + /// Describe an argument type that has an engineering/calibrated value in the form of an integer. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (StringArgumentType | EnumeratedArgumentType | IntegerArgumentType | BinaryArgumentType | FloatArgumentType | BooleanArgumentType | RelativeTimeArgumentType | AbsoluteTimeArgumentType | ArrayArgumentType | AggregateArgumentType)+ + /// + /// + public virtual IList IntegerArgumentType { + get { + if ((this.IntegerArgumentTypeField == null)) { + this.IntegerArgumentTypeField = new XTypedList(this, LinqToXsdTypeManager.Instance, IntegerArgumentTypeXName); + } + return this.IntegerArgumentTypeField; + } + set { + if ((value == null)) { + this.IntegerArgumentTypeField = null; + } + else { + if ((this.IntegerArgumentTypeField == null)) { + this.IntegerArgumentTypeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, IntegerArgumentTypeXName); + } + else { + XTypedServices.SetList(this.IntegerArgumentTypeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryArgumentTypeXName = System.Xml.Linq.XName.Get("BinaryArgumentType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList BinaryArgumentTypeField; + + /// + /// + /// Describe an argument type that has an engineering/calibrated value in the form of a binary (usually hex represented). + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (StringArgumentType | EnumeratedArgumentType | IntegerArgumentType | BinaryArgumentType | FloatArgumentType | BooleanArgumentType | RelativeTimeArgumentType | AbsoluteTimeArgumentType | ArrayArgumentType | AggregateArgumentType)+ + /// + /// + public virtual IList BinaryArgumentType { + get { + if ((this.BinaryArgumentTypeField == null)) { + this.BinaryArgumentTypeField = new XTypedList(this, LinqToXsdTypeManager.Instance, BinaryArgumentTypeXName); + } + return this.BinaryArgumentTypeField; + } + set { + if ((value == null)) { + this.BinaryArgumentTypeField = null; + } + else { + if ((this.BinaryArgumentTypeField == null)) { + this.BinaryArgumentTypeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, BinaryArgumentTypeXName); + } + else { + XTypedServices.SetList(this.BinaryArgumentTypeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatArgumentTypeXName = System.Xml.Linq.XName.Get("FloatArgumentType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList FloatArgumentTypeField; + + /// + /// + /// Describe an argument type that has an engineering/calibrated value in the form of a decimal. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (StringArgumentType | EnumeratedArgumentType | IntegerArgumentType | BinaryArgumentType | FloatArgumentType | BooleanArgumentType | RelativeTimeArgumentType | AbsoluteTimeArgumentType | ArrayArgumentType | AggregateArgumentType)+ + /// + /// + public virtual IList FloatArgumentType { + get { + if ((this.FloatArgumentTypeField == null)) { + this.FloatArgumentTypeField = new XTypedList(this, LinqToXsdTypeManager.Instance, FloatArgumentTypeXName); + } + return this.FloatArgumentTypeField; + } + set { + if ((value == null)) { + this.FloatArgumentTypeField = null; + } + else { + if ((this.FloatArgumentTypeField == null)) { + this.FloatArgumentTypeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, FloatArgumentTypeXName); + } + else { + XTypedServices.SetList(this.FloatArgumentTypeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BooleanArgumentTypeXName = System.Xml.Linq.XName.Get("BooleanArgumentType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList BooleanArgumentTypeField; + + /// + /// + /// Describe an argument type that has an engineering/calibrated value in the form of a boolean enumeration. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (StringArgumentType | EnumeratedArgumentType | IntegerArgumentType | BinaryArgumentType | FloatArgumentType | BooleanArgumentType | RelativeTimeArgumentType | AbsoluteTimeArgumentType | ArrayArgumentType | AggregateArgumentType)+ + /// + /// + public virtual IList BooleanArgumentType { + get { + if ((this.BooleanArgumentTypeField == null)) { + this.BooleanArgumentTypeField = new XTypedList(this, LinqToXsdTypeManager.Instance, BooleanArgumentTypeXName); + } + return this.BooleanArgumentTypeField; + } + set { + if ((value == null)) { + this.BooleanArgumentTypeField = null; + } + else { + if ((this.BooleanArgumentTypeField == null)) { + this.BooleanArgumentTypeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, BooleanArgumentTypeXName); + } + else { + XTypedServices.SetList(this.BooleanArgumentTypeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RelativeTimeArgumentTypeXName = System.Xml.Linq.XName.Get("RelativeTimeArgumentType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList RelativeTimeArgumentTypeField; + + /// + /// + /// Describe an argument type that has an engineering/calibrated value in the form of a duration in time. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (StringArgumentType | EnumeratedArgumentType | IntegerArgumentType | BinaryArgumentType | FloatArgumentType | BooleanArgumentType | RelativeTimeArgumentType | AbsoluteTimeArgumentType | ArrayArgumentType | AggregateArgumentType)+ + /// + /// + public virtual IList RelativeTimeArgumentType { + get { + if ((this.RelativeTimeArgumentTypeField == null)) { + this.RelativeTimeArgumentTypeField = new XTypedList(this, LinqToXsdTypeManager.Instance, RelativeTimeArgumentTypeXName); + } + return this.RelativeTimeArgumentTypeField; + } + set { + if ((value == null)) { + this.RelativeTimeArgumentTypeField = null; + } + else { + if ((this.RelativeTimeArgumentTypeField == null)) { + this.RelativeTimeArgumentTypeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, RelativeTimeArgumentTypeXName); + } + else { + XTypedServices.SetList(this.RelativeTimeArgumentTypeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AbsoluteTimeArgumentTypeXName = System.Xml.Linq.XName.Get("AbsoluteTimeArgumentType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList AbsoluteTimeArgumentTypeField; + + /// + /// + /// Describe an argument type that has an engineering/calibrated value in the form of an instant in time. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (StringArgumentType | EnumeratedArgumentType | IntegerArgumentType | BinaryArgumentType | FloatArgumentType | BooleanArgumentType | RelativeTimeArgumentType | AbsoluteTimeArgumentType | ArrayArgumentType | AggregateArgumentType)+ + /// + /// + public virtual IList AbsoluteTimeArgumentType { + get { + if ((this.AbsoluteTimeArgumentTypeField == null)) { + this.AbsoluteTimeArgumentTypeField = new XTypedList(this, LinqToXsdTypeManager.Instance, AbsoluteTimeArgumentTypeXName); + } + return this.AbsoluteTimeArgumentTypeField; + } + set { + if ((value == null)) { + this.AbsoluteTimeArgumentTypeField = null; + } + else { + if ((this.AbsoluteTimeArgumentTypeField == null)) { + this.AbsoluteTimeArgumentTypeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, AbsoluteTimeArgumentTypeXName); + } + else { + XTypedServices.SetList(this.AbsoluteTimeArgumentTypeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ArrayArgumentTypeXName = System.Xml.Linq.XName.Get("ArrayArgumentType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ArrayArgumentTypeField; + + /// + /// + /// Describe an argument type that has an engineering/calibrated value in the form of an array of a primitive type. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (StringArgumentType | EnumeratedArgumentType | IntegerArgumentType | BinaryArgumentType | FloatArgumentType | BooleanArgumentType | RelativeTimeArgumentType | AbsoluteTimeArgumentType | ArrayArgumentType | AggregateArgumentType)+ + /// + /// + public virtual IList ArrayArgumentType { + get { + if ((this.ArrayArgumentTypeField == null)) { + this.ArrayArgumentTypeField = new XTypedList(this, LinqToXsdTypeManager.Instance, ArrayArgumentTypeXName); + } + return this.ArrayArgumentTypeField; + } + set { + if ((value == null)) { + this.ArrayArgumentTypeField = null; + } + else { + if ((this.ArrayArgumentTypeField == null)) { + this.ArrayArgumentTypeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ArrayArgumentTypeXName); + } + else { + XTypedServices.SetList(this.ArrayArgumentTypeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AggregateArgumentTypeXName = System.Xml.Linq.XName.Get("AggregateArgumentType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList AggregateArgumentTypeField; + + /// + /// + /// Describe an argument type that has an engineering/calibrated value in the form of a structure of arguments of other types. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (StringArgumentType | EnumeratedArgumentType | IntegerArgumentType | BinaryArgumentType | FloatArgumentType | BooleanArgumentType | RelativeTimeArgumentType | AbsoluteTimeArgumentType | ArrayArgumentType | AggregateArgumentType)+ + /// + /// + public virtual IList AggregateArgumentType { + get { + if ((this.AggregateArgumentTypeField == null)) { + this.AggregateArgumentTypeField = new XTypedList(this, LinqToXsdTypeManager.Instance, AggregateArgumentTypeXName); + } + return this.AggregateArgumentTypeField; + } + set { + if ((value == null)) { + this.AggregateArgumentTypeField = null; + } + else { + if ((this.AggregateArgumentTypeField == null)) { + this.AggregateArgumentTypeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, AggregateArgumentTypeXName); + } + else { + XTypedServices.SetList(this.AggregateArgumentTypeField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentTypeSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentTypeSetType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(StringArgumentTypeXName), new NamedContentModelEntity(EnumeratedArgumentTypeXName), new NamedContentModelEntity(IntegerArgumentTypeXName), new NamedContentModelEntity(BinaryArgumentTypeXName), new NamedContentModelEntity(FloatArgumentTypeXName), new NamedContentModelEntity(BooleanArgumentTypeXName), new NamedContentModelEntity(RelativeTimeArgumentTypeXName), new NamedContentModelEntity(AbsoluteTimeArgumentTypeXName), new NamedContentModelEntity(ArrayArgumentTypeXName), new NamedContentModelEntity(AggregateArgumentTypeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(StringArgumentTypeXName, typeof(StringArgumentType)); + localElementDictionary.Add(EnumeratedArgumentTypeXName, typeof(EnumeratedArgumentType)); + localElementDictionary.Add(IntegerArgumentTypeXName, typeof(IntegerArgumentType)); + localElementDictionary.Add(BinaryArgumentTypeXName, typeof(BinaryArgumentType)); + localElementDictionary.Add(FloatArgumentTypeXName, typeof(FloatArgumentType)); + localElementDictionary.Add(BooleanArgumentTypeXName, typeof(BooleanArgumentType)); + localElementDictionary.Add(RelativeTimeArgumentTypeXName, typeof(RelativeTimeArgumentType)); + localElementDictionary.Add(AbsoluteTimeArgumentTypeXName, typeof(AbsoluteTimeArgumentType)); + localElementDictionary.Add(ArrayArgumentTypeXName, typeof(ArrayArgumentType)); + localElementDictionary.Add(AggregateArgumentTypeXName, typeof(AggregateArgumentType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// When specified, a BaseMetaCommand element identifies that this MetaCommand inherits (extends) another MetaCommand. It's required ArgumentAssignmentList narrows or this command from the parent. This is typically used when specializing a generic MetaCommand to a specific MetaCommand. See MetaCommandType. + /// + /// + /// Regular expression: (ArgumentAssignmentList?) + /// + /// + public partial class BaseMetaCommandType : XTypedElement, IXMetaData { + + public static explicit operator BaseMetaCommandType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// When specified, a BaseMetaCommand element identifies that this MetaCommand inherits (extends) another MetaCommand. It's required ArgumentAssignmentList narrows or this command from the parent. This is typically used when specializing a generic MetaCommand to a specific MetaCommand. See MetaCommandType. + /// + /// + /// Regular expression: (ArgumentAssignmentList?) + /// + /// + public BaseMetaCommandType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ArgumentAssignmentListXName = System.Xml.Linq.XName.Get("ArgumentAssignmentList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Argument Assignments specialize a MetaCommand or BlockMetaCommand when inheriting from another MetaCommand. General argument values can be restricted to specific values to further specialize the MetaCommand. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ArgumentAssignmentList?) + /// + /// + public virtual ArgumentAssignmentListType ArgumentAssignmentList { + get { + XElement x = this.GetElement(ArgumentAssignmentListXName); + if ((x == null)) { + return null; + } + return ((ArgumentAssignmentListType)(x)); + } + set { + this.SetElement(ArgumentAssignmentListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName metaCommandRefXName = System.Xml.Linq.XName.Get("metaCommandRef", ""); + + /// + /// + /// Reference to the MetaCommand definition that this MetaCommand extends. + /// + /// + /// Occurrence: required + /// + /// + public virtual string metaCommandRef { + get { + XAttribute x = this.Attribute(metaCommandRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(metaCommandRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BaseMetaCommandType", "http://www.omg.org/spec/XTCE/20250214"); + + static BaseMetaCommandType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ArgumentAssignmentListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ArgumentAssignmentListXName, typeof(ArgumentAssignmentListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Defines a binary engineering/calibrated argument type (often called "blob type"). The binary data may be of fixed or variable length, and has an optional encoding and decoding algorithm that may be defined to transform the data between space and ground. See BinaryDataEncodingType, IntegerValueType, InputAlgorithmType, and BinaryDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?) + /// + /// + public partial class BinaryArgumentType : global::Omg.Xtce.ArgumentBinaryDataType, IXMetaData { + + public static explicit operator BinaryArgumentType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Defines a binary engineering/calibrated argument type (often called "blob type"). The binary data may be of fixed or variable length, and has an optional encoding and decoding algorithm that may be defined to transform the data between space and ground. See BinaryDataEncodingType, IntegerValueType, InputAlgorithmType, and BinaryDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?) + /// + /// + public BinaryArgumentType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitSetXName = System.Xml.Linq.XName.Get("UnitSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryDataEncodingXName = System.Xml.Linq.XName.Get("BinaryDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatDataEncodingXName = System.Xml.Linq.XName.Get("FloatDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerDataEncodingXName = System.Xml.Linq.XName.Get("IntegerDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringDataEncodingXName = System.Xml.Linq.XName.Get("StringDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BinaryArgumentType", "http://www.omg.org/spec/XTCE/20250214"); + + static BinaryArgumentType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(UnitSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(BinaryDataEncodingXName), new NamedContentModelEntity(FloatDataEncodingXName), new NamedContentModelEntity(IntegerDataEncodingXName), new NamedContentModelEntity(StringDataEncodingXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(UnitSetXName, typeof(UnitSetType)); + localElementDictionary.Add(BinaryDataEncodingXName, typeof(ArgumentBinaryDataEncodingType)); + localElementDictionary.Add(FloatDataEncodingXName, typeof(FloatDataEncodingType)); + localElementDictionary.Add(IntegerDataEncodingXName, typeof(IntegerDataEncodingType)); + localElementDictionary.Add(StringDataEncodingXName, typeof(ArgumentStringDataEncodingType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an ordered grouping of MetaCommands into a list, duplicates are valid. The block contains argument values fully specified. See MetaCommandStepListType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, MetaCommandStepList) + /// + /// + public partial class BlockMetaCommandType : global::Omg.Xtce.NameDescriptionType, IXMetaData { + + public static explicit operator BlockMetaCommandType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an ordered grouping of MetaCommands into a list, duplicates are valid. The block contains argument values fully specified. See MetaCommandStepListType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, MetaCommandStepList) + /// + /// + public BlockMetaCommandType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MetaCommandStepListXName = System.Xml.Linq.XName.Get("MetaCommandStepList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// List of the MetaCommands to include in this BlockMetaCommand. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, MetaCommandStepList) + /// + /// + public virtual MetaCommandStepListType MetaCommandStepList { + get { + XElement x = this.GetElement(MetaCommandStepListXName); + return ((MetaCommandStepListType)(x)); + } + set { + this.SetElement(MetaCommandStepListXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BlockMetaCommandType", "http://www.omg.org/spec/XTCE/20250214"); + + static BlockMetaCommandType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(MetaCommandStepListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(MetaCommandStepListXName, typeof(MetaCommandStepListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Defines a boolean argument type which has two values only: "True" (1) or "False" (0). The values one and zero may be mapped to a specific string using the attributes oneStringValue and zeroStringValue. This type is a simplified form of the EnumeratedDataType. See IntegerDataEncoding and BooleanDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?) + /// + /// + public partial class BooleanArgumentType : global::Omg.Xtce.ArgumentBooleanDataType, IXMetaData { + + public static explicit operator BooleanArgumentType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Defines a boolean argument type which has two values only: "True" (1) or "False" (0). The values one and zero may be mapped to a specific string using the attributes oneStringValue and zeroStringValue. This type is a simplified form of the EnumeratedDataType. See IntegerDataEncoding and BooleanDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?) + /// + /// + public BooleanArgumentType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitSetXName = System.Xml.Linq.XName.Get("UnitSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryDataEncodingXName = System.Xml.Linq.XName.Get("BinaryDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatDataEncodingXName = System.Xml.Linq.XName.Get("FloatDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerDataEncodingXName = System.Xml.Linq.XName.Get("IntegerDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringDataEncodingXName = System.Xml.Linq.XName.Get("StringDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BooleanArgumentType", "http://www.omg.org/spec/XTCE/20250214"); + + static BooleanArgumentType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(UnitSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(BinaryDataEncodingXName), new NamedContentModelEntity(FloatDataEncodingXName), new NamedContentModelEntity(IntegerDataEncodingXName), new NamedContentModelEntity(StringDataEncodingXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(UnitSetXName, typeof(UnitSetType)); + localElementDictionary.Add(BinaryDataEncodingXName, typeof(ArgumentBinaryDataEncodingType)); + localElementDictionary.Add(FloatDataEncodingXName, typeof(FloatDataEncodingType)); + localElementDictionary.Add(IntegerDataEncodingXName, typeof(IntegerDataEncodingType)); + localElementDictionary.Add(StringDataEncodingXName, typeof(ArgumentStringDataEncodingType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an entry list for a CommandContainer which is associated with a MetaCommand. The entry list for a MetaCommand CommandContainer element operates in a similar fashion as the entry list element for a SequenceContainer element. It adds fixed value and argument entries to the entry list not present in sequence containers. See MetaCommandType, CommandContainerType and EntryListType. + /// + /// + /// Regular expression: (ParameterRefEntry | ParameterSegmentRefEntry | ContainerRefEntry | ContainerSegmentRefEntry | StreamSegmentEntry | IndirectParameterRefEntry | ArrayParameterRefEntry | ArgumentRefEntry | ArrayArgumentRefEntry | FixedValueEntry)* + /// + /// + public partial class CommandContainerEntryListType : XTypedElement, IXMetaData { + + public static explicit operator CommandContainerEntryListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an entry list for a CommandContainer which is associated with a MetaCommand. The entry list for a MetaCommand CommandContainer element operates in a similar fashion as the entry list element for a SequenceContainer element. It adds fixed value and argument entries to the entry list not present in sequence containers. See MetaCommandType, CommandContainerType and EntryListType. + /// + /// + /// Regular expression: (ParameterRefEntry | ParameterSegmentRefEntry | ContainerRefEntry | ContainerSegmentRefEntry | StreamSegmentEntry | IndirectParameterRefEntry | ArrayParameterRefEntry | ArgumentRefEntry | ArrayArgumentRefEntry | FixedValueEntry)* + /// + /// + public CommandContainerEntryListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterRefEntryXName = System.Xml.Linq.XName.Get("ParameterRefEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ParameterRefEntryField; + + /// + /// + /// Specify a Parameter to be a part of this container layout definition. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (ParameterRefEntry | ParameterSegmentRefEntry | ContainerRefEntry | ContainerSegmentRefEntry | StreamSegmentEntry | IndirectParameterRefEntry | ArrayParameterRefEntry | ArgumentRefEntry | ArrayArgumentRefEntry | FixedValueEntry)* + /// + /// + public virtual IList ParameterRefEntry { + get { + if ((this.ParameterRefEntryField == null)) { + this.ParameterRefEntryField = new XTypedList(this, LinqToXsdTypeManager.Instance, ParameterRefEntryXName); + } + return this.ParameterRefEntryField; + } + set { + if ((value == null)) { + this.ParameterRefEntryField = null; + } + else { + if ((this.ParameterRefEntryField == null)) { + this.ParameterRefEntryField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ParameterRefEntryXName); + } + else { + XTypedServices.SetList(this.ParameterRefEntryField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterSegmentRefEntryXName = System.Xml.Linq.XName.Get("ParameterSegmentRefEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ParameterSegmentRefEntryField; + + /// + /// + /// Specify a portion of a Parameter to be a part of this container layout definition. This is used when the Parameter is reported in fractional parts in the container before being fully updated. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (ParameterRefEntry | ParameterSegmentRefEntry | ContainerRefEntry | ContainerSegmentRefEntry | StreamSegmentEntry | IndirectParameterRefEntry | ArrayParameterRefEntry | ArgumentRefEntry | ArrayArgumentRefEntry | FixedValueEntry)* + /// + /// + public virtual IList ParameterSegmentRefEntry { + get { + if ((this.ParameterSegmentRefEntryField == null)) { + this.ParameterSegmentRefEntryField = new XTypedList(this, LinqToXsdTypeManager.Instance, ParameterSegmentRefEntryXName); + } + return this.ParameterSegmentRefEntryField; + } + set { + if ((value == null)) { + this.ParameterSegmentRefEntryField = null; + } + else { + if ((this.ParameterSegmentRefEntryField == null)) { + this.ParameterSegmentRefEntryField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ParameterSegmentRefEntryXName); + } + else { + XTypedServices.SetList(this.ParameterSegmentRefEntryField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContainerRefEntryXName = System.Xml.Linq.XName.Get("ContainerRefEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ContainerRefEntryField; + + /// + /// + /// Specify the content of another Container to be a part of this container layout definition. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (ParameterRefEntry | ParameterSegmentRefEntry | ContainerRefEntry | ContainerSegmentRefEntry | StreamSegmentEntry | IndirectParameterRefEntry | ArrayParameterRefEntry | ArgumentRefEntry | ArrayArgumentRefEntry | FixedValueEntry)* + /// + /// + public virtual IList ContainerRefEntry { + get { + if ((this.ContainerRefEntryField == null)) { + this.ContainerRefEntryField = new XTypedList(this, LinqToXsdTypeManager.Instance, ContainerRefEntryXName); + } + return this.ContainerRefEntryField; + } + set { + if ((value == null)) { + this.ContainerRefEntryField = null; + } + else { + if ((this.ContainerRefEntryField == null)) { + this.ContainerRefEntryField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ContainerRefEntryXName); + } + else { + XTypedServices.SetList(this.ContainerRefEntryField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContainerSegmentRefEntryXName = System.Xml.Linq.XName.Get("ContainerSegmentRefEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ContainerSegmentRefEntryField; + + /// + /// + /// Specify a portion of another Container to be a part of this container layout definition. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (ParameterRefEntry | ParameterSegmentRefEntry | ContainerRefEntry | ContainerSegmentRefEntry | StreamSegmentEntry | IndirectParameterRefEntry | ArrayParameterRefEntry | ArgumentRefEntry | ArrayArgumentRefEntry | FixedValueEntry)* + /// + /// + public virtual IList ContainerSegmentRefEntry { + get { + if ((this.ContainerSegmentRefEntryField == null)) { + this.ContainerSegmentRefEntryField = new XTypedList(this, LinqToXsdTypeManager.Instance, ContainerSegmentRefEntryXName); + } + return this.ContainerSegmentRefEntryField; + } + set { + if ((value == null)) { + this.ContainerSegmentRefEntryField = null; + } + else { + if ((this.ContainerSegmentRefEntryField == null)) { + this.ContainerSegmentRefEntryField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ContainerSegmentRefEntryXName); + } + else { + XTypedServices.SetList(this.ContainerSegmentRefEntryField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StreamSegmentEntryXName = System.Xml.Linq.XName.Get("StreamSegmentEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList StreamSegmentEntryField; + + /// + /// + /// Specify a portion of a Stream to be a part of this container layout definition. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (ParameterRefEntry | ParameterSegmentRefEntry | ContainerRefEntry | ContainerSegmentRefEntry | StreamSegmentEntry | IndirectParameterRefEntry | ArrayParameterRefEntry | ArgumentRefEntry | ArrayArgumentRefEntry | FixedValueEntry)* + /// + /// + public virtual IList StreamSegmentEntry { + get { + if ((this.StreamSegmentEntryField == null)) { + this.StreamSegmentEntryField = new XTypedList(this, LinqToXsdTypeManager.Instance, StreamSegmentEntryXName); + } + return this.StreamSegmentEntryField; + } + set { + if ((value == null)) { + this.StreamSegmentEntryField = null; + } + else { + if ((this.StreamSegmentEntryField == null)) { + this.StreamSegmentEntryField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, StreamSegmentEntryXName); + } + else { + XTypedServices.SetList(this.StreamSegmentEntryField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IndirectParameterRefEntryXName = System.Xml.Linq.XName.Get("IndirectParameterRefEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList IndirectParameterRefEntryField; + + /// + /// + /// Specify a previous (not last reported) value of a Parmeter to be a part of this container layout definition. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (ParameterRefEntry | ParameterSegmentRefEntry | ContainerRefEntry | ContainerSegmentRefEntry | StreamSegmentEntry | IndirectParameterRefEntry | ArrayParameterRefEntry | ArgumentRefEntry | ArrayArgumentRefEntry | FixedValueEntry)* + /// + /// + public virtual IList IndirectParameterRefEntry { + get { + if ((this.IndirectParameterRefEntryField == null)) { + this.IndirectParameterRefEntryField = new XTypedList(this, LinqToXsdTypeManager.Instance, IndirectParameterRefEntryXName); + } + return this.IndirectParameterRefEntryField; + } + set { + if ((value == null)) { + this.IndirectParameterRefEntryField = null; + } + else { + if ((this.IndirectParameterRefEntryField == null)) { + this.IndirectParameterRefEntryField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, IndirectParameterRefEntryXName); + } + else { + XTypedServices.SetList(this.IndirectParameterRefEntryField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ArrayParameterRefEntryXName = System.Xml.Linq.XName.Get("ArrayParameterRefEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ArrayParameterRefEntryField; + + /// + /// + /// Specify an Array Type Parameter to be a part of this container layout definition when the Container does not populate the entire space of the Array contents. If the entire space of the Array is populated, a tolerant implementation will accept ParameterRefEntry also. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (ParameterRefEntry | ParameterSegmentRefEntry | ContainerRefEntry | ContainerSegmentRefEntry | StreamSegmentEntry | IndirectParameterRefEntry | ArrayParameterRefEntry | ArgumentRefEntry | ArrayArgumentRefEntry | FixedValueEntry)* + /// + /// + public virtual IList ArrayParameterRefEntry { + get { + if ((this.ArrayParameterRefEntryField == null)) { + this.ArrayParameterRefEntryField = new XTypedList(this, LinqToXsdTypeManager.Instance, ArrayParameterRefEntryXName); + } + return this.ArrayParameterRefEntryField; + } + set { + if ((value == null)) { + this.ArrayParameterRefEntryField = null; + } + else { + if ((this.ArrayParameterRefEntryField == null)) { + this.ArrayParameterRefEntryField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ArrayParameterRefEntryXName); + } + else { + XTypedServices.SetList(this.ArrayParameterRefEntryField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ArgumentRefEntryXName = System.Xml.Linq.XName.Get("ArgumentRefEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ArgumentRefEntryField; + + /// + /// + /// Specify an Argument to be a part of this container layout definition. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (ParameterRefEntry | ParameterSegmentRefEntry | ContainerRefEntry | ContainerSegmentRefEntry | StreamSegmentEntry | IndirectParameterRefEntry | ArrayParameterRefEntry | ArgumentRefEntry | ArrayArgumentRefEntry | FixedValueEntry)* + /// + /// + public virtual IList ArgumentRefEntry { + get { + if ((this.ArgumentRefEntryField == null)) { + this.ArgumentRefEntryField = new XTypedList(this, LinqToXsdTypeManager.Instance, ArgumentRefEntryXName); + } + return this.ArgumentRefEntryField; + } + set { + if ((value == null)) { + this.ArgumentRefEntryField = null; + } + else { + if ((this.ArgumentRefEntryField == null)) { + this.ArgumentRefEntryField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ArgumentRefEntryXName); + } + else { + XTypedServices.SetList(this.ArgumentRefEntryField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ArrayArgumentRefEntryXName = System.Xml.Linq.XName.Get("ArrayArgumentRefEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ArrayArgumentRefEntryField; + + /// + /// + /// Specify an Array Type Argument to be a part of this container layout definition when the Container does not populate the entire space of the Array contents. If the entire space of the Array is populated, a tolerant implementation will accept ArgumentRefEntry also. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (ParameterRefEntry | ParameterSegmentRefEntry | ContainerRefEntry | ContainerSegmentRefEntry | StreamSegmentEntry | IndirectParameterRefEntry | ArrayParameterRefEntry | ArgumentRefEntry | ArrayArgumentRefEntry | FixedValueEntry)* + /// + /// + public virtual IList ArrayArgumentRefEntry { + get { + if ((this.ArrayArgumentRefEntryField == null)) { + this.ArrayArgumentRefEntryField = new XTypedList(this, LinqToXsdTypeManager.Instance, ArrayArgumentRefEntryXName); + } + return this.ArrayArgumentRefEntryField; + } + set { + if ((value == null)) { + this.ArrayArgumentRefEntryField = null; + } + else { + if ((this.ArrayArgumentRefEntryField == null)) { + this.ArrayArgumentRefEntryField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ArrayArgumentRefEntryXName); + } + else { + XTypedServices.SetList(this.ArrayArgumentRefEntryField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FixedValueEntryXName = System.Xml.Linq.XName.Get("FixedValueEntry", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList FixedValueEntryField; + + /// + /// + /// Specify an immutable value to be a part of this container layout definition. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (ParameterRefEntry | ParameterSegmentRefEntry | ContainerRefEntry | ContainerSegmentRefEntry | StreamSegmentEntry | IndirectParameterRefEntry | ArrayParameterRefEntry | ArgumentRefEntry | ArrayArgumentRefEntry | FixedValueEntry)* + /// + /// + public virtual IList FixedValueEntry { + get { + if ((this.FixedValueEntryField == null)) { + this.FixedValueEntryField = new XTypedList(this, LinqToXsdTypeManager.Instance, FixedValueEntryXName); + } + return this.FixedValueEntryField; + } + set { + if ((value == null)) { + this.FixedValueEntryField = null; + } + else { + if ((this.FixedValueEntryField == null)) { + this.FixedValueEntryField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, FixedValueEntryXName); + } + else { + XTypedServices.SetList(this.FixedValueEntryField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CommandContainerEntryListType", "http://www.omg.org/spec/XTCE/20250214"); + + static CommandContainerEntryListType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(ParameterRefEntryXName), new NamedContentModelEntity(ParameterSegmentRefEntryXName), new NamedContentModelEntity(ContainerRefEntryXName), new NamedContentModelEntity(ContainerSegmentRefEntryXName), new NamedContentModelEntity(StreamSegmentEntryXName), new NamedContentModelEntity(IndirectParameterRefEntryXName), new NamedContentModelEntity(ArrayParameterRefEntryXName), new NamedContentModelEntity(ArgumentRefEntryXName), new NamedContentModelEntity(ArrayArgumentRefEntryXName), new NamedContentModelEntity(FixedValueEntryXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ParameterRefEntryXName, typeof(ArgumentParameterRefEntryType)); + localElementDictionary.Add(ParameterSegmentRefEntryXName, typeof(ArgumentParameterSegmentRefEntryType)); + localElementDictionary.Add(ContainerRefEntryXName, typeof(ArgumentContainerRefEntryType)); + localElementDictionary.Add(ContainerSegmentRefEntryXName, typeof(ArgumentContainerSegmentRefEntryType)); + localElementDictionary.Add(StreamSegmentEntryXName, typeof(ArgumentStreamSegmentEntryType)); + localElementDictionary.Add(IndirectParameterRefEntryXName, typeof(ArgumentIndirectParameterRefEntryType)); + localElementDictionary.Add(ArrayParameterRefEntryXName, typeof(ArgumentArrayParameterRefEntryType)); + localElementDictionary.Add(ArgumentRefEntryXName, typeof(ArgumentArgumentRefEntryType)); + localElementDictionary.Add(ArrayArgumentRefEntryXName, typeof(ArgumentArrayArgumentRefEntryType)); + localElementDictionary.Add(FixedValueEntryXName, typeof(ArgumentFixedValueEntryType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Contains an unordered Set of Command Containers + /// + /// + /// Regular expression: (CommandContainer+) + /// + /// + public partial class CommandContainerSetType : XTypedElement, IXMetaData { + + public static explicit operator CommandContainerSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Contains an unordered Set of Command Containers + /// + /// + /// Regular expression: (CommandContainer+) + /// + /// + public CommandContainerSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CommandContainerXName = System.Xml.Linq.XName.Get("CommandContainer", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList CommandContainerField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (CommandContainer+) + /// + /// + public virtual IList CommandContainer { + get { + if ((this.CommandContainerField == null)) { + this.CommandContainerField = new XTypedList(this, LinqToXsdTypeManager.Instance, CommandContainerXName); + } + return this.CommandContainerField; + } + set { + if ((value == null)) { + this.CommandContainerField = null; + } + else { + if ((this.CommandContainerField == null)) { + this.CommandContainerField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, CommandContainerXName); + } + else { + XTypedServices.SetList(this.CommandContainerField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CommandContainerSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static CommandContainerSetType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(CommandContainerXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(CommandContainerXName, typeof(SequenceContainerType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a MetaCommand command container. The command container may contain arguments, parameters, other basic containers, and fixed values. Arguments are supplied by the user of a commanding application; parameters are supplied by the controlling system. Parameters and arguments map source data types to encodings. See MetaCommandType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, DefaultRateInStream?, RateInStreamSet?, BinaryEncoding?, EntryList, BaseContainer?) + /// + /// + public partial class CommandContainerType : global::Omg.Xtce.ContainerType, IXMetaData { + + public static explicit operator CommandContainerType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a MetaCommand command container. The command container may contain arguments, parameters, other basic containers, and fixed values. Arguments are supplied by the user of a commanding application; parameters are supplied by the controlling system. Parameters and arguments map source data types to encodings. See MetaCommandType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, DefaultRateInStream?, RateInStreamSet?, BinaryEncoding?, EntryList, BaseContainer?) + /// + /// + public CommandContainerType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DefaultRateInStreamXName = System.Xml.Linq.XName.Get("DefaultRateInStream", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RateInStreamSetXName = System.Xml.Linq.XName.Get("RateInStreamSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryEncodingXName = System.Xml.Linq.XName.Get("BinaryEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EntryListXName = System.Xml.Linq.XName.Get("EntryList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// List of item entries to pack/encode into this container definition. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, DefaultRateInStream?, RateInStreamSet?, BinaryEncoding?, EntryList, BaseContainer?) + /// + /// + public virtual CommandContainerEntryListType EntryList { + get { + XElement x = this.GetElement(EntryListXName); + return ((CommandContainerEntryListType)(x)); + } + set { + this.SetElement(EntryListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BaseContainerXName = System.Xml.Linq.XName.Get("BaseContainer", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// When a MetaCommand inherits/extends another MetaCommand, this references the CommandContainer from the BaseMetaCommand. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, DefaultRateInStream?, RateInStreamSet?, BinaryEncoding?, EntryList, BaseContainer?) + /// + /// + public virtual BaseContainerType BaseContainer { + get { + XElement x = this.GetElement(BaseContainerXName); + if ((x == null)) { + return null; + } + return ((BaseContainerType)(x)); + } + set { + this.SetElement(BaseContainerXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CommandContainerType", "http://www.omg.org/spec/XTCE/20250214"); + + static CommandContainerType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(DefaultRateInStreamXName), new NamedContentModelEntity(RateInStreamSetXName), new NamedContentModelEntity(BinaryEncodingXName), new NamedContentModelEntity(EntryListXName), new NamedContentModelEntity(BaseContainerXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(DefaultRateInStreamXName, typeof(RateInStreamType)); + localElementDictionary.Add(RateInStreamSetXName, typeof(RateInStreamSetType)); + localElementDictionary.Add(BinaryEncodingXName, typeof(ContainerBinaryDataEncodingType)); + localElementDictionary.Add(EntryListXName, typeof(CommandContainerEntryListType)); + localElementDictionary.Add(BaseContainerXName, typeof(BaseContainerType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A command verifier is used to check that the command has been successfully executed. Command Verifiers may be either a Custom Algorithm or a Boolean Check or the presence of a Container for a relative change in the value of a Parameter. The CheckWindow is a time period where the verification must test true to pass. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?) + /// + /// + public abstract partial class CommandVerifierType : global::Omg.Xtce.OptionalNameDescriptionType, IXMetaData { + + public static explicit operator CommandVerifierType(XElement xe) { return (CommandVerifierType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// A command verifier is used to check that the command has been successfully executed. Command Verifiers may be either a Custom Algorithm or a Boolean Check or the presence of a Container for a relative change in the value of a Parameter. The CheckWindow is a time period where the verification must test true to pass. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?) + /// + /// + public CommandVerifierType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonListXName = System.Xml.Linq.XName.Get("ComparisonList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Verification is a list of comparisons. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?) + /// + /// + public virtual ComparisonListType ComparisonList { + get { + XElement x = this.GetElement(ComparisonListXName); + if ((x == null)) { + return null; + } + return ((ComparisonListType)(x)); + } + set { + this.SetElement(ComparisonListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContainerRefXName = System.Xml.Linq.XName.Get("ContainerRef", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Verification is a new instance of the referenced container. For example, sending a command to download memory then receiving a packet with the memory download would be verified upon receipt of the packet. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?) + /// + /// + public virtual ContainerRefType ContainerRef { + get { + XElement x = this.GetElement(ContainerRefXName); + if ((x == null)) { + return null; + } + return ((ContainerRefType)(x)); + } + set { + this.SetElement(ContainerRefXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterValueChangeXName = System.Xml.Linq.XName.Get("ParameterValueChange", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Verification is a telemetry parameter value change on the ground. For example, a command counter. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?) + /// + /// + public virtual ParameterValueChangeType ParameterValueChange { + get { + XElement x = this.GetElement(ParameterValueChangeXName); + if ((x == null)) { + return null; + } + return ((ParameterValueChangeType)(x)); + } + set { + this.SetElement(ParameterValueChangeXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlgorithmXName = System.Xml.Linq.XName.Get("CustomAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Verification is outside the scope of regular command and telemetry processing. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?) + /// + /// + public virtual InputAlgorithmType CustomAlgorithm { + get { + XElement x = this.GetElement(CustomAlgorithmXName); + if ((x == null)) { + return null; + } + return ((InputAlgorithmType)(x)); + } + set { + this.SetElement(CustomAlgorithmXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BooleanExpressionXName = System.Xml.Linq.XName.Get("BooleanExpression", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Verification is a boolean expression of conditions. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?) + /// + /// + public virtual BooleanExpressionType BooleanExpression { + get { + XElement x = this.GetElement(BooleanExpressionXName); + if ((x == null)) { + return null; + } + return ((BooleanExpressionType)(x)); + } + set { + this.SetElement(BooleanExpressionXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonXName = System.Xml.Linq.XName.Get("Comparison", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Verification is a single comparison. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?) + /// + /// + public virtual ComparisonType Comparison { + get { + XElement x = this.GetElement(ComparisonXName); + if ((x == null)) { + return null; + } + return ((ComparisonType)(x)); + } + set { + this.SetElement(ComparisonXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CheckWindowXName = System.Xml.Linq.XName.Get("CheckWindow", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Define a time window for checking for verification. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?) + /// + /// + public virtual CheckWindowType CheckWindow { + get { + XElement x = this.GetElement(CheckWindowXName); + if ((x == null)) { + return null; + } + return ((CheckWindowType)(x)); + } + set { + this.SetElement(CheckWindowXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CheckWindowAlgorithmsXName = System.Xml.Linq.XName.Get("CheckWindowAlgorithms", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Define a time window algorithmically for verification. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?) + /// + /// + public virtual CheckWindowAlgorithmsType CheckWindowAlgorithms { + get { + XElement x = this.GetElement(CheckWindowAlgorithmsXName); + if ((x == null)) { + return null; + } + return ((CheckWindowAlgorithmsType)(x)); + } + set { + this.SetElement(CheckWindowAlgorithmsXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ArgumentRestrictionListXName = System.Xml.Linq.XName.Get("ArgumentRestrictionList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Optional list of argument values that manifest this post-transmission validation parameter value check. When not present, this check applies to all instances of the command. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?) + /// + /// + public virtual ArgumentAssignmentListType ArgumentRestrictionList { + get { + XElement x = this.GetElement(ArgumentRestrictionListXName); + if ((x == null)) { + return null; + } + return ((ArgumentAssignmentListType)(x)); + } + set { + this.SetElement(ArgumentRestrictionListXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CommandVerifierType", "http://www.omg.org/spec/XTCE/20250214"); + + static CommandVerifierType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(ComparisonListXName), new NamedContentModelEntity(ContainerRefXName), new NamedContentModelEntity(ParameterValueChangeXName), new NamedContentModelEntity(CustomAlgorithmXName), new NamedContentModelEntity(BooleanExpressionXName), new NamedContentModelEntity(ComparisonXName)), new ChoiceContentModelEntity(new NamedContentModelEntity(CheckWindowXName), new NamedContentModelEntity(CheckWindowAlgorithmsXName)), new NamedContentModelEntity(ArgumentRestrictionListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(ComparisonListXName, typeof(ComparisonListType)); + localElementDictionary.Add(ContainerRefXName, typeof(ContainerRefType)); + localElementDictionary.Add(ParameterValueChangeXName, typeof(ParameterValueChangeType)); + localElementDictionary.Add(CustomAlgorithmXName, typeof(InputAlgorithmType)); + localElementDictionary.Add(BooleanExpressionXName, typeof(BooleanExpressionType)); + localElementDictionary.Add(ComparisonXName, typeof(ComparisonType)); + localElementDictionary.Add(CheckWindowXName, typeof(CheckWindowType)); + localElementDictionary.Add(CheckWindowAlgorithmsXName, typeof(CheckWindowAlgorithmsType)); + localElementDictionary.Add(ArgumentRestrictionListXName, typeof(ArgumentAssignmentListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describes an enumerated argument type. The enumeration list consists of label/value pairs. See EnumerationListType, IntegerDataEncodingType and EnumeratedDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, EnumerationList) + /// + /// + public partial class EnumeratedArgumentType : global::Omg.Xtce.ArgumentEnumeratedDataType, IXMetaData { + + public static explicit operator EnumeratedArgumentType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describes an enumerated argument type. The enumeration list consists of label/value pairs. See EnumerationListType, IntegerDataEncodingType and EnumeratedDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, EnumerationList) + /// + /// + public EnumeratedArgumentType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitSetXName = System.Xml.Linq.XName.Get("UnitSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryDataEncodingXName = System.Xml.Linq.XName.Get("BinaryDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatDataEncodingXName = System.Xml.Linq.XName.Get("FloatDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerDataEncodingXName = System.Xml.Linq.XName.Get("IntegerDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringDataEncodingXName = System.Xml.Linq.XName.Get("StringDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EnumerationListXName = System.Xml.Linq.XName.Get("EnumerationList", "http://www.omg.org/spec/XTCE/20250214"); + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("EnumeratedArgumentType", "http://www.omg.org/spec/XTCE/20250214"); + + static EnumeratedArgumentType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(UnitSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(BinaryDataEncodingXName), new NamedContentModelEntity(FloatDataEncodingXName), new NamedContentModelEntity(IntegerDataEncodingXName), new NamedContentModelEntity(StringDataEncodingXName)), new NamedContentModelEntity(EnumerationListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(UnitSetXName, typeof(UnitSetType)); + localElementDictionary.Add(BinaryDataEncodingXName, typeof(ArgumentBinaryDataEncodingType)); + localElementDictionary.Add(FloatDataEncodingXName, typeof(FloatDataEncodingType)); + localElementDictionary.Add(IntegerDataEncodingXName, typeof(IntegerDataEncodingType)); + localElementDictionary.Add(StringDataEncodingXName, typeof(ArgumentStringDataEncodingType)); + localElementDictionary.Add(EnumerationListXName, typeof(EnumerationListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a floating point argument type. Several encodings are supported. Calibrated integer to float relationships should be described with this data type. Use the data encoding to define calibrators. Joins integer as one of the numerics. See FloatDataEncodingType, IntegerDataEncodingType and FloatDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?, ValidRangeSet?) + /// + /// + public partial class FloatArgumentType : global::Omg.Xtce.ArgumentFloatDataType, IXMetaData { + + public static explicit operator FloatArgumentType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a floating point argument type. Several encodings are supported. Calibrated integer to float relationships should be described with this data type. Use the data encoding to define calibrators. Joins integer as one of the numerics. See FloatDataEncodingType, IntegerDataEncodingType and FloatDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?, ValidRangeSet?) + /// + /// + public FloatArgumentType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitSetXName = System.Xml.Linq.XName.Get("UnitSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryDataEncodingXName = System.Xml.Linq.XName.Get("BinaryDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatDataEncodingXName = System.Xml.Linq.XName.Get("FloatDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerDataEncodingXName = System.Xml.Linq.XName.Get("IntegerDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringDataEncodingXName = System.Xml.Linq.XName.Get("StringDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ToStringXName = System.Xml.Linq.XName.Get("ToString", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ValidRangeSetXName = System.Xml.Linq.XName.Get("ValidRangeSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Provides additional platform/program specific ranging information. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?, ValidRangeSet?) + /// + /// + public virtual ValidFloatRangeSetType ValidRangeSet { + get { + XElement x = this.GetElement(ValidRangeSetXName); + if ((x == null)) { + return null; + } + return ((ValidFloatRangeSetType)(x)); + } + set { + this.SetElement(ValidRangeSetXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("FloatArgumentType", "http://www.omg.org/spec/XTCE/20250214"); + + static FloatArgumentType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(UnitSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(BinaryDataEncodingXName), new NamedContentModelEntity(FloatDataEncodingXName), new NamedContentModelEntity(IntegerDataEncodingXName), new NamedContentModelEntity(StringDataEncodingXName)), new NamedContentModelEntity(ToStringXName), new NamedContentModelEntity(ValidRangeSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(UnitSetXName, typeof(UnitSetType)); + localElementDictionary.Add(BinaryDataEncodingXName, typeof(ArgumentBinaryDataEncodingType)); + localElementDictionary.Add(FloatDataEncodingXName, typeof(FloatDataEncodingType)); + localElementDictionary.Add(IntegerDataEncodingXName, typeof(IntegerDataEncodingType)); + localElementDictionary.Add(StringDataEncodingXName, typeof(ArgumentStringDataEncodingType)); + localElementDictionary.Add(ToStringXName, typeof(ToStringType)); + localElementDictionary.Add(ValidRangeSetXName, typeof(ValidFloatRangeSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describes an integer argument type. Several encodings supported. Calibrated integer to integer relationships should be described with this data type. Use the integer data encoding to define calibrators. Joins float as one of the numerics. See IntegerDataEncoding and IntegerDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?, ValidRangeSet?) + /// + /// + public partial class IntegerArgumentType : global::Omg.Xtce.ArgumentIntegerDataType, IXMetaData { + + public static explicit operator IntegerArgumentType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describes an integer argument type. Several encodings supported. Calibrated integer to integer relationships should be described with this data type. Use the integer data encoding to define calibrators. Joins float as one of the numerics. See IntegerDataEncoding and IntegerDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?, ValidRangeSet?) + /// + /// + public IntegerArgumentType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitSetXName = System.Xml.Linq.XName.Get("UnitSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryDataEncodingXName = System.Xml.Linq.XName.Get("BinaryDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatDataEncodingXName = System.Xml.Linq.XName.Get("FloatDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerDataEncodingXName = System.Xml.Linq.XName.Get("IntegerDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringDataEncodingXName = System.Xml.Linq.XName.Get("StringDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ToStringXName = System.Xml.Linq.XName.Get("ToString", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ValidRangeSetXName = System.Xml.Linq.XName.Get("ValidRangeSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Provides additional platform/program specific ranging information. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?, ValidRangeSet?) + /// + /// + public virtual ValidIntegerRangeSetType ValidRangeSet { + get { + XElement x = this.GetElement(ValidRangeSetXName); + if ((x == null)) { + return null; + } + return ((ValidIntegerRangeSetType)(x)); + } + set { + this.SetElement(ValidRangeSetXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("IntegerArgumentType", "http://www.omg.org/spec/XTCE/20250214"); + + static IntegerArgumentType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(UnitSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(BinaryDataEncodingXName), new NamedContentModelEntity(FloatDataEncodingXName), new NamedContentModelEntity(IntegerDataEncodingXName), new NamedContentModelEntity(StringDataEncodingXName)), new NamedContentModelEntity(ToStringXName), new NamedContentModelEntity(ValidRangeSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(UnitSetXName, typeof(UnitSetType)); + localElementDictionary.Add(BinaryDataEncodingXName, typeof(ArgumentBinaryDataEncodingType)); + localElementDictionary.Add(FloatDataEncodingXName, typeof(FloatDataEncodingType)); + localElementDictionary.Add(IntegerDataEncodingXName, typeof(IntegerDataEncodingType)); + localElementDictionary.Add(StringDataEncodingXName, typeof(ArgumentStringDataEncodingType)); + localElementDictionary.Add(ToStringXName, typeof(ToStringType)); + localElementDictionary.Add(ValidRangeSetXName, typeof(ValidIntegerRangeSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describes an unordered collection of command definitions. Duplicates are invalid based on the name attribute of MetaCommand and BlockMetaCommand. See MetaCommandType and BlockMetaCommandType. + /// + /// + /// Regular expression: (MetaCommand | MetaCommandRef | BlockMetaCommand)+ + /// + /// + public partial class MetaCommandSetType : XTypedElement, IXMetaData { + + public static explicit operator MetaCommandSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describes an unordered collection of command definitions. Duplicates are invalid based on the name attribute of MetaCommand and BlockMetaCommand. See MetaCommandType and BlockMetaCommandType. + /// + /// + /// Regular expression: (MetaCommand | MetaCommandRef | BlockMetaCommand)+ + /// + /// + public MetaCommandSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MetaCommandXName = System.Xml.Linq.XName.Get("MetaCommand", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList MetaCommandField; + + /// + /// + /// All atomic commands to be sent on this mission are listed here. In addition this area has verification and validation information. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (MetaCommand | MetaCommandRef | BlockMetaCommand)+ + /// + /// + public virtual IList MetaCommand { + get { + if ((this.MetaCommandField == null)) { + this.MetaCommandField = new XTypedList(this, LinqToXsdTypeManager.Instance, MetaCommandXName); + } + return this.MetaCommandField; + } + set { + if ((value == null)) { + this.MetaCommandField = null; + } + else { + if ((this.MetaCommandField == null)) { + this.MetaCommandField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, MetaCommandXName); + } + else { + XTypedServices.SetList(this.MetaCommandField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MetaCommandRefXName = System.Xml.Linq.XName.Get("MetaCommandRef", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList MetaCommandRefField; + + /// + /// + /// Used to include a MetaCommand defined in another sub-system in this sub-system. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (MetaCommand | MetaCommandRef | BlockMetaCommand)+ + /// + /// + public virtual IList MetaCommandRef { + get { + if ((this.MetaCommandRefField == null)) { + this.MetaCommandRefField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype, MetaCommandRefXName); + } + return this.MetaCommandRefField; + } + set { + if ((value == null)) { + this.MetaCommandRefField = null; + } + else { + if ((this.MetaCommandRefField == null)) { + this.MetaCommandRefField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype, value, MetaCommandRefXName); + } + else { + XTypedServices.SetList(this.MetaCommandRefField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BlockMetaCommandXName = System.Xml.Linq.XName.Get("BlockMetaCommand", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList BlockMetaCommandField; + + /// + /// + /// Used to define a command that includes more than one atomic MetaCommand definition. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (MetaCommand | MetaCommandRef | BlockMetaCommand)+ + /// + /// + public virtual IList BlockMetaCommand { + get { + if ((this.BlockMetaCommandField == null)) { + this.BlockMetaCommandField = new XTypedList(this, LinqToXsdTypeManager.Instance, BlockMetaCommandXName); + } + return this.BlockMetaCommandField; + } + set { + if ((value == null)) { + this.BlockMetaCommandField = null; + } + else { + if ((this.BlockMetaCommandField == null)) { + this.BlockMetaCommandField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, BlockMetaCommandXName); + } + else { + XTypedServices.SetList(this.BlockMetaCommandField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("MetaCommandSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static MetaCommandSetType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(MetaCommandXName), new NamedContentModelEntity(MetaCommandRefXName), new NamedContentModelEntity(BlockMetaCommandXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(MetaCommandXName, typeof(MetaCommandType)); + localElementDictionary.Add(MetaCommandRefXName, typeof(string)); + localElementDictionary.Add(BlockMetaCommandXName, typeof(BlockMetaCommandType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe the list of MetaCommand definitions that form the block command. Contains an ordered list of MetaCommandSteps where each step is a MetaCommand with associated arguments, duplicates are valid. See BlockMetaCommandType. + /// + /// + /// Regular expression: (MetaCommandStep+) + /// + /// + public partial class MetaCommandStepListType : XTypedElement, IXMetaData { + + public static explicit operator MetaCommandStepListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe the list of MetaCommand definitions that form the block command. Contains an ordered list of MetaCommandSteps where each step is a MetaCommand with associated arguments, duplicates are valid. See BlockMetaCommandType. + /// + /// + /// Regular expression: (MetaCommandStep+) + /// + /// + public MetaCommandStepListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MetaCommandStepXName = System.Xml.Linq.XName.Get("MetaCommandStep", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList MetaCommandStepField; + + /// + /// + /// A MetaCommand with specific specified argument values to include in the BlockMetaCommand. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (MetaCommandStep+) + /// + /// + public virtual IList MetaCommandStep { + get { + if ((this.MetaCommandStepField == null)) { + this.MetaCommandStepField = new XTypedList(this, LinqToXsdTypeManager.Instance, MetaCommandStepXName); + } + return this.MetaCommandStepField; + } + set { + if ((value == null)) { + this.MetaCommandStepField = null; + } + else { + if ((this.MetaCommandStepField == null)) { + this.MetaCommandStepField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, MetaCommandStepXName); + } + else { + XTypedServices.SetList(this.MetaCommandStepField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("MetaCommandStepListType", "http://www.omg.org/spec/XTCE/20250214"); + + static MetaCommandStepListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(MetaCommandStepXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(MetaCommandStepXName, typeof(MetaCommandStepType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a MetaCommand step, consisting MetaCommand reference and argument list. See MetaCommandStepListType and NameReferenceType. + /// + /// + /// Regular expression: (ArgumentAssignmentList?) + /// + /// + public partial class MetaCommandStepType : XTypedElement, IXMetaData { + + public static explicit operator MetaCommandStepType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a MetaCommand step, consisting MetaCommand reference and argument list. See MetaCommandStepListType and NameReferenceType. + /// + /// + /// Regular expression: (ArgumentAssignmentList?) + /// + /// + public MetaCommandStepType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ArgumentAssignmentListXName = System.Xml.Linq.XName.Get("ArgumentAssignmentList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ArgumentAssignmentList?) + /// + /// + public virtual ArgumentAssignmentListType ArgumentAssignmentList { + get { + XElement x = this.GetElement(ArgumentAssignmentListXName); + if ((x == null)) { + return null; + } + return ((ArgumentAssignmentListType)(x)); + } + set { + this.SetElement(ArgumentAssignmentListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName metaCommandRefXName = System.Xml.Linq.XName.Get("metaCommandRef", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string metaCommandRef { + get { + XAttribute x = this.Attribute(metaCommandRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(metaCommandRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("MetaCommandStepType", "http://www.omg.org/spec/XTCE/20250214"); + + static MetaCommandStepType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ArgumentAssignmentListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ArgumentAssignmentListXName, typeof(ArgumentAssignmentListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a command which consists of an abstract portion (MetaCommand) and an optional packaging portion (MetaCommand CommandContainer). An argument list is provided. MetaCommand may extend other MetaCommands and their CommandContainer may extend other CommandContainer or SequenceContainers. A MetaCommand's CommandContainer is private except as referred to in BaseMetaCommand (they are not visible to other containers and cannot be used in an entry list). MetaCommands may also define various other behavioral aspects of a command such as command verifiers. See CommandContainerType, ArgumentListType, BaseMetaCommandType and BaseContainerType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, BaseMetaCommand?, SystemName?, ArgumentList?, CommandContainer?, TransmissionConstraintList?, DefaultSignificance?, ContextSignificanceList?, Interlock?, VerifierSet?, ParameterToSetList?, ParametersToSuspendAlarmsOnSet?) + /// + /// + public partial class MetaCommandType : global::Omg.Xtce.NameDescriptionType, IXMetaData { + + public static explicit operator MetaCommandType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a command which consists of an abstract portion (MetaCommand) and an optional packaging portion (MetaCommand CommandContainer). An argument list is provided. MetaCommand may extend other MetaCommands and their CommandContainer may extend other CommandContainer or SequenceContainers. A MetaCommand's CommandContainer is private except as referred to in BaseMetaCommand (they are not visible to other containers and cannot be used in an entry list). MetaCommands may also define various other behavioral aspects of a command such as command verifiers. See CommandContainerType, ArgumentListType, BaseMetaCommandType and BaseContainerType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, BaseMetaCommand?, SystemName?, ArgumentList?, CommandContainer?, TransmissionConstraintList?, DefaultSignificance?, ContextSignificanceList?, Interlock?, VerifierSet?, ParameterToSetList?, ParametersToSuspendAlarmsOnSet?) + /// + /// + public MetaCommandType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BaseMetaCommandXName = System.Xml.Linq.XName.Get("BaseMetaCommand", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Optional inheritance for this MetaCommand from another named MetaCommand. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, BaseMetaCommand?, SystemName?, ArgumentList?, CommandContainer?, TransmissionConstraintList?, DefaultSignificance?, ContextSignificanceList?, Interlock?, VerifierSet?, ParameterToSetList?, ParametersToSuspendAlarmsOnSet?) + /// + /// + public virtual BaseMetaCommandType BaseMetaCommand { + get { + XElement x = this.GetElement(BaseMetaCommandXName); + if ((x == null)) { + return null; + } + return ((BaseMetaCommandType)(x)); + } + set { + this.SetElement(BaseMetaCommandXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SystemNameXName = System.Xml.Linq.XName.Get("SystemName", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Optional. Normally used when the database is built in a flat, non-hierarchical format. May be used by implementations to group MetaCommands together. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, BaseMetaCommand?, SystemName?, ArgumentList?, CommandContainer?, TransmissionConstraintList?, DefaultSignificance?, ContextSignificanceList?, Interlock?, VerifierSet?, ParameterToSetList?, ParametersToSuspendAlarmsOnSet?) + /// + /// + public virtual string SystemName { + get { + XElement x = this.GetElement(SystemNameXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetElement(SystemNameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ArgumentListXName = System.Xml.Linq.XName.Get("ArgumentList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Many commands have one or more options. These are called command arguments. Command arguments may be of any of the standard data types. MetaCommand arguments are local to the MetaCommand, but may be referenced in inherited MetaCommand definitions, generally to apply Argument Assignments to the values. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, BaseMetaCommand?, SystemName?, ArgumentList?, CommandContainer?, TransmissionConstraintList?, DefaultSignificance?, ContextSignificanceList?, Interlock?, VerifierSet?, ParameterToSetList?, ParametersToSuspendAlarmsOnSet?) + /// + /// + public virtual ArgumentListType ArgumentList { + get { + XElement x = this.GetElement(ArgumentListXName); + if ((x == null)) { + return null; + } + return ((ArgumentListType)(x)); + } + set { + this.SetElement(ArgumentListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CommandContainerXName = System.Xml.Linq.XName.Get("CommandContainer", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Tells how to package/encode this command definition in binary form. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, BaseMetaCommand?, SystemName?, ArgumentList?, CommandContainer?, TransmissionConstraintList?, DefaultSignificance?, ContextSignificanceList?, Interlock?, VerifierSet?, ParameterToSetList?, ParametersToSuspendAlarmsOnSet?) + /// + /// + public virtual CommandContainerType CommandContainer { + get { + XElement x = this.GetElement(CommandContainerXName); + if ((x == null)) { + return null; + } + return ((CommandContainerType)(x)); + } + set { + this.SetElement(CommandContainerXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TransmissionConstraintListXName = System.Xml.Linq.XName.Get("TransmissionConstraintList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// List of constraints to check when sending this command. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, BaseMetaCommand?, SystemName?, ArgumentList?, CommandContainer?, TransmissionConstraintList?, DefaultSignificance?, ContextSignificanceList?, Interlock?, VerifierSet?, ParameterToSetList?, ParametersToSuspendAlarmsOnSet?) + /// + /// + public virtual TransmissionConstraintListType TransmissionConstraintList { + get { + XElement x = this.GetElement(TransmissionConstraintListXName); + if ((x == null)) { + return null; + } + return ((TransmissionConstraintListType)(x)); + } + set { + this.SetElement(TransmissionConstraintListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DefaultSignificanceXName = System.Xml.Linq.XName.Get("DefaultSignificance", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Some Command and Control Systems may require special user access or confirmations before transmitting commands with certain levels. The level is inherited from the Base MetaCommand. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, BaseMetaCommand?, SystemName?, ArgumentList?, CommandContainer?, TransmissionConstraintList?, DefaultSignificance?, ContextSignificanceList?, Interlock?, VerifierSet?, ParameterToSetList?, ParametersToSuspendAlarmsOnSet?) + /// + /// + public virtual SignificanceType DefaultSignificance { + get { + XElement x = this.GetElement(DefaultSignificanceXName); + if ((x == null)) { + return null; + } + return ((SignificanceType)(x)); + } + set { + this.SetElement(DefaultSignificanceXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContextSignificanceListXName = System.Xml.Linq.XName.Get("ContextSignificanceList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Some Command and Control Systems may require special user access or confirmations before transmitting commands with certain levels. In addition to the default, Significance can be defined in contexts where it changes based on the values of parameters. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, BaseMetaCommand?, SystemName?, ArgumentList?, CommandContainer?, TransmissionConstraintList?, DefaultSignificance?, ContextSignificanceList?, Interlock?, VerifierSet?, ParameterToSetList?, ParametersToSuspendAlarmsOnSet?) + /// + /// + public virtual ContextSignificanceListType ContextSignificanceList { + get { + XElement x = this.GetElement(ContextSignificanceListXName); + if ((x == null)) { + return null; + } + return ((ContextSignificanceListType)(x)); + } + set { + this.SetElement(ContextSignificanceListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName InterlockXName = System.Xml.Linq.XName.Get("Interlock", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// An Interlock is a type of Constraint, but not on Command instances of this MetaCommand; Interlocks apply instead to the next command. An Interlock will block successive commands until this command has reached a certain stage (through verifications). Interlocks are scoped to a SpaceSystem basis. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, BaseMetaCommand?, SystemName?, ArgumentList?, CommandContainer?, TransmissionConstraintList?, DefaultSignificance?, ContextSignificanceList?, Interlock?, VerifierSet?, ParameterToSetList?, ParametersToSuspendAlarmsOnSet?) + /// + /// + public virtual InterlockType Interlock { + get { + XElement x = this.GetElement(InterlockXName); + if ((x == null)) { + return null; + } + return ((InterlockType)(x)); + } + set { + this.SetElement(InterlockXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName VerifierSetXName = System.Xml.Linq.XName.Get("VerifierSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Functional list of conditions/changes to check after sending this command to determine success or failure. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, BaseMetaCommand?, SystemName?, ArgumentList?, CommandContainer?, TransmissionConstraintList?, DefaultSignificance?, ContextSignificanceList?, Interlock?, VerifierSet?, ParameterToSetList?, ParametersToSuspendAlarmsOnSet?) + /// + /// + public virtual VerifierSetType VerifierSet { + get { + XElement x = this.GetElement(VerifierSetXName); + if ((x == null)) { + return null; + } + return ((VerifierSetType)(x)); + } + set { + this.SetElement(VerifierSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterToSetListXName = System.Xml.Linq.XName.Get("ParameterToSetList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// List of parameters to set new values upon completion of sending this command. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, BaseMetaCommand?, SystemName?, ArgumentList?, CommandContainer?, TransmissionConstraintList?, DefaultSignificance?, ContextSignificanceList?, Interlock?, VerifierSet?, ParameterToSetList?, ParametersToSuspendAlarmsOnSet?) + /// + /// + public virtual ParameterToSetListType ParameterToSetList { + get { + XElement x = this.GetElement(ParameterToSetListXName); + if ((x == null)) { + return null; + } + return ((ParameterToSetListType)(x)); + } + set { + this.SetElement(ParameterToSetListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParametersToSuspendAlarmsOnSetXName = System.Xml.Linq.XName.Get("ParametersToSuspendAlarmsOnSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// List of parameters to suspend alarm processing/detection upon completion of sending this command. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, BaseMetaCommand?, SystemName?, ArgumentList?, CommandContainer?, TransmissionConstraintList?, DefaultSignificance?, ContextSignificanceList?, Interlock?, VerifierSet?, ParameterToSetList?, ParametersToSuspendAlarmsOnSet?) + /// + /// + public virtual ParametersToSuspendAlarmsOnSetType ParametersToSuspendAlarmsOnSet { + get { + XElement x = this.GetElement(ParametersToSuspendAlarmsOnSetXName); + if ((x == null)) { + return null; + } + return ((ParametersToSuspendAlarmsOnSetType)(x)); + } + set { + this.SetElement(ParametersToSuspendAlarmsOnSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName @abstractXName = System.Xml.Linq.XName.Get("abstract", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool @abstractDefaultValue = System.Xml.XmlConvert.ToBoolean("false"); + + /// + /// + /// Abstract MetaCommand definitions that are not instantiated, rather only used as bases to inherit from to create specialized command definitions. + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool @abstract { + get { + XAttribute x = this.Attribute(@abstractXName); + if ((x == null)) { + return @abstractDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(@abstractXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("MetaCommandType", "http://www.omg.org/spec/XTCE/20250214"); + + static MetaCommandType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(BaseMetaCommandXName), new NamedContentModelEntity(SystemNameXName), new NamedContentModelEntity(ArgumentListXName), new NamedContentModelEntity(CommandContainerXName), new NamedContentModelEntity(TransmissionConstraintListXName), new NamedContentModelEntity(DefaultSignificanceXName), new NamedContentModelEntity(ContextSignificanceListXName), new NamedContentModelEntity(InterlockXName), new NamedContentModelEntity(VerifierSetXName), new NamedContentModelEntity(ParameterToSetListXName), new NamedContentModelEntity(ParametersToSuspendAlarmsOnSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(BaseMetaCommandXName, typeof(BaseMetaCommandType)); + localElementDictionary.Add(SystemNameXName, typeof(string)); + localElementDictionary.Add(ArgumentListXName, typeof(ArgumentListType)); + localElementDictionary.Add(CommandContainerXName, typeof(CommandContainerType)); + localElementDictionary.Add(TransmissionConstraintListXName, typeof(TransmissionConstraintListType)); + localElementDictionary.Add(DefaultSignificanceXName, typeof(SignificanceType)); + localElementDictionary.Add(ContextSignificanceListXName, typeof(ContextSignificanceListType)); + localElementDictionary.Add(InterlockXName, typeof(InterlockType)); + localElementDictionary.Add(VerifierSetXName, typeof(VerifierSetType)); + localElementDictionary.Add(ParameterToSetListXName, typeof(ParameterToSetListType)); + localElementDictionary.Add(ParametersToSuspendAlarmsOnSetXName, typeof(ParametersToSuspendAlarmsOnSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describes a relative time argument type. Relative time parameters are time offsets (e.g. 10 second, 1.24 milliseconds, etc.) See IntegerDataEncodingType, FloatDataEncoding and RelativeTimeDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Encoding?, ReferenceTime?) + /// + /// + public partial class RelativeTimeArgumentType : global::Omg.Xtce.ArgumentRelativeTimeDataType, IXMetaData { + + public static explicit operator RelativeTimeArgumentType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describes a relative time argument type. Relative time parameters are time offsets (e.g. 10 second, 1.24 milliseconds, etc.) See IntegerDataEncodingType, FloatDataEncoding and RelativeTimeDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Encoding?, ReferenceTime?) + /// + /// + public RelativeTimeArgumentType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EncodingXName = System.Xml.Linq.XName.Get("Encoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ReferenceTimeXName = System.Xml.Linq.XName.Get("ReferenceTime", "http://www.omg.org/spec/XTCE/20250214"); + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("RelativeTimeArgumentType", "http://www.omg.org/spec/XTCE/20250214"); + + static RelativeTimeArgumentType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(EncodingXName), new NamedContentModelEntity(ReferenceTimeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(EncodingXName, typeof(EncodingType)); + localElementDictionary.Add(ReferenceTimeXName, typeof(ReferenceTimeType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Significance provides some cautionary information about the potential consequence of each MetaCommand. + /// + /// + public partial class SignificanceType : XTypedElement, IXMetaData { + + public static explicit operator SignificanceType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Significance provides some cautionary information about the potential consequence of each MetaCommand. + /// + /// + public SignificanceType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName spaceSystemAtRiskXName = System.Xml.Linq.XName.Get("spaceSystemAtRisk", ""); + + /// + /// + /// If none is supplied, then the current SpaceSystem is assumed to be the one at risk by the issuance of this command + /// + /// + /// Occurrence: optional + /// + /// + public virtual string spaceSystemAtRisk { + get { + XAttribute x = this.Attribute(spaceSystemAtRiskXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(spaceSystemAtRiskXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName reasonForWarningXName = System.Xml.Linq.XName.Get("reasonForWarning", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string reasonForWarning { + get { + XAttribute x = this.Attribute(reasonForWarningXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(reasonForWarningXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName consequenceLevelXName = System.Xml.Linq.XName.Get("consequenceLevel", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.ConsequenceLevelType consequenceLevelDefaultValue = Omg.Xtce.ConsequenceLevelType.normal; + + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.ConsequenceLevelType consequenceLevel { + get { + XAttribute x = this.Attribute(consequenceLevelXName); + if ((x == null)) { + return consequenceLevelDefaultValue; + } + return ((Omg.Xtce.ConsequenceLevelType)(Enum.Parse(typeof(Omg.Xtce.ConsequenceLevelType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.ConsequenceLevelTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(consequenceLevelXName, value.ToString(), "consequenceLevel", global::Omg.Xtce.ConsequenceLevelTypeValidator.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SignificanceType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describes a string parameter type. Three forms are supported: fixed length, variable length and variable length using a prefix. See StringDataEncodingType and StringDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, SizeRangeInCharacters?) + /// + /// + public partial class StringArgumentType : global::Omg.Xtce.ArgumentStringDataType, IXMetaData { + + public static explicit operator StringArgumentType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describes a string parameter type. Three forms are supported: fixed length, variable length and variable length using a prefix. See StringDataEncodingType and StringDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, SizeRangeInCharacters?) + /// + /// + public StringArgumentType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitSetXName = System.Xml.Linq.XName.Get("UnitSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryDataEncodingXName = System.Xml.Linq.XName.Get("BinaryDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatDataEncodingXName = System.Xml.Linq.XName.Get("FloatDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerDataEncodingXName = System.Xml.Linq.XName.Get("IntegerDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringDataEncodingXName = System.Xml.Linq.XName.Get("StringDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SizeRangeInCharactersXName = System.Xml.Linq.XName.Get("SizeRangeInCharacters", "http://www.omg.org/spec/XTCE/20250214"); + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("StringArgumentType", "http://www.omg.org/spec/XTCE/20250214"); + + static StringArgumentType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(UnitSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(BinaryDataEncodingXName), new NamedContentModelEntity(FloatDataEncodingXName), new NamedContentModelEntity(IntegerDataEncodingXName), new NamedContentModelEntity(StringDataEncodingXName)), new NamedContentModelEntity(SizeRangeInCharactersXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(UnitSetXName, typeof(UnitSetType)); + localElementDictionary.Add(BinaryDataEncodingXName, typeof(ArgumentBinaryDataEncodingType)); + localElementDictionary.Add(FloatDataEncodingXName, typeof(FloatDataEncodingType)); + localElementDictionary.Add(IntegerDataEncodingXName, typeof(IntegerDataEncodingType)); + localElementDictionary.Add(StringDataEncodingXName, typeof(ArgumentStringDataEncodingType)); + localElementDictionary.Add(SizeRangeInCharactersXName, typeof(IntegerRangeType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A verifier that means the destination has accepted the command. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?) + /// + /// + public partial class AcceptedVerifierType : global::Omg.Xtce.CommandVerifierType, IXMetaData { + + public static explicit operator AcceptedVerifierType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// A verifier that means the destination has accepted the command. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?) + /// + /// + public AcceptedVerifierType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonListXName = System.Xml.Linq.XName.Get("ComparisonList", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContainerRefXName = System.Xml.Linq.XName.Get("ContainerRef", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterValueChangeXName = System.Xml.Linq.XName.Get("ParameterValueChange", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlgorithmXName = System.Xml.Linq.XName.Get("CustomAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BooleanExpressionXName = System.Xml.Linq.XName.Get("BooleanExpression", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonXName = System.Xml.Linq.XName.Get("Comparison", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CheckWindowXName = System.Xml.Linq.XName.Get("CheckWindow", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CheckWindowAlgorithmsXName = System.Xml.Linq.XName.Get("CheckWindowAlgorithms", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ArgumentRestrictionListXName = System.Xml.Linq.XName.Get("ArgumentRestrictionList", "http://www.omg.org/spec/XTCE/20250214"); + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("AcceptedVerifierType", "http://www.omg.org/spec/XTCE/20250214"); + + static AcceptedVerifierType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(ComparisonListXName), new NamedContentModelEntity(ContainerRefXName), new NamedContentModelEntity(ParameterValueChangeXName), new NamedContentModelEntity(CustomAlgorithmXName), new NamedContentModelEntity(BooleanExpressionXName), new NamedContentModelEntity(ComparisonXName)), new ChoiceContentModelEntity(new NamedContentModelEntity(CheckWindowXName), new NamedContentModelEntity(CheckWindowAlgorithmsXName)), new NamedContentModelEntity(ArgumentRestrictionListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(ComparisonListXName, typeof(ComparisonListType)); + localElementDictionary.Add(ContainerRefXName, typeof(ContainerRefType)); + localElementDictionary.Add(ParameterValueChangeXName, typeof(ParameterValueChangeType)); + localElementDictionary.Add(CustomAlgorithmXName, typeof(InputAlgorithmType)); + localElementDictionary.Add(BooleanExpressionXName, typeof(BooleanExpressionType)); + localElementDictionary.Add(ComparisonXName, typeof(ComparisonType)); + localElementDictionary.Add(CheckWindowXName, typeof(CheckWindowType)); + localElementDictionary.Add(CheckWindowAlgorithmsXName, typeof(CheckWindowAlgorithmsType)); + localElementDictionary.Add(ArgumentRestrictionListXName, typeof(ArgumentAssignmentListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Used by CommandVerifiers to limit the time allocated to check for the verification. See CheckWindowAlgorithmsType. + /// + /// + public partial class CheckWindowType : XTypedElement, IXMetaData { + + public static explicit operator CheckWindowType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Used by CommandVerifiers to limit the time allocated to check for the verification. See CheckWindowAlgorithmsType. + /// + /// + public CheckWindowType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName timeToStartCheckingXName = System.Xml.Linq.XName.Get("timeToStartChecking", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.TimeSpan? timeToStartChecking { + get { + XAttribute x = this.Attribute(timeToStartCheckingXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Duration).Datatype); + } + set { + this.SetAttribute(timeToStartCheckingXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Duration).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName timeToStopCheckingXName = System.Xml.Linq.XName.Get("timeToStopChecking", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual System.TimeSpan timeToStopChecking { + get { + XAttribute x = this.Attribute(timeToStopCheckingXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Duration).Datatype); + } + set { + this.SetAttribute(timeToStopCheckingXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Duration).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName timeWindowIsRelativeToXName = System.Xml.Linq.XName.Get("timeWindowIsRelativeTo", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.TimeWindowIsRelativeToType timeWindowIsRelativeToDefaultValue = Omg.Xtce.TimeWindowIsRelativeToType.timeLastVerifierPassed; + + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.TimeWindowIsRelativeToType timeWindowIsRelativeTo { + get { + XAttribute x = this.Attribute(timeWindowIsRelativeToXName); + if ((x == null)) { + return timeWindowIsRelativeToDefaultValue; + } + return ((Omg.Xtce.TimeWindowIsRelativeToType)(Enum.Parse(typeof(Omg.Xtce.TimeWindowIsRelativeToType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.TimeWindowIsRelativeToTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(timeWindowIsRelativeToXName, value.ToString(), "timeWindowIsRelativeTo", global::Omg.Xtce.TimeWindowIsRelativeToTypeValidator.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CheckWindowType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Used by CommandVerifiers to limit the time allocated to check for the verification. See CommandVerifierType. + /// + /// + /// Regular expression: (StartCheck, StopTime) + /// + /// + public partial class CheckWindowAlgorithmsType : XTypedElement, IXMetaData { + + public static explicit operator CheckWindowAlgorithmsType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Used by CommandVerifiers to limit the time allocated to check for the verification. See CommandVerifierType. + /// + /// + /// Regular expression: (StartCheck, StopTime) + /// + /// + public CheckWindowAlgorithmsType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StartCheckXName = System.Xml.Linq.XName.Get("StartCheck", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (StartCheck, StopTime) + /// + /// + public virtual InputAlgorithmType StartCheck { + get { + XElement x = this.GetElement(StartCheckXName); + return ((InputAlgorithmType)(x)); + } + set { + this.SetElement(StartCheckXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StopTimeXName = System.Xml.Linq.XName.Get("StopTime", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (StartCheck, StopTime) + /// + /// + public virtual InputAlgorithmType StopTime { + get { + XElement x = this.GetElement(StopTimeXName); + return ((InputAlgorithmType)(x)); + } + set { + this.SetElement(StopTimeXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CheckWindowAlgorithmsType", "http://www.omg.org/spec/XTCE/20250214"); + + static CheckWindowAlgorithmsType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(StartCheckXName), new NamedContentModelEntity(StopTimeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(StartCheckXName, typeof(InputAlgorithmType)); + localElementDictionary.Add(StopTimeXName, typeof(InputAlgorithmType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A possible set of verifiers that all must be true for the command be considered completed. Consider that some may not participate due to argument value restriction, if that element is used. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?, (ReturnParmRef)?) + /// + /// + public partial class CompleteVerifierType : global::Omg.Xtce.CommandVerifierType, IXMetaData { + + public static explicit operator CompleteVerifierType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// A possible set of verifiers that all must be true for the command be considered completed. Consider that some may not participate due to argument value restriction, if that element is used. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?, (ReturnParmRef)?) + /// + /// + public CompleteVerifierType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonListXName = System.Xml.Linq.XName.Get("ComparisonList", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContainerRefXName = System.Xml.Linq.XName.Get("ContainerRef", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterValueChangeXName = System.Xml.Linq.XName.Get("ParameterValueChange", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlgorithmXName = System.Xml.Linq.XName.Get("CustomAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BooleanExpressionXName = System.Xml.Linq.XName.Get("BooleanExpression", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonXName = System.Xml.Linq.XName.Get("Comparison", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CheckWindowXName = System.Xml.Linq.XName.Get("CheckWindow", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CheckWindowAlgorithmsXName = System.Xml.Linq.XName.Get("CheckWindowAlgorithms", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ArgumentRestrictionListXName = System.Xml.Linq.XName.Get("ArgumentRestrictionList", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ReturnParmRefXName = System.Xml.Linq.XName.Get("ReturnParmRef", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?, (ReturnParmRef)?) + /// + /// + public virtual ParameterRefType ReturnParmRef { + get { + XElement x = this.GetElement(ReturnParmRefXName); + if ((x == null)) { + return null; + } + return ((ParameterRefType)(x)); + } + set { + this.SetElement(ReturnParmRefXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CompleteVerifierType", "http://www.omg.org/spec/XTCE/20250214"); + + static CompleteVerifierType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(ComparisonListXName), new NamedContentModelEntity(ContainerRefXName), new NamedContentModelEntity(ParameterValueChangeXName), new NamedContentModelEntity(CustomAlgorithmXName), new NamedContentModelEntity(BooleanExpressionXName), new NamedContentModelEntity(ComparisonXName)), new ChoiceContentModelEntity(new NamedContentModelEntity(CheckWindowXName), new NamedContentModelEntity(CheckWindowAlgorithmsXName)), new NamedContentModelEntity(ArgumentRestrictionListXName), new SequenceContentModelEntity(new NamedContentModelEntity(ReturnParmRefXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(ComparisonListXName, typeof(ComparisonListType)); + localElementDictionary.Add(ContainerRefXName, typeof(ContainerRefType)); + localElementDictionary.Add(ParameterValueChangeXName, typeof(ParameterValueChangeType)); + localElementDictionary.Add(CustomAlgorithmXName, typeof(InputAlgorithmType)); + localElementDictionary.Add(BooleanExpressionXName, typeof(BooleanExpressionType)); + localElementDictionary.Add(ComparisonXName, typeof(ComparisonType)); + localElementDictionary.Add(CheckWindowXName, typeof(CheckWindowType)); + localElementDictionary.Add(CheckWindowAlgorithmsXName, typeof(CheckWindowAlgorithmsType)); + localElementDictionary.Add(ArgumentRestrictionListXName, typeof(ArgumentAssignmentListType)); + localElementDictionary.Add(ReturnParmRefXName, typeof(ParameterRefType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a significance level for a MetaCommand definition where the significance level depends on matching a context value. See ContextMatchType and SignificanceType. + /// + /// + /// Regular expression: (ContextMatch, Significance) + /// + /// + public partial class ContextSignificanceType : XTypedElement, IXMetaData { + + public static explicit operator ContextSignificanceType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a significance level for a MetaCommand definition where the significance level depends on matching a context value. See ContextMatchType and SignificanceType. + /// + /// + /// Regular expression: (ContextMatch, Significance) + /// + /// + public ContextSignificanceType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContextMatchXName = System.Xml.Linq.XName.Get("ContextMatch", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Describe the context matching value and source that will enable the Significance listed in the Significance element. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ContextMatch, Significance) + /// + /// + public virtual ContextMatchType ContextMatch { + get { + XElement x = this.GetElement(ContextMatchXName); + return ((ContextMatchType)(x)); + } + set { + this.SetElement(ContextMatchXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SignificanceXName = System.Xml.Linq.XName.Get("Significance", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Describe the signficance of this MetaCommand definition. See SignificanceType. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ContextMatch, Significance) + /// + /// + public virtual SignificanceType Significance { + get { + XElement x = this.GetElement(SignificanceXName); + return ((SignificanceType)(x)); + } + set { + this.SetElement(SignificanceXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ContextSignificanceType", "http://www.omg.org/spec/XTCE/20250214"); + + static ContextSignificanceType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ContextMatchXName), new NamedContentModelEntity(SignificanceXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ContextMatchXName, typeof(ContextMatchType)); + localElementDictionary.Add(SignificanceXName, typeof(SignificanceType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an ordered list of ContextSignificance elements where the significance on the first context match to test true is used as the significance of the MetaCommand. If there is a DefaultSignificance, it is overrideen by the matching context. See ContextSignificantType and MetaCommandType. + /// + /// + /// Regular expression: (ContextSignificance+) + /// + /// + public partial class ContextSignificanceListType : XTypedElement, IXMetaData { + + public static explicit operator ContextSignificanceListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an ordered list of ContextSignificance elements where the significance on the first context match to test true is used as the significance of the MetaCommand. If there is a DefaultSignificance, it is overrideen by the matching context. See ContextSignificantType and MetaCommandType. + /// + /// + /// Regular expression: (ContextSignificance+) + /// + /// + public ContextSignificanceListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContextSignificanceXName = System.Xml.Linq.XName.Get("ContextSignificance", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ContextSignificanceField; + + /// + /// + /// A Context contains a different significance definition and a context match. The match takes precedence over any default significance when the first in the overall list evaluates to true. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (ContextSignificance+) + /// + /// + public virtual IList ContextSignificance { + get { + if ((this.ContextSignificanceField == null)) { + this.ContextSignificanceField = new XTypedList(this, LinqToXsdTypeManager.Instance, ContextSignificanceXName); + } + return this.ContextSignificanceField; + } + set { + if ((value == null)) { + this.ContextSignificanceField = null; + } + else { + if ((this.ContextSignificanceField == null)) { + this.ContextSignificanceField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ContextSignificanceXName); + } + else { + XTypedServices.SetList(this.ContextSignificanceField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ContextSignificanceListType", "http://www.omg.org/spec/XTCE/20250214"); + + static ContextSignificanceListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ContextSignificanceXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ContextSignificanceXName, typeof(ContextSignificanceType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A verifier that indicates that the command is being executed. An optional Element indicates how far along the command has progressed either as a fixed value or an (possibly scaled) ParameterInstance value. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?, (PercentComplete)?) + /// + /// + public partial class ExecutionVerifierType : global::Omg.Xtce.CommandVerifierType, IXMetaData { + + public static explicit operator ExecutionVerifierType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// A verifier that indicates that the command is being executed. An optional Element indicates how far along the command has progressed either as a fixed value or an (possibly scaled) ParameterInstance value. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?, (PercentComplete)?) + /// + /// + public ExecutionVerifierType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonListXName = System.Xml.Linq.XName.Get("ComparisonList", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContainerRefXName = System.Xml.Linq.XName.Get("ContainerRef", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterValueChangeXName = System.Xml.Linq.XName.Get("ParameterValueChange", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlgorithmXName = System.Xml.Linq.XName.Get("CustomAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BooleanExpressionXName = System.Xml.Linq.XName.Get("BooleanExpression", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonXName = System.Xml.Linq.XName.Get("Comparison", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CheckWindowXName = System.Xml.Linq.XName.Get("CheckWindow", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CheckWindowAlgorithmsXName = System.Xml.Linq.XName.Get("CheckWindowAlgorithms", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ArgumentRestrictionListXName = System.Xml.Linq.XName.Get("ArgumentRestrictionList", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName PercentCompleteXName = System.Xml.Linq.XName.Get("PercentComplete", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?, (PercentComplete)?) + /// + /// + public virtual PercentCompleteType PercentComplete { + get { + XElement x = this.GetElement(PercentCompleteXName); + if ((x == null)) { + return null; + } + return ((PercentCompleteType)(x)); + } + set { + this.SetElement(PercentCompleteXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ExecutionVerifierType", "http://www.omg.org/spec/XTCE/20250214"); + + static ExecutionVerifierType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(ComparisonListXName), new NamedContentModelEntity(ContainerRefXName), new NamedContentModelEntity(ParameterValueChangeXName), new NamedContentModelEntity(CustomAlgorithmXName), new NamedContentModelEntity(BooleanExpressionXName), new NamedContentModelEntity(ComparisonXName)), new ChoiceContentModelEntity(new NamedContentModelEntity(CheckWindowXName), new NamedContentModelEntity(CheckWindowAlgorithmsXName)), new NamedContentModelEntity(ArgumentRestrictionListXName), new SequenceContentModelEntity(new NamedContentModelEntity(PercentCompleteXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(ComparisonListXName, typeof(ComparisonListType)); + localElementDictionary.Add(ContainerRefXName, typeof(ContainerRefType)); + localElementDictionary.Add(ParameterValueChangeXName, typeof(ParameterValueChangeType)); + localElementDictionary.Add(CustomAlgorithmXName, typeof(InputAlgorithmType)); + localElementDictionary.Add(BooleanExpressionXName, typeof(BooleanExpressionType)); + localElementDictionary.Add(ComparisonXName, typeof(ComparisonType)); + localElementDictionary.Add(CheckWindowXName, typeof(CheckWindowType)); + localElementDictionary.Add(CheckWindowAlgorithmsXName, typeof(CheckWindowAlgorithmsType)); + localElementDictionary.Add(ArgumentRestrictionListXName, typeof(ArgumentAssignmentListType)); + localElementDictionary.Add(PercentCompleteXName, typeof(PercentCompleteType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// When true, indicates that the command failed. timeToWait is how long to wait for the FailedVerifier to test true. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?, (ReturnParmRef)?) + /// + /// + public partial class FailedVerifierType : global::Omg.Xtce.CommandVerifierType, IXMetaData { + + public static explicit operator FailedVerifierType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// When true, indicates that the command failed. timeToWait is how long to wait for the FailedVerifier to test true. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?, (ReturnParmRef)?) + /// + /// + public FailedVerifierType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonListXName = System.Xml.Linq.XName.Get("ComparisonList", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContainerRefXName = System.Xml.Linq.XName.Get("ContainerRef", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterValueChangeXName = System.Xml.Linq.XName.Get("ParameterValueChange", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlgorithmXName = System.Xml.Linq.XName.Get("CustomAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BooleanExpressionXName = System.Xml.Linq.XName.Get("BooleanExpression", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonXName = System.Xml.Linq.XName.Get("Comparison", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CheckWindowXName = System.Xml.Linq.XName.Get("CheckWindow", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CheckWindowAlgorithmsXName = System.Xml.Linq.XName.Get("CheckWindowAlgorithms", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ArgumentRestrictionListXName = System.Xml.Linq.XName.Get("ArgumentRestrictionList", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ReturnParmRefXName = System.Xml.Linq.XName.Get("ReturnParmRef", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?, (ReturnParmRef)?) + /// + /// + public virtual ParameterRefType ReturnParmRef { + get { + XElement x = this.GetElement(ReturnParmRefXName); + if ((x == null)) { + return null; + } + return ((ParameterRefType)(x)); + } + set { + this.SetElement(ReturnParmRefXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("FailedVerifierType", "http://www.omg.org/spec/XTCE/20250214"); + + static FailedVerifierType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(ComparisonListXName), new NamedContentModelEntity(ContainerRefXName), new NamedContentModelEntity(ParameterValueChangeXName), new NamedContentModelEntity(CustomAlgorithmXName), new NamedContentModelEntity(BooleanExpressionXName), new NamedContentModelEntity(ComparisonXName)), new ChoiceContentModelEntity(new NamedContentModelEntity(CheckWindowXName), new NamedContentModelEntity(CheckWindowAlgorithmsXName)), new NamedContentModelEntity(ArgumentRestrictionListXName), new SequenceContentModelEntity(new NamedContentModelEntity(ReturnParmRefXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(ComparisonListXName, typeof(ComparisonListType)); + localElementDictionary.Add(ContainerRefXName, typeof(ContainerRefType)); + localElementDictionary.Add(ParameterValueChangeXName, typeof(ParameterValueChangeType)); + localElementDictionary.Add(CustomAlgorithmXName, typeof(InputAlgorithmType)); + localElementDictionary.Add(BooleanExpressionXName, typeof(BooleanExpressionType)); + localElementDictionary.Add(ComparisonXName, typeof(ComparisonType)); + localElementDictionary.Add(CheckWindowXName, typeof(CheckWindowType)); + localElementDictionary.Add(CheckWindowAlgorithmsXName, typeof(CheckWindowAlgorithmsType)); + localElementDictionary.Add(ArgumentRestrictionListXName, typeof(ArgumentAssignmentListType)); + localElementDictionary.Add(ReturnParmRefXName, typeof(ParameterRefType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a type of constraint on the next command, rather than this command. Interlocks apply only to the next command. An interlock will block successive commands until this command has reached a certain stage of verifier. Interlocks are scoped to a SpaceSystem basis: they by default apply to the SpaceSystem the MetaCommand is defined in but this may be overridden. See MetaCommandType and VerifierSetType. + /// + /// + public partial class InterlockType : XTypedElement, IXMetaData { + + public static explicit operator InterlockType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a type of constraint on the next command, rather than this command. Interlocks apply only to the next command. An interlock will block successive commands until this command has reached a certain stage of verifier. Interlocks are scoped to a SpaceSystem basis: they by default apply to the SpaceSystem the MetaCommand is defined in but this may be overridden. See MetaCommandType and VerifierSetType. + /// + /// + public InterlockType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName scopeToSpaceSystemXName = System.Xml.Linq.XName.Get("scopeToSpaceSystem", ""); + + /// + /// + /// The name of a SpaceSystem this Interlock applies to. By default, it only applies to the SpaceSystem that contains this MetaCommand. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string scopeToSpaceSystem { + get { + XAttribute x = this.Attribute(scopeToSpaceSystemXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(scopeToSpaceSystemXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName verificationToWaitForXName = System.Xml.Linq.XName.Get("verificationToWaitFor", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.VerifierEnumerationType verificationToWaitForDefaultValue = Omg.Xtce.VerifierEnumerationType.complete; + + /// + /// + /// The verification stage of the command that releases the interlock, with the default being complete. + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.VerifierEnumerationType verificationToWaitFor { + get { + XAttribute x = this.Attribute(verificationToWaitForXName); + if ((x == null)) { + return verificationToWaitForDefaultValue; + } + return ((Omg.Xtce.VerifierEnumerationType)(Enum.Parse(typeof(Omg.Xtce.VerifierEnumerationType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.VerifierEnumerationTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(verificationToWaitForXName, value.ToString(), "verificationToWaitFor", global::Omg.Xtce.VerifierEnumerationTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName verificationProgressPercentageXName = System.Xml.Linq.XName.Get("verificationProgressPercentage", ""); + + /// + /// + /// Only applies when the verificationToWaitFor attribute is 'queued' or 'executing'. + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Double? verificationProgressPercentage { + get { + XAttribute x = this.Attribute(verificationProgressPercentageXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + set { + this.SetAttribute(verificationProgressPercentageXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName suspendableXName = System.Xml.Linq.XName.Get("suspendable", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool suspendableDefaultValue = System.Xml.XmlConvert.ToBoolean("false"); + + /// + /// + /// A flag that indicates that under special circumstances, this Interlock can be suspended. + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool suspendable { + get { + XAttribute x = this.Attribute(suspendableXName); + if ((x == null)) { + return suspendableDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(suspendableXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("InterlockType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Sets a Parameter to a new value (either from a derivation or explicitly) after the command has been verified (all verifications have passed). + /// + /// + /// Value type must match Parameter type. + /// + /// + /// Regular expression: (Derivation | NewValue) + /// + /// + public partial class ParameterToSetType : global::Omg.Xtce.ParameterRefType, IXMetaData { + + public static explicit operator ParameterToSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Sets a Parameter to a new value (either from a derivation or explicitly) after the command has been verified (all verifications have passed). + /// + /// + /// Value type must match Parameter type. + /// + /// + /// Regular expression: (Derivation | NewValue) + /// + /// + public ParameterToSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DerivationXName = System.Xml.Linq.XName.Get("Derivation", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Specify a simple algorithm to use to set the target Parameter value. See ArgumentMathOperationType. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Derivation | NewValue) + /// + /// + public virtual ArgumentMathOperationType Derivation { + get { + XElement x = this.GetElement(DerivationXName); + if ((x == null)) { + return null; + } + return ((ArgumentMathOperationType)(x)); + } + set { + this.SetElement(DerivationXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName NewValueXName = System.Xml.Linq.XName.Get("NewValue", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Specify value as a string compliant with the XML schema (xs) type specified for each XTCE type: integer=xs:integer; float=xs:double; string=xs:string; boolean=xs:boolean; binary=xs:hexBinary; enum=xs:string from EnumerationList; relative time= xs:duration; absolute time=xs:dateTime. Supplied value must be within the ValidRange specified for the Parameter and appropriate for the type. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Derivation | NewValue) + /// + /// + public virtual string NewValue { + get { + XElement x = this.GetElement(NewValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetElement(NewValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + public ParameterToSetType(ArgumentMathOperationType Derivation) { + this.Derivation = Derivation; + } + + public ParameterToSetType(string NewValue) { + this.NewValue = NewValue; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName setOnVerificationXName = System.Xml.Linq.XName.Get("setOnVerification", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.VerifierEnumerationType setOnVerificationDefaultValue = Omg.Xtce.VerifierEnumerationType.complete; + + /// + /// + /// This attribute provides more specific control over when the Parameter value is set. By default, it is when the command have all verifications complete. See VerifierEnumerationType. + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.VerifierEnumerationType setOnVerification { + get { + XAttribute x = this.Attribute(setOnVerificationXName); + if ((x == null)) { + return setOnVerificationDefaultValue; + } + return ((Omg.Xtce.VerifierEnumerationType)(Enum.Parse(typeof(Omg.Xtce.VerifierEnumerationType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.VerifierEnumerationTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(setOnVerificationXName, value.ToString(), "setOnVerification", global::Omg.Xtce.VerifierEnumerationTypeValidator.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ParameterToSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static ParameterToSetType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(DerivationXName), new NamedContentModelEntity(NewValueXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(DerivationXName, typeof(ArgumentMathOperationType)); + localElementDictionary.Add(NewValueXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Parameters that are set with a new value after the command has been sent. Appended to the Base Command list + /// + /// + /// Regular expression: (ParameterToSet+) + /// + /// + public partial class ParameterToSetListType : XTypedElement, IXMetaData { + + public static explicit operator ParameterToSetListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Parameters that are set with a new value after the command has been sent. Appended to the Base Command list + /// + /// + /// Regular expression: (ParameterToSet+) + /// + /// + public ParameterToSetListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterToSetXName = System.Xml.Linq.XName.Get("ParameterToSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ParameterToSetField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (ParameterToSet+) + /// + /// + public virtual IList ParameterToSet { + get { + if ((this.ParameterToSetField == null)) { + this.ParameterToSetField = new XTypedList(this, LinqToXsdTypeManager.Instance, ParameterToSetXName); + } + return this.ParameterToSetField; + } + set { + if ((value == null)) { + this.ParameterToSetField = null; + } + else { + if ((this.ParameterToSetField == null)) { + this.ParameterToSetField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ParameterToSetXName); + } + else { + XTypedServices.SetList(this.ParameterToSetField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ParameterToSetListType", "http://www.omg.org/spec/XTCE/20250214"); + + static ParameterToSetListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ParameterToSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ParameterToSetXName, typeof(ParameterToSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Will suspend all Alarms associated with this Parameter for the given suspense time after the given verifier + /// + /// + public partial class ParameterToSuspendAlarmsOnType : global::Omg.Xtce.ParameterRefType, IXMetaData { + + public static explicit operator ParameterToSuspendAlarmsOnType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Will suspend all Alarms associated with this Parameter for the given suspense time after the given verifier + /// + /// + public ParameterToSuspendAlarmsOnType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName suspenseTimeXName = System.Xml.Linq.XName.Get("suspenseTime", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual System.TimeSpan suspenseTime { + get { + XAttribute x = this.Attribute(suspenseTimeXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Duration).Datatype); + } + set { + this.SetAttribute(suspenseTimeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Duration).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName verifierToTriggerOnXName = System.Xml.Linq.XName.Get("verifierToTriggerOn", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.VerifierEnumerationType verifierToTriggerOnDefaultValue = Omg.Xtce.VerifierEnumerationType.release; + + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.VerifierEnumerationType verifierToTriggerOn { + get { + XAttribute x = this.Attribute(verifierToTriggerOnXName); + if ((x == null)) { + return verifierToTriggerOnDefaultValue; + } + return ((Omg.Xtce.VerifierEnumerationType)(Enum.Parse(typeof(Omg.Xtce.VerifierEnumerationType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.VerifierEnumerationTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(verifierToTriggerOnXName, value.ToString(), "verifierToTriggerOn", global::Omg.Xtce.VerifierEnumerationTypeValidator.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ParameterToSuspendAlarmsOnType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Sometimes it is necessary to suspend alarms - particularly 'change' alarms for commands that will change the value of a Parameter + /// + /// + /// Regular expression: (ParameterToSuspendAlarmsOn+) + /// + /// + public partial class ParametersToSuspendAlarmsOnSetType : XTypedElement, IXMetaData { + + public static explicit operator ParametersToSuspendAlarmsOnSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Sometimes it is necessary to suspend alarms - particularly 'change' alarms for commands that will change the value of a Parameter + /// + /// + /// Regular expression: (ParameterToSuspendAlarmsOn+) + /// + /// + public ParametersToSuspendAlarmsOnSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterToSuspendAlarmsOnXName = System.Xml.Linq.XName.Get("ParameterToSuspendAlarmsOn", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ParameterToSuspendAlarmsOnField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (ParameterToSuspendAlarmsOn+) + /// + /// + public virtual IList ParameterToSuspendAlarmsOn { + get { + if ((this.ParameterToSuspendAlarmsOnField == null)) { + this.ParameterToSuspendAlarmsOnField = new XTypedList(this, LinqToXsdTypeManager.Instance, ParameterToSuspendAlarmsOnXName); + } + return this.ParameterToSuspendAlarmsOnField; + } + set { + if ((value == null)) { + this.ParameterToSuspendAlarmsOnField = null; + } + else { + if ((this.ParameterToSuspendAlarmsOnField == null)) { + this.ParameterToSuspendAlarmsOnField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ParameterToSuspendAlarmsOnXName); + } + else { + XTypedServices.SetList(this.ParameterToSuspendAlarmsOnField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ParametersToSuspendAlarmsOnSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static ParametersToSuspendAlarmsOnSetType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ParameterToSuspendAlarmsOnXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ParameterToSuspendAlarmsOnXName, typeof(ParameterToSuspendAlarmsOnType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A parameter change in value or specified delta change in value. + /// + /// + /// Regular expression: (ParameterRef, Change) + /// + /// + public partial class ParameterValueChangeType : XTypedElement, IXMetaData { + + public static explicit operator ParameterValueChangeType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// A parameter change in value or specified delta change in value. + /// + /// + /// Regular expression: (ParameterRef, Change) + /// + /// + public ParameterValueChangeType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterRefXName = System.Xml.Linq.XName.Get("ParameterRef", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ParameterRef, Change) + /// + /// + public virtual ParameterRefType ParameterRef { + get { + XElement x = this.GetElement(ParameterRefXName); + return ((ParameterRefType)(x)); + } + set { + this.SetElement(ParameterRefXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ChangeXName = System.Xml.Linq.XName.Get("Change", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ParameterRef, Change) + /// + /// + public virtual ChangeValueType Change { + get { + XElement x = this.GetElement(ChangeXName); + return ((ChangeValueType)(x)); + } + set { + this.SetElement(ChangeXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ParameterValueChangeType", "http://www.omg.org/spec/XTCE/20250214"); + + static ParameterValueChangeType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ParameterRefXName), new NamedContentModelEntity(ChangeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ParameterRefXName, typeof(ParameterRefType)); + localElementDictionary.Add(ChangeXName, typeof(ChangeValueType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A verifer that means the command is scheduled for execution by the destination. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?) + /// + /// + public partial class QueuedVerifierType : global::Omg.Xtce.CommandVerifierType, IXMetaData { + + public static explicit operator QueuedVerifierType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// A verifer that means the command is scheduled for execution by the destination. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?) + /// + /// + public QueuedVerifierType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonListXName = System.Xml.Linq.XName.Get("ComparisonList", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContainerRefXName = System.Xml.Linq.XName.Get("ContainerRef", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterValueChangeXName = System.Xml.Linq.XName.Get("ParameterValueChange", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlgorithmXName = System.Xml.Linq.XName.Get("CustomAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BooleanExpressionXName = System.Xml.Linq.XName.Get("BooleanExpression", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonXName = System.Xml.Linq.XName.Get("Comparison", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CheckWindowXName = System.Xml.Linq.XName.Get("CheckWindow", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CheckWindowAlgorithmsXName = System.Xml.Linq.XName.Get("CheckWindowAlgorithms", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ArgumentRestrictionListXName = System.Xml.Linq.XName.Get("ArgumentRestrictionList", "http://www.omg.org/spec/XTCE/20250214"); + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("QueuedVerifierType", "http://www.omg.org/spec/XTCE/20250214"); + + static QueuedVerifierType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(ComparisonListXName), new NamedContentModelEntity(ContainerRefXName), new NamedContentModelEntity(ParameterValueChangeXName), new NamedContentModelEntity(CustomAlgorithmXName), new NamedContentModelEntity(BooleanExpressionXName), new NamedContentModelEntity(ComparisonXName)), new ChoiceContentModelEntity(new NamedContentModelEntity(CheckWindowXName), new NamedContentModelEntity(CheckWindowAlgorithmsXName)), new NamedContentModelEntity(ArgumentRestrictionListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(ComparisonListXName, typeof(ComparisonListType)); + localElementDictionary.Add(ContainerRefXName, typeof(ContainerRefType)); + localElementDictionary.Add(ParameterValueChangeXName, typeof(ParameterValueChangeType)); + localElementDictionary.Add(CustomAlgorithmXName, typeof(InputAlgorithmType)); + localElementDictionary.Add(BooleanExpressionXName, typeof(BooleanExpressionType)); + localElementDictionary.Add(ComparisonXName, typeof(ComparisonType)); + localElementDictionary.Add(CheckWindowXName, typeof(CheckWindowType)); + localElementDictionary.Add(CheckWindowAlgorithmsXName, typeof(CheckWindowAlgorithmsType)); + localElementDictionary.Add(ArgumentRestrictionListXName, typeof(ArgumentAssignmentListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A verifier that simply means the destination has received the command. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?) + /// + /// + public partial class ReceivedVerifierType : global::Omg.Xtce.CommandVerifierType, IXMetaData { + + public static explicit operator ReceivedVerifierType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// A verifier that simply means the destination has received the command. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?) + /// + /// + public ReceivedVerifierType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonListXName = System.Xml.Linq.XName.Get("ComparisonList", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContainerRefXName = System.Xml.Linq.XName.Get("ContainerRef", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterValueChangeXName = System.Xml.Linq.XName.Get("ParameterValueChange", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlgorithmXName = System.Xml.Linq.XName.Get("CustomAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BooleanExpressionXName = System.Xml.Linq.XName.Get("BooleanExpression", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonXName = System.Xml.Linq.XName.Get("Comparison", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CheckWindowXName = System.Xml.Linq.XName.Get("CheckWindow", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CheckWindowAlgorithmsXName = System.Xml.Linq.XName.Get("CheckWindowAlgorithms", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ArgumentRestrictionListXName = System.Xml.Linq.XName.Get("ArgumentRestrictionList", "http://www.omg.org/spec/XTCE/20250214"); + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ReceivedVerifierType", "http://www.omg.org/spec/XTCE/20250214"); + + static ReceivedVerifierType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(ComparisonListXName), new NamedContentModelEntity(ContainerRefXName), new NamedContentModelEntity(ParameterValueChangeXName), new NamedContentModelEntity(CustomAlgorithmXName), new NamedContentModelEntity(BooleanExpressionXName), new NamedContentModelEntity(ComparisonXName)), new ChoiceContentModelEntity(new NamedContentModelEntity(CheckWindowXName), new NamedContentModelEntity(CheckWindowAlgorithmsXName)), new NamedContentModelEntity(ArgumentRestrictionListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(ComparisonListXName, typeof(ComparisonListType)); + localElementDictionary.Add(ContainerRefXName, typeof(ContainerRefType)); + localElementDictionary.Add(ParameterValueChangeXName, typeof(ParameterValueChangeType)); + localElementDictionary.Add(CustomAlgorithmXName, typeof(InputAlgorithmType)); + localElementDictionary.Add(BooleanExpressionXName, typeof(BooleanExpressionType)); + localElementDictionary.Add(ComparisonXName, typeof(ComparisonType)); + localElementDictionary.Add(CheckWindowXName, typeof(CheckWindowType)); + localElementDictionary.Add(CheckWindowAlgorithmsXName, typeof(CheckWindowAlgorithmsType)); + localElementDictionary.Add(ArgumentRestrictionListXName, typeof(ArgumentAssignmentListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Sent from range means the command has been transmitted to the spacecraft by the network that connects the ground system to the spacecraft. Typically, this verifier would come from something other than the spacecraft, such as a modem or front end processor. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?) + /// + /// + public partial class SentFromRangeVerifierType : global::Omg.Xtce.CommandVerifierType, IXMetaData { + + public static explicit operator SentFromRangeVerifierType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Sent from range means the command has been transmitted to the spacecraft by the network that connects the ground system to the spacecraft. Typically, this verifier would come from something other than the spacecraft, such as a modem or front end processor. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?) + /// + /// + public SentFromRangeVerifierType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonListXName = System.Xml.Linq.XName.Get("ComparisonList", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContainerRefXName = System.Xml.Linq.XName.Get("ContainerRef", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterValueChangeXName = System.Xml.Linq.XName.Get("ParameterValueChange", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlgorithmXName = System.Xml.Linq.XName.Get("CustomAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BooleanExpressionXName = System.Xml.Linq.XName.Get("BooleanExpression", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonXName = System.Xml.Linq.XName.Get("Comparison", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CheckWindowXName = System.Xml.Linq.XName.Get("CheckWindow", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CheckWindowAlgorithmsXName = System.Xml.Linq.XName.Get("CheckWindowAlgorithms", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ArgumentRestrictionListXName = System.Xml.Linq.XName.Get("ArgumentRestrictionList", "http://www.omg.org/spec/XTCE/20250214"); + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SentFromRangeVerifierType", "http://www.omg.org/spec/XTCE/20250214"); + + static SentFromRangeVerifierType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(ComparisonListXName), new NamedContentModelEntity(ContainerRefXName), new NamedContentModelEntity(ParameterValueChangeXName), new NamedContentModelEntity(CustomAlgorithmXName), new NamedContentModelEntity(BooleanExpressionXName), new NamedContentModelEntity(ComparisonXName)), new ChoiceContentModelEntity(new NamedContentModelEntity(CheckWindowXName), new NamedContentModelEntity(CheckWindowAlgorithmsXName)), new NamedContentModelEntity(ArgumentRestrictionListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(ComparisonListXName, typeof(ComparisonListType)); + localElementDictionary.Add(ContainerRefXName, typeof(ContainerRefType)); + localElementDictionary.Add(ParameterValueChangeXName, typeof(ParameterValueChangeType)); + localElementDictionary.Add(CustomAlgorithmXName, typeof(InputAlgorithmType)); + localElementDictionary.Add(BooleanExpressionXName, typeof(BooleanExpressionType)); + localElementDictionary.Add(ComparisonXName, typeof(ComparisonType)); + localElementDictionary.Add(CheckWindowXName, typeof(CheckWindowType)); + localElementDictionary.Add(CheckWindowAlgorithmsXName, typeof(CheckWindowAlgorithmsType)); + localElementDictionary.Add(ArgumentRestrictionListXName, typeof(ArgumentAssignmentListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Time units the time association decimal value is in. + /// + /// + public enum TimeAssociationUnitType { + + seconds, + + milliseconds, + + microseconds, + + nanoseconds, + + picoseconds, + + minutes, + + hours, + + days, + + months, + + years, + } + + /// + /// + /// Time units the time association decimal value is in. + /// + /// + public sealed class TimeAssociationUnitTypeValidator { + + private TimeAssociationUnitTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "seconds", + "milliseconds", + "microseconds", + "nanoseconds", + "picoseconds", + "minutes", + "hours", + "days", + "months", + "years"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Transferred to range means the command has been received to the network that connects the ground system to the spacecraft. Typically, this verifier would come from something other than the spacecraft, such as a modem or front end processor. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?) + /// + /// + public partial class TransferredToRangeVerifierType : global::Omg.Xtce.CommandVerifierType, IXMetaData { + + public static explicit operator TransferredToRangeVerifierType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Transferred to range means the command has been received to the network that connects the ground system to the spacecraft. Typically, this verifier would come from something other than the spacecraft, such as a modem or front end processor. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ComparisonList | ContainerRef | ParameterValueChange | CustomAlgorithm | BooleanExpression | Comparison), (CheckWindow | CheckWindowAlgorithms), ArgumentRestrictionList?) + /// + /// + public TransferredToRangeVerifierType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonListXName = System.Xml.Linq.XName.Get("ComparisonList", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContainerRefXName = System.Xml.Linq.XName.Get("ContainerRef", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterValueChangeXName = System.Xml.Linq.XName.Get("ParameterValueChange", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlgorithmXName = System.Xml.Linq.XName.Get("CustomAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BooleanExpressionXName = System.Xml.Linq.XName.Get("BooleanExpression", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonXName = System.Xml.Linq.XName.Get("Comparison", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CheckWindowXName = System.Xml.Linq.XName.Get("CheckWindow", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CheckWindowAlgorithmsXName = System.Xml.Linq.XName.Get("CheckWindowAlgorithms", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ArgumentRestrictionListXName = System.Xml.Linq.XName.Get("ArgumentRestrictionList", "http://www.omg.org/spec/XTCE/20250214"); + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("TransferredToRangeVerifierType", "http://www.omg.org/spec/XTCE/20250214"); + + static TransferredToRangeVerifierType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(ComparisonListXName), new NamedContentModelEntity(ContainerRefXName), new NamedContentModelEntity(ParameterValueChangeXName), new NamedContentModelEntity(CustomAlgorithmXName), new NamedContentModelEntity(BooleanExpressionXName), new NamedContentModelEntity(ComparisonXName)), new ChoiceContentModelEntity(new NamedContentModelEntity(CheckWindowXName), new NamedContentModelEntity(CheckWindowAlgorithmsXName)), new NamedContentModelEntity(ArgumentRestrictionListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(ComparisonListXName, typeof(ComparisonListType)); + localElementDictionary.Add(ContainerRefXName, typeof(ContainerRefType)); + localElementDictionary.Add(ParameterValueChangeXName, typeof(ParameterValueChangeType)); + localElementDictionary.Add(CustomAlgorithmXName, typeof(InputAlgorithmType)); + localElementDictionary.Add(BooleanExpressionXName, typeof(BooleanExpressionType)); + localElementDictionary.Add(ComparisonXName, typeof(ComparisonType)); + localElementDictionary.Add(CheckWindowXName, typeof(CheckWindowType)); + localElementDictionary.Add(CheckWindowAlgorithmsXName, typeof(CheckWindowAlgorithmsType)); + localElementDictionary.Add(ArgumentRestrictionListXName, typeof(ArgumentAssignmentListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A CommandTransmission constraint is used to check that the command can be run in the current operating mode and may block the transmission of the command if the constraint condition is true. + /// + /// + /// Regular expression: ((Comparison | ComparisonList | BooleanExpression | CustomAlgorithm), ArgumentRestrictionList?) + /// + /// + public partial class TransmissionConstraintType : global::Omg.Xtce.MatchCriteriaType, IXMetaData { + + public static explicit operator TransmissionConstraintType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// A CommandTransmission constraint is used to check that the command can be run in the current operating mode and may block the transmission of the command if the constraint condition is true. + /// + /// + /// Regular expression: ((Comparison | ComparisonList | BooleanExpression | CustomAlgorithm), ArgumentRestrictionList?) + /// + /// + public TransmissionConstraintType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonXName = System.Xml.Linq.XName.Get("Comparison", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonListXName = System.Xml.Linq.XName.Get("ComparisonList", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BooleanExpressionXName = System.Xml.Linq.XName.Get("BooleanExpression", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlgorithmXName = System.Xml.Linq.XName.Get("CustomAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ArgumentRestrictionListXName = System.Xml.Linq.XName.Get("ArgumentRestrictionList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Optional list of argument values that manifest this pre-transmission constraint parameter value check. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: ((Comparison | ComparisonList | BooleanExpression | CustomAlgorithm), ArgumentRestrictionList?) + /// + /// + public virtual ArgumentAssignmentListType ArgumentRestrictionList { + get { + XElement x = this.GetElement(ArgumentRestrictionListXName); + if ((x == null)) { + return null; + } + return ((ArgumentAssignmentListType)(x)); + } + set { + this.SetElement(ArgumentRestrictionListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName timeOutXName = System.Xml.Linq.XName.Get("timeOut", ""); + + /// + /// + /// Pause during timeOut, fail when the timeout passes + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.TimeSpan? timeOut { + get { + XAttribute x = this.Attribute(timeOutXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Duration).Datatype); + } + set { + this.SetAttribute(timeOutXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Duration).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName suspendableXName = System.Xml.Linq.XName.Get("suspendable", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool suspendableDefaultValue = System.Xml.XmlConvert.ToBoolean("false"); + + /// + /// + /// Indicates whether the constraints for a Command may be suspended. + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool suspendable { + get { + XAttribute x = this.Attribute(suspendableXName); + if ((x == null)) { + return suspendableDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(suspendableXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("TransmissionConstraintType", "http://www.omg.org/spec/XTCE/20250214"); + + static TransmissionConstraintType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(ComparisonXName), new NamedContentModelEntity(ComparisonListXName), new NamedContentModelEntity(BooleanExpressionXName), new NamedContentModelEntity(CustomAlgorithmXName)), new NamedContentModelEntity(ArgumentRestrictionListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ComparisonXName, typeof(ComparisonType)); + localElementDictionary.Add(ComparisonListXName, typeof(ComparisonListType)); + localElementDictionary.Add(BooleanExpressionXName, typeof(BooleanExpressionType)); + localElementDictionary.Add(CustomAlgorithmXName, typeof(InputAlgorithmType)); + localElementDictionary.Add(ArgumentRestrictionListXName, typeof(ArgumentAssignmentListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Appended to the TramsmissionConstraint List of the base command. Constraints are checked in order. + /// + /// + /// Regular expression: (TransmissionConstraint+) + /// + /// + public partial class TransmissionConstraintListType : XTypedElement, IXMetaData { + + public static explicit operator TransmissionConstraintListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Appended to the TramsmissionConstraint List of the base command. Constraints are checked in order. + /// + /// + /// Regular expression: (TransmissionConstraint+) + /// + /// + public TransmissionConstraintListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TransmissionConstraintXName = System.Xml.Linq.XName.Get("TransmissionConstraint", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList TransmissionConstraintField; + + /// + /// + /// A constraint that potentially blocks transmission of this command based on parameter values for all instances or optionally limited to only when specified argument values are used in the command. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (TransmissionConstraint+) + /// + /// + public virtual IList TransmissionConstraint { + get { + if ((this.TransmissionConstraintField == null)) { + this.TransmissionConstraintField = new XTypedList(this, LinqToXsdTypeManager.Instance, TransmissionConstraintXName); + } + return this.TransmissionConstraintField; + } + set { + if ((value == null)) { + this.TransmissionConstraintField = null; + } + else { + if ((this.TransmissionConstraintField == null)) { + this.TransmissionConstraintField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, TransmissionConstraintXName); + } + else { + XTypedServices.SetList(this.TransmissionConstraintField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("TransmissionConstraintListType", "http://www.omg.org/spec/XTCE/20250214"); + + static TransmissionConstraintListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(TransmissionConstraintXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(TransmissionConstraintXName, typeof(TransmissionConstraintType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// An enumerated list of verifier types + /// + /// + public enum VerifierEnumerationType { + + release, + + transferredToRange, + + sentFromRange, + + received, + + accepted, + + queued, + + executing, + + complete, + + failed, + } + + /// + /// + /// An enumerated list of verifier types + /// + /// + public sealed class VerifierEnumerationTypeValidator { + + private VerifierEnumerationTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "release", + "transferredToRange", + "sentFromRange", + "received", + "accepted", + "queued", + "executing", + "complete", + "failed"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Describe a collection of unordered verifiers. A command verifier is a conditional check on the telemetry from a SpaceSystem that that provides positive indication on the processing state of a command. There are eight different verifiers each associated with different states in command processing: TransferredToRange, TransferredFromRange, Received, Accepted, Queued, Execution, Complete, and Failed. There may be multiple "complete" and "execution" verifiers. If the MetaCommand is part of an inheritance relation (BaseMetaCommand), the "complete" and "execution" verifier sets are appended to any defined in the parent MetaCommand. All others will override a verifier defined in a BaseMetaCommand. Duplicate verifiers in the list of CompleteVerifiers and ExecutionVerifiers before and after appending to the verifiers in BaseMetaCommand should be avoided. See MetaCommandType and BaseMetaCommandType for additional information. + /// + /// + /// Regular expression: (TransferredToRangeVerifier?, SentFromRangeVerifier?, ReceivedVerifier?, AcceptedVerifier?, QueuedVerifier?, ExecutionVerifier*, CompleteVerifier*, FailedVerifier?) + /// + /// + public partial class VerifierSetType : XTypedElement, IXMetaData { + + public static explicit operator VerifierSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a collection of unordered verifiers. A command verifier is a conditional check on the telemetry from a SpaceSystem that that provides positive indication on the processing state of a command. There are eight different verifiers each associated with different states in command processing: TransferredToRange, TransferredFromRange, Received, Accepted, Queued, Execution, Complete, and Failed. There may be multiple "complete" and "execution" verifiers. If the MetaCommand is part of an inheritance relation (BaseMetaCommand), the "complete" and "execution" verifier sets are appended to any defined in the parent MetaCommand. All others will override a verifier defined in a BaseMetaCommand. Duplicate verifiers in the list of CompleteVerifiers and ExecutionVerifiers before and after appending to the verifiers in BaseMetaCommand should be avoided. See MetaCommandType and BaseMetaCommandType for additional information. + /// + /// + /// Regular expression: (TransferredToRangeVerifier?, SentFromRangeVerifier?, ReceivedVerifier?, AcceptedVerifier?, QueuedVerifier?, ExecutionVerifier*, CompleteVerifier*, FailedVerifier?) + /// + /// + public VerifierSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TransferredToRangeVerifierXName = System.Xml.Linq.XName.Get("TransferredToRangeVerifier", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Transferred to range means the command has been received to the network that connects the ground system to the spacecraft. Typically, this verifier would come from something other than the spacecraft, such as a modem or front end processor. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (TransferredToRangeVerifier?, SentFromRangeVerifier?, ReceivedVerifier?, AcceptedVerifier?, QueuedVerifier?, ExecutionVerifier*, CompleteVerifier*, FailedVerifier?) + /// + /// + public virtual TransferredToRangeVerifierType TransferredToRangeVerifier { + get { + XElement x = this.GetElement(TransferredToRangeVerifierXName); + if ((x == null)) { + return null; + } + return ((TransferredToRangeVerifierType)(x)); + } + set { + this.SetElement(TransferredToRangeVerifierXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SentFromRangeVerifierXName = System.Xml.Linq.XName.Get("SentFromRangeVerifier", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Sent from range means the command has been transmitted to the spacecraft by the network that connects the ground system to the spacecraft. Typically, this verifier would come from something other than the spacecraft, such as a modem or front end processor. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (TransferredToRangeVerifier?, SentFromRangeVerifier?, ReceivedVerifier?, AcceptedVerifier?, QueuedVerifier?, ExecutionVerifier*, CompleteVerifier*, FailedVerifier?) + /// + /// + public virtual SentFromRangeVerifierType SentFromRangeVerifier { + get { + XElement x = this.GetElement(SentFromRangeVerifierXName); + if ((x == null)) { + return null; + } + return ((SentFromRangeVerifierType)(x)); + } + set { + this.SetElement(SentFromRangeVerifierXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ReceivedVerifierXName = System.Xml.Linq.XName.Get("ReceivedVerifier", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// A verifier that simply means the destination has received the command. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (TransferredToRangeVerifier?, SentFromRangeVerifier?, ReceivedVerifier?, AcceptedVerifier?, QueuedVerifier?, ExecutionVerifier*, CompleteVerifier*, FailedVerifier?) + /// + /// + public virtual ReceivedVerifierType ReceivedVerifier { + get { + XElement x = this.GetElement(ReceivedVerifierXName); + if ((x == null)) { + return null; + } + return ((ReceivedVerifierType)(x)); + } + set { + this.SetElement(ReceivedVerifierXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AcceptedVerifierXName = System.Xml.Linq.XName.Get("AcceptedVerifier", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// A verifier that means the destination has accepted the command. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (TransferredToRangeVerifier?, SentFromRangeVerifier?, ReceivedVerifier?, AcceptedVerifier?, QueuedVerifier?, ExecutionVerifier*, CompleteVerifier*, FailedVerifier?) + /// + /// + public virtual AcceptedVerifierType AcceptedVerifier { + get { + XElement x = this.GetElement(AcceptedVerifierXName); + if ((x == null)) { + return null; + } + return ((AcceptedVerifierType)(x)); + } + set { + this.SetElement(AcceptedVerifierXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName QueuedVerifierXName = System.Xml.Linq.XName.Get("QueuedVerifier", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// A verifer that means the command is scheduled for execution by the destination. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (TransferredToRangeVerifier?, SentFromRangeVerifier?, ReceivedVerifier?, AcceptedVerifier?, QueuedVerifier?, ExecutionVerifier*, CompleteVerifier*, FailedVerifier?) + /// + /// + public virtual QueuedVerifierType QueuedVerifier { + get { + XElement x = this.GetElement(QueuedVerifierXName); + if ((x == null)) { + return null; + } + return ((QueuedVerifierType)(x)); + } + set { + this.SetElement(QueuedVerifierXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ExecutionVerifierXName = System.Xml.Linq.XName.Get("ExecutionVerifier", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ExecutionVerifierField; + + /// + /// + /// A verifier that indicates that the command is being executed. An optional Element indicates how far along the command has progressed either as a fixed value or an (possibly scaled) ParameterInstance value. + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (TransferredToRangeVerifier?, SentFromRangeVerifier?, ReceivedVerifier?, AcceptedVerifier?, QueuedVerifier?, ExecutionVerifier*, CompleteVerifier*, FailedVerifier?) + /// + /// + public virtual IList ExecutionVerifier { + get { + if ((this.ExecutionVerifierField == null)) { + this.ExecutionVerifierField = new XTypedList(this, LinqToXsdTypeManager.Instance, ExecutionVerifierXName); + } + return this.ExecutionVerifierField; + } + set { + if ((value == null)) { + this.ExecutionVerifierField = null; + } + else { + if ((this.ExecutionVerifierField == null)) { + this.ExecutionVerifierField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ExecutionVerifierXName); + } + else { + XTypedServices.SetList(this.ExecutionVerifierField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CompleteVerifierXName = System.Xml.Linq.XName.Get("CompleteVerifier", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList CompleteVerifierField; + + /// + /// + /// A possible set of verifiers that all must be true for the command be considered completed. Consider that some may not participate due to argument value restriction, if that element is used. + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (TransferredToRangeVerifier?, SentFromRangeVerifier?, ReceivedVerifier?, AcceptedVerifier?, QueuedVerifier?, ExecutionVerifier*, CompleteVerifier*, FailedVerifier?) + /// + /// + public virtual IList CompleteVerifier { + get { + if ((this.CompleteVerifierField == null)) { + this.CompleteVerifierField = new XTypedList(this, LinqToXsdTypeManager.Instance, CompleteVerifierXName); + } + return this.CompleteVerifierField; + } + set { + if ((value == null)) { + this.CompleteVerifierField = null; + } + else { + if ((this.CompleteVerifierField == null)) { + this.CompleteVerifierField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, CompleteVerifierXName); + } + else { + XTypedServices.SetList(this.CompleteVerifierField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FailedVerifierXName = System.Xml.Linq.XName.Get("FailedVerifier", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// When true, indicates that the command failed. timeToWait is how long to wait for the FailedVerifier to test true. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (TransferredToRangeVerifier?, SentFromRangeVerifier?, ReceivedVerifier?, AcceptedVerifier?, QueuedVerifier?, ExecutionVerifier*, CompleteVerifier*, FailedVerifier?) + /// + /// + public virtual FailedVerifierType FailedVerifier { + get { + XElement x = this.GetElement(FailedVerifierXName); + if ((x == null)) { + return null; + } + return ((FailedVerifierType)(x)); + } + set { + this.SetElement(FailedVerifierXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("VerifierSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static VerifierSetType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(TransferredToRangeVerifierXName), new NamedContentModelEntity(SentFromRangeVerifierXName), new NamedContentModelEntity(ReceivedVerifierXName), new NamedContentModelEntity(AcceptedVerifierXName), new NamedContentModelEntity(QueuedVerifierXName), new NamedContentModelEntity(ExecutionVerifierXName), new NamedContentModelEntity(CompleteVerifierXName), new NamedContentModelEntity(FailedVerifierXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(TransferredToRangeVerifierXName, typeof(TransferredToRangeVerifierType)); + localElementDictionary.Add(SentFromRangeVerifierXName, typeof(SentFromRangeVerifierType)); + localElementDictionary.Add(ReceivedVerifierXName, typeof(ReceivedVerifierType)); + localElementDictionary.Add(AcceptedVerifierXName, typeof(AcceptedVerifierType)); + localElementDictionary.Add(QueuedVerifierXName, typeof(QueuedVerifierType)); + localElementDictionary.Add(ExecutionVerifierXName, typeof(ExecutionVerifierType)); + localElementDictionary.Add(CompleteVerifierXName, typeof(CompleteVerifierType)); + localElementDictionary.Add(FailedVerifierXName, typeof(FailedVerifierType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// This optional element may be used to enter Pseudo or actual code for the algorithm. The language for the algorithm is specified with the language attribute + /// + /// + public partial class AlgorithmTextType : XTypedElement, IXMetaData { + + public static explicit operator AlgorithmTextType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// This optional element may be used to enter Pseudo or actual code for the algorithm. The language for the algorithm is specified with the language attribute + /// + /// + public AlgorithmTextType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); + + public virtual string TypedValue { + get { + XElement x = this.Untyped; + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetValue(value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName languageXName = System.Xml.Linq.XName.Get("language", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static string languageDefaultValue = "pseudo"; + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string language { + get { + XAttribute x = this.Attribute(languageXName); + if ((x == null)) { + return languageDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(languageXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("AlgorithmTextType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A base type for the various triggers, purely to improve the mappings created by data binding compilers. + /// + /// + public abstract partial class BaseTriggerType : XTypedElement, IXMetaData { + + public static explicit operator BaseTriggerType(XElement xe) { return (BaseTriggerType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// A base type for the various triggers, purely to improve the mappings created by data binding compilers. + /// + /// + public BaseTriggerType() { + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BaseTriggerType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe checksum or hash function definiton. See ErrorDetectCorrectType. + /// + /// + /// Regular expression: (InputAlgorithm?) + /// + /// + public partial class ChecksumType : XTypedElement, IXMetaData { + + public static explicit operator ChecksumType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe checksum or hash function definiton. See ErrorDetectCorrectType. + /// + /// + /// Regular expression: (InputAlgorithm?) + /// + /// + public ChecksumType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName InputAlgorithmXName = System.Xml.Linq.XName.Get("InputAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Provided to account for an algorithm not otherwise listed by enumeration. Assumed to return the computed checksum. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (InputAlgorithm?) + /// + /// + public virtual InputAlgorithmType InputAlgorithm { + get { + XElement x = this.GetElement(InputAlgorithmXName); + if ((x == null)) { + return null; + } + return ((InputAlgorithmType)(x)); + } + set { + this.SetElement(InputAlgorithmXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName bitsFromReferenceXName = System.Xml.Linq.XName.Get("bitsFromReference", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static long bitsFromReferenceDefaultValue = System.Xml.XmlConvert.ToInt64("0"); + + /// + /// + /// An offset of non-zero may be specified to skip some bits against the reference position in the reference attribute. + /// + /// + /// Occurrence: optional + /// + /// + public virtual long bitsFromReference { + get { + XAttribute x = this.Attribute(bitsFromReferenceXName); + if ((x == null)) { + return bitsFromReferenceDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(bitsFromReferenceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName referenceXName = System.Xml.Linq.XName.Get("reference", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.ReferencePointType referenceDefaultValue = Omg.Xtce.ReferencePointType.start; + + /// + /// + /// The bits involved in the calculation may start at the beginning or the end of the container. + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.ReferencePointType reference { + get { + XAttribute x = this.Attribute(referenceXName); + if ((x == null)) { + return referenceDefaultValue; + } + return ((Omg.Xtce.ReferencePointType)(Enum.Parse(typeof(Omg.Xtce.ReferencePointType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.ReferencePointTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(referenceXName, value.ToString(), "reference", global::Omg.Xtce.ReferencePointTypeValidator.TypeDefinition); + } + } + + public enum NameEnum { + + unix_sum, + + sum8, + + sum16, + + sum24, + + sum32, + + fletcher4, + + fletcher8, + + fletcher16, + + fletcher32, + + adler32, + + luhn, + + verhoeff, + + damm, + + custom, + } + + public sealed class NameEnumValidator { + + private NameEnumValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "unix_sum", + "sum8", + "sum16", + "sum24", + "sum32", + "fletcher4", + "fletcher8", + "fletcher16", + "fletcher32", + "adler32", + "luhn", + "verhoeff", + "damm", + "custom"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName nameXName = System.Xml.Linq.XName.Get("name", ""); + + /// + /// + /// Qualified list of named common checksum algorithms. If custom is chosen, InputAlgorithm must be set. + /// + /// + /// Occurrence: required + /// + /// + public virtual Omg.Xtce.ChecksumType.NameEnum name { + get { + XAttribute x = this.Attribute(nameXName); + return ((Omg.Xtce.ChecksumType.NameEnum)(Enum.Parse(typeof(Omg.Xtce.ChecksumType.NameEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, NameEnumValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(nameXName, value.ToString(), "name", NameEnumValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName hashSizeInBitsXName = System.Xml.Linq.XName.Get("hashSizeInBits", ""); + + /// + /// + /// The hashing algorithm may use a larger internal bucket size than the emitted value size in bits captured by the parameterRef attribute. + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Int64? hashSizeInBits { + get { + XAttribute x = this.Attribute(hashSizeInBitsXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(hashSizeInBitsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName parameterRefXName = System.Xml.Linq.XName.Get("parameterRef", ""); + + /// + /// + /// Reference to the parameter that contains the value of this computed checksum or hash based on this container. This attribute is optional because not all implementations verify (telemetry) or create (telecommand) error control fields using the XTCE definition. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string parameterRef { + get { + XAttribute x = this.Attribute(parameterRefXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(parameterRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ChecksumType", "http://www.omg.org/spec/XTCE/20250214"); + + static ChecksumType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(InputAlgorithmXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(InputAlgorithmXName, typeof(InputAlgorithmType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Names and provides a value for a constant input to the algorithm. There are two attributes to Constant, constantName and value. constantName is a variable name in the algorithm to be executed. value is the value of the constant to be used. + /// + /// + public partial class ConstantType : XTypedElement, IXMetaData { + + public static explicit operator ConstantType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Names and provides a value for a constant input to the algorithm. There are two attributes to Constant, constantName and value. constantName is a variable name in the algorithm to be executed. value is the value of the constant to be used. + /// + /// + public ConstantType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName constantNameXName = System.Xml.Linq.XName.Get("constantName", ""); + + /// + /// + /// Supply a name for the constant to be used to access this value from within the algorithm. + /// + /// + /// Occurrence: required + /// + /// + public virtual string constantName { + get { + XAttribute x = this.Attribute(constantNameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(constantNameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName valueXName = System.Xml.Linq.XName.Get("value", ""); + + /// + /// + /// Supply the constant value in the form of the data type needed in the algorithm. + /// + /// + /// Occurrence: required + /// + /// + public virtual string value { + get { + XAttribute x = this.Attribute(valueXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(valueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ConstantType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an ordered list of calibrators with a context match. Useful when different calibrations must be used depending on a matching value. The first context that matches determines which calibrator to use. See IntegerDataEncodingType and FloatDataEncodingType. + /// + /// + /// Regular expression: (ContextCalibrator+) + /// + /// + public partial class ContextCalibratorListType : XTypedElement, IXMetaData { + + public static explicit operator ContextCalibratorListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an ordered list of calibrators with a context match. Useful when different calibrations must be used depending on a matching value. The first context that matches determines which calibrator to use. See IntegerDataEncodingType and FloatDataEncodingType. + /// + /// + /// Regular expression: (ContextCalibrator+) + /// + /// + public ContextCalibratorListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContextCalibratorXName = System.Xml.Linq.XName.Get("ContextCalibrator", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ContextCalibratorField; + + /// + /// + /// Describe a calibrator that depends on a matching value using a ContextMatch. When the context matches for the calibrator, the default calibrator is overridden, if it exists. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (ContextCalibrator+) + /// + /// + public virtual IList ContextCalibrator { + get { + if ((this.ContextCalibratorField == null)) { + this.ContextCalibratorField = new XTypedList(this, LinqToXsdTypeManager.Instance, ContextCalibratorXName); + } + return this.ContextCalibratorField; + } + set { + if ((value == null)) { + this.ContextCalibratorField = null; + } + else { + if ((this.ContextCalibratorField == null)) { + this.ContextCalibratorField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ContextCalibratorXName); + } + else { + XTypedServices.SetList(this.ContextCalibratorField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ContextCalibratorListType", "http://www.omg.org/spec/XTCE/20250214"); + + static ContextCalibratorListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ContextCalibratorXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ContextCalibratorXName, typeof(ContextCalibratorType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// This is the external algorithm. Multiple entries are provided so that the same database may be used for multiple implementation s + /// + /// + public partial class ExternalAlgorithmType : XTypedElement, IXMetaData { + + public static explicit operator ExternalAlgorithmType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// This is the external algorithm. Multiple entries are provided so that the same database may be used for multiple implementation s + /// + /// + public ExternalAlgorithmType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName implementationNameXName = System.Xml.Linq.XName.Get("implementationName", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string implementationName { + get { + XAttribute x = this.Attribute(implementationNameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(implementationNameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName algorithmLocationXName = System.Xml.Linq.XName.Get("algorithmLocation", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string algorithmLocation { + get { + XAttribute x = this.Attribute(algorithmLocationXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(algorithmLocationXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ExternalAlgorithmType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ExternalAlgorithm+) + /// + /// + public partial class ExternalAlgorithmSetType : XTypedElement, IXMetaData { + + public static explicit operator ExternalAlgorithmSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ExternalAlgorithm+) + /// + /// + public ExternalAlgorithmSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ExternalAlgorithmXName = System.Xml.Linq.XName.Get("ExternalAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ExternalAlgorithmField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (ExternalAlgorithm+) + /// + /// + public virtual IList ExternalAlgorithm { + get { + if ((this.ExternalAlgorithmField == null)) { + this.ExternalAlgorithmField = new XTypedList(this, LinqToXsdTypeManager.Instance, ExternalAlgorithmXName); + } + return this.ExternalAlgorithmField; + } + set { + if ((value == null)) { + this.ExternalAlgorithmField = null; + } + else { + if ((this.ExternalAlgorithmField == null)) { + this.ExternalAlgorithmField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ExternalAlgorithmXName); + } + else { + XTypedServices.SetList(this.ExternalAlgorithmField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ExternalAlgorithmSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static ExternalAlgorithmSetType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ExternalAlgorithmXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ExternalAlgorithmXName, typeof(ExternalAlgorithmType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A set of labeled inputs is added to the SimpleAlgorithmType + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, AlgorithmText?, ExternalAlgorithmSet?, InputSet?) + /// + /// + public partial class InputAlgorithmType : global::Omg.Xtce.SimpleAlgorithmType, IXMetaData { + + public static explicit operator InputAlgorithmType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// A set of labeled inputs is added to the SimpleAlgorithmType + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, AlgorithmText?, ExternalAlgorithmSet?, InputSet?) + /// + /// + public InputAlgorithmType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AlgorithmTextXName = System.Xml.Linq.XName.Get("AlgorithmText", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ExternalAlgorithmSetXName = System.Xml.Linq.XName.Get("ExternalAlgorithmSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName InputSetXName = System.Xml.Linq.XName.Get("InputSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// The InputSet describes the list of parameters that should be made available as input arguments to the algorithm. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, AlgorithmText?, ExternalAlgorithmSet?, InputSet?) + /// + /// + public virtual InputSetType InputSet { + get { + XElement x = this.GetElement(InputSetXName); + if ((x == null)) { + return null; + } + return ((InputSetType)(x)); + } + set { + this.SetElement(InputSetXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("InputAlgorithmType", "http://www.omg.org/spec/XTCE/20250214"); + + static InputAlgorithmType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(AlgorithmTextXName), new NamedContentModelEntity(ExternalAlgorithmSetXName), new NamedContentModelEntity(InputSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(AlgorithmTextXName, typeof(AlgorithmTextType)); + localElementDictionary.Add(ExternalAlgorithmSetXName, typeof(ExternalAlgorithmSetType)); + localElementDictionary.Add(InputSetXName, typeof(InputSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A set of labeled outputs are added to the SimpleInputAlgorithmType + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, AlgorithmText?, ExternalAlgorithmSet?, InputSet?, OutputSet?) + /// + /// + public partial class InputOutputAlgorithmType : global::Omg.Xtce.InputAlgorithmType, IXMetaData { + + public static explicit operator InputOutputAlgorithmType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// A set of labeled outputs are added to the SimpleInputAlgorithmType + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, AlgorithmText?, ExternalAlgorithmSet?, InputSet?, OutputSet?) + /// + /// + public InputOutputAlgorithmType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AlgorithmTextXName = System.Xml.Linq.XName.Get("AlgorithmText", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ExternalAlgorithmSetXName = System.Xml.Linq.XName.Get("ExternalAlgorithmSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName InputSetXName = System.Xml.Linq.XName.Get("InputSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName OutputSetXName = System.Xml.Linq.XName.Get("OutputSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, AlgorithmText?, ExternalAlgorithmSet?, InputSet?, OutputSet?) + /// + /// + public virtual OutputSetType OutputSet { + get { + XElement x = this.GetElement(OutputSetXName); + if ((x == null)) { + return null; + } + return ((OutputSetType)(x)); + } + set { + this.SetElement(OutputSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName threadXName = System.Xml.Linq.XName.Get("thread", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool threadDefaultValue = System.Xml.XmlConvert.ToBoolean("false"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool thread { + get { + XAttribute x = this.Attribute(threadXName); + if ((x == null)) { + return threadDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(threadXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("InputOutputAlgorithmType", "http://www.omg.org/spec/XTCE/20250214"); + + static InputOutputAlgorithmType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(AlgorithmTextXName), new NamedContentModelEntity(ExternalAlgorithmSetXName), new NamedContentModelEntity(InputSetXName), new NamedContentModelEntity(OutputSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(AlgorithmTextXName, typeof(AlgorithmTextType)); + localElementDictionary.Add(ExternalAlgorithmSetXName, typeof(ExternalAlgorithmSetType)); + localElementDictionary.Add(InputSetXName, typeof(InputSetType)); + localElementDictionary.Add(OutputSetXName, typeof(OutputSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Input output algorithm is extended with a set of labeled triggers. See InputOutputAlgorithmType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, AlgorithmText?, ExternalAlgorithmSet?, InputSet?, OutputSet?, TriggerSet?) + /// + /// + public partial class InputOutputTriggerAlgorithmType : global::Omg.Xtce.InputOutputAlgorithmType, IXMetaData { + + public static explicit operator InputOutputTriggerAlgorithmType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Input output algorithm is extended with a set of labeled triggers. See InputOutputAlgorithmType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, AlgorithmText?, ExternalAlgorithmSet?, InputSet?, OutputSet?, TriggerSet?) + /// + /// + public InputOutputTriggerAlgorithmType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AlgorithmTextXName = System.Xml.Linq.XName.Get("AlgorithmText", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ExternalAlgorithmSetXName = System.Xml.Linq.XName.Get("ExternalAlgorithmSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName InputSetXName = System.Xml.Linq.XName.Get("InputSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName OutputSetXName = System.Xml.Linq.XName.Get("OutputSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TriggerSetXName = System.Xml.Linq.XName.Get("TriggerSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, AlgorithmText?, ExternalAlgorithmSet?, InputSet?, OutputSet?, TriggerSet?) + /// + /// + public virtual TriggerSetType TriggerSet { + get { + XElement x = this.GetElement(TriggerSetXName); + if ((x == null)) { + return null; + } + return ((TriggerSetType)(x)); + } + set { + this.SetElement(TriggerSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName triggerContainerXName = System.Xml.Linq.XName.Get("triggerContainer", ""); + + /// + /// + /// First telemetry container from which the output parameter should be calculated. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string triggerContainer { + get { + XAttribute x = this.Attribute(triggerContainerXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(triggerContainerXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName priorityXName = System.Xml.Linq.XName.Get("priority", ""); + + /// + /// + /// Algorithm processing priority. If more than one algorithm is triggered by the same container, the lowest priority algorithm should be calculated first. + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Int32? priority { + get { + XAttribute x = this.Attribute(priorityXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Int).Datatype); + } + set { + this.SetAttribute(priorityXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Int).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("InputOutputTriggerAlgorithmType", "http://www.omg.org/spec/XTCE/20250214"); + + static InputOutputTriggerAlgorithmType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(AlgorithmTextXName), new NamedContentModelEntity(ExternalAlgorithmSetXName), new NamedContentModelEntity(InputSetXName), new NamedContentModelEntity(OutputSetXName), new NamedContentModelEntity(TriggerSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(AlgorithmTextXName, typeof(AlgorithmTextType)); + localElementDictionary.Add(ExternalAlgorithmSetXName, typeof(ExternalAlgorithmSetType)); + localElementDictionary.Add(InputSetXName, typeof(InputSetType)); + localElementDictionary.Add(OutputSetXName, typeof(OutputSetType)); + localElementDictionary.Add(TriggerSetXName, typeof(TriggerSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Names an input parameter to the algorithm. There are two attributes to InputParm, inputName and parameterName. parameterName is a parameter reference name for a parameter that will be used in this algorithm. inputName is an optional "friendly" name for the input parameter. + /// + /// + public partial class InputParameterInstanceRefType : global::Omg.Xtce.ParameterInstanceRefType, IXMetaData { + + public static explicit operator InputParameterInstanceRefType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Names an input parameter to the algorithm. There are two attributes to InputParm, inputName and parameterName. parameterName is a parameter reference name for a parameter that will be used in this algorithm. inputName is an optional "friendly" name for the input parameter. + /// + /// + public InputParameterInstanceRefType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName inputNameXName = System.Xml.Linq.XName.Get("inputName", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string inputName { + get { + XAttribute x = this.Attribute(inputNameXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(inputNameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("InputParameterInstanceRefType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (InputParameterInstanceRef | Constant)+ + /// + /// + public partial class InputSetType : XTypedElement, IXMetaData { + + public static explicit operator InputSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (InputParameterInstanceRef | Constant)+ + /// + /// + public InputSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName InputParameterInstanceRefXName = System.Xml.Linq.XName.Get("InputParameterInstanceRef", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList InputParameterInstanceRefField; + + /// + /// + /// Reference a parameter to serve as an input to the algorithm. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (InputParameterInstanceRef | Constant)+ + /// + /// + public virtual IList InputParameterInstanceRef { + get { + if ((this.InputParameterInstanceRefField == null)) { + this.InputParameterInstanceRefField = new XTypedList(this, LinqToXsdTypeManager.Instance, InputParameterInstanceRefXName); + } + return this.InputParameterInstanceRefField; + } + set { + if ((value == null)) { + this.InputParameterInstanceRefField = null; + } + else { + if ((this.InputParameterInstanceRefField == null)) { + this.InputParameterInstanceRefField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, InputParameterInstanceRefXName); + } + else { + XTypedServices.SetList(this.InputParameterInstanceRefField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ConstantXName = System.Xml.Linq.XName.Get("Constant", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ConstantField; + + /// + /// + /// Supply a local constant name and value to input to this algorithm. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (InputParameterInstanceRef | Constant)+ + /// + /// + public virtual IList Constant { + get { + if ((this.ConstantField == null)) { + this.ConstantField = new XTypedList(this, LinqToXsdTypeManager.Instance, ConstantXName); + } + return this.ConstantField; + } + set { + if ((value == null)) { + this.ConstantField = null; + } + else { + if ((this.ConstantField == null)) { + this.ConstantField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ConstantXName); + } + else { + XTypedServices.SetList(this.ConstantField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("InputSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static InputSetType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(InputParameterInstanceRefXName), new NamedContentModelEntity(ConstantXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(InputParameterInstanceRefXName, typeof(InputParameterInstanceRefType)); + localElementDictionary.Add(ConstantXName, typeof(ConstantType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a postfix (Reverse Polish Notation (RPN)) notation based mathmatical equations. See MathOperationType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, MathOperation) + /// + /// + public partial class MathAlgorithmType : global::Omg.Xtce.NameDescriptionType, IXMetaData { + + public static explicit operator MathAlgorithmType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a postfix (Reverse Polish Notation (RPN)) notation based mathmatical equations. See MathOperationType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, MathOperation) + /// + /// + public MathAlgorithmType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MathOperationXName = System.Xml.Linq.XName.Get("MathOperation", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// The contents of the Math Operation as an algorithm definition in RPN. See TriggeredMathOperationType. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, MathOperation) + /// + /// + public virtual TriggeredMathOperationType MathOperation { + get { + XElement x = this.GetElement(MathOperationXName); + return ((TriggeredMathOperationType)(x)); + } + set { + this.SetElement(MathOperationXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("MathAlgorithmType", "http://www.omg.org/spec/XTCE/20250214"); + + static MathAlgorithmType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(MathOperationXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(MathOperationXName, typeof(TriggeredMathOperationType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a reference to container that triggers an event when the telemetry container referred to is updated (processed). See TriggerSetType. + /// + /// + public partial class OnContainerUpdateTriggerType : global::Omg.Xtce.BaseTriggerType, IXMetaData { + + public static explicit operator OnContainerUpdateTriggerType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a reference to container that triggers an event when the telemetry container referred to is updated (processed). See TriggerSetType. + /// + /// + public OnContainerUpdateTriggerType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName containerRefXName = System.Xml.Linq.XName.Get("containerRef", ""); + + /// + /// + /// Reference to the Container whose update/receipt triggers this algorithm to evaluate. + /// + /// + /// Occurrence: required + /// + /// + public virtual string containerRef { + get { + XAttribute x = this.Attribute(containerRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(containerRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("OnContainerUpdateTriggerType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a periodic time basis to trigger an event. See TriggerSetType. + /// + /// + public partial class OnPeriodicRateTriggerType : global::Omg.Xtce.BaseTriggerType, IXMetaData { + + public static explicit operator OnPeriodicRateTriggerType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a periodic time basis to trigger an event. See TriggerSetType. + /// + /// + public OnPeriodicRateTriggerType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName fireRateInSecondsXName = System.Xml.Linq.XName.Get("fireRateInSeconds", ""); + + /// + /// + /// The periodic rate in time in which this algorithm is triggered to evaluate. + /// + /// + /// Occurrence: required + /// + /// + public virtual double fireRateInSeconds { + get { + XAttribute x = this.Attribute(fireRateInSecondsXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + set { + this.SetAttribute(fireRateInSecondsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("OnPeriodicRateTriggerType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a reference to parameter that triggers an event when the telemetry parameter referred to is updated (processed) with a new value. See TriggerSetType. + /// + /// + public partial class OnParameterUpdateTriggerType : global::Omg.Xtce.BaseTriggerType, IXMetaData { + + public static explicit operator OnParameterUpdateTriggerType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a reference to parameter that triggers an event when the telemetry parameter referred to is updated (processed) with a new value. See TriggerSetType. + /// + /// + public OnParameterUpdateTriggerType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName parameterRefXName = System.Xml.Linq.XName.Get("parameterRef", ""); + + /// + /// + /// Reference to the Parameter whose update triggers this algorithm to evaluate. + /// + /// + /// Occurrence: required + /// + /// + public virtual string parameterRef { + get { + XAttribute x = this.Attribute(parameterRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(parameterRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("OnParameterUpdateTriggerType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Names an output parameter to the algorithm. There are two attributes to OutputParm, outputName and parameterName. parameterName is a parameter reference name for a parameter that will be updated by this algorithm. outputName is an optional "friendly" name for the output parameter. + /// + /// + public partial class OutputParameterRefType : global::Omg.Xtce.ParameterRefType, IXMetaData { + + public static explicit operator OutputParameterRefType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Names an output parameter to the algorithm. There are two attributes to OutputParm, outputName and parameterName. parameterName is a parameter reference name for a parameter that will be updated by this algorithm. outputName is an optional "friendly" name for the output parameter. + /// + /// + public OutputParameterRefType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName outputNameXName = System.Xml.Linq.XName.Get("outputName", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string outputName { + get { + XAttribute x = this.Attribute(outputNameXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(outputNameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("OutputParameterRefType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (OutputParameterRef+) + /// + /// + public partial class OutputSetType : XTypedElement, IXMetaData { + + public static explicit operator OutputSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (OutputParameterRef+) + /// + /// + public OutputSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName OutputParameterRefXName = System.Xml.Linq.XName.Get("OutputParameterRef", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList OutputParameterRefField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (OutputParameterRef+) + /// + /// + public virtual IList OutputParameterRef { + get { + if ((this.OutputParameterRefField == null)) { + this.OutputParameterRefField = new XTypedList(this, LinqToXsdTypeManager.Instance, OutputParameterRefXName); + } + return this.OutputParameterRefField; + } + set { + if ((value == null)) { + this.OutputParameterRefField = null; + } + else { + if ((this.OutputParameterRefField == null)) { + this.OutputParameterRefField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, OutputParameterRefXName); + } + else { + XTypedServices.SetList(this.OutputParameterRefField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("OutputSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static OutputSetType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(OutputParameterRefXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(OutputParameterRefXName, typeof(OutputParameterRefType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// The simplest form of algorithm, a SimpleAlgorithmType contains an area for a free-form pseudo code description of the algorithm plus a Set of references to external algorithms. External algorithms are usually unique to a ground system type. Multiple external algorithms are possible because XTCE documents may be used across multiple ground systems. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, AlgorithmText?, ExternalAlgorithmSet?) + /// + /// + public abstract partial class SimpleAlgorithmType : global::Omg.Xtce.NameDescriptionType, IXMetaData { + + public static explicit operator SimpleAlgorithmType(XElement xe) { return (SimpleAlgorithmType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// The simplest form of algorithm, a SimpleAlgorithmType contains an area for a free-form pseudo code description of the algorithm plus a Set of references to external algorithms. External algorithms are usually unique to a ground system type. Multiple external algorithms are possible because XTCE documents may be used across multiple ground systems. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, AlgorithmText?, ExternalAlgorithmSet?) + /// + /// + public SimpleAlgorithmType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AlgorithmTextXName = System.Xml.Linq.XName.Get("AlgorithmText", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, AlgorithmText?, ExternalAlgorithmSet?) + /// + /// + public virtual AlgorithmTextType AlgorithmText { + get { + XElement x = this.GetElement(AlgorithmTextXName); + if ((x == null)) { + return null; + } + return ((AlgorithmTextType)(x)); + } + set { + this.SetElement(AlgorithmTextXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ExternalAlgorithmSetXName = System.Xml.Linq.XName.Get("ExternalAlgorithmSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, AlgorithmText?, ExternalAlgorithmSet?) + /// + /// + public virtual ExternalAlgorithmSetType ExternalAlgorithmSet { + get { + XElement x = this.GetElement(ExternalAlgorithmSetXName); + if ((x == null)) { + return null; + } + return ((ExternalAlgorithmSetType)(x)); + } + set { + this.SetElement(ExternalAlgorithmSetXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SimpleAlgorithmType", "http://www.omg.org/spec/XTCE/20250214"); + + static SimpleAlgorithmType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(AlgorithmTextXName), new NamedContentModelEntity(ExternalAlgorithmSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(AlgorithmTextXName, typeof(AlgorithmTextType)); + localElementDictionary.Add(ExternalAlgorithmSetXName, typeof(ExternalAlgorithmSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (AncillaryDataSet?, (ValueOperand | ThisParameterOperand | Operator | ParameterInstanceRefOperand)+, TriggerSet) + /// + /// + public partial class TriggeredMathOperationType : global::Omg.Xtce.MathOperationType, IXMetaData { + + public static explicit operator TriggeredMathOperationType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (AncillaryDataSet?, (ValueOperand | ThisParameterOperand | Operator | ParameterInstanceRefOperand)+, TriggerSet) + /// + /// + public TriggeredMathOperationType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ValueOperandXName = System.Xml.Linq.XName.Get("ValueOperand", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ThisParameterOperandXName = System.Xml.Linq.XName.Get("ThisParameterOperand", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName OperatorXName = System.Xml.Linq.XName.Get("Operator", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterInstanceRefOperandXName = System.Xml.Linq.XName.Get("ParameterInstanceRefOperand", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TriggerSetXName = System.Xml.Linq.XName.Get("TriggerSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (AncillaryDataSet?, (ValueOperand | ThisParameterOperand | Operator | ParameterInstanceRefOperand)+, TriggerSet) + /// + /// + public virtual TriggerSetType TriggerSet { + get { + XElement x = this.GetElement(TriggerSetXName); + return ((TriggerSetType)(x)); + } + set { + this.SetElement(TriggerSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName outputParameterRefXName = System.Xml.Linq.XName.Get("outputParameterRef", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string outputParameterRef { + get { + XAttribute x = this.Attribute(outputParameterRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(outputParameterRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("TriggeredMathOperationType", "http://www.omg.org/spec/XTCE/20250214"); + + static TriggeredMathOperationType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(ValueOperandXName), new NamedContentModelEntity(ThisParameterOperandXName), new NamedContentModelEntity(OperatorXName), new NamedContentModelEntity(ParameterInstanceRefOperandXName)), new NamedContentModelEntity(TriggerSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(ValueOperandXName, typeof(string)); + localElementDictionary.Add(ThisParameterOperandXName, typeof(string)); + localElementDictionary.Add(OperatorXName, typeof(string)); + localElementDictionary.Add(ParameterInstanceRefOperandXName, typeof(ParameterInstanceRefType)); + localElementDictionary.Add(TriggerSetXName, typeof(TriggerSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A trigger is used to initiate the processing of some algorithm. A trigger may be based on an update of a Parameter, receipt of a Container, or on a time basis. Triggers may also have a maximum rate that limits how often the trigger can be invoked. + /// + /// + /// Regular expression: (OnParameterUpdateTrigger | OnContainerUpdateTrigger | OnPeriodicRateTrigger)+ + /// + /// + public partial class TriggerSetType : XTypedElement, IXMetaData { + + public static explicit operator TriggerSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// A trigger is used to initiate the processing of some algorithm. A trigger may be based on an update of a Parameter, receipt of a Container, or on a time basis. Triggers may also have a maximum rate that limits how often the trigger can be invoked. + /// + /// + /// Regular expression: (OnParameterUpdateTrigger | OnContainerUpdateTrigger | OnPeriodicRateTrigger)+ + /// + /// + public TriggerSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName OnParameterUpdateTriggerXName = System.Xml.Linq.XName.Get("OnParameterUpdateTrigger", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList OnParameterUpdateTriggerField; + + /// + /// + /// This element instructs the trigger to invoke the algorithm evaluation when a Parameter update is received. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (OnParameterUpdateTrigger | OnContainerUpdateTrigger | OnPeriodicRateTrigger)+ + /// + /// + public virtual IList OnParameterUpdateTrigger { + get { + if ((this.OnParameterUpdateTriggerField == null)) { + this.OnParameterUpdateTriggerField = new XTypedList(this, LinqToXsdTypeManager.Instance, OnParameterUpdateTriggerXName); + } + return this.OnParameterUpdateTriggerField; + } + set { + if ((value == null)) { + this.OnParameterUpdateTriggerField = null; + } + else { + if ((this.OnParameterUpdateTriggerField == null)) { + this.OnParameterUpdateTriggerField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, OnParameterUpdateTriggerXName); + } + else { + XTypedServices.SetList(this.OnParameterUpdateTriggerField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName OnContainerUpdateTriggerXName = System.Xml.Linq.XName.Get("OnContainerUpdateTrigger", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList OnContainerUpdateTriggerField; + + /// + /// + /// This element instructs the trigger to invoke the algorithm evaluation when a Container is received. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (OnParameterUpdateTrigger | OnContainerUpdateTrigger | OnPeriodicRateTrigger)+ + /// + /// + public virtual IList OnContainerUpdateTrigger { + get { + if ((this.OnContainerUpdateTriggerField == null)) { + this.OnContainerUpdateTriggerField = new XTypedList(this, LinqToXsdTypeManager.Instance, OnContainerUpdateTriggerXName); + } + return this.OnContainerUpdateTriggerField; + } + set { + if ((value == null)) { + this.OnContainerUpdateTriggerField = null; + } + else { + if ((this.OnContainerUpdateTriggerField == null)) { + this.OnContainerUpdateTriggerField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, OnContainerUpdateTriggerXName); + } + else { + XTypedServices.SetList(this.OnContainerUpdateTriggerField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName OnPeriodicRateTriggerXName = System.Xml.Linq.XName.Get("OnPeriodicRateTrigger", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList OnPeriodicRateTriggerField; + + /// + /// + /// This element instructs the trigger to invoke the algorithm evaluation using a timer. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (OnParameterUpdateTrigger | OnContainerUpdateTrigger | OnPeriodicRateTrigger)+ + /// + /// + public virtual IList OnPeriodicRateTrigger { + get { + if ((this.OnPeriodicRateTriggerField == null)) { + this.OnPeriodicRateTriggerField = new XTypedList(this, LinqToXsdTypeManager.Instance, OnPeriodicRateTriggerXName); + } + return this.OnPeriodicRateTriggerField; + } + set { + if ((value == null)) { + this.OnPeriodicRateTriggerField = null; + } + else { + if ((this.OnPeriodicRateTriggerField == null)) { + this.OnPeriodicRateTriggerField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, OnPeriodicRateTriggerXName); + } + else { + XTypedServices.SetList(this.OnPeriodicRateTriggerField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName nameXName = System.Xml.Linq.XName.Get("name", ""); + + /// + /// + /// Triggers may optionally be named. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string name { + get { + XAttribute x = this.Attribute(nameXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(nameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName triggerRateXName = System.Xml.Linq.XName.Get("triggerRate", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static long triggerRateDefaultValue = System.Xml.XmlConvert.ToInt64("1"); + + /// + /// + /// This attribute is a maximum rate that constrains how quickly this trigger may evaluate the algorithm to avoid flooding the implementation. The default is once per second. Setting to 0 results in no maximum. + /// + /// + /// Occurrence: optional + /// + /// + public virtual long triggerRate { + get { + XAttribute x = this.Attribute(triggerRateXName); + if ((x == null)) { + return triggerRateDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(triggerRateXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("TriggerSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static TriggerSetType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(OnParameterUpdateTriggerXName), new NamedContentModelEntity(OnContainerUpdateTriggerXName), new NamedContentModelEntity(OnPeriodicRateTriggerXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(OnParameterUpdateTriggerXName, typeof(OnParameterUpdateTriggerType)); + localElementDictionary.Add(OnContainerUpdateTriggerXName, typeof(OnContainerUpdateTriggerType)); + localElementDictionary.Add(OnPeriodicRateTriggerXName, typeof(OnPeriodicRateTriggerType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Supplies an optional non-reference-able name and short description for calibrators. Also includes an optional ancillary data for any special local flags, note that these may not necessarily transfer to another recipient of an instance document. + /// + /// + /// Regular expression: (AncillaryDataSet?) + /// + /// + public abstract partial class BaseCalibratorType : XTypedElement, IXMetaData { + + public static explicit operator BaseCalibratorType(XElement xe) { return (BaseCalibratorType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// Supplies an optional non-reference-able name and short description for calibrators. Also includes an optional ancillary data for any special local flags, note that these may not necessarily transfer to another recipient of an instance document. + /// + /// + /// Regular expression: (AncillaryDataSet?) + /// + /// + public BaseCalibratorType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Optional additional ancillary information for this calibrator/algorithm + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (AncillaryDataSet?) + /// + /// + public virtual AncillaryDataSetType AncillaryDataSet { + get { + XElement x = this.GetElement(AncillaryDataSetXName); + if ((x == null)) { + return null; + } + return ((AncillaryDataSetType)(x)); + } + set { + this.SetElement(AncillaryDataSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName nameXName = System.Xml.Linq.XName.Get("name", ""); + + /// + /// + /// Optional name for this calibrator/algorithm + /// + /// + /// Occurrence: optional + /// + /// + public virtual string name { + get { + XAttribute x = this.Attribute(nameXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(nameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName shortDescriptionXName = System.Xml.Linq.XName.Get("shortDescription", ""); + + /// + /// + /// Optional description for this calibrator/algorithm + /// + /// + /// Occurrence: optional + /// + /// + public virtual string shortDescription { + get { + XAttribute x = this.Attribute(shortDescriptionXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(shortDescriptionXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BaseCalibratorType", "http://www.omg.org/spec/XTCE/20250214"); + + static BaseCalibratorType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AncillaryDataSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a calibrator to transform a source data type raw/uncalibrated value (e.g. an integer count from a spacecraft) to an engineering unit/calibrated value for users (e.g. a float). + /// + /// + /// Regular expression: (AncillaryDataSet?, (SplineCalibrator | PolynomialCalibrator | MathOperationCalibrator)) + /// + /// + public partial class CalibratorType : global::Omg.Xtce.BaseCalibratorType, IXMetaData { + + public static explicit operator CalibratorType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a calibrator to transform a source data type raw/uncalibrated value (e.g. an integer count from a spacecraft) to an engineering unit/calibrated value for users (e.g. a float). + /// + /// + /// Regular expression: (AncillaryDataSet?, (SplineCalibrator | PolynomialCalibrator | MathOperationCalibrator)) + /// + /// + public CalibratorType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SplineCalibratorXName = System.Xml.Linq.XName.Get("SplineCalibrator", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Describes a calibrator in the form of a piecewise defined function + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (AncillaryDataSet?, (SplineCalibrator | PolynomialCalibrator | MathOperationCalibrator)) + /// + /// + public virtual SplineCalibratorType SplineCalibrator { + get { + XElement x = this.GetElement(SplineCalibratorXName); + if ((x == null)) { + return null; + } + return ((SplineCalibratorType)(x)); + } + set { + this.SetElement(SplineCalibratorXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName PolynomialCalibratorXName = System.Xml.Linq.XName.Get("PolynomialCalibrator", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Describes a calibrator in the form of a polynomial function + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (AncillaryDataSet?, (SplineCalibrator | PolynomialCalibrator | MathOperationCalibrator)) + /// + /// + public virtual PolynomialCalibratorType PolynomialCalibrator { + get { + XElement x = this.GetElement(PolynomialCalibratorXName); + if ((x == null)) { + return null; + } + return ((PolynomialCalibratorType)(x)); + } + set { + this.SetElement(PolynomialCalibratorXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MathOperationCalibratorXName = System.Xml.Linq.XName.Get("MathOperationCalibrator", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Describes a calibrator in the form of a user/program/implementation defined function + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (AncillaryDataSet?, (SplineCalibrator | PolynomialCalibrator | MathOperationCalibrator)) + /// + /// + public virtual MathOperationCalibratorType MathOperationCalibrator { + get { + XElement x = this.GetElement(MathOperationCalibratorXName); + if ((x == null)) { + return null; + } + return ((MathOperationCalibratorType)(x)); + } + set { + this.SetElement(MathOperationCalibratorXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CalibratorType", "http://www.omg.org/spec/XTCE/20250214"); + + static CalibratorType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(SplineCalibratorXName), new NamedContentModelEntity(PolynomialCalibratorXName), new NamedContentModelEntity(MathOperationCalibratorXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(SplineCalibratorXName, typeof(SplineCalibratorType)); + localElementDictionary.Add(PolynomialCalibratorXName, typeof(PolynomialCalibratorType)); + localElementDictionary.Add(MathOperationCalibratorXName, typeof(MathOperationCalibratorType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a change value used to test verification status. See CommandVerifierType. + /// + /// + public partial class ChangeValueType : XTypedElement, IXMetaData { + + public static explicit operator ChangeValueType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a change value used to test verification status. See CommandVerifierType. + /// + /// + public ChangeValueType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName valueXName = System.Xml.Linq.XName.Get("value", ""); + + /// + /// + /// Value as a floating point number. + /// + /// + /// Occurrence: required + /// + /// + public virtual double value { + get { + XAttribute x = this.Attribute(valueXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + set { + this.SetAttribute(valueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ChangeValueType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a mathematical function for calibration where the mathematical function is defined using the MathOperationType. + /// + /// + /// Regular expression: (AncillaryDataSet?, (ValueOperand | ThisParameterOperand | Operator | ParameterInstanceRefOperand)+) + /// + /// + public partial class MathOperationCalibratorType : global::Omg.Xtce.BaseCalibratorType, IXMetaData { + + public static explicit operator MathOperationCalibratorType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a mathematical function for calibration where the mathematical function is defined using the MathOperationType. + /// + /// + /// Regular expression: (AncillaryDataSet?, (ValueOperand | ThisParameterOperand | Operator | ParameterInstanceRefOperand)+) + /// + /// + public MathOperationCalibratorType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ValueOperandXName = System.Xml.Linq.XName.Get("ValueOperand", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList ValueOperandField; + + /// + /// + /// Use a constant in the calculation. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (AncillaryDataSet?, (ValueOperand | ThisParameterOperand | Operator | ParameterInstanceRefOperand)+) + /// + /// + public virtual IList ValueOperand { + get { + if ((this.ValueOperandField == null)) { + this.ValueOperandField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, ValueOperandXName); + } + return this.ValueOperandField; + } + set { + if ((value == null)) { + this.ValueOperandField = null; + } + else { + if ((this.ValueOperandField == null)) { + this.ValueOperandField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, value, ValueOperandXName); + } + else { + XTypedServices.SetList(this.ValueOperandField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ThisParameterOperandXName = System.Xml.Linq.XName.Get("ThisParameterOperand", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static IList ThisParameterOperandFixedValue = new string[] { + ""}; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList ThisParameterOperandField; + + /// + /// + /// Use the value of this parameter in the calculation. It is the calibrator's value only. If the raw value is needed, specify it explicitly using ParameterInstanceRefOperand. Note this element has no content. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (AncillaryDataSet?, (ValueOperand | ThisParameterOperand | Operator | ParameterInstanceRefOperand)+) + /// + /// + public virtual IList ThisParameterOperand { + get { + return ThisParameterOperandFixedValue; + } + set { + if ((ThisParameterOperandFixedValue.Equals(value) + || (value == null))) { + } + else { + throw new Xml.Schema.Linq.LinqToXsdFixedValueException(value, ThisParameterOperandFixedValue); + } + if ((value == null)) { + this.ThisParameterOperandField = null; + } + else { + if ((this.ThisParameterOperandField == null)) { + this.ThisParameterOperandField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, value, ThisParameterOperandXName, ThisParameterOperandFixedValue); + } + else { + XTypedServices.SetList(this.ThisParameterOperandField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName OperatorXName = System.Xml.Linq.XName.Get("Operator", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList OperatorField; + + /// + /// + /// All operators utilize operands on the top values in the stack and leaving the result on the top of the stack. Ternary operators utilize the top three operands on the stack, binary operators utilize the top two operands on the stack, and unary operators use the top operand on the stack. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (AncillaryDataSet?, (ValueOperand | ThisParameterOperand | Operator | ParameterInstanceRefOperand)+) + /// + /// + public virtual IList Operator { + get { + if ((this.OperatorField == null)) { + this.OperatorField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, OperatorXName); + } + return this.OperatorField.Select(item => (Omg.Xtce.MathOperatorsType)Enum.Parse(typeof(Omg.Xtce.MathOperatorsType), item)).ToList(); + } + set { + if ((value == null)) { + this.OperatorField = null; + } + else { + if ((this.OperatorField == null)) { + this.OperatorField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, value.Select(item => item.ToString()), OperatorXName); + } + else { + XTypedServices.SetList(this.OperatorField, value.Select(item => item.ToString()).ToList()); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterInstanceRefOperandXName = System.Xml.Linq.XName.Get("ParameterInstanceRefOperand", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ParameterInstanceRefOperandField; + + /// + /// + /// This element is used to reference the last received/assigned value of any Parameter in this math operation. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (AncillaryDataSet?, (ValueOperand | ThisParameterOperand | Operator | ParameterInstanceRefOperand)+) + /// + /// + public virtual IList ParameterInstanceRefOperand { + get { + if ((this.ParameterInstanceRefOperandField == null)) { + this.ParameterInstanceRefOperandField = new XTypedList(this, LinqToXsdTypeManager.Instance, ParameterInstanceRefOperandXName); + } + return this.ParameterInstanceRefOperandField; + } + set { + if ((value == null)) { + this.ParameterInstanceRefOperandField = null; + } + else { + if ((this.ParameterInstanceRefOperandField == null)) { + this.ParameterInstanceRefOperandField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ParameterInstanceRefOperandXName); + } + else { + XTypedServices.SetList(this.ParameterInstanceRefOperandField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("MathOperationCalibratorType", "http://www.omg.org/spec/XTCE/20250214"); + + static MathOperationCalibratorType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(ValueOperandXName), new NamedContentModelEntity(ThisParameterOperandXName), new NamedContentModelEntity(OperatorXName), new NamedContentModelEntity(ParameterInstanceRefOperandXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(ValueOperandXName, typeof(string)); + localElementDictionary.Add(ThisParameterOperandXName, typeof(string)); + localElementDictionary.Add(OperatorXName, typeof(string)); + localElementDictionary.Add(ParameterInstanceRefOperandXName, typeof(ParameterInstanceRefType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a polynomial equation for calibration. This is a calibration type where a curve in a raw vs calibrated plane is described using a set of polynomial coefficients. Raw values are converted to calibrated values by finding a position on the curve corresponding to the raw value. The first coefficient belongs with the X^0 term, the next coefficient belongs to the X^1 term and so on. See CalibratorType. + /// + /// + /// Regular expression: (AncillaryDataSet?, Term+) + /// + /// + public partial class PolynomialCalibratorType : global::Omg.Xtce.BaseCalibratorType, IXMetaData { + + public static explicit operator PolynomialCalibratorType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a polynomial equation for calibration. This is a calibration type where a curve in a raw vs calibrated plane is described using a set of polynomial coefficients. Raw values are converted to calibrated values by finding a position on the curve corresponding to the raw value. The first coefficient belongs with the X^0 term, the next coefficient belongs to the X^1 term and so on. See CalibratorType. + /// + /// + /// Regular expression: (AncillaryDataSet?, Term+) + /// + /// + public PolynomialCalibratorType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TermXName = System.Xml.Linq.XName.Get("Term", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList TermField; + + /// + /// + /// A single term in the polynomial function. + /// + /// + /// Generally only up to second order powers are reflexive. Implementations may limit the maximum number of terms supported. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (AncillaryDataSet?, Term+) + /// + /// + public virtual IList Term { + get { + if ((this.TermField == null)) { + this.TermField = new XTypedList(this, LinqToXsdTypeManager.Instance, TermXName); + } + return this.TermField; + } + set { + if ((value == null)) { + this.TermField = null; + } + else { + if ((this.TermField == null)) { + this.TermField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, TermXName); + } + else { + XTypedServices.SetList(this.TermField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("PolynomialCalibratorType", "http://www.omg.org/spec/XTCE/20250214"); + + static PolynomialCalibratorType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(TermXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(TermXName, typeof(TermType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a spline function for calibration using a set of at least 2 points. Raw values are converted to calibrated values by finding a position on the line corresponding to the raw value. The line may be interpolated and/or extrapolated as needed. The interpolation order may be specified for all the points and overridden on individual points. The algorithm triggers on the input parameter. See CalibratorType. + /// + /// + /// Regular expression: (AncillaryDataSet?, SplinePoint+) + /// + /// + public partial class SplineCalibratorType : global::Omg.Xtce.BaseCalibratorType, IXMetaData { + + public static explicit operator SplineCalibratorType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a spline function for calibration using a set of at least 2 points. Raw values are converted to calibrated values by finding a position on the line corresponding to the raw value. The line may be interpolated and/or extrapolated as needed. The interpolation order may be specified for all the points and overridden on individual points. The algorithm triggers on the input parameter. See CalibratorType. + /// + /// + /// Regular expression: (AncillaryDataSet?, SplinePoint+) + /// + /// + public SplineCalibratorType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SplinePointXName = System.Xml.Linq.XName.Get("SplinePoint", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList SplinePointField; + + /// + /// + /// Describes a single point of the spline or piecewise function. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (AncillaryDataSet?, SplinePoint+) + /// + /// + public virtual IList SplinePoint { + get { + if ((this.SplinePointField == null)) { + this.SplinePointField = new XTypedList(this, LinqToXsdTypeManager.Instance, SplinePointXName); + } + return this.SplinePointField; + } + set { + if ((value == null)) { + this.SplinePointField = null; + } + else { + if ((this.SplinePointField == null)) { + this.SplinePointField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, SplinePointXName); + } + else { + XTypedServices.SetList(this.SplinePointField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName orderXName = System.Xml.Linq.XName.Get("order", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static long orderDefaultValue = System.Xml.XmlConvert.ToInt64("1"); + + /// + /// + /// The interpolation order to apply to the overall spline function. Order 0 is no slope between the points (flat). Order 1 is linear interpolation. Order 2 would be quadratic and in this special case, 3 points would be required, etc. + /// + /// + /// Occurrence: optional + /// + /// + public virtual long order { + get { + XAttribute x = this.Attribute(orderXName); + if ((x == null)) { + return orderDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(orderXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName extrapolateXName = System.Xml.Linq.XName.Get("extrapolate", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool extrapolateDefaultValue = System.Xml.XmlConvert.ToBoolean("false"); + + /// + /// + /// Extrapolation allows the closest outside point and the associated interpolation to extend outside of the range of the points in the spline function. + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool extrapolate { + get { + XAttribute x = this.Attribute(extrapolateXName); + if ((x == null)) { + return extrapolateDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(extrapolateXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SplineCalibratorType", "http://www.omg.org/spec/XTCE/20250214"); + + static SplineCalibratorType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(SplinePointXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(SplinePointXName, typeof(SplinePointType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// After searching for the frame sync marker for some number of bits, it may be desirable to invert the incoming data, and then look for frame sync. In some cases this will require an external algorithm + /// + /// + /// Regular expression: (InvertAlgorithm?) + /// + /// + public partial class AutoInvertType : XTypedElement, IXMetaData { + + public static explicit operator AutoInvertType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// After searching for the frame sync marker for some number of bits, it may be desirable to invert the incoming data, and then look for frame sync. In some cases this will require an external algorithm + /// + /// + /// Regular expression: (InvertAlgorithm?) + /// + /// + public AutoInvertType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName InvertAlgorithmXName = System.Xml.Linq.XName.Get("InvertAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (InvertAlgorithm?) + /// + /// + public virtual InputAlgorithmType InvertAlgorithm { + get { + XElement x = this.GetElement(InvertAlgorithmXName); + if ((x == null)) { + return null; + } + return ((InputAlgorithmType)(x)); + } + set { + this.SetElement(InvertAlgorithmXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName badFramesToAutoInvertXName = System.Xml.Linq.XName.Get("badFramesToAutoInvert", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static long badFramesToAutoInvertDefaultValue = System.Xml.XmlConvert.ToInt64("1024"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual long badFramesToAutoInvert { + get { + XAttribute x = this.Attribute(badFramesToAutoInvertXName); + if ((x == null)) { + return badFramesToAutoInvertDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(badFramesToAutoInvertXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("AutoInvertType", "http://www.omg.org/spec/XTCE/20250214"); + + static AutoInvertType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(InvertAlgorithmXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(InvertAlgorithmXName, typeof(InputAlgorithmType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A stream type where some level of custom processing (e.g. convolutional, encryption, compression) is performed. Has a reference to external algorithms for encoding and decoding algorithms. + /// + /// + /// Must check to ensure that the attributes encodedStreamRef and decodedStreamRef point to valid Streams + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, EncodingAlgorithm, DecodingAlgorithm) + /// + /// + public partial class CustomStreamType : global::Omg.Xtce.PCMStreamType, IXMetaData { + + public static explicit operator CustomStreamType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// A stream type where some level of custom processing (e.g. convolutional, encryption, compression) is performed. Has a reference to external algorithms for encoding and decoding algorithms. + /// + /// + /// Must check to ensure that the attributes encodedStreamRef and decodedStreamRef point to valid Streams + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, EncodingAlgorithm, DecodingAlgorithm) + /// + /// + public CustomStreamType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EncodingAlgorithmXName = System.Xml.Linq.XName.Get("EncodingAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, EncodingAlgorithm, DecodingAlgorithm) + /// + /// + public virtual InputAlgorithmType EncodingAlgorithm { + get { + XElement x = this.GetElement(EncodingAlgorithmXName); + return ((InputAlgorithmType)(x)); + } + set { + this.SetElement(EncodingAlgorithmXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DecodingAlgorithmXName = System.Xml.Linq.XName.Get("DecodingAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Algorithm outputs may be used to set decoding quality parameters. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, EncodingAlgorithm, DecodingAlgorithm) + /// + /// + public virtual InputOutputAlgorithmType DecodingAlgorithm { + get { + XElement x = this.GetElement(DecodingAlgorithmXName); + return ((InputOutputAlgorithmType)(x)); + } + set { + this.SetElement(DecodingAlgorithmXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName encodedStreamRefXName = System.Xml.Linq.XName.Get("encodedStreamRef", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string encodedStreamRef { + get { + XAttribute x = this.Attribute(encodedStreamRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(encodedStreamRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName decodedStreamRefXName = System.Xml.Linq.XName.Get("decodedStreamRef", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string decodedStreamRef { + get { + XAttribute x = this.Attribute(decodedStreamRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(decodedStreamRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CustomStreamType", "http://www.omg.org/spec/XTCE/20250214"); + + static CustomStreamType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(EncodingAlgorithmXName), new NamedContentModelEntity(DecodingAlgorithmXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(EncodingAlgorithmXName, typeof(InputAlgorithmType)); + localElementDictionary.Add(DecodingAlgorithmXName, typeof(InputOutputAlgorithmType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public enum FlagBitType { + + zeros, + + ones, + } + + public sealed class FlagBitTypeValidator { + + private FlagBitTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "zeros", + "ones"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// The pattern of bits used to look for frame synchronization. + /// + /// + public partial class FlagType : XTypedElement, IXMetaData { + + public static explicit operator FlagType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// The pattern of bits used to look for frame synchronization. + /// + /// + public FlagType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName flagSizeInBitsXName = System.Xml.Linq.XName.Get("flagSizeInBits", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static long flagSizeInBitsDefaultValue = System.Xml.XmlConvert.ToInt64("6"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual long flagSizeInBits { + get { + XAttribute x = this.Attribute(flagSizeInBitsXName); + if ((x == null)) { + return flagSizeInBitsDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(flagSizeInBitsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName flagBitTypeXName = System.Xml.Linq.XName.Get("flagBitType", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.FlagBitType flagBitTypeDefaultValue = Omg.Xtce.FlagBitType.ones; + + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.FlagBitType flagBitType { + get { + XAttribute x = this.Attribute(flagBitTypeXName); + if ((x == null)) { + return flagBitTypeDefaultValue; + } + return ((Omg.Xtce.FlagBitType)(Enum.Parse(typeof(Omg.Xtce.FlagBitType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.FlagBitTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(flagBitTypeXName, value.ToString(), "flagBitType", global::Omg.Xtce.FlagBitTypeValidator.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("FlagType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// The top level type definition for all data streams that are frame based. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ContainerRef | ServiceRef), StreamRef?) + /// + /// + public partial class FrameStreamType : global::Omg.Xtce.PCMStreamType, IXMetaData { + + public static explicit operator FrameStreamType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// The top level type definition for all data streams that are frame based. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ContainerRef | ServiceRef), StreamRef?) + /// + /// + public FrameStreamType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContainerRefXName = System.Xml.Linq.XName.Get("ContainerRef", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// This Container (usually abstract) is the container that is in the fixed frame stream. Normally, this is a general container type from which many specific containers are inherited. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ContainerRef | ServiceRef), StreamRef?) + /// + /// + public virtual ContainerRefType ContainerRef { + get { + XElement x = this.GetElement(ContainerRefXName); + if ((x == null)) { + return null; + } + return ((ContainerRefType)(x)); + } + set { + this.SetElement(ContainerRefXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ServiceRefXName = System.Xml.Linq.XName.Get("ServiceRef", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ContainerRef | ServiceRef), StreamRef?) + /// + /// + public virtual ServiceRefType ServiceRef { + get { + XElement x = this.GetElement(ServiceRefXName); + if ((x == null)) { + return null; + } + return ((ServiceRefType)(x)); + } + set { + this.SetElement(ServiceRefXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StreamRefXName = System.Xml.Linq.XName.Get("StreamRef", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// This is a reference to a connecting stream - say a custom stream. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ContainerRef | ServiceRef), StreamRef?) + /// + /// + public virtual StreamRefType StreamRef { + get { + XElement x = this.GetElement(StreamRefXName); + if ((x == null)) { + return null; + } + return ((StreamRefType)(x)); + } + set { + this.SetElement(StreamRefXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("FrameStreamType", "http://www.omg.org/spec/XTCE/20250214"); + + static FrameStreamType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(ContainerRefXName), new NamedContentModelEntity(ServiceRefXName)), new NamedContentModelEntity(StreamRefXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(ContainerRefXName, typeof(ContainerRefType)); + localElementDictionary.Add(ServiceRefXName, typeof(ServiceRefType)); + localElementDictionary.Add(StreamRefXName, typeof(StreamRefType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// For streams that contain a series of frames with a fixed frame length where the frames are found by looking for a marker in the data. This marker is sometimes called the frame sync pattern and sometimes the Asynchronous Sync Marker (ASM). This marker need not be contiguous although it usually is. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ContainerRef | ServiceRef), StreamRef?, SyncStrategy) + /// + /// + public partial class FixedFrameStreamType : global::Omg.Xtce.FrameStreamType, IXMetaData { + + public static explicit operator FixedFrameStreamType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// For streams that contain a series of frames with a fixed frame length where the frames are found by looking for a marker in the data. This marker is sometimes called the frame sync pattern and sometimes the Asynchronous Sync Marker (ASM). This marker need not be contiguous although it usually is. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ContainerRef | ServiceRef), StreamRef?, SyncStrategy) + /// + /// + public FixedFrameStreamType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContainerRefXName = System.Xml.Linq.XName.Get("ContainerRef", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ServiceRefXName = System.Xml.Linq.XName.Get("ServiceRef", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StreamRefXName = System.Xml.Linq.XName.Get("StreamRef", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SyncStrategyXName = System.Xml.Linq.XName.Get("SyncStrategy", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ContainerRef | ServiceRef), StreamRef?, SyncStrategy) + /// + /// + public virtual FixedFrameSyncStrategyType SyncStrategy { + get { + XElement x = this.GetElement(SyncStrategyXName); + return ((FixedFrameSyncStrategyType)(x)); + } + set { + this.SetElement(SyncStrategyXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName syncApertureInBitsXName = System.Xml.Linq.XName.Get("syncApertureInBits", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static long syncApertureInBitsDefaultValue = System.Xml.XmlConvert.ToInt64("0"); + + /// + /// + /// Allowed slip (in bits) in either direction for the sync pattern + /// + /// + /// Occurrence: optional + /// + /// + public virtual long syncApertureInBits { + get { + XAttribute x = this.Attribute(syncApertureInBitsXName); + if ((x == null)) { + return syncApertureInBitsDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(syncApertureInBitsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName frameLengthInBitsXName = System.Xml.Linq.XName.Get("frameLengthInBits", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual long frameLengthInBits { + get { + XAttribute x = this.Attribute(frameLengthInBitsXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(frameLengthInBitsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("FixedFrameStreamType", "http://www.omg.org/spec/XTCE/20250214"); + + static FixedFrameStreamType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(ContainerRefXName), new NamedContentModelEntity(ServiceRefXName)), new NamedContentModelEntity(StreamRefXName), new NamedContentModelEntity(SyncStrategyXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(ContainerRefXName, typeof(ContainerRefType)); + localElementDictionary.Add(ServiceRefXName, typeof(ServiceRefType)); + localElementDictionary.Add(StreamRefXName, typeof(StreamRefType)); + localElementDictionary.Add(SyncStrategyXName, typeof(FixedFrameSyncStrategyType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a sync pattern and an optional reference to an algorithm used to invert the stream if the frame sync pattern is not found. See FixedFrameStreamType. + /// + /// + /// Regular expression: (AutoInvert?, SyncPattern) + /// + /// + public partial class FixedFrameSyncStrategyType : global::Omg.Xtce.SyncStrategyType, IXMetaData { + + public static explicit operator FixedFrameSyncStrategyType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a sync pattern and an optional reference to an algorithm used to invert the stream if the frame sync pattern is not found. See FixedFrameStreamType. + /// + /// + /// Regular expression: (AutoInvert?, SyncPattern) + /// + /// + public FixedFrameSyncStrategyType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AutoInvertXName = System.Xml.Linq.XName.Get("AutoInvert", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SyncPatternXName = System.Xml.Linq.XName.Get("SyncPattern", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// The pattern of bits used to look for frame synchronization. See SyncPatternType. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (AutoInvert?, SyncPattern) + /// + /// + public virtual SyncPatternType SyncPattern { + get { + XElement x = this.GetElement(SyncPatternXName); + return ((SyncPatternType)(x)); + } + set { + this.SetElement(SyncPatternXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("FixedFrameSyncStrategyType", "http://www.omg.org/spec/XTCE/20250214"); + + static FixedFrameSyncStrategyType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AutoInvertXName), new NamedContentModelEntity(SyncPatternXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AutoInvertXName, typeof(AutoInvertType)); + localElementDictionary.Add(SyncPatternXName, typeof(SyncPatternType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A PCM Stream Type is the high level definition for all Pulse Code Modulated (PCM) (i.e., binary) streams. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?) + /// + /// + public abstract partial class PCMStreamType : global::Omg.Xtce.NameDescriptionType, IXMetaData { + + public static explicit operator PCMStreamType(XElement xe) { return (PCMStreamType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// A PCM Stream Type is the high level definition for all Pulse Code Modulated (PCM) (i.e., binary) streams. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?) + /// + /// + public PCMStreamType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName bitRateInBPSXName = System.Xml.Linq.XName.Get("bitRateInBPS", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Double? bitRateInBPS { + get { + XAttribute x = this.Attribute(bitRateInBPSXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + set { + this.SetAttribute(bitRateInBPSXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName pcmTypeXName = System.Xml.Linq.XName.Get("pcmType", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.PCMType pcmTypeDefaultValue = Omg.Xtce.PCMType.NRZL; + + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.PCMType pcmType { + get { + XAttribute x = this.Attribute(pcmTypeXName); + if ((x == null)) { + return pcmTypeDefaultValue; + } + return ((Omg.Xtce.PCMType)(Enum.Parse(typeof(Omg.Xtce.PCMType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.PCMTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(pcmTypeXName, value.ToString(), "pcmType", global::Omg.Xtce.PCMTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName invertedXName = System.Xml.Linq.XName.Get("inverted", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool invertedDefaultValue = System.Xml.XmlConvert.ToBoolean("false"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool inverted { + get { + XAttribute x = this.Attribute(invertedXName); + if ((x == null)) { + return invertedDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(invertedXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("PCMStreamType", "http://www.omg.org/spec/XTCE/20250214"); + + static PCMStreamType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public enum PCMType { + + NRZL, + + NRZM, + + NRZS, + + BiPhaseL, + + BiPhaseM, + + BiPhaseS, + } + + public sealed class PCMTypeValidator { + + private PCMTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "NRZL", + "NRZM", + "NRZS", + "BiPhaseL", + "BiPhaseM", + "BiPhaseS"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Holds a reference to a stream + /// + /// + public partial class StreamRefType : XTypedElement, IXMetaData { + + public static explicit operator StreamRefType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Holds a reference to a stream + /// + /// + public StreamRefType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName streamRefXName = System.Xml.Linq.XName.Get("streamRef", ""); + + /// + /// + /// name of reference stream + /// + /// + /// Occurrence: required + /// + /// + public virtual string streamRef { + get { + XAttribute x = this.Attribute(streamRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(streamRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("StreamRefType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Contains an unordered set of Streams. + /// + /// + /// Regular expression: (FixedFrameStream | VariableFrameStream | CustomStream)+ + /// + /// + public partial class StreamSetType : XTypedElement, IXMetaData { + + public static explicit operator StreamSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Contains an unordered set of Streams. + /// + /// + /// Regular expression: (FixedFrameStream | VariableFrameStream | CustomStream)+ + /// + /// + public StreamSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FixedFrameStreamXName = System.Xml.Linq.XName.Get("FixedFrameStream", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList FixedFrameStreamField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (FixedFrameStream | VariableFrameStream | CustomStream)+ + /// + /// + public virtual IList FixedFrameStream { + get { + if ((this.FixedFrameStreamField == null)) { + this.FixedFrameStreamField = new XTypedList(this, LinqToXsdTypeManager.Instance, FixedFrameStreamXName); + } + return this.FixedFrameStreamField; + } + set { + if ((value == null)) { + this.FixedFrameStreamField = null; + } + else { + if ((this.FixedFrameStreamField == null)) { + this.FixedFrameStreamField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, FixedFrameStreamXName); + } + else { + XTypedServices.SetList(this.FixedFrameStreamField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName VariableFrameStreamXName = System.Xml.Linq.XName.Get("VariableFrameStream", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList VariableFrameStreamField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (FixedFrameStream | VariableFrameStream | CustomStream)+ + /// + /// + public virtual IList VariableFrameStream { + get { + if ((this.VariableFrameStreamField == null)) { + this.VariableFrameStreamField = new XTypedList(this, LinqToXsdTypeManager.Instance, VariableFrameStreamXName); + } + return this.VariableFrameStreamField; + } + set { + if ((value == null)) { + this.VariableFrameStreamField = null; + } + else { + if ((this.VariableFrameStreamField == null)) { + this.VariableFrameStreamField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, VariableFrameStreamXName); + } + else { + XTypedServices.SetList(this.VariableFrameStreamField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomStreamXName = System.Xml.Linq.XName.Get("CustomStream", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList CustomStreamField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (FixedFrameStream | VariableFrameStream | CustomStream)+ + /// + /// + public virtual IList CustomStream { + get { + if ((this.CustomStreamField == null)) { + this.CustomStreamField = new XTypedList(this, LinqToXsdTypeManager.Instance, CustomStreamXName); + } + return this.CustomStreamField; + } + set { + if ((value == null)) { + this.CustomStreamField = null; + } + else { + if ((this.CustomStreamField == null)) { + this.CustomStreamField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, CustomStreamXName); + } + else { + XTypedServices.SetList(this.CustomStreamField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("StreamSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static StreamSetType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(FixedFrameStreamXName), new NamedContentModelEntity(VariableFrameStreamXName), new NamedContentModelEntity(CustomStreamXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(FixedFrameStreamXName, typeof(FixedFrameStreamType)); + localElementDictionary.Add(VariableFrameStreamXName, typeof(VariableFrameStreamType)); + localElementDictionary.Add(CustomStreamXName, typeof(CustomStreamType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A Sync Strategy specifies the strategy on how to find frames within a stream of PCM data. The sync strategy is based upon a state machine that begins in the 'Search' state until the first sync marker is found. Then it goes into the 'Verify' state until a specified number of successive good sync markers are found. Then, the state machine goes into the 'Lock' state, in the 'Lock' state frames are considered good. Should a sync marker be missed in the 'Lock' state, the state machine will transition into the 'Check' state, if the next sync marker is where it's expected within a specified number of frames, then the state machine will transition back to the 'Lock' state, it not it will transition back to 'Search'. + /// + /// + /// Regular expression: (AutoInvert?) + /// + /// + public abstract partial class SyncStrategyType : XTypedElement, IXMetaData { + + public static explicit operator SyncStrategyType(XElement xe) { return (SyncStrategyType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// A Sync Strategy specifies the strategy on how to find frames within a stream of PCM data. The sync strategy is based upon a state machine that begins in the 'Search' state until the first sync marker is found. Then it goes into the 'Verify' state until a specified number of successive good sync markers are found. Then, the state machine goes into the 'Lock' state, in the 'Lock' state frames are considered good. Should a sync marker be missed in the 'Lock' state, the state machine will transition into the 'Check' state, if the next sync marker is where it's expected within a specified number of frames, then the state machine will transition back to the 'Lock' state, it not it will transition back to 'Search'. + /// + /// + /// Regular expression: (AutoInvert?) + /// + /// + public SyncStrategyType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AutoInvertXName = System.Xml.Linq.XName.Get("AutoInvert", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (AutoInvert?) + /// + /// + public virtual AutoInvertType AutoInvert { + get { + XElement x = this.GetElement(AutoInvertXName); + if ((x == null)) { + return null; + } + return ((AutoInvertType)(x)); + } + set { + this.SetElement(AutoInvertXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName verifyToLockGoodFramesXName = System.Xml.Linq.XName.Get("verifyToLockGoodFrames", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static long verifyToLockGoodFramesDefaultValue = System.Xml.XmlConvert.ToInt64("4"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual long verifyToLockGoodFrames { + get { + XAttribute x = this.Attribute(verifyToLockGoodFramesXName); + if ((x == null)) { + return verifyToLockGoodFramesDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(verifyToLockGoodFramesXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName checkToLockGoodFramesXName = System.Xml.Linq.XName.Get("checkToLockGoodFrames", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static long checkToLockGoodFramesDefaultValue = System.Xml.XmlConvert.ToInt64("1"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual long checkToLockGoodFrames { + get { + XAttribute x = this.Attribute(checkToLockGoodFramesXName); + if ((x == null)) { + return checkToLockGoodFramesDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(checkToLockGoodFramesXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName maxBitErrorsInSyncPatternXName = System.Xml.Linq.XName.Get("maxBitErrorsInSyncPattern", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static long maxBitErrorsInSyncPatternDefaultValue = System.Xml.XmlConvert.ToInt64("0"); + + /// + /// + /// Maximum number of bit errors in the sync pattern (marker). + /// + /// + /// Occurrence: optional + /// + /// + public virtual long maxBitErrorsInSyncPattern { + get { + XAttribute x = this.Attribute(maxBitErrorsInSyncPatternXName); + if ((x == null)) { + return maxBitErrorsInSyncPatternDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(maxBitErrorsInSyncPatternXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SyncStrategyType", "http://www.omg.org/spec/XTCE/20250214"); + + static SyncStrategyType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AutoInvertXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AutoInvertXName, typeof(AutoInvertType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// The pattern of bits used to look for frame synchronization. + /// + /// + public partial class SyncPatternType : XTypedElement, IXMetaData { + + public static explicit operator SyncPatternType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// The pattern of bits used to look for frame synchronization. + /// + /// + public SyncPatternType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName patternXName = System.Xml.Linq.XName.Get("pattern", ""); + + /// + /// + /// CCSDS ASM for non-turbocoded frames = 1acffc1d + /// + /// + /// Occurrence: required + /// + /// + public virtual byte[] pattern { + get { + XAttribute x = this.Attribute(patternXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary).Datatype); + } + set { + this.SetAttribute(patternXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName bitLocationFromStartOfContainerXName = System.Xml.Linq.XName.Get("bitLocationFromStartOfContainer", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static long bitLocationFromStartOfContainerDefaultValue = System.Xml.XmlConvert.ToInt64("0"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual long bitLocationFromStartOfContainer { + get { + XAttribute x = this.Attribute(bitLocationFromStartOfContainerXName); + if ((x == null)) { + return bitLocationFromStartOfContainerDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(bitLocationFromStartOfContainerXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName maskXName = System.Xml.Linq.XName.Get("mask", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual byte[] mask { + get { + XAttribute x = this.Attribute(maskXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary).Datatype); + } + set { + this.SetAttribute(maskXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName maskLengthInBitsXName = System.Xml.Linq.XName.Get("maskLengthInBits", ""); + + /// + /// + /// truncate the mask from the left + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Int64? maskLengthInBits { + get { + XAttribute x = this.Attribute(maskLengthInBitsXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(maskLengthInBitsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName patternLengthInBitsXName = System.Xml.Linq.XName.Get("patternLengthInBits", ""); + + /// + /// + /// truncate the pattern from the left + /// + /// + /// Occurrence: required + /// + /// + public virtual long patternLengthInBits { + get { + XAttribute x = this.Attribute(patternLengthInBitsXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(patternLengthInBitsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SyncPatternType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// For streams that contain a series of frames with a variable frame length where the frames are found by looking for a series of one's or zero's (usually one's). The series is called the flag. in the PCM stream that are usually made to be illegal in the PCM stream by zero or one bit insertion. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ContainerRef | ServiceRef), StreamRef?, SyncStrategy) + /// + /// + public partial class VariableFrameStreamType : global::Omg.Xtce.FrameStreamType, IXMetaData { + + public static explicit operator VariableFrameStreamType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// For streams that contain a series of frames with a variable frame length where the frames are found by looking for a series of one's or zero's (usually one's). The series is called the flag. in the PCM stream that are usually made to be illegal in the PCM stream by zero or one bit insertion. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ContainerRef | ServiceRef), StreamRef?, SyncStrategy) + /// + /// + public VariableFrameStreamType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContainerRefXName = System.Xml.Linq.XName.Get("ContainerRef", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ServiceRefXName = System.Xml.Linq.XName.Get("ServiceRef", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StreamRefXName = System.Xml.Linq.XName.Get("StreamRef", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SyncStrategyXName = System.Xml.Linq.XName.Get("SyncStrategy", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, (ContainerRef | ServiceRef), StreamRef?, SyncStrategy) + /// + /// + public virtual VariableFrameSyncStrategyType SyncStrategy { + get { + XElement x = this.GetElement(SyncStrategyXName); + return ((VariableFrameSyncStrategyType)(x)); + } + set { + this.SetElement(SyncStrategyXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("VariableFrameStreamType", "http://www.omg.org/spec/XTCE/20250214"); + + static VariableFrameStreamType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(ContainerRefXName), new NamedContentModelEntity(ServiceRefXName)), new NamedContentModelEntity(StreamRefXName), new NamedContentModelEntity(SyncStrategyXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(ContainerRefXName, typeof(ContainerRefType)); + localElementDictionary.Add(ServiceRefXName, typeof(ServiceRefType)); + localElementDictionary.Add(StreamRefXName, typeof(StreamRefType)); + localElementDictionary.Add(SyncStrategyXName, typeof(VariableFrameSyncStrategyType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (AutoInvert?, Flag) + /// + /// + public partial class VariableFrameSyncStrategyType : global::Omg.Xtce.SyncStrategyType, IXMetaData { + + public static explicit operator VariableFrameSyncStrategyType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (AutoInvert?, Flag) + /// + /// + public VariableFrameSyncStrategyType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AutoInvertXName = System.Xml.Linq.XName.Get("AutoInvert", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FlagXName = System.Xml.Linq.XName.Get("Flag", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (AutoInvert?, Flag) + /// + /// + public virtual FlagType Flag { + get { + XElement x = this.GetElement(FlagXName); + return ((FlagType)(x)); + } + set { + this.SetElement(FlagXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("VariableFrameSyncStrategyType", "http://www.omg.org/spec/XTCE/20250214"); + + static VariableFrameSyncStrategyType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AutoInvertXName), new NamedContentModelEntity(FlagXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AutoInvertXName, typeof(AutoInvertType)); + localElementDictionary.Add(FlagXName, typeof(FlagType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A base schema type for describing an absolute time data type. Contains an absolute (to a known epoch) time. Use the [ISO 8601] extended format CCYY-MM-DDThh:mm:ss where "CC" represents the century, "YY" the year, "MM" the month and "DD" the day, preceded by an optional leading "-" sign to indicate a negative number. If the sign is omitted, "+" is assumed. The letter "T" is the date/time separator and "hh", "mm", "ss" represent hour, minute and second respectively. Additional digits can be used to increase the precision of fractional seconds if desired i.e. the format ss.ss... with any number of digits after the decimal point is supported. See AbsoluteTimeParameterType and AbsoluteTimeArgumentType. See AbsouteTimeParameterType, AbsoluteTimeArgumentType and BaseTimeDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Encoding?, ReferenceTime?) + /// + /// + public abstract partial class ArgumentAbsoluteTimeDataType : global::Omg.Xtce.ArgumentBaseTimeDataType, IXMetaData { + + public static explicit operator ArgumentAbsoluteTimeDataType(XElement xe) { return (ArgumentAbsoluteTimeDataType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// A base schema type for describing an absolute time data type. Contains an absolute (to a known epoch) time. Use the [ISO 8601] extended format CCYY-MM-DDThh:mm:ss where "CC" represents the century, "YY" the year, "MM" the month and "DD" the day, preceded by an optional leading "-" sign to indicate a negative number. If the sign is omitted, "+" is assumed. The letter "T" is the date/time separator and "hh", "mm", "ss" represent hour, minute and second respectively. Additional digits can be used to increase the precision of fractional seconds if desired i.e. the format ss.ss... with any number of digits after the decimal point is supported. See AbsoluteTimeParameterType and AbsoluteTimeArgumentType. See AbsouteTimeParameterType, AbsoluteTimeArgumentType and BaseTimeDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Encoding?, ReferenceTime?) + /// + /// + public ArgumentAbsoluteTimeDataType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EncodingXName = System.Xml.Linq.XName.Get("Encoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ReferenceTimeXName = System.Xml.Linq.XName.Get("ReferenceTime", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName initialValueXName = System.Xml.Linq.XName.Get("initialValue", ""); + + /// + /// + /// Default/Initial value is always given in calibrated form. + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.DateTime? initialValue { + get { + XAttribute x = this.Attribute(initialValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.DateTime).Datatype); + } + set { + this.SetAttribute(initialValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.DateTime).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentAbsoluteTimeDataType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentAbsoluteTimeDataType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(EncodingXName), new NamedContentModelEntity(ReferenceTimeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(EncodingXName, typeof(EncodingType)); + localElementDictionary.Add(ReferenceTimeXName, typeof(ReferenceTimeType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A base schema type for describing an absolute time data type. Contains an absolute (to a known epoch) time. Use the [ISO 8601] extended format CCYY-MM-DDThh:mm:ss where "CC" represents the century, "YY" the year, "MM" the month and "DD" the day, preceded by an optional leading "-" sign to indicate a negative number. If the sign is omitted, "+" is assumed. The letter "T" is the date/time separator and "hh", "mm", "ss" represent hour, minute and second respectively. Additional digits can be used to increase the precision of fractional seconds if desired i.e. the format ss.ss... with any number of digits after the decimal point is supported. See AbsoluteTimeParameterType and AbsoluteTimeArgumentType. See AbsouteTimeParameterType, AbsoluteTimeArgumentType and BaseTimeDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Encoding?, ReferenceTime?) + /// + /// + public abstract partial class AbsoluteTimeDataType : global::Omg.Xtce.BaseTimeDataType, IXMetaData { + + public static explicit operator AbsoluteTimeDataType(XElement xe) { return (AbsoluteTimeDataType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// A base schema type for describing an absolute time data type. Contains an absolute (to a known epoch) time. Use the [ISO 8601] extended format CCYY-MM-DDThh:mm:ss where "CC" represents the century, "YY" the year, "MM" the month and "DD" the day, preceded by an optional leading "-" sign to indicate a negative number. If the sign is omitted, "+" is assumed. The letter "T" is the date/time separator and "hh", "mm", "ss" represent hour, minute and second respectively. Additional digits can be used to increase the precision of fractional seconds if desired i.e. the format ss.ss... with any number of digits after the decimal point is supported. See AbsoluteTimeParameterType and AbsoluteTimeArgumentType. See AbsouteTimeParameterType, AbsoluteTimeArgumentType and BaseTimeDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Encoding?, ReferenceTime?) + /// + /// + public AbsoluteTimeDataType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EncodingXName = System.Xml.Linq.XName.Get("Encoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ReferenceTimeXName = System.Xml.Linq.XName.Get("ReferenceTime", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName initialValueXName = System.Xml.Linq.XName.Get("initialValue", ""); + + /// + /// + /// Default/Initial value is always given in calibrated form. + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.DateTime? initialValue { + get { + XAttribute x = this.Attribute(initialValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.DateTime).Datatype); + } + set { + this.SetAttribute(initialValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.DateTime).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("AbsoluteTimeDataType", "http://www.omg.org/spec/XTCE/20250214"); + + static AbsoluteTimeDataType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(EncodingXName), new NamedContentModelEntity(ReferenceTimeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(EncodingXName, typeof(EncodingType)); + localElementDictionary.Add(ReferenceTimeXName, typeof(ReferenceTimeType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A base schema type for describing a complex data type analogous to a C-struct. Each field of the data type is called a Member. Each Member is part of the MemberList which forms the list of items to be placed under this data type's name. The MemberList defines a data block and block's size is defined by the DataEncodings of each Member's type reference. The data members are ordered and contiguous in the MemberList element (packed). Each member may be addressed by the dot syntax similar to C such as P.voltage if P is the referring parameter and voltage is of a member of P's aggregate type. See MemberType, MemberListType, DataEncodingType, NameReferenceType, AggregateParameterType and AggregateArgumentType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, MemberList) + /// + /// + public abstract partial class AggregateDataType : global::Omg.Xtce.NameDescriptionType, IXMetaData { + + public static explicit operator AggregateDataType(XElement xe) { return (AggregateDataType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// A base schema type for describing a complex data type analogous to a C-struct. Each field of the data type is called a Member. Each Member is part of the MemberList which forms the list of items to be placed under this data type's name. The MemberList defines a data block and block's size is defined by the DataEncodings of each Member's type reference. The data members are ordered and contiguous in the MemberList element (packed). Each member may be addressed by the dot syntax similar to C such as P.voltage if P is the referring parameter and voltage is of a member of P's aggregate type. See MemberType, MemberListType, DataEncodingType, NameReferenceType, AggregateParameterType and AggregateArgumentType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, MemberList) + /// + /// + public AggregateDataType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MemberListXName = System.Xml.Linq.XName.Get("MemberList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Ordered list of the members of the aggregate/structure. Members are contiguous. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, MemberList) + /// + /// + public virtual MemberListType MemberList { + get { + XElement x = this.GetElement(MemberListXName); + return ((MemberListType)(x)); + } + set { + this.SetElement(MemberListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName initialValueXName = System.Xml.Linq.XName.Get("initialValue", ""); + + /// + /// + /// Initial values for the individual members of the aggregate/structure may be provided here at the type definition using JSON style notation (e.g. '{ "member1": 2, "member2": "foo" }'). When Member elements provide initialValue attributes, they take precedence over these since these are at the type definition level and the Member element acts like a Parameter element. These may also recurse into members that are also aggregates. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string initialValue { + get { + XAttribute x = this.Attribute(initialValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(initialValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("AggregateDataType", "http://www.omg.org/spec/XTCE/20250214"); + + static AggregateDataType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(MemberListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(MemberListXName, typeof(MemberListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A base schema type for describing an array data type. The number of and size of each dimension is defined in its two child types. See NameReferenceType, ArrayArgumentType and ArrayParameterType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?) + /// + /// + public abstract partial class ArrayDataTypeType : global::Omg.Xtce.NameDescriptionType, IXMetaData { + + public static explicit operator ArrayDataTypeType(XElement xe) { return (ArrayDataTypeType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// A base schema type for describing an array data type. The number of and size of each dimension is defined in its two child types. See NameReferenceType, ArrayArgumentType and ArrayParameterType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?) + /// + /// + public ArrayDataTypeType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName arrayTypeRefXName = System.Xml.Linq.XName.Get("arrayTypeRef", ""); + + /// + /// + /// Reference to the data type that represents the type of the elements for this array. + /// + /// + /// Occurrence: required + /// + /// + public virtual string arrayTypeRef { + get { + XAttribute x = this.Attribute(arrayTypeRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(arrayTypeRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName initialValueXName = System.Xml.Linq.XName.Get("initialValue", ""); + + /// + /// + /// Initial values for the individual elements of the array may be provided here at the type definition using JSON style array notation (e.g. [1, 2, 3]). It may be multi-dimension, in which case the sequence matches the sequence of the Dimension elements in the DimensionList. When provided here, the initialValue attributes in the type definition specified in attribute arrayTypeRef are ignored. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string initialValue { + get { + XAttribute x = this.Attribute(initialValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(initialValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArrayDataTypeType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArrayDataTypeType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// An abstract schema type used by within the schema to derive the other simple/primitive engineering form data types: BooleanDataType, BinaryDataType, StringDataType, EnumeratedDataType, FloatDataType and IntegerDataType. The encoding elements are optional because they describe the raw wire encoded form of the data type. Encoding is only necessary when the type is telemetered in some form. Local variables and derived typically do not require encoding. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?) + /// + /// + public abstract partial class BaseDataType : global::Omg.Xtce.NameDescriptionType, IXMetaData { + + public static explicit operator BaseDataType(XElement xe) { return (BaseDataType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// An abstract schema type used by within the schema to derive the other simple/primitive engineering form data types: BooleanDataType, BinaryDataType, StringDataType, EnumeratedDataType, FloatDataType and IntegerDataType. The encoding elements are optional because they describe the raw wire encoded form of the data type. Encoding is only necessary when the type is telemetered in some form. Local variables and derived typically do not require encoding. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?) + /// + /// + public BaseDataType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitSetXName = System.Xml.Linq.XName.Get("UnitSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// When appropriate, describe the units of measure that are represented by this parameter value. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?) + /// + /// + public virtual UnitSetType UnitSet { + get { + XElement x = this.GetElement(UnitSetXName); + if ((x == null)) { + return null; + } + return ((UnitSetType)(x)); + } + set { + this.SetElement(UnitSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryDataEncodingXName = System.Xml.Linq.XName.Get("BinaryDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Binary encoding is typically a "pass through" raw encoding form where one of the more common encodings is not required for the parameter. A custom transformation capability is available if needed. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?) + /// + /// + public virtual BinaryDataEncodingType BinaryDataEncoding { + get { + XElement x = this.GetElement(BinaryDataEncodingXName); + if ((x == null)) { + return null; + } + return ((BinaryDataEncodingType)(x)); + } + set { + this.SetElement(BinaryDataEncodingXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatDataEncodingXName = System.Xml.Linq.XName.Get("FloatDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Float encoding is a common encoding where the raw binary is in a form that gets interpreted as a decimal numeric value. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?) + /// + /// + public virtual FloatDataEncodingType FloatDataEncoding { + get { + XElement x = this.GetElement(FloatDataEncodingXName); + if ((x == null)) { + return null; + } + return ((FloatDataEncodingType)(x)); + } + set { + this.SetElement(FloatDataEncodingXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerDataEncodingXName = System.Xml.Linq.XName.Get("IntegerDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Integer encoding is a common encoding where the raw binary is in a form that gets interpreted as an integral value, either signed or unsigned. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?) + /// + /// + public virtual IntegerDataEncodingType IntegerDataEncoding { + get { + XElement x = this.GetElement(IntegerDataEncodingXName); + if ((x == null)) { + return null; + } + return ((IntegerDataEncodingType)(x)); + } + set { + this.SetElement(IntegerDataEncodingXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringDataEncodingXName = System.Xml.Linq.XName.Get("StringDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// String encoding is a common encoding where the raw binary is in a form that gets interpreted as a character sequence. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?) + /// + /// + public virtual StringDataEncodingType StringDataEncoding { + get { + XElement x = this.GetElement(StringDataEncodingXName); + if ((x == null)) { + return null; + } + return ((StringDataEncodingType)(x)); + } + set { + this.SetElement(StringDataEncodingXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName baseTypeXName = System.Xml.Linq.XName.Get("baseType", ""); + + /// + /// + /// Must be derived from a like type (e.g,, String from String). No circular derivations. + /// + /// + /// Used to derive one Data Type from another - will inherit all the attributes from the baseType any of which may be redefined in this type definition. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string baseType { + get { + XAttribute x = this.Attribute(baseTypeXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(baseTypeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BaseDataType", "http://www.omg.org/spec/XTCE/20250214"); + + static BaseDataType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(UnitSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(BinaryDataEncodingXName), new NamedContentModelEntity(FloatDataEncodingXName), new NamedContentModelEntity(IntegerDataEncodingXName), new NamedContentModelEntity(StringDataEncodingXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(UnitSetXName, typeof(UnitSetType)); + localElementDictionary.Add(BinaryDataEncodingXName, typeof(BinaryDataEncodingType)); + localElementDictionary.Add(FloatDataEncodingXName, typeof(FloatDataEncodingType)); + localElementDictionary.Add(IntegerDataEncodingXName, typeof(IntegerDataEncodingType)); + localElementDictionary.Add(StringDataEncodingXName, typeof(StringDataEncodingType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to BaseDataType but supports argument instance references. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?) + /// + /// + public abstract partial class ArgumentBaseDataType : global::Omg.Xtce.NameDescriptionType, IXMetaData { + + public static explicit operator ArgumentBaseDataType(XElement xe) { return (ArgumentBaseDataType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// Identical to BaseDataType but supports argument instance references. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?) + /// + /// + public ArgumentBaseDataType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitSetXName = System.Xml.Linq.XName.Get("UnitSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// When appropriate, describe the units of measure that are represented by this argument value. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?) + /// + /// + public virtual UnitSetType UnitSet { + get { + XElement x = this.GetElement(UnitSetXName); + if ((x == null)) { + return null; + } + return ((UnitSetType)(x)); + } + set { + this.SetElement(UnitSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryDataEncodingXName = System.Xml.Linq.XName.Get("BinaryDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Binary encoding is typically a "pass through" raw encoding form where one of the more common encodings is not required for the argument. A custom transformation capability is available if needed. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?) + /// + /// + public virtual ArgumentBinaryDataEncodingType BinaryDataEncoding { + get { + XElement x = this.GetElement(BinaryDataEncodingXName); + if ((x == null)) { + return null; + } + return ((ArgumentBinaryDataEncodingType)(x)); + } + set { + this.SetElement(BinaryDataEncodingXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatDataEncodingXName = System.Xml.Linq.XName.Get("FloatDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Float encoding is a common encoding where the raw binary is in a form that gets interpreted as a decimal numeric value. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?) + /// + /// + public virtual FloatDataEncodingType FloatDataEncoding { + get { + XElement x = this.GetElement(FloatDataEncodingXName); + if ((x == null)) { + return null; + } + return ((FloatDataEncodingType)(x)); + } + set { + this.SetElement(FloatDataEncodingXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerDataEncodingXName = System.Xml.Linq.XName.Get("IntegerDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Integer encoding is a common encoding where the raw binary is in a form that gets interpreted as an integral value, either signed or unsigned. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?) + /// + /// + public virtual IntegerDataEncodingType IntegerDataEncoding { + get { + XElement x = this.GetElement(IntegerDataEncodingXName); + if ((x == null)) { + return null; + } + return ((IntegerDataEncodingType)(x)); + } + set { + this.SetElement(IntegerDataEncodingXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringDataEncodingXName = System.Xml.Linq.XName.Get("StringDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// String encoding is a common encoding where the raw binary is in a form that gets interpreted as a character sequence. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?) + /// + /// + public virtual ArgumentStringDataEncodingType StringDataEncoding { + get { + XElement x = this.GetElement(StringDataEncodingXName); + if ((x == null)) { + return null; + } + return ((ArgumentStringDataEncodingType)(x)); + } + set { + this.SetElement(StringDataEncodingXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName baseTypeXName = System.Xml.Linq.XName.Get("baseType", ""); + + /// + /// + /// Must be derived from a like type (e.g,, String from String). No circular derivations. + /// + /// + /// Used to derive one Data Type from another - will inherit all the attributes from the baseType any of which may be redefined in this type definition. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string baseType { + get { + XAttribute x = this.Attribute(baseTypeXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(baseTypeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentBaseDataType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentBaseDataType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(UnitSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(BinaryDataEncodingXName), new NamedContentModelEntity(FloatDataEncodingXName), new NamedContentModelEntity(IntegerDataEncodingXName), new NamedContentModelEntity(StringDataEncodingXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(UnitSetXName, typeof(UnitSetType)); + localElementDictionary.Add(BinaryDataEncodingXName, typeof(ArgumentBinaryDataEncodingType)); + localElementDictionary.Add(FloatDataEncodingXName, typeof(FloatDataEncodingType)); + localElementDictionary.Add(IntegerDataEncodingXName, typeof(IntegerDataEncodingType)); + localElementDictionary.Add(StringDataEncodingXName, typeof(ArgumentStringDataEncodingType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to BaseTimeDataType but supports argument instance references. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Encoding?, ReferenceTime?) + /// + /// + public abstract partial class ArgumentBaseTimeDataType : global::Omg.Xtce.NameDescriptionType, IXMetaData { + + public static explicit operator ArgumentBaseTimeDataType(XElement xe) { return (ArgumentBaseTimeDataType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// Identical to BaseTimeDataType but supports argument instance references. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Encoding?, ReferenceTime?) + /// + /// + public ArgumentBaseTimeDataType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EncodingXName = System.Xml.Linq.XName.Get("Encoding", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Describes how the raw base counts of the time type are encoded/decoded. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Encoding?, ReferenceTime?) + /// + /// + public virtual EncodingType Encoding { + get { + XElement x = this.GetElement(EncodingXName); + if ((x == null)) { + return null; + } + return ((EncodingType)(x)); + } + set { + this.SetElement(EncodingXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ReferenceTimeXName = System.Xml.Linq.XName.Get("ReferenceTime", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Describes origin (epoch or reference) of this time type. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Encoding?, ReferenceTime?) + /// + /// + public virtual ReferenceTimeType ReferenceTime { + get { + XElement x = this.GetElement(ReferenceTimeXName); + if ((x == null)) { + return null; + } + return ((ReferenceTimeType)(x)); + } + set { + this.SetElement(ReferenceTimeXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName baseTypeXName = System.Xml.Linq.XName.Get("baseType", ""); + + /// + /// + /// Extend another absolute or relative time type. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string baseType { + get { + XAttribute x = this.Attribute(baseTypeXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(baseTypeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentBaseTimeDataType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentBaseTimeDataType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(EncodingXName), new NamedContentModelEntity(ReferenceTimeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(EncodingXName, typeof(EncodingType)); + localElementDictionary.Add(ReferenceTimeXName, typeof(ReferenceTimeType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// An abstract schema type used within the schema to derive other time based data types: RelativeTimeDataType and AbsoluteTimeDataType. An absolute time data type is a telemetered source/destination data type. A data encoding must be set. An optional epoch may be set. Time types are an exception to other primitives because, if the time data type is not telemetered, it still must have a data encoding set. See DataEncodingType, AbsoluteTimeDataType and RelativeTimeDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Encoding?, ReferenceTime?) + /// + /// + public abstract partial class BaseTimeDataType : global::Omg.Xtce.NameDescriptionType, IXMetaData { + + public static explicit operator BaseTimeDataType(XElement xe) { return (BaseTimeDataType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// An abstract schema type used within the schema to derive other time based data types: RelativeTimeDataType and AbsoluteTimeDataType. An absolute time data type is a telemetered source/destination data type. A data encoding must be set. An optional epoch may be set. Time types are an exception to other primitives because, if the time data type is not telemetered, it still must have a data encoding set. See DataEncodingType, AbsoluteTimeDataType and RelativeTimeDataType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Encoding?, ReferenceTime?) + /// + /// + public BaseTimeDataType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EncodingXName = System.Xml.Linq.XName.Get("Encoding", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Describes how the raw base counts of the time type are encoded/decoded. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Encoding?, ReferenceTime?) + /// + /// + public virtual EncodingType Encoding { + get { + XElement x = this.GetElement(EncodingXName); + if ((x == null)) { + return null; + } + return ((EncodingType)(x)); + } + set { + this.SetElement(EncodingXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ReferenceTimeXName = System.Xml.Linq.XName.Get("ReferenceTime", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Describes origin (epoch or reference) of this time type. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Encoding?, ReferenceTime?) + /// + /// + public virtual ReferenceTimeType ReferenceTime { + get { + XElement x = this.GetElement(ReferenceTimeXName); + if ((x == null)) { + return null; + } + return ((ReferenceTimeType)(x)); + } + set { + this.SetElement(ReferenceTimeXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName baseTypeXName = System.Xml.Linq.XName.Get("baseType", ""); + + /// + /// + /// Extend another absolute or relative time type. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string baseType { + get { + XAttribute x = this.Attribute(baseTypeXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(baseTypeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BaseTimeDataType", "http://www.omg.org/spec/XTCE/20250214"); + + static BaseTimeDataType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(EncodingXName), new NamedContentModelEntity(ReferenceTimeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(EncodingXName, typeof(EncodingType)); + localElementDictionary.Add(ReferenceTimeXName, typeof(ReferenceTimeType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to BinaryDataType but supports argument instance references. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?) + /// + /// + public abstract partial class ArgumentBinaryDataType : global::Omg.Xtce.ArgumentBaseDataType, IXMetaData { + + public static explicit operator ArgumentBinaryDataType(XElement xe) { return (ArgumentBinaryDataType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// Identical to BinaryDataType but supports argument instance references. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?) + /// + /// + public ArgumentBinaryDataType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitSetXName = System.Xml.Linq.XName.Get("UnitSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryDataEncodingXName = System.Xml.Linq.XName.Get("BinaryDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatDataEncodingXName = System.Xml.Linq.XName.Get("FloatDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerDataEncodingXName = System.Xml.Linq.XName.Get("IntegerDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringDataEncodingXName = System.Xml.Linq.XName.Get("StringDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName initialValueXName = System.Xml.Linq.XName.Get("initialValue", ""); + + /// + /// + /// Default/Initial value is always given in calibrated form. Extra bits are truncated from the MSB (leftmost). + /// + /// + /// Occurrence: optional + /// + /// + public virtual byte[] initialValue { + get { + XAttribute x = this.Attribute(initialValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary).Datatype); + } + set { + this.SetAttribute(initialValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentBinaryDataType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentBinaryDataType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(UnitSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(BinaryDataEncodingXName), new NamedContentModelEntity(FloatDataEncodingXName), new NamedContentModelEntity(IntegerDataEncodingXName), new NamedContentModelEntity(StringDataEncodingXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(UnitSetXName, typeof(UnitSetType)); + localElementDictionary.Add(BinaryDataEncodingXName, typeof(ArgumentBinaryDataEncodingType)); + localElementDictionary.Add(FloatDataEncodingXName, typeof(FloatDataEncodingType)); + localElementDictionary.Add(IntegerDataEncodingXName, typeof(IntegerDataEncodingType)); + localElementDictionary.Add(StringDataEncodingXName, typeof(ArgumentStringDataEncodingType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A base schema type for describing a binary data engineering/calibrated type (often called "blob type"). The binary data may be of fixed or variable length, and has an optional encoding and decoding algorithm that may be defined to transform the data between space and ground. See BaseDataType, BinaryParameterType and BinaryArgumentType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?) + /// + /// + public abstract partial class BinaryDataType : global::Omg.Xtce.BaseDataType, IXMetaData { + + public static explicit operator BinaryDataType(XElement xe) { return (BinaryDataType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// A base schema type for describing a binary data engineering/calibrated type (often called "blob type"). The binary data may be of fixed or variable length, and has an optional encoding and decoding algorithm that may be defined to transform the data between space and ground. See BaseDataType, BinaryParameterType and BinaryArgumentType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?) + /// + /// + public BinaryDataType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitSetXName = System.Xml.Linq.XName.Get("UnitSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryDataEncodingXName = System.Xml.Linq.XName.Get("BinaryDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatDataEncodingXName = System.Xml.Linq.XName.Get("FloatDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerDataEncodingXName = System.Xml.Linq.XName.Get("IntegerDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringDataEncodingXName = System.Xml.Linq.XName.Get("StringDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName initialValueXName = System.Xml.Linq.XName.Get("initialValue", ""); + + /// + /// + /// Default/Initial value is always given in calibrated form. Extra bits are truncated from the MSB (leftmost). + /// + /// + /// Occurrence: optional + /// + /// + public virtual byte[] initialValue { + get { + XAttribute x = this.Attribute(initialValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary).Datatype); + } + set { + this.SetAttribute(initialValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BinaryDataType", "http://www.omg.org/spec/XTCE/20250214"); + + static BinaryDataType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(UnitSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(BinaryDataEncodingXName), new NamedContentModelEntity(FloatDataEncodingXName), new NamedContentModelEntity(IntegerDataEncodingXName), new NamedContentModelEntity(StringDataEncodingXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(UnitSetXName, typeof(UnitSetType)); + localElementDictionary.Add(BinaryDataEncodingXName, typeof(BinaryDataEncodingType)); + localElementDictionary.Add(FloatDataEncodingXName, typeof(FloatDataEncodingType)); + localElementDictionary.Add(IntegerDataEncodingXName, typeof(IntegerDataEncodingType)); + localElementDictionary.Add(StringDataEncodingXName, typeof(StringDataEncodingType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to BooleanDataType but supports argument instance references. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?) + /// + /// + public abstract partial class ArgumentBooleanDataType : global::Omg.Xtce.ArgumentBaseDataType, IXMetaData { + + public static explicit operator ArgumentBooleanDataType(XElement xe) { return (ArgumentBooleanDataType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// Identical to BooleanDataType but supports argument instance references. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?) + /// + /// + public ArgumentBooleanDataType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitSetXName = System.Xml.Linq.XName.Get("UnitSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryDataEncodingXName = System.Xml.Linq.XName.Get("BinaryDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatDataEncodingXName = System.Xml.Linq.XName.Get("FloatDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerDataEncodingXName = System.Xml.Linq.XName.Get("IntegerDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringDataEncodingXName = System.Xml.Linq.XName.Get("StringDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName initialValueXName = System.Xml.Linq.XName.Get("initialValue", ""); + + /// + /// + /// Initial value must match either the oneStringValue or the zeroStringValue + /// + /// + /// Default/Initial value is always given in calibrated form. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string initialValue { + get { + XAttribute x = this.Attribute(initialValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(initialValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName oneStringValueXName = System.Xml.Linq.XName.Get("oneStringValue", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static string oneStringValueDefaultValue = "True"; + + /// + /// + /// Enumeration string representing the 1 value, with the default being 'True'. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string oneStringValue { + get { + XAttribute x = this.Attribute(oneStringValueXName); + if ((x == null)) { + return oneStringValueDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(oneStringValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName zeroStringValueXName = System.Xml.Linq.XName.Get("zeroStringValue", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static string zeroStringValueDefaultValue = "False"; + + /// + /// + /// Enumeration string representing the 0 value, with the default being 'False'. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string zeroStringValue { + get { + XAttribute x = this.Attribute(zeroStringValueXName); + if ((x == null)) { + return zeroStringValueDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(zeroStringValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentBooleanDataType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentBooleanDataType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(UnitSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(BinaryDataEncodingXName), new NamedContentModelEntity(FloatDataEncodingXName), new NamedContentModelEntity(IntegerDataEncodingXName), new NamedContentModelEntity(StringDataEncodingXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(UnitSetXName, typeof(UnitSetType)); + localElementDictionary.Add(BinaryDataEncodingXName, typeof(ArgumentBinaryDataEncodingType)); + localElementDictionary.Add(FloatDataEncodingXName, typeof(FloatDataEncodingType)); + localElementDictionary.Add(IntegerDataEncodingXName, typeof(IntegerDataEncodingType)); + localElementDictionary.Add(StringDataEncodingXName, typeof(ArgumentStringDataEncodingType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A base schema type for describing a boolean data type which has two values only: "True" (1) or "False" (0). The values one and zero may be mapped to a specific string using the attributes oneStringValue and zeroStringValue. This type is a simplified form of the EnumeratedDataType. See BaseDataType, BooleanParameterType and BooleanArgumentType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?) + /// + /// + public abstract partial class BooleanDataType : global::Omg.Xtce.BaseDataType, IXMetaData { + + public static explicit operator BooleanDataType(XElement xe) { return (BooleanDataType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// A base schema type for describing a boolean data type which has two values only: "True" (1) or "False" (0). The values one and zero may be mapped to a specific string using the attributes oneStringValue and zeroStringValue. This type is a simplified form of the EnumeratedDataType. See BaseDataType, BooleanParameterType and BooleanArgumentType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?) + /// + /// + public BooleanDataType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitSetXName = System.Xml.Linq.XName.Get("UnitSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryDataEncodingXName = System.Xml.Linq.XName.Get("BinaryDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatDataEncodingXName = System.Xml.Linq.XName.Get("FloatDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerDataEncodingXName = System.Xml.Linq.XName.Get("IntegerDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringDataEncodingXName = System.Xml.Linq.XName.Get("StringDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName initialValueXName = System.Xml.Linq.XName.Get("initialValue", ""); + + /// + /// + /// Initial value must match either the oneStringValue or the zeroStringValue + /// + /// + /// Default/Initial value is always given in calibrated form. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string initialValue { + get { + XAttribute x = this.Attribute(initialValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(initialValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName oneStringValueXName = System.Xml.Linq.XName.Get("oneStringValue", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static string oneStringValueDefaultValue = "True"; + + /// + /// + /// Enumeration string representing the 1 value, with the default being 'True'. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string oneStringValue { + get { + XAttribute x = this.Attribute(oneStringValueXName); + if ((x == null)) { + return oneStringValueDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(oneStringValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName zeroStringValueXName = System.Xml.Linq.XName.Get("zeroStringValue", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static string zeroStringValueDefaultValue = "False"; + + /// + /// + /// Enumeration string representing the 0 value, with the default being 'False'. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string zeroStringValue { + get { + XAttribute x = this.Attribute(zeroStringValueXName); + if ((x == null)) { + return zeroStringValueDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(zeroStringValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BooleanDataType", "http://www.omg.org/spec/XTCE/20250214"); + + static BooleanDataType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(UnitSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(BinaryDataEncodingXName), new NamedContentModelEntity(FloatDataEncodingXName), new NamedContentModelEntity(IntegerDataEncodingXName), new NamedContentModelEntity(StringDataEncodingXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(UnitSetXName, typeof(UnitSetType)); + localElementDictionary.Add(BinaryDataEncodingXName, typeof(BinaryDataEncodingType)); + localElementDictionary.Add(FloatDataEncodingXName, typeof(FloatDataEncodingType)); + localElementDictionary.Add(IntegerDataEncodingXName, typeof(IntegerDataEncodingType)); + localElementDictionary.Add(StringDataEncodingXName, typeof(StringDataEncodingType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// For partial entries of an array, the starting and ending index for each dimension, OR the Size must be specified. Indexes are zero based. + /// + /// + /// Regular expression: (StartingIndex, EndingIndex) + /// + /// + public partial class DimensionType : XTypedElement, IXMetaData { + + public static explicit operator DimensionType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// For partial entries of an array, the starting and ending index for each dimension, OR the Size must be specified. Indexes are zero based. + /// + /// + /// Regular expression: (StartingIndex, EndingIndex) + /// + /// + public DimensionType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StartingIndexXName = System.Xml.Linq.XName.Get("StartingIndex", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// zero based index + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (StartingIndex, EndingIndex) + /// + /// + public virtual IntegerValueType StartingIndex { + get { + XElement x = this.GetElement(StartingIndexXName); + return ((IntegerValueType)(x)); + } + set { + this.SetElement(StartingIndexXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EndingIndexXName = System.Xml.Linq.XName.Get("EndingIndex", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (StartingIndex, EndingIndex) + /// + /// + public virtual IntegerValueType EndingIndex { + get { + XElement x = this.GetElement(EndingIndexXName); + return ((IntegerValueType)(x)); + } + set { + this.SetElement(EndingIndexXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("DimensionType", "http://www.omg.org/spec/XTCE/20250214"); + + static DimensionType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(StartingIndexXName), new NamedContentModelEntity(EndingIndexXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(StartingIndexXName, typeof(IntegerValueType)); + localElementDictionary.Add(EndingIndexXName, typeof(IntegerValueType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to DimensionType but supports argument instance references. + /// + /// + /// Regular expression: (StartingIndex, EndingIndex) + /// + /// + public partial class ArgumentDimensionType : XTypedElement, IXMetaData { + + public static explicit operator ArgumentDimensionType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to DimensionType but supports argument instance references. + /// + /// + /// Regular expression: (StartingIndex, EndingIndex) + /// + /// + public ArgumentDimensionType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StartingIndexXName = System.Xml.Linq.XName.Get("StartingIndex", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// zero based index + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (StartingIndex, EndingIndex) + /// + /// + public virtual ArgumentIntegerValueType StartingIndex { + get { + XElement x = this.GetElement(StartingIndexXName); + return ((ArgumentIntegerValueType)(x)); + } + set { + this.SetElement(StartingIndexXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EndingIndexXName = System.Xml.Linq.XName.Get("EndingIndex", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (StartingIndex, EndingIndex) + /// + /// + public virtual ArgumentIntegerValueType EndingIndex { + get { + XElement x = this.GetElement(EndingIndexXName); + return ((ArgumentIntegerValueType)(x)); + } + set { + this.SetElement(EndingIndexXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentDimensionType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentDimensionType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(StartingIndexXName), new NamedContentModelEntity(EndingIndexXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(StartingIndexXName, typeof(ArgumentIntegerValueType)); + localElementDictionary.Add(EndingIndexXName, typeof(ArgumentIntegerValueType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Where the Dimension list is in this form: Array[1stDim][2ndDim][lastDim]. The last dimension is assumed to be the least significant - that is this dimension will cycle through its combination before the next to last dimension changes. The order MUST ascend or the array will need to be broken out entry by entry. + /// + /// + /// Regular expression: (Dimension+) + /// + /// + public partial class DimensionListType : XTypedElement, IXMetaData { + + public static explicit operator DimensionListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Where the Dimension list is in this form: Array[1stDim][2ndDim][lastDim]. The last dimension is assumed to be the least significant - that is this dimension will cycle through its combination before the next to last dimension changes. The order MUST ascend or the array will need to be broken out entry by entry. + /// + /// + /// Regular expression: (Dimension+) + /// + /// + public DimensionListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DimensionXName = System.Xml.Linq.XName.Get("Dimension", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList DimensionField; + + /// + /// + /// For an ArrayParameterType of size N, their should be N Dimensions + /// + /// + /// An array made up by multiple Entries should not have indexes that overlap, but should be continuous. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Dimension+) + /// + /// + public virtual IList Dimension { + get { + if ((this.DimensionField == null)) { + this.DimensionField = new XTypedList(this, LinqToXsdTypeManager.Instance, DimensionXName); + } + return this.DimensionField; + } + set { + if ((value == null)) { + this.DimensionField = null; + } + else { + if ((this.DimensionField == null)) { + this.DimensionField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, DimensionXName); + } + else { + XTypedServices.SetList(this.DimensionField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("DimensionListType", "http://www.omg.org/spec/XTCE/20250214"); + + static DimensionListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(DimensionXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(DimensionXName, typeof(DimensionType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to DimensionListType but supports argument instance references. + /// + /// + /// Regular expression: (Dimension+) + /// + /// + public partial class ArgumentDimensionListType : XTypedElement, IXMetaData { + + public static explicit operator ArgumentDimensionListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to DimensionListType but supports argument instance references. + /// + /// + /// Regular expression: (Dimension+) + /// + /// + public ArgumentDimensionListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DimensionXName = System.Xml.Linq.XName.Get("Dimension", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList DimensionField; + + /// + /// + /// For an ArrayParameterType of size N, their should be N Dimensions + /// + /// + /// An array made up by multiple Entries should not have indexes that overlap, but should be continuous. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Dimension+) + /// + /// + public virtual IList Dimension { + get { + if ((this.DimensionField == null)) { + this.DimensionField = new XTypedList(this, LinqToXsdTypeManager.Instance, DimensionXName); + } + return this.DimensionField; + } + set { + if ((value == null)) { + this.DimensionField = null; + } + else { + if ((this.DimensionField == null)) { + this.DimensionField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, DimensionXName); + } + else { + XTypedServices.SetList(this.DimensionField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentDimensionListType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentDimensionListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(DimensionXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(DimensionXName, typeof(ArgumentDimensionType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to EnumeratedDataType but supports argument instance references. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, EnumerationList) + /// + /// + public abstract partial class ArgumentEnumeratedDataType : global::Omg.Xtce.ArgumentBaseDataType, IXMetaData { + + public static explicit operator ArgumentEnumeratedDataType(XElement xe) { return (ArgumentEnumeratedDataType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// Identical to EnumeratedDataType but supports argument instance references. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, EnumerationList) + /// + /// + public ArgumentEnumeratedDataType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitSetXName = System.Xml.Linq.XName.Get("UnitSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryDataEncodingXName = System.Xml.Linq.XName.Get("BinaryDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatDataEncodingXName = System.Xml.Linq.XName.Get("FloatDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerDataEncodingXName = System.Xml.Linq.XName.Get("IntegerDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringDataEncodingXName = System.Xml.Linq.XName.Get("StringDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EnumerationListXName = System.Xml.Linq.XName.Get("EnumerationList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Unordered list of label/value pairs where values cannot be duplicated. + /// + /// + /// Check that values do not overlap in the mappings. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, EnumerationList) + /// + /// + public virtual EnumerationListType EnumerationList { + get { + XElement x = this.GetElement(EnumerationListXName); + return ((EnumerationListType)(x)); + } + set { + this.SetElement(EnumerationListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName initialValueXName = System.Xml.Linq.XName.Get("initialValue", ""); + + /// + /// + /// Default/Initial value is always given in calibrated form. Use the label, it must be in the enumeration list to be valid. + /// + /// + /// Label must be in the enumeration list to be valid. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string initialValue { + get { + XAttribute x = this.Attribute(initialValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(initialValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentEnumeratedDataType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentEnumeratedDataType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(UnitSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(BinaryDataEncodingXName), new NamedContentModelEntity(FloatDataEncodingXName), new NamedContentModelEntity(IntegerDataEncodingXName), new NamedContentModelEntity(StringDataEncodingXName)), new NamedContentModelEntity(EnumerationListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(UnitSetXName, typeof(UnitSetType)); + localElementDictionary.Add(BinaryDataEncodingXName, typeof(ArgumentBinaryDataEncodingType)); + localElementDictionary.Add(FloatDataEncodingXName, typeof(FloatDataEncodingType)); + localElementDictionary.Add(IntegerDataEncodingXName, typeof(IntegerDataEncodingType)); + localElementDictionary.Add(StringDataEncodingXName, typeof(ArgumentStringDataEncodingType)); + localElementDictionary.Add(EnumerationListXName, typeof(EnumerationListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describes an enumerated parameter type. The enumeration list consists of label/value pairs. See EnumerationListType, EnumeratedParameterType and EnumeratedArgumentType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, EnumerationList) + /// + /// + public abstract partial class EnumeratedDataType : global::Omg.Xtce.BaseDataType, IXMetaData { + + public static explicit operator EnumeratedDataType(XElement xe) { return (EnumeratedDataType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// Describes an enumerated parameter type. The enumeration list consists of label/value pairs. See EnumerationListType, EnumeratedParameterType and EnumeratedArgumentType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, EnumerationList) + /// + /// + public EnumeratedDataType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitSetXName = System.Xml.Linq.XName.Get("UnitSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryDataEncodingXName = System.Xml.Linq.XName.Get("BinaryDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatDataEncodingXName = System.Xml.Linq.XName.Get("FloatDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerDataEncodingXName = System.Xml.Linq.XName.Get("IntegerDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringDataEncodingXName = System.Xml.Linq.XName.Get("StringDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EnumerationListXName = System.Xml.Linq.XName.Get("EnumerationList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Unordered list of label/value pairs where values cannot be duplicated. + /// + /// + /// Check that values do not overlap in the mappings. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, EnumerationList) + /// + /// + public virtual EnumerationListType EnumerationList { + get { + XElement x = this.GetElement(EnumerationListXName); + return ((EnumerationListType)(x)); + } + set { + this.SetElement(EnumerationListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName initialValueXName = System.Xml.Linq.XName.Get("initialValue", ""); + + /// + /// + /// Default/Initial value is always given in calibrated form. Use the label, it must be in the enumeration list to be valid. + /// + /// + /// Label must be in the enumeration list to be valid. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string initialValue { + get { + XAttribute x = this.Attribute(initialValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(initialValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("EnumeratedDataType", "http://www.omg.org/spec/XTCE/20250214"); + + static EnumeratedDataType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(UnitSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(BinaryDataEncodingXName), new NamedContentModelEntity(FloatDataEncodingXName), new NamedContentModelEntity(IntegerDataEncodingXName), new NamedContentModelEntity(StringDataEncodingXName)), new NamedContentModelEntity(EnumerationListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(UnitSetXName, typeof(UnitSetType)); + localElementDictionary.Add(BinaryDataEncodingXName, typeof(BinaryDataEncodingType)); + localElementDictionary.Add(FloatDataEncodingXName, typeof(FloatDataEncodingType)); + localElementDictionary.Add(IntegerDataEncodingXName, typeof(IntegerDataEncodingType)); + localElementDictionary.Add(StringDataEncodingXName, typeof(StringDataEncodingType)); + localElementDictionary.Add(EnumerationListXName, typeof(EnumerationListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (Enumeration+) + /// + /// + public partial class EnumerationListType : XTypedElement, IXMetaData { + + public static explicit operator EnumerationListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (Enumeration+) + /// + /// + public EnumerationListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EnumerationXName = System.Xml.Linq.XName.Get("Enumeration", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList EnumerationField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Enumeration+) + /// + /// + public virtual IList Enumeration { + get { + if ((this.EnumerationField == null)) { + this.EnumerationField = new XTypedList(this, LinqToXsdTypeManager.Instance, EnumerationXName); + } + return this.EnumerationField; + } + set { + if ((value == null)) { + this.EnumerationField = null; + } + else { + if ((this.EnumerationField == null)) { + this.EnumerationField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, EnumerationXName); + } + else { + XTypedServices.SetList(this.EnumerationField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("EnumerationListType", "http://www.omg.org/spec/XTCE/20250214"); + + static EnumerationListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(EnumerationXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(EnumerationXName, typeof(ValueEnumerationType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to FloatDataType but supports argument instance references. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?) + /// + /// + public abstract partial class ArgumentFloatDataType : global::Omg.Xtce.ArgumentBaseDataType, IXMetaData { + + public static explicit operator ArgumentFloatDataType(XElement xe) { return (ArgumentFloatDataType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// Identical to FloatDataType but supports argument instance references. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?) + /// + /// + public ArgumentFloatDataType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitSetXName = System.Xml.Linq.XName.Get("UnitSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryDataEncodingXName = System.Xml.Linq.XName.Get("BinaryDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatDataEncodingXName = System.Xml.Linq.XName.Get("FloatDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerDataEncodingXName = System.Xml.Linq.XName.Get("IntegerDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringDataEncodingXName = System.Xml.Linq.XName.Get("StringDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ToStringXName = System.Xml.Linq.XName.Get("ToString", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// This element provides the implementation with assistance rendering the value as a string for users. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?) + /// + /// + public virtual ToStringType ToString { + get { + XElement x = this.GetElement(ToStringXName); + if ((x == null)) { + return null; + } + return ((ToStringType)(x)); + } + set { + this.SetElement(ToStringXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName initialValueXName = System.Xml.Linq.XName.Get("initialValue", ""); + + /// + /// + /// Default/Initial value is always given in calibrated form. + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Double? initialValue { + get { + XAttribute x = this.Attribute(initialValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + set { + this.SetAttribute(initialValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName sizeInBitsXName = System.Xml.Linq.XName.Get("sizeInBits", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static long sizeInBitsDefaultValue = System.Xml.XmlConvert.ToInt64("32"); + + /// + /// + /// Optional hint to the implementation about the size of the engineering/calibrated data type to use internally. Generally this can be determined by examination of the space required to capture the full range of the encoding, but it is not always clear when calibrators are in use. A tolerant implementation will endeavor to always make sufficient size engineering data types to capture the entire range of possible values. + /// + /// + /// Occurrence: optional + /// + /// + public virtual long sizeInBits { + get { + XAttribute x = this.Attribute(sizeInBitsXName); + if ((x == null)) { + return sizeInBitsDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(sizeInBitsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentFloatDataType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentFloatDataType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(UnitSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(BinaryDataEncodingXName), new NamedContentModelEntity(FloatDataEncodingXName), new NamedContentModelEntity(IntegerDataEncodingXName), new NamedContentModelEntity(StringDataEncodingXName)), new NamedContentModelEntity(ToStringXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(UnitSetXName, typeof(UnitSetType)); + localElementDictionary.Add(BinaryDataEncodingXName, typeof(ArgumentBinaryDataEncodingType)); + localElementDictionary.Add(FloatDataEncodingXName, typeof(FloatDataEncodingType)); + localElementDictionary.Add(IntegerDataEncodingXName, typeof(IntegerDataEncodingType)); + localElementDictionary.Add(StringDataEncodingXName, typeof(ArgumentStringDataEncodingType)); + localElementDictionary.Add(ToStringXName, typeof(ToStringType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A base schema type for describing a floating point engineering/calibrated data type. Several encodings are supported. Calibrated integer to float relationships should be described with this data type. Use the data encoding to define calibrators. Joins integer as one of the numerics. See BaseDataType, FloatParameterType and FloatArgumentType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?, ValidRange?) + /// + /// + public abstract partial class FloatDataType : global::Omg.Xtce.BaseDataType, IXMetaData { + + public static explicit operator FloatDataType(XElement xe) { return (FloatDataType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// A base schema type for describing a floating point engineering/calibrated data type. Several encodings are supported. Calibrated integer to float relationships should be described with this data type. Use the data encoding to define calibrators. Joins integer as one of the numerics. See BaseDataType, FloatParameterType and FloatArgumentType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?, ValidRange?) + /// + /// + public FloatDataType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitSetXName = System.Xml.Linq.XName.Get("UnitSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryDataEncodingXName = System.Xml.Linq.XName.Get("BinaryDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatDataEncodingXName = System.Xml.Linq.XName.Get("FloatDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerDataEncodingXName = System.Xml.Linq.XName.Get("IntegerDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringDataEncodingXName = System.Xml.Linq.XName.Get("StringDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ToStringXName = System.Xml.Linq.XName.Get("ToString", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// This element provides the implementation with assistance rendering the value as a string for users. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?, ValidRange?) + /// + /// + public virtual ToStringType ToString { + get { + XElement x = this.GetElement(ToStringXName); + if ((x == null)) { + return null; + } + return ((ToStringType)(x)); + } + set { + this.SetElement(ToStringXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ValidRangeXName = System.Xml.Linq.XName.Get("ValidRange", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// The ValidRange defines the span of valid values for this data type. This is a subset within the data type itself. For example, an IEEE754 encoded float has almost a universal of possible values. However, the known possible valid range may only span -180.0 to +180.0, due to the physics of the measurement. So, the valid range provides additional boundary/constraint information beyond that of the data encoding in the range of possible values that are meaningful to this parameter. The valid range is not to be construed as an alarm definition and is not affected by any alarm definitions, instead violations of the valid range make a parameter value "unreasonable", as opposed to reasonable to be reported. The exact effect of this state which should be of concern is implementation dependent. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?, ValidRange?) + /// + /// + public virtual ValidRangeLocalType ValidRange { + get { + XElement x = this.GetElement(ValidRangeXName); + if ((x == null)) { + return null; + } + return ((ValidRangeLocalType)(x)); + } + set { + this.SetElement(ValidRangeXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName initialValueXName = System.Xml.Linq.XName.Get("initialValue", ""); + + /// + /// + /// Initial value is always given in calibrated form + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Double? initialValue { + get { + XAttribute x = this.Attribute(initialValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + set { + this.SetAttribute(initialValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName sizeInBitsXName = System.Xml.Linq.XName.Get("sizeInBits", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static long sizeInBitsDefaultValue = System.Xml.XmlConvert.ToInt64("32"); + + /// + /// + /// Optional hint to the implementation about the size of the engineering/calibrated data type to use internally. Generally this can be determined by examination of the space required to capture the full range of the encoding, but it is not always clear when calibrators are in use. A tolerant implementation will endeavor to always make sufficient size engineering data types to capture the entire range of possible values. + /// + /// + /// Occurrence: optional + /// + /// + public virtual long sizeInBits { + get { + XAttribute x = this.Attribute(sizeInBitsXName); + if ((x == null)) { + return sizeInBitsDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(sizeInBitsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("FloatDataType", "http://www.omg.org/spec/XTCE/20250214"); + + static FloatDataType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(UnitSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(BinaryDataEncodingXName), new NamedContentModelEntity(FloatDataEncodingXName), new NamedContentModelEntity(IntegerDataEncodingXName), new NamedContentModelEntity(StringDataEncodingXName)), new NamedContentModelEntity(ToStringXName), new NamedContentModelEntity(ValidRangeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(UnitSetXName, typeof(UnitSetType)); + localElementDictionary.Add(BinaryDataEncodingXName, typeof(BinaryDataEncodingType)); + localElementDictionary.Add(FloatDataEncodingXName, typeof(FloatDataEncodingType)); + localElementDictionary.Add(IntegerDataEncodingXName, typeof(IntegerDataEncodingType)); + localElementDictionary.Add(StringDataEncodingXName, typeof(StringDataEncodingType)); + localElementDictionary.Add(ToStringXName, typeof(ToStringType)); + localElementDictionary.Add(ValidRangeXName, typeof(ValidRangeLocalType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + public partial class ValidRangeLocalType : global::Omg.Xtce.FloatRangeType, IXMetaData { + + public static explicit operator ValidRangeLocalType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public ValidRangeLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName validRangeAppliesToCalibratedXName = System.Xml.Linq.XName.Get("validRangeAppliesToCalibrated", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool validRangeAppliesToCalibratedDefaultValue = System.Xml.XmlConvert.ToBoolean("true"); + + /// + /// + /// By default and general recommendation, the valid range is specified in engineering/calibrated values, although this can be adjusted. + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool validRangeAppliesToCalibrated { + get { + XAttribute x = this.Attribute(validRangeAppliesToCalibratedXName); + if ((x == null)) { + return validRangeAppliesToCalibratedDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(validRangeAppliesToCalibratedXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ValidRange", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + } + + /// + /// + /// Identical to IntegerDataType but supports argument instance references. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?) + /// + /// + public abstract partial class ArgumentIntegerDataType : global::Omg.Xtce.ArgumentBaseDataType, IXMetaData { + + public static explicit operator ArgumentIntegerDataType(XElement xe) { return (ArgumentIntegerDataType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// Identical to IntegerDataType but supports argument instance references. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?) + /// + /// + public ArgumentIntegerDataType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitSetXName = System.Xml.Linq.XName.Get("UnitSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryDataEncodingXName = System.Xml.Linq.XName.Get("BinaryDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatDataEncodingXName = System.Xml.Linq.XName.Get("FloatDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerDataEncodingXName = System.Xml.Linq.XName.Get("IntegerDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringDataEncodingXName = System.Xml.Linq.XName.Get("StringDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ToStringXName = System.Xml.Linq.XName.Get("ToString", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// This element provides the implementation with assistance rendering the value as a string for users. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?) + /// + /// + public virtual ToStringType ToString { + get { + XElement x = this.GetElement(ToStringXName); + if ((x == null)) { + return null; + } + return ((ToStringType)(x)); + } + set { + this.SetElement(ToStringXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName initialValueXName = System.Xml.Linq.XName.Get("initialValue", ""); + + /// + /// + /// Default/Initial value is always given in calibrated form. Specify the value as a base 10 integer. + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Int64? initialValue { + get { + XAttribute x = this.Attribute(initialValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(initialValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName sizeInBitsXName = System.Xml.Linq.XName.Get("sizeInBits", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static long sizeInBitsDefaultValue = System.Xml.XmlConvert.ToInt64("32"); + + /// + /// + /// Optional hint to the implementation about the size of the engineering/calibrated data type to use internally. Generally this can be determined by examination of the space required to capture the full range of the encoding, but it is not always clear when calibrators are in use. A tolerant implementation will endeavor to always make sufficient size engineering data types to capture the entire range of possible values. + /// + /// + /// Occurrence: optional + /// + /// + public virtual long sizeInBits { + get { + XAttribute x = this.Attribute(sizeInBitsXName); + if ((x == null)) { + return sizeInBitsDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(sizeInBitsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName signedXName = System.Xml.Linq.XName.Get("signed", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool signedDefaultValue = System.Xml.XmlConvert.ToBoolean("true"); + + /// + /// + /// Flag indicating if the engineering/calibrated data type used should support signed representation. This should not be confused with the encoding type for the raw value. The default is true. + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool signed { + get { + XAttribute x = this.Attribute(signedXName); + if ((x == null)) { + return signedDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(signedXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentIntegerDataType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentIntegerDataType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(UnitSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(BinaryDataEncodingXName), new NamedContentModelEntity(FloatDataEncodingXName), new NamedContentModelEntity(IntegerDataEncodingXName), new NamedContentModelEntity(StringDataEncodingXName)), new NamedContentModelEntity(ToStringXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(UnitSetXName, typeof(UnitSetType)); + localElementDictionary.Add(BinaryDataEncodingXName, typeof(ArgumentBinaryDataEncodingType)); + localElementDictionary.Add(FloatDataEncodingXName, typeof(FloatDataEncodingType)); + localElementDictionary.Add(IntegerDataEncodingXName, typeof(IntegerDataEncodingType)); + localElementDictionary.Add(StringDataEncodingXName, typeof(ArgumentStringDataEncodingType)); + localElementDictionary.Add(ToStringXName, typeof(ToStringType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an integer engineering/calibrated data type. Several encodings are supported. See BaseDataType, IntegerParameterType and IntegerArgumentType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?, ValidRange?) + /// + /// + public abstract partial class IntegerDataType : global::Omg.Xtce.BaseDataType, IXMetaData { + + public static explicit operator IntegerDataType(XElement xe) { return (IntegerDataType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// Describe an integer engineering/calibrated data type. Several encodings are supported. See BaseDataType, IntegerParameterType and IntegerArgumentType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?, ValidRange?) + /// + /// + public IntegerDataType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitSetXName = System.Xml.Linq.XName.Get("UnitSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryDataEncodingXName = System.Xml.Linq.XName.Get("BinaryDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatDataEncodingXName = System.Xml.Linq.XName.Get("FloatDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerDataEncodingXName = System.Xml.Linq.XName.Get("IntegerDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringDataEncodingXName = System.Xml.Linq.XName.Get("StringDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ToStringXName = System.Xml.Linq.XName.Get("ToString", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// This element provides the implementation with assistance rendering the value as a string for users. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?, ValidRange?) + /// + /// + public virtual ToStringType ToString { + get { + XElement x = this.GetElement(ToStringXName); + if ((x == null)) { + return null; + } + return ((ToStringType)(x)); + } + set { + this.SetElement(ToStringXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ValidRangeXName = System.Xml.Linq.XName.Get("ValidRange", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// The ValidRange defines the span of valid values for this data type. This is a subset within the data type itself. For example, a 16 bit unsigned integer has possible values from 0 to 65535. However, the known possible valid range may only span 0 to 999, due to the physics of the measurement. So, the valid range provides additional boundary/constraint information beyond that of the data encoding in the range of possible values that are meaningful to this parameter. The valid range is not to be construed as an alarm definition and is not affected by any alarm definitions, instead violations of the valid range make a parameter value "unreasonable", as opposed to reasonable to be reported. The exact effect of this state which should be of concern is implementation dependent. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, ToString?, ValidRange?) + /// + /// + public virtual ValidRangeLocalType ValidRange { + get { + XElement x = this.GetElement(ValidRangeXName); + if ((x == null)) { + return null; + } + return ((ValidRangeLocalType)(x)); + } + set { + this.SetElement(ValidRangeXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName initialValueXName = System.Xml.Linq.XName.Get("initialValue", ""); + + /// + /// + /// Default/Initial value is always given in calibrated form. Specify the value as a base 10 integer. + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Int64? initialValue { + get { + XAttribute x = this.Attribute(initialValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(initialValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName sizeInBitsXName = System.Xml.Linq.XName.Get("sizeInBits", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static long sizeInBitsDefaultValue = System.Xml.XmlConvert.ToInt64("32"); + + /// + /// + /// Optional hint to the implementation about the size of the engineering/calibrated data type to use internally. Generally this can be determined by examination of the space required to capture the full range of the encoding, but it is not always clear when calibrators are in use. A tolerant implementation will endeavor to always make sufficient size engineering data types to capture the entire range of possible values. + /// + /// + /// Occurrence: optional + /// + /// + public virtual long sizeInBits { + get { + XAttribute x = this.Attribute(sizeInBitsXName); + if ((x == null)) { + return sizeInBitsDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(sizeInBitsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName signedXName = System.Xml.Linq.XName.Get("signed", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool signedDefaultValue = System.Xml.XmlConvert.ToBoolean("true"); + + /// + /// + /// Flag indicating if the engineering/calibrated data type used should support signed representation. This should not be confused with the encoding type for the raw value. The default is true. + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool signed { + get { + XAttribute x = this.Attribute(signedXName); + if ((x == null)) { + return signedDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(signedXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("IntegerDataType", "http://www.omg.org/spec/XTCE/20250214"); + + static IntegerDataType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(UnitSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(BinaryDataEncodingXName), new NamedContentModelEntity(FloatDataEncodingXName), new NamedContentModelEntity(IntegerDataEncodingXName), new NamedContentModelEntity(StringDataEncodingXName)), new NamedContentModelEntity(ToStringXName), new NamedContentModelEntity(ValidRangeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(UnitSetXName, typeof(UnitSetType)); + localElementDictionary.Add(BinaryDataEncodingXName, typeof(BinaryDataEncodingType)); + localElementDictionary.Add(FloatDataEncodingXName, typeof(FloatDataEncodingType)); + localElementDictionary.Add(IntegerDataEncodingXName, typeof(IntegerDataEncodingType)); + localElementDictionary.Add(StringDataEncodingXName, typeof(StringDataEncodingType)); + localElementDictionary.Add(ToStringXName, typeof(ToStringType)); + localElementDictionary.Add(ValidRangeXName, typeof(ValidRangeLocalType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + public partial class ValidRangeLocalType : global::Omg.Xtce.IntegerRangeType, IXMetaData { + + public static explicit operator ValidRangeLocalType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public ValidRangeLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName validRangeAppliesToCalibratedXName = System.Xml.Linq.XName.Get("validRangeAppliesToCalibrated", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool validRangeAppliesToCalibratedDefaultValue = System.Xml.XmlConvert.ToBoolean("true"); + + /// + /// + /// By default and general recommendation, the valid range is specified in engineering/calibrated values, although this can be adjusted. + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool validRangeAppliesToCalibrated { + get { + XAttribute x = this.Attribute(validRangeAppliesToCalibratedXName); + if ((x == null)) { + return validRangeAppliesToCalibratedDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(validRangeAppliesToCalibratedXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ValidRange", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + } + + /// + /// + /// Describe a member field in an AggregateDataType. Each member has a name and a type reference to a data type for the aggregate member name. If this aggregate is a Parameter aggregate, then the typeRef is a parameter type reference. If this aggregate is an Argument aggregate, then the typeRef is an argument type reference. References to an array data type is currently not supported. Circular references are not allowed. See MemberListType. AggregateParameterType and AggregateArgumentType. + /// + /// + /// ensure no circular references + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?) + /// + /// + public partial class MemberType : global::Omg.Xtce.NameDescriptionType, IXMetaData { + + public static explicit operator MemberType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a member field in an AggregateDataType. Each member has a name and a type reference to a data type for the aggregate member name. If this aggregate is a Parameter aggregate, then the typeRef is a parameter type reference. If this aggregate is an Argument aggregate, then the typeRef is an argument type reference. References to an array data type is currently not supported. Circular references are not allowed. See MemberListType. AggregateParameterType and AggregateArgumentType. + /// + /// + /// ensure no circular references + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?) + /// + /// + public MemberType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName typeRefXName = System.Xml.Linq.XName.Get("typeRef", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string typeRef { + get { + XAttribute x = this.Attribute(typeRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(typeRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName initialValueXName = System.Xml.Linq.XName.Get("initialValue", ""); + + /// + /// + /// Used to set the initial calibrated values of Parameters and Arguments. Will overwrite an initial value defined for the ParameterType or ArgumentType definition elements. For integer types it is base 10 form. Floating point types may be specified in normal (100.0) or scientific (1.0e2) form. Time types are specified using the ISO 8601 formats described for XTCE time data types. Initial values for string types, may include C language style (\n, \t, \", \\, etc.) escape sequences. + /// + /// + /// The value type must match the Parameter type + /// + /// + /// Occurrence: optional + /// + /// + public virtual string initialValue { + get { + XAttribute x = this.Attribute(initialValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(initialValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("MemberType", "http://www.omg.org/spec/XTCE/20250214"); + + static MemberType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Order is important only if the name of the AggregateParameter or Aggregate Argument is directly referenced in SequenceContainers. In this case the members are assued to be added sequentially (in the order listed here) into the Container. + /// + /// + /// Regular expression: (Member+) + /// + /// + public partial class MemberListType : XTypedElement, IXMetaData { + + public static explicit operator MemberListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Order is important only if the name of the AggregateParameter or Aggregate Argument is directly referenced in SequenceContainers. In this case the members are assued to be added sequentially (in the order listed here) into the Container. + /// + /// + /// Regular expression: (Member+) + /// + /// + public MemberListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MemberXName = System.Xml.Linq.XName.Get("Member", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList MemberField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Member+) + /// + /// + public virtual IList Member { + get { + if ((this.MemberField == null)) { + this.MemberField = new XTypedList(this, LinqToXsdTypeManager.Instance, MemberXName); + } + return this.MemberField; + } + set { + if ((value == null)) { + this.MemberField = null; + } + else { + if ((this.MemberField == null)) { + this.MemberField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, MemberXName); + } + else { + XTypedServices.SetList(this.MemberField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("MemberListType", "http://www.omg.org/spec/XTCE/20250214"); + + static MemberListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(MemberXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(MemberXName, typeof(MemberType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Used to contain a relative time value. Used to describe a relative time. Normally used for time offsets. A Relative time is expressed as PnYn MnDTnH nMnS, where nY represents the number of years, nM the number of months, nD the number of days, 'T' is the date/time separator, nH the number of hours, nM the number of minutes and nS the number of seconds. The number of seconds can include decimal digits to arbitrary precision. For example, to indicate a duration of 1 year, 2 months, 3 days, 10 hours, and 30 minutes, one would write: P1Y2M3DT10H30M. One could also indicate a duration of minus 120 days as: -P120D. An extension of Schema duration type. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Encoding?, ReferenceTime?) + /// + /// + public abstract partial class ArgumentRelativeTimeDataType : global::Omg.Xtce.ArgumentBaseTimeDataType, IXMetaData { + + public static explicit operator ArgumentRelativeTimeDataType(XElement xe) { return (ArgumentRelativeTimeDataType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// Used to contain a relative time value. Used to describe a relative time. Normally used for time offsets. A Relative time is expressed as PnYn MnDTnH nMnS, where nY represents the number of years, nM the number of months, nD the number of days, 'T' is the date/time separator, nH the number of hours, nM the number of minutes and nS the number of seconds. The number of seconds can include decimal digits to arbitrary precision. For example, to indicate a duration of 1 year, 2 months, 3 days, 10 hours, and 30 minutes, one would write: P1Y2M3DT10H30M. One could also indicate a duration of minus 120 days as: -P120D. An extension of Schema duration type. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Encoding?, ReferenceTime?) + /// + /// + public ArgumentRelativeTimeDataType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EncodingXName = System.Xml.Linq.XName.Get("Encoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ReferenceTimeXName = System.Xml.Linq.XName.Get("ReferenceTime", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName initialValueXName = System.Xml.Linq.XName.Get("initialValue", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.TimeSpan? initialValue { + get { + XAttribute x = this.Attribute(initialValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Duration).Datatype); + } + set { + this.SetAttribute(initialValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Duration).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentRelativeTimeDataType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentRelativeTimeDataType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(EncodingXName), new NamedContentModelEntity(ReferenceTimeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(EncodingXName, typeof(EncodingType)); + localElementDictionary.Add(ReferenceTimeXName, typeof(ReferenceTimeType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Used to contain a relative time value. Used to describe a relative time. Normally used for time offsets. A Relative time is expressed as PnYn MnDTnH nMnS, where nY represents the number of years, nM the number of months, nD the number of days, 'T' is the date/time separator, nH the number of hours, nM the number of minutes and nS the number of seconds. The number of seconds can include decimal digits to arbitrary precision. For example, to indicate a duration of 1 year, 2 months, 3 days, 10 hours, and 30 minutes, one would write: P1Y2M3DT10H30M. One could also indicate a duration of minus 120 days as: -P120D. An extension of Schema duration type. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Encoding?, ReferenceTime?) + /// + /// + public abstract partial class RelativeTimeDataType : global::Omg.Xtce.BaseTimeDataType, IXMetaData { + + public static explicit operator RelativeTimeDataType(XElement xe) { return (RelativeTimeDataType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// Used to contain a relative time value. Used to describe a relative time. Normally used for time offsets. A Relative time is expressed as PnYn MnDTnH nMnS, where nY represents the number of years, nM the number of months, nD the number of days, 'T' is the date/time separator, nH the number of hours, nM the number of minutes and nS the number of seconds. The number of seconds can include decimal digits to arbitrary precision. For example, to indicate a duration of 1 year, 2 months, 3 days, 10 hours, and 30 minutes, one would write: P1Y2M3DT10H30M. One could also indicate a duration of minus 120 days as: -P120D. An extension of Schema duration type. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Encoding?, ReferenceTime?) + /// + /// + public RelativeTimeDataType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EncodingXName = System.Xml.Linq.XName.Get("Encoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ReferenceTimeXName = System.Xml.Linq.XName.Get("ReferenceTime", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName initialValueXName = System.Xml.Linq.XName.Get("initialValue", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.TimeSpan? initialValue { + get { + XAttribute x = this.Attribute(initialValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Duration).Datatype); + } + set { + this.SetAttribute(initialValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Duration).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("RelativeTimeDataType", "http://www.omg.org/spec/XTCE/20250214"); + + static RelativeTimeDataType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(EncodingXName), new NamedContentModelEntity(ReferenceTimeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(EncodingXName, typeof(EncodingType)); + localElementDictionary.Add(ReferenceTimeXName, typeof(ReferenceTimeType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to StringDataType but supports argument instance references. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, SizeRangeInCharacters?) + /// + /// + public abstract partial class ArgumentStringDataType : global::Omg.Xtce.ArgumentBaseDataType, IXMetaData { + + public static explicit operator ArgumentStringDataType(XElement xe) { return (ArgumentStringDataType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// Identical to StringDataType but supports argument instance references. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, SizeRangeInCharacters?) + /// + /// + public ArgumentStringDataType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitSetXName = System.Xml.Linq.XName.Get("UnitSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryDataEncodingXName = System.Xml.Linq.XName.Get("BinaryDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatDataEncodingXName = System.Xml.Linq.XName.Get("FloatDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerDataEncodingXName = System.Xml.Linq.XName.Get("IntegerDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringDataEncodingXName = System.Xml.Linq.XName.Get("StringDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SizeRangeInCharactersXName = System.Xml.Linq.XName.Get("SizeRangeInCharacters", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, SizeRangeInCharacters?) + /// + /// + public virtual IntegerRangeType SizeRangeInCharacters { + get { + XElement x = this.GetElement(SizeRangeInCharactersXName); + if ((x == null)) { + return null; + } + return ((IntegerRangeType)(x)); + } + set { + this.SetElement(SizeRangeInCharactersXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName initialValueXName = System.Xml.Linq.XName.Get("initialValue", ""); + + /// + /// + /// Initial values for string types, may include C language style (\n, \t, \", \\, etc.) escape sequences. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string initialValue { + get { + XAttribute x = this.Attribute(initialValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(initialValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName restrictionPatternXName = System.Xml.Linq.XName.Get("restrictionPattern", ""); + + /// + /// + /// restriction pattern is a regular expression + /// + /// + /// Occurrence: optional + /// + /// + public virtual string restrictionPattern { + get { + XAttribute x = this.Attribute(restrictionPatternXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(restrictionPatternXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName characterWidthXName = System.Xml.Linq.XName.Get("characterWidth", ""); + + /// + /// + /// Optional hint to the implementation about the size of the engineering/calibrated data type to use internally. Generally this can be determined by examination of the encoding information for the string, but it is not always clear, so this attribute allows the extra hint when needed. A tolerant implementation will endeavor to always make sufficient size engineering data types to capture the entire range of possible characters. + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Decimal? characterWidth { + get { + XAttribute x = this.Attribute(characterWidthXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Integer).Datatype); + } + set { + this.SetAttribute(characterWidthXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Integer).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentStringDataType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentStringDataType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(UnitSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(BinaryDataEncodingXName), new NamedContentModelEntity(FloatDataEncodingXName), new NamedContentModelEntity(IntegerDataEncodingXName), new NamedContentModelEntity(StringDataEncodingXName)), new NamedContentModelEntity(SizeRangeInCharactersXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(UnitSetXName, typeof(UnitSetType)); + localElementDictionary.Add(BinaryDataEncodingXName, typeof(ArgumentBinaryDataEncodingType)); + localElementDictionary.Add(FloatDataEncodingXName, typeof(FloatDataEncodingType)); + localElementDictionary.Add(IntegerDataEncodingXName, typeof(IntegerDataEncodingType)); + localElementDictionary.Add(StringDataEncodingXName, typeof(ArgumentStringDataEncodingType)); + localElementDictionary.Add(SizeRangeInCharactersXName, typeof(IntegerRangeType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Defines a base schema type for StringParameterType and StringArgumentType, adding initial value, restriction pattern, character width, and size range in characters. The initial value if set is the initial value of all instances of the child types. The restriction pattern is a regular expression enforcing the string value to this pattern. The character width is on the local data type side. And the size range in character restricts the character set. For telemetered values, if the restriction pattern of size range in character is not met, the item is invalid. See BaseDataType, StringParameterType, StringArgumentType, CharacterWidthType and IntegerRangeType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, SizeRangeInCharacters?) + /// + /// + public abstract partial class StringDataType : global::Omg.Xtce.BaseDataType, IXMetaData { + + public static explicit operator StringDataType(XElement xe) { return (StringDataType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// Defines a base schema type for StringParameterType and StringArgumentType, adding initial value, restriction pattern, character width, and size range in characters. The initial value if set is the initial value of all instances of the child types. The restriction pattern is a regular expression enforcing the string value to this pattern. The character width is on the local data type side. And the size range in character restricts the character set. For telemetered values, if the restriction pattern of size range in character is not met, the item is invalid. See BaseDataType, StringParameterType, StringArgumentType, CharacterWidthType and IntegerRangeType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, SizeRangeInCharacters?) + /// + /// + public StringDataType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitSetXName = System.Xml.Linq.XName.Get("UnitSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryDataEncodingXName = System.Xml.Linq.XName.Get("BinaryDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatDataEncodingXName = System.Xml.Linq.XName.Get("FloatDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerDataEncodingXName = System.Xml.Linq.XName.Get("IntegerDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringDataEncodingXName = System.Xml.Linq.XName.Get("StringDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SizeRangeInCharactersXName = System.Xml.Linq.XName.Get("SizeRangeInCharacters", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// The size in bits may be greater than or equal to minInclusive. It may be less than or equal to maxInclusive. They both may be set indicating a closed range. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, UnitSet?, (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding)?, SizeRangeInCharacters?) + /// + /// + public virtual IntegerRangeType SizeRangeInCharacters { + get { + XElement x = this.GetElement(SizeRangeInCharactersXName); + if ((x == null)) { + return null; + } + return ((IntegerRangeType)(x)); + } + set { + this.SetElement(SizeRangeInCharactersXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName initialValueXName = System.Xml.Linq.XName.Get("initialValue", ""); + + /// + /// + /// Initial values for string types, may include C language style (\n, \t, \", \\, etc.) escape sequences. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string initialValue { + get { + XAttribute x = this.Attribute(initialValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(initialValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName restrictionPatternXName = System.Xml.Linq.XName.Get("restrictionPattern", ""); + + /// + /// + /// restriction pattern is a regular expression + /// + /// + /// Occurrence: optional + /// + /// + public virtual string restrictionPattern { + get { + XAttribute x = this.Attribute(restrictionPatternXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(restrictionPatternXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName characterWidthXName = System.Xml.Linq.XName.Get("characterWidth", ""); + + /// + /// + /// Optional hint to the implementation about the size of the engineering/calibrated data type to use internally. Generally this can be determined by examination of the encoding information for the string, but it is not always clear, so this attribute allows the extra hint when needed. A tolerant implementation will endeavor to always make sufficient size engineering data types to capture the entire range of possible characters. + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Decimal? characterWidth { + get { + XAttribute x = this.Attribute(characterWidthXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Integer).Datatype); + } + set { + this.SetAttribute(characterWidthXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Integer).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("StringDataType", "http://www.omg.org/spec/XTCE/20250214"); + + static StringDataType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(UnitSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(BinaryDataEncodingXName), new NamedContentModelEntity(FloatDataEncodingXName), new NamedContentModelEntity(IntegerDataEncodingXName), new NamedContentModelEntity(StringDataEncodingXName)), new NamedContentModelEntity(SizeRangeInCharactersXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(UnitSetXName, typeof(UnitSetType)); + localElementDictionary.Add(BinaryDataEncodingXName, typeof(BinaryDataEncodingType)); + localElementDictionary.Add(FloatDataEncodingXName, typeof(FloatDataEncodingType)); + localElementDictionary.Add(IntegerDataEncodingXName, typeof(IntegerDataEncodingType)); + localElementDictionary.Add(StringDataEncodingXName, typeof(StringDataEncodingType)); + localElementDictionary.Add(SizeRangeInCharactersXName, typeof(IntegerRangeType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an ordered collection of units that form a unit-expression. Units may be described for both calibrated/engineering values and also potentially uncalibrated/raw values. See UnitType. + /// + /// + /// Regular expression: (Unit*) + /// + /// + public partial class UnitSetType : XTypedElement, IXMetaData { + + public static explicit operator UnitSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an ordered collection of units that form a unit-expression. Units may be described for both calibrated/engineering values and also potentially uncalibrated/raw values. See UnitType. + /// + /// + /// Regular expression: (Unit*) + /// + /// + public UnitSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitXName = System.Xml.Linq.XName.Get("Unit", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList UnitField; + + /// + /// + /// Describe the exponent, factor, form, and description for a unit. The attributes are optional because different programs use this element in different ways, depending on vendor support. + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (Unit*) + /// + /// + public virtual IList Unit { + get { + if ((this.UnitField == null)) { + this.UnitField = new XTypedList(this, LinqToXsdTypeManager.Instance, UnitXName); + } + return this.UnitField; + } + set { + if ((value == null)) { + this.UnitField = null; + } + else { + if ((this.UnitField == null)) { + this.UnitField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, UnitXName); + } + else { + XTypedServices.SetList(this.UnitField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("UnitSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static UnitSetType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(UnitXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(UnitXName, typeof(UnitType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Numerical ranges that define the universe of valid values for this argument. A single range is the most common, although it is possible to define multiple ranges when the valid values are not contiguous. + /// + /// + /// Regular expression: (ValidRange+) + /// + /// + public partial class ValidFloatRangeSetType : XTypedElement, IXMetaData { + + public static explicit operator ValidFloatRangeSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Numerical ranges that define the universe of valid values for this argument. A single range is the most common, although it is possible to define multiple ranges when the valid values are not contiguous. + /// + /// + /// Regular expression: (ValidRange+) + /// + /// + public ValidFloatRangeSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ValidRangeXName = System.Xml.Linq.XName.Get("ValidRange", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ValidRangeField; + + /// + /// + /// A valid range constrains the whole set of possible values that could be encoded by the data type to a more "valid" or "reasonable" set of values. This should be treated as a boundary check in an implementation to validate the input or output value. Typically, only 1 range is used. In cases where multiple ranges are used, then the value is valid when it is valid in any of the provided ranges. Implementations may also use these ranges to enhance user interface displays and other visualization widgets as appropriate for the type. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (ValidRange+) + /// + /// + public virtual IList ValidRange { + get { + if ((this.ValidRangeField == null)) { + this.ValidRangeField = new XTypedList(this, LinqToXsdTypeManager.Instance, ValidRangeXName); + } + return this.ValidRangeField; + } + set { + if ((value == null)) { + this.ValidRangeField = null; + } + else { + if ((this.ValidRangeField == null)) { + this.ValidRangeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ValidRangeXName); + } + else { + XTypedServices.SetList(this.ValidRangeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName validRangeAppliesToCalibratedXName = System.Xml.Linq.XName.Get("validRangeAppliesToCalibrated", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool validRangeAppliesToCalibratedDefaultValue = System.Xml.XmlConvert.ToBoolean("true"); + + /// + /// + /// By default and general recommendation, the valid range is specified in engineering/calibrated values, although this can be adjusted. + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool validRangeAppliesToCalibrated { + get { + XAttribute x = this.Attribute(validRangeAppliesToCalibratedXName); + if ((x == null)) { + return validRangeAppliesToCalibratedDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(validRangeAppliesToCalibratedXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ValidFloatRangeSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static ValidFloatRangeSetType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ValidRangeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ValidRangeXName, typeof(FloatRangeType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Numerical ranges that define the universe of valid values for this argument. A single range is the most common, although it is possible to define multiple ranges when the valid values are not contiguous. + /// + /// + /// Regular expression: (ValidRange+) + /// + /// + public partial class ValidIntegerRangeSetType : XTypedElement, IXMetaData { + + public static explicit operator ValidIntegerRangeSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Numerical ranges that define the universe of valid values for this argument. A single range is the most common, although it is possible to define multiple ranges when the valid values are not contiguous. + /// + /// + /// Regular expression: (ValidRange+) + /// + /// + public ValidIntegerRangeSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ValidRangeXName = System.Xml.Linq.XName.Get("ValidRange", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ValidRangeField; + + /// + /// + /// A valid range constrains the whole set of possible values that could be encoded by the data type to a more "valid" or "reasonable" set of values. This should be treated as a boundary check in an implementation to validate the input or output value. Typically, only 1 range is used. In cases where multiple ranges are used, then the value is valid when it is valid in any of the provided ranges. Implementations may also use these ranges to enhance user interface displays and other visualization widgets as appropriate for the type. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (ValidRange+) + /// + /// + public virtual IList ValidRange { + get { + if ((this.ValidRangeField == null)) { + this.ValidRangeField = new XTypedList(this, LinqToXsdTypeManager.Instance, ValidRangeXName); + } + return this.ValidRangeField; + } + set { + if ((value == null)) { + this.ValidRangeField = null; + } + else { + if ((this.ValidRangeField == null)) { + this.ValidRangeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ValidRangeXName); + } + else { + XTypedServices.SetList(this.ValidRangeField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName validRangeAppliesToCalibratedXName = System.Xml.Linq.XName.Get("validRangeAppliesToCalibrated", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool validRangeAppliesToCalibratedDefaultValue = System.Xml.XmlConvert.ToBoolean("true"); + + /// + /// + /// By default and general recommendation, the valid range is specified in engineering/calibrated values, although this can be adjusted. + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool validRangeAppliesToCalibrated { + get { + XAttribute x = this.Attribute(validRangeAppliesToCalibratedXName); + if ((x == null)) { + return validRangeAppliesToCalibratedDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(validRangeAppliesToCalibratedXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ValidIntegerRangeSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static ValidIntegerRangeSetType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ValidRangeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ValidRangeXName, typeof(IntegerRangeType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Defines two bit-order types: most significant bit first and least significant bit first. See DataEncodingType. + /// + /// + public enum BitOrderType { + + leastSignificantBitFirst, + + mostSignificantBitFirst, + } + + /// + /// + /// Defines two bit-order types: most significant bit first and least significant bit first. See DataEncodingType. + /// + /// + public sealed class BitOrderTypeValidator { + + private BitOrderTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "leastSignificantBitFirst", + "mostSignificantBitFirst"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Identical to BinaryDataEncodingType but supports argument instance references. + /// + /// + /// Regular expression: (ErrorDetectCorrect?, SizeInBits, FromBinaryTransformAlgorithm?, ToBinaryTransformAlgorithm?) + /// + /// + public partial class ArgumentBinaryDataEncodingType : global::Omg.Xtce.DataEncodingType, IXMetaData { + + public static explicit operator ArgumentBinaryDataEncodingType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to BinaryDataEncodingType but supports argument instance references. + /// + /// + /// Regular expression: (ErrorDetectCorrect?, SizeInBits, FromBinaryTransformAlgorithm?, ToBinaryTransformAlgorithm?) + /// + /// + public ArgumentBinaryDataEncodingType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ErrorDetectCorrectXName = System.Xml.Linq.XName.Get("ErrorDetectCorrect", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SizeInBitsXName = System.Xml.Linq.XName.Get("SizeInBits", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Number of bits this value occupies on the stream being encoded/decoded. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ErrorDetectCorrect?, SizeInBits, FromBinaryTransformAlgorithm?, ToBinaryTransformAlgorithm?) + /// + /// + public virtual ArgumentIntegerValueType SizeInBits { + get { + XElement x = this.GetElement(SizeInBitsXName); + return ((ArgumentIntegerValueType)(x)); + } + set { + this.SetElement(SizeInBitsXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FromBinaryTransformAlgorithmXName = System.Xml.Linq.XName.Get("FromBinaryTransformAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Used to convert binary data to an application data type + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ErrorDetectCorrect?, SizeInBits, FromBinaryTransformAlgorithm?, ToBinaryTransformAlgorithm?) + /// + /// + public virtual ArgumentInputAlgorithmType FromBinaryTransformAlgorithm { + get { + XElement x = this.GetElement(FromBinaryTransformAlgorithmXName); + if ((x == null)) { + return null; + } + return ((ArgumentInputAlgorithmType)(x)); + } + set { + this.SetElement(FromBinaryTransformAlgorithmXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ToBinaryTransformAlgorithmXName = System.Xml.Linq.XName.Get("ToBinaryTransformAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Used to convert binary data from an application data type to binary data + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ErrorDetectCorrect?, SizeInBits, FromBinaryTransformAlgorithm?, ToBinaryTransformAlgorithm?) + /// + /// + public virtual ArgumentInputAlgorithmType ToBinaryTransformAlgorithm { + get { + XElement x = this.GetElement(ToBinaryTransformAlgorithmXName); + if ((x == null)) { + return null; + } + return ((ArgumentInputAlgorithmType)(x)); + } + set { + this.SetElement(ToBinaryTransformAlgorithmXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentBinaryDataEncodingType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentBinaryDataEncodingType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ErrorDetectCorrectXName), new NamedContentModelEntity(SizeInBitsXName), new NamedContentModelEntity(FromBinaryTransformAlgorithmXName), new NamedContentModelEntity(ToBinaryTransformAlgorithmXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ErrorDetectCorrectXName, typeof(ErrorDetectCorrectType)); + localElementDictionary.Add(SizeInBitsXName, typeof(ArgumentIntegerValueType)); + localElementDictionary.Add(FromBinaryTransformAlgorithmXName, typeof(ArgumentInputAlgorithmType)); + localElementDictionary.Add(ToBinaryTransformAlgorithmXName, typeof(ArgumentInputAlgorithmType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe binary data that is unmolested in the decoding/encoding or cannot be represented in any of the other data encoding formats. Optionally use the FromBinaryTransformAlgorithm and ToBinaryTransformAlgorithm element to describe the transformation process. See InputAlgorithmType for the transformation structure. + /// + /// + /// Regular expression: (ErrorDetectCorrect?, SizeInBits, FromBinaryTransformAlgorithm?, ToBinaryTransformAlgorithm?) + /// + /// + public partial class BinaryDataEncodingType : global::Omg.Xtce.DataEncodingType, IXMetaData { + + public static explicit operator BinaryDataEncodingType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe binary data that is unmolested in the decoding/encoding or cannot be represented in any of the other data encoding formats. Optionally use the FromBinaryTransformAlgorithm and ToBinaryTransformAlgorithm element to describe the transformation process. See InputAlgorithmType for the transformation structure. + /// + /// + /// Regular expression: (ErrorDetectCorrect?, SizeInBits, FromBinaryTransformAlgorithm?, ToBinaryTransformAlgorithm?) + /// + /// + public BinaryDataEncodingType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ErrorDetectCorrectXName = System.Xml.Linq.XName.Get("ErrorDetectCorrect", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SizeInBitsXName = System.Xml.Linq.XName.Get("SizeInBits", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Number of bits this value occupies on the stream being encoded/decoded. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ErrorDetectCorrect?, SizeInBits, FromBinaryTransformAlgorithm?, ToBinaryTransformAlgorithm?) + /// + /// + public virtual IntegerValueType SizeInBits { + get { + XElement x = this.GetElement(SizeInBitsXName); + return ((IntegerValueType)(x)); + } + set { + this.SetElement(SizeInBitsXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FromBinaryTransformAlgorithmXName = System.Xml.Linq.XName.Get("FromBinaryTransformAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Used to convert binary data to an application data type + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ErrorDetectCorrect?, SizeInBits, FromBinaryTransformAlgorithm?, ToBinaryTransformAlgorithm?) + /// + /// + public virtual InputAlgorithmType FromBinaryTransformAlgorithm { + get { + XElement x = this.GetElement(FromBinaryTransformAlgorithmXName); + if ((x == null)) { + return null; + } + return ((InputAlgorithmType)(x)); + } + set { + this.SetElement(FromBinaryTransformAlgorithmXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ToBinaryTransformAlgorithmXName = System.Xml.Linq.XName.Get("ToBinaryTransformAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Used to convert binary data from an application data type to binary data + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ErrorDetectCorrect?, SizeInBits, FromBinaryTransformAlgorithm?, ToBinaryTransformAlgorithm?) + /// + /// + public virtual InputAlgorithmType ToBinaryTransformAlgorithm { + get { + XElement x = this.GetElement(ToBinaryTransformAlgorithmXName); + if ((x == null)) { + return null; + } + return ((InputAlgorithmType)(x)); + } + set { + this.SetElement(ToBinaryTransformAlgorithmXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BinaryDataEncodingType", "http://www.omg.org/spec/XTCE/20250214"); + + static BinaryDataEncodingType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ErrorDetectCorrectXName), new NamedContentModelEntity(SizeInBitsXName), new NamedContentModelEntity(FromBinaryTransformAlgorithmXName), new NamedContentModelEntity(ToBinaryTransformAlgorithmXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ErrorDetectCorrectXName, typeof(ErrorDetectCorrectType)); + localElementDictionary.Add(SizeInBitsXName, typeof(IntegerValueType)); + localElementDictionary.Add(FromBinaryTransformAlgorithmXName, typeof(InputAlgorithmType)); + localElementDictionary.Add(ToBinaryTransformAlgorithmXName, typeof(InputAlgorithmType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class ByteType : XTypedElement, IXMetaData { + + public static explicit operator ByteType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public ByteType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName byteSignificanceXName = System.Xml.Linq.XName.Get("byteSignificance", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual long byteSignificance { + get { + XAttribute x = this.Attribute(byteSignificanceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(byteSignificanceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ByteType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public sealed class CharacterWidthType { + + private CharacterWidthType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Integer), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + 8m, + 16m, + 32m}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Collapse)); + } + + /// + /// + /// Describe container binary data that is unmolested in the decoding/encoding or cannot be represented in any of the other data encoding formats. Optionally use the FromBinaryTransformAlgorithm and ToBinaryTransformAlgorithm element to describe the transformation process. See InputAlgorithmType for the transformation structure. + /// + /// + /// Regular expression: (ErrorDetectCorrect?, SizeInBits?, FromBinaryTransformAlgorithm?, ToBinaryTransformAlgorithm?) + /// + /// + public partial class ContainerBinaryDataEncodingType : XTypedElement, IXMetaData { + + public static explicit operator ContainerBinaryDataEncodingType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe container binary data that is unmolested in the decoding/encoding or cannot be represented in any of the other data encoding formats. Optionally use the FromBinaryTransformAlgorithm and ToBinaryTransformAlgorithm element to describe the transformation process. See InputAlgorithmType for the transformation structure. + /// + /// + /// Regular expression: (ErrorDetectCorrect?, SizeInBits?, FromBinaryTransformAlgorithm?, ToBinaryTransformAlgorithm?) + /// + /// + public ContainerBinaryDataEncodingType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ErrorDetectCorrectXName = System.Xml.Linq.XName.Get("ErrorDetectCorrect", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Describes the optional inclusion of an error detection and/or correction algorithm used with this container. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ErrorDetectCorrect?, SizeInBits?, FromBinaryTransformAlgorithm?, ToBinaryTransformAlgorithm?) + /// + /// + public virtual ErrorDetectCorrectType ErrorDetectCorrect { + get { + XElement x = this.GetElement(ErrorDetectCorrectXName); + if ((x == null)) { + return null; + } + return ((ErrorDetectCorrectType)(x)); + } + set { + this.SetElement(ErrorDetectCorrectXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SizeInBitsXName = System.Xml.Linq.XName.Get("SizeInBits", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Number of bits this container occupies on the stream being encoded/decoded. This is only needed to "force" the bit length of the container to be a fixed value. In most cases, the entry list would define the size of the container. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ErrorDetectCorrect?, SizeInBits?, FromBinaryTransformAlgorithm?, ToBinaryTransformAlgorithm?) + /// + /// + public virtual IntegerValueType SizeInBits { + get { + XElement x = this.GetElement(SizeInBitsXName); + if ((x == null)) { + return null; + } + return ((IntegerValueType)(x)); + } + set { + this.SetElement(SizeInBitsXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FromBinaryTransformAlgorithmXName = System.Xml.Linq.XName.Get("FromBinaryTransformAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Used to convert binary data to an application data type. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ErrorDetectCorrect?, SizeInBits?, FromBinaryTransformAlgorithm?, ToBinaryTransformAlgorithm?) + /// + /// + public virtual InputAlgorithmType FromBinaryTransformAlgorithm { + get { + XElement x = this.GetElement(FromBinaryTransformAlgorithmXName); + if ((x == null)) { + return null; + } + return ((InputAlgorithmType)(x)); + } + set { + this.SetElement(FromBinaryTransformAlgorithmXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ToBinaryTransformAlgorithmXName = System.Xml.Linq.XName.Get("ToBinaryTransformAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Used to convert binary data from an application data type to binary data. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ErrorDetectCorrect?, SizeInBits?, FromBinaryTransformAlgorithm?, ToBinaryTransformAlgorithm?) + /// + /// + public virtual InputAlgorithmType ToBinaryTransformAlgorithm { + get { + XElement x = this.GetElement(ToBinaryTransformAlgorithmXName); + if ((x == null)) { + return null; + } + return ((InputAlgorithmType)(x)); + } + set { + this.SetElement(ToBinaryTransformAlgorithmXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ContainerBinaryDataEncodingType", "http://www.omg.org/spec/XTCE/20250214"); + + static ContainerBinaryDataEncodingType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ErrorDetectCorrectXName), new NamedContentModelEntity(SizeInBitsXName), new NamedContentModelEntity(FromBinaryTransformAlgorithmXName), new NamedContentModelEntity(ToBinaryTransformAlgorithmXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ErrorDetectCorrectXName, typeof(ErrorDetectCorrectType)); + localElementDictionary.Add(SizeInBitsXName, typeof(IntegerValueType)); + localElementDictionary.Add(FromBinaryTransformAlgorithmXName, typeof(InputAlgorithmType)); + localElementDictionary.Add(ToBinaryTransformAlgorithmXName, typeof(InputAlgorithmType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Cyclic Redundancy Check (CRC) definition. The polynomial coefficients for the CRC are defined as a truncated hex value. The coefficient for the nth bit of an n-bit CRC will always be 1 and is not represented in the truncated hex value. For example, the truncated hex value of CRC-32 (width=32 bits) used in the Ethernet specification is 0x04C11DB7, where each non-zero bit of the truncated hex represents a coefficient of 1 in the polynomial and the bit position represents the exponent. There may also be an initial remainder "InitRemainder" and a final XOR "FinalXOR" to fully specify the CRC. reflectData and reflectRemainder may also be specified to reverse the bit order in the incoming data and/or the result. + /// + /// + /// Regular expression: (Polynomial, InitRemainder?, FinalXOR?) + /// + /// + public partial class CRCType : XTypedElement, IXMetaData { + + public static explicit operator CRCType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Cyclic Redundancy Check (CRC) definition. The polynomial coefficients for the CRC are defined as a truncated hex value. The coefficient for the nth bit of an n-bit CRC will always be 1 and is not represented in the truncated hex value. For example, the truncated hex value of CRC-32 (width=32 bits) used in the Ethernet specification is 0x04C11DB7, where each non-zero bit of the truncated hex represents a coefficient of 1 in the polynomial and the bit position represents the exponent. There may also be an initial remainder "InitRemainder" and a final XOR "FinalXOR" to fully specify the CRC. reflectData and reflectRemainder may also be specified to reverse the bit order in the incoming data and/or the result. + /// + /// + /// Regular expression: (Polynomial, InitRemainder?, FinalXOR?) + /// + /// + public CRCType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName PolynomialXName = System.Xml.Linq.XName.Get("Polynomial", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// The polynomial that represents the calculation in hexadecimal form (described at CRCType annotation). + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Polynomial, InitRemainder?, FinalXOR?) + /// + /// + public virtual byte[] Polynomial { + get { + XElement x = this.GetElement(PolynomialXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary).Datatype); + } + set { + this.SetElement(PolynomialXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName InitRemainderXName = System.Xml.Linq.XName.Get("InitRemainder", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static byte[] InitRemainderDefaultValue = new byte[] { + System.Xml.XmlConvert.ToByte("00")}; + + /// + /// + /// A hexadecimal digit string specifying the initial value to set in the shift register before computing the CRC. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (Polynomial, InitRemainder?, FinalXOR?) + /// + /// + public virtual byte[] InitRemainder { + get { + XElement x = this.GetElement(InitRemainderXName); + if ((x == null)) { + return null; + } + if (((x != null) + && x.IsEmpty)) { + return InitRemainderDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary).Datatype); + } + set { + this.SetElement(InitRemainderXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FinalXORXName = System.Xml.Linq.XName.Get("FinalXOR", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static byte[] FinalXORDefaultValue = new byte[] { + System.Xml.XmlConvert.ToByte("00")}; + + /// + /// + /// A hexadecimal digit string specifying the value to be added to the final shift register value before output. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (Polynomial, InitRemainder?, FinalXOR?) + /// + /// + public virtual byte[] FinalXOR { + get { + XElement x = this.GetElement(FinalXORXName); + if ((x == null)) { + return null; + } + if (((x != null) + && x.IsEmpty)) { + return FinalXORDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary).Datatype); + } + set { + this.SetElement(FinalXORXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName widthXName = System.Xml.Linq.XName.Get("width", ""); + + /// + /// + /// The width is the number of bits in the shift register, which is not necessarily the number of bits of the parameter holding the value. + /// + /// + /// Occurrence: required + /// + /// + public virtual long width { + get { + XAttribute x = this.Attribute(widthXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(widthXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName reflectDataXName = System.Xml.Linq.XName.Get("reflectData", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool reflectDataDefaultValue = System.Xml.XmlConvert.ToBoolean("false"); + + /// + /// + /// Endianness of the input data, true=little, false=big. + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool reflectData { + get { + XAttribute x = this.Attribute(reflectDataXName); + if ((x == null)) { + return reflectDataDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(reflectDataXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName reflectRemainderXName = System.Xml.Linq.XName.Get("reflectRemainder", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool reflectRemainderDefaultValue = System.Xml.XmlConvert.ToBoolean("false"); + + /// + /// + /// Endianness of the output data, true=little, false=big. + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool reflectRemainder { + get { + XAttribute x = this.Attribute(reflectRemainderXName); + if ((x == null)) { + return reflectRemainderDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(reflectRemainderXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName directionXName = System.Xml.Linq.XName.Get("direction", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.BitOrderType directionDefaultValue = Omg.Xtce.BitOrderType.mostSignificantBitFirst; + + /// + /// + /// The direction to perform the CRC calculation. + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.BitOrderType direction { + get { + XAttribute x = this.Attribute(directionXName); + if ((x == null)) { + return directionDefaultValue; + } + return ((Omg.Xtce.BitOrderType)(Enum.Parse(typeof(Omg.Xtce.BitOrderType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.BitOrderTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(directionXName, value.ToString(), "direction", global::Omg.Xtce.BitOrderTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName bitsFromReferenceXName = System.Xml.Linq.XName.Get("bitsFromReference", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static long bitsFromReferenceDefaultValue = System.Xml.XmlConvert.ToInt64("0"); + + /// + /// + /// An offset of non-zero may be specified to skip some bits against the reference position in the reference attribute. + /// + /// + /// Occurrence: optional + /// + /// + public virtual long bitsFromReference { + get { + XAttribute x = this.Attribute(bitsFromReferenceXName); + if ((x == null)) { + return bitsFromReferenceDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(bitsFromReferenceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName referenceXName = System.Xml.Linq.XName.Get("reference", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.ReferencePointType referenceDefaultValue = Omg.Xtce.ReferencePointType.start; + + /// + /// + /// The bits involved in the calculation may start at the beginning or the end of the container. + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.ReferencePointType reference { + get { + XAttribute x = this.Attribute(referenceXName); + if ((x == null)) { + return referenceDefaultValue; + } + return ((Omg.Xtce.ReferencePointType)(Enum.Parse(typeof(Omg.Xtce.ReferencePointType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.ReferencePointTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(referenceXName, value.ToString(), "reference", global::Omg.Xtce.ReferencePointTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName parameterRefXName = System.Xml.Linq.XName.Get("parameterRef", ""); + + /// + /// + /// Reference to the parameter that contains the value of the CRC based on this container. This attribute is optional because not all implementations verify (telemetry) or create (telecommand) error control fields using the XTCE definition. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string parameterRef { + get { + XAttribute x = this.Attribute(parameterRefXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(parameterRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CRCType", "http://www.omg.org/spec/XTCE/20250214"); + + static CRCType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(PolynomialXName), new NamedContentModelEntity(InitRemainderXName), new NamedContentModelEntity(FinalXORXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(PolynomialXName, typeof(byte[])); + localElementDictionary.Add(InitRemainderXName, typeof(byte[])); + localElementDictionary.Add(FinalXORXName, typeof(byte[])); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describes how a particular piece of data is sent or received from some non-native, off-platform device. (e.g. a spacecraft) + /// + /// + /// Regular expression: (ErrorDetectCorrect?) + /// + /// + public abstract partial class DataEncodingType : XTypedElement, IXMetaData { + + public static explicit operator DataEncodingType(XElement xe) { return (DataEncodingType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// Describes how a particular piece of data is sent or received from some non-native, off-platform device. (e.g. a spacecraft) + /// + /// + /// Regular expression: (ErrorDetectCorrect?) + /// + /// + public DataEncodingType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ErrorDetectCorrectXName = System.Xml.Linq.XName.Get("ErrorDetectCorrect", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// DEPRECATED: Use the ErrorDetectCorrect element in the container elements instead. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ErrorDetectCorrect?) + /// + /// + public virtual ErrorDetectCorrectType ErrorDetectCorrect { + get { + XElement x = this.GetElement(ErrorDetectCorrectXName); + if ((x == null)) { + return null; + } + return ((ErrorDetectCorrectType)(x)); + } + set { + this.SetElement(ErrorDetectCorrectXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName bitOrderXName = System.Xml.Linq.XName.Get("bitOrder", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.BitOrderType bitOrderDefaultValue = Omg.Xtce.BitOrderType.mostSignificantBitFirst; + + /// + /// + /// Describes the bit ordering of the encoded value. + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.BitOrderType bitOrder { + get { + XAttribute x = this.Attribute(bitOrderXName); + if ((x == null)) { + return bitOrderDefaultValue; + } + return ((Omg.Xtce.BitOrderType)(Enum.Parse(typeof(Omg.Xtce.BitOrderType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.BitOrderTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(bitOrderXName, value.ToString(), "bitOrder", global::Omg.Xtce.BitOrderTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName byteOrderXName = System.Xml.Linq.XName.Get("byteOrder", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static string byteOrderDefaultValue = "mostSignificantByteFirst"; + + /// + /// + /// Describes the endianness of the encoded value. + /// + /// + /// Occurrence: optional + /// + /// + public virtual object byteOrder { + get { + XAttribute x = this.Attribute(byteOrderXName); + if ((x == null)) { + return byteOrderDefaultValue; + } + return XTypedServices.ParseUnionValue(x, global::Omg.Xtce.ByteOrderType.TypeDefinition); + } + set { + this.SetUnionAttribute(value, "byteOrder", this, byteOrderXName, global::Omg.Xtce.ByteOrderType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("DataEncodingType", "http://www.omg.org/spec/XTCE/20250214"); + + static DataEncodingType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ErrorDetectCorrectXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ErrorDetectCorrectXName, typeof(ErrorDetectCorrectType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe the data encoding for a time data type. It includes the units and other attributes scale and offset. Use scale and offset to describe a y=mx+b relationship (where m is the slope/scale and b is the intercept/offset) to make adjustments to the encoded time value so that it matches the time units. For binary encoded time use transform algorithms to convert time data formats that are too difficult to describe in XTCE. See AbsoluteTimeDataType and RelativeTimeDataType. + /// + /// + /// Regular expression: (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding) + /// + /// + public partial class EncodingType : XTypedElement, IXMetaData { + + public static explicit operator EncodingType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe the data encoding for a time data type. It includes the units and other attributes scale and offset. Use scale and offset to describe a y=mx+b relationship (where m is the slope/scale and b is the intercept/offset) to make adjustments to the encoded time value so that it matches the time units. For binary encoded time use transform algorithms to convert time data formats that are too difficult to describe in XTCE. See AbsoluteTimeDataType and RelativeTimeDataType. + /// + /// + /// Regular expression: (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding) + /// + /// + public EncodingType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BinaryDataEncodingXName = System.Xml.Linq.XName.Get("BinaryDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Binary encoding is typically a "pass through" raw encoding form where one of the more common encodings is not required for the parameter. A custom transformation capability is available if needed. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding) + /// + /// + public virtual BinaryDataEncodingType BinaryDataEncoding { + get { + XElement x = this.GetElement(BinaryDataEncodingXName); + if ((x == null)) { + return null; + } + return ((BinaryDataEncodingType)(x)); + } + set { + this.SetElement(BinaryDataEncodingXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FloatDataEncodingXName = System.Xml.Linq.XName.Get("FloatDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Float encoding is a common encoding where the raw binary is in a form that gets interpreted as a decimal numeric value. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding) + /// + /// + public virtual FloatDataEncodingType FloatDataEncoding { + get { + XElement x = this.GetElement(FloatDataEncodingXName); + if ((x == null)) { + return null; + } + return ((FloatDataEncodingType)(x)); + } + set { + this.SetElement(FloatDataEncodingXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IntegerDataEncodingXName = System.Xml.Linq.XName.Get("IntegerDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Integer encoding is a common encoding where the raw binary is in a form that gets interpreted as an integral value, either signed or unsigned. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding) + /// + /// + public virtual IntegerDataEncodingType IntegerDataEncoding { + get { + XElement x = this.GetElement(IntegerDataEncodingXName); + if ((x == null)) { + return null; + } + return ((IntegerDataEncodingType)(x)); + } + set { + this.SetElement(IntegerDataEncodingXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringDataEncodingXName = System.Xml.Linq.XName.Get("StringDataEncoding", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// String encoding is a common encoding where the raw binary is in a form that gets interpreted as a character sequence. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (BinaryDataEncoding | FloatDataEncoding | IntegerDataEncoding | StringDataEncoding) + /// + /// + public virtual StringDataEncodingType StringDataEncoding { + get { + XElement x = this.GetElement(StringDataEncodingXName); + if ((x == null)) { + return null; + } + return ((StringDataEncodingType)(x)); + } + set { + this.SetElement(StringDataEncodingXName, value); + } + } + + public EncodingType(BinaryDataEncodingType BinaryDataEncoding) { + this.BinaryDataEncoding = BinaryDataEncoding; + } + + public EncodingType(FloatDataEncodingType FloatDataEncoding) { + this.FloatDataEncoding = FloatDataEncoding; + } + + public EncodingType(IntegerDataEncodingType IntegerDataEncoding) { + this.IntegerDataEncoding = IntegerDataEncoding; + } + + public EncodingType(StringDataEncodingType StringDataEncoding) { + this.StringDataEncoding = StringDataEncoding; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName unitsXName = System.Xml.Linq.XName.Get("units", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.TimeUnitsType unitsDefaultValue = Omg.Xtce.TimeUnitsType.seconds; + + /// + /// + /// Time units, with the default being in seconds. + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.TimeUnitsType units { + get { + XAttribute x = this.Attribute(unitsXName); + if ((x == null)) { + return unitsDefaultValue; + } + return ((Omg.Xtce.TimeUnitsType)(Enum.Parse(typeof(Omg.Xtce.TimeUnitsType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.TimeUnitsTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(unitsXName, value.ToString(), "units", global::Omg.Xtce.TimeUnitsTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName scaleXName = System.Xml.Linq.XName.Get("scale", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static double scaleDefaultValue = System.Xml.XmlConvert.ToDouble("1"); + + /// + /// + /// Linear slope used as a shorter form of specifying a calibrator to convert between the raw value and the engineering units. + /// + /// + /// Occurrence: optional + /// + /// + public virtual double scale { + get { + XAttribute x = this.Attribute(scaleXName); + if ((x == null)) { + return scaleDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + set { + this.SetAttribute(scaleXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName offsetXName = System.Xml.Linq.XName.Get("offset", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static double offsetDefaultValue = System.Xml.XmlConvert.ToDouble("0"); + + /// + /// + /// Linear intercept used as a shorter form of specifying a calibrator to convert between the raw value and the engineering units. + /// + /// + /// Occurrence: optional + /// + /// + public virtual double offset { + get { + XAttribute x = this.Attribute(offsetXName); + if ((x == null)) { + return offsetDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + set { + this.SetAttribute(offsetXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("EncodingType", "http://www.omg.org/spec/XTCE/20250214"); + + static EncodingType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(BinaryDataEncodingXName), new NamedContentModelEntity(FloatDataEncodingXName), new NamedContentModelEntity(IntegerDataEncodingXName), new NamedContentModelEntity(StringDataEncodingXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(BinaryDataEncodingXName, typeof(BinaryDataEncodingType)); + localElementDictionary.Add(FloatDataEncodingXName, typeof(FloatDataEncodingType)); + localElementDictionary.Add(IntegerDataEncodingXName, typeof(IntegerDataEncodingType)); + localElementDictionary.Add(StringDataEncodingXName, typeof(StringDataEncodingType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Epochs may be specified as an xs date where time is implied to be 00:00:00, xs dateTime, or string enumeration of common epochs. The enumerations are TAI (used by CCSDS and others), J2000, UNIX (also known as POSIX), and GPS. + /// + /// + public sealed class EpochType { + + private EpochType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.UnionSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType), null, new Xml.Schema.Linq.SimpleTypeValidator[] { + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Date), null), + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.DateTime), null), + Omg.Xtce.EpochTimeEnumsTypeValidator.TypeDefinition}); + } + + /// + /// + /// For common encodings of floating point data + /// + /// + /// Regular expression: (ErrorDetectCorrect?, DefaultCalibrator?, ContextCalibratorList?) + /// + /// + public partial class FloatDataEncodingType : global::Omg.Xtce.DataEncodingType, IXMetaData { + + public static explicit operator FloatDataEncodingType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// For common encodings of floating point data + /// + /// + /// Regular expression: (ErrorDetectCorrect?, DefaultCalibrator?, ContextCalibratorList?) + /// + /// + public FloatDataEncodingType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ErrorDetectCorrectXName = System.Xml.Linq.XName.Get("ErrorDetectCorrect", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DefaultCalibratorXName = System.Xml.Linq.XName.Get("DefaultCalibrator", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Calibrator to be applied to the raw uncalibrated value to arrive at the engineering/calibrated value when no Context Calibrators are provided or evaluate to true, based on their MatchCriteria. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ErrorDetectCorrect?, DefaultCalibrator?, ContextCalibratorList?) + /// + /// + public virtual CalibratorType DefaultCalibrator { + get { + XElement x = this.GetElement(DefaultCalibratorXName); + if ((x == null)) { + return null; + } + return ((CalibratorType)(x)); + } + set { + this.SetElement(DefaultCalibratorXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContextCalibratorListXName = System.Xml.Linq.XName.Get("ContextCalibratorList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Calibrator to be applied to the raw uncalibrated value to arrive at the engineering/calibrated value when a MatchCriteria evaluates to true. The first in the list to match takes precedence. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ErrorDetectCorrect?, DefaultCalibrator?, ContextCalibratorList?) + /// + /// + public virtual ContextCalibratorListType ContextCalibratorList { + get { + XElement x = this.GetElement(ContextCalibratorListXName); + if ((x == null)) { + return null; + } + return ((ContextCalibratorListType)(x)); + } + set { + this.SetElement(ContextCalibratorListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName encodingXName = System.Xml.Linq.XName.Get("encoding", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.FloatEncodingType encodingDefaultValue = Omg.Xtce.FloatEncodingType.IEEE754_1985; + + /// + /// + /// Specifies real/decimal numeric value to raw encoding method, with the default being "IEEE754_1985". + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.FloatEncodingType encoding { + get { + XAttribute x = this.Attribute(encodingXName); + if ((x == null)) { + return encodingDefaultValue; + } + return ((Omg.Xtce.FloatEncodingType)(Enum.Parse(typeof(Omg.Xtce.FloatEncodingType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.FloatEncodingTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(encodingXName, value.ToString(), "encoding", global::Omg.Xtce.FloatEncodingTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName sizeInBitsXName = System.Xml.Linq.XName.Get("sizeInBits", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static ushort sizeInBitsDefaultValue = System.Xml.XmlConvert.ToUInt16("32"); + + /// + /// + /// Number of bits to use for the float raw encoding method, with 32 being the default. Not every number of bits is valid for each encoding method. + /// + /// + /// Verify the number of bits for encoding is valid for the encoding method. + /// + /// + /// Occurrence: optional + /// + /// + public virtual ushort sizeInBits { + get { + XAttribute x = this.Attribute(sizeInBitsXName); + if ((x == null)) { + return sizeInBitsDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedShort).Datatype); + } + set { + this.SetAttribute(sizeInBitsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedShort).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName changeThresholdXName = System.Xml.Linq.XName.Get("changeThreshold", ""); + + /// + /// + /// A changeThreshold may optionally be specified to inform systems of the minimum change in value that is significant. This is used by some systems to limit the telemetry processing and/or recording requirements. If the value is unspecified or zero, any change is significant. + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Double? changeThreshold { + get { + XAttribute x = this.Attribute(changeThresholdXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + set { + this.SetAttribute(changeThresholdXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("FloatDataEncodingType", "http://www.omg.org/spec/XTCE/20250214"); + + static FloatDataEncodingType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ErrorDetectCorrectXName), new NamedContentModelEntity(DefaultCalibratorXName), new NamedContentModelEntity(ContextCalibratorListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ErrorDetectCorrectXName, typeof(ErrorDetectCorrectType)); + localElementDictionary.Add(DefaultCalibratorXName, typeof(CalibratorType)); + localElementDictionary.Add(ContextCalibratorListXName, typeof(ContextCalibratorListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public sealed class FloatEncodingSizeInBitsType { + + private FloatEncodingSizeInBitsType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedShort), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + 16, + 32, + 40, + 48, + 64, + 80, + 128}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Collapse)); + } + + public enum FloatEncodingType { + + IEEE754_1985, + + IEEE754, + + MILSTD_1750A, + + DEC, + + IBM, + + TI, + } + + public sealed class FloatEncodingTypeValidator { + + private FloatEncodingTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "IEEE754_1985", + "IEEE754", + "MILSTD_1750A", + "DEC", + "IBM", + "TI"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public sealed class FloatSizeInBitsType { + + private FloatSizeInBitsType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(272)), new object[] { + 32, + 64, + 128}, 0, 0, null, null, 0, null, 1, 0, null, 0, XmlSchemaWhiteSpace.Collapse)); + } + + /// + /// + /// For all major encodings of integer data + /// + /// + /// Regular expression: (ErrorDetectCorrect?, DefaultCalibrator?, ContextCalibratorList?) + /// + /// + public partial class IntegerDataEncodingType : global::Omg.Xtce.DataEncodingType, IXMetaData { + + public static explicit operator IntegerDataEncodingType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// For all major encodings of integer data + /// + /// + /// Regular expression: (ErrorDetectCorrect?, DefaultCalibrator?, ContextCalibratorList?) + /// + /// + public IntegerDataEncodingType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ErrorDetectCorrectXName = System.Xml.Linq.XName.Get("ErrorDetectCorrect", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DefaultCalibratorXName = System.Xml.Linq.XName.Get("DefaultCalibrator", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Calibrator to be applied to the raw uncalibrated value to arrive at the engineering/calibrated value when no Context Calibrators are provided or evaluate to true, based on their MatchCriteria. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ErrorDetectCorrect?, DefaultCalibrator?, ContextCalibratorList?) + /// + /// + public virtual CalibratorType DefaultCalibrator { + get { + XElement x = this.GetElement(DefaultCalibratorXName); + if ((x == null)) { + return null; + } + return ((CalibratorType)(x)); + } + set { + this.SetElement(DefaultCalibratorXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContextCalibratorListXName = System.Xml.Linq.XName.Get("ContextCalibratorList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Calibrator to be applied to the raw uncalibrated value to arrive at the engineering/calibrated value when a MatchCriteria evaluates to true. The first in the list to match takes precedence. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ErrorDetectCorrect?, DefaultCalibrator?, ContextCalibratorList?) + /// + /// + public virtual ContextCalibratorListType ContextCalibratorList { + get { + XElement x = this.GetElement(ContextCalibratorListXName); + if ((x == null)) { + return null; + } + return ((ContextCalibratorListType)(x)); + } + set { + this.SetElement(ContextCalibratorListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName encodingXName = System.Xml.Linq.XName.Get("encoding", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.IntegerEncodingType encodingDefaultValue = Omg.Xtce.IntegerEncodingType.unsigned; + + /// + /// + /// Specifies integer numeric value to raw encoding method, with the default being "unsigned". + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.IntegerEncodingType encoding { + get { + XAttribute x = this.Attribute(encodingXName); + if ((x == null)) { + return encodingDefaultValue; + } + return ((Omg.Xtce.IntegerEncodingType)(Enum.Parse(typeof(Omg.Xtce.IntegerEncodingType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.IntegerEncodingTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(encodingXName, value.ToString(), "encoding", global::Omg.Xtce.IntegerEncodingTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName sizeInBitsXName = System.Xml.Linq.XName.Get("sizeInBits", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static long sizeInBitsDefaultValue = System.Xml.XmlConvert.ToInt64("8"); + + /// + /// + /// Number of bits to use for the raw encoding, with 8 being the default. + /// + /// + /// Occurrence: optional + /// + /// + public virtual long sizeInBits { + get { + XAttribute x = this.Attribute(sizeInBitsXName); + if ((x == null)) { + return sizeInBitsDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(sizeInBitsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName changeThresholdXName = System.Xml.Linq.XName.Get("changeThreshold", ""); + + /// + /// + /// A changeThreshold may optionally be specified to inform systems of the minimum change in value that is significant. This is used by some systems to limit the telemetry processing and/or recording requirements, such as for an analog-to-digital converter that dithers in the least significant bit. If the value is unspecified or zero, any change is significant. + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Int64? changeThreshold { + get { + XAttribute x = this.Attribute(changeThresholdXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(changeThresholdXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("IntegerDataEncodingType", "http://www.omg.org/spec/XTCE/20250214"); + + static IntegerDataEncodingType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ErrorDetectCorrectXName), new NamedContentModelEntity(DefaultCalibratorXName), new NamedContentModelEntity(ContextCalibratorListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ErrorDetectCorrectXName, typeof(ErrorDetectCorrectType)); + localElementDictionary.Add(DefaultCalibratorXName, typeof(CalibratorType)); + localElementDictionary.Add(ContextCalibratorListXName, typeof(ContextCalibratorListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public enum IntegerEncodingType { + + unsigned, + + signMagnitude, + + twosComplement, + + onesComplement, + + BCD, + + packedBCD, + } + + public sealed class IntegerEncodingTypeValidator { + + private IntegerEncodingTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "unsigned", + "signMagnitude", + "twosComplement", + "onesComplement", + "BCD", + "packedBCD"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Like PASCAL strings, the size of the string is given as an integer at the start of the string. SizeTag must be an unsigned Integer + /// + /// + public partial class LeadingSizeType : XTypedElement, IXMetaData { + + public static explicit operator LeadingSizeType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Like PASCAL strings, the size of the string is given as an integer at the start of the string. SizeTag must be an unsigned Integer + /// + /// + public LeadingSizeType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName sizeInBitsOfSizeTagXName = System.Xml.Linq.XName.Get("sizeInBitsOfSizeTag", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static long sizeInBitsOfSizeTagDefaultValue = System.Xml.XmlConvert.ToInt64("16"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual long sizeInBitsOfSizeTag { + get { + XAttribute x = this.Attribute(sizeInBitsOfSizeTagXName); + if ((x == null)) { + return sizeInBitsOfSizeTagDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(sizeInBitsOfSizeTagXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("LeadingSizeType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public enum ParityFormType { + + Even, + + Odd, + } + + public sealed class ParityFormTypeValidator { + + private ParityFormTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "Even", + "Odd"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Describe the parity value. See ErrorDetectCorrectType. + /// + /// + public partial class ParityType : XTypedElement, IXMetaData { + + public static explicit operator ParityType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe the parity value. See ErrorDetectCorrectType. + /// + /// + public ParityType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName typeXName = System.Xml.Linq.XName.Get("type", ""); + + /// + /// + /// The parity form. + /// + /// + /// Occurrence: required + /// + /// + public virtual Omg.Xtce.ParityFormType type { + get { + XAttribute x = this.Attribute(typeXName); + return ((Omg.Xtce.ParityFormType)(Enum.Parse(typeof(Omg.Xtce.ParityFormType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.ParityFormTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(typeXName, value.ToString(), "type", global::Omg.Xtce.ParityFormTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName bitsFromReferenceXName = System.Xml.Linq.XName.Get("bitsFromReference", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static long bitsFromReferenceDefaultValue = System.Xml.XmlConvert.ToInt64("0"); + + /// + /// + /// An offset of non-zero may be specified to skip some bits against the reference position in the reference attribute. + /// + /// + /// Occurrence: optional + /// + /// + public virtual long bitsFromReference { + get { + XAttribute x = this.Attribute(bitsFromReferenceXName); + if ((x == null)) { + return bitsFromReferenceDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(bitsFromReferenceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName referenceXName = System.Xml.Linq.XName.Get("reference", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.ReferencePointType referenceDefaultValue = Omg.Xtce.ReferencePointType.start; + + /// + /// + /// The bits involved in the calculation may start at the beginning or the end of the container. + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.ReferencePointType reference { + get { + XAttribute x = this.Attribute(referenceXName); + if ((x == null)) { + return referenceDefaultValue; + } + return ((Omg.Xtce.ReferencePointType)(Enum.Parse(typeof(Omg.Xtce.ReferencePointType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.ReferencePointTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(referenceXName, value.ToString(), "reference", global::Omg.Xtce.ReferencePointTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName parameterRefXName = System.Xml.Linq.XName.Get("parameterRef", ""); + + /// + /// + /// Reference to the parameter that contains the value of the parity based on this container. This attribute is optional because not all implementations verify (telemetry) or create (telecommand) error control fields using the XTCE definition. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string parameterRef { + get { + XAttribute x = this.Attribute(parameterRefXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(parameterRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ParityType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (Fixed, TerminationChar?, LeadingSize?) + /// + /// + public partial class SizeInBitsType : XTypedElement, IXMetaData { + + public static explicit operator SizeInBitsType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (Fixed, TerminationChar?, LeadingSize?) + /// + /// + public SizeInBitsType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FixedXName = System.Xml.Linq.XName.Get("Fixed", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// This is the simplest case of a string data type where the encoding size of the string does not change. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Fixed, TerminationChar?, LeadingSize?) + /// + /// + public virtual FixedLocalType Fixed { + get { + XElement x = this.GetElement(FixedXName); + return ((FixedLocalType)(x)); + } + set { + this.SetElement(FixedXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TerminationCharXName = System.Xml.Linq.XName.Get("TerminationChar", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static byte[] TerminationCharDefaultValue = new byte[] { + System.Xml.XmlConvert.ToByte("00")}; + + /// + /// + /// The termination character that represents the end of the string contents. For C and most strings, this is null (00), which is the default. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (Fixed, TerminationChar?, LeadingSize?) + /// + /// + public virtual byte[] TerminationChar { + get { + XElement x = this.GetElement(TerminationCharXName); + if ((x == null)) { + return null; + } + if (((x != null) + && x.IsEmpty)) { + return TerminationCharDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary).Datatype); + } + set { + this.SetElement(TerminationCharXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LeadingSizeXName = System.Xml.Linq.XName.Get("LeadingSize", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// In some string implementations, the size of the string contents (not the memory allocation size) is determined by a leading numeric value. This is sometimes referred to as Pascal strings. If a LeadingSize is specified, then the TerminationChar element does not have a functional meaning. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (Fixed, TerminationChar?, LeadingSize?) + /// + /// + public virtual LeadingSizeType LeadingSize { + get { + XElement x = this.GetElement(LeadingSizeXName); + if ((x == null)) { + return null; + } + return ((LeadingSizeType)(x)); + } + set { + this.SetElement(LeadingSizeXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SizeInBitsType", "http://www.omg.org/spec/XTCE/20250214"); + + static SizeInBitsType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(FixedXName), new NamedContentModelEntity(TerminationCharXName), new NamedContentModelEntity(LeadingSizeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(FixedXName, typeof(FixedLocalType)); + localElementDictionary.Add(TerminationCharXName, typeof(byte[])); + localElementDictionary.Add(LeadingSizeXName, typeof(LeadingSizeType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + /// + /// + /// Regular expression: (FixedValue) + /// + /// + public partial class FixedLocalType : XTypedElement, IXMetaData { + + public static explicit operator FixedLocalType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (FixedValue) + /// + /// + public FixedLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FixedValueXName = System.Xml.Linq.XName.Get("FixedValue", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Size in bits of this string data type for both the memory allocation in the implementing software and also the size in bits for this parameter when it appears in a container. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (FixedValue) + /// + /// + public virtual long FixedValue { + get { + XElement x = this.GetElement(FixedValueXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetElementWithValidation(FixedValueXName, value, "FixedValue", global::Omg.Xtce.PositiveLongType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Fixed", "http://www.omg.org/spec/XTCE/20250214"); + + static FixedLocalType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(FixedValueXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(FixedValueXName, typeof(long)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + } + + /// + /// + /// Identical to VariableStringType but supports argument instance references. + /// + /// + /// Regular expression: ((DynamicValue | DiscreteLookupList)?, (LeadingSize | TerminationChar)) + /// + /// + public partial class ArgumentVariableStringType : XTypedElement, IXMetaData { + + public static explicit operator ArgumentVariableStringType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to VariableStringType but supports argument instance references. + /// + /// + /// Regular expression: ((DynamicValue | DiscreteLookupList)?, (LeadingSize | TerminationChar)) + /// + /// + public ArgumentVariableStringType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DynamicValueXName = System.Xml.Linq.XName.Get("DynamicValue", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Determine the container size in bits by interrogating an instance of a parameter or argument. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((DynamicValue | DiscreteLookupList)?, (LeadingSize | TerminationChar)) + /// + /// + public virtual ArgumentDynamicValueType DynamicValue { + get { + XElement x = this.GetElement(DynamicValueXName); + if ((x == null)) { + return null; + } + return ((ArgumentDynamicValueType)(x)); + } + set { + this.SetElement(DynamicValueXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DiscreteLookupListXName = System.Xml.Linq.XName.Get("DiscreteLookupList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Determine the container size in bits by interrogating an instance of a parameter or argument and selecting a specified value based on tests of the value of that parameter or argument. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((DynamicValue | DiscreteLookupList)?, (LeadingSize | TerminationChar)) + /// + /// + public virtual ArgumentDiscreteLookupListType DiscreteLookupList { + get { + XElement x = this.GetElement(DiscreteLookupListXName); + if ((x == null)) { + return null; + } + return ((ArgumentDiscreteLookupListType)(x)); + } + set { + this.SetElement(DiscreteLookupListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LeadingSizeXName = System.Xml.Linq.XName.Get("LeadingSize", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// In some string implementations, the size of the string contents (not the memory allocation size) is determined by a leading numeric value. This is sometimes referred to as Pascal strings. If a LeadingSize is specified, then the TerminationChar element does not have a functional meaning. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((DynamicValue | DiscreteLookupList)?, (LeadingSize | TerminationChar)) + /// + /// + public virtual LeadingSizeType LeadingSize { + get { + XElement x = this.GetElement(LeadingSizeXName); + if ((x == null)) { + return null; + } + return ((LeadingSizeType)(x)); + } + set { + this.SetElement(LeadingSizeXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TerminationCharXName = System.Xml.Linq.XName.Get("TerminationChar", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static byte[] TerminationCharDefaultValue = new byte[] { + System.Xml.XmlConvert.ToByte("00")}; + + /// + /// + /// The termination character that represents the end of the string contents. For C and most strings, this is null (00), which is the default. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((DynamicValue | DiscreteLookupList)?, (LeadingSize | TerminationChar)) + /// + /// + public virtual byte[] TerminationChar { + get { + XElement x = this.GetElement(TerminationCharXName); + if ((x == null)) { + return null; + } + if (((x != null) + && x.IsEmpty)) { + return TerminationCharDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary).Datatype); + } + set { + this.SetElement(TerminationCharXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName maxSizeInBitsXName = System.Xml.Linq.XName.Get("maxSizeInBits", ""); + + /// + /// + /// The upper bound of the size of this string data type so that the implementation can reserve/allocate enough memory to capture all reported instances of the string. + /// + /// + /// Occurrence: required + /// + /// + public virtual long maxSizeInBits { + get { + XAttribute x = this.Attribute(maxSizeInBitsXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(maxSizeInBitsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentVariableStringType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentVariableStringType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(DynamicValueXName), new NamedContentModelEntity(DiscreteLookupListXName)), new ChoiceContentModelEntity(new NamedContentModelEntity(LeadingSizeXName), new NamedContentModelEntity(TerminationCharXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(DynamicValueXName, typeof(ArgumentDynamicValueType)); + localElementDictionary.Add(DiscreteLookupListXName, typeof(ArgumentDiscreteLookupListType)); + localElementDictionary.Add(LeadingSizeXName, typeof(LeadingSizeType)); + localElementDictionary.Add(TerminationCharXName, typeof(byte[])); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a variable string whose length may change between samples. + /// + /// + /// Regular expression: ((DynamicValue | DiscreteLookupList)?, (LeadingSize | TerminationChar)) + /// + /// + public partial class VariableStringType : XTypedElement, IXMetaData { + + public static explicit operator VariableStringType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a variable string whose length may change between samples. + /// + /// + /// Regular expression: ((DynamicValue | DiscreteLookupList)?, (LeadingSize | TerminationChar)) + /// + /// + public VariableStringType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DynamicValueXName = System.Xml.Linq.XName.Get("DynamicValue", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Determine the container size in bits by interrogating an instance of a parameter. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((DynamicValue | DiscreteLookupList)?, (LeadingSize | TerminationChar)) + /// + /// + public virtual DynamicValueType DynamicValue { + get { + XElement x = this.GetElement(DynamicValueXName); + if ((x == null)) { + return null; + } + return ((DynamicValueType)(x)); + } + set { + this.SetElement(DynamicValueXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DiscreteLookupListXName = System.Xml.Linq.XName.Get("DiscreteLookupList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Determine the container size in bits by interrogating an instance of a parameter and selecting a specified value based on tests of the value of that parameter. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((DynamicValue | DiscreteLookupList)?, (LeadingSize | TerminationChar)) + /// + /// + public virtual DiscreteLookupListType DiscreteLookupList { + get { + XElement x = this.GetElement(DiscreteLookupListXName); + if ((x == null)) { + return null; + } + return ((DiscreteLookupListType)(x)); + } + set { + this.SetElement(DiscreteLookupListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LeadingSizeXName = System.Xml.Linq.XName.Get("LeadingSize", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// In some string implementations, the size of the string contents (not the memory allocation size) is determined by a leading numeric value. This is sometimes referred to as Pascal strings. If a LeadingSize is specified, then the TerminationChar element does not have a functional meaning. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((DynamicValue | DiscreteLookupList)?, (LeadingSize | TerminationChar)) + /// + /// + public virtual LeadingSizeType LeadingSize { + get { + XElement x = this.GetElement(LeadingSizeXName); + if ((x == null)) { + return null; + } + return ((LeadingSizeType)(x)); + } + set { + this.SetElement(LeadingSizeXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TerminationCharXName = System.Xml.Linq.XName.Get("TerminationChar", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static byte[] TerminationCharDefaultValue = new byte[] { + System.Xml.XmlConvert.ToByte("00")}; + + /// + /// + /// The termination character that represents the end of the string contents. For C and most strings, this is null (00), which is the default. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((DynamicValue | DiscreteLookupList)?, (LeadingSize | TerminationChar)) + /// + /// + public virtual byte[] TerminationChar { + get { + XElement x = this.GetElement(TerminationCharXName); + if ((x == null)) { + return null; + } + if (((x != null) + && x.IsEmpty)) { + return TerminationCharDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary).Datatype); + } + set { + this.SetElement(TerminationCharXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName maxSizeInBitsXName = System.Xml.Linq.XName.Get("maxSizeInBits", ""); + + /// + /// + /// The upper bound of the size of this string data type so that the implementation can reserve/allocate enough memory to capture all reported instances of the string. + /// + /// + /// Occurrence: required + /// + /// + public virtual long maxSizeInBits { + get { + XAttribute x = this.Attribute(maxSizeInBitsXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(maxSizeInBitsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("VariableStringType", "http://www.omg.org/spec/XTCE/20250214"); + + static VariableStringType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new ChoiceContentModelEntity(new NamedContentModelEntity(DynamicValueXName), new NamedContentModelEntity(DiscreteLookupListXName)), new ChoiceContentModelEntity(new NamedContentModelEntity(LeadingSizeXName), new NamedContentModelEntity(TerminationCharXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(DynamicValueXName, typeof(DynamicValueType)); + localElementDictionary.Add(DiscreteLookupListXName, typeof(DiscreteLookupListType)); + localElementDictionary.Add(LeadingSizeXName, typeof(LeadingSizeType)); + localElementDictionary.Add(TerminationCharXName, typeof(byte[])); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to StringDataEncodingType but supports argument instance references. + /// + /// + /// Regular expression: (ErrorDetectCorrect?, (SizeInBits | Variable)) + /// + /// + public partial class ArgumentStringDataEncodingType : global::Omg.Xtce.DataEncodingType, IXMetaData { + + public static explicit operator ArgumentStringDataEncodingType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to StringDataEncodingType but supports argument instance references. + /// + /// + /// Regular expression: (ErrorDetectCorrect?, (SizeInBits | Variable)) + /// + /// + public ArgumentStringDataEncodingType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ErrorDetectCorrectXName = System.Xml.Linq.XName.Get("ErrorDetectCorrect", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SizeInBitsXName = System.Xml.Linq.XName.Get("SizeInBits", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Static length strings do not change in overall length between samples. They may terminate before the end of their buffer using a terminating character, or by various lookups, or calculations. But they have a maximum fixed size, and the data itself is always within that maximum size. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (ErrorDetectCorrect?, (SizeInBits | Variable)) + /// + /// + public virtual SizeInBitsType SizeInBits { + get { + XElement x = this.GetElement(SizeInBitsXName); + if ((x == null)) { + return null; + } + return ((SizeInBitsType)(x)); + } + set { + this.SetElement(SizeInBitsXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName VariableXName = System.Xml.Linq.XName.Get("Variable", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Variable length strings are those where the space occupied in a container can vary. If the string has variable content but occupies the same amount of space when encoded should use the SizeInBits element. Specification of a variable length string needs to consider that the implementation needs to allocate space to store the string. Specify the maximum possible length of the string data type for memory purposes and also specify the bit size of the string to use in containers with the dynamic elements. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (ErrorDetectCorrect?, (SizeInBits | Variable)) + /// + /// + public virtual ArgumentVariableStringType Variable { + get { + XElement x = this.GetElement(VariableXName); + if ((x == null)) { + return null; + } + return ((ArgumentVariableStringType)(x)); + } + set { + this.SetElement(VariableXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName encodingXName = System.Xml.Linq.XName.Get("encoding", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.StringEncodingType encodingDefaultValue = Omg.Xtce.StringEncodingType.UTF_8; + + /// + /// + /// The character set encoding of this string data type. + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.StringEncodingType encoding { + get { + XAttribute x = this.Attribute(encodingXName); + if ((x == null)) { + return encodingDefaultValue; + } + return ((Omg.Xtce.StringEncodingType)(Enum.Parse(typeof(Omg.Xtce.StringEncodingType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.StringEncodingTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(encodingXName, value.ToString(), "encoding", global::Omg.Xtce.StringEncodingTypeValidator.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentStringDataEncodingType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentStringDataEncodingType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ErrorDetectCorrectXName), new ChoiceContentModelEntity(new NamedContentModelEntity(SizeInBitsXName), new NamedContentModelEntity(VariableXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ErrorDetectCorrectXName, typeof(ErrorDetectCorrectType)); + localElementDictionary.Add(SizeInBitsXName, typeof(SizeInBitsType)); + localElementDictionary.Add(VariableXName, typeof(ArgumentVariableStringType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe common encodings of string data: UTF-8 and UTF-16. See StringDataType. + /// + /// + /// Regular expression: (ErrorDetectCorrect?, (SizeInBits | Variable)) + /// + /// + public partial class StringDataEncodingType : global::Omg.Xtce.DataEncodingType, IXMetaData { + + public static explicit operator StringDataEncodingType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe common encodings of string data: UTF-8 and UTF-16. See StringDataType. + /// + /// + /// Regular expression: (ErrorDetectCorrect?, (SizeInBits | Variable)) + /// + /// + public StringDataEncodingType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ErrorDetectCorrectXName = System.Xml.Linq.XName.Get("ErrorDetectCorrect", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SizeInBitsXName = System.Xml.Linq.XName.Get("SizeInBits", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Static length strings do not change in overall length between samples. They may terminate before the end of their buffer using a terminating character, or by various lookups, or calculations. But they have a maximum fixed size, and the data itself is always within that maximum size. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (ErrorDetectCorrect?, (SizeInBits | Variable)) + /// + /// + public virtual SizeInBitsType SizeInBits { + get { + XElement x = this.GetElement(SizeInBitsXName); + if ((x == null)) { + return null; + } + return ((SizeInBitsType)(x)); + } + set { + this.SetElement(SizeInBitsXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName VariableXName = System.Xml.Linq.XName.Get("Variable", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Variable length strings are those where the space occupied in a container can vary. If the string has variable content but occupies the same amount of space when encoded should use the SizeInBits element. Specification of a variable length string needs to consider that the implementation needs to allocate space to store the string. Specify the maximum possible length of the string data type for memory purposes and also specify the bit size of the string to use in containers with the dynamic elements. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (ErrorDetectCorrect?, (SizeInBits | Variable)) + /// + /// + public virtual VariableStringType Variable { + get { + XElement x = this.GetElement(VariableXName); + if ((x == null)) { + return null; + } + return ((VariableStringType)(x)); + } + set { + this.SetElement(VariableXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName encodingXName = System.Xml.Linq.XName.Get("encoding", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.StringEncodingType encodingDefaultValue = Omg.Xtce.StringEncodingType.UTF_8; + + /// + /// + /// The character set encoding of this string data type. + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.StringEncodingType encoding { + get { + XAttribute x = this.Attribute(encodingXName); + if ((x == null)) { + return encodingDefaultValue; + } + return ((Omg.Xtce.StringEncodingType)(Enum.Parse(typeof(Omg.Xtce.StringEncodingType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.StringEncodingTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(encodingXName, value.ToString(), "encoding", global::Omg.Xtce.StringEncodingTypeValidator.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("StringDataEncodingType", "http://www.omg.org/spec/XTCE/20250214"); + + static StringDataEncodingType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ErrorDetectCorrectXName), new ChoiceContentModelEntity(new NamedContentModelEntity(SizeInBitsXName), new NamedContentModelEntity(VariableXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ErrorDetectCorrectXName, typeof(ErrorDetectCorrectType)); + localElementDictionary.Add(SizeInBitsXName, typeof(SizeInBitsType)); + localElementDictionary.Add(VariableXName, typeof(VariableStringType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Defines string encodings. US-ASCII (7-bit), ISO-8859-1 (8-bit Extended ASCII), Windows-1252 (8-bit Extended ASCII), UTF-8 (Unicode), UTF-16 (Unicode with Byte Order Mark), UTF-16LE (Unicode Little Endian), UTF-16BE (Unicode Big Endian). See StringDataEncodingType. + /// + /// + public enum StringEncodingType { + + US_ASCII, + + ISO_8859_1, + + Windows_1252, + + UTF_8, + + UTF_16, + + UTF_16LE, + + UTF_16BE, + + UTF_32, + + UTF_32LE, + + UTF_32BE, + } + + /// + /// + /// Defines string encodings. US-ASCII (7-bit), ISO-8859-1 (8-bit Extended ASCII), Windows-1252 (8-bit Extended ASCII), UTF-8 (Unicode), UTF-16 (Unicode with Byte Order Mark), UTF-16LE (Unicode Little Endian), UTF-16BE (Unicode Big Endian). See StringDataEncodingType. + /// + /// + public sealed class StringEncodingTypeValidator { + + private StringEncodingTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "US-ASCII:US_ASCII", + "ISO-8859-1:ISO_8859_1", + "Windows-1252:Windows_1252", + "UTF-8:UTF_8", + "UTF-16:UTF_16", + "UTF-16LE:UTF_16LE", + "UTF-16BE:UTF_16BE", + "UTF-32:UTF_32", + "UTF-32LE:UTF_32LE", + "UTF-32BE:UTF_32BE"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Regular expression: (NumberFormat) + /// + /// + public partial class ToStringType : XTypedElement, IXMetaData { + + public static explicit operator ToStringType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (NumberFormat) + /// + /// + public ToStringType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName NumberFormatXName = System.Xml.Linq.XName.Get("NumberFormat", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// This element describes how a numeric value should be represented in engineering/calibrated form. The defaults reflect the most common form. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (NumberFormat) + /// + /// + public virtual NumberFormatType NumberFormat { + get { + XElement x = this.GetElement(NumberFormatXName); + return ((NumberFormatType)(x)); + } + set { + this.SetElement(NumberFormatXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ToStringType", "http://www.omg.org/spec/XTCE/20250214"); + + static ToStringType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(NumberFormatXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(NumberFormatXName, typeof(NumberFormatType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Union values of common epoch definitions for document convenience. + /// + /// + public enum EpochTimeEnumsType { + + TAI, + + J2000, + + UNIX, + + GPS, + } + + /// + /// + /// Union values of common epoch definitions for document convenience. + /// + /// + public sealed class EpochTimeEnumsTypeValidator { + + private EpochTimeEnumsTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "TAI", + "J2000", + "UNIX", + "GPS"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// An unordered collection of algorithms + /// + /// + /// Regular expression: (CustomAlgorithm | MathAlgorithm)+ + /// + /// + public partial class AlgorithmSetType : XTypedElement, IXMetaData { + + public static explicit operator AlgorithmSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// An unordered collection of algorithms + /// + /// + /// Regular expression: (CustomAlgorithm | MathAlgorithm)+ + /// + /// + public AlgorithmSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlgorithmXName = System.Xml.Linq.XName.Get("CustomAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList CustomAlgorithmField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (CustomAlgorithm | MathAlgorithm)+ + /// + /// + public virtual IList CustomAlgorithm { + get { + if ((this.CustomAlgorithmField == null)) { + this.CustomAlgorithmField = new XTypedList(this, LinqToXsdTypeManager.Instance, CustomAlgorithmXName); + } + return this.CustomAlgorithmField; + } + set { + if ((value == null)) { + this.CustomAlgorithmField = null; + } + else { + if ((this.CustomAlgorithmField == null)) { + this.CustomAlgorithmField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, CustomAlgorithmXName); + } + else { + XTypedServices.SetList(this.CustomAlgorithmField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MathAlgorithmXName = System.Xml.Linq.XName.Get("MathAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList MathAlgorithmField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (CustomAlgorithm | MathAlgorithm)+ + /// + /// + public virtual IList MathAlgorithm { + get { + if ((this.MathAlgorithmField == null)) { + this.MathAlgorithmField = new XTypedList(this, LinqToXsdTypeManager.Instance, MathAlgorithmXName); + } + return this.MathAlgorithmField; + } + set { + if ((value == null)) { + this.MathAlgorithmField = null; + } + else { + if ((this.MathAlgorithmField == null)) { + this.MathAlgorithmField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, MathAlgorithmXName); + } + else { + XTypedServices.SetList(this.MathAlgorithmField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("AlgorithmSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static AlgorithmSetType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(CustomAlgorithmXName), new NamedContentModelEntity(MathAlgorithmXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(CustomAlgorithmXName, typeof(InputOutputTriggerAlgorithmType)); + localElementDictionary.Add(MathAlgorithmXName, typeof(MathAlgorithmType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Contains an unordered collection of Alias elements to describe alternate names or IDs for this named item. + /// + /// + /// Applications should enforce uniqueness of individual nameSpace attribute values. Aliases are usually unique within the same nameSpace attribute value, depending on the physical meaning of that nameSpace. There are some cases where Alias values can be duplicated in a single nameSpace value. + /// + /// + /// Regular expression: (Alias+) + /// + /// + public partial class AliasSetType : XTypedElement, IXMetaData { + + public static explicit operator AliasSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Contains an unordered collection of Alias elements to describe alternate names or IDs for this named item. + /// + /// + /// Applications should enforce uniqueness of individual nameSpace attribute values. Aliases are usually unique within the same nameSpace attribute value, depending on the physical meaning of that nameSpace. There are some cases where Alias values can be duplicated in a single nameSpace value. + /// + /// + /// Regular expression: (Alias+) + /// + /// + public AliasSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasXName = System.Xml.Linq.XName.Get("Alias", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList AliasField; + + /// + /// + /// An alternate name, ID number, and sometimes flight software variable name in the code for this item. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Alias+) + /// + /// + public virtual IList Alias { + get { + if ((this.AliasField == null)) { + this.AliasField = new XTypedList(this, LinqToXsdTypeManager.Instance, AliasXName); + } + return this.AliasField; + } + set { + if ((value == null)) { + this.AliasField = null; + } + else { + if ((this.AliasField == null)) { + this.AliasField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, AliasXName); + } + else { + XTypedServices.SetList(this.AliasField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("AliasSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static AliasSetType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AliasXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AliasXName, typeof(AliasType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Used to contain an alias (alternate) name or ID for the object. For example, a parameter may have a mnemonic, an on-board id, and special IDs used by various ground software applications; all of these are alias's. Some ground system processing equipment has some severe naming restrictions on parameters (e.g., names must less then 12 characters, single case or integral id's only); their alias's provide a means of capturing each name in a "nameSpace". Note: the name is not reference-able (it cannot be used in a name reference substituting for the name of the item of interest). See NameDescriptionType. + /// + /// + public partial class AliasType : XTypedElement, IXMetaData { + + public static explicit operator AliasType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Used to contain an alias (alternate) name or ID for the object. For example, a parameter may have a mnemonic, an on-board id, and special IDs used by various ground software applications; all of these are alias's. Some ground system processing equipment has some severe naming restrictions on parameters (e.g., names must less then 12 characters, single case or integral id's only); their alias's provide a means of capturing each name in a "nameSpace". Note: the name is not reference-able (it cannot be used in a name reference substituting for the name of the item of interest). See NameDescriptionType. + /// + /// + public AliasType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName nameSpaceXName = System.Xml.Linq.XName.Get("nameSpace", ""); + + /// + /// + /// Aliases should be grouped together in a "namespace" so that they can be switched in and out of data extractions. The namespace generally identifies the purpose of the alternate name, whether for software variable names, additional operator names, or whatever the purpose. + /// + /// + /// Occurrence: required + /// + /// + public virtual string nameSpace { + get { + XAttribute x = this.Attribute(nameSpaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(nameSpaceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName aliasXName = System.Xml.Linq.XName.Get("alias", ""); + + /// + /// + /// The alternate name or ID to use. The alias does not have the restrictions that apply to name attributes. This is useful for capturing legacy identifiers for systems with unusual naming conventions. It is also useful for capturing variable names in software, amongst other things. + /// + /// + /// Occurrence: required + /// + /// + public virtual string alias { + get { + XAttribute x = this.Attribute(aliasXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(aliasXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("AliasType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Use for any other data associated with a named item. May be used to include administrative data (e.g., version, CM or tags) or potentially any MIME type. Data may be included or given as an href. + /// + /// + public partial class AncillaryDataType : XTypedElement, IXMetaData { + + public static explicit operator AncillaryDataType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Use for any other data associated with a named item. May be used to include administrative data (e.g., version, CM or tags) or potentially any MIME type. Data may be included or given as an href. + /// + /// + public AncillaryDataType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); + + public virtual string TypedValue { + get { + XElement x = this.Untyped; + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetValue(value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName nameXName = System.Xml.Linq.XName.Get("name", ""); + + /// + /// + /// Identifier for this Ancillary Data characteristic, feature, or data. + /// + /// + /// Occurrence: required + /// + /// + public virtual string name { + get { + XAttribute x = this.Attribute(nameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(nameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName mimeTypeXName = System.Xml.Linq.XName.Get("mimeType", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static string mimeTypeDefaultValue = "text/plain"; + + /// + /// + /// Optional text encoding method for the element text content of this element. The default is "text/plain". + /// + /// + /// Occurrence: optional + /// + /// + public virtual string mimeType { + get { + XAttribute x = this.Attribute(mimeTypeXName); + if ((x == null)) { + return mimeTypeDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(mimeTypeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName hrefXName = System.Xml.Linq.XName.Get("href", ""); + + /// + /// + /// Optional Uniform Resource Identifier for this characteristic, feature, or data. + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Uri href { + get { + XAttribute x = this.Attribute(hrefXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(hrefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("AncillaryDataType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an unordered collection of ancillary data. AncillaryData elements capture platform/program/implementation specific data about the parent element object that is non-standard and would not fit into the schema. See AncillaryDataType. + /// + /// + /// Regular expression: (AncillaryData+) + /// + /// + public partial class AncillaryDataSetType : XTypedElement, IXMetaData { + + public static explicit operator AncillaryDataSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an unordered collection of ancillary data. AncillaryData elements capture platform/program/implementation specific data about the parent element object that is non-standard and would not fit into the schema. See AncillaryDataType. + /// + /// + /// Regular expression: (AncillaryData+) + /// + /// + public AncillaryDataSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataXName = System.Xml.Linq.XName.Get("AncillaryData", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList AncillaryDataField; + + /// + /// + /// Optional list of AncillaryData elements associated with this item. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (AncillaryData+) + /// + /// + public virtual IList AncillaryData { + get { + if ((this.AncillaryDataField == null)) { + this.AncillaryDataField = new XTypedList(this, LinqToXsdTypeManager.Instance, AncillaryDataXName); + } + return this.AncillaryDataField; + } + set { + if ((value == null)) { + this.AncillaryDataField = null; + } + else { + if ((this.AncillaryDataField == null)) { + this.AncillaryDataField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, AncillaryDataXName); + } + else { + XTypedServices.SetList(this.AncillaryDataField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("AncillaryDataSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static AncillaryDataSetType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AncillaryDataXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AncillaryDataXName, typeof(AncillaryDataType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe two or more conditions that are logically anded together. Conditions may be a mix of Condition and ORedCondition. See ORedConditionType and BooleanExpressionType. + /// + /// + /// Regular expression: (Condition | ORedConditions)+ + /// + /// + public partial class ANDedConditionsType : global::Omg.Xtce.BaseConditionsType, IXMetaData { + + public static explicit operator ANDedConditionsType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe two or more conditions that are logically anded together. Conditions may be a mix of Condition and ORedCondition. See ORedConditionType and BooleanExpressionType. + /// + /// + /// Regular expression: (Condition | ORedConditions)+ + /// + /// + public ANDedConditionsType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ConditionXName = System.Xml.Linq.XName.Get("Condition", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ConditionField; + + /// + /// + /// Condition elements describe a test similar to the Comparison element except that the parameters used have additional flexibility for the compare. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Condition | ORedConditions)+ + /// + /// + public virtual IList Condition { + get { + if ((this.ConditionField == null)) { + this.ConditionField = new XTypedList(this, LinqToXsdTypeManager.Instance, ConditionXName); + } + return this.ConditionField; + } + set { + if ((value == null)) { + this.ConditionField = null; + } + else { + if ((this.ConditionField == null)) { + this.ConditionField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ConditionXName); + } + else { + XTypedServices.SetList(this.ConditionField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ORedConditionsXName = System.Xml.Linq.XName.Get("ORedConditions", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ORedConditionsField; + + /// + /// + /// This element describes tests similar to the ComparisonList element except that the parameters used are more flexible and the and/or for multiple checks can be specified. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Condition | ORedConditions)+ + /// + /// + public virtual IList ORedConditions { + get { + if ((this.ORedConditionsField == null)) { + this.ORedConditionsField = new XTypedList(this, LinqToXsdTypeManager.Instance, ORedConditionsXName); + } + return this.ORedConditionsField; + } + set { + if ((value == null)) { + this.ORedConditionsField = null; + } + else { + if ((this.ORedConditionsField == null)) { + this.ORedConditionsField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ORedConditionsXName); + } + else { + XTypedServices.SetList(this.ORedConditionsField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ANDedConditionsType", "http://www.omg.org/spec/XTCE/20250214"); + + static ANDedConditionsType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(ConditionXName), new NamedContentModelEntity(ORedConditionsXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ConditionXName, typeof(ComparisonCheckType)); + localElementDictionary.Add(ORedConditionsXName, typeof(ORedConditionsType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an unordered collection of authors. See AuthorType. + /// + /// + /// Regular expression: (Author*) + /// + /// + public partial class AuthorSetType : XTypedElement, IXMetaData { + + public static explicit operator AuthorSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an unordered collection of authors. See AuthorType. + /// + /// + /// Regular expression: (Author*) + /// + /// + public AuthorSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AuthorXName = System.Xml.Linq.XName.Get("Author", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList AuthorField; + + /// + /// + /// Contains information about an author, maintainer, or data source regarding this document. + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (Author*) + /// + /// + public virtual IList Author { + get { + if ((this.AuthorField == null)) { + this.AuthorField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, AuthorXName); + } + return this.AuthorField; + } + set { + if ((value == null)) { + this.AuthorField = null; + } + else { + if ((this.AuthorField == null)) { + this.AuthorField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, value, AuthorXName); + } + else { + XTypedServices.SetList(this.AuthorField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("AuthorSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static AuthorSetType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AuthorXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AuthorXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Type definition that describes the format of the contents of the Author element. + /// + /// + public sealed class AuthorType { + + private AuthorType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + + /// + /// + /// A base type for comparison related elements that improves the mapping produced by data binding tools. + /// + /// + public abstract partial class BaseComparisonType : XTypedElement, IXMetaData { + + public static explicit operator BaseComparisonType(XElement xe) { return (BaseComparisonType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// A base type for comparison related elements that improves the mapping produced by data binding tools. + /// + /// + public BaseComparisonType() { + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BaseComparisonType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A base type for boolean expression related elements that improves the mapping produced by data binding tools. + /// + /// + public abstract partial class BaseConditionsType : XTypedElement, IXMetaData { + + public static explicit operator BaseConditionsType(XElement xe) { return (BaseConditionsType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// A base type for boolean expression related elements that improves the mapping produced by data binding tools. + /// + /// + public BaseConditionsType() { + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BaseConditionsType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A simple restriction on string for hexadecimal numbers. Must be in 0b or 0B form. + /// + /// + public sealed class BinaryType { + + private BinaryType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(8)), null, 0, 0, null, null, 0, null, null, 0, new string[] { + "0[bB][0-1]+"}, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Holds an arbitrarily complex boolean expression + /// + /// + /// Regular expression: (Condition | ANDedConditions | ORedConditions) + /// + /// + public partial class BooleanExpressionType : XTypedElement, IXMetaData { + + public static explicit operator BooleanExpressionType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Holds an arbitrarily complex boolean expression + /// + /// + /// Regular expression: (Condition | ANDedConditions | ORedConditions) + /// + /// + public BooleanExpressionType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ConditionXName = System.Xml.Linq.XName.Get("Condition", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Condition elements describe a test similar to the Comparison element except that the parameters used have additional flexibility. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Condition | ANDedConditions | ORedConditions) + /// + /// + public virtual ComparisonCheckType Condition { + get { + XElement x = this.GetElement(ConditionXName); + if ((x == null)) { + return null; + } + return ((ComparisonCheckType)(x)); + } + set { + this.SetElement(ConditionXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ANDedConditionsXName = System.Xml.Linq.XName.Get("ANDedConditions", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// This element describes tests similar to the ComparisonList element except that the parameters used are more flexible. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Condition | ANDedConditions | ORedConditions) + /// + /// + public virtual ANDedConditionsType ANDedConditions { + get { + XElement x = this.GetElement(ANDedConditionsXName); + if ((x == null)) { + return null; + } + return ((ANDedConditionsType)(x)); + } + set { + this.SetElement(ANDedConditionsXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ORedConditionsXName = System.Xml.Linq.XName.Get("ORedConditions", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// This element describes tests similar to the ComparisonList element except that the parameters used are more flexible. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Condition | ANDedConditions | ORedConditions) + /// + /// + public virtual ORedConditionsType ORedConditions { + get { + XElement x = this.GetElement(ORedConditionsXName); + if ((x == null)) { + return null; + } + return ((ORedConditionsType)(x)); + } + set { + this.SetElement(ORedConditionsXName, value); + } + } + + public BooleanExpressionType(ComparisonCheckType Condition) { + this.Condition = Condition; + } + + public BooleanExpressionType(ANDedConditionsType ANDedConditions) { + this.ANDedConditions = ANDedConditions; + } + + public BooleanExpressionType(ORedConditionsType ORedConditions) { + this.ORedConditions = ORedConditions; + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BooleanExpressionType", "http://www.omg.org/spec/XTCE/20250214"); + + static BooleanExpressionType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(ConditionXName), new NamedContentModelEntity(ANDedConditionsXName), new NamedContentModelEntity(ORedConditionsXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ConditionXName, typeof(ComparisonCheckType)); + localElementDictionary.Add(ANDedConditionsXName, typeof(ANDedConditionsType)); + localElementDictionary.Add(ORedConditionsXName, typeof(ORedConditionsType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a byte order: big/little or byte list. + /// + /// + public sealed class ByteOrderType { + + private ByteOrderType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.UnionSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType), null, new Xml.Schema.Linq.SimpleTypeValidator[] { + Omg.Xtce.ByteOrderCommonTypeValidator.TypeDefinition, + Omg.Xtce.ByteOrderArbitraryType.TypeDefinition}); + } + + /// + /// + /// Common byte orderings: most significant byte first (also known as big endian) and least significant byte first (also known as little endian). + /// + /// + public enum ByteOrderCommonType { + + mostSignificantByteFirst, + + leastSignificantByteFirst, + } + + /// + /// + /// Common byte orderings: most significant byte first (also known as big endian) and least significant byte first (also known as little endian). + /// + /// + public sealed class ByteOrderCommonTypeValidator { + + private ByteOrderCommonTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "mostSignificantByteFirst", + "leastSignificantByteFirst"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Describe a byte order using a byte list. The list is viewed as representing memory, the first item in the list is address 0. For mostSignificantByteFirst/big endian, the high order byte is the first byte in the list and has the highest significance followed by the less significant bytes ending with the least significant byte. For leastSignificantByteFirst/little endian, the first byte starts with the least significant byte which is first in the least and ends at the highest significant byte. For example given the value 0x0A0B0C0D the following example orderings can be formed. For mostSignificantByteFirst/big endian the significances would be listed as 3 (0x0A), 2 (0x0B), 1 (0x0C), 0 (0x0D) with 3 being first in the list, and for leastSignificantByteFirst/little endian as 0 (0x0D), 1 (0x0C), 2 (0x0B), 3 (0x0A) with 0 being first in the list. See DataEncodingType. + /// + /// + public sealed class ByteOrderArbitraryType { + + private ByteOrderArbitraryType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(8)), null, 0, 0, null, null, 0, null, null, 0, new string[] { + "(0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15)(,(0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15))" + + "*"}, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Describe the comparison between the instance (value) of a parameter against either a specified value or another parameter instance. + /// + /// + /// Regular expression: (ParameterInstanceRef, ComparisonOperator, (ParameterInstanceRef | Value)) + /// + /// + public partial class ComparisonCheckType : global::Omg.Xtce.BaseComparisonType, IXMetaData { + + public static explicit operator ComparisonCheckType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe the comparison between the instance (value) of a parameter against either a specified value or another parameter instance. + /// + /// + /// Regular expression: (ParameterInstanceRef, ComparisonOperator, (ParameterInstanceRef | Value)) + /// + /// + public ComparisonCheckType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterInstanceRefXName = System.Xml.Linq.XName.Get("ParameterInstanceRef", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ParameterInstanceRefField; + + /// + /// + /// Left hand side parameter instance. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ParameterInstanceRef, ComparisonOperator, (ParameterInstanceRef | Value)) + /// + /// + public virtual IList ParameterInstanceRef { + get { + if ((this.ParameterInstanceRefField == null)) { + this.ParameterInstanceRefField = new XTypedList(this, LinqToXsdTypeManager.Instance, ParameterInstanceRefXName); + } + return this.ParameterInstanceRefField; + } + set { + if ((value == null)) { + this.ParameterInstanceRefField = null; + } + else { + if ((this.ParameterInstanceRefField == null)) { + this.ParameterInstanceRefField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ParameterInstanceRefXName); + } + else { + XTypedServices.SetList(this.ParameterInstanceRefField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonOperatorXName = System.Xml.Linq.XName.Get("ComparisonOperator", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Comparison operator. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ParameterInstanceRef, ComparisonOperator, (ParameterInstanceRef | Value)) + /// + /// + public virtual Omg.Xtce.ComparisonOperatorsType ComparisonOperator { + get { + XElement x = this.GetElement(ComparisonOperatorXName); + return ((Omg.Xtce.ComparisonOperatorsType)(Enum.Parse(typeof(Omg.Xtce.ComparisonOperatorsType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.ComparisonOperatorsTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(ComparisonOperatorXName, value.ToString(), "ComparisonOperator", global::Omg.Xtce.ComparisonOperatorsTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ValueXName = System.Xml.Linq.XName.Get("Value", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Right hand side value. Specify as: integer data type using xs:integer, float data type using xs:double, string data type using xs:string, boolean data type using xs:boolean, binary data type using xs:hexBinary, enum data type using label name, relative time data type using xs:duration, absolute time data type using xs:dateTime. Values must not exceed the characteristics for the data type or this is a validation error. Takes precedence over an initial value given in the data type. Values are calibrated unless there is an option to override it. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (ParameterInstanceRef, ComparisonOperator, (ParameterInstanceRef | Value)) + /// + /// + public virtual string Value { + get { + XElement x = this.GetElement(ValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetElement(ValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ComparisonCheckType", "http://www.omg.org/spec/XTCE/20250214"); + + static ComparisonCheckType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ParameterInstanceRefXName), new NamedContentModelEntity(ComparisonOperatorXName), new ChoiceContentModelEntity(new NamedContentModelEntity(ParameterInstanceRefXName), new NamedContentModelEntity(ValueXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ParameterInstanceRefXName, typeof(ParameterInstanceRefType)); + localElementDictionary.Add(ComparisonOperatorXName, typeof(string)); + localElementDictionary.Add(ValueXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// All comparisons must be true + /// + /// + /// Regular expression: (Comparison+) + /// + /// + public partial class ComparisonListType : XTypedElement, IXMetaData { + + public static explicit operator ComparisonListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// All comparisons must be true + /// + /// + /// Regular expression: (Comparison+) + /// + /// + public ComparisonListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonXName = System.Xml.Linq.XName.Get("Comparison", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ComparisonField; + + /// + /// + /// List of Comparison elements must all be true for the comparison to evaluate to true. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Comparison+) + /// + /// + public virtual IList Comparison { + get { + if ((this.ComparisonField == null)) { + this.ComparisonField = new XTypedList(this, LinqToXsdTypeManager.Instance, ComparisonXName); + } + return this.ComparisonField; + } + set { + if ((value == null)) { + this.ComparisonField = null; + } + else { + if ((this.ComparisonField == null)) { + this.ComparisonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ComparisonXName); + } + else { + XTypedServices.SetList(this.ComparisonField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ComparisonListType", "http://www.omg.org/spec/XTCE/20250214"); + + static ComparisonListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ComparisonXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ComparisonXName, typeof(ComparisonType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Operators to use when testing a boolean condition for a validity check + /// + /// + public enum ComparisonOperatorsType { + + EqualsEquals, + + ExclamationMarkEquals, + + LessThan, + + LessThanEquals, + + GreaterThan, + + GreaterThanEquals, + } + + /// + /// + /// Operators to use when testing a boolean condition for a validity check + /// + /// + public sealed class ComparisonOperatorsTypeValidator { + + private ComparisonOperatorsTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "==:EqualsEquals", + "!=:ExclamationMarkEquals", + "<:LessThan", + "<=:LessThanEquals", + ">:GreaterThan", + ">=:GreaterThanEquals"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// A simple ParameterInstanceRef to value comparison. The string supplied in the value attribute needs to be converted to a type matching the Parameter being compared to. For integer types it is base 10 form. Floating point types may be specified in normal (100.0) or scientific (1.0e2) form. The value is truncated to use the least significant bits that match the bit size of the Parameter being compared to. + /// + /// + public partial class ComparisonType : global::Omg.Xtce.ParameterInstanceRefType, IXMetaData { + + public static explicit operator ComparisonType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// A simple ParameterInstanceRef to value comparison. The string supplied in the value attribute needs to be converted to a type matching the Parameter being compared to. For integer types it is base 10 form. Floating point types may be specified in normal (100.0) or scientific (1.0e2) form. The value is truncated to use the least significant bits that match the bit size of the Parameter being compared to. + /// + /// + public ComparisonType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName comparisonOperatorXName = System.Xml.Linq.XName.Get("comparisonOperator", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.ComparisonOperatorsType comparisonOperatorDefaultValue = Omg.Xtce.ComparisonOperatorsType.EqualsEquals; + + /// + /// + /// Operator to use for the comparison with the common equality operator as the default. + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.ComparisonOperatorsType comparisonOperator { + get { + XAttribute x = this.Attribute(comparisonOperatorXName); + if ((x == null)) { + return comparisonOperatorDefaultValue; + } + return ((Omg.Xtce.ComparisonOperatorsType)(Enum.Parse(typeof(Omg.Xtce.ComparisonOperatorsType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.ComparisonOperatorsTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(comparisonOperatorXName, value.ToString(), "comparisonOperator", global::Omg.Xtce.ComparisonOperatorsTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName valueXName = System.Xml.Linq.XName.Get("value", ""); + + /// + /// + /// Specify value as a string compliant with the XML schema (xs) type specified for each XTCE type: integer=xs:integer; float=xs:double; string=xs:string; boolean=xs:boolean; binary=xs:hexBinary; enum=xs:string from EnumerationList; relative time= xs:duration; absolute time=xs:dateTime. Supplied value must be within the ValidRange specified for the type. + /// + /// + /// Occurrence: required + /// + /// + public virtual string value { + get { + XAttribute x = this.Attribute(valueXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(valueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ComparisonType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Context calibrations are applied when the ContextMatch is true. Context calibrators overide Default calibrators + /// + /// + /// Regular expression: (ContextMatch, Calibrator) + /// + /// + public partial class ContextCalibratorType : XTypedElement, IXMetaData { + + public static explicit operator ContextCalibratorType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Context calibrations are applied when the ContextMatch is true. Context calibrators overide Default calibrators + /// + /// + /// Regular expression: (ContextMatch, Calibrator) + /// + /// + public ContextCalibratorType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContextMatchXName = System.Xml.Linq.XName.Get("ContextMatch", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ContextMatch, Calibrator) + /// + /// + public virtual ContextMatchType ContextMatch { + get { + XElement x = this.GetElement(ContextMatchXName); + return ((ContextMatchType)(x)); + } + set { + this.SetElement(ContextMatchXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CalibratorXName = System.Xml.Linq.XName.Get("Calibrator", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ContextMatch, Calibrator) + /// + /// + public virtual CalibratorType Calibrator { + get { + XElement x = this.GetElement(CalibratorXName); + return ((CalibratorType)(x)); + } + set { + this.SetElement(CalibratorXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ContextCalibratorType", "http://www.omg.org/spec/XTCE/20250214"); + + static ContextCalibratorType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ContextMatchXName), new NamedContentModelEntity(CalibratorXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ContextMatchXName, typeof(ContextMatchType)); + localElementDictionary.Add(CalibratorXName, typeof(CalibratorType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A MatchCriteriaType used for Context selection. It is possible that no match evaluates to true, which results in the default element being used. It is also possible that a match can have an empty context change, in which case the default is replaced with nothing. + /// + /// + /// Regular expression: (Comparison | ComparisonList | BooleanExpression | CustomAlgorithm) + /// + /// + public partial class ContextMatchType : global::Omg.Xtce.MatchCriteriaType, IXMetaData { + + public static explicit operator ContextMatchType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// A MatchCriteriaType used for Context selection. It is possible that no match evaluates to true, which results in the default element being used. It is also possible that a match can have an empty context change, in which case the default is replaced with nothing. + /// + /// + /// Regular expression: (Comparison | ComparisonList | BooleanExpression | CustomAlgorithm) + /// + /// + public ContextMatchType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonXName = System.Xml.Linq.XName.Get("Comparison", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonListXName = System.Xml.Linq.XName.Get("ComparisonList", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BooleanExpressionXName = System.Xml.Linq.XName.Get("BooleanExpression", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlgorithmXName = System.Xml.Linq.XName.Get("CustomAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + public ContextMatchType(ComparisonType Comparison) : + base(Comparison) { + } + + public ContextMatchType(ComparisonListType ComparisonList) : + base(ComparisonList) { + } + + public ContextMatchType(BooleanExpressionType BooleanExpression) : + base(BooleanExpression) { + } + + public ContextMatchType(InputAlgorithmType CustomAlgorithm) : + base(CustomAlgorithm) { + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ContextMatchType", "http://www.omg.org/spec/XTCE/20250214"); + + static ContextMatchType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(ComparisonXName), new NamedContentModelEntity(ComparisonListXName), new NamedContentModelEntity(BooleanExpressionXName), new NamedContentModelEntity(CustomAlgorithmXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ComparisonXName, typeof(ComparisonType)); + localElementDictionary.Add(ComparisonListXName, typeof(ComparisonListType)); + localElementDictionary.Add(BooleanExpressionXName, typeof(BooleanExpressionType)); + localElementDictionary.Add(CustomAlgorithmXName, typeof(InputAlgorithmType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a custom, algorithmic alarm condition. The algorithm is assumed to return a boolean value: true or false. See AlarmType. + /// + /// + /// Regular expression: (AncillaryDataSet?, InputAlgorithm) + /// + /// + public partial class CustomAlarmType : global::Omg.Xtce.BaseAlarmType, IXMetaData { + + public static explicit operator CustomAlarmType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a custom, algorithmic alarm condition. The algorithm is assumed to return a boolean value: true or false. See AlarmType. + /// + /// + /// Regular expression: (AncillaryDataSet?, InputAlgorithm) + /// + /// + public CustomAlarmType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName InputAlgorithmXName = System.Xml.Linq.XName.Get("InputAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Algorithm returns a boolean. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (AncillaryDataSet?, InputAlgorithm) + /// + /// + public virtual InputAlgorithmType InputAlgorithm { + get { + XElement x = this.GetElement(InputAlgorithmXName); + return ((InputAlgorithmType)(x)); + } + set { + this.SetElement(InputAlgorithmXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CustomAlarmType", "http://www.omg.org/spec/XTCE/20250214"); + + static CustomAlarmType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(InputAlgorithmXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(InputAlgorithmXName, typeof(InputAlgorithmType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a percentage complete that is fixed from 0 to 100, or as value from a parameter. See ExecutionVerifierType. + /// + /// + /// Regular expression: (FixedValue | DynamicValue) + /// + /// + public partial class PercentCompleteType : XTypedElement, IXMetaData { + + public static explicit operator PercentCompleteType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a percentage complete that is fixed from 0 to 100, or as value from a parameter. See ExecutionVerifierType. + /// + /// + /// Regular expression: (FixedValue | DynamicValue) + /// + /// + public PercentCompleteType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FixedValueXName = System.Xml.Linq.XName.Get("FixedValue", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// 0 to 100 percent + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (FixedValue | DynamicValue) + /// + /// + public virtual System.Double? FixedValue { + get { + XElement x = this.GetElement(FixedValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + set { + if (value == null) { + this.SetElement(FixedValueXName, null, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + else { + this.SetElementWithValidation(FixedValueXName, value, "FixedValue", FixedValueLocalType.TypeDefinition); + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DynamicValueXName = System.Xml.Linq.XName.Get("DynamicValue", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Uses a parameter instance to obtain the value. The parameter value may be optionally adjusted by a Linear function or use a series of boolean expressions to lookup the value. Anything more complex and a DynamicValue with a CustomAlgorithm may be used. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (FixedValue | DynamicValue) + /// + /// + public virtual DynamicValueType DynamicValue { + get { + XElement x = this.GetElement(DynamicValueXName); + if ((x == null)) { + return null; + } + return ((DynamicValueType)(x)); + } + set { + this.SetElement(DynamicValueXName, value); + } + } + + public PercentCompleteType(System.Double? FixedValue) { + this.FixedValue = FixedValue; + } + + public PercentCompleteType(DynamicValueType DynamicValue) { + this.DynamicValue = DynamicValue; + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("PercentCompleteType", "http://www.omg.org/spec/XTCE/20250214"); + + static PercentCompleteType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(FixedValueXName), new NamedContentModelEntity(DynamicValueXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(FixedValueXName, typeof(double)); + localElementDictionary.Add(DynamicValueXName, typeof(DynamicValueType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + private class FixedValueLocalType { + + private FixedValueLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(320)), null, 0, 0, null, 100D, 0, null, 0D, 0, null, 0, XmlSchemaWhiteSpace.Collapse)); + } + } + + /// + /// + /// Defines an abstract schema type used as basis for NameDescriptionType and OptionalNameDescriptionType, includes an attribute for a short description and an element for a longer unbounded description. This type also provides alias set and ancillary data set See AliasSetType and AncillaryDataSetType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?) + /// + /// + public abstract partial class DescriptionType : XTypedElement, IXMetaData { + + public static explicit operator DescriptionType(XElement xe) { return (DescriptionType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// Defines an abstract schema type used as basis for NameDescriptionType and OptionalNameDescriptionType, includes an attribute for a short description and an element for a longer unbounded description. This type also provides alias set and ancillary data set See AliasSetType and AncillaryDataSetType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?) + /// + /// + public DescriptionType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Optional long form description to be used for explanatory descriptions of this item and may include HTML markup using CDATA. Long Descriptions are of unbounded length. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?) + /// + /// + public virtual string LongDescription { + get { + XElement x = this.GetElement(LongDescriptionXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + if (value == null) { + this.SetElement(LongDescriptionXName, null, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + else { + this.SetElementWithValidation(LongDescriptionXName, value, "LongDescription", global::Omg.Xtce.LongDescriptionType.TypeDefinition); + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Used to contain an alias (alternate) name or ID for this item. See AliasSetType for additional explanation. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?) + /// + /// + public virtual AliasSetType AliasSet { + get { + XElement x = this.GetElement(AliasSetXName); + if ((x == null)) { + return null; + } + return ((AliasSetType)(x)); + } + set { + this.SetElement(AliasSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Use for any non-standard data associated with this named item. See AncillaryDataSetType for additional explanation. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?) + /// + /// + public virtual AncillaryDataSetType AncillaryDataSet { + get { + XElement x = this.GetElement(AncillaryDataSetXName); + if ((x == null)) { + return null; + } + return ((AncillaryDataSetType)(x)); + } + set { + this.SetElement(AncillaryDataSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName shortDescriptionXName = System.Xml.Linq.XName.Get("shortDescription", ""); + + /// + /// + /// Optional short description to be used for explanation of this item. It is recommended that the short description be kept under 80 characters in length. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string shortDescription { + get { + XAttribute x = this.Attribute(shortDescriptionXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(shortDescriptionXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("DescriptionType", "http://www.omg.org/spec/XTCE/20250214"); + + static DescriptionType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an ordered table of integer values and associated conditions, forming a lookup table. The list may have duplicates. The table is evaluated from first to last, the first condition to be true returns the value associated with it. See DiscreteLookupType. + /// + /// + /// Regular expression: (DiscreteLookup+) + /// + /// + public partial class DiscreteLookupListType : XTypedElement, IXMetaData { + + public static explicit operator DiscreteLookupListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an ordered table of integer values and associated conditions, forming a lookup table. The list may have duplicates. The table is evaluated from first to last, the first condition to be true returns the value associated with it. See DiscreteLookupType. + /// + /// + /// Regular expression: (DiscreteLookup+) + /// + /// + public DiscreteLookupListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DiscreteLookupXName = System.Xml.Linq.XName.Get("DiscreteLookup", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList DiscreteLookupField; + + /// + /// + /// Describe a lookup condition set using discrete values from parameters. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (DiscreteLookup+) + /// + /// + public virtual IList DiscreteLookup { + get { + if ((this.DiscreteLookupField == null)) { + this.DiscreteLookupField = new XTypedList(this, LinqToXsdTypeManager.Instance, DiscreteLookupXName); + } + return this.DiscreteLookupField; + } + set { + if ((value == null)) { + this.DiscreteLookupField = null; + } + else { + if ((this.DiscreteLookupField == null)) { + this.DiscreteLookupField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, DiscreteLookupXName); + } + else { + XTypedServices.SetList(this.DiscreteLookupField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName defaultValueXName = System.Xml.Linq.XName.Get("defaultValue", ""); + + /// + /// + /// In the event that no lookup condition evaluates to true, then this value will be used. + /// + /// + /// Occurrence: required + /// + /// + public virtual long defaultValue { + get { + XAttribute x = this.Attribute(defaultValueXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(defaultValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("DiscreteLookupListType", "http://www.omg.org/spec/XTCE/20250214"); + + static DiscreteLookupListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(DiscreteLookupXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(DiscreteLookupXName, typeof(DiscreteLookupType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Uses a parameter instance to obtain the value. The parameter value may be optionally adjusted by a Linear function or use a series of boolean expressions to lookup the value. Anything more complex and a DynamicValue with a CustomAlgorithm may be used + /// + /// + /// Regular expression: (ParameterInstanceRef, LinearAdjustment?) + /// + /// + public partial class DynamicValueType : XTypedElement, IXMetaData { + + public static explicit operator DynamicValueType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Uses a parameter instance to obtain the value. The parameter value may be optionally adjusted by a Linear function or use a series of boolean expressions to lookup the value. Anything more complex and a DynamicValue with a CustomAlgorithm may be used + /// + /// + /// Regular expression: (ParameterInstanceRef, LinearAdjustment?) + /// + /// + public DynamicValueType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterInstanceRefXName = System.Xml.Linq.XName.Get("ParameterInstanceRef", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Retrieve the value by referencing the value of a Parameter. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ParameterInstanceRef, LinearAdjustment?) + /// + /// + public virtual ParameterInstanceRefType ParameterInstanceRef { + get { + XElement x = this.GetElement(ParameterInstanceRefXName); + return ((ParameterInstanceRefType)(x)); + } + set { + this.SetElement(ParameterInstanceRefXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LinearAdjustmentXName = System.Xml.Linq.XName.Get("LinearAdjustment", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// A slope and intercept may be applied to scale or shift the value selected from the argument or parameter. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ParameterInstanceRef, LinearAdjustment?) + /// + /// + public virtual LinearAdjustmentType LinearAdjustment { + get { + XElement x = this.GetElement(LinearAdjustmentXName); + if ((x == null)) { + return null; + } + return ((LinearAdjustmentType)(x)); + } + set { + this.SetElement(LinearAdjustmentXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("DynamicValueType", "http://www.omg.org/spec/XTCE/20250214"); + + static DynamicValueType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ParameterInstanceRefXName), new NamedContentModelEntity(LinearAdjustmentXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ParameterInstanceRefXName, typeof(ParameterInstanceRefType)); + localElementDictionary.Add(LinearAdjustmentXName, typeof(LinearAdjustmentType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe CRC, Checksum, Parity, or XOR for error detection and correction algorithm calculation. See CRCType, ChecksumType, ParityType, and XORType. + /// + /// + /// Regular expression: (Checksum | CRC | XOR | Parity)+ + /// + /// + public partial class ErrorDetectCorrectType : XTypedElement, IXMetaData { + + public static explicit operator ErrorDetectCorrectType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe CRC, Checksum, Parity, or XOR for error detection and correction algorithm calculation. See CRCType, ChecksumType, ParityType, and XORType. + /// + /// + /// Regular expression: (Checksum | CRC | XOR | Parity)+ + /// + /// + public ErrorDetectCorrectType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ChecksumXName = System.Xml.Linq.XName.Get("Checksum", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ChecksumField; + + /// + /// + /// Describe checksum or hash function applied to all or part of this container definition. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Checksum | CRC | XOR | Parity)+ + /// + /// + public virtual IList Checksum { + get { + if ((this.ChecksumField == null)) { + this.ChecksumField = new XTypedList(this, LinqToXsdTypeManager.Instance, ChecksumXName); + } + return this.ChecksumField; + } + set { + if ((value == null)) { + this.ChecksumField = null; + } + else { + if ((this.ChecksumField == null)) { + this.ChecksumField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ChecksumXName); + } + else { + XTypedServices.SetList(this.ChecksumField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CRCXName = System.Xml.Linq.XName.Get("CRC", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList CRCField; + + /// + /// + /// Describe a Cyclic Redundancy Check (CRC) algorithm applied to all or part of this container definition. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Checksum | CRC | XOR | Parity)+ + /// + /// + public virtual IList CRC { + get { + if ((this.CRCField == null)) { + this.CRCField = new XTypedList(this, LinqToXsdTypeManager.Instance, CRCXName); + } + return this.CRCField; + } + set { + if ((value == null)) { + this.CRCField = null; + } + else { + if ((this.CRCField == null)) { + this.CRCField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, CRCXName); + } + else { + XTypedServices.SetList(this.CRCField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName XORXName = System.Xml.Linq.XName.Get("XOR", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList XORField; + + /// + /// + /// Describe an "exclusive or" (XOR) checksum applied to all or part of this container definition. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Checksum | CRC | XOR | Parity)+ + /// + /// + public virtual IList XOR { + get { + if ((this.XORField == null)) { + this.XORField = new XTypedList(this, LinqToXsdTypeManager.Instance, XORXName); + } + return this.XORField; + } + set { + if ((value == null)) { + this.XORField = null; + } + else { + if ((this.XORField == null)) { + this.XORField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, XORXName); + } + else { + XTypedServices.SetList(this.XORField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParityXName = System.Xml.Linq.XName.Get("Parity", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ParityField; + + /// + /// + /// Describe a parity applied to all or part of this container definition. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Checksum | CRC | XOR | Parity)+ + /// + /// + public virtual IList Parity { + get { + if ((this.ParityField == null)) { + this.ParityField = new XTypedList(this, LinqToXsdTypeManager.Instance, ParityXName); + } + return this.ParityField; + } + set { + if ((value == null)) { + this.ParityField = null; + } + else { + if ((this.ParityField == null)) { + this.ParityField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ParityXName); + } + else { + XTypedServices.SetList(this.ParityField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ErrorDetectCorrectType", "http://www.omg.org/spec/XTCE/20250214"); + + static ErrorDetectCorrectType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(ChecksumXName), new NamedContentModelEntity(CRCXName), new NamedContentModelEntity(XORXName), new NamedContentModelEntity(ParityXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ChecksumXName, typeof(ChecksumType)); + localElementDictionary.Add(CRCXName, typeof(CRCType)); + localElementDictionary.Add(XORXName, typeof(XORType)); + localElementDictionary.Add(ParityXName, typeof(ParityType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A simple union type combining integer, octal, binary, and hexadecimal types + /// + /// + public sealed class FixedIntegerValueType { + + private FixedIntegerValueType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.UnionSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType), null, new Xml.Schema.Linq.SimpleTypeValidator[] { + new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Integer), null), + Omg.Xtce.HexadecimalType.TypeDefinition, + Omg.Xtce.OctalType.TypeDefinition, + Omg.Xtce.BinaryType.TypeDefinition}); + } + + /// + /// + /// Schema for a Header record. A header contains general information about the system or subsystem. + /// + /// + /// Regular expression: (AuthorSet?, NoteSet?, HistorySet?) + /// + /// + public partial class HeaderType : XTypedElement, IXMetaData { + + public static explicit operator HeaderType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Schema for a Header record. A header contains general information about the system or subsystem. + /// + /// + /// Regular expression: (AuthorSet?, NoteSet?, HistorySet?) + /// + /// + public HeaderType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AuthorSetXName = System.Xml.Linq.XName.Get("AuthorSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// The AuthorSet contains optional contact information for this document. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (AuthorSet?, NoteSet?, HistorySet?) + /// + /// + public virtual AuthorSetType AuthorSet { + get { + XElement x = this.GetElement(AuthorSetXName); + if ((x == null)) { + return null; + } + return ((AuthorSetType)(x)); + } + set { + this.SetElement(AuthorSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName NoteSetXName = System.Xml.Linq.XName.Get("NoteSet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// The NoteSet contains optional technical information related to the content of this document. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (AuthorSet?, NoteSet?, HistorySet?) + /// + /// + public virtual NoteSetType NoteSet { + get { + XElement x = this.GetElement(NoteSetXName); + if ((x == null)) { + return null; + } + return ((NoteSetType)(x)); + } + set { + this.SetElement(NoteSetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName HistorySetXName = System.Xml.Linq.XName.Get("HistorySet", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// The HistorySet contains optional evolutionary information for data contained in this document. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (AuthorSet?, NoteSet?, HistorySet?) + /// + /// + public virtual HistorySetType HistorySet { + get { + XElement x = this.GetElement(HistorySetXName); + if ((x == null)) { + return null; + } + return ((HistorySetType)(x)); + } + set { + this.SetElement(HistorySetXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName versionXName = System.Xml.Linq.XName.Get("version", ""); + + /// + /// + /// This attribute contains an optional version descriptor for this document. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string version { + get { + XAttribute x = this.Attribute(versionXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(versionXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName dateXName = System.Xml.Linq.XName.Get("date", ""); + + /// + /// + /// This attribute contains an optional date to be associated with this document. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string date { + get { + XAttribute x = this.Attribute(dateXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(dateXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName classificationXName = System.Xml.Linq.XName.Get("classification", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static string classificationDefaultValue = "NotClassified"; + + /// + /// + /// This attribute contains optional classification status for use by programs for which that is applicable. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string classification { + get { + XAttribute x = this.Attribute(classificationXName); + if ((x == null)) { + return classificationDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(classificationXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName classificationInstructionsXName = System.Xml.Linq.XName.Get("classificationInstructions", ""); + + /// + /// + /// This attribute contains an optional additional instructions attribute to be interpreted by programs that use this attribute. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string classificationInstructions { + get { + XAttribute x = this.Attribute(classificationInstructionsXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(classificationInstructionsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName validationStatusXName = System.Xml.Linq.XName.Get("validationStatus", ""); + + /// + /// + /// This attribute contains a flag describing the state of this document in the evolution of the project using it. + /// + /// + /// Occurrence: required + /// + /// + public virtual Omg.Xtce.ValidationStatusType validationStatus { + get { + XAttribute x = this.Attribute(validationStatusXName); + return ((Omg.Xtce.ValidationStatusType)(Enum.Parse(typeof(Omg.Xtce.ValidationStatusType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.ValidationStatusTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(validationStatusXName, value.ToString(), "validationStatus", global::Omg.Xtce.ValidationStatusTypeValidator.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("HeaderType", "http://www.omg.org/spec/XTCE/20250214"); + + static HeaderType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AuthorSetXName), new NamedContentModelEntity(NoteSetXName), new NamedContentModelEntity(HistorySetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AuthorSetXName, typeof(AuthorSetType)); + localElementDictionary.Add(NoteSetXName, typeof(NoteSetType)); + localElementDictionary.Add(HistorySetXName, typeof(HistorySetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A simple restriction on string for hexadecimal numbers. Must be in 0x or 0X form. + /// + /// + public sealed class HexadecimalType { + + private HexadecimalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(8)), null, 0, 0, null, null, 0, null, null, 0, new string[] { + "0[xX][0-9a-fA-F]+"}, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Describe an unordered collection of History elements. Usage is user defined. See HistoryType. + /// + /// + /// Regular expression: (History*) + /// + /// + public partial class HistorySetType : XTypedElement, IXMetaData { + + public static explicit operator HistorySetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an unordered collection of History elements. Usage is user defined. See HistoryType. + /// + /// + /// Regular expression: (History*) + /// + /// + public HistorySetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName HistoryXName = System.Xml.Linq.XName.Get("History", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList HistoryField; + + /// + /// + /// Contains a history record related to the evolution of this document. + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (History*) + /// + /// + public virtual IList History { + get { + if ((this.HistoryField == null)) { + this.HistoryField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, HistoryXName); + } + return this.HistoryField; + } + set { + if ((value == null)) { + this.HistoryField = null; + } + else { + if ((this.HistoryField == null)) { + this.HistoryField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, value, HistoryXName); + } + else { + XTypedServices.SetList(this.HistoryField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("HistorySetType", "http://www.omg.org/spec/XTCE/20250214"); + + static HistorySetType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(HistoryXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(HistoryXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public sealed class HistoryType { + + private HistoryType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + + /// + /// + /// Contains an Integer value; value may be provided directly or via the value in a parameter. + /// + /// + /// Regular expression: (FixedValue | DynamicValue | DiscreteLookupList) + /// + /// + public partial class IntegerValueType : XTypedElement, IXMetaData { + + public static explicit operator IntegerValueType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Contains an Integer value; value may be provided directly or via the value in a parameter. + /// + /// + /// Regular expression: (FixedValue | DynamicValue | DiscreteLookupList) + /// + /// + public IntegerValueType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FixedValueXName = System.Xml.Linq.XName.Get("FixedValue", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Use a fixed integer value. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (FixedValue | DynamicValue | DiscreteLookupList) + /// + /// + public virtual System.Int64? FixedValue { + get { + XElement x = this.GetElement(FixedValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetElement(FixedValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DynamicValueXName = System.Xml.Linq.XName.Get("DynamicValue", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Determine the value by interrogating an instance of a parameter. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (FixedValue | DynamicValue | DiscreteLookupList) + /// + /// + public virtual DynamicValueType DynamicValue { + get { + XElement x = this.GetElement(DynamicValueXName); + if ((x == null)) { + return null; + } + return ((DynamicValueType)(x)); + } + set { + this.SetElement(DynamicValueXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DiscreteLookupListXName = System.Xml.Linq.XName.Get("DiscreteLookupList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Determine the value by interrogating an instance of a parameter and selecting a specified value based on tests of the value of that parameter. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (FixedValue | DynamicValue | DiscreteLookupList) + /// + /// + public virtual DiscreteLookupListType DiscreteLookupList { + get { + XElement x = this.GetElement(DiscreteLookupListXName); + if ((x == null)) { + return null; + } + return ((DiscreteLookupListType)(x)); + } + set { + this.SetElement(DiscreteLookupListXName, value); + } + } + + public IntegerValueType(System.Int64? FixedValue) { + this.FixedValue = FixedValue; + } + + public IntegerValueType(DynamicValueType DynamicValue) { + this.DynamicValue = DynamicValue; + } + + public IntegerValueType(DiscreteLookupListType DiscreteLookupList) { + this.DiscreteLookupList = DiscreteLookupList; + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("IntegerValueType", "http://www.omg.org/spec/XTCE/20250214"); + + static IntegerValueType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(FixedValueXName), new NamedContentModelEntity(DynamicValueXName), new NamedContentModelEntity(DiscreteLookupListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(FixedValueXName, typeof(long)); + localElementDictionary.Add(DynamicValueXName, typeof(DynamicValueType)); + localElementDictionary.Add(DiscreteLookupListXName, typeof(DiscreteLookupListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to IntegerValueType but supports argument instance references. + /// + /// + /// Regular expression: (FixedValue | DynamicValue | DiscreteLookupList) + /// + /// + public partial class ArgumentIntegerValueType : XTypedElement, IXMetaData { + + public static explicit operator ArgumentIntegerValueType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to IntegerValueType but supports argument instance references. + /// + /// + /// Regular expression: (FixedValue | DynamicValue | DiscreteLookupList) + /// + /// + public ArgumentIntegerValueType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FixedValueXName = System.Xml.Linq.XName.Get("FixedValue", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Use a fixed integer value. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (FixedValue | DynamicValue | DiscreteLookupList) + /// + /// + public virtual System.Int64? FixedValue { + get { + XElement x = this.GetElement(FixedValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetElement(FixedValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DynamicValueXName = System.Xml.Linq.XName.Get("DynamicValue", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Determine the value by interrogating an instance of an argument or parameter. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (FixedValue | DynamicValue | DiscreteLookupList) + /// + /// + public virtual ArgumentDynamicValueType DynamicValue { + get { + XElement x = this.GetElement(DynamicValueXName); + if ((x == null)) { + return null; + } + return ((ArgumentDynamicValueType)(x)); + } + set { + this.SetElement(DynamicValueXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DiscreteLookupListXName = System.Xml.Linq.XName.Get("DiscreteLookupList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Determine the value by interrogating an instance of an argument or parameter and selecting a specified value based on tests of the value of that argument or parameter. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (FixedValue | DynamicValue | DiscreteLookupList) + /// + /// + public virtual ArgumentDiscreteLookupListType DiscreteLookupList { + get { + XElement x = this.GetElement(DiscreteLookupListXName); + if ((x == null)) { + return null; + } + return ((ArgumentDiscreteLookupListType)(x)); + } + set { + this.SetElement(DiscreteLookupListXName, value); + } + } + + public ArgumentIntegerValueType(System.Int64? FixedValue) { + this.FixedValue = FixedValue; + } + + public ArgumentIntegerValueType(ArgumentDynamicValueType DynamicValue) { + this.DynamicValue = DynamicValue; + } + + public ArgumentIntegerValueType(ArgumentDiscreteLookupListType DiscreteLookupList) { + this.DiscreteLookupList = DiscreteLookupList; + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentIntegerValueType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentIntegerValueType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(FixedValueXName), new NamedContentModelEntity(DynamicValueXName), new NamedContentModelEntity(DiscreteLookupListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(FixedValueXName, typeof(long)); + localElementDictionary.Add(DynamicValueXName, typeof(ArgumentDynamicValueType)); + localElementDictionary.Add(DiscreteLookupListXName, typeof(ArgumentDiscreteLookupListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// The Long Description is intended to be used for explanatory descriptions of the object and may include HTML markup. Long Descriptions are of unbounded length + /// + /// + public sealed class LongDescriptionType { + + private LongDescriptionType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + + /// + /// + /// Mathematical operators used in the math operation. Behavior of each operator on the stack is described using notation (before -- after), where "before" represents the stack before execution of the operator and "after" represent the stack after execution. + /// + /// + public enum MathOperatorsType { + + Plus, + + Hyphen, + + Asterisk, + + Slash, + + Percent, + + Caret, + + y_x, + + ln, + + log, + + e_x, + + _1_x, + + x_, + + tan, + + cos, + + sin, + + atan, + + atan2, + + acos, + + asin, + + tanh, + + cosh, + + sinh, + + atanh, + + acosh, + + asinh, + + swap, + + drop, + + dup, + + over, + + LessThanLessThan, + + GreaterThanGreaterThan, + + Ampersand, + + Pipe, + + AmpersandAmpersand, + + PipePipe, + + ExclamationMark, + + abs, + + div, + + @int, + + GreaterThan, + + GreaterThanEquals, + + LessThan, + + LessThanEquals, + + EqualsEquals, + + ExclamationMarkEquals, + + min, + + max, + + xor, + + Tilde, + } + + /// + /// + /// Mathematical operators used in the math operation. Behavior of each operator on the stack is described using notation (before -- after), where "before" represents the stack before execution of the operator and "after" represent the stack after execution. + /// + /// + public sealed class MathOperatorsTypeValidator { + + private MathOperatorsTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "+:Plus", + "-:Hyphen", + "*:Asterisk", + "/:Slash", + "%:Percent", + "^:Caret", + "y^x:y_x", + "ln", + "log", + "e^x:e_x", + "1/x:_1_x", + "x!:x_", + "tan", + "cos", + "sin", + "atan", + "atan2", + "acos", + "asin", + "tanh", + "cosh", + "sinh", + "atanh", + "acosh", + "asinh", + "swap", + "drop", + "dup", + "over", + "<<:LessThanLessThan", + ">>:GreaterThanGreaterThan", + "&:Ampersand", + "|:Pipe", + "&&:AmpersandAmpersand", + "||:PipePipe", + "!:ExclamationMark", + "abs", + "div", + "int:@int", + ">:GreaterThan", + ">=:GreaterThanEquals", + "<:LessThan", + "<=:LessThanEquals", + "==:EqualsEquals", + "!=:ExclamationMarkEquals", + "min", + "max", + "xor", + "~:Tilde"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Contains either a simple Comparison, a ComparisonList, an arbitrarily complex BooleanExpression or an escape to an externally defined algorithm + /// + /// + /// Regular expression: (Comparison | ComparisonList | BooleanExpression | CustomAlgorithm) + /// + /// + public partial class MatchCriteriaType : XTypedElement, IXMetaData { + + public static explicit operator MatchCriteriaType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Contains either a simple Comparison, a ComparisonList, an arbitrarily complex BooleanExpression or an escape to an externally defined algorithm + /// + /// + /// Regular expression: (Comparison | ComparisonList | BooleanExpression | CustomAlgorithm) + /// + /// + public MatchCriteriaType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonXName = System.Xml.Linq.XName.Get("Comparison", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// A simple comparison check involving a single test of a parameter value. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Comparison | ComparisonList | BooleanExpression | CustomAlgorithm) + /// + /// + public virtual ComparisonType Comparison { + get { + XElement x = this.GetElement(ComparisonXName); + if ((x == null)) { + return null; + } + return ((ComparisonType)(x)); + } + set { + this.SetElement(ComparisonXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonListXName = System.Xml.Linq.XName.Get("ComparisonList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// A series of simple comparison checks with an implicit 'and' in that they all must be true for the overall condition to be true. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Comparison | ComparisonList | BooleanExpression | CustomAlgorithm) + /// + /// + public virtual ComparisonListType ComparisonList { + get { + XElement x = this.GetElement(ComparisonListXName); + if ((x == null)) { + return null; + } + return ((ComparisonListType)(x)); + } + set { + this.SetElement(ComparisonListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BooleanExpressionXName = System.Xml.Linq.XName.Get("BooleanExpression", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// An arbitrarily complex boolean expression that has additional flexibility on the terms beyond the Comparison and ComparisonList elements. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Comparison | ComparisonList | BooleanExpression | CustomAlgorithm) + /// + /// + public virtual BooleanExpressionType BooleanExpression { + get { + XElement x = this.GetElement(BooleanExpressionXName); + if ((x == null)) { + return null; + } + return ((BooleanExpressionType)(x)); + } + set { + this.SetElement(BooleanExpressionXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlgorithmXName = System.Xml.Linq.XName.Get("CustomAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// An escape to an externally defined algorithm. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Comparison | ComparisonList | BooleanExpression | CustomAlgorithm) + /// + /// + public virtual InputAlgorithmType CustomAlgorithm { + get { + XElement x = this.GetElement(CustomAlgorithmXName); + if ((x == null)) { + return null; + } + return ((InputAlgorithmType)(x)); + } + set { + this.SetElement(CustomAlgorithmXName, value); + } + } + + public MatchCriteriaType(ComparisonType Comparison) { + this.Comparison = Comparison; + } + + public MatchCriteriaType(ComparisonListType ComparisonList) { + this.ComparisonList = ComparisonList; + } + + public MatchCriteriaType(BooleanExpressionType BooleanExpression) { + this.BooleanExpression = BooleanExpression; + } + + public MatchCriteriaType(InputAlgorithmType CustomAlgorithm) { + this.CustomAlgorithm = CustomAlgorithm; + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("MatchCriteriaType", "http://www.omg.org/spec/XTCE/20250214"); + + static MatchCriteriaType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(ComparisonXName), new NamedContentModelEntity(ComparisonListXName), new NamedContentModelEntity(BooleanExpressionXName), new NamedContentModelEntity(CustomAlgorithmXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ComparisonXName, typeof(ComparisonType)); + localElementDictionary.Add(ComparisonListXName, typeof(ComparisonListType)); + localElementDictionary.Add(BooleanExpressionXName, typeof(BooleanExpressionType)); + localElementDictionary.Add(CustomAlgorithmXName, typeof(InputAlgorithmType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a value to set to a destination Parameter after completion of a commanding lifecycle step. + /// + /// + /// Regular expression: (ValueOperand | ThisParameterOperand | Operator | ParameterInstanceRefOperand | ArgumentInstanceRefOperand)+ + /// + /// + public partial class ArgumentMathOperationType : XTypedElement, IXMetaData { + + public static explicit operator ArgumentMathOperationType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a value to set to a destination Parameter after completion of a commanding lifecycle step. + /// + /// + /// Regular expression: (ValueOperand | ThisParameterOperand | Operator | ParameterInstanceRefOperand | ArgumentInstanceRefOperand)+ + /// + /// + public ArgumentMathOperationType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ValueOperandXName = System.Xml.Linq.XName.Get("ValueOperand", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList ValueOperandField; + + /// + /// + /// Use a constant in the calculation. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (ValueOperand | ThisParameterOperand | Operator | ParameterInstanceRefOperand | ArgumentInstanceRefOperand)+ + /// + /// + public virtual IList ValueOperand { + get { + if ((this.ValueOperandField == null)) { + this.ValueOperandField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, ValueOperandXName); + } + return this.ValueOperandField; + } + set { + if ((value == null)) { + this.ValueOperandField = null; + } + else { + if ((this.ValueOperandField == null)) { + this.ValueOperandField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, value, ValueOperandXName); + } + else { + XTypedServices.SetList(this.ValueOperandField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ThisParameterOperandXName = System.Xml.Linq.XName.Get("ThisParameterOperand", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static IList ThisParameterOperandFixedValue = new string[] { + ""}; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList ThisParameterOperandField; + + /// + /// + /// Use the value of the target parameter in the calculation. It is the calibrated/engineering value only. If the raw value is needed, specify it explicitly using ParameterInstanceRefOperand. Note this element has no content. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (ValueOperand | ThisParameterOperand | Operator | ParameterInstanceRefOperand | ArgumentInstanceRefOperand)+ + /// + /// + public virtual IList ThisParameterOperand { + get { + return ThisParameterOperandFixedValue; + } + set { + if ((ThisParameterOperandFixedValue.Equals(value) + || (value == null))) { + } + else { + throw new Xml.Schema.Linq.LinqToXsdFixedValueException(value, ThisParameterOperandFixedValue); + } + if ((value == null)) { + this.ThisParameterOperandField = null; + } + else { + if ((this.ThisParameterOperandField == null)) { + this.ThisParameterOperandField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, value, ThisParameterOperandXName, ThisParameterOperandFixedValue); + } + else { + XTypedServices.SetList(this.ThisParameterOperandField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName OperatorXName = System.Xml.Linq.XName.Get("Operator", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList OperatorField; + + /// + /// + /// All operators utilize operands on the top values in the stack and leaving the result on the top of the stack. Ternary operators utilize the top three operands on the stack, binary operators utilize the top two operands on the stack, and unary operators use the top operand on the stack. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (ValueOperand | ThisParameterOperand | Operator | ParameterInstanceRefOperand | ArgumentInstanceRefOperand)+ + /// + /// + public virtual IList Operator { + get { + if ((this.OperatorField == null)) { + this.OperatorField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, OperatorXName); + } + return this.OperatorField.Select(item => (Omg.Xtce.MathOperatorsType)Enum.Parse(typeof(Omg.Xtce.MathOperatorsType), item)).ToList(); + } + set { + if ((value == null)) { + this.OperatorField = null; + } + else { + if ((this.OperatorField == null)) { + this.OperatorField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, value.Select(item => item.ToString()), OperatorXName); + } + else { + XTypedServices.SetList(this.OperatorField, value.Select(item => item.ToString()).ToList()); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterInstanceRefOperandXName = System.Xml.Linq.XName.Get("ParameterInstanceRefOperand", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ParameterInstanceRefOperandField; + + /// + /// + /// This element is used to reference the last received/assigned value of any Parameter in this math operation. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (ValueOperand | ThisParameterOperand | Operator | ParameterInstanceRefOperand | ArgumentInstanceRefOperand)+ + /// + /// + public virtual IList ParameterInstanceRefOperand { + get { + if ((this.ParameterInstanceRefOperandField == null)) { + this.ParameterInstanceRefOperandField = new XTypedList(this, LinqToXsdTypeManager.Instance, ParameterInstanceRefOperandXName); + } + return this.ParameterInstanceRefOperandField; + } + set { + if ((value == null)) { + this.ParameterInstanceRefOperandField = null; + } + else { + if ((this.ParameterInstanceRefOperandField == null)) { + this.ParameterInstanceRefOperandField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ParameterInstanceRefOperandXName); + } + else { + XTypedServices.SetList(this.ParameterInstanceRefOperandField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ArgumentInstanceRefOperandXName = System.Xml.Linq.XName.Get("ArgumentInstanceRefOperand", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ArgumentInstanceRefOperandField; + + /// + /// + /// This element is used to reference a value of any Argument from this command instance in this math operation. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (ValueOperand | ThisParameterOperand | Operator | ParameterInstanceRefOperand | ArgumentInstanceRefOperand)+ + /// + /// + public virtual IList ArgumentInstanceRefOperand { + get { + if ((this.ArgumentInstanceRefOperandField == null)) { + this.ArgumentInstanceRefOperandField = new XTypedList(this, LinqToXsdTypeManager.Instance, ArgumentInstanceRefOperandXName); + } + return this.ArgumentInstanceRefOperandField; + } + set { + if ((value == null)) { + this.ArgumentInstanceRefOperandField = null; + } + else { + if ((this.ArgumentInstanceRefOperandField == null)) { + this.ArgumentInstanceRefOperandField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ArgumentInstanceRefOperandXName); + } + else { + XTypedServices.SetList(this.ArgumentInstanceRefOperandField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentMathOperationType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentMathOperationType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(ValueOperandXName), new NamedContentModelEntity(ThisParameterOperandXName), new NamedContentModelEntity(OperatorXName), new NamedContentModelEntity(ParameterInstanceRefOperandXName), new NamedContentModelEntity(ArgumentInstanceRefOperandXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ValueOperandXName, typeof(string)); + localElementDictionary.Add(ThisParameterOperandXName, typeof(string)); + localElementDictionary.Add(OperatorXName, typeof(string)); + localElementDictionary.Add(ParameterInstanceRefOperandXName, typeof(ParameterInstanceRefType)); + localElementDictionary.Add(ArgumentInstanceRefOperandXName, typeof(ArgumentInstanceRefType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Postfix (aka Reverse Polish Notation (RPN)) notation is used to describe mathmatical equations. It uses a stack where operands (either fixed values or ParameterInstances) are pushed onto the stack from first to last in the XML. As the operators are specified, each pops off operands as it evaluates them, and pushes the result back onto the stack. In this case postfix is used to avoid having to specify parenthesis. To convert from infix to postfix, use Dijkstra's "shunting yard" algorithm. + /// + /// + /// Regular expression: (AncillaryDataSet?, (ValueOperand | ThisParameterOperand | Operator | ParameterInstanceRefOperand)+) + /// + /// + public abstract partial class MathOperationType : global::Omg.Xtce.MathOperationCalibratorType, IXMetaData { + + public static explicit operator MathOperationType(XElement xe) { return (MathOperationType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// Postfix (aka Reverse Polish Notation (RPN)) notation is used to describe mathmatical equations. It uses a stack where operands (either fixed values or ParameterInstances) are pushed onto the stack from first to last in the XML. As the operators are specified, each pops off operands as it evaluates them, and pushes the result back onto the stack. In this case postfix is used to avoid having to specify parenthesis. To convert from infix to postfix, use Dijkstra's "shunting yard" algorithm. + /// + /// + /// Regular expression: (AncillaryDataSet?, (ValueOperand | ThisParameterOperand | Operator | ParameterInstanceRefOperand)+) + /// + /// + public MathOperationType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ValueOperandXName = System.Xml.Linq.XName.Get("ValueOperand", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ThisParameterOperandXName = System.Xml.Linq.XName.Get("ThisParameterOperand", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName OperatorXName = System.Xml.Linq.XName.Get("Operator", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterInstanceRefOperandXName = System.Xml.Linq.XName.Get("ParameterInstanceRefOperand", "http://www.omg.org/spec/XTCE/20250214"); + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("MathOperationType", "http://www.omg.org/spec/XTCE/20250214"); + + static MathOperationType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(ValueOperandXName), new NamedContentModelEntity(ThisParameterOperandXName), new NamedContentModelEntity(OperatorXName), new NamedContentModelEntity(ParameterInstanceRefOperandXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(ValueOperandXName, typeof(string)); + localElementDictionary.Add(ThisParameterOperandXName, typeof(string)); + localElementDictionary.Add(OperatorXName, typeof(string)); + localElementDictionary.Add(ParameterInstanceRefOperandXName, typeof(ParameterInstanceRefType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Defines a basic name where all characters are allowed except '.', '[', ']', ':', '/', and whitespace. See NameDescriptionType. + /// + /// + public sealed class NameType { + + private NameType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(8)), null, 0, 0, null, null, 0, null, null, 0, new string[] { + "[^.\\[\\]:/ \\t]+"}, 0, XmlSchemaWhiteSpace.Replace)); + } + + /// + /// + /// Defines a base schema type definition used by many other schema types throughout schema. Use it to describe a name with optional descriptions, aliases, and ancillary data. See NameType, LongDescriptionType, ShortDescriptionType, AliasSetType and AncillaryDataSetType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?) + /// + /// + public partial class NameDescriptionType : global::Omg.Xtce.DescriptionType, IXMetaData { + + public static explicit operator NameDescriptionType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Defines a base schema type definition used by many other schema types throughout schema. Use it to describe a name with optional descriptions, aliases, and ancillary data. See NameType, LongDescriptionType, ShortDescriptionType, AliasSetType and AncillaryDataSetType. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?) + /// + /// + public NameDescriptionType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName nameXName = System.Xml.Linq.XName.Get("name", ""); + + /// + /// + /// The name of this defined item. See NameType for restriction information. + /// + /// + /// Occurrence: required + /// + /// + public virtual string name { + get { + XAttribute x = this.Attribute(nameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(nameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("NameDescriptionType", "http://www.omg.org/spec/XTCE/20250214"); + + static NameDescriptionType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// This is identical to NameType above and is used for references that point to named objects for which path is not an option and array/aggregate typing is not an option. This is not used by the schema. + /// + /// + public sealed class NameReferenceNoPathType { + + private NameReferenceNoPathType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(8)), null, 0, 0, null, null, 0, null, null, 0, new string[] { + "[^.\\[\\]:/ \\t]+"}, 0, XmlSchemaWhiteSpace.Replace)); + } + + /// + /// + /// Defines a reference to a named object where array and aggregate are possibilities, but path is not a possibility. This is used by the argumentName attribute within the ArgumentAssignment element and ArgumentRef variations. + /// + /// + public sealed class ExpandedNameReferenceNoPathType { + + private ExpandedNameReferenceNoPathType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(8)), null, 0, 0, null, null, 0, null, null, 0, new string[] { + "([^\\.\\[\\]:/ \\t]+(\\[[0-9]+\\])*(\\.[^\\.\\[\\]:/ \\t]+(\\[[0-9]+\\])*)*)"}, 0, XmlSchemaWhiteSpace.Replace)); + } + + /// + /// + /// Defines a reference that can include a path to a named object where array and aggregate are not possible. The named must be of schema type NameType. All name references use a Unix style file system name format where the SpaceSystem names form a path in the SpaceSystem tree. The following characters are reserved for the path: '/', '..' and '.' (multiple consecutive '/'s are treated as one). The path portion is similar to the directory path used in file system names and the path characters have similar meaning (e.g., SimpleSat/Bus/EPDS/BatteryOne/Voltage). There are three overall forms for name references: absolute path, relative path and just the name. The first two forms are called qualified name references; the last form is called an unqualified name reference. The unqualified form refers to an item in the SpaceSystem the reference is used in. The unqualified form refers to an item in the SpaceSystem the reference is used in. All name references must resolve to a named item (i.e. no dangling name references). This is used by the ParameterTypeRef, ArgumentTypeRef, baseType attribute, typeRef attribute, arrayTypeRef attribute, spaceSystemAtRisk attribute, scopeToSpaceSystem attribute, triggerContainer attribute, StreamRef, ContainerRef, MetaCommandRef, ServiceRef, and MessageRef variations. + /// + /// + public sealed class NameReferenceWithPathType { + + private NameReferenceWithPathType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(8)), null, 0, 0, null, null, 0, null, null, 0, new string[] { + "(/?(|\\.{1,2}/|[^.\\[\\]:/ \\t]+))*[^.\\[\\]:/ \\t]+"}, 0, XmlSchemaWhiteSpace.Replace)); + } + + /// + /// + /// Defines a reference that can include a path to a named object where array and aggregate are possible. The named must be of schema type NameType. All name references use a Unix style file system name format where the SpaceSystem names form a path in the SpaceSystem tree. The following characters are reserved for the path: '/', '..' and '.' (multiple consecutive '/'s are treated as one). The path portion is similar to the directory path used in file system names and the path characters have similar meaning (e.g., SimpleSat/Bus/EPDS/BatteryOne/Voltage). There are three overall forms for name references: absolute path, relative path and just the name. The first two forms are called qualified name references; the last form is called an unqualified name reference. The unqualified form refers to an item in the SpaceSystem the reference is used in. The unqualified form refers to an item in the SpaceSystem the reference is used in. All name references must resolve to a named item (i.e. no dangling name references). This is used by the ParameterRef variations. + /// + /// + public sealed class ExpandedNameReferenceWithPathType { + + private ExpandedNameReferenceWithPathType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(8)), null, 0, 0, null, null, 0, null, null, 0, new string[] { + "(/?(|\\.{1,2}/|[^.\\[\\]:/ \\t]+))*[^.\\[\\]:/ \\t]+([^\\.\\[\\]:/ \\t]+(\\[[0-9]+\\])*(\\.[^\\." + + "\\[\\]:/ \\t]+(\\[[0-9]+\\])*)*)*"}, 0, XmlSchemaWhiteSpace.Replace)); + } + + /// + /// + /// Contains an unordered collection of Notes. Usage is user defined. See NoteType. + /// + /// + /// Regular expression: (Note*) + /// + /// + public partial class NoteSetType : XTypedElement, IXMetaData { + + public static explicit operator NoteSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Contains an unordered collection of Notes. Usage is user defined. See NoteType. + /// + /// + /// Regular expression: (Note*) + /// + /// + public NoteSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName NoteXName = System.Xml.Linq.XName.Get("Note", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList NoteField; + + /// + /// + /// Contains a program defined technical note regarding this document. + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (Note*) + /// + /// + public virtual IList Note { + get { + if ((this.NoteField == null)) { + this.NoteField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, NoteXName); + } + return this.NoteField; + } + set { + if ((value == null)) { + this.NoteField = null; + } + else { + if ((this.NoteField == null)) { + this.NoteField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, value, NoteXName); + } + else { + XTypedServices.SetList(this.NoteField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("NoteSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static NoteSetType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(NoteXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(NoteXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public sealed class NoteType { + + private NoteType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + + /// + /// + /// This type describes how a numeric value should be represented in engineering/calibrated form. The defaults reflect the most common form. + /// + /// + public partial class NumberFormatType : XTypedElement, IXMetaData { + + public static explicit operator NumberFormatType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// This type describes how a numeric value should be represented in engineering/calibrated form. The defaults reflect the most common form. + /// + /// + public NumberFormatType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName numberBaseXName = System.Xml.Linq.XName.Get("numberBase", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.RadixType numberBaseDefaultValue = Omg.Xtce.RadixType.Decimal; + + /// + /// + /// Describes how the engineering/calibrated value of this number should be displayed with respect to the radix. Default is base 10. + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.RadixType numberBase { + get { + XAttribute x = this.Attribute(numberBaseXName); + if ((x == null)) { + return numberBaseDefaultValue; + } + return ((Omg.Xtce.RadixType)(Enum.Parse(typeof(Omg.Xtce.RadixType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.RadixTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(numberBaseXName, value.ToString(), "numberBase", global::Omg.Xtce.RadixTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName minimumFractionDigitsXName = System.Xml.Linq.XName.Get("minimumFractionDigits", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static long minimumFractionDigitsDefaultValue = System.Xml.XmlConvert.ToInt64("0"); + + /// + /// + /// Describes how the engineering/calibrated value of this number should be displayed with respect to the minimum number of fractional digits. The default is 0. + /// + /// + /// Occurrence: optional + /// + /// + public virtual long minimumFractionDigits { + get { + XAttribute x = this.Attribute(minimumFractionDigitsXName); + if ((x == null)) { + return minimumFractionDigitsDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(minimumFractionDigitsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName maximumFractionDigitsXName = System.Xml.Linq.XName.Get("maximumFractionDigits", ""); + + /// + /// + /// Describes how the engineering/calibrated value of this number should be displayed with respect to the maximum or upper bound of the number of digits. There is no default. No value specified should be interpreted as no upper bound such that all requires digits are used to fully characterize the value. + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Int64? maximumFractionDigits { + get { + XAttribute x = this.Attribute(maximumFractionDigitsXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(maximumFractionDigitsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName minimumIntegerDigitsXName = System.Xml.Linq.XName.Get("minimumIntegerDigits", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static long minimumIntegerDigitsDefaultValue = System.Xml.XmlConvert.ToInt64("1"); + + /// + /// + /// Describes how the engineering/calibrated value of this number should be displayed with respect to the minimum number of integer digits. The default is 1. + /// + /// + /// Occurrence: optional + /// + /// + public virtual long minimumIntegerDigits { + get { + XAttribute x = this.Attribute(minimumIntegerDigitsXName); + if ((x == null)) { + return minimumIntegerDigitsDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(minimumIntegerDigitsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName maximumIntegerDigitsXName = System.Xml.Linq.XName.Get("maximumIntegerDigits", ""); + + /// + /// + /// Describes how the engineering/calibrated value of this number should be displayed with respect to the maximum or upper bound of the integer digits. There is no default. No value specified should be interpreted as no upper bound such that all requires digits are used to fully characterize the value. + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Int64? maximumIntegerDigits { + get { + XAttribute x = this.Attribute(maximumIntegerDigitsXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(maximumIntegerDigitsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName negativeSuffixXName = System.Xml.Linq.XName.Get("negativeSuffix", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static string negativeSuffixDefaultValue = ""; + + /// + /// + /// Describes how the engineering/calibrated value of this number should be displayed with respect to negative values. This attribute specifies the character or characters that should be appended to the numeric value to indicate negative values. The default is none. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string negativeSuffix { + get { + XAttribute x = this.Attribute(negativeSuffixXName); + if ((x == null)) { + return negativeSuffixDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(negativeSuffixXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName positiveSuffixXName = System.Xml.Linq.XName.Get("positiveSuffix", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static string positiveSuffixDefaultValue = ""; + + /// + /// + /// Describes how the engineering/calibrated value of this number should be displayed with respect to positive values. This attribute specifies the character or characters that should be appended to the numeric value to indicate positive values. The default is none. Zero is considered to be specific to the implementation/platform and is not implied here. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string positiveSuffix { + get { + XAttribute x = this.Attribute(positiveSuffixXName); + if ((x == null)) { + return positiveSuffixDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(positiveSuffixXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName negativePrefixXName = System.Xml.Linq.XName.Get("negativePrefix", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static string negativePrefixDefaultValue = "-"; + + /// + /// + /// Describes how the engineering/calibrated value of this number should be displayed with respect to negative values. This attribute specifies the character or characters that should be prepended to the numeric value to indicate negative values. The default is a minus character "-". + /// + /// + /// Occurrence: optional + /// + /// + public virtual string negativePrefix { + get { + XAttribute x = this.Attribute(negativePrefixXName); + if ((x == null)) { + return negativePrefixDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(negativePrefixXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName positivePrefixXName = System.Xml.Linq.XName.Get("positivePrefix", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static string positivePrefixDefaultValue = ""; + + /// + /// + /// Describes how the engineering/calibrated value of this number should be displayed with respect to positive values. This attribute specifies the character or characters that should be prepended to the numeric value to indicate positive values. The default is none. Zero is considered to be specific to the implementation/platform and is not implied here. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string positivePrefix { + get { + XAttribute x = this.Attribute(positivePrefixXName); + if ((x == null)) { + return positivePrefixDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(positivePrefixXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName showThousandsGroupingXName = System.Xml.Linq.XName.Get("showThousandsGrouping", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool showThousandsGroupingDefaultValue = System.Xml.XmlConvert.ToBoolean("false"); + + /// + /// + /// Describes how the engineering/calibrated value of this number should be displayed with respect to larger values. Groupings by thousand are specific to locale, so the schema only specifies whether they will be present and not which character separators are used. The default is false. + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool showThousandsGrouping { + get { + XAttribute x = this.Attribute(showThousandsGroupingXName); + if ((x == null)) { + return showThousandsGroupingDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(showThousandsGroupingXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName notationXName = System.Xml.Linq.XName.Get("notation", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.FloatingPointNotationType notationDefaultValue = Omg.Xtce.FloatingPointNotationType.normal; + + /// + /// + /// Describes how the engineering/calibrated value of this number should be displayed with respect to notation. Engineering, scientific, or traditional decimal notation may be specified. The precise characters used is locale specific for the implementation/platform. The default is "normal" for the traditional notation. + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.FloatingPointNotationType notation { + get { + XAttribute x = this.Attribute(notationXName); + if ((x == null)) { + return notationDefaultValue; + } + return ((Omg.Xtce.FloatingPointNotationType)(Enum.Parse(typeof(Omg.Xtce.FloatingPointNotationType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.FloatingPointNotationTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(notationXName, value.ToString(), "notation", global::Omg.Xtce.FloatingPointNotationTypeValidator.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("NumberFormatType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A simple restriction on string for hexadecimal numbers. Must be in 0o or 0O form. + /// + /// + public sealed class OctalType { + + private OctalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(8)), null, 0, 0, null, null, 0, null, null, 0, new string[] { + "0[oO][0-7]+"}, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// The type definition used by most elements that have an optional name with optional descriptions. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?) + /// + /// + public partial class OptionalNameDescriptionType : global::Omg.Xtce.DescriptionType, IXMetaData { + + public static explicit operator OptionalNameDescriptionType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// The type definition used by most elements that have an optional name with optional descriptions. + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?) + /// + /// + public OptionalNameDescriptionType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName LongDescriptionXName = System.Xml.Linq.XName.Get("LongDescription", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AliasSetXName = System.Xml.Linq.XName.Get("AliasSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName nameXName = System.Xml.Linq.XName.Get("name", ""); + + /// + /// + /// Optional name of this defined item. See NameType for restriction information. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string name { + get { + XAttribute x = this.Attribute(nameXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(nameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("OptionalNameDescriptionType", "http://www.omg.org/spec/XTCE/20250214"); + + static OptionalNameDescriptionType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(LongDescriptionXName), new NamedContentModelEntity(AliasSetXName), new NamedContentModelEntity(AncillaryDataSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(LongDescriptionXName, typeof(string)); + localElementDictionary.Add(AliasSetXName, typeof(AliasSetType)); + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe two or more conditions that are logically ored together. Conditions may be a mix of Condition and ANDedCondition. See ORedConditionType and BooleanExpressionType. + /// + /// + /// Regular expression: (Condition | ANDedConditions)+ + /// + /// + public partial class ORedConditionsType : global::Omg.Xtce.BaseConditionsType, IXMetaData { + + public static explicit operator ORedConditionsType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe two or more conditions that are logically ored together. Conditions may be a mix of Condition and ANDedCondition. See ORedConditionType and BooleanExpressionType. + /// + /// + /// Regular expression: (Condition | ANDedConditions)+ + /// + /// + public ORedConditionsType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ConditionXName = System.Xml.Linq.XName.Get("Condition", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ConditionField; + + /// + /// + /// Condition elements describe a test similar to the Comparison element except that the parameters used have additional flexibility for the compare. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Condition | ANDedConditions)+ + /// + /// + public virtual IList Condition { + get { + if ((this.ConditionField == null)) { + this.ConditionField = new XTypedList(this, LinqToXsdTypeManager.Instance, ConditionXName); + } + return this.ConditionField; + } + set { + if ((value == null)) { + this.ConditionField = null; + } + else { + if ((this.ConditionField == null)) { + this.ConditionField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ConditionXName); + } + else { + XTypedServices.SetList(this.ConditionField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ANDedConditionsXName = System.Xml.Linq.XName.Get("ANDedConditions", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ANDedConditionsField; + + /// + /// + /// This element describes tests similar to the ComparisonList element except that the parameters used are more flexible and the and/or for multiple checks can be specified. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Condition | ANDedConditions)+ + /// + /// + public virtual IList ANDedConditions { + get { + if ((this.ANDedConditionsField == null)) { + this.ANDedConditionsField = new XTypedList(this, LinqToXsdTypeManager.Instance, ANDedConditionsXName); + } + return this.ANDedConditionsField; + } + set { + if ((value == null)) { + this.ANDedConditionsField = null; + } + else { + if ((this.ANDedConditionsField == null)) { + this.ANDedConditionsField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ANDedConditionsXName); + } + else { + XTypedServices.SetList(this.ANDedConditionsField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ORedConditionsType", "http://www.omg.org/spec/XTCE/20250214"); + + static ORedConditionsType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(ConditionXName), new NamedContentModelEntity(ANDedConditionsXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ConditionXName, typeof(ComparisonCheckType)); + localElementDictionary.Add(ANDedConditionsXName, typeof(ANDedConditionsType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an unordered collection of parameters where duplicates defined by the Parameter name attribute are invalid. The ParameterSet exists in both the TelemetryMetaData and the CommandMetaData element so that each may be built independently but from a single namespace. See TelemetryMetaDataType and CommandMetaDataType. + /// + /// + /// Regular expression: (Parameter | ParameterRef)+ + /// + /// + public partial class ParameterSetType : XTypedElement, IXMetaData { + + public static explicit operator ParameterSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an unordered collection of parameters where duplicates defined by the Parameter name attribute are invalid. The ParameterSet exists in both the TelemetryMetaData and the CommandMetaData element so that each may be built independently but from a single namespace. See TelemetryMetaDataType and CommandMetaDataType. + /// + /// + /// Regular expression: (Parameter | ParameterRef)+ + /// + /// + public ParameterSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterXName = System.Xml.Linq.XName.Get("Parameter", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ParameterField; + + /// + /// + /// Defines a named and typed Parameter. + /// + /// + /// Need to ensure that the named types actually exist + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Parameter | ParameterRef)+ + /// + /// + public virtual IList Parameter { + get { + if ((this.ParameterField == null)) { + this.ParameterField = new XTypedList(this, LinqToXsdTypeManager.Instance, ParameterXName); + } + return this.ParameterField; + } + set { + if ((value == null)) { + this.ParameterField = null; + } + else { + if ((this.ParameterField == null)) { + this.ParameterField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ParameterXName); + } + else { + XTypedServices.SetList(this.ParameterField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterRefXName = System.Xml.Linq.XName.Get("ParameterRef", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ParameterRefField; + + /// + /// + /// Used to include a Parameter defined in another sub-system in this sub-system. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (Parameter | ParameterRef)+ + /// + /// + public virtual IList ParameterRef { + get { + if ((this.ParameterRefField == null)) { + this.ParameterRefField = new XTypedList(this, LinqToXsdTypeManager.Instance, ParameterRefXName); + } + return this.ParameterRefField; + } + set { + if ((value == null)) { + this.ParameterRefField = null; + } + else { + if ((this.ParameterRefField == null)) { + this.ParameterRefField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ParameterRefXName); + } + else { + XTypedServices.SetList(this.ParameterRefField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ParameterSetType", "http://www.omg.org/spec/XTCE/20250214"); + + static ParameterSetType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(ParameterXName), new NamedContentModelEntity(ParameterRefXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ParameterXName, typeof(ParameterType)); + localElementDictionary.Add(ParameterRefXName, typeof(ParameterRefType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Specifies the number base + /// + /// + public enum RadixType { + + Decimal, + + Hexadecimal, + + Octal, + + Binary, + } + + /// + /// + /// Specifies the number base + /// + /// + public sealed class RadixTypeValidator { + + private RadixTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "Decimal", + "Hexadecimal", + "Octal", + "Binary"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Defines inside and outside enumerated terms, where the term outside means the range is (-inf, minimum) and (maximum, inf) -- that is a range where acceptable values must be less than the minimum and greater than the maximum, and the term inside means the range is (minimum, maximum) -- that is acceptable values are between the minimum and maximum (either the min or max may be inclusive or exclusive). + /// + /// + public enum RangeFormType { + + outside, + + inside, + } + + /// + /// + /// Defines inside and outside enumerated terms, where the term outside means the range is (-inf, minimum) and (maximum, inf) -- that is a range where acceptable values must be less than the minimum and greater than the maximum, and the term inside means the range is (minimum, maximum) -- that is acceptable values are between the minimum and maximum (either the min or max may be inclusive or exclusive). + /// + /// + public sealed class RangeFormTypeValidator { + + private RangeFormTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "outside", + "inside"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Most time values are relative to another time e.g. seconds are relative to minutes, minutes are relative to hours. This type is used to describe this relationship starting with the least significant time Parameter to and progressing to the most significant time parameter. + /// + /// + /// Regular expression: (OffsetFrom | Epoch) + /// + /// + public partial class ReferenceTimeType : XTypedElement, IXMetaData { + + public static explicit operator ReferenceTimeType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Most time values are relative to another time e.g. seconds are relative to minutes, minutes are relative to hours. This type is used to describe this relationship starting with the least significant time Parameter to and progressing to the most significant time parameter. + /// + /// + /// Regular expression: (OffsetFrom | Epoch) + /// + /// + public ReferenceTimeType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName OffsetFromXName = System.Xml.Linq.XName.Get("OffsetFrom", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (OffsetFrom | Epoch) + /// + /// + public virtual ParameterInstanceRefType OffsetFrom { + get { + XElement x = this.GetElement(OffsetFromXName); + if ((x == null)) { + return null; + } + return ((ParameterInstanceRefType)(x)); + } + set { + this.SetElement(OffsetFromXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EpochXName = System.Xml.Linq.XName.Get("Epoch", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Epochs may be specified as an xs date where time is implied to be 00:00:00, xs dateTime, or string enumeration of common epochs. The enumerations are TAI (used by CCSDS and others), J2000, UNIX (also known as POSIX), and GPS. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (OffsetFrom | Epoch) + /// + /// + public virtual object Epoch { + get { + XElement x = this.GetElement(EpochXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseUnionValue(x, global::Omg.Xtce.EpochType.TypeDefinition); + } + set { + this.SetUnionElement(value, "Epoch", this, EpochXName, global::Omg.Xtce.EpochType.TypeDefinition); + } + } + + public ReferenceTimeType(ParameterInstanceRefType OffsetFrom) { + this.OffsetFrom = OffsetFrom; + } + + public ReferenceTimeType(object Epoch) { + this.Epoch = Epoch; + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ReferenceTimeType", "http://www.omg.org/spec/XTCE/20250214"); + + static ReferenceTimeType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(OffsetFromXName), new NamedContentModelEntity(EpochXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(OffsetFromXName, typeof(ParameterInstanceRefType)); + localElementDictionary.Add(EpochXName, typeof(object)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Used to describe a relative time. Normally used for time offsets. A Relative time is expressed as PnYn MnDTnH nMnS, where nY represents the number of years, nM the number of months, nD the number of days, 'T' is the date/time separator, nH the number of hours, nM the number of minutes and nS the number of seconds. The number of seconds can include decimal digits to arbitrary precision. For example, to indicate a duration of 1 year, 2 months, 3 days, 10 hours, and 30 minutes, one would write: P1Y2M3DT10H30M. One could also indicate a duration of minus 120 days as: -P120D. An extension of Schema duration type. + /// + /// + public sealed class RelativeTimeType { + + private RelativeTimeType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Duration), null); + } + + /// + /// + /// Contains elements that describe how an Entry is identically repeated. This includes a Count of the number of appearances and an optional Offset in bits that may occur between appearances. A Count of 1 indicates no repetition. The Offset default is 0 when not specified. + /// + /// + /// Regular expression: (Count, Offset?) + /// + /// + public partial class RepeatType : XTypedElement, IXMetaData { + + public static explicit operator RepeatType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Contains elements that describe how an Entry is identically repeated. This includes a Count of the number of appearances and an optional Offset in bits that may occur between appearances. A Count of 1 indicates no repetition. The Offset default is 0 when not specified. + /// + /// + /// Regular expression: (Count, Offset?) + /// + /// + public RepeatType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CountXName = System.Xml.Linq.XName.Get("Count", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Value (either fixed or dynamic) that contains the count of appearances for an Entry. The value must be positive where 1 is the same as not specifying a RepeatEntry element at all. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Count, Offset?) + /// + /// + public virtual IntegerValueType Count { + get { + XElement x = this.GetElement(CountXName); + return ((IntegerValueType)(x)); + } + set { + this.SetElement(CountXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName OffsetXName = System.Xml.Linq.XName.Get("Offset", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Value (either fixed or dynamic) that contains an optional offset in bits between repeats of the Entry. The default is 0, which is contiguous. The value must be 0 or positive. Empty offset after the last repeat count is not implicitly reserved, so the parent EntryList should consider if these are occupied bits when placing the next Entry. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (Count, Offset?) + /// + /// + public virtual IntegerValueType Offset { + get { + XElement x = this.GetElement(OffsetXName); + if ((x == null)) { + return null; + } + return ((IntegerValueType)(x)); + } + set { + this.SetElement(OffsetXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("RepeatType", "http://www.omg.org/spec/XTCE/20250214"); + + static RepeatType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(CountXName), new NamedContentModelEntity(OffsetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(CountXName, typeof(IntegerValueType)); + localElementDictionary.Add(OffsetXName, typeof(IntegerValueType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Identical to RepeatType but supports argument instance references. + /// + /// + /// Regular expression: (Count, Offset?) + /// + /// + public partial class ArgumentRepeatType : XTypedElement, IXMetaData { + + public static explicit operator ArgumentRepeatType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Identical to RepeatType but supports argument instance references. + /// + /// + /// Regular expression: (Count, Offset?) + /// + /// + public ArgumentRepeatType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CountXName = System.Xml.Linq.XName.Get("Count", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Value (either fixed or dynamic) that contains the count of repeated structures. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Count, Offset?) + /// + /// + public virtual ArgumentIntegerValueType Count { + get { + XElement x = this.GetElement(CountXName); + return ((ArgumentIntegerValueType)(x)); + } + set { + this.SetElement(CountXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName OffsetXName = System.Xml.Linq.XName.Get("Offset", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (Count, Offset?) + /// + /// + public virtual ArgumentIntegerValueType Offset { + get { + XElement x = this.GetElement(OffsetXName); + if ((x == null)) { + return null; + } + return ((ArgumentIntegerValueType)(x)); + } + set { + this.SetElement(OffsetXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ArgumentRepeatType", "http://www.omg.org/spec/XTCE/20250214"); + + static ArgumentRepeatType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(CountXName), new NamedContentModelEntity(OffsetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(CountXName, typeof(ArgumentIntegerValueType)); + localElementDictionary.Add(OffsetXName, typeof(ArgumentIntegerValueType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A reference to a Service + /// + /// + public partial class ServiceRefType : XTypedElement, IXMetaData { + + public static explicit operator ServiceRefType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// A reference to a Service + /// + /// + public ServiceRefType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName serviceRefXName = System.Xml.Linq.XName.Get("serviceRef", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string serviceRef { + get { + XAttribute x = this.Attribute(serviceRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(serviceRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ServiceRefType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// It is strongly recommended that the short description be kept under 80 characters in length + /// + /// + public sealed class ShortDescriptionType { + + private ShortDescriptionType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + + /// + /// + /// A spline, or piecewise defined function, is a set on points from which a curve may be drawn to interpolate raw to calibrated values + /// + /// + public partial class SplinePointType : XTypedElement, IXMetaData { + + public static explicit operator SplinePointType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// A spline, or piecewise defined function, is a set on points from which a curve may be drawn to interpolate raw to calibrated values + /// + /// + public SplinePointType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName orderXName = System.Xml.Linq.XName.Get("order", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static long orderDefaultValue = System.Xml.XmlConvert.ToInt64("1"); + + /// + /// + /// The order of a SplineCalibrator refers to the interpolation function. Order 0 is a flat line from the defined point (inclusive) to the next point (exclusive). Order 1 is linear interpolation between two points. Order 2 is quadratic fit and requires at least 3 points (unusual case). This order is generally not needed, but may be used to override the interpolation order for this point. + /// + /// + /// Occurrence: optional + /// + /// + public virtual long order { + get { + XAttribute x = this.Attribute(orderXName); + if ((x == null)) { + return orderDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(orderXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName rawXName = System.Xml.Linq.XName.Get("raw", ""); + + /// + /// + /// The raw encoded value. + /// + /// + /// Occurrence: required + /// + /// + public virtual double raw { + get { + XAttribute x = this.Attribute(rawXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + set { + this.SetAttribute(rawXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName calibratedXName = System.Xml.Linq.XName.Get("calibrated", ""); + + /// + /// + /// The engineering/calibrated value associated with the raw value for this point. + /// + /// + /// Occurrence: required + /// + /// + public virtual double calibrated { + get { + XAttribute x = this.Attribute(calibratedXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + set { + this.SetAttribute(calibratedXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SplinePointType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A term in a polynomial expression. + /// + /// + public partial class TermType : XTypedElement, IXMetaData { + + public static explicit operator TermType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// A term in a polynomial expression. + /// + /// + public TermType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName coefficientXName = System.Xml.Linq.XName.Get("coefficient", ""); + + /// + /// + /// The coefficient in a single term of a polynomial expression. + /// + /// + /// Occurrence: required + /// + /// + public virtual double coefficient { + get { + XAttribute x = this.Attribute(coefficientXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + set { + this.SetAttribute(coefficientXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName exponentXName = System.Xml.Linq.XName.Get("exponent", ""); + + /// + /// + /// The exponent in a single term of a polynomial expression. Should negative exponents be required, use a Math Calibrator style of definition for this type. + /// + /// + /// Occurrence: required + /// + /// + public virtual long exponent { + get { + XAttribute x = this.Attribute(exponentXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(exponentXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("TermType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Base time unit of measure. It is best practice to avoid days, months, and years due to ambiguity involving leap seconds and leap days. If these are used, the system should document how the leaps are handled. + /// + /// + public enum TimeUnitsType { + + seconds, + + milliseconds, + + microseconds, + + nanoseconds, + + picoseconds, + + minutes, + + hours, + + days, + + months, + + years, + } + + /// + /// + /// Base time unit of measure. It is best practice to avoid days, months, and years due to ambiguity involving leap seconds and leap days. If these are used, the system should document how the leaps are handled. + /// + /// + public sealed class TimeUnitsTypeValidator { + + private TimeUnitsTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "seconds", + "milliseconds", + "microseconds", + "nanoseconds", + "picoseconds", + "minutes", + "hours", + "days", + "months", + "years"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Describe the exponent, factor, form, and description for a unit. The unit itself is in element Unit in UnitSet. See UnitSetType. The attributes are optional because different programs use this element in different ways, depending on vendor support. + /// + /// + public partial class UnitType : XTypedElement, IXMetaData { + + public static explicit operator UnitType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe the exponent, factor, form, and description for a unit. The unit itself is in element Unit in UnitSet. See UnitSetType. The attributes are optional because different programs use this element in different ways, depending on vendor support. + /// + /// + public UnitType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName powerXName = System.Xml.Linq.XName.Get("power", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static double powerDefaultValue = System.Xml.XmlConvert.ToDouble("1"); + + /// + /// + /// Optional attribute used in conjunction with the "factor" attribute where some programs choose to specify the unit definition with these machine processable algebraic features. For example, a unit text of "meters" may have a "power" attribute of 2, resulting "meters squared" as the actual unit. This is not commonly used. The most common method for "meters squared" is to use the text content of the Unit element in a form like "m^2". + /// + /// + /// Occurrence: optional + /// + /// + public virtual double power { + get { + XAttribute x = this.Attribute(powerXName); + if ((x == null)) { + return powerDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + set { + this.SetAttribute(powerXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName factorXName = System.Xml.Linq.XName.Get("factor", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static string factorDefaultValue = "1"; + + /// + /// + /// Optional attribute used in conjunction with the "power" attribute where some programs choose to specify the unit definition with these machine processable algebraic features. For example, a unit text of "meters" may have a "factor" attribute of 2, resulting "2 times meters" as the actual unit. This is not commonly used. The most common method for "2 times meters" is to use the text content of the Unit element in a form like "2*m". + /// + /// + /// Occurrence: optional + /// + /// + public virtual string factor { + get { + XAttribute x = this.Attribute(factorXName); + if ((x == null)) { + return factorDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(factorXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName descriptionXName = System.Xml.Linq.XName.Get("description", ""); + + /// + /// + /// A description of the unit, which may be for expanded human readability or for specification of the nature/property of the unit. For example, meters per second squared is of a nature/property of acceleration. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string description { + get { + XAttribute x = this.Attribute(descriptionXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(descriptionXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName formXName = System.Xml.Linq.XName.Get("form", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.UnitFormType formDefaultValue = Omg.Xtce.UnitFormType.calibrated; + + /// + /// + /// The default value "calibrated" is most common practice to specify units at the engineering/calibrated value, it is possible to specify an additional Unit element for the raw/uncalibrated value. + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.UnitFormType form { + get { + XAttribute x = this.Attribute(formXName); + if ((x == null)) { + return formDefaultValue; + } + return ((Omg.Xtce.UnitFormType)(Enum.Parse(typeof(Omg.Xtce.UnitFormType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.UnitFormTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(formXName, value.ToString(), "form", global::Omg.Xtce.UnitFormTypeValidator.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("UnitType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public enum ValidationStatusType { + + Unknown, + + Working, + + Draft, + + Test, + + Validated, + + Released, + + Withdrawn, + } + + public sealed class ValidationStatusTypeValidator { + + private ValidationStatusTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "Unknown", + "Working", + "Draft", + "Test", + "Validated", + "Released", + "Withdrawn"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Describe a value and an associated string label, see EnumerationListType. + /// + /// + public partial class ValueEnumerationType : XTypedElement, IXMetaData { + + public static explicit operator ValueEnumerationType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a value and an associated string label, see EnumerationListType. + /// + /// + public ValueEnumerationType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName valueXName = System.Xml.Linq.XName.Get("value", ""); + + /// + /// + /// Numeric raw/uncalibrated value to associate with a string enumeration label. + /// + /// + /// Occurrence: required + /// + /// + public virtual long value { + get { + XAttribute x = this.Attribute(valueXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(valueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName maxValueXName = System.Xml.Linq.XName.Get("maxValue", ""); + + /// + /// + /// If max value is given, the label maps to a range where value is less than or equal to maxValue. The range is inclusive. + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Int64? maxValue { + get { + XAttribute x = this.Attribute(maxValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(maxValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName labelXName = System.Xml.Linq.XName.Get("label", ""); + + /// + /// + /// String enumeration label to apply to this value definition in the enumeration. + /// + /// + /// Occurrence: required + /// + /// + public virtual string label { + get { + XAttribute x = this.Attribute(labelXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(labelXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName shortDescriptionXName = System.Xml.Linq.XName.Get("shortDescription", ""); + + /// + /// + /// An optional additional string description can be specified for this enumeration label to provide extended information if desired. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string shortDescription { + get { + XAttribute x = this.Attribute(shortDescriptionXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(shortDescriptionXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ValueEnumerationType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an exclusive or (XOR) checksum definition. See ErrorDetectCorrectType. + /// + /// + public partial class XORType : XTypedElement, IXMetaData { + + public static explicit operator XORType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an exclusive or (XOR) checksum definition. See ErrorDetectCorrectType. + /// + /// + public XORType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName bitsFromReferenceXName = System.Xml.Linq.XName.Get("bitsFromReference", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static long bitsFromReferenceDefaultValue = System.Xml.XmlConvert.ToInt64("0"); + + /// + /// + /// An offset of non-zero may be specified to skip some bits against the reference position in the reference attribute. + /// + /// + /// Occurrence: optional + /// + /// + public virtual long bitsFromReference { + get { + XAttribute x = this.Attribute(bitsFromReferenceXName); + if ((x == null)) { + return bitsFromReferenceDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(bitsFromReferenceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName referenceXName = System.Xml.Linq.XName.Get("reference", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.ReferencePointType referenceDefaultValue = Omg.Xtce.ReferencePointType.start; + + /// + /// + /// The bits involved in the calculation may start at the beginning or the end of the container. + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.ReferencePointType reference { + get { + XAttribute x = this.Attribute(referenceXName); + if ((x == null)) { + return referenceDefaultValue; + } + return ((Omg.Xtce.ReferencePointType)(Enum.Parse(typeof(Omg.Xtce.ReferencePointType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.ReferencePointTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(referenceXName, value.ToString(), "reference", global::Omg.Xtce.ReferencePointTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName parameterRefXName = System.Xml.Linq.XName.Get("parameterRef", ""); + + /// + /// + /// Reference to the parameter that contains the value of this computed XOR based on this container. This attribute is optional because not all implementations verify (telemetry) or create (telecommand) error control fields using the XTCE definition. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string parameterRef { + get { + XAttribute x = this.Attribute(parameterRefXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + set { + this.SetAttribute(parameterRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NormalizedString).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("XORType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe up to six levels: Normal, Watch, Warning, Distress, Critical, and Severe of conditions the alarm will trigger when true. The types are conditions available are a single comparison, a comparison list, a discrete lookup list, and custom algorithm. See MatchCriteriaType. + /// + /// + /// Regular expression: (WatchAlarm?, WarningAlarm?, DistressAlarm?, CriticalAlarm?, SevereAlarm?) + /// + /// + public partial class AlarmConditionsType : XTypedElement, IXMetaData { + + public static explicit operator AlarmConditionsType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe up to six levels: Normal, Watch, Warning, Distress, Critical, and Severe of conditions the alarm will trigger when true. The types are conditions available are a single comparison, a comparison list, a discrete lookup list, and custom algorithm. See MatchCriteriaType. + /// + /// + /// Regular expression: (WatchAlarm?, WarningAlarm?, DistressAlarm?, CriticalAlarm?, SevereAlarm?) + /// + /// + public AlarmConditionsType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName WatchAlarmXName = System.Xml.Linq.XName.Get("WatchAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// An alarm state of least concern. Considered to be below the most commonly used Warning level. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (WatchAlarm?, WarningAlarm?, DistressAlarm?, CriticalAlarm?, SevereAlarm?) + /// + /// + public virtual MatchCriteriaType WatchAlarm { + get { + XElement x = this.GetElement(WatchAlarmXName); + if ((x == null)) { + return null; + } + return ((MatchCriteriaType)(x)); + } + set { + this.SetElement(WatchAlarmXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName WarningAlarmXName = System.Xml.Linq.XName.Get("WarningAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// An alarm state of concern that represents the most commonly used minimum concern level for many software applications. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (WatchAlarm?, WarningAlarm?, DistressAlarm?, CriticalAlarm?, SevereAlarm?) + /// + /// + public virtual MatchCriteriaType WarningAlarm { + get { + XElement x = this.GetElement(WarningAlarmXName); + if ((x == null)) { + return null; + } + return ((MatchCriteriaType)(x)); + } + set { + this.SetElement(WarningAlarmXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DistressAlarmXName = System.Xml.Linq.XName.Get("DistressAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// An alarm state of concern in between the most commonly used Warning and Critical levels. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (WatchAlarm?, WarningAlarm?, DistressAlarm?, CriticalAlarm?, SevereAlarm?) + /// + /// + public virtual MatchCriteriaType DistressAlarm { + get { + XElement x = this.GetElement(DistressAlarmXName); + if ((x == null)) { + return null; + } + return ((MatchCriteriaType)(x)); + } + set { + this.SetElement(DistressAlarmXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CriticalAlarmXName = System.Xml.Linq.XName.Get("CriticalAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// An alarm state of concern that represents the most commonly used maximum concern level for many software applications. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (WatchAlarm?, WarningAlarm?, DistressAlarm?, CriticalAlarm?, SevereAlarm?) + /// + /// + public virtual MatchCriteriaType CriticalAlarm { + get { + XElement x = this.GetElement(CriticalAlarmXName); + if ((x == null)) { + return null; + } + return ((MatchCriteriaType)(x)); + } + set { + this.SetElement(CriticalAlarmXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SevereAlarmXName = System.Xml.Linq.XName.Get("SevereAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// An alarm state of highest concern. Considered to be above the most commonly used Critical level. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (WatchAlarm?, WarningAlarm?, DistressAlarm?, CriticalAlarm?, SevereAlarm?) + /// + /// + public virtual MatchCriteriaType SevereAlarm { + get { + XElement x = this.GetElement(SevereAlarmXName); + if ((x == null)) { + return null; + } + return ((MatchCriteriaType)(x)); + } + set { + this.SetElement(SevereAlarmXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("AlarmConditionsType", "http://www.omg.org/spec/XTCE/20250214"); + + static AlarmConditionsType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(WatchAlarmXName), new NamedContentModelEntity(WarningAlarmXName), new NamedContentModelEntity(DistressAlarmXName), new NamedContentModelEntity(CriticalAlarmXName), new NamedContentModelEntity(SevereAlarmXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(WatchAlarmXName, typeof(MatchCriteriaType)); + localElementDictionary.Add(WarningAlarmXName, typeof(MatchCriteriaType)); + localElementDictionary.Add(DistressAlarmXName, typeof(MatchCriteriaType)); + localElementDictionary.Add(CriticalAlarmXName, typeof(MatchCriteriaType)); + localElementDictionary.Add(SevereAlarmXName, typeof(MatchCriteriaType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe up to six ranges where either less severe ranges are a subset of more severe ranges (outside), or more severe ranges are a subset of less severe ranges (inside). In both forms, the undefined least severe range is normal. Range values are in calibrated engineering units. See FloatRangeType. + /// + /// + /// Regular expression: (AncillaryDataSet?, WatchRange?, WarningRange?, DistressRange?, CriticalRange?, SevereRange?) + /// + /// + public partial class AlarmRangesType : global::Omg.Xtce.BaseAlarmType, IXMetaData { + + public static explicit operator AlarmRangesType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe up to six ranges where either less severe ranges are a subset of more severe ranges (outside), or more severe ranges are a subset of less severe ranges (inside). In both forms, the undefined least severe range is normal. Range values are in calibrated engineering units. See FloatRangeType. + /// + /// + /// Regular expression: (AncillaryDataSet?, WatchRange?, WarningRange?, DistressRange?, CriticalRange?, SevereRange?) + /// + /// + public AlarmRangesType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName WatchRangeXName = System.Xml.Linq.XName.Get("WatchRange", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// A range of least concern. Considered to be below the most commonly used Warning level. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (AncillaryDataSet?, WatchRange?, WarningRange?, DistressRange?, CriticalRange?, SevereRange?) + /// + /// + public virtual FloatRangeType WatchRange { + get { + XElement x = this.GetElement(WatchRangeXName); + if ((x == null)) { + return null; + } + return ((FloatRangeType)(x)); + } + set { + this.SetElement(WatchRangeXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName WarningRangeXName = System.Xml.Linq.XName.Get("WarningRange", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// A range of concern that represents the most commonly used minimum concern level for many software applications. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (AncillaryDataSet?, WatchRange?, WarningRange?, DistressRange?, CriticalRange?, SevereRange?) + /// + /// + public virtual FloatRangeType WarningRange { + get { + XElement x = this.GetElement(WarningRangeXName); + if ((x == null)) { + return null; + } + return ((FloatRangeType)(x)); + } + set { + this.SetElement(WarningRangeXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DistressRangeXName = System.Xml.Linq.XName.Get("DistressRange", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// A range of concern in between the most commonly used Warning and Critical levels. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (AncillaryDataSet?, WatchRange?, WarningRange?, DistressRange?, CriticalRange?, SevereRange?) + /// + /// + public virtual FloatRangeType DistressRange { + get { + XElement x = this.GetElement(DistressRangeXName); + if ((x == null)) { + return null; + } + return ((FloatRangeType)(x)); + } + set { + this.SetElement(DistressRangeXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CriticalRangeXName = System.Xml.Linq.XName.Get("CriticalRange", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// A range of concern that represents the most commonly used maximum concern level for many software applications. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (AncillaryDataSet?, WatchRange?, WarningRange?, DistressRange?, CriticalRange?, SevereRange?) + /// + /// + public virtual FloatRangeType CriticalRange { + get { + XElement x = this.GetElement(CriticalRangeXName); + if ((x == null)) { + return null; + } + return ((FloatRangeType)(x)); + } + set { + this.SetElement(CriticalRangeXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SevereRangeXName = System.Xml.Linq.XName.Get("SevereRange", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// A range of highest concern. Considered to be above the most commonly used Critical level. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (AncillaryDataSet?, WatchRange?, WarningRange?, DistressRange?, CriticalRange?, SevereRange?) + /// + /// + public virtual FloatRangeType SevereRange { + get { + XElement x = this.GetElement(SevereRangeXName); + if ((x == null)) { + return null; + } + return ((FloatRangeType)(x)); + } + set { + this.SetElement(SevereRangeXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName rangeFormXName = System.Xml.Linq.XName.Get("rangeForm", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.RangeFormType rangeFormDefaultValue = Omg.Xtce.RangeFormType.outside; + + /// + /// + /// A value of outside specifies that the most severe range is outside all the other ranges: -severe -critical -distress -warning -watch normal +watch +warning +distress +critical +severe. This means each min, max pair are a range: (-inf, min) or (-inf, min], and [max, inf) or (max, inf). However a value of inside "inverts" these bands: -normal -watch -warning -distress -critical severe +critical +distress +warning +watch, +normal. This means each min, max pair form a range of (min, max) or [min, max) or (min, max] or [min, max]. The most common form used is "outside" and it is the default. The set notation used defines parenthesis as exclusive and square brackets as inclusive. + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.RangeFormType rangeForm { + get { + XAttribute x = this.Attribute(rangeFormXName); + if ((x == null)) { + return rangeFormDefaultValue; + } + return ((Omg.Xtce.RangeFormType)(Enum.Parse(typeof(Omg.Xtce.RangeFormType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.RangeFormTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(rangeFormXName, value.ToString(), "rangeForm", global::Omg.Xtce.RangeFormTypeValidator.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("AlarmRangesType", "http://www.omg.org/spec/XTCE/20250214"); + + static AlarmRangesType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(WatchRangeXName), new NamedContentModelEntity(WarningRangeXName), new NamedContentModelEntity(DistressRangeXName), new NamedContentModelEntity(CriticalRangeXName), new NamedContentModelEntity(SevereRangeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(WatchRangeXName, typeof(FloatRangeType)); + localElementDictionary.Add(WarningRangeXName, typeof(FloatRangeType)); + localElementDictionary.Add(DistressRangeXName, typeof(FloatRangeType)); + localElementDictionary.Add(CriticalRangeXName, typeof(FloatRangeType)); + localElementDictionary.Add(SevereRangeXName, typeof(FloatRangeType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Defines a base schema type used to build up the other data type specific alarm types. The definition includes a count to go into alarm (minViolations - the counts to go out of alarm is the same), a condition style alarm and a custom alarm. See AlarmConditionType, CustomAlgorithmType, BinaryAlarmConditionType, BooleanAlarmType, BinaryContextAlarmType, EnumerationAlarmType, NumericAlarmType, StringAlarmType, TimeAlarmType, TimeAlarmConditionType. + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?) + /// + /// + public abstract partial class AlarmType : global::Omg.Xtce.BaseAlarmType, IXMetaData { + + public static explicit operator AlarmType(XElement xe) { return (AlarmType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// Defines a base schema type used to build up the other data type specific alarm types. The definition includes a count to go into alarm (minViolations - the counts to go out of alarm is the same), a condition style alarm and a custom alarm. See AlarmConditionType, CustomAlgorithmType, BinaryAlarmConditionType, BooleanAlarmType, BinaryContextAlarmType, EnumerationAlarmType, NumericAlarmType, StringAlarmType, TimeAlarmType, TimeAlarmConditionType. + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?) + /// + /// + public AlarmType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AlarmConditionsXName = System.Xml.Linq.XName.Get("AlarmConditions", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// A MatchCriteria may be specified for each of the 5 alarm levels. Each level is optional and the alarm should be the highest level to test true. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?) + /// + /// + public virtual AlarmConditionsType AlarmConditions { + get { + XElement x = this.GetElement(AlarmConditionsXName); + if ((x == null)) { + return null; + } + return ((AlarmConditionsType)(x)); + } + set { + this.SetElement(AlarmConditionsXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlarmXName = System.Xml.Linq.XName.Get("CustomAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// An escape for ridiculously complex alarm conditions. Will trigger on changes to the containing Parameter. + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?) + /// + /// + public virtual CustomAlarmType CustomAlarm { + get { + XElement x = this.GetElement(CustomAlarmXName); + if ((x == null)) { + return null; + } + return ((CustomAlarmType)(x)); + } + set { + this.SetElement(CustomAlarmXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName minViolationsXName = System.Xml.Linq.XName.Get("minViolations", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static long minViolationsDefaultValue = System.Xml.XmlConvert.ToInt64("1"); + + /// + /// + /// The number of successive instances that meet the alarm conditions for the alarm to trigger. The default is 1. + /// + /// + /// Occurrence: optional + /// + /// + public virtual long minViolations { + get { + XAttribute x = this.Attribute(minViolationsXName); + if ((x == null)) { + return minViolationsDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(minViolationsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName minConformanceXName = System.Xml.Linq.XName.Get("minConformance", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static long minConformanceDefaultValue = System.Xml.XmlConvert.ToInt64("1"); + + /// + /// + /// Optionally specify the number of successive instances that do not meet the alarm conditions to leave the alarm state. If this attribute is not specified, it is treated as being equal to minViolations (symmetric). + /// + /// + /// Occurrence: optional + /// + /// + public virtual long minConformance { + get { + XAttribute x = this.Attribute(minConformanceXName); + if ((x == null)) { + return minConformanceDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(minConformanceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName disabledXName = System.Xml.Linq.XName.Get("disabled", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool disabledDefaultValue = System.Xml.XmlConvert.ToBoolean("false"); + + /// + /// + /// The initial state of this alarm definition as delivered. When true, this leaves the alarm definition empty for the parameter and also short circuits the remaining context matches and the default so no alarm is active on the parameter. + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool disabled { + get { + XAttribute x = this.Attribute(disabledXName); + if ((x == null)) { + return disabledDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(disabledXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("AlarmType", "http://www.omg.org/spec/XTCE/20250214"); + + static AlarmType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(AlarmConditionsXName), new NamedContentModelEntity(CustomAlarmXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(AlarmConditionsXName, typeof(AlarmConditionsType)); + localElementDictionary.Add(CustomAlarmXName, typeof(CustomAlarmType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe any number of alarm ranges, each with its own level (normal, warning, watch, distress, critical, severe) and range form (inside -- (min,max), [min,max), (min, max], [min, max], or outside -- (-inf, min) or (-inf,min] and [max, +inf) or (max,+inf). Ranges may overlap, be disjoint and so forth. Ranges within the value spectrum non-specified are non-normal. The most severe range level of value within the ranges is the level of the alarm. Range values are in calibrated engineering units. See FloatRangeType. + /// + /// + /// Regular expression: (AncillaryDataSet?, Range+) + /// + /// + public partial class AlarmMultiRangesType : global::Omg.Xtce.BaseAlarmType, IXMetaData { + + public static explicit operator AlarmMultiRangesType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe any number of alarm ranges, each with its own level (normal, warning, watch, distress, critical, severe) and range form (inside -- (min,max), [min,max), (min, max], [min, max], or outside -- (-inf, min) or (-inf,min] and [max, +inf) or (max,+inf). Ranges may overlap, be disjoint and so forth. Ranges within the value spectrum non-specified are non-normal. The most severe range level of value within the ranges is the level of the alarm. Range values are in calibrated engineering units. See FloatRangeType. + /// + /// + /// Regular expression: (AncillaryDataSet?, Range+) + /// + /// + public AlarmMultiRangesType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RangeXName = System.Xml.Linq.XName.Get("Range", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList RangeField; + + /// + /// + /// Describe any number of alarm ranges, each with its own level (normal, warning, watch, distress, critical, severe) and range form (inside -- (min,max),[min,max), (min, max], [min, max], or outside -- (-inf, min) or (-inf,min] and [max, +inf) or (max,+inf).. Ranges may overlap, be disjoint and so forth. Ranges within the value spectrum non-specified are non-normal. The most severe range level of value within the ranges is the level of the alarm. Range values are in calibrated engineering units. See FloatRangeType. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (AncillaryDataSet?, Range+) + /// + /// + public virtual IList Range { + get { + if ((this.RangeField == null)) { + this.RangeField = new XTypedList(this, LinqToXsdTypeManager.Instance, RangeXName); + } + return this.RangeField; + } + set { + if ((value == null)) { + this.RangeField = null; + } + else { + if ((this.RangeField == null)) { + this.RangeField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, RangeXName); + } + else { + XTypedServices.SetList(this.RangeField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("AlarmMultiRangesType", "http://www.omg.org/spec/XTCE/20250214"); + + static AlarmMultiRangesType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(RangeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(RangeXName, typeof(MultiRangeType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Defines to type of update rates: perSecond and perContainerUpdate. See RateInStreamType. + /// + /// + public enum BasisType { + + perSecond, + + perContainerUpdate, + } + + /// + /// + /// Defines to type of update rates: perSecond and perContainerUpdate. See RateInStreamType. + /// + /// + public sealed class BasisTypeValidator { + + private BasisTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "perSecond", + "perContainerUpdate"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Describe alarm conditions specific to the binary data type, extends the basic AlarmType. + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?) + /// + /// + public partial class BinaryAlarmType : global::Omg.Xtce.AlarmType, IXMetaData { + + public static explicit operator BinaryAlarmType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe alarm conditions specific to the binary data type, extends the basic AlarmType. + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?) + /// + /// + public BinaryAlarmType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AlarmConditionsXName = System.Xml.Linq.XName.Get("AlarmConditions", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlarmXName = System.Xml.Linq.XName.Get("CustomAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BinaryAlarmType", "http://www.omg.org/spec/XTCE/20250214"); + + static BinaryAlarmType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(AlarmConditionsXName), new NamedContentModelEntity(CustomAlarmXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(AlarmConditionsXName, typeof(AlarmConditionsType)); + localElementDictionary.Add(CustomAlarmXName, typeof(CustomAlarmType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Alarm conditions for Boolean types + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?) + /// + /// + public partial class BooleanAlarmType : global::Omg.Xtce.AlarmType, IXMetaData { + + public static explicit operator BooleanAlarmType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Alarm conditions for Boolean types + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?) + /// + /// + public BooleanAlarmType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AlarmConditionsXName = System.Xml.Linq.XName.Get("AlarmConditions", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlarmXName = System.Xml.Linq.XName.Get("CustomAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BooleanAlarmType", "http://www.omg.org/spec/XTCE/20250214"); + + static BooleanAlarmType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(AlarmConditionsXName), new NamedContentModelEntity(CustomAlarmXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(AlarmConditionsXName, typeof(AlarmConditionsType)); + localElementDictionary.Add(CustomAlarmXName, typeof(CustomAlarmType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an ordered collection of context binary alarms, duplicates are valid. Process the contexts in list order. See BinaryContextAlarmType. + /// + /// + /// Regular expression: (ContextAlarm+) + /// + /// + public partial class BinaryContextAlarmListType : XTypedElement, IXMetaData { + + public static explicit operator BinaryContextAlarmListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an ordered collection of context binary alarms, duplicates are valid. Process the contexts in list order. See BinaryContextAlarmType. + /// + /// + /// Regular expression: (ContextAlarm+) + /// + /// + public BinaryContextAlarmListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContextAlarmXName = System.Xml.Linq.XName.Get("ContextAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ContextAlarmField; + + /// + /// + /// A Context contains a new alarm definition and a context match. The match takes precedence over any default alarm when the first in the overall list evaluates to true. It is also possible the alarm definition is empty, in which case the context means no alarm defined when the match is true. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (ContextAlarm+) + /// + /// + public virtual IList ContextAlarm { + get { + if ((this.ContextAlarmField == null)) { + this.ContextAlarmField = new XTypedList(this, LinqToXsdTypeManager.Instance, ContextAlarmXName); + } + return this.ContextAlarmField; + } + set { + if ((value == null)) { + this.ContextAlarmField = null; + } + else { + if ((this.ContextAlarmField == null)) { + this.ContextAlarmField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ContextAlarmXName); + } + else { + XTypedServices.SetList(this.ContextAlarmField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BinaryContextAlarmListType", "http://www.omg.org/spec/XTCE/20250214"); + + static BinaryContextAlarmListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ContextAlarmXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ContextAlarmXName, typeof(BinaryContextAlarmType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, ContextMatch) + /// + /// + public partial class BinaryContextAlarmType : global::Omg.Xtce.BinaryAlarmType, IXMetaData { + + public static explicit operator BinaryContextAlarmType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, ContextMatch) + /// + /// + public BinaryContextAlarmType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AlarmConditionsXName = System.Xml.Linq.XName.Get("AlarmConditions", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlarmXName = System.Xml.Linq.XName.Get("CustomAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContextMatchXName = System.Xml.Linq.XName.Get("ContextMatch", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, ContextMatch) + /// + /// + public virtual ContextMatchType ContextMatch { + get { + XElement x = this.GetElement(ContextMatchXName); + return ((ContextMatchType)(x)); + } + set { + this.SetElement(ContextMatchXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BinaryContextAlarmType", "http://www.omg.org/spec/XTCE/20250214"); + + static BinaryContextAlarmType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(AlarmConditionsXName), new NamedContentModelEntity(CustomAlarmXName)), new NamedContentModelEntity(ContextMatchXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(AlarmConditionsXName, typeof(AlarmConditionsType)); + localElementDictionary.Add(CustomAlarmXName, typeof(CustomAlarmType)); + localElementDictionary.Add(ContextMatchXName, typeof(ContextMatchType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, ContextMatch) + /// + /// + public partial class BooleanContextAlarmType : global::Omg.Xtce.BooleanAlarmType, IXMetaData { + + public static explicit operator BooleanContextAlarmType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, ContextMatch) + /// + /// + public BooleanContextAlarmType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AlarmConditionsXName = System.Xml.Linq.XName.Get("AlarmConditions", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlarmXName = System.Xml.Linq.XName.Get("CustomAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContextMatchXName = System.Xml.Linq.XName.Get("ContextMatch", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, ContextMatch) + /// + /// + public virtual ContextMatchType ContextMatch { + get { + XElement x = this.GetElement(ContextMatchXName); + return ((ContextMatchType)(x)); + } + set { + this.SetElement(ContextMatchXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BooleanContextAlarmType", "http://www.omg.org/spec/XTCE/20250214"); + + static BooleanContextAlarmType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(AlarmConditionsXName), new NamedContentModelEntity(CustomAlarmXName)), new NamedContentModelEntity(ContextMatchXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(AlarmConditionsXName, typeof(AlarmConditionsType)); + localElementDictionary.Add(CustomAlarmXName, typeof(CustomAlarmType)); + localElementDictionary.Add(ContextMatchXName, typeof(ContextMatchType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an ordered collection of context boolean alarms, duplicates are valid. Process the contexts in list order. See BooleanContextAlarmType. + /// + /// + /// Regular expression: (ContextAlarm+) + /// + /// + public partial class BooleanContextAlarmListType : XTypedElement, IXMetaData { + + public static explicit operator BooleanContextAlarmListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an ordered collection of context boolean alarms, duplicates are valid. Process the contexts in list order. See BooleanContextAlarmType. + /// + /// + /// Regular expression: (ContextAlarm+) + /// + /// + public BooleanContextAlarmListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContextAlarmXName = System.Xml.Linq.XName.Get("ContextAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ContextAlarmField; + + /// + /// + /// A Context contains a new alarm definition and a context match. The match takes precedence over any default alarm when the first in the overall list evaluates to true. It is also possible the alarm definition is empty, in which case the context means no alarm defined when the match is true. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (ContextAlarm+) + /// + /// + public virtual IList ContextAlarm { + get { + if ((this.ContextAlarmField == null)) { + this.ContextAlarmField = new XTypedList(this, LinqToXsdTypeManager.Instance, ContextAlarmXName); + } + return this.ContextAlarmField; + } + set { + if ((value == null)) { + this.ContextAlarmField = null; + } + else { + if ((this.ContextAlarmField == null)) { + this.ContextAlarmField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ContextAlarmXName); + } + else { + XTypedServices.SetList(this.ContextAlarmField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BooleanContextAlarmListType", "http://www.omg.org/spec/XTCE/20250214"); + + static BooleanContextAlarmListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ContextAlarmXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ContextAlarmXName, typeof(BooleanContextAlarmType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an alarm when the parameter value's rate-of-change is either too fast or too slow. The change may be with respect to time (the default) or with respect to samples (delta alarms). Use the changeType attribute to select the type: changePerSecond (time) or changePerSample (delta). The change may also be ether relative (as a percentage change) or absolute as set by the changeBasis attribute. (Delta alarms are typically absolute but percentage is conceivable). The alarm also requires the spanOfInterest in both samples and seconds to have passed before it is to trigger. For time based rate of change alarms, the time specified in spanOfInterestInSeconds is used to calculate the change. For sample based rate of change alarms, the change is calculated over the number of samples specified in spanOfInterestInSamples. A typical delta alarm would set: changeType=changePerSample, changeBasis=absoluteChange, spanOfInterestInSamples=1. A typical time based version would set: changeType=changePerSecond, changeBasis=percentageChange, and spaceOfInterestInSeconds=1. To set the ranges use maxInclusive, the following definition applies: | Normal.maxInclusive | <= | Watch.maxInclusive | <= | Warning.maxInclusive | <= | Distress.maxInclusive | <= | Critical.maxInclusive | <= | Severe.maxInclusive |. And it is further assumed the absolute value of each range and sampled value it taken to evaluate the alarm. See NumericAlarmType. + /// + /// + /// Regular expression: (AncillaryDataSet?, WatchRange?, WarningRange?, DistressRange?, CriticalRange?, SevereRange?) + /// + /// + public partial class ChangeAlarmRangesType : global::Omg.Xtce.AlarmRangesType, IXMetaData { + + public static explicit operator ChangeAlarmRangesType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an alarm when the parameter value's rate-of-change is either too fast or too slow. The change may be with respect to time (the default) or with respect to samples (delta alarms). Use the changeType attribute to select the type: changePerSecond (time) or changePerSample (delta). The change may also be ether relative (as a percentage change) or absolute as set by the changeBasis attribute. (Delta alarms are typically absolute but percentage is conceivable). The alarm also requires the spanOfInterest in both samples and seconds to have passed before it is to trigger. For time based rate of change alarms, the time specified in spanOfInterestInSeconds is used to calculate the change. For sample based rate of change alarms, the change is calculated over the number of samples specified in spanOfInterestInSamples. A typical delta alarm would set: changeType=changePerSample, changeBasis=absoluteChange, spanOfInterestInSamples=1. A typical time based version would set: changeType=changePerSecond, changeBasis=percentageChange, and spaceOfInterestInSeconds=1. To set the ranges use maxInclusive, the following definition applies: | Normal.maxInclusive | <= | Watch.maxInclusive | <= | Warning.maxInclusive | <= | Distress.maxInclusive | <= | Critical.maxInclusive | <= | Severe.maxInclusive |. And it is further assumed the absolute value of each range and sampled value it taken to evaluate the alarm. See NumericAlarmType. + /// + /// + /// Regular expression: (AncillaryDataSet?, WatchRange?, WarningRange?, DistressRange?, CriticalRange?, SevereRange?) + /// + /// + public ChangeAlarmRangesType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName WatchRangeXName = System.Xml.Linq.XName.Get("WatchRange", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName WarningRangeXName = System.Xml.Linq.XName.Get("WarningRange", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DistressRangeXName = System.Xml.Linq.XName.Get("DistressRange", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CriticalRangeXName = System.Xml.Linq.XName.Get("CriticalRange", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SevereRangeXName = System.Xml.Linq.XName.Get("SevereRange", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName changeTypeXName = System.Xml.Linq.XName.Get("changeType", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.ChangeSpanType changeTypeDefaultValue = Omg.Xtce.ChangeSpanType.changePerSecond; + + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.ChangeSpanType changeType { + get { + XAttribute x = this.Attribute(changeTypeXName); + if ((x == null)) { + return changeTypeDefaultValue; + } + return ((Omg.Xtce.ChangeSpanType)(Enum.Parse(typeof(Omg.Xtce.ChangeSpanType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.ChangeSpanTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(changeTypeXName, value.ToString(), "changeType", global::Omg.Xtce.ChangeSpanTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName changeBasisXName = System.Xml.Linq.XName.Get("changeBasis", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.ChangeBasisType changeBasisDefaultValue = Omg.Xtce.ChangeBasisType.absoluteChange; + + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.ChangeBasisType changeBasis { + get { + XAttribute x = this.Attribute(changeBasisXName); + if ((x == null)) { + return changeBasisDefaultValue; + } + return ((Omg.Xtce.ChangeBasisType)(Enum.Parse(typeof(Omg.Xtce.ChangeBasisType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.ChangeBasisTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(changeBasisXName, value.ToString(), "changeBasis", global::Omg.Xtce.ChangeBasisTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName spanOfInterestInSamplesXName = System.Xml.Linq.XName.Get("spanOfInterestInSamples", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static long spanOfInterestInSamplesDefaultValue = System.Xml.XmlConvert.ToInt64("1"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual long spanOfInterestInSamples { + get { + XAttribute x = this.Attribute(spanOfInterestInSamplesXName); + if ((x == null)) { + return spanOfInterestInSamplesDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(spanOfInterestInSamplesXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName spanOfInterestInSecondsXName = System.Xml.Linq.XName.Get("spanOfInterestInSeconds", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static double spanOfInterestInSecondsDefaultValue = System.Xml.XmlConvert.ToDouble("0"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual double spanOfInterestInSeconds { + get { + XAttribute x = this.Attribute(spanOfInterestInSecondsXName); + if ((x == null)) { + return spanOfInterestInSecondsDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + set { + this.SetAttribute(spanOfInterestInSecondsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ChangeAlarmRangesType", "http://www.omg.org/spec/XTCE/20250214"); + + static ChangeAlarmRangesType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(WatchRangeXName), new NamedContentModelEntity(WarningRangeXName), new NamedContentModelEntity(DistressRangeXName), new NamedContentModelEntity(CriticalRangeXName), new NamedContentModelEntity(SevereRangeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(WatchRangeXName, typeof(FloatRangeType)); + localElementDictionary.Add(WarningRangeXName, typeof(FloatRangeType)); + localElementDictionary.Add(DistressRangeXName, typeof(FloatRangeType)); + localElementDictionary.Add(CriticalRangeXName, typeof(FloatRangeType)); + localElementDictionary.Add(SevereRangeXName, typeof(FloatRangeType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Defines absoluteChange and percentageChange for use in rate of change alarms. Used by ChangeAlarmRangesType. + /// + /// + public enum ChangeBasisType { + + absoluteChange, + + percentageChange, + } + + /// + /// + /// Defines absoluteChange and percentageChange for use in rate of change alarms. Used by ChangeAlarmRangesType. + /// + /// + public sealed class ChangeBasisTypeValidator { + + private ChangeBasisTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "absoluteChange", + "percentageChange"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Defines six levels: Normal, Watch, Warning, Distress, Critical and Severe, in that order of concern from least to most. These level definitions are used throughout the alarm definitions. An implementation should interpret these as best to match their uniqueness and provide documentation on how this standard maps to their implementation. Not all are likely to be provided, with some either ignored, promoted or demoted to others, or warned on input. There exist some reasonable usage recommendations in the user community. + /// + /// + public enum ConcernLevelsType { + + normal, + + watch, + + warning, + + distress, + + critical, + + severe, + } + + /// + /// + /// Defines six levels: Normal, Watch, Warning, Distress, Critical and Severe, in that order of concern from least to most. These level definitions are used throughout the alarm definitions. An implementation should interpret these as best to match their uniqueness and provide documentation on how this standard maps to their implementation. Not all are likely to be provided, with some either ignored, promoted or demoted to others, or warned on input. There exist some reasonable usage recommendations in the user community. + /// + /// + public sealed class ConcernLevelsTypeValidator { + + private ConcernLevelsTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "normal", + "watch", + "warning", + "distress", + "critical", + "severe"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Defines the criticality level of a command. Criticality levels follow ISO 14950. + /// + /// + public enum ConsequenceLevelType { + + normal, + + vital, + + critical, + + forbidden, + + user1, + + user2, + } + + /// + /// + /// Defines the criticality level of a command. Criticality levels follow ISO 14950. + /// + /// + public sealed class ConsequenceLevelTypeValidator { + + private ConsequenceLevelTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "normal", + "vital", + "critical", + "forbidden", + "user1", + "user2"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Defines a changePerSecond and changePerSample for use in rate of change alarms. Used by ChangeAlarmRangesType. + /// + /// + public enum ChangeSpanType { + + changePerSecond, + + changePerSample, + } + + /// + /// + /// Defines a changePerSecond and changePerSample for use in rate of change alarms. Used by ChangeAlarmRangesType. + /// + /// + public sealed class ChangeSpanTypeValidator { + + private ChangeSpanTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "changePerSecond", + "changePerSample"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Describe a discrete value lookup and the value associated when the lookup evaluates to true. + /// + /// + /// Regular expression: (Comparison | ComparisonList | BooleanExpression | CustomAlgorithm) + /// + /// + public partial class DiscreteLookupType : global::Omg.Xtce.MatchCriteriaType, IXMetaData { + + public static explicit operator DiscreteLookupType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a discrete value lookup and the value associated when the lookup evaluates to true. + /// + /// + /// Regular expression: (Comparison | ComparisonList | BooleanExpression | CustomAlgorithm) + /// + /// + public DiscreteLookupType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonXName = System.Xml.Linq.XName.Get("Comparison", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ComparisonListXName = System.Xml.Linq.XName.Get("ComparisonList", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BooleanExpressionXName = System.Xml.Linq.XName.Get("BooleanExpression", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlgorithmXName = System.Xml.Linq.XName.Get("CustomAlgorithm", "http://www.omg.org/spec/XTCE/20250214"); + + public DiscreteLookupType(ComparisonType Comparison) : + base(Comparison) { + } + + public DiscreteLookupType(ComparisonListType ComparisonList) : + base(ComparisonList) { + } + + public DiscreteLookupType(BooleanExpressionType BooleanExpression) : + base(BooleanExpression) { + } + + public DiscreteLookupType(InputAlgorithmType CustomAlgorithm) : + base(CustomAlgorithm) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName valueXName = System.Xml.Linq.XName.Get("value", ""); + + /// + /// + /// Value to use when the lookup conditions are true. + /// + /// + /// Occurrence: required + /// + /// + public virtual long value { + get { + XAttribute x = this.Attribute(valueXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(valueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("DiscreteLookupType", "http://www.omg.org/spec/XTCE/20250214"); + + static DiscreteLookupType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(ComparisonXName), new NamedContentModelEntity(ComparisonListXName), new NamedContentModelEntity(BooleanExpressionXName), new NamedContentModelEntity(CustomAlgorithmXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ComparisonXName, typeof(ComparisonType)); + localElementDictionary.Add(ComparisonListXName, typeof(ComparisonListType)); + localElementDictionary.Add(BooleanExpressionXName, typeof(BooleanExpressionType)); + localElementDictionary.Add(CustomAlgorithmXName, typeof(InputAlgorithmType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an alarm level and its enumeration label to trigger from. See EnumeratedAlarmType and EnumeratedParameterType. + /// + /// + public partial class EnumerationAlarmLevelType : XTypedElement, IXMetaData { + + public static explicit operator EnumerationAlarmLevelType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an alarm level and its enumeration label to trigger from. See EnumeratedAlarmType and EnumeratedParameterType. + /// + /// + public EnumerationAlarmLevelType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName alarmLevelXName = System.Xml.Linq.XName.Get("alarmLevel", ""); + + /// + /// + /// Defines six levels: Normal, Watch, Warning, Distress, Critical and Severe. Typical implementations color the "normal" level as green, "warning" level as yellow, and "critical" level as red. In the case of enumeration alarms, the "normal" is assumed by implementations to be any label not otherwise in an alarm state. + /// + /// + /// Occurrence: required + /// + /// + public virtual Omg.Xtce.ConcernLevelsType alarmLevel { + get { + XAttribute x = this.Attribute(alarmLevelXName); + return ((Omg.Xtce.ConcernLevelsType)(Enum.Parse(typeof(Omg.Xtce.ConcernLevelsType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.ConcernLevelsTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(alarmLevelXName, value.ToString(), "alarmLevel", global::Omg.Xtce.ConcernLevelsTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName enumerationLabelXName = System.Xml.Linq.XName.Get("enumerationLabel", ""); + + /// + /// + /// The enumeration label is the engineering/calibrated value for enumerated types. + /// + /// + /// Occurrence: required + /// + /// + public virtual string enumerationLabel { + get { + XAttribute x = this.Attribute(enumerationLabelXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(enumerationLabelXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("EnumerationAlarmLevelType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (EnumerationAlarm+) + /// + /// + public partial class EnumerationAlarmListType : XTypedElement, IXMetaData { + + public static explicit operator EnumerationAlarmListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (EnumerationAlarm+) + /// + /// + public EnumerationAlarmListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EnumerationAlarmXName = System.Xml.Linq.XName.Get("EnumerationAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList EnumerationAlarmField; + + /// + /// + /// Describe an alarm state for an enumeration label where the label is engineer/calibrated value. Note that labels may represent multiple raw/uncalbrated values. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (EnumerationAlarm+) + /// + /// + public virtual IList EnumerationAlarm { + get { + if ((this.EnumerationAlarmField == null)) { + this.EnumerationAlarmField = new XTypedList(this, LinqToXsdTypeManager.Instance, EnumerationAlarmXName); + } + return this.EnumerationAlarmField; + } + set { + if ((value == null)) { + this.EnumerationAlarmField = null; + } + else { + if ((this.EnumerationAlarmField == null)) { + this.EnumerationAlarmField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, EnumerationAlarmXName); + } + else { + XTypedServices.SetList(this.EnumerationAlarmField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("EnumerationAlarmListType", "http://www.omg.org/spec/XTCE/20250214"); + + static EnumerationAlarmListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(EnumerationAlarmXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(EnumerationAlarmXName, typeof(EnumerationAlarmLevelType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a context that when true the alarm condition may be evaluated. See ContextMatchType and EnumerationAlarmType. + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, EnumerationAlarmList?, ContextMatch) + /// + /// + public partial class EnumerationContextAlarmType : global::Omg.Xtce.EnumerationAlarmType, IXMetaData { + + public static explicit operator EnumerationContextAlarmType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a context that when true the alarm condition may be evaluated. See ContextMatchType and EnumerationAlarmType. + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, EnumerationAlarmList?, ContextMatch) + /// + /// + public EnumerationContextAlarmType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AlarmConditionsXName = System.Xml.Linq.XName.Get("AlarmConditions", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlarmXName = System.Xml.Linq.XName.Get("CustomAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EnumerationAlarmListXName = System.Xml.Linq.XName.Get("EnumerationAlarmList", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContextMatchXName = System.Xml.Linq.XName.Get("ContextMatch", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Describe a context in terms of a parameter and value that when true enables the context alarm definition. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, EnumerationAlarmList?, ContextMatch) + /// + /// + public virtual ContextMatchType ContextMatch { + get { + XElement x = this.GetElement(ContextMatchXName); + return ((ContextMatchType)(x)); + } + set { + this.SetElement(ContextMatchXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("EnumerationContextAlarmType", "http://www.omg.org/spec/XTCE/20250214"); + + static EnumerationContextAlarmType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(AlarmConditionsXName), new NamedContentModelEntity(CustomAlarmXName)), new NamedContentModelEntity(EnumerationAlarmListXName), new NamedContentModelEntity(ContextMatchXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(AlarmConditionsXName, typeof(AlarmConditionsType)); + localElementDictionary.Add(CustomAlarmXName, typeof(CustomAlarmType)); + localElementDictionary.Add(EnumerationAlarmListXName, typeof(EnumerationAlarmListType)); + localElementDictionary.Add(ContextMatchXName, typeof(ContextMatchType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe alarm conditions specific to the enumeration data type, extends the basic AlarmType with an EnumerationAlarmList. The alarms are described using the label (engineering/calibrated value) of the enumerated parameter. Enumeration labels may represent several raw/uncalibrated values, so as a result, a single alarm definition here may represent multiple raw values in the enumerated parameter. It is not necessary to define an alarm for raw/uncalibrated values that do not map to an enumeration. Implementations should implicitly define this as an alarm case, of which the manifestation of that is program/implementation specific. See EnumeratedParameterType. + /// + /// + /// An additional check needs to be performed to ensure that the enumeration values in the alarms are valid enumeration values for the Parameter + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, EnumerationAlarmList?) + /// + /// + public partial class EnumerationAlarmType : global::Omg.Xtce.AlarmType, IXMetaData { + + public static explicit operator EnumerationAlarmType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe alarm conditions specific to the enumeration data type, extends the basic AlarmType with an EnumerationAlarmList. The alarms are described using the label (engineering/calibrated value) of the enumerated parameter. Enumeration labels may represent several raw/uncalibrated values, so as a result, a single alarm definition here may represent multiple raw values in the enumerated parameter. It is not necessary to define an alarm for raw/uncalibrated values that do not map to an enumeration. Implementations should implicitly define this as an alarm case, of which the manifestation of that is program/implementation specific. See EnumeratedParameterType. + /// + /// + /// An additional check needs to be performed to ensure that the enumeration values in the alarms are valid enumeration values for the Parameter + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, EnumerationAlarmList?) + /// + /// + public EnumerationAlarmType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AlarmConditionsXName = System.Xml.Linq.XName.Get("AlarmConditions", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlarmXName = System.Xml.Linq.XName.Get("CustomAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EnumerationAlarmListXName = System.Xml.Linq.XName.Get("EnumerationAlarmList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// List of alarm state definitions for this enumerated type. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, EnumerationAlarmList?) + /// + /// + public virtual EnumerationAlarmListType EnumerationAlarmList { + get { + XElement x = this.GetElement(EnumerationAlarmListXName); + if ((x == null)) { + return null; + } + return ((EnumerationAlarmListType)(x)); + } + set { + this.SetElement(EnumerationAlarmListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName defaultAlarmLevelXName = System.Xml.Linq.XName.Get("defaultAlarmLevel", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.ConcernLevelsType defaultAlarmLevelDefaultValue = Omg.Xtce.ConcernLevelsType.normal; + + /// + /// + /// Alarm state name for when no enumeration alarms evaluate to true. This defaults to "normal", which is almost always the case. Setting it to another alarm state permits a form of "inverted logic" where the alarm list can specify the normal states instead of the alarm states. + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.ConcernLevelsType defaultAlarmLevel { + get { + XAttribute x = this.Attribute(defaultAlarmLevelXName); + if ((x == null)) { + return defaultAlarmLevelDefaultValue; + } + return ((Omg.Xtce.ConcernLevelsType)(Enum.Parse(typeof(Omg.Xtce.ConcernLevelsType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.ConcernLevelsTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(defaultAlarmLevelXName, value.ToString(), "defaultAlarmLevel", global::Omg.Xtce.ConcernLevelsTypeValidator.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("EnumerationAlarmType", "http://www.omg.org/spec/XTCE/20250214"); + + static EnumerationAlarmType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(AlarmConditionsXName), new NamedContentModelEntity(CustomAlarmXName)), new NamedContentModelEntity(EnumerationAlarmListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(AlarmConditionsXName, typeof(AlarmConditionsType)); + localElementDictionary.Add(CustomAlarmXName, typeof(CustomAlarmType)); + localElementDictionary.Add(EnumerationAlarmListXName, typeof(EnumerationAlarmListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public enum FloatingPointNotationType { + + normal, + + scientific, + + engineering, + } + + public sealed class FloatingPointNotationTypeValidator { + + private FloatingPointNotationTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "normal", + "scientific", + "engineering"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Describe a floating point based range, several types of ranges are supported -- one sided and two sided, inclusive or exclusive. It would not make sense to set two mins or maxes. Used in a number of locations related to ranges: ValidFloatRangeSetType or AlarmRangeType for example. + /// + /// + /// Verify that the combination provided is usable. + /// + /// + public partial class FloatRangeType : XTypedElement, IXMetaData { + + public static explicit operator FloatRangeType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a floating point based range, several types of ranges are supported -- one sided and two sided, inclusive or exclusive. It would not make sense to set two mins or maxes. Used in a number of locations related to ranges: ValidFloatRangeSetType or AlarmRangeType for example. + /// + /// + /// Verify that the combination provided is usable. + /// + /// + public FloatRangeType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName minInclusiveXName = System.Xml.Linq.XName.Get("minInclusive", ""); + + /// + /// + /// Minimum decimal/real number value including itself. + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Double? minInclusive { + get { + XAttribute x = this.Attribute(minInclusiveXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + set { + this.SetAttribute(minInclusiveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName minExclusiveXName = System.Xml.Linq.XName.Get("minExclusive", ""); + + /// + /// + /// Minimum decimal/real number value excluding itself. + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Double? minExclusive { + get { + XAttribute x = this.Attribute(minExclusiveXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + set { + this.SetAttribute(minExclusiveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName maxInclusiveXName = System.Xml.Linq.XName.Get("maxInclusive", ""); + + /// + /// + /// Maximum decimal/real number value including itself. + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Double? maxInclusive { + get { + XAttribute x = this.Attribute(maxInclusiveXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + set { + this.SetAttribute(maxInclusiveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName maxExclusiveXName = System.Xml.Linq.XName.Get("maxExclusive", ""); + + /// + /// + /// Maximum decimal/real number value excluding itself. + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Double? maxExclusive { + get { + XAttribute x = this.Attribute(maxExclusiveXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + set { + this.SetAttribute(maxExclusiveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("FloatRangeType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an integral based range: minInclusive and maxInclusive. Used in a number of locations related to ranges: ValidIntegerRangeSetType for example. + /// + /// + public partial class IntegerRangeType : XTypedElement, IXMetaData { + + public static explicit operator IntegerRangeType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an integral based range: minInclusive and maxInclusive. Used in a number of locations related to ranges: ValidIntegerRangeSetType for example. + /// + /// + public IntegerRangeType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName minInclusiveXName = System.Xml.Linq.XName.Get("minInclusive", ""); + + /// + /// + /// Minimum integer value including itself. + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Int64? minInclusive { + get { + XAttribute x = this.Attribute(minInclusiveXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(minInclusiveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName maxInclusiveXName = System.Xml.Linq.XName.Get("maxInclusive", ""); + + /// + /// + /// Maximum integer value including itself. + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Int64? maxInclusive { + get { + XAttribute x = this.Attribute(maxInclusiveXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetAttribute(maxInclusiveXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("IntegerRangeType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A slope and intercept may be applied to scale or shift the value of the parameter in the dynamic value. The default of slope=1 and intercept=0 results in no change to the value. + /// + /// + public partial class LinearAdjustmentType : XTypedElement, IXMetaData { + + public static explicit operator LinearAdjustmentType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// A slope and intercept may be applied to scale or shift the value of the parameter in the dynamic value. The default of slope=1 and intercept=0 results in no change to the value. + /// + /// + public LinearAdjustmentType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName slopeXName = System.Xml.Linq.XName.Get("slope", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static double slopeDefaultValue = System.Xml.XmlConvert.ToDouble("1"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual double slope { + get { + XAttribute x = this.Attribute(slopeXName); + if ((x == null)) { + return slopeDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + set { + this.SetAttribute(slopeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName interceptXName = System.Xml.Linq.XName.Get("intercept", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static double interceptDefaultValue = System.Xml.XmlConvert.ToDouble("0"); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual double intercept { + get { + XAttribute x = this.Attribute(interceptXName); + if ((x == null)) { + return interceptDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + set { + this.SetAttribute(interceptXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("LinearAdjustmentType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// The alarm multi-range element type permits users to define multiple alarm ranges in a sequence that goes beyond the more typical "inside" and "outside" range definitions. It can be thought of as a "barber pole" definition. + /// + /// + public partial class MultiRangeType : global::Omg.Xtce.FloatRangeType, IXMetaData { + + public static explicit operator MultiRangeType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// The alarm multi-range element type permits users to define multiple alarm ranges in a sequence that goes beyond the more typical "inside" and "outside" range definitions. It can be thought of as a "barber pole" definition. + /// + /// + public MultiRangeType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName rangeFormXName = System.Xml.Linq.XName.Get("rangeForm", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.RangeFormType rangeFormDefaultValue = Omg.Xtce.RangeFormType.outside; + + /// + /// + /// A value of outside specifies that the most severe range is outside all the other ranges: -severe -critical -distress -warning -watch normal +watch +warning +distress +critical +severe. This means each min, max pair are a range: (-inf, min) or (-inf, min], and [max, inf) or (max, inf). However a value of inside "inverts" these bands: -normal -watch -warning -distress -critical severe +critical +distress +warning +watch, +normal. This means each min, max pair form a range of (min, max) or [min, max) or (min, max] or [min, max]. The most common form used is "outside" and it is the default. The set notation used defines parenthesis as exclusive and square brackets as inclusive. + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.RangeFormType rangeForm { + get { + XAttribute x = this.Attribute(rangeFormXName); + if ((x == null)) { + return rangeFormDefaultValue; + } + return ((Omg.Xtce.RangeFormType)(Enum.Parse(typeof(Omg.Xtce.RangeFormType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.RangeFormTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(rangeFormXName, value.ToString(), "rangeForm", global::Omg.Xtce.RangeFormTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName levelXName = System.Xml.Linq.XName.Get("level", ""); + + /// + /// + /// The level of concern for this alarm definition. + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.ConcernLevelsType? level { + get { + XAttribute x = this.Attribute(levelXName); + if ((x == null)) { + return null; + } + return ((Omg.Xtce.ConcernLevelsType)(Enum.Parse(typeof(Omg.Xtce.ConcernLevelsType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.ConcernLevelsTypeValidator.TypeDefinition)))); + } + set { + if (value == null) { + this.SetAttribute(levelXName, null, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + else { + this.SetAttributeWithValidation(levelXName, value.ToString(), "level", global::Omg.Xtce.ConcernLevelsTypeValidator.TypeDefinition); + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("MultiRangeType", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe alarm conditions specific to the numeric data types, extends the basic AlarmType with StaticAlarmRanges and ChangeAlarmRanges. See FloatParameterType and IntegerParameterType. + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, StaticAlarmRanges?, ChangeAlarmRanges?, AlarmMultiRanges?) + /// + /// + public partial class NumericAlarmType : global::Omg.Xtce.AlarmType, IXMetaData { + + public static explicit operator NumericAlarmType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe alarm conditions specific to the numeric data types, extends the basic AlarmType with StaticAlarmRanges and ChangeAlarmRanges. See FloatParameterType and IntegerParameterType. + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, StaticAlarmRanges?, ChangeAlarmRanges?, AlarmMultiRanges?) + /// + /// + public NumericAlarmType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AlarmConditionsXName = System.Xml.Linq.XName.Get("AlarmConditions", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlarmXName = System.Xml.Linq.XName.Get("CustomAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StaticAlarmRangesXName = System.Xml.Linq.XName.Get("StaticAlarmRanges", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// StaticAlarmRanges are used to trigger alarms when the parameter value passes some threshold value. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, StaticAlarmRanges?, ChangeAlarmRanges?, AlarmMultiRanges?) + /// + /// + public virtual AlarmRangesType StaticAlarmRanges { + get { + XElement x = this.GetElement(StaticAlarmRangesXName); + if ((x == null)) { + return null; + } + return ((AlarmRangesType)(x)); + } + set { + this.SetElement(StaticAlarmRangesXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ChangeAlarmRangesXName = System.Xml.Linq.XName.Get("ChangeAlarmRanges", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// ChangeAlarmRanges are used to trigger alarms when the parameter value changes by a rate or quantity from a reference. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, StaticAlarmRanges?, ChangeAlarmRanges?, AlarmMultiRanges?) + /// + /// + public virtual ChangeAlarmRangesType ChangeAlarmRanges { + get { + XElement x = this.GetElement(ChangeAlarmRangesXName); + if ((x == null)) { + return null; + } + return ((ChangeAlarmRangesType)(x)); + } + set { + this.SetElement(ChangeAlarmRangesXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AlarmMultiRangesXName = System.Xml.Linq.XName.Get("AlarmMultiRanges", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Similar to but more lenient form of StaticAlarmRanges. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, StaticAlarmRanges?, ChangeAlarmRanges?, AlarmMultiRanges?) + /// + /// + public virtual AlarmMultiRangesType AlarmMultiRanges { + get { + XElement x = this.GetElement(AlarmMultiRangesXName); + if ((x == null)) { + return null; + } + return ((AlarmMultiRangesType)(x)); + } + set { + this.SetElement(AlarmMultiRangesXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("NumericAlarmType", "http://www.omg.org/spec/XTCE/20250214"); + + static NumericAlarmType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(AlarmConditionsXName), new NamedContentModelEntity(CustomAlarmXName)), new NamedContentModelEntity(StaticAlarmRangesXName), new NamedContentModelEntity(ChangeAlarmRangesXName), new NamedContentModelEntity(AlarmMultiRangesXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(AlarmConditionsXName, typeof(AlarmConditionsType)); + localElementDictionary.Add(CustomAlarmXName, typeof(CustomAlarmType)); + localElementDictionary.Add(StaticAlarmRangesXName, typeof(AlarmRangesType)); + localElementDictionary.Add(ChangeAlarmRangesXName, typeof(ChangeAlarmRangesType)); + localElementDictionary.Add(AlarmMultiRangesXName, typeof(AlarmMultiRangesType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a parameter dependent context, that when evaluates to true, enables the use of this alarm definition. See ContextMatchType and NumericAlarmType. + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, StaticAlarmRanges?, ChangeAlarmRanges?, AlarmMultiRanges?, ContextMatch) + /// + /// + public partial class NumericContextAlarmType : global::Omg.Xtce.NumericAlarmType, IXMetaData { + + public static explicit operator NumericContextAlarmType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a parameter dependent context, that when evaluates to true, enables the use of this alarm definition. See ContextMatchType and NumericAlarmType. + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, StaticAlarmRanges?, ChangeAlarmRanges?, AlarmMultiRanges?, ContextMatch) + /// + /// + public NumericContextAlarmType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AlarmConditionsXName = System.Xml.Linq.XName.Get("AlarmConditions", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlarmXName = System.Xml.Linq.XName.Get("CustomAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StaticAlarmRangesXName = System.Xml.Linq.XName.Get("StaticAlarmRanges", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ChangeAlarmRangesXName = System.Xml.Linq.XName.Get("ChangeAlarmRanges", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AlarmMultiRangesXName = System.Xml.Linq.XName.Get("AlarmMultiRanges", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContextMatchXName = System.Xml.Linq.XName.Get("ContextMatch", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Contains the evaluation criteria for a parameter dependent test, that when evaluates to true, enables this alarm definition. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, StaticAlarmRanges?, ChangeAlarmRanges?, AlarmMultiRanges?, ContextMatch) + /// + /// + public virtual ContextMatchType ContextMatch { + get { + XElement x = this.GetElement(ContextMatchXName); + return ((ContextMatchType)(x)); + } + set { + this.SetElement(ContextMatchXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("NumericContextAlarmType", "http://www.omg.org/spec/XTCE/20250214"); + + static NumericContextAlarmType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(AlarmConditionsXName), new NamedContentModelEntity(CustomAlarmXName)), new NamedContentModelEntity(StaticAlarmRangesXName), new NamedContentModelEntity(ChangeAlarmRangesXName), new NamedContentModelEntity(AlarmMultiRangesXName), new NamedContentModelEntity(ContextMatchXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(AlarmConditionsXName, typeof(AlarmConditionsType)); + localElementDictionary.Add(CustomAlarmXName, typeof(CustomAlarmType)); + localElementDictionary.Add(StaticAlarmRangesXName, typeof(AlarmRangesType)); + localElementDictionary.Add(ChangeAlarmRangesXName, typeof(ChangeAlarmRangesType)); + localElementDictionary.Add(AlarmMultiRangesXName, typeof(AlarmMultiRangesType)); + localElementDictionary.Add(ContextMatchXName, typeof(ContextMatchType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a string alarm condition based on matching a regular expression. The level and regular expression are described. The specific implementation of the regular expression syntax is not specified in the schema at this time. See StringAlarmListType. + /// + /// + public partial class StringAlarmLevelType : XTypedElement, IXMetaData { + + public static explicit operator StringAlarmLevelType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a string alarm condition based on matching a regular expression. The level and regular expression are described. The specific implementation of the regular expression syntax is not specified in the schema at this time. See StringAlarmListType. + /// + /// + public StringAlarmLevelType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName alarmLevelXName = System.Xml.Linq.XName.Get("alarmLevel", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual Omg.Xtce.ConcernLevelsType alarmLevel { + get { + XAttribute x = this.Attribute(alarmLevelXName); + return ((Omg.Xtce.ConcernLevelsType)(Enum.Parse(typeof(Omg.Xtce.ConcernLevelsType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.ConcernLevelsTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(alarmLevelXName, value.ToString(), "alarmLevel", global::Omg.Xtce.ConcernLevelsTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName matchPatternXName = System.Xml.Linq.XName.Get("matchPattern", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string matchPattern { + get { + XAttribute x = this.Attribute(matchPatternXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(matchPatternXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("StringAlarmLevelType", "http://www.omg.org/spec/XTCE/20250214"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an ordered collection of string alarms, where duplicates are valid. Evaluate the alarms in list order. The first to evaluate to true takes precedence. See StringAlarmLevelType. + /// + /// + /// Regular expression: (StringAlarm+) + /// + /// + public partial class StringAlarmListType : XTypedElement, IXMetaData { + + public static explicit operator StringAlarmListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an ordered collection of string alarms, where duplicates are valid. Evaluate the alarms in list order. The first to evaluate to true takes precedence. See StringAlarmLevelType. + /// + /// + /// Regular expression: (StringAlarm+) + /// + /// + public StringAlarmListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringAlarmXName = System.Xml.Linq.XName.Get("StringAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList StringAlarmField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (StringAlarm+) + /// + /// + public virtual IList StringAlarm { + get { + if ((this.StringAlarmField == null)) { + this.StringAlarmField = new XTypedList(this, LinqToXsdTypeManager.Instance, StringAlarmXName); + } + return this.StringAlarmField; + } + set { + if ((value == null)) { + this.StringAlarmField = null; + } + else { + if ((this.StringAlarmField == null)) { + this.StringAlarmField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, StringAlarmXName); + } + else { + XTypedServices.SetList(this.StringAlarmField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("StringAlarmListType", "http://www.omg.org/spec/XTCE/20250214"); + + static StringAlarmListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(StringAlarmXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(StringAlarmXName, typeof(StringAlarmLevelType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe alarms specific to the string data type, extends the basic AlarmType, while adding a StringAlarmList and defaultAlarmLevel attribute. The string alarm list is evaluated in list order. See ConcernsLevelsType and StringAlarmListType. + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, StringAlarmList?) + /// + /// + public partial class StringAlarmType : global::Omg.Xtce.AlarmType, IXMetaData { + + public static explicit operator StringAlarmType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe alarms specific to the string data type, extends the basic AlarmType, while adding a StringAlarmList and defaultAlarmLevel attribute. The string alarm list is evaluated in list order. See ConcernsLevelsType and StringAlarmListType. + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, StringAlarmList?) + /// + /// + public StringAlarmType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AlarmConditionsXName = System.Xml.Linq.XName.Get("AlarmConditions", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlarmXName = System.Xml.Linq.XName.Get("CustomAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringAlarmListXName = System.Xml.Linq.XName.Get("StringAlarmList", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, StringAlarmList?) + /// + /// + public virtual StringAlarmListType StringAlarmList { + get { + XElement x = this.GetElement(StringAlarmListXName); + if ((x == null)) { + return null; + } + return ((StringAlarmListType)(x)); + } + set { + this.SetElement(StringAlarmListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName defaultAlarmLevelXName = System.Xml.Linq.XName.Get("defaultAlarmLevel", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.ConcernLevelsType defaultAlarmLevelDefaultValue = Omg.Xtce.ConcernLevelsType.normal; + + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.ConcernLevelsType defaultAlarmLevel { + get { + XAttribute x = this.Attribute(defaultAlarmLevelXName); + if ((x == null)) { + return defaultAlarmLevelDefaultValue; + } + return ((Omg.Xtce.ConcernLevelsType)(Enum.Parse(typeof(Omg.Xtce.ConcernLevelsType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.ConcernLevelsTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(defaultAlarmLevelXName, value.ToString(), "defaultAlarmLevel", global::Omg.Xtce.ConcernLevelsTypeValidator.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("StringAlarmType", "http://www.omg.org/spec/XTCE/20250214"); + + static StringAlarmType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(AlarmConditionsXName), new NamedContentModelEntity(CustomAlarmXName)), new NamedContentModelEntity(StringAlarmListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(AlarmConditionsXName, typeof(AlarmConditionsType)); + localElementDictionary.Add(CustomAlarmXName, typeof(CustomAlarmType)); + localElementDictionary.Add(StringAlarmListXName, typeof(StringAlarmListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe a context that when true the alarm may be evaluated. See ContextMatchType and StringAlarmType. + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, StringAlarmList?, ContextMatch) + /// + /// + public partial class StringContextAlarmType : global::Omg.Xtce.StringAlarmType, IXMetaData { + + public static explicit operator StringContextAlarmType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe a context that when true the alarm may be evaluated. See ContextMatchType and StringAlarmType. + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, StringAlarmList?, ContextMatch) + /// + /// + public StringContextAlarmType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AlarmConditionsXName = System.Xml.Linq.XName.Get("AlarmConditions", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlarmXName = System.Xml.Linq.XName.Get("CustomAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StringAlarmListXName = System.Xml.Linq.XName.Get("StringAlarmList", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContextMatchXName = System.Xml.Linq.XName.Get("ContextMatch", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, StringAlarmList?, ContextMatch) + /// + /// + public virtual ContextMatchType ContextMatch { + get { + XElement x = this.GetElement(ContextMatchXName); + return ((ContextMatchType)(x)); + } + set { + this.SetElement(ContextMatchXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("StringContextAlarmType", "http://www.omg.org/spec/XTCE/20250214"); + + static StringContextAlarmType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(AlarmConditionsXName), new NamedContentModelEntity(CustomAlarmXName)), new NamedContentModelEntity(StringAlarmListXName), new NamedContentModelEntity(ContextMatchXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(AlarmConditionsXName, typeof(AlarmConditionsType)); + localElementDictionary.Add(CustomAlarmXName, typeof(CustomAlarmType)); + localElementDictionary.Add(StringAlarmListXName, typeof(StringAlarmListType)); + localElementDictionary.Add(ContextMatchXName, typeof(ContextMatchType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Describe an ordered collection of context string alarms, duplicates are valid. Process the contexts in list order. See StringContextAlarmType. + /// + /// + /// Regular expression: (ContextAlarm+) + /// + /// + public partial class StringContextAlarmListType : XTypedElement, IXMetaData { + + public static explicit operator StringContextAlarmListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Describe an ordered collection of context string alarms, duplicates are valid. Process the contexts in list order. See StringContextAlarmType. + /// + /// + /// Regular expression: (ContextAlarm+) + /// + /// + public StringContextAlarmListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContextAlarmXName = System.Xml.Linq.XName.Get("ContextAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ContextAlarmField; + + /// + /// + /// A Context contains a new alarm definition and a context match. The match takes precedence over any default alarm when the first in the overall list evaluates to true. It is also possible the alarm definition is empty, in which case the context means no alarm defined when the match is true. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (ContextAlarm+) + /// + /// + public virtual IList ContextAlarm { + get { + if ((this.ContextAlarmField == null)) { + this.ContextAlarmField = new XTypedList(this, LinqToXsdTypeManager.Instance, ContextAlarmXName); + } + return this.ContextAlarmField; + } + set { + if ((value == null)) { + this.ContextAlarmField = null; + } + else { + if ((this.ContextAlarmField == null)) { + this.ContextAlarmField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ContextAlarmXName); + } + else { + XTypedServices.SetList(this.ContextAlarmField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("StringContextAlarmListType", "http://www.omg.org/spec/XTCE/20250214"); + + static StringContextAlarmListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ContextAlarmXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ContextAlarmXName, typeof(StringContextAlarmType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Alarms associated with time data types + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, StaticAlarmRanges?, ChangePerSecondAlarmRanges?) + /// + /// + public partial class TimeAlarmType : global::Omg.Xtce.AlarmType, IXMetaData { + + public static explicit operator TimeAlarmType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Alarms associated with time data types + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, StaticAlarmRanges?, ChangePerSecondAlarmRanges?) + /// + /// + public TimeAlarmType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AlarmConditionsXName = System.Xml.Linq.XName.Get("AlarmConditions", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlarmXName = System.Xml.Linq.XName.Get("CustomAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StaticAlarmRangesXName = System.Xml.Linq.XName.Get("StaticAlarmRanges", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// StaticAlarmRanges are used to trigger alarms when the parameter value passes some threshold value + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, StaticAlarmRanges?, ChangePerSecondAlarmRanges?) + /// + /// + public virtual TimeAlarmRangesType StaticAlarmRanges { + get { + XElement x = this.GetElement(StaticAlarmRangesXName); + if ((x == null)) { + return null; + } + return ((TimeAlarmRangesType)(x)); + } + set { + this.SetElement(StaticAlarmRangesXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ChangePerSecondAlarmRangesXName = System.Xml.Linq.XName.Get("ChangePerSecondAlarmRanges", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// ChangePerSecondAlarmRanges are used to trigger alarms when the parameter value's rate-of-change passes some threshold value. An alarm condition that triggers when the value changes too fast (or too slow) + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, StaticAlarmRanges?, ChangePerSecondAlarmRanges?) + /// + /// + public virtual TimeAlarmRangesType ChangePerSecondAlarmRanges { + get { + XElement x = this.GetElement(ChangePerSecondAlarmRangesXName); + if ((x == null)) { + return null; + } + return ((TimeAlarmRangesType)(x)); + } + set { + this.SetElement(ChangePerSecondAlarmRangesXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("TimeAlarmType", "http://www.omg.org/spec/XTCE/20250214"); + + static TimeAlarmType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(AlarmConditionsXName), new NamedContentModelEntity(CustomAlarmXName)), new NamedContentModelEntity(StaticAlarmRangesXName), new NamedContentModelEntity(ChangePerSecondAlarmRangesXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(AlarmConditionsXName, typeof(AlarmConditionsType)); + localElementDictionary.Add(CustomAlarmXName, typeof(CustomAlarmType)); + localElementDictionary.Add(StaticAlarmRangesXName, typeof(TimeAlarmRangesType)); + localElementDictionary.Add(ChangePerSecondAlarmRangesXName, typeof(TimeAlarmRangesType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (AncillaryDataSet?, WatchRange?, WarningRange?, DistressRange?, CriticalRange?, SevereRange?) + /// + /// + public partial class TimeAlarmRangesType : global::Omg.Xtce.AlarmRangesType, IXMetaData { + + public static explicit operator TimeAlarmRangesType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (AncillaryDataSet?, WatchRange?, WarningRange?, DistressRange?, CriticalRange?, SevereRange?) + /// + /// + public TimeAlarmRangesType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName WatchRangeXName = System.Xml.Linq.XName.Get("WatchRange", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName WarningRangeXName = System.Xml.Linq.XName.Get("WarningRange", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DistressRangeXName = System.Xml.Linq.XName.Get("DistressRange", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CriticalRangeXName = System.Xml.Linq.XName.Get("CriticalRange", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SevereRangeXName = System.Xml.Linq.XName.Get("SevereRange", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName timeUnitsXName = System.Xml.Linq.XName.Get("timeUnits", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static Omg.Xtce.TimeUnitsType timeUnitsDefaultValue = Omg.Xtce.TimeUnitsType.seconds; + + /// + /// + /// Time units, with the default being in seconds. + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.TimeUnitsType timeUnits { + get { + XAttribute x = this.Attribute(timeUnitsXName); + if ((x == null)) { + return timeUnitsDefaultValue; + } + return ((Omg.Xtce.TimeUnitsType)(Enum.Parse(typeof(Omg.Xtce.TimeUnitsType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::Omg.Xtce.TimeUnitsTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(timeUnitsXName, value.ToString(), "timeUnits", global::Omg.Xtce.TimeUnitsTypeValidator.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("TimeAlarmRangesType", "http://www.omg.org/spec/XTCE/20250214"); + + static TimeAlarmRangesType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AncillaryDataSetXName), new NamedContentModelEntity(WatchRangeXName), new NamedContentModelEntity(WarningRangeXName), new NamedContentModelEntity(DistressRangeXName), new NamedContentModelEntity(CriticalRangeXName), new NamedContentModelEntity(SevereRangeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(WatchRangeXName, typeof(FloatRangeType)); + localElementDictionary.Add(WarningRangeXName, typeof(FloatRangeType)); + localElementDictionary.Add(DistressRangeXName, typeof(FloatRangeType)); + localElementDictionary.Add(CriticalRangeXName, typeof(FloatRangeType)); + localElementDictionary.Add(SevereRangeXName, typeof(FloatRangeType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// An ordered collection of temporal alarms associated with a context. A context is an alarm definition on a parameter which is valid only in the case of a test on the value of other parameters. Process the contexts in list order. See TimeContextAlarmType. + /// + /// + /// Regular expression: (ContextAlarm+) + /// + /// + public partial class TimeContextAlarmListType : XTypedElement, IXMetaData { + + public static explicit operator TimeContextAlarmListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// An ordered collection of temporal alarms associated with a context. A context is an alarm definition on a parameter which is valid only in the case of a test on the value of other parameters. Process the contexts in list order. See TimeContextAlarmType. + /// + /// + /// Regular expression: (ContextAlarm+) + /// + /// + public TimeContextAlarmListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContextAlarmXName = System.Xml.Linq.XName.Get("ContextAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ContextAlarmField; + + /// + /// + /// A Context contains a new alarm definition and a context match. The match takes precedence over any default alarm when the first in the overall list evaluates to true. It is also possible the alarm definition is empty, in which case the context means no alarm defined when the match is true. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (ContextAlarm+) + /// + /// + public virtual IList ContextAlarm { + get { + if ((this.ContextAlarmField == null)) { + this.ContextAlarmField = new XTypedList(this, LinqToXsdTypeManager.Instance, ContextAlarmXName); + } + return this.ContextAlarmField; + } + set { + if ((value == null)) { + this.ContextAlarmField = null; + } + else { + if ((this.ContextAlarmField == null)) { + this.ContextAlarmField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ContextAlarmXName); + } + else { + XTypedServices.SetList(this.ContextAlarmField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("TimeContextAlarmListType", "http://www.omg.org/spec/XTCE/20250214"); + + static TimeContextAlarmListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ContextAlarmXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ContextAlarmXName, typeof(TimeContextAlarmType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Context alarms are applied when the ContextMatch is true. Context alarms override Default alarms + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, StaticAlarmRanges?, ChangePerSecondAlarmRanges?, ContextMatch) + /// + /// + public partial class TimeContextAlarmType : global::Omg.Xtce.TimeAlarmType, IXMetaData { + + public static explicit operator TimeContextAlarmType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Context alarms are applied when the ContextMatch is true. Context alarms override Default alarms + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, StaticAlarmRanges?, ChangePerSecondAlarmRanges?, ContextMatch) + /// + /// + public TimeContextAlarmType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AncillaryDataSetXName = System.Xml.Linq.XName.Get("AncillaryDataSet", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AlarmConditionsXName = System.Xml.Linq.XName.Get("AlarmConditions", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CustomAlarmXName = System.Xml.Linq.XName.Get("CustomAlarm", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName StaticAlarmRangesXName = System.Xml.Linq.XName.Get("StaticAlarmRanges", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ChangePerSecondAlarmRangesXName = System.Xml.Linq.XName.Get("ChangePerSecondAlarmRanges", "http://www.omg.org/spec/XTCE/20250214"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContextMatchXName = System.Xml.Linq.XName.Get("ContextMatch", "http://www.omg.org/spec/XTCE/20250214"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (AncillaryDataSet?, (AlarmConditions | CustomAlarm)?, StaticAlarmRanges?, ChangePerSecondAlarmRanges?, ContextMatch) + /// + /// + public virtual ContextMatchType ContextMatch { + get { + XElement x = this.GetElement(ContextMatchXName); + return ((ContextMatchType)(x)); + } + set { + this.SetElement(ContextMatchXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("TimeContextAlarmType", "http://www.omg.org/spec/XTCE/20250214"); + + static TimeContextAlarmType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AncillaryDataSetXName), new ChoiceContentModelEntity(new NamedContentModelEntity(AlarmConditionsXName), new NamedContentModelEntity(CustomAlarmXName)), new NamedContentModelEntity(StaticAlarmRangesXName), new NamedContentModelEntity(ChangePerSecondAlarmRangesXName), new NamedContentModelEntity(ContextMatchXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AncillaryDataSetXName, typeof(AncillaryDataSetType)); + localElementDictionary.Add(AlarmConditionsXName, typeof(AlarmConditionsType)); + localElementDictionary.Add(CustomAlarmXName, typeof(CustomAlarmType)); + localElementDictionary.Add(StaticAlarmRangesXName, typeof(TimeAlarmRangesType)); + localElementDictionary.Add(ChangePerSecondAlarmRangesXName, typeof(TimeAlarmRangesType)); + localElementDictionary.Add(ContextMatchXName, typeof(ContextMatchType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// XTCE-specific replacement for xtce:NonNegativeLongType which more cleanly maps to native data types. + /// + /// + public sealed class NonNegativeLongType { + + private NonNegativeLongType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(256)), null, 0, 0, null, null, 0, null, 0, 0, null, 0, XmlSchemaWhiteSpace.Collapse)); + } + + /// + /// + /// XTCE-specific replacement for xtce:PositiveLongType which more cleanly maps to native data types. + /// + /// + public sealed class PositiveLongType { + + private PositiveLongType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(256)), null, 0, 0, null, null, 0, null, 1, 0, null, 0, XmlSchemaWhiteSpace.Collapse)); + } + + /// + /// + /// Defines enumerated values to categorize a unit associated with a telemetered value. Typically the unit refers to the calibrated (engineering) value. In some cases the unit may be associated with the uncalibrated or raw values. Uncalibrated and raw here are typically synonymous, but there are exceptions. + /// + /// + public enum UnitFormType { + + calibrated, + + uncalibrated, + + raw, + } + + /// + /// + /// Defines enumerated values to categorize a unit associated with a telemetered value. Typically the unit refers to the calibrated (engineering) value. In some cases the unit may be associated with the uncalibrated or raw values. Uncalibrated and raw here are typically synonymous, but there are exceptions. + /// + /// + public sealed class UnitFormTypeValidator { + + private UnitFormTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "calibrated", + "uncalibrated", + "raw"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// SpaceSystem is a collection of SpaceSystem(s) including space assets, ground assets, multi-satellite systems and sub-systems. A SpaceSystem is the root element for the set of data necessary to monitor and command an arbitrary space device - this includes the binary decomposition the data streams going into and out of a device. + /// + /// + public partial class SpaceSystem : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static SpaceSystem Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static SpaceSystem Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static SpaceSystem Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator SpaceSystem(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new SpaceSystem(((SpaceSystemType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SpaceSystemType ContentField; + + /// + /// + /// SpaceSystem is a collection of SpaceSystem(s) including space assets, ground assets, multi-satellite systems and sub-systems. A SpaceSystem is the root element for the set of data necessary to monitor and command an arbitrary space device - this includes the binary decomposition the data streams going into and out of a device. + /// + /// + public SpaceSystem() { + SetInnerType(new SpaceSystemType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual SpaceSystemType Content { + get { + return ContentField; + } + } + + private void SetInnerType(SpaceSystemType ContentField) { + this.ContentField = ((SpaceSystemType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + /// + /// + /// SpaceSystem is a collection of SpaceSystem(s) including space assets, ground assets, multi-satellite systems and sub-systems. A SpaceSystem is the root element for the set of data necessary to monitor and command an arbitrary space device - this includes the binary decomposition the data streams going into and out of a device. + /// + /// + public SpaceSystem(SpaceSystemType content) { + SetInnerType(content); + } + + /// + /// + /// The Header element contains optional descriptive information about this SpaceSystem or the document as a whole when specified at the root SpaceSystem. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Header?, TelemetryMetaData?, CommandMetaData?, ServiceSet?, SpaceSystem*) + /// + /// + public virtual HeaderType Header { + get { + return this.ContentField.Header; + } + set { + this.ContentField.Header = value; + } + } + + /// + /// + /// This element contains descriptions of the telemetry created on the space asset/device and sent to other data consumers. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Header?, TelemetryMetaData?, CommandMetaData?, ServiceSet?, SpaceSystem*) + /// + /// + public virtual TelemetryMetaDataType TelemetryMetaData { + get { + return this.ContentField.TelemetryMetaData; + } + set { + this.ContentField.TelemetryMetaData = value; + } + } + + /// + /// + /// This element contains descriptions of the commands and their associated constraints and verifications that can be sent to the space asset/device. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Header?, TelemetryMetaData?, CommandMetaData?, ServiceSet?, SpaceSystem*) + /// + /// + public virtual CommandMetaDataType CommandMetaData { + get { + return this.ContentField.CommandMetaData; + } + set { + this.ContentField.CommandMetaData = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Header?, TelemetryMetaData?, CommandMetaData?, ServiceSet?, SpaceSystem*) + /// + /// + public virtual ServiceSetType ServiceSet { + get { + return this.ContentField.ServiceSet; + } + set { + this.ContentField.ServiceSet = value; + } + } + + /// + /// + /// Additional SpaceSystem elements may be used like namespaces to segregate portions of the space asset/device into convenient groupings or may be used to specialize a product line generic SpaceSystem to a specific asset instance. + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?, Header?, TelemetryMetaData?, CommandMetaData?, ServiceSet?, SpaceSystem*) + /// + /// + public virtual IList SpaceSystem1 { + get { + return this.ContentField.SpaceSystem; + } + set { + this.ContentField.SpaceSystem = value; + } + } + + /// + /// + /// Type of the space system. Represents what from a space enterprise this SpaceSystem element represents. See the individual enumeration descriptions in SystemTypeType. + /// + /// + /// Occurrence: optional + /// + /// + public virtual Omg.Xtce.SystemTypeType systemType { + get { + return this.ContentField.systemType; + } + set { + this.ContentField.systemType = value; + } + } + + /// + /// + /// Broad name for the type of asset, such as spacecraft, aircraft, device, or any other that makes sense for the system. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string assetType { + get { + return this.ContentField.assetType; + } + set { + this.ContentField.assetType = value; + } + } + + /// + /// + /// Optional descriptive attribute for document owner convenience. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string operationalStatus { + get { + return this.ContentField.operationalStatus; + } + set { + this.ContentField.operationalStatus = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Uri @base { + get { + return this.ContentField.@base; + } + set { + this.ContentField.@base = value; + } + } + + /// + /// + /// The name of this defined item. See NameType for restriction information. + /// + /// + /// Occurrence: required + /// + /// + public virtual string name { + get { + return this.ContentField.name; + } + set { + this.ContentField.name = value; + } + } + + /// + /// + /// Optional long form description to be used for explanatory descriptions of this item and may include HTML markup using CDATA. Long Descriptions are of unbounded length. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?) + /// + /// + public virtual string LongDescription { + get { + return this.ContentField.LongDescription; + } + set { + this.ContentField.LongDescription = value; + } + } + + /// + /// + /// Used to contain an alias (alternate) name or ID for this item. See AliasSetType for additional explanation. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?) + /// + /// + public virtual AliasSetType AliasSet { + get { + return this.ContentField.AliasSet; + } + set { + this.ContentField.AliasSet = value; + } + } + + /// + /// + /// Use for any non-standard data associated with this named item. See AncillaryDataSetType for additional explanation. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (LongDescription?, AliasSet?, AncillaryDataSet?) + /// + /// + public virtual AncillaryDataSetType AncillaryDataSet { + get { + return this.ContentField.AncillaryDataSet; + } + set { + this.ContentField.AncillaryDataSet = value; + } + } + + /// + /// + /// Optional short description to be used for explanation of this item. It is recommended that the short description be kept under 80 characters in length. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string shortDescription { + get { + return this.ContentField.shortDescription; + } + set { + this.ContentField.shortDescription = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SpaceSystem", "http://www.omg.org/spec/XTCE/20250214"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public class LinqToXsdTypeManager : ILinqToXsdTypeManager { + + private LinqToXsdTypeManager() { + } + + private static Dictionary typeDictionary = new Dictionary(); + + private static void BuildTypeDictionary() { + typeDictionary.Add(System.Xml.Linq.XName.Get("SpaceSystemType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.SpaceSystemType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("CommandMetaDataType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.CommandMetaDataType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("TelemetryMetaDataType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.TelemetryMetaDataType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentArgumentRefEntryType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentArgumentRefEntryType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentArrayArgumentRefEntryType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentArrayArgumentRefEntryType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentArrayParameterRefEntryType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentArrayParameterRefEntryType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentContainerRefEntryType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentContainerRefEntryType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentContainerSegmentRefEntryType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentContainerSegmentRefEntryType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentFixedValueEntryType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentFixedValueEntryType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentIndirectParameterRefEntryType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentIndirectParameterRefEntryType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentParameterRefEntryType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentParameterRefEntryType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentParameterSegmentRefEntryType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentParameterSegmentRefEntryType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentStreamSegmentEntryType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentStreamSegmentEntryType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArrayParameterRefEntryType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArrayParameterRefEntryType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BaseAlarmType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.BaseAlarmType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BaseContainerType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.BaseContainerType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ContainerType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ContainerType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ContainerRefSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ContainerRefSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ContainerRefType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ContainerRefType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ContainerRefEntryType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ContainerRefEntryType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ContainerSegmentRefEntryType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ContainerSegmentRefEntryType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ContainerSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ContainerSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("EntryListType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.EntryListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("IndirectParameterRefEntryType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.IndirectParameterRefEntryType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("LocationInContainerInBitsType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.LocationInContainerInBitsType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentLocationInContainerInBitsType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentLocationInContainerInBitsType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("MessageRefType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.MessageRefType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ParameterRefEntryType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ParameterRefEntryType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ParameterSegmentRefEntryType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ParameterSegmentRefEntryType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SequenceContainerType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.SequenceContainerType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SequenceEntryType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.SequenceEntryType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentSequenceEntryType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentSequenceEntryType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ServiceType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ServiceType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("StreamSegmentEntryType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.StreamSegmentEntryType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("MessageType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.MessageType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("MessageSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.MessageSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("RateInStreamSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.RateInStreamSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("RateInStreamType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.RateInStreamType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("RateInStreamWithStreamNameType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.RateInStreamWithStreamNameType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("RestrictionCriteriaType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.RestrictionCriteriaType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("AbsoluteTimeParameterType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.AbsoluteTimeParameterType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("AggregateParameterType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.AggregateParameterType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArrayParameterType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArrayParameterType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BinaryParameterType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.BinaryParameterType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BooleanParameterType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.BooleanParameterType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("EnumeratedParameterType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.EnumeratedParameterType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("EnumerationContextAlarmListType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.EnumerationContextAlarmListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("FloatParameterType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.FloatParameterType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("IntegerParameterType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.IntegerParameterType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("MessageRefSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.MessageRefSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("NumericContextAlarmListType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.NumericContextAlarmListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ParameterInstanceRefType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ParameterInstanceRefType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ParameterPropertiesType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ParameterPropertiesType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ParameterType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ParameterType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ParameterTypeSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ParameterTypeSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ParameterRefType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ParameterRefType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("PhysicalAddressSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.PhysicalAddressSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("PhysicalAddressType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.PhysicalAddressType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ServiceSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ServiceSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("StringParameterType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.StringParameterType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("RelativeTimeParameterType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.RelativeTimeParameterType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("TimeAssociationType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.TimeAssociationType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("AbsoluteTimeArgumentType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.AbsoluteTimeArgumentType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArrayArgumentType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArrayArgumentType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("AggregateArgumentType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.AggregateArgumentType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentAssignmentListType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentAssignmentListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentAssignmentType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentAssignmentType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentComparisonType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentComparisonType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentComparisonCheckType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentComparisonCheckType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentComparisonListType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentComparisonListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentDiscreteLookupType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentDiscreteLookupType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentDiscreteLookupListType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentDiscreteLookupListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentDynamicValueType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentDynamicValueType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentInputAlgorithmType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentInputAlgorithmType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentInputSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentInputSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentInstanceRefType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentInstanceRefType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentListType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentBooleanExpressionType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentBooleanExpressionType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentANDedConditionsType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentANDedConditionsType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentORedConditionsType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentORedConditionsType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentMatchCriteriaType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentMatchCriteriaType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentRestrictionListType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentRestrictionListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentTypeSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentTypeSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BaseMetaCommandType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.BaseMetaCommandType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BinaryArgumentType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.BinaryArgumentType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BlockMetaCommandType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.BlockMetaCommandType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BooleanArgumentType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.BooleanArgumentType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("CommandContainerEntryListType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.CommandContainerEntryListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("CommandContainerSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.CommandContainerSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("CommandContainerType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.CommandContainerType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("CommandVerifierType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.CommandVerifierType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("EnumeratedArgumentType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.EnumeratedArgumentType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("FloatArgumentType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.FloatArgumentType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("IntegerArgumentType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.IntegerArgumentType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("MetaCommandSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.MetaCommandSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("MetaCommandStepListType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.MetaCommandStepListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("MetaCommandStepType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.MetaCommandStepType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("MetaCommandType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.MetaCommandType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("RelativeTimeArgumentType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.RelativeTimeArgumentType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SignificanceType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.SignificanceType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("StringArgumentType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.StringArgumentType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("AcceptedVerifierType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.AcceptedVerifierType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("CheckWindowType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.CheckWindowType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("CheckWindowAlgorithmsType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.CheckWindowAlgorithmsType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("CompleteVerifierType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.CompleteVerifierType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ContextSignificanceType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ContextSignificanceType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ContextSignificanceListType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ContextSignificanceListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ExecutionVerifierType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ExecutionVerifierType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("FailedVerifierType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.FailedVerifierType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("InterlockType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.InterlockType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ParameterToSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ParameterToSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ParameterToSetListType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ParameterToSetListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ParameterToSuspendAlarmsOnType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ParameterToSuspendAlarmsOnType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ParametersToSuspendAlarmsOnSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ParametersToSuspendAlarmsOnSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ParameterValueChangeType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ParameterValueChangeType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("QueuedVerifierType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.QueuedVerifierType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ReceivedVerifierType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ReceivedVerifierType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SentFromRangeVerifierType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.SentFromRangeVerifierType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("TransferredToRangeVerifierType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.TransferredToRangeVerifierType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("TransmissionConstraintType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.TransmissionConstraintType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("TransmissionConstraintListType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.TransmissionConstraintListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("VerifierSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.VerifierSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("AlgorithmTextType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.AlgorithmTextType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BaseTriggerType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.BaseTriggerType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ChecksumType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ChecksumType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ConstantType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ConstantType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ContextCalibratorListType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ContextCalibratorListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ExternalAlgorithmType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ExternalAlgorithmType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ExternalAlgorithmSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ExternalAlgorithmSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("InputAlgorithmType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.InputAlgorithmType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("InputOutputAlgorithmType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.InputOutputAlgorithmType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("InputOutputTriggerAlgorithmType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.InputOutputTriggerAlgorithmType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("InputParameterInstanceRefType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.InputParameterInstanceRefType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("InputSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.InputSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("MathAlgorithmType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.MathAlgorithmType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("OnContainerUpdateTriggerType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.OnContainerUpdateTriggerType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("OnPeriodicRateTriggerType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.OnPeriodicRateTriggerType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("OnParameterUpdateTriggerType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.OnParameterUpdateTriggerType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("OutputParameterRefType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.OutputParameterRefType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("OutputSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.OutputSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SimpleAlgorithmType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.SimpleAlgorithmType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("TriggeredMathOperationType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.TriggeredMathOperationType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("TriggerSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.TriggerSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BaseCalibratorType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.BaseCalibratorType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("CalibratorType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.CalibratorType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ChangeValueType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ChangeValueType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("MathOperationCalibratorType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.MathOperationCalibratorType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("PolynomialCalibratorType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.PolynomialCalibratorType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SplineCalibratorType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.SplineCalibratorType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("AutoInvertType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.AutoInvertType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("CustomStreamType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.CustomStreamType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("FlagType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.FlagType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("FrameStreamType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.FrameStreamType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("FixedFrameStreamType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.FixedFrameStreamType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("FixedFrameSyncStrategyType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.FixedFrameSyncStrategyType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("PCMStreamType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.PCMStreamType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("StreamRefType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.StreamRefType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("StreamSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.StreamSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SyncStrategyType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.SyncStrategyType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SyncPatternType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.SyncPatternType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("VariableFrameStreamType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.VariableFrameStreamType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("VariableFrameSyncStrategyType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.VariableFrameSyncStrategyType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentAbsoluteTimeDataType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentAbsoluteTimeDataType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("AbsoluteTimeDataType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.AbsoluteTimeDataType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("AggregateDataType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.AggregateDataType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArrayDataTypeType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArrayDataTypeType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BaseDataType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.BaseDataType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentBaseDataType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentBaseDataType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentBaseTimeDataType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentBaseTimeDataType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BaseTimeDataType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.BaseTimeDataType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentBinaryDataType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentBinaryDataType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BinaryDataType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.BinaryDataType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentBooleanDataType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentBooleanDataType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BooleanDataType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.BooleanDataType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("DimensionType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.DimensionType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentDimensionType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentDimensionType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("DimensionListType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.DimensionListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentDimensionListType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentDimensionListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentEnumeratedDataType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentEnumeratedDataType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("EnumeratedDataType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.EnumeratedDataType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("EnumerationListType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.EnumerationListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentFloatDataType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentFloatDataType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("FloatDataType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.FloatDataType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentIntegerDataType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentIntegerDataType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("IntegerDataType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.IntegerDataType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("MemberType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.MemberType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("MemberListType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.MemberListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentRelativeTimeDataType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentRelativeTimeDataType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("RelativeTimeDataType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.RelativeTimeDataType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentStringDataType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentStringDataType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("StringDataType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.StringDataType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("UnitSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.UnitSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ValidFloatRangeSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ValidFloatRangeSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ValidIntegerRangeSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ValidIntegerRangeSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentBinaryDataEncodingType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentBinaryDataEncodingType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BinaryDataEncodingType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.BinaryDataEncodingType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ByteType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ByteType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ContainerBinaryDataEncodingType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ContainerBinaryDataEncodingType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("CRCType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.CRCType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("DataEncodingType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.DataEncodingType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("EncodingType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.EncodingType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("FloatDataEncodingType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.FloatDataEncodingType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("IntegerDataEncodingType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.IntegerDataEncodingType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("LeadingSizeType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.LeadingSizeType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ParityType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ParityType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SizeInBitsType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.SizeInBitsType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentVariableStringType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentVariableStringType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("VariableStringType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.VariableStringType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentStringDataEncodingType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentStringDataEncodingType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("StringDataEncodingType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.StringDataEncodingType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ToStringType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ToStringType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("AlgorithmSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.AlgorithmSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("AliasSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.AliasSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("AliasType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.AliasType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("AncillaryDataType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.AncillaryDataType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("AncillaryDataSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.AncillaryDataSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ANDedConditionsType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ANDedConditionsType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("AuthorSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.AuthorSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BaseComparisonType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.BaseComparisonType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BaseConditionsType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.BaseConditionsType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BooleanExpressionType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.BooleanExpressionType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ComparisonCheckType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ComparisonCheckType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ComparisonListType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ComparisonListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ComparisonType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ComparisonType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ContextCalibratorType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ContextCalibratorType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ContextMatchType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ContextMatchType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("CustomAlarmType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.CustomAlarmType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("PercentCompleteType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.PercentCompleteType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("DescriptionType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.DescriptionType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("DiscreteLookupListType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.DiscreteLookupListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("DynamicValueType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.DynamicValueType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ErrorDetectCorrectType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ErrorDetectCorrectType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("HeaderType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.HeaderType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("HistorySetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.HistorySetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("IntegerValueType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.IntegerValueType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentIntegerValueType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentIntegerValueType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("MatchCriteriaType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.MatchCriteriaType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentMathOperationType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentMathOperationType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("MathOperationType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.MathOperationType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("NameDescriptionType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.NameDescriptionType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("NoteSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.NoteSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("NumberFormatType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.NumberFormatType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("OptionalNameDescriptionType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.OptionalNameDescriptionType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ORedConditionsType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ORedConditionsType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ParameterSetType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ParameterSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ReferenceTimeType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ReferenceTimeType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("RepeatType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.RepeatType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ArgumentRepeatType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ArgumentRepeatType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ServiceRefType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ServiceRefType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SplinePointType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.SplinePointType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("TermType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.TermType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("UnitType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.UnitType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ValueEnumerationType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ValueEnumerationType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("XORType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.XORType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("AlarmConditionsType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.AlarmConditionsType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("AlarmRangesType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.AlarmRangesType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("AlarmType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.AlarmType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("AlarmMultiRangesType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.AlarmMultiRangesType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BinaryAlarmType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.BinaryAlarmType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BooleanAlarmType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.BooleanAlarmType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BinaryContextAlarmListType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.BinaryContextAlarmListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BinaryContextAlarmType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.BinaryContextAlarmType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BooleanContextAlarmType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.BooleanContextAlarmType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BooleanContextAlarmListType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.BooleanContextAlarmListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ChangeAlarmRangesType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.ChangeAlarmRangesType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("DiscreteLookupType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.DiscreteLookupType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("EnumerationAlarmLevelType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.EnumerationAlarmLevelType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("EnumerationAlarmListType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.EnumerationAlarmListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("EnumerationContextAlarmType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.EnumerationContextAlarmType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("EnumerationAlarmType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.EnumerationAlarmType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("FloatRangeType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.FloatRangeType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("IntegerRangeType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.IntegerRangeType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("LinearAdjustmentType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.LinearAdjustmentType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("MultiRangeType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.MultiRangeType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("NumericAlarmType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.NumericAlarmType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("NumericContextAlarmType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.NumericContextAlarmType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("StringAlarmLevelType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.StringAlarmLevelType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("StringAlarmListType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.StringAlarmListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("StringAlarmType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.StringAlarmType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("StringContextAlarmType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.StringContextAlarmType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("StringContextAlarmListType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.StringContextAlarmListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("TimeAlarmType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.TimeAlarmType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("TimeAlarmRangesType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.TimeAlarmRangesType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("TimeContextAlarmListType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.TimeContextAlarmListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("TimeContextAlarmType", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.TimeContextAlarmType)); + } + + private static Dictionary elementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + elementDictionary.Add(System.Xml.Linq.XName.Get("SpaceSystem", "http://www.omg.org/spec/XTCE/20250214"), typeof(global::Omg.Xtce.SpaceSystem)); + } + + private static Dictionary wrapperDictionary = new Dictionary(); + + private static void BuildWrapperDictionary() { + wrapperDictionary.Add(typeof(Omg.Xtce.SpaceSystem), typeof(global::Omg.Xtce.SpaceSystemType)); + } + + private static XmlSchemaSet schemaSet; + + XmlSchemaSet ILinqToXsdTypeManager.Schemas { + get { + if ((schemaSet == null)) { + XmlSchemaSet tempSet = new XmlSchemaSet(); + System.Threading.Interlocked.CompareExchange(ref schemaSet, tempSet, null); + } + return schemaSet; + } + set { + schemaSet = value; + } + } + + protected internal static void AddSchemas(XmlSchemaSet schemas) { + schemas.Add(schemaSet); + } + + Dictionary ILinqToXsdTypeManager.GlobalTypeDictionary { + get { + return typeDictionary; + } + } + + Dictionary ILinqToXsdTypeManager.GlobalElementDictionary { + get { + return elementDictionary; + } + } + + Dictionary ILinqToXsdTypeManager.RootContentTypeMapping { + get { + return wrapperDictionary; + } + } + + static LinqToXsdTypeManager() { + BuildTypeDictionary(); + BuildElementDictionary(); + BuildWrapperDictionary(); + } + + public static System.Type GetRootType() { + return elementDictionary[System.Xml.Linq.XName.Get("SpaceSystem", "http://www.omg.org/spec/XTCE/20250214")]; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static LinqToXsdTypeManager typeManagerSingleton = new LinqToXsdTypeManager(); + + public static LinqToXsdTypeManager Instance { + get { + return typeManagerSingleton; + } + } + } + + public partial class XRootNamespace { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRootNamespace() { + } + + public static XRootNamespace Load(string xmlFile) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(string xmlFile, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(XmlReader xmlReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRootNamespace(SpaceSystem root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public SpaceSystem SpaceSystem { get {return rootObject as SpaceSystem; } } + } + + public partial class XRoot { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRoot() { + } + + public static XRoot Load(string xmlFile) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(string xmlFile, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(TextReader textReader) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(TextReader textReader, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(XmlReader xmlReader) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Parse(string text) { + XRoot root = new XRoot(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Parse(string text, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRoot(global::Omg.Xtce.SpaceSystem root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Omg.Xtce.SpaceSystem SpaceSystem { get {return rootObject as global::Omg.Xtce.SpaceSystem; } } + } +} diff --git a/GeneratedSchemaLibraries/XTCE/SpaceSystem.xsd.config b/GeneratedSchemaLibraries/XTCE/SpaceSystem.xsd.config new file mode 100644 index 00000000..c54d54c2 --- /dev/null +++ b/GeneratedSchemaLibraries/XTCE/SpaceSystem.xsd.config @@ -0,0 +1,14 @@ + + + + false + false + false + false + + + + + + false + \ No newline at end of file diff --git a/GeneratedSchemaLibraries/XTCE/XTCE.csproj b/GeneratedSchemaLibraries/XTCE/XTCE.csproj new file mode 100644 index 00000000..a03f3aed --- /dev/null +++ b/GeneratedSchemaLibraries/XTCE/XTCE.csproj @@ -0,0 +1,16 @@ + + + netstandard2.0 + + + + + + + + + + TargetFramework=netstandard2.0 + + + \ No newline at end of file diff --git a/GeneratedSchemaLibraries/XTCE/formal-26-06-09.md b/GeneratedSchemaLibraries/XTCE/formal-26-06-09.md new file mode 100644 index 00000000..7c32d468 --- /dev/null +++ b/GeneratedSchemaLibraries/XTCE/formal-26-06-09.md @@ -0,0 +1,500 @@ +An OMG ® XML Telemetric and Command Exchange TM Publication + +Markdown version of: https://www.omg.org/spec/XTCE/1.3/PDF + +## XML Telemetric and Command Exchange + +## Version 1.3 + +OMG Document Number: formal/26-06-09 + +[Standard Document URL: https://www.omg.org/spec/XTCE/](https://www.omg.org/spec/XTCE/) + +Copyright © 2018-2025, Boeing Satellite Systems
+Copyright © 2026, EDM Council, Inc. d/b/a EDM Association
+Copyright © 2018, European Space Operations Centre
+Copyright © 2025, Kratos S1
+Copyright © 2018, Lockheed Martin - Integrated Systems & Solutions
+Copyright © 2025, NASA
+Copyright © 2014-2026, Object Management Group, Inc.
+ +## USE OF SPECIFICATION - TERMS, CONDITIONS & NOTICES + +The material in this document details an Object Management Group specification in accordance with the terms, conditions and notices set forth below. This document does not represent a commitment to implement any portion of this specification in any company's products. The information contained in this document is subject to change without notice. + +## LICENSES + +The companies listed above have granted to the Object Management Group, Inc. (OMG) a nonexclusive, royalty-free, paid up, worldwide license to copy and distribute this document and to modify this document and distribute copies of the modified version. Each of the copyright holders listed above has agreed that no person shall be deemed to have infringed the copyright in the included material of any such copyright holder by reason of having used the specification set forth herein or having conformed any computer software to the specification. + +Subject to all of the terms and conditions below, the owners of the copyright in this specification hereby grant you a fully-paid up, non-exclusive, nontransferable, perpetual, worldwide license (without the right to sublicense), to use this specification to create and distribute software and special purpose specifications that are based upon this specification, and to use, copy, and distribute this specification as provided under the Copyright Act; provided that: (1) both the copyright notice identified above and this permission notice appear on any copies of this specification; (2) the use of the specifications is for informational purposes and will not be copied or posted on any network computer or broadcast in any media and will not be otherwise resold or transferred for commercial purposes; and (3) no modifications are made to this specification. This limited permission automatically terminates without notice if you breach any of these terms or conditions. Upon termination, you will destroy immediately any copies of the specifications in your possession or control. + +## PATENTS + +The attention of adopters is directed to the possibility that compliance with or adoption of OMG specifications may require use of an invention covered by patent rights. OMG shall not be responsible for identifying patents for which a license may be required by any OMG specification, or for conducting legal inquiries into the legal validity or scope of those patents that are brought to its attention. OMG specifications are prospective and advisory only. Prospective users are responsible for protecting themselves against liability for infringement of patents. + +## GENERAL USE RESTRICTIONS + +Any unauthorized use of this specification may violate copyright laws, trademark laws, and communications regulations and statutes. This document contains information which is protected by copyright. All Rights Reserved. No part of this work covered by copyright herein may be reproduced or used in any form or by any means--graphic, electronic, or mechanical, including photocopying, recording, taping, or information storage and retrieval systems--without permission of the copyright owner. + +## DISCLAIMER OF WARRANTY + +WHILE THIS PUBLICATION IS BELIEVED TO BE ACCURATE, IT IS PROVIDED "AS IS" AND MAY CONTAIN ERRORS OR MISPRINTS. THE OBJECT MANAGEMENT GROUP AND THE COMPANIES LISTED ABOVE MAKE NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS PUBLICATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF TITLE OR OWNERSHIP, IMPLIED WARRANTY OF MERCHANTABILITY OR WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE OR USE. IN NO EVENT SHALL THE OBJECT MANAGEMENT GROUP OR ANY OF THE COMPANIES LISTED ABOVE BE LIABLE FOR ERRORS CONTAINED HEREIN OR FOR DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, RELIANCE OR COVER DAMAGES, INCLUDING LOSS OF PROFITS, REVENUE, DATA OR USE, INCURRED BY ANY USER OR ANY THIRD PARTY IN CONNECTION WITH THE FURNISHING, PERFORMANCE, OR USE OF THIS MATERIAL, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +The entire risk as to the quality and performance of software developed using this specification is borne by you. This disclaimer of warranty constitutes an essential part of the license granted to you to use this specification. + +## RESTRICTED RIGHTS LEGEND + +Use, duplication or disclosure by the U.S. Government is subject to the restrictions set forth in subparagraph (c) (1) (ii) of The Rights in Technical Data and Computer Software Clause at DFARS 252.227-7013 or in subparagraph (c)(1) and (2) of the Commercial Computer Software - Restricted Rights clauses at 48 C.F.R. 52.227-19 or as specified in 48 C.F.R. 227-7202-2 of the DoD F.A.R. Supplement and its successors, or as specified in 48 C.F.R. 12.212 of the Federal Acquisition Regulations and its successors, as applicable. The specification copyright owners are as indicated above and may be contacted through the Object Management Group, 9C Medway Rd, PMB 274, Milford, MA 01757, U.S.A. + +## TRADEMARKS + +CORBA ® , CORBA logos ® , FIBO ® , Financial Industry Business Ontology ® , FINANCIAL INSTRUMENT GLOBAL IDENTIFIER ® , IIOP ® , IMM ® , Model Driven Architecture ® , MDA ® , Object Management Group ® , OMG ® , OMG Logo ® , SoaML ® , SOAML ® , SysML ® , UAF ® , Unified Modeling Language ® , UML ® , UML Cube Logo ® , VSIPL ® , and XMI ® are registered trademarks of the Object Management Group, Inc. + +For a complete list of trademarks, see: http://www.omg.org/legal/tm\_list.htm. All other products or company names mentioned are used for identification purposes only, and may be trademarks of their respective owners. + +## COMPLIANCE + +The copyright holders listed above acknowledge that the Object Management Group (acting itself or through its designees) is and shall at all times be the sole entity that may authorize developers, suppliers and sellers of computer software to use certification marks, trademarks or other special designations to indicate compliance with these materials. + +Software developed under the terms of this license may claim compliance or conformance with this specification if and only if the software compliance is of a nature fully matching the applicable compliance points as stated in the specification. Software developed only partially matching the applicable compliance points may claim only that the software was based on this specification, but may not claim compliance or conformance with this specification. In the event that testing suites are implemented or approved by Object Management Group, Inc., software developed using this specification may claim compliance or conformance with the specification only if the software satisfactorily completes the testing suites. + +## OMG's Issue Reporting Procedure + +All OMG specifications are subject to continuous review and improvement. As part of this process we encourage readers to report any ambiguities, inconsistencies, or inaccuracies they may find by completing the Issue Reporting Form listed on the main web page https://www.omg.org, under OMG Specifications, Report an Issue. + +## Table of Contents + +1. [Scope](#1-scope) (1) +2. [Conformance](#2-conformance) (1) +3. [References](#3-references) (1) +4. [Terms and Definitions](#4-terms-and-definitions) (2) +5. [Symbols (and abbreviated terms)](#5-symbols-and-abbreviated-terms) (2) +6. [The Specification](#6-the-specification) (5) + 1. [6.1 The Root Object - The SpaceSystem](#61-the-root-object---the-spacesystem) (5) + 2. [6.1.1 The Header Record](#611-the-header-record) (6) + 3. [6.1.2 TelemetryMetadata](#612-telemetrymetadata) (6) + 4. [6.1.3 CommandMetaData](#613-commandmetadata) (12) + 5. [6.1.4 ServiceSet](#614-serviceset) (16) + 6. [6.2 Common Types](#62-common-types) (16) + 7. [6.2.1 MatchCriteria](#621-matchcriteria) (16) + 8. [6.2.2 Polynomial](#622-polynomial) (16) + 9. [6.2.3 Unit](#623-unit) (16) + 10. [6.3 The Schema](#63-the-schema) (16) +7. [Annex A -The SpaceSystem Schema](#annexa--the-spacesystem-schema) (17) +8. [Annex B - Schema Style Notes](#annexb---schema-style-notes) (19) +9. [Annex C - Bibliography](#annex-c---bibliography) (21) + +## Preface + +## OMG + +Founded in 1989, the Object Management Group, Inc. (OMG) is an open membership, not-for-profit computer industry standards consortium that produces and maintains computer industry specifications for interoperable, portable, and reusable enterprise applications in distributed, heterogeneous environments. Membership includes Information Technology vendors, end users, government agencies, and academia. + +OMG member companies write, adopt, and maintain its specifications following a mature, open process. OMG's specifications implement the Model Driven Architecture ® (MDA ® ), maximizing ROI through a fulllifecycle approach to enterprise integration that covers multiple operating systems, programming languages, middleware and networking infrastructures, and software development environments. OMG's specifications include UML ® (Unified Modeling Language ® ); CORBA ® (Common Object Request Broker Architecture); CWM ™ (Common Warehouse Metamodel ™ ); and industry-specific standards for dozens of vertical markets. + +More information on the OMG is available at https://www.omg.org/. + +## OMG Specifications + +As noted, OMG specifications address middleware, modeling and vertical domain frameworks. All OMG Specifications are available from the OMG website at: + +https://www.omg.org/spec + +All of OMG's formal specifications may be downloaded without charge from our website. (Products implementing OMG specifications are available from individual suppliers.) Copies of specifications, available in PostScript and PDF format, may be obtained from the Specifications Catalog cited above or by contacting the Object Management Group, Inc. at: + +Object Management Group 9C Medway Rd, PMB 274 Milford, MA 01757, U.S.A. + +Tel: +1-781-444-0404 + +Fax: +1-781-444-0320 + +Email: pubs@omg.org + +Certain OMG specifications are also available as ISO standards. Please consult http://www.iso.org + +## Issues + +The reader is encouraged to report any technical or editing issues/problems with this specification via the report form at the OMG main page, under OMG Specifications, Report an Issue. + +## Foreword + +The XML Telemetric and Command Exchange (XTCE) data specification presents a robust information model and data exchange format for describing telemetry and commanding in all phases of the spacecraft, payload, and ground segment lifecycle: system design, development, test, validation, and mission operations. + +This specification addresses a compelling need for a standard exchange format recognized independently by each of its authors and contributors.  Lockheed Martin, ESA, Boeing, NASA GSFC, USAF SMC, L-3 Harris, Peraton, Raytheon, SciSys, Kratos S1, CSC and GST have all made significant contributions representing a wide and varied sampling of the space industry. + +Space mission implementations face a very dynamic environment with fast-paced information technology advancement and shrinking space budgets. A more focused use of decreasing public investments in space requires a cost reduction over their entire lifecycle, from development up to the end of the useful life of a spacecraft. The use of standards specifications from the early stages of satellite development through mission operation will reduce life-cycle cost. + +The XTCE specification is intended to provide a robust international standard for data exchange, one that can be easily become a central element in a simplified contract to Space System providers for data stream, telemetry, and telecommand definitions - from simple space components to entire constellations. + +Satellite design and development is performed today through the use of a number of disparate tools and techniques. The interface design for spacecraft systems and spacecraft payloads is still a manual and timeconsuming effort. Data design, both telemetry and commanding, is still performed multiple times by multiple contractors during the lifecycle of the satellite - well before the satellite is ever deployed for mission operations. The standardization of satellite telemetry and telecommand data for spacecraft health and safety, as well as payload interfaces, will reduce the cost of these implementations as well as decrease the schedule of development, integration, and test of the satellite and its component systems. This specification can also be used to support multiple, heterogeneous missions, facilitating interoperability between ground control systems, simulators, testing facilities, and other types of space systems. + +## Introduction + +Purpose:  This specification is an information model for spacecraft telemetry and commanding data. For a given mission there are a number of lifecycle phases that are supported by a variety of systems and organizations. Additionally, many of these organizations support multiple heterogeneous missions using a common ground segment infrastructure. Telemetry and telecommand definitions must be exchanged among all of these phases, systems, and organizations. This is made difficult and costly because there is no standard format for exchanging this information. The lack of standardization currently requires custom ingestion of the telemetry and telecommand information. This custom effort tends to recur, making it a costly endeavor. This customization is also inherently error-prone, resulting in the need to re-validate the definitions at each step in the lifecycle. + +A typical example of this process is between the spacecraft manufacturer and spacecraft-operating agency. The spacecraft manufacturer defines the telemetry and telecommand data in a format that is much different than the one used in the ground segment. This creates the need for database translation, increased testing, software customization, and increased probability of error. Standardization of this data definition format will streamline the process allowing dissimilar systems to communicate without the need for the development of mission specific database import/export tools. + +Ideally, a spacecraft operator should be able to transition a spacecraft mission from one ground system to another by simply moving an already existing telemetry and telecommand database compliant with this specification to another ground system which equally supports this specification. In addition, standardization will enable space or ground segment simulators to more easily support multiple heterogeneous missions. + +The XTCE specification addresses this purpose by defining a standard format for the Telemetry and Telecommand (TM/TC) data required to perform the processing shown in Figure 1 . + +Overview:  The normative portion of this specification is presented as a single XML schema compliant with the W3C recommendation of May 2, 2001.   The schema is found in Annex A or may be obtained as an independent convenience document. + +The schema has an object-oriented structure where all the elements of this specification belong to a single root object - the SpaceSystem. + +Philosophy:  The space industry is currently divided between Packet telemetry and commanding and Time Division Multiplexing (TDM) telemetry and commanding.  While the basic construction of either TDM or packet telemetry is fundamentally similar, nomenclature differences between the two give the appearance of a larger divide.  The XTCE specification avoids using nomenclature from either the TDM or Packet worlds to avoid any possible confusion; terms like 'minor frame', 'major frame', or 'packet' are nowhere in this specification other than in examples.   Furthermore, the XTCE specification does not itself use any existing Packet or TDM standards (such as CCSDS packet formats, or IRIG-106 minor frame standards), but it does provide a mechanism to use XTCE to build libraries of available containers that represent systems whom implement these standards. + +Figure 1: Telemetric and Command Processing Meta Data Encapsulated in XTCE XML + +![Image](data:image/png;base64,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) + +This page intentionally left blank. + +## 1 Scope + +This specification addresses the need for a standardized information model capable of supporting Telemetry/Telecommand (TM/TC) definitions across the widest possible range of space domain activities.  The goal is to allow TM/TC definitions to be exchanged between different organizations and systems, often at the boundaries of mission phases, without the need for customized import/export, re-validation, or even re-implementation of mission databases. + +The scope of this specification is limited to the telemetry and commanding meta-data constructs necessary to perform satellite and payload data processing.  This specification includes the meta-data needed to: + +- Define the structure and sequence of CCSDS packets TDM frames, and proprietary implementations. +- Define the data manipulation required for packaging and unpacking of individual data items. +- Describe telecommand data including identification, argument definitions, header and footer parameter definitions, and validation criteria. +- Define parameter and argument encoding types. +- Define data properties including including default values, validity criteria, and data dependencies. + +The scope of this specification does not extend to: + +- Data distribution mechanisms or rules +- Command and data protocol specifications +- RF or analog stream characterization +- Data grouping including aggregation and coherent data sets +- Data representation (visualization properties) +- Scheduling configuration properties +- Orbital properties +- Displays +- Flight Software + +This specification addresses only the definition of TM/TC data, but is not a specification for the transfer of live or historical TM/TC data - this is a meta-data specification, not a data specification. + +## 2 Conformance + +The Schema (.xsd file) in Annex A is normative.  A compliant database is an XML file that complies with this schema. Fully compliant implementing software will interpret and/or generate any databases compliant with this specification. Compliant implementing software will interpret and/or generate all database elements required by the schema. + +## 3 References + +The following normative documents contain provisions which, through reference in this text, constitute provisions of this specification.  For dated references, subsequent amendments to, or revisions of, any of these publications do not apply. + +| W3C Recommendation - Extensible Markup Language (XML) 1.0 (Second Edition, 6 October 2000) | http://www.w3.org/TR/REC-xml | +|----------------------------------------------------------------------------------------------|-----------------------------------| +| W3C Recommendation - XML Schema Part 0: Primer (2 May 2001) | http://www.w3.org/TR/xmlschema-0/ | +| W3C Recommendation - XML Schema Part 1: Structures (2 May 2001) | http://www.w3.org/TR/xmlschema-1/ | +| W3C Recommendation - XML Schema Part 2: Datatypes (2 May 2001) | http://www.w3.org/TR/xmlschema-2/ | + +## 4 Terms and Definitions + +For the purposes of this specification, the following terms and definitions apply. + +## Telemetering + +(IEEE Std 100-1996 [1996]) 'Measurement with the aid of intermediate means that permit the measurement to be interpreted at a distance from the primary detector.'  Measurements on board the spacecraft are transmitted via one or more telemetry streams to spacecraft monitoring systems.  Telemetry as used here refers to these measurements originating from both the spacecraft and from systems (such as ground system components) used to support the spacecraft. Most telemetry measurements will require engineering unit conversion and measurements will have associated validation ranges or lists of acceptable values. + +## Telecommands + +Telecommands are messages which initiate actions on a remote system.  As used here may mean both telecommands destined for the spacecraft and to the systems used to support the spacecraft.  Spacecraft commanding usually implies coding and packaging of the telecommand information, validation and verification, as well as authorization to perform. Telemetry and Commanding data are necessarily related to one another, with some telecommand information originating from telemetry and telecommands relating to particular telemetry measurements.  Therefore, the ability to relate individual telemetry with one another and to commands is a very important part of this specification. + +## Containers + +Container is an abstract term generally used within XTCE to refer to the definition of bit stream content partitions instead of specific implementation terms, such as Packet and Frame. Packets and Frames would contain one or more Container objects from an XTCE TM/TC Database. + +## 5 Symbols (and abbreviated terms) + +## List of symbols/abbreviations + +In general, the XTCE specification favors expressive, fully spelled out terms over abbreviated notation.  The exceptions are modifiers used as prefixes or postfixes to objects used within the schema, and of course 'XTCE' the name of the standard itself.  These terms are listed below. + +## Abbreviations: + +DOM - Document Object Model + +Parm - Is an abbreviation sometimes used for Parameter + +| XTCE - XML Telemetric and Command Exchange format | +|------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Prefixes and Postfixes: | +| Meta - Is a description; For example a MetaCommand is a command description. | +| PCM - Pulse Code Modulation. | +| Set -An unordered collection; for example a MetaCommandSet is an unordered collection of command descriptions. | +| List -an ordered collection, for example an ArgumentList is an ordered collection of arguments. | +| Ref -A reference (by name) to an object defined elsewhere in the XML document. For example an ArgumentRef is a named reference to an Argument defined elsewhere. | +| SAX - Simple API for XML | +| TDM - Time Division Multiplexed | +| UCS - Universal Character Set | +| UTF - UCS Transformation Format | +| W3C - World Wide Web Consortium | + + +## 6 The Specification + +## 6.1 The Root Object - The SpaceSystem + +Recognizing that spacecraft operations involve much more than simply controlling the spacecraft, the top-level object is not 'Spacecraft' but the more generic term 'SpaceSystem'.  This name reflects that a spacecraft operations center must control antennas, recorders, ground processing equipment, RF hardware and many other assets that may use this data specification; each of these objects is a 'SpaceSystem'.  A SpaceSystem, like all of the major objects in an XTCE database, may have a short description, a long description (that may contain HTML markup documentation), and a list of alias names.  A SpaceSystem may have a Header, zero or more sub-SpaceSystems, CommandMetaData and TelemetryMetaData.   The CommandMetaData and TelemetryMetaData components provide boundaries for telecommand meta-data and telemetry meta-data.  The SpaceSystems (as are many other XTCE Schema Types) are types of NameDescription.  A NameDescription simply contains useful descriptive information about the objects. SpaceSystem may contain sub-SpaceSystems, thereby giving the data a hierarchical structure. + +## Note on the sub-SpaceSystem and the hierarchical structure + +Because a SpaceSystem may itself contain other SpaceSystems, the data may also have a hierarchical structure - similar to the structure of a real space system.  The hierarchical organization offers several important advantages over a flat entity list: + +- Fewer name space collisions - Almost every spacecraft contains redundant components for reliability or to accomplish the mission.  A communications spacecraft may have a dozen transponders each with the same set of telemetry points and commands.  In a flat namespace each of those telemetry points needs to be mapped into a unique name.  Using a hierarchical namespace, those identical telemetry points can be simply placed into separate sub-SpaceSystems. +- Better organization - modern spacecraft typically have thousands of telecommands and tens of thousands of telemetry parameters; this number is trending upward.   The directory structure provided by this specification provides an improved way to manage this large volume of data.  Each subsystem developer can deliver SpaceSystems representing their subsystem without integration issues. +- Spacecraft, which are normally thought of as a SpaceSystem may actually be sub-SpaceSystems for a constellation of spacecraft SpaceSystems. +- Natural hierarchy - spacecraft designs are increasing in complexity and are normally comprised of systems of systems.  The hierarchical organization allowed by a directory structure reflects this. + +## Note on Names + +Parameter, and MetaCommand and other major entity names within this database may be any length but may only contain numeric, a-z letters, underscores, hyphens, or backslashes.  The characters '/', '.', '[', ']' and ':' are expressly reserved.  The '/' is used as the SpaceSystem separator (Unix and HTTP style).  The ':' is reserved for implementations to use to separate names from aliases using alias namespaces.  The '.' is used to select members of aggregate Parameters and Arguments.  The square brackets are reserved for array indexes.  Names are case sensitive. + +Figure 2: SpaceSystem UML Class Diagram[1] + +![Image](data:image/png;base64,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) + +[1] ' AnonymousType' is used in the UML whenever a new complexType is generated inside an Element definition (without a named ComplexType). + +## 6.1.1 The Header Record + +A SpaceSystem may contain an optional header record.  This record contains some basic context on the data itself (e.g., source, version, revision history, notes, and classification). + +## 6.1.2 TelemetryMetadata + +Because Telemetry and Telecommand databases are frequently developed and maintained independently, the XTCE format divides TelemetryMetaData and CommandMetaData into separate, but similar sections.  TelemetryMetaData is really nothing more than a grouping for data about Telemetry.  TelemetryMetaData has a ParameterTypeSet, a ParameterSet, a ContainerSet, a MessageSet, a StreamSet, and an AlgorithmSet.   Following are descriptions of these collection types. + +6 + +Figure 3: Telemetry MetaData UML Class Diagram + +![Image](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAzMAAAIxCAIAAAD2dnFeAAAgAElEQVR4nOydBVgbSRvH0RghCQnu7pRSAVqglJa69+pXt6te/erucnV3d6NeCrRQgVIoxd3dCUEiEL432ZLmINDCBwfXzu/Jk2d2duSdWZn/7o5I19TUSCEQCAQCgUAg2gFyIldqampiYmIbmoJoV+jp6RkZGVVXV7NYrPz8/IKCAnBTKBQajUalUhUUFOTk5L6fCgKBQCAQiKbwrXENCAi4eOmyEl2lDa1BtBNKiguGDB40ZsyY0tJSkOwxMTGxsbFcLldLS0tXV1dHR0dDQ0NRUZFAIOCFyMjISEtLt7XVCAQCgUD855EWfc28devWm7cfZ85f3bYGIdoDV88fkpfm6uvrBwcH83g8BwcHR0dHIpGYlJQUGRkZEREBntra2tbW1lZWVhYWFiQSCcRZW1uNQCAQCMR/nn98kJKGH3rzgRCeCVFRUSwWy8nJqUePHjQaDdNeWlpa9vb2bDY7Li7O39/fx8fH09OTQCBIC2lrqxGI1kJFRcXFxWXgwIFtbQgCgfj5QV2FEJJRU1NTV1dPTEysrKw0Nzc3MjLC4/EFBQVpQgoLC0GfGRsbq6qqampqgjhD78wQPzEfPnxA3XARCMS/A1JmCMmYmJj06NEjJSUFRFhCQkJSUpKU8JVqVVUVn8/X0tJSUVEB6QbKDBxYV7O2NhmBaC3gEmAymW1tBQKB+CVAygwhGZBc3bt379q1a0ZGRkxMTFRUFJvNBkFmbGxsYGAAagy9J0MgEAgEosWRrMwKC/N5XG4dT7IihUxWbCihwoJ8Ho9LJClQqbSWNLAezJJiaWlpSlNygSiVlRXgkJaRUVZWlZWVBXdFRXkpswQLQKPRCURiIykUFRbgCQQFBXIjYUpKitnCXEQoUqiNR8HgsNlMZrGyilojQofH4xUW5NX3pzOUcTj8d7NoNvLy8gZCBgwY0Hq5IBAIBAKBwJCszDav+TM0JLCO56y5yyZOm9dQQhvXLAj/EjRs5ISlq7a2pIH1OH18Hw6HW7R8449HOXV0z9NHt8FBpdEv3HjGYAhmBnnj/Xz31pVYgC27jrn26t9IClvXL+7u0nv0+GmNhDl+cMfLZ/fFff5ctuG3sVO+a96XkI97tq2+cP1ZI3IzPS152ngJ2ujIqZsd7Lp+NwsEAoFAIBD/CSQrs4VL1pWVsXx9nl+5cBxPIG7ecURZRU1DS6eRhCorystYpRwOu3Xs/Mr2Tct9vZ+59xvWpFgcdiXYBg45OfkaPh/zrOJxMU+Bu4rXUFwms3jj6gUhQQFdHVx+JBdL645LVwq06d4day6dO8JilU6dubCRWM+f3Dt/6gDUXeOLMWhoah88fg0cZ47v++jva2PbBdOmhsZmjVuFQCAQCATiP4RkZWZibgX/SYmx8C8rI2PVwU5TSxfblZ+Xc/bkflFIUAZjJ8yoE53Nrjx38kBp6ddvhSqq6jPnLAWHx71rUZGhxiYWfQcMh0S4XE6/gSM6demWlpp07dJJCDBmwnQjY3Nw5OZknT998Js9ppa9+w2BNN94PSsqzA8KfA/hR46edPbkgbKy0jq5Dx810cKyAziKigrOndxfVVX1pfb9X0VF2ZH9W6fO+jMxIfbpozt1IsZEhz+4c0W02dXB2cjE4uLZw4Ef/EBxenk+oirRBw0dzePxINni4kIsGJ2hAqXDvpACFArNrosjOGbPW3798qknD29KS0tPmbEAfO7evBgfFyVKf/rsxR/9/e7fupSUEEsgkg7u3TRt1iJdfcOQ4IAXT7+9e3N169/dpReRSMKSVWIowz+V+jWXKxePZ6Sl2HV27D9oJBb+9vXziQkxouhg24e33li1i975QfqQiyiMqNoRCAQCgUC0LU0bAQAS6qnH7bs3Lrj3G0Kl0WOjwz9/8icrKPYZMFwUpiA/Fxp+CGNt21lDUxui+Ho/p9HoffoP+/jB9+WzB8amFlVVPB6X8/rVE1YpE3RJRUU5h13p9eKRjLTM8FG/g0wBQQM6pk+/oRQqLToyNPTzRy6XK9b1rQbgcDkQDLKzse1sam4NUsnH8wns62LvhCmzclbpg9tXxF/jcTkQ5daAIaPCPgcGfXwnXrSoiC/3b19+9dzDvf9QkFkg/lKTE7o59xK9Y6vh10C2oAu9Xj4GszH/jPQUyBRK11esBjB6ug/89PHtzatnfV49+X3KH5ByZkYqFquUWfLq5SMKhcrn80WvymAXZACCKTjwgyjT92+983OzwR6H7q4SjwhI1S/BH8EwkTJ77/vqnZ+XKADYBpUdHfHlS3CAAlmxT/+h73y94OgwmcWg50Aci6rdzMKmfvrV1dVMJjNHCGhcGiQnRFFRUV5evsETBYFAIBAIRLNomjID+XL2xN/gmDl3mYmZ1YUzh47u33bs4PYebv1EYdLTkg/s3gCOMb/PcHHt8/zx3XV/zd25eUXHzg5YgLyc7M+fPmzZdTwuJvLl0/ugkHr1GbR05VbQbbevn1PX0FJWUTt/6qCMjMzs+SsMjc3Onth/4vDOm1dO33z4BrQgaKMu9s4Tp84tKSnCEuzdd8ik6fNBSBXk5cRGR6QkJ2RnZRBJpKjIUJA+xqaWEAV+ZLKinr5xbEwEFkuJrgwZxcdGYptv33g+uHNFV89w5fpdOBx+89o/H92/IS0tvW3PiQ9vfUDegbIcNGwM6Ejvl4+37D5WUV4G4ubTx3dg9p5tqxrv7FVdVf3a+/n4ibPUNbVyc7KyMtJA3kEZt+w6RqHQIsKCFRUpS1ZuodKUwAxQPIuWb8TeriXERfv6vCAQiA0pM2MTy/TUZJCnUBCoq5iocGZpibqmNk4eB5oYAvi9frl4xSbQZHCYjh/cAUfqyvljoSGBo8dPX7VhN2hEUbXXUWYVFRXZ2dklJSVpaWnJyckpKSk8Hg+bvUxNCIVCIdWCVmdCIBAIBKJFaOasGdBsl5WxuBxOI2HYlYIwbHbdnme2nez3Hr4o2uzVZzAmESTlUi7IhdtYLiL0DIxPX340bliPk4d3VfF45hY2a5bNBv91W/Y/vHPl4b1r5la2u/afGTvsq8Rxdu0zZsL0SaP7iCfCr+FDjjgcF1SIxFxA/Zy8eB8MA60Z8P7ND04bgScQ9hw8V1lZeero7uuXTuFwuJoavsSQoDh5PG7wpw/zZ4wmEknfLfvqjXukpKXu3rhQUlx08OT1vxZNy8nOXLB0nbq6FghiCLB1z3FjE4vI8JA6ESEXKGl5eVlD/dtAjd29ezc8PBzcXbt2HTduHJFIBM/o6Oi3b9/CYQVxZmZmZm5ubmpqCrvQDBqIlgXOKLhSRP0EEAgE4hehmcpsxaKp8vI4UQ96iezaupJAIFZWVDQSphH4fP6yBZPl5OUbz6Vlyc7MmDjKXVpamllc1FAYUEuL5kyIiggBYaeja7CrdoDnd9m7Y7XXi0fdnXuNnzx7wawxfL5kcQZh9u/ZALLs6JnboOQCA942pyTfw/PZg4APb8CGwoJ8iQEiIyNLS0udnZ3d3d0VFRXxeDxUi46OTrdu3bhcbkxMjJ+fn7e39/Pnz7HPmuidGaJlMTQ0hOcBGxsJH9kRCATiJ6aZymzG7CWa2l/HBODweCKJVD/M6HHTrGzsRJsamtpNygJa+plzl6prfI0FIg9PIDTP2jocP7SzuKigc1en+rvoDOUVq7fL1fagoinR6wRITU7Yu2NtdMSX36fMGTx8XFztt9HG4XDYu7euevvG09Wt/4Qpf+DxDRbk7s2Lt6+fp1Bom3ccMbfqgCc0Nsva/0Onrt1Gjfs2CYi+oUmdALpCQJ/l5eVZWVmZmZkRCITc3NyUlJTk5OSioqKampoOHTpoaGiAXEOzziJanPPnz8Np1tZWIBAIxL9NM5UZtOsmZlZBge/9370mkykd7Rzqh7Hq0MnFtU9sdLjncw/YtLTu2KQsQJmBeDI0NvsU8Dbggy+FSrPtJCEXcWRlZUAw3bx2FqIkJsRQqUrjJ89S19CsEywy7DP8S1RmRCLJydUdh8N7vXwcHRmqrasvGpSKwWKV+r/zERTHqqOevlEjyuz+7SuhIZ+g1KPHTeVXVwd9fFdUmK9nYGxhZZuUENtQrMT4mMT46A4du3Z36d14YUX07NU/Pzc7OjLs9LG9rNLSwcPGdO7aPTM9Fdt7/dKpcRNn1o+loanr0rMvm115/fLp8jIWSYGso2sgHsDExMTNzS0jIyM/Pz89PR1bNFBeXh4UGJVKBTXGYDCUhYADh8MhZYZoWc6dO9dQpwIEAoH4iWmaMtPQ1Hbq0fu9n/c7P6+E+Bg/nxefg/x79xnMF+s1pURX7t13yHs/r+DA92Ws0tDPH58/uefcw73qh2+ymtq63Z17+b9//db3VWxMxBuvZ2FfPkGaNTV8R6eexUUFqSkJH/19648llJGRHTl2ykd/P6+Xj2BTW9dg0vQFBLHXTiC53NwHvvZ6pqyiZmPbSTyusalFx04O6WnJL589kJOTv3/7cmFBHqgcPJ7Qq88giBIdFRoeGkxTEgwyhdJ9DvZnc9gRocF1bCgoyIXyguP65ZMEPAHsGTx8HJfD6eHWz9vzcXxsJOzNy80W9e4yMDIFIRUXG+Xl+dit9wBLa1sra7vi4kIsEQj53erq5twrIz3V1+fFdeHMI+4DhoOwEymzgvycgPdvQEGqqKq79uovJyfn0N0VNGJaaiJkUVlRfuX8URNTS9t6IxhAb3Xp0sXW1jY7Ozs+Pj4uLo7D4aiqqoIm09XVhb0EAgF9wUQgEAgEomVpTJlRqTRjEwsCkQhKBfOxtbNfvmZHbvbUF4/vYT49ew/8a/0ucGhr65eVlkLzr29gvGnH4eULp/q/9YEf7LJ3cNm+7xQ41NS1IEENza8z1mrp6JWXsSAKuGVkZfUNTCgUmpISw66z47LV21YunvHM4zYWspf7oOVrtoNjzsKVMtIyIHHAAEurjgaGJjQanabEqG+8ggJZT98IAoNbVU0D8tXS0lMgK67euLe6qrpjZ4fBw8cmxseAPwQgkymgV+B//671V88fx1IYNnLCFOEksWs27auuqooI+/ze12vOnyu37Dq2/M+pgR/84CclGB0pSAEEnKq6IBepGqmLpw9JCeaBk/196twBQ0ZJCT/4gv01fH5Q4HtsLzZ/mCKFCooNSr1z84rbV89aWHYYMmI8kUg6c/xvLBiWPtSbqFzq6pqCOpQ066+MjIyOrqEC6R/rQf25fOPTh7eTE+Pc3AetWLsDfP5Y8BeE9HrxCMtCVVVj7qLVUOcSzwF5eXnss2bv3j/6Dg+BQCAQCESzkRa9vLl165bv248zF6wR7RMftSd6O1J/KB+2S+QPmz8SppEojaQg0QCpf3Y/B0nn9fIRSMZ9Ry7WSU083+ZlKjFYI4gb1pDl3zWjIUtEe+/cuLBry1+gO2899FXX1IZd2GQlsOvWIz/RLLLfPYgirp47aG1hOH369B8qJALRCsycOXPcuHHu7u5tbYiAkydPMpnMlSt/dLgPAoFANJvG3plJ/FbV0Acscf8fCdN4lEY+kzW0KykxbvXSWeDIzkofOWbytNmLRCEbSrx5mTb7E14zquW7gTeuXiCYw6ykyMzCZuvuY8qqavWj/4gPAoFAIBCI9kAzRwC0QxgMFdEKlUYmFnV67v+sDBg8yrF7TylB9z6GkfC7Koatnf22PSfAoaZWdwAEAoFAIBCIdsvPo8yoNCWsU9cvhaNTT4n+mtq6omlNEAgEAoFA/FdAMx0gEAgEAoFAtBeQMkMgEAgEAoFoLyBlhkAgEAgEAtFeQMoMgUAgEAgEor2AlBkCgUAgEAhEewEpMwQCgUAgEIj2AlJmCAQCgUAgEO0FpMwQCAQCgUAg2gtImSEQCAQCgUC0F5AyQyAQCAQCgWgv/DyrMyEQCESziYqKunz5MuYeOXKkvb194+G9vb2zsrImTZrU+qYhEIhfC6TMEI1RXV3NYrHyhYCbQqHQhCgoKMjJoZMH8ZMQERHh6emZlpaGbfr4+MjIyHTp0qWh8G/fvj1x4gRcEUiZIRCIFgc1rgjJcDicgoICkGWpqamxQrhcrqampq6urra2toaGhqKiIkEIHo+HZkxaWrqtTUYgmsnDhw8/ffrk4eGBbc6aNSsrK0uiMqupqYmPj7906RKIs+7du/+7ZiIQiF8CpMwQkklOTr59+3ZwcDCPx3N0dJw4cSKRSExMTIyMjHz58iV4gj6ztra2srKysLAgkUhImSF+BaqqqoYOHbp161Z4RAkJCWlrcxAIxE/IP5RZclLs39uXt5UpiPZDSVGBlFRNaWmpk5OTq6srlUoF7SUjI6OlpWVvb89ms+Pj4/39/X18fDw9PQkEgrSQtrYa0fbAyWBkZDRt2jQajdbWtrQKcnJyjx49UlNTi46ObmtbEAjEz8k3Zebo6KisrNyGpvxX4PP54eHhgYGBZDK5c+fOpqamrZdXXFxcUFBQRUVF165dO3To8P+on+Li4rCwsICAAFtbWzs7O2haGgnM4XCys7MzMjISEhLKy8stLCyMjY3xeHx+fn6akMLCQtBnJiYmqqqqmpqa0B6Dbmu2bYifhpycnKdPn06YMKGtDWkt4Bps1UsegUAgvikzPSFtaMp/BR6Pl5SUBHUlKysLusTNza313hiBnFJXV4ccQQVCRv9Pdy7QWLGxsZaWlgoKCmZmZiDOGtFSXC63oKAgVQiIMIgLRZYSNkvV1dXg0NHRUVFRAXmnKgSHwyFlhpASjnC8fv06dpIgEAgEohmgfmZNA5ocJpMZHx8PEqeoqAiEC4vFolAoLZ5RTU1NWVlZcnIyCCDQUpAj5AsZNW9EJIfDycvLy8rKGjRokLe3d3Z2NtY5rKHwoLQ0hXTp0iUjIyMmJiY6OhoSAR99fX0DAwNlZWX0ngyBQCAQiBYHKbOmUVlZCSIJHLa2tiBZoqKiEhMTO3bs2OLvzPh8flJSEoghkIAggyAXyMvOzq55yqywsBBkmaKiYo8ePSIjI/Pz80GcGRkZfTeivLy8gZABAwY0I18E4j8BPPPA849o1gx4MlFSUpISPonl5OTQ6XRwl5eXw1WjoaHRloYiEIhfAPTOo2mwWCx/f38bGxsVFRXQK6qqqkFBQTU1NS2eETQJnz590tTU1NPTU1NTA3327t07aBual1p6ejo0MI6OjtDkgLyrqKgAqdeyBiMQ/11mz549YsQIm1qsra1XrVoF/kwms1evXh8+fAC3h4fH2LFj29pSBALx84OUWdMoKyv7+PGjkZERPFKDbKJSqeHh4a2kzEDzQS7q6urwyK6vrx8YGAiKqnmpZWRkZGVlQXsjKytramoKpUhJSWlRexGI/zAEAgEU2NNaQKURiUTwV1RUvHLlSqdOncDdu3fvQ4cOiaJMnTp1+/btbWYxAoH4eUFfM5sGKBsymczlcquFgCaDe3or5QUZQRZVVVVycnLwj81b0bykcDgcHo9ns9lSwhEMUArwaVFjEYj/NgwGw9nZuY6nvLy8aJkmNTU1Ozs70S5dXd1/zzgEAvErgd6ZNQ14kjY3N8/Ozi4rKyssLCwvLzc0NGyNgZkgnoyNjSGX4uJiFouVm5sL+YK6al5qysrKdDo9JSWFz+dnZGRAKRqfNQOBQEgJX10nJSWVlJRgT2KlpaWxsbEcDqet7UIgED8zSJk1DdA0lpaWaWlpcI8GtcRkMk1NTVtDmcnIyIAUgyYhPz8f/tPT062trZv9fk5VVZXBYMTHx0PrkpiYCOloaWm1rMEIxM8Hj8f79OkTiDN4BqusrIRnm3fv3oGjre1CIBA/M0iZNQ1QZhYWFhkZGaCWcnJyWCxW6ykzSBmUX15eXlFRUWZmpo2NTbOVmYqKCigz0GRsNjs5OZlEImlqaraswQjEz0dNTQ1c6V++fIELEJ6RQkJCCgsL0WxtCASiVUHKrGngcDh1dXU5OTlQOdnZ2a33WRDUnqqqKkgxaBLgkR1y1NLSkpeXb15qZDJZSUmJw+FA01JWVkaj0ahUassajED8fMAV5+DgAE9i6enpubm5sbGxzs7O2OAABAKBaCWQMmsaIJjgZm1oaBgaGpqTk/P/qKXvZgRqTFtbG5RZRESEvr4+iMJmv5yTkZEBKQaa8uHDh6D2GAxG8+ZFQyB+KbDunnDp8fn8qqoq8LGwsGh2d08EAoH4EVDz3GSw74xRUVFKSkqgnFp1JW8QZGFhYRUVFUZGRv/nGlCKioogKO/fvw9mv3r1CpRlC9qJaOcQiUQ9PT0XF5e2NuQ/BlxxZDIZLpy4uDgOhwOXITzhtOolj0AgEEiZNRm4L8NjNIlEYjAYoMxaNS8dHR06nV5dXf0j8/U3DigzMBse/ZWVleE/Pz+/RSxE/CdgMpmJiYm/sjIrLi4ODg5uXly4WLA5C0tLS318fFrULgQCgfgGtNQODg5ImTUZUGa6uroKCgqgmVp7qRZ1dXUajcZms///yZNASsKjv4GBwfTp083MzFrpIyyiffLixQsPD4+2tqItSU9P37Vrl7Kqhqxsc296Mrigz2Hwa1G7EAgE4iuVFWUqynSkzJoDKDM8Hi8jIwPiprV7nOBwODk5OVlZ2f+/0zEkoqWldfTo0RYxDIH4z0EgkGYvXEdTYrS1IQgEAiGBoADfYH9PKTQCAIFAIBAIBKL9gJQZAoFAIBAIRHsBKTMEAoFAIBCI9gJSZggEAoFAIBDtBTQCoEFKS0uLi4sxt6qq6nf74BcUFMjIyNDp9NY3DYFAINoRxUWF7MqKOp4kBTKVptQm9jREQV4OSUGRpKDQpFglxYWVFXVLRyQp0JRa8m5fvw4pVCUFMrnxWGWsUi6XQ2eogLsgP5fH5dYJoEihkhUpLWgn4l8AKbMGuXLlyurVqzH3o0ePevbs2Xj4tWvXMhiMHTt2tLplCAQC0Z44vG+zt+fjOp4jxkxe8tfmNrGnIVYvmz1i9KSBQ0c3KdaxgztePr1fx3Pw8LF/rdvVcqZJHdm/1evFP6a2Wbpq6/BRExuP9eDOlcjwkF0HzoJ7/cp5kWGf6wSYs3DVhCl/tKCdiH8BpMwkAwKLyWQ+f/4c2zx9+nRubu7YsWMbCj9t2rSnT59OmjTp3zIQgUAg2gscDru8vMzWzv7P5Rswn8vnjj5/fJfDrly1YU/b2oaRk525YeW86MjQISPGNTXuxGnzBg0bExH2+cBuQelWrN1pbmmDvaZqKTasnP/+rXePXv1HjZuK+ezc/Nf5UwdZpcxJ0+c3FOvkkd2PH9w0MbPENpes3FJRXubt+eT6pZMkksLmXcfoDGUNTZ0WtBPx74CUmWQSEhKoVKqTkxO2uWHDhuzsbIkhc3JytmzZYmNjExMT0xqWUCiUsLCwAwcOtEbiiHYFnU7v3LmztbV1WxuCQDQHCpXWsZMD5n7qcbuwIC8hPhrbvHn1TFJCLOaWlpaeOW+5ioraOz8vP58XougDhoyy6+yYmpxw7dJJkaeNbechI8ZXV1efPbGvsCDf2dVdTV3r3q1LsGvqrD81tXQDA/y8XjwiKZBnzl1KJgs+24WGBELuohRcevZVUVW/dO5ISHAAn89/4nEbArv3G1pWVnr2+N8VFeVYMA0tnWmzFoHj7s2LcTERoujT/1isp28Ev8rakMamFlBMSO3qhePy8riZ85YpCSfJi4r48vDuVVFER6eeevrGt64J3maBttPVMwRHRnoKaFZRGEvrjthbsdiYiJLiQjU1TVEFzlm4EirQ0NgM3Gx25dkTf5cyS7BdKmoaM+csPXPi7+dP7uVkZ0hJSx07uH3m3GWmZlaCpKLD4V9WTs7Kxk5NXdPn1ZNzJ/erqmtCFCx6/WqvquK9eu5BJJEgEUVFKniGfQl68vCmKAxUew+3/t85/IiWAymzFkBWVnbUqFGttBKlhYUFm80uKipqjcQR7YrPnz8rKCggZYb4meByOS+f3s/NyZKRkZUS9tnyevmISlMaPHxcTGQYaCwFBcW+A4fLycmDYouPjfzw1gcLKSXUWKAz8ASim/sgz2cPU5ITsrPSO3XpVlFe/vL5AxBYmlo6zJLi/LzcoI93QRcOHDIalApIq4D3r937DYMUPrz1zsnO7NjZQUb6a5rC9YdlwPPZ4zt3b13q6uAC8iU5MQ5CUijUvgNH+r9//cbrmbaOfjfnXlgMieVKSYoH4wlE0vjJszFllpGWgklGjPS0ZIdurnD39nz2AI8nDPttAuT76P51j3vX+g4YoUBWDA8NAjEHKfQbOAKLEh0Vevv6ORJJAcxwcx+Ieebn5bx4cg8KZdvRHuRjakqi3+uXYCqrlCkttA3+haWTbGd4aDBYZWpuLVJmWLWLApSXsfQNTQry8wL9fSlUpUFDoQ4zIQAciD79BXXo/84Hql1WVs6ph3vTjz+iOSBl9v+irq5+5MiR1kvfWkjrpY9oP2zdurW0tLStrUAgWhIej+fr82LKzIV0ukpebnZaatKrFx7nTh4wNvn6DY6mRF+2aiuRJOiVD6ItNzdr+Zpt0ZFhVTweqC7P5w8unTkMygwLnJgQa2Zh88eCFT6vnlw5f0xHz2Ds7zPHT5rl9/rFsQPbLa07fvDzfv74roWV7aoNuyH8ij+nQUgQRguWrvP2fMznc0F59O47OODDGwgPASCufbceD+9e27p+8d8719s79sAyMrfsgKXQEAxlFRMzS9BJUeFfyGRKRUV5clI8iEhzS5u46IjKygqQbqCH5i9eA7Zdv3wKTAVxc/XiCRBecxet0tTSPXpg24XTh86fPADKDGIVFuR+/OALPzpDWYmuAsG0dQ1UVNUy0lMO7t0EOY6aMM3FtQ+Ubt1fc/dsW33rkV9hfm56WpKxqQUk2JCdIF51hS/8QoICzK065GRlgswCFauloxcbFc7n8yPDQ6w6dAJ96evz/PjBHZZWtgEffJ89umNuYYPVwMrFM+C44PAEpMz+NdCsGQgEAoFoAaqqqlilTOzH43Ll5eWJRAUFBWZfW5gAACAASURBVPK+I5eMjC1AncyZNnLvjjWNpODeb+jSlVtzsjOXLZi8YPbY115P6wQYMnzcgiXrRJtTZy4aP2l2/XT41dWYGVVVvMZtBkUFwdjsukMvv0sPt/5rN/3N5XBWL5v15fPHh3evnD62B2TQmcuPdIQfLvsP/k3iAIgaKalyFgsyhbgiz807j7r2GkBWpBCIxKLCgj//GDdz0pCXT++xKytFYSqFplbWGwPbOKPHT585Z2l6WvLsKcOyM9NPHdv98O5Vu86Ou/afBbEFAUA0T5gsYYhANf9rHYK2blKOiP8f9M4MgUAgEC1A8Kf3Y4d9fedUyizpN2jkn8s3Yps7t6x44/3Mxa3vyNGTF85ucCgVEBn+eeXiGcVFBZt2Hv0SHHD/9uVmWJKYEItZUlL8nX4gW9cvwePxoj5k/wLsyooFs8fIysqBOhP3X7h0/ax5ywMD3m5esxDzOXtyP5NZ3N2lN7a5e8tKPIHQVGXWbJIT43+wDhEtDlJmCAQCgWgBTEytZs9fIdrU0NRmMFQqyst2bvnrw1sf977Dxk2aJXxn1CC+Ps/PnzpQXl62acfR7s69xHviNwnIevmabxMYMZRVGwr5+5Q5puZfu4vIyMgoq6o3L8cfB4fDz1u8jlE7tJNE+jq5GjY7mnMP90Mnb4Dj4N5NyYmxpaVMUcQxv8+0srETbbb2oEt1Da0Va3eKNlt2LCqicZAyk8yoUaM+ffq0cuVKbNPNzQ0bp5menn7y5MklS5aA+9WrV3AlT5z4nflmEAgE4leAzlB2dq3bFamqqiro47uS4kJ9Q2MzC2ts5GBDZGVmRISFUKlK9t1clOiMZltCVqRgljz1uJ0YH2NkYm5t21liSOsOney79YgMD/F++VhWTs7SuuOP56KuqTXnz5XXL5168vBWYX6uiZnl2ImzpKW/9sQPDvzgce+ao5NbnViysrJdHZw0tXRBrULNgOKx6+J47eLJwoK8zvZOTj16Y5ZfOH2wTkRLm46wKyYq3PPZA9i0sOrwg3aaW3YATXzr6tmrF07Ex0R1cXAeNGyMaC8UnE5XIdWb0pZMVsQsefboTkJcNBw9S2vbH60axP8HUmaSGThwIFxg165dwzZXr15tZSUYkMzlcrOysuBeIyVcJEB8yGS3bt0UFRXbxFoEAoFon8jLy7v1GQTNf0xUGLTx2VnpjQTWNzAGnRQeGuzt+ZhCoSUnxjY1O3MrWxvbLqByIC8p4WwdcNNWVlVTUCD3GzTS7/XLsC9BxqaWyspqvfoMfuvr+dHftyA/N/jT+9dez3q49a+urvrxvFRUNSZOmfv4/k2sP1yfAcNGiE0MW1FRFh8XVVFRzuNxHbq76uobycjIOjr1/PzJ//WrZ6A7X73wiI+N6jtwOAQuKirwfPEwKTGWWfK1TQEfKxs7+NHpyu79h73z9QwKeMdiloSGBL58+sC5Zx9ohmw7OSQnxeXlZr9+9dTFra+cnLxEO0GYDh0x/uaVMx73BS1a736De/cdkpGegu1lsZjhYcFSUjXyOJyzax9lFXVQcjYduxTk5YrqkM1mM1QafO+IaHGQMmuQAULqeBoZGV24cAFz//bbb5MnTxbtmjNnzr9nHAKBQLQb1DW1TcysNLV06+8ikhT+Wruzuro69HNgclI8+JgIp90iUyh0hgq4VdU0pGW+jkXr5uxGodK2rl/y8O7Xp2IIoKNvBM/JegYm8jg89l0SHEamFjwul0qlSQk/CGJpkkhkx+49YfPkkd2Xzx/DUhg9fho2fevmnUfWLPsjIuwziKTJ0+ev3fz3ikXT3vt5w0+Yda9NOw6DQ1NTB1KDEtUpCEmBXJuLhMWdwDANjX98XnTp2dfVrf+urSt1dA0XLl1vYSV44USlKW1cteBx7VRhIMv+XCaYvXbhUsGwhvd+XiKz8XjCpGnzQe2Be+O2gysWTQcRCT/YBPG6bc8JcIz9fQYOj7919ez9O1ccnd0wZUajMcBOUKIShZq6hjZDWU3cZ/ioiQQi6dLZIzYduqzZtA+EoImZJZTxxOFdImOgAsdMmF4/NUQrgZRZ06ipqZG4KXqDjUAgEL8aIC8whdEQqxtYCWDkmLrrpljZ2N18+KZ+yP3Hvg0FUNfQunLbU7RpbdtZPErP3gPgJzG7HX+fErlpSvQzlz3qh1m2epvEuLZ29uK51Ajh8/k1wp5zIJJm1E4YJqJjZ4c6ZTEzt5ZYOimhOMP0WX1AFB47e1virhGjJo745wpO/QaNgJ9oEywU/Nc2VYtWbOw7YHidRAYM/g1+4j6uvfrDT2KOiH8BpMyaBpPJDAgI6NSpU1VVFZfLTUpKSktLc3V1RcoMgUAgfh28PZ+cProHdE9eTvbytTtEs8W2N65fOvno/g0Ohy0tI7Pv8MXO9k5tbRHi+yBl1jQ4HE5iYqKsrCxItJycnMjIyKKiojov0hAIBALxc2NmYT19zhLMbdfZkU5XFu1asHQdq5RpYGjSRqb9g66OLqIBp13snciKFMxNZ6hs2nG4urpafLwnop2AlFnTkJeXV1VVDQkJKSgo4PF4FArF0NAQvTBDIBCIXwodXQP4SdzlVDsDWXvAzMIGfvX9SSQFbPElRDsErQHQNBQUFOzs7LKyssrKyvLz8ysrK21sbJAyQyAQCAQC0SIgZdY08Hi8rq4ulUqVEwIObe26Q3gQCAQCgUAgmgf6mtlkZGRk7O3tMzIy6HS6lZWVjAxStwgEAoFAIFqGb8rMy8vLw0PCEGJEHWpqaphMZmFhYX5+/rlz527fljyYGfEL0qVLlylTprS1FQgEAoH4D/NNmYHUKCwqdeqJpjBBIJpDRGhgZmZmW1uBQCAQiP82//iaSVNidHPp01amIBD/aYoL86X4ZW1tBQKBQCD+26B+ZggE4pegml+dlpxQVJDX1oYgEAiEBPJzszAHUmYIBOKXgMth37l2QloaDdlBIBDtkaoqnp6eYPFZpMwQCMQvAYFAnLVwHYWq1NaGIBAIhATCQgKiQz9IIWWGQCB+EaSlZUCW0ZQYbW0IAoFASIBEImOOX0WZhQQH+L1+WcdTVU1j/KTZbWJPQ7z2esbn83v3HdzUiJkZaXdvXhD3YSirTpw6t/FYbHbltYsnevcdom9oEh0Z6vn8YZ0AFCoNEpGXxzXVHgQCgUAgEM3gV1FmMZFhl88dlcfhXFz74gkE8MlISyksyFNSYrj07KtAVmxrAwUEvH995/p5LR29piqz1JTEZx63r1866ezal0gigU9WRlpOdgadrgylU6RQJcYqKsx//erZ1QsnzC07gDLjsNn5eTk1NTVv33iWl7GMTMxNza2rqqrQeu0IBAKBQPxr/CrKDENBQXHl+l3KKmrgfnT/+ua1izat+fPWIz9QZqDSCsUGbampa1FpSuXlZZnpKSJPClVJXUOLz+enJifweFzME9SevoGJtLR0TlZGaWkJiURW19RKSU7gV1erqGoo0RmVlRXpqUkQUlNLl6xIAQeHw4YURMmSFMiQHfgcPbA9OjK0t+LgtNREXT0jKcGbsFQQSaKQevrGICtBURXk54o8VdU0Av39zp7cTyYrLl+zXUNTsFrUO99XkNrl88dsbLuAMissyC8sEI+iKSUlUGA7Ni/HcoE0O3Z2gF91dfXYYT2Sy1g9ew+Yt2gNl8tNTY4Hcaaqrkmj0SFwdXUVlK66qgpLCo8n6OobpSTH87hcOkMFq1sgLSWRza7E3LKysnoGxnJy8v/v8UMgEAgE4mfn11JmDQFi6+7Ni2eO78M2QYis33pg6MgJEaHB82aMwjxBe4EP+IPgWDJvYoZQsUFI0Bw3H7wBfXbi8K4nHrccurtu2nHkjykjSooLl63eNm7irLiYyOkTBkLgfUcugdwBR3pa8u+/9YZMIU1IoZuT27qtB2ZPHsZkFsNeb88nBfl55649gV17t68B/YQFg13X7782NbfyuH/96P5tIqtWrt/91WyBPXwsWWfXPvATle7h3SvHD+3EVl6HpFZt2AOee7atwgLs3rqqsrJyyowF9WsmLzdr6viB7MqKtZv/HjlmMviwWKXzpo8SSUMzC5uLN54vXzg1JSl+xpylcxauxKxdu2JuVEQI5qYpMW48fKOiooaWfke0H2qEiPuIVlqDq0N8s04UaSEtkqPEXNqKppZOYnEwml1FzaCOGaKsGykOtqvZNY+dHuL8m+X9Lk0tXf3iiGg/J+evBlJmAvbvXq+oSL3l4Ydtrlo688SR3SUlRRaWtpgPCDLs5VNCfPSGlfNXb9qnrKwK/v7vXh89sG3Cb732HDqPhQwL+bRqycwDx67s27n24pnDD+5c0dEzvHzbc/nCKXu3ry4qzFfX1AZJJBBGB8/rG5p43Lt+/86ltcv/OHTqxu6tK6MjQ937DV24bAO7snLZwsnhX4LGTZo9cvSktNQkSGHFoqkr1uzAMmIoq+47fFGBrKisoob1D6uoKJ8/Y7ScvPyEKXNGjJooKt3hv7c8eXirc9fumIZbv3Lu2RN/9x04AhTkpjULwWf1xr29+w5pXtUlJ8VNGtN3+ertVy8ev3frUnkZa+K0ecsXTk5OjP9jwV+QbERY8LYNy/6YMhyys7Xr2rxcEIgWJzs54eCiaaJNSwfnqet2Ye77x/bK4/DD/lhcJ0pWUtyRZbOXHr2sqq3XjBy9blx4deO8uI/LsLFDZi5sRlKtQW5a8v4Fk5ccvqhhYPwj4UN8X938e4vEXfP2nNC3sGlR6xrk3aM7j88eFm0OnrGgx/Bx4Kiu4u1fMGXA5D9snHrWifLW41ZscMCsrQebl+PptYuSIkLEfaas3Wnl6NK81FqcD0/vh71/PXfn0R8MD2d7oOfj+v6ahqaLD52v74/4F0DKTIB736FkCqWyovzapZOwWZCXW1paUpj/7eOmppaukYm5lODjHX76H4ttOnS6d+tyVERITnYmj8dNTozjcDhYSC0d/Ukz5ptbdSASSYUFeQZGpmMmTDc0MpWXx2VmpBYXFYIEzEhLgZDauvqQJkNZpbKiAnbp6hlCFClhp3ttHb3y8rK0lCQQWwyGCgSrEbwRk8pMTy1jlWIZycnJQeJYHzKH7q6z5684fWxvmvCz6a0rZwI/+KpraC1asQk283KyiosKSB06YUUgEEgF+bk8LlertnXR0NRWoksesEZnqGzeeeToge0Pbl+BHK07dD52cAerlDl11qKEuKh3vq+UldVmzFli07ELmUwpKS7MycmsElRIPIfDVlHTgBxBjPL51WkpiZWV5S1+4BCI5hET5A8t+oi5y0Q+xfm5l7atnrBikzweX5KXIy/sjVoHqrLa8D+WKAo/6zeD0qICApE0QGxcTk5q8sOT+4fPWdq8BFsWHpeTmRAL/z8YXsfEQlSBL6+eodCVuw0cgW0y1DVbxcR6eN+8WJCdKX4c0+OiQAG7j59WU1OTm5pUWc6qH8vYtrOyhnazMy3ITDO07mjr0lvk89nnRQWL2bVPk0dutQblzOKCjLQfD2/Xs4+WkSk4KstYN/7e4j52qq65FWwqNNBBGfEv8GspMza78sbl0yQFwcDU6MhQhrLqiDGTqFSanr7R5yD/uzcvBnx4M2L0RHlcg0MRqTS6m/ug+7cve9y/RgM5o6xSJ4Cysqpb74GiTW0dfcfuPUHz1U/q4d1ryipqIUH+jdscFPgObjGFBfmNhAFVN2TE+KoqHrg9nz+Mj4uCH0g6siIVCoiFAdF27uQBcOTmZDWeozgkkoJ7v6FXL5wIDw2KiQrX1NZ74/0M/LvYd4fsQJlRKNS+A4ZLjPvuzauigvwMsY56CEQ7oSAzPTE8ZOaW/SKfYO/nnlfPjl267sP9+ynREbJyciDd7PsO9rl9xc6tb35GGqeywsjGLjc9tYonuNBiggKYBXlW3Xr43L7Mr662c+2jZ2EtSu39k3sQRdfM0sCq49uHt3qNmUSmCeZRo6trieQL8OziiVA/b5EyC3//BqwCh4ysbK8xk8lUGrgzE+OiP33oNXqS74ObYACkmZue4v/0ARbFxqkneIIDrAJTbbq7FufnxH0OVFSiQxRpGZlg7xfp8dGqOvrdB33LNzkqDPLF3A79h2noG2bEx/jcugKbPneu9h47GVRXTmpSwHMPLIytSy8DK8EHBB6H43PnCmwWZmdWlpWJygK1p6KtK9r0e3BTB8pu2UFKOMGvoA5d3fMzMzgV5ca2nV7fvQb+XdwHahubiUzyvX+jOC8HHMqa2s5DR9c5XlDDkK9F1+6YhhCRGBFCVCCLV2li2Geow869B8JxKWOWBHo+AckIv8iP7+AowLGAI8LjsItr+2O8e3xXQ89QTh4X4vtKvNoBVnERZFrD53dy6wdHHw5o98EjsV0GlrbimX54el9RidG1dmnD13euMgsFd2zxag996wNJQbX4P70PlpAUqVEf38WFfML2uo2eSGUIWhOodggJx87/+cOinCwDqw4gAbFqB+Vk6eBsKvbl4ZPXMxDT4CApUtxGT4KW64uvV9i716BWn54/DrkQyYoR/m8TQoMEoaWlIVmK8CE8Ozkx/IMvBHj/+K6euTVWFlZx4b2jeyzsu3dw7gWbJfm5HqcPQRQ4l2AzKzkh0t8P6uetx204svAEDingCERIhEBSwOwpzsv1vX8dc5t3cTTv0k0K0Sx+LWVWXcWLiQrD4fHYZv9BI+cuFPS1igwPuXvjQvCnD336D5v355pA/7eFDSzhUlpaEvjB7+yJv9XUNUePny4jI/Pa61nzjEmIi8rJzoBrqYdbPypVSU5ecgd5EFIRYcHggGBSwv7+OTkSls3W1NKZv3gtOOTl8dGRXyBWbHT48UM7XHt/XaKeVcrE0jE1t4KfsalF88z+cTIzUvn8apHlSmgeKUQ7hqqsau3oIisrm5kQU1pUAJc2SCIOu/Lx2cPlpSVw64Cml66uee/Irq7uA6Gtigp8F+rnxeNyEkOD4TyH6xfadR1TCx6XC7tig/xBZ5Qzi7NTEu8d3d217yBMmTVCXEggNNUZCTFSgv49snQ1DZB9SipqGfHRD0/upzCU4z4HqGrr5qQlh797nSi8lqWEPZwga2hcoaV8dvF4cX62rIxsakwENPxUZRVpaZnoT+9z05KLc7PJNJqlvTMETouNivjwRpQCUTAyvaaspCg9LhI2M+KiyoqLQB+EieUCRZORk9Mzs4LyPj1/FOpHqqaG1PA7FVBFLsPHYsqMx2Y/PXdEXc8gOvA9aCaXYWOwZPFEIhgPSgtET9TH93GfPwqSlZIqzM4g0+iWDk44/LfXljVSNWmxkTo/cNfSNjZnV5RzKsuTIkJAgeWkJBblZkPKgjqkQx1+BOUHNQDC1GnwbxDe7/51FS1dDQNjsEq82uHwRXzwTQwNggdjuEtnJMSCj0iZNURleZlAb33+WCbsNCxe7Z9fv4QDYd93SFLEF6ichNDgyI9v02IisYhKqurW3V0Z6ppwwjw4vg9OsLjgAJB3oMZAc8PBjQ8JhIqq4VeDMaCSwaqowPcxn97npadCdNBGcAJbOTrnZ6bmZ6azy1jJkV+qeOPivwRFfXybHheFnSx0NXXrbq5QxqykuIcn9lHodDAVspZYFhCvorMdNkECPr900nXkeO9bF406dIIqghqTx+OVVNWsHF2gbguyMgQ1VnvOwCUjjydgjw2IpvJrKTMFMmXzrqOi8YMiLp457PPqSa8+g9ds2td4CmkpSSuXzADH6g173PoMevXCo9nGLF+z3czChsViljJL4I5AJBIlBhs0dMz0PxbzeNy83GzYVKIzwrAHIDHKyljMkiK4zamqac6eLxhu+fzx3XV//WMyMysbuwPHr4IjPy+Hy+UoKJCTEuJ+0FSoMRJJoaystCA/F57CVVXV8fiv1nJ5XFBgwsGedRk7ceaIURM5bHaBcFgoQ9gzD4FoD+BJCtDe5GWkinyUtXRmbhW8VJ7w1+YKVqk8gTB2yVpWSZGU8JPZqD9X9xozKTkqTDwRaODf3L3615lboCFOr1tUnJc9afX2yrLSU6sXzt19zKZ7z48vHl3esUY8CjSu4plWV1VRa6+LV9fPWzv2GLt0Hbi57MpVw1zxRFLXPoNgs7Qw/9quDctPXtMxsfC5fSUhLHiZ8FoGLm1f/eraOcxy4M2dqyPmLoO9oCRWDetBY6hOWb9r4qqtX/y8zqxdtMvDT45KA9kEraYohX1zf2eXlw37YzGEXDW0x+S1O3TNrB6dORQbFLDi1A0szPnNK6ASpm/ci21CCr/NX+E+/lsvvTrQVNRAw7GKi/AkUkFOJk1FHUcQ3DGSwkPwBCKW7JGlM6F6xyxawyzIA/fq8/dMOnYBf1A2hxZN3/XIDyemGGRl5US5i6NIY4AsFq9S+35DSMIh8IsPX4DiDJ29CMRQoOdjVlHB9T0bodS6ZpZw4MQT+eT11G3UJNglXu0gWTxOHxTUmLz8td0bg72fG4qJDLBcPFMQRlimUJaru9YvP35VS/g6ULzaYTM+5BOEBMPAffvAdn3LDqOPr8ZSgHwhI6chggFn8CRw8++tiw+dhxzhrDi8ZKaGvtHK0zeV1DTA/9nFE/P3CnrdXN62eticJXDKgTs/Mw0Ku/Ls7T4TZoBogxNvwd+nwf/EynkW9k7YseZXV8MpIY8jdBs4HCvCjb2blxy9rG8puUcg2KOsqVNSmAcPJHDCsCvKQNJJCQc6+D990H/SLEgWtCNYPm/PcTjbIwP8vG5e2HbXC4t+7+iex2cOY4VFNJVfS5m1Qx7fv3HisGAij0u36k6EK056avKUsYI3T+u3Sei16vXc4+9d6xTIipduvlDT0Go8xw2r5keEBo8YPamn2FfXxtm65/jurStB7Xm9eKSoSDlx4b6Wtp7v6xewKzkx/vffel+62aDxEeGfF8+ZAI79x650bTedZBG/OHZufUE9rB7mKvLp6Npn4f4zEgNP27Svo6t7fX8rRxdo/+Rx+IZy6dx7AIWhvGvGt29zEf6+4pm6jZk8Y/PfmHvmlgOycrIS01HR0t106wU8WILbZcRYp6GjGspx0todXd0HiTYXHjxn1KHlX1pMXb+rk1v/RgKAML22Z+Oj0we79Bl0ZMmsNRfvq+noh/p52bn1myXpDtZsflv4l9eNC+JVOnbJur4TZ9YPCSJj083nZAqt/q7BMxb2n9zYlOOjF69WoFJjggJEPqA5nl88IdqcveMwViGqOvo7HrzGEyQ/Ztv3HyIaZTJ53U54IJcYjKastvHGU/jHNvUtbFadu4MX9kJuQUBvbb75gtLwpwwtQ9Mtt1/umDpyxLzl2SkJyZFhy09ex852qPaev01sKCLi/wcpMwHzF69RpFBeez2fNl4gVlKS4hsKaWhkevLi/Q0r5x/Zv+3y+WMlwkfqJmHfzWXbnhPrV87fuHohkUjKy802NDb7a/0ukgJ55Ybdp47ueeP9XKpGatXGPXsOn9+3fe29WxffvvFkV1ZUVJRv3nW0q4NzptizGoZzzz68at6erauXLpiME145xUWF2jr6W3YfAwn1x8K/QLS9euGBlS4hPvq3cVNHjZtKU6IfOX0ThNr+3RuYzJKBQxq83YOdcnLyVUIIBCKJpCAn9/XM0dEzWL/1wKF9m78EBwwZMX7KzIWq6ppQRVvWLb54+tCje9fLWKUysrJbdx83F37aQCDaA3A+65harDx7W+STER9zaNH0ubuP4+r1/ccTCBKXwZCVkxP1sJGci7x8nQbVrJPDmCVrRZs0FXV87ctycLy4fArr2sXn84vE+oNKy8gQSWS4jqQE3RVwCVHBV3etx3blZaR26tn3m6l4gng3WQKRKHEewSDv5+lx0Zg7KynOpKOEQdNxXz5tGv/14S0vPaVLn2+CD0cgNtIZV1gWUg2fz+Nya6r5HHYFbMoK7xiCGmtAYZzdsJQo7AFcUTvI6UfA4QndBo4wtu0s8vns81LioAppaWlIH6vDOoDaEP9yKjGXOvrbffw0h/5DRZuaBiZYhcjAkVIgn1y1IEc4GKu8tEQ8FhwL0fkA6s375sW3Hl/PwNy05G+mykjD4ZatNRVsxmqmPveO7Pa8elZKOHqDUzt/ZB1eXT8fDG2KcDaNfLGRAdLSMnD2SqwQUb4EEpnLYfOrq6p4PPgXne04HEHUKUicrKR40TlTmJNpZNOpocQRjfOrKLOujs5rNu2Dk4ksfO6sg76hyahx06z+eRoZm1qoa2hj3zchAOYJ+qlT526LVmwSnwAWUNfQGjxiXAe7rqpqGpjP71Pn9h04AosIF+28RavLy8ssrTvSlBhOPdxXb9orVTsHj5q6ppW14LnW2MTi98lzHLv3pDNU4LK0tOo4Y+7SnKwMUS4urn2oNHp3514UCg3UkujJTFlFza33QBnpf8w9Q6Eq2drZSwnnp/1t7BRxYWTX2RF0Gzi6ODgvXbm1srLCyNgc2yUjLT17/gpWKVOikNLVN5o+ezE2X+7XCiGSOnZyyM/LcerRG6IYCMvboWPXeYvWFAt7jUgJ7mt4e8cehAY+1yIQ/z4JoUHhH3zFx/SxigqTo8KwnpGtB5lGNxVelfV5dvEEp6LcZfhYKWF3/ryMFInBwt+/CXv/GgsGBNRbUe1H0NA3chJ7EpPYGYiupinKBajT9b7F6ejqLpqLRA6HJylKuFHX5+3DW/J4vKPYIKTAl49z0xobL9UigKkSj2NxXs6D4/v0LKxNhP30Qe4HeT2VmILntXOs4iJRDRecyJAYrHHMunQTP3aqwrt6HQysbTs4uYk2Da1tm5HRD0JWooufMyrauq2X18/Nr6LMjE0t4ddIANBM8KvvD5qmjg889vUfJKEfaFcHZ/iJNrFu7xjwqNRf2NsUg0Kl/SactbU+2ET8ok0nsYHZIswsbMzqzRUE4qy+qSJAM0lUWjgcfuA/h0HB07n4WMsyVumLp/erq6uSEmKgAof99vuQEePqJAKPif3EhilhcprNPAAAIABJREFU9BJ7wkYg2hs5KUmBnk/ElVlrkJkY9+PK6YvvK7ue/XqPncIsyHv/5J5UA5O4psVGpsdF//7XZilhB6lGpgltBJBZvWtvFyFvPCUmoqyhJQoTFfi+qRlZ2DtlJMTGhwa5jfo2di87OcH/2f1uAyXcP7v0Hoj1MyvKyQp96/2Di8JFB30gKpAdGxge3lKAiI/9/PFHQpaXMn3uXNl+10vPwiY5KjQ1JqKhkGHvfEw6doUaZpUU+T+939Dhbhzrbj26CxujyjLWhwYSMe7QGTuONXw+hGnSantwb3caPConNRni2rp8+6Af+dFPXd+w/tBLihJDdM4khn1mNf2bEgLjV1FmiOZRWVnx2uspl8ORlZUb9tuECWK9MbS19Tp16aarZ9iG5iEQzYPCUNHQN4r+9EHkU1KQa2RjJ+r6U5ybA80qvenzcsnKyRvbdi7MzoTEU6LCIvz9fjCijqklj8OGWCBNPr16wq6okBgMTKKraWCWB3s9z01N0mjiNaima1CYkykqe7DPC2hiDWufS5MiQqnKqgx1LZqquigMqDclFXVLe6cfzwUUg+e1swEvPDZc+TaLaUFm+qdXz2gqgq79ZBpdRVPwTkUeTzDtZJ+bllwlXPIuLyMVTOriPlD8SzEog6TIUBUtHQpdWTwXOIhlzBLx4ygnjwNP0SaoQwMrCY/c30VRiaFtbBYbHCAjKxvy+mVabJT6D9Qznkg079wtKzmhoowFceHXUEhtE3N44gXLmYX5H188atI3XAwDa1tWcRFWdlCEgS8fQzXShOPbIDWQknBMBblU8bAwUIcg5SHAjxQEA8o+Yt6yQ4tnaBma9KqdgElKMJLjC139FYg8dkW5gWUHBWHvPThtIGXRsYj6+I5fXd2xh4QOmojvgpQZojFUVNWPnb0jcdfoCdPh9y/bg0C0CB2c3ZRU1bZOHibysXXpLRoBgCOSol49qariztl5lEShytZ21QLdBo2QtHDJGhyegBeTDngiCRt+qEChLj16+cDCqdGf3oM6mbll/+YJX98f4wj/iFKHSau33Tqw7cDCKfqWHVafu7d54iBsJh1ZeZzg017t2j/dBo4AdQLBwL302BVoaLkctpSwHxUEk62dfAfaVAUqTdSLSE5OnihIRJDKgCl/+D24gaUAzN97ytal19fSUWnX924kKpCdhoxSpDNEYSas2NzzN8E4HiksF7m6DQeUC9dAt3dxbJzdhsxYgFX7rG0HscEKSqrqq87e2TljVHJkqJSwK97yE9fqRKzmV1/atmro7MVdhAvciRgy80+vmxdFdgKj/1zd5+t9SRqK/OLyKXkcTsvIVFD82kqUh4NX23MLHPLfukxBFEWs2i0dnJXUNLb8Phj009T1uxkaWuEffL9GIZPl8JK72alo6a67/HDLpKEZ8dF9J86ctGrb5Z1rsWoH0VZd/e1b+bil6x+c+Bss1zQ02Xjt6ZaJQ+SEfRmhbkm1R0pgKh4v3slMeAoJeqrB4YaT88z6JfeOClZ2AfM2Xn2CFQpKB8r7xMp5kOyEFZvuHt2N1Q+ct+CjKVzgAc4TyKXuilJwcMXO9kaAaq+q4kGyikp0SBOTyyDC4GzcMW1kbZiFEOy7SSEkIi16t3nr1i3ftx9nLljTeAQEAiGRZw+vy/DL1qxp/hW0detWLS2t6dNbXu++ePHCw8PjxIkT3w/6/xEVFbVixYozZ85oav6/s8DPnDlz3Lhx7u4t88wdFha2Zs26pWv30moHo1XxeKW1XSGlhE2gaHL/8tISTmUltJRkmhKzMJ9MoWGNNxaFylCB5lMw0VQVTxSljFkiLSOtoPh1iq/S4sIqLhfESl56CiizXY/8NPSNhFGqFBue2KycxeRUVEDTSKEzIF8SmQItMZddWVHGgkxF7SiPw8G+E0G7yGWDLKsBvVhTw2cWFmBRpISzScEmNJmYzgD1Vl7KhESwlRDZFeWilzRQRqz/OxSntFBQIZAayAiIUlZSjIWBVhx7g8Xn80vBMAq1Tpd5CAkqsE7nsDrvzG7s21ycnzt72yGs2kEFio9hZBYVVAun8IVqp9RbkgTaKWGFKNbXf+zy8oqyby+ciGRFTMpgUfjV1bAJx0u8DivLy3hcDjYsEY4UDqpMQUEsF1EdVmETxoLa9rpxAZTZKuGQkdKiQgjQyOAPiAVxIYAcDieqdnBI/XNifTgEcCBkZeUoDGXB+hAkMlbtFaVMitiRghNA9KYQovD51WSqkqjaMV0OqprKUJYWO7hQUkG+srJYLlh4CIMJLzhtoNIEUcR6J8PBFT/bRWDvzEb9+XWd5fVj+vYeM8VxwHBIAaJDIqIHgCoeFyrn64FQIAunykM0gaAA32B/z1OnTqF3ZggE4lcEJAu9drxOHUCaKNROr6AkNv2heJQ6rY5o4nhoCC9sXoE1wwC0qUuPXcYm8/xuQwXCTqTtaLXznIEWqSNHoOEUmSEaMwhtJE1sykBogMVLB0IKp/JNS4FoqC8s5OpFqV8/IBdo9eaDlBLKuzo+L6+cKcrNHr98Y91cGqh26j8/U9YBdAatgQkRQVRhuqrxKOJ1KBANtS+ixKeNEI8SExTw6PS3CT70LGxGL/oqTeoLx7plYXxbG0ZU7fUXOwIhK9KyoiiNH6k62lfi9MX1o9QfTgHKsv4YZDi4Sv88uKAvL2z5y6yzg229Hs8Sqx1UdUPXFKJJIGWGQCAQLQZIIhM7e07l115iVGXV+q3ar4C6gZGmkYmJbReRj20Pd7akderaJyC/LMT61Rna2P2Cc0BIy0hDqUGZiXfd6/v7DD1z60ZiIf5/kDJDIBCIFgNPJELT1dZWtD22wrUXxWnSAII2R9PQRLN2sqRfFhkZWbfRdWeUdRk2VmJgRAsi8/0gCAQCgUAgEIh/BaTMEAgEAoFAINoLSJkhEAgEAoFAtBdQPzMEAvHLERPk/+r6uTqeFLryhBWb5SUtCNh++Pz6ZXpc1LA/lvx4lGCfF5kJMUNnLwb3vaO7s/65LvDgGQsNrFpxxZ4mEernlRgRMnLeih8M733zYlTgu/r+qtp6Y5eub1HTJMPjcK7v3Sg+/QpGnwkz6k+R365gFuaD5SPmLFMX693fOCUFedf3bPxtwV9qugZffF+99bglvteiq5P7+GmtYGlzKCspur5306DpC35wVbGUqLDHZw9L3DVk5p/6//qiz+id2Q+Rnpb84un9d76vWjWXvNzsd75eN66cuXzumMe96ymJ8exKyYvU/teprq66c+NCcsMrx7cGxUWF508dLCzI+/EoRUUF504eKBLOaRT25dPDu9eSk+LEp4tE/EcpyEyPCvwADYz4T1lTR1pG+vuR25Ts5IToT/5NigJSLCbo62T0kR/flZcyxUsd8sYz9nNgK1jaHHJSk6M+vv/x8BSGMlYKmopayJtX0jIy2GYzFm9oHnArC/H14vP5dc4lQgNrkLcfOBXlnzyfsmqnrPsR2OVlgZ5PsFnuslOSEkI/ixe5pCD3zb26UwS3FRw2+5PXM1bt5GrfBUckigqSk5oE56FoE9cWKz6jd2Y/xIe3PtAwW3dorVHTcGFXwEnv7xcV+aWoIB/afgKRWJif69Krn56+EQ7Xrh/imwEU8Pqlk3SGssG/OPqpuKjgxOGdTj16MxqYGKk+oMmOH9rRw60vnaGSl5sTFPiuvKxUc7yubO3Mioj/LtCWj1m8VuKu1JgIacHcTupxIQLJYmzbhcoQzLZVwWJGBwVY2Tth7W5xfm5mQqylvZOMrGxKdLisrBxVWTX+yyfYZdKxC4WuXJCVIUhKWtrSwVk0xRS7ojzq4ztsim9VHX0dE3PMH/KC6JBIfma6RVfB65bEsM8lwgcJPEkBMgWTkqPCMhJiS4sKwt69tnRwkpPHpcVF5WekSQmH0YEPnkjCUqssL4NcwKFvWXeN3U5u/fr+PlO0uW/u77Jy8madvq7PDbEgrpRwASsT285fKyQ2Ev4ZaprxocFWDk44AhHMyE1LxvZCDWBTtYG16XHRsBn/Jai8tERFS1fXzLKKx4sKfMfjcLSMTMXXBUqK+FKclyMlnGkMLIeCQ12lx0Wxiou++HmDDw5PyIiPyU1PEYSWlq5f7SAoDaw6du0zWEr4Bsj/2UPXkRNsuveUEq5W9Pn1S1G1Q0aZiXGwGRscAFZVV/HAfjkcztLeWR73dTZ/MFikXzUMjLG58sVhFhakRodj1V5nl/OQ0Z3/uThBbZR8KBTkAoeyjFmsrKktmm8iITRYgUoTzUYB1a6mZ8hQ12QW5KXGRkElQ1WXM6EOdXTNrMDgyI/veRx2vToMLc7L/lqH9k7Y2gx5GalQXiObTlDtkB2VoVKYk5kSFY5FMbCypatplOTnhvv7wX0YKgQuBMiFVVwYF/IJC6NlbKauayDKJTE8BMLTlFUVaiftw1DT1Re/gnzvX391/XzP337HNrOSE+ApAnObd+mGTecGpy6cw1AhyZFf4GxX09FvqNoFD046ejweF461PA4vfrZDUuLvI4tys7HVI6SEZztDXQuqPfz9m2oeL/bzR7qGpqq2HlR+bPDXlU81DU3qVDtPMA9zqagsglmjpaVFm3AgQKth1Q6XbVTgew19Q05lJRwdHVNLqGR+dTUcI6hDkUlw/mOvUeG6aN6QZKTMfoi3r192dXQZMVqwcFhNDT83JxtPIICc4nLYMjIyihQaHMgKwWTNbLg2KFQaHk8An6qqKjh8FWVlcAEI1k4hk0kkBYhVXl6mQCLDHQECcNiVkCSeQIyPi37j/cy6Q+eJU+dSaUpREV9OHd2joEhRVKSoa2jDCQGJMIsLeTweDo9XICviv07bXVVexqqsKIe2QZFCBU+wh8ksrq6qpjO+ztwI8gKsolKVIHBebhaJRIbnPMidTFZks9nMkmIwCWIRCHDfU2yGCgTbIFkKhUYU3gSrqnhQPyqqapBUGau0rIyloKBQUVFRXVVFVFCATOVr72tQIlYps7KyQk5QaUogd6CWBLXK5YA/j8uVk5eH8AQiCczDqh1qhihse6AeIFMVVXXIhcVigq4lEgW58KurSJCfMBcwDFIDGyALSJxdWSFmMxw7DotVCv9ygqogEwhYLv+MIrZ2oWuv/mD95bNHho+aiMfXnaQR8TPx6to5OI2hrb22awNsjlu2voOzG0mRmpueeujPqbs8/LD5FBK+BN3Yt3mXhy9Oluh57WwNv8auZ5/rezbBrvHLNxpY24a+9Xl67ihcfTO3HTSw7AAqAWQZtEzXdm+AywGC2fcbMmDqXGx6z7uHd5nYdYXmKuK9r3kXh6Kc7JdXz8YJF9JmaGhBmw3t+ofH94K9n8Nt5+6RXSs73GKVFPndvxHk9UxKOOXszG0H9C1sQJxBLqB7ru5cD6fzkFl/ljN/6L1IFY8LjdyDE/vzM1Jh06hDJ6UVG+lqmnBdeN+8WFnGchww/M6hnStP36woY71/fMf/6QMs4qxtByEwlC4pPOT85hV/nb75+OxhaFChAvtNmgU6787BndDwu42Z1HPURCpdGa4yyAha8ehAwesxUAZKagfUtPX9nz0IfPWUW1lx+8D2lWduVZQy33rc+vjikZRwsSkonaFVR8gFqv3qrnUrTt98dPqg68jxUC31ywKq8dCi6djSC1KClvLTrf3bYBNq3mHAMKkawWdQ0Bkztx7QMjQBWQNGQmt6ZcfXxthlxP/YuwqoKrYufOnu7u7ulFbCBAXBRMXublExsLs7EEFRUSxs7EYUROnu7kv9+86BYeReyvf8n74332KxZuae3Ke+U3v7uvj6ExXGAvJSk5DY6ZlZVwDGcHTlXBBI1In9QDqNHAYMnjJXGFM7fO3wTjVDs6FT5yGXZzetHBww22bwiNT4T8dXz19yLCzq+D4gpsZObm7jpkCBXt6zGQZ7B+8xjiPGwjwByfB+6EnEvwVExQKCdkvKK7JxcMY+uffs+qVJ63eC2P0WBwLljX1y/8axtq26YdMXmLoMBAJ97eAOKPHbZw4DlQGuk/juZciWNrXATiPHOwwfxd9WUrn3LpxIfPtS3djCfvioXlpepxHlm1eeXmvb7pwQuBW8c/HwAk89tGQGCOTmyQPGDq4QRVdiDwleZTVoOJCeh2FneAWFoAVx8/I9uRL6/v4taRV1YWgRElIwowAWFffs4bVDO1EIUNstXIcAC4/Yv4VaX3f3/DFhSWk+QeHvH97gsdgPH+3kMxbFAmKHKgSjcGFmOj4P6YRrB7drmFoOmTy3raQ2LB86bT4QxPhXMSPmLg/dthbGfbfxU20GjeATEm5paYZyAalCWwDH4vKKUD+BCve+ziCQzKxXaGltASqDxmNqA3XutFHmVnbAad69eSYsLBowfQGQkpuR4W9fPZOVU5g2e7m+kSkbG1txYf6jB7euXw3Ny87i5eMbNMx3gPvQioryG1dDYXRX09DJy8l6/fIxldroOWLMnRuXDY0tLW0dgYcBQdEzMBvuPT4+PvZ7Yjx8gXGiqCB/19a13xM/G5tZDR85HjgcJKa8tCTswolH924KCgtPnDLP2Myak5Prwtmjhfm5gRv3oMTv3bFeSlpu6qwlRYX5/n4ebh6e+fk5Gpq63n4T371+tnvb2vLyUiFhEUtrB6Cemn3fUIcxZv7McQHTFjj1p1nBy8/LGTfSdf/RMG1dw9tRly9fPOM+cPj96MiCvLwBHp5ePmNV2hcJystKr14+F/MoWl5eafrc5ULCokDRgJbFx308dXR3YkKcvKKKz6iJdk6uwCaR2GfMW2Hv6Ap+c7Mzx/m6Hj19TUNLN+pa2PUrof3dhj64e72wIM9t0AhP7zHKqhrgDDhWyJnDMY/uCIuIWVjZ47bIqFRq/JePp4/vjf8Uq6ymPnL0JBu7/ojzgZfzpw/FPLorKiZuZtEPzyakDfhubk4WULe/UJVI/Bl4ERVRVlgArAue9y2cUl5c6DZ2SvdegKyUF7V52btg8pGVc4DKwCvMMTb6e46Ys8zU2f3LyxhgYGtDb6OlmgdhZ04ELlx08DwK4cbx/XbDfGZuP9zYQN02bdSwafMnBm6l0Pb4Ulf7uK4+c8173nIeAQEYjBccOAcM7MDiaXrWDijGhrraDf5eoxatgeGfNlYd3rUx4j4QmtMblr+4GaFraddjlvMz0taMdF15KkJGhdZ2vrx8Ehzgs/7iHaRB/tWdSMjd2gs3Id498ycp6RigeKFNbfD3HBIwx8JtCAVbnQr0dV986LyyrtHjKxeWDbXn4uVfdfqKkLjk1UM7gHJNDtoFs5+ds8Z5jJ86fuUm8FKcm7Vh3LDFhy8Mn7mYV0Dow6O7S46EQiw7Z/trGJuhWJqbGiF3XjMWmWGdTHFezmrvAcARVQmabHsJkH//UZMg2IqSYiiXacH7tc1t3t67+ejSORQXrSBO7A/ZGjhjy0GiR+DNK05dwVclewngKOtGD1qw/4yagenTyPBDS2esPHWley9Q2db6eSw8cE5V3/jJ1YsgQ5g0rzp9FQZ4KNawnUFTsL599xz/AaMDxq3YCM8leTlQCjQvGL0AXr51ih+IXVxOMeLAttL8XDxrxwMXAXUYOmUeCHmNr9uMrYc0TCwfXz7/7sEt3E3Ege3hezYHrNsBffuOmeMGTZjhvyo4Nub+9mmjGqkNvcn1+eDVkgrKeIDBk0cC5bId4g3PVWWlQeOGztt9Useq34ubV7sR+6U9mwaMngy/gkCgpGoqK3zmLodX4LtrfFyDwu6KycrDjCg3NRkPAWp7SX4uVKTlJy4H+rpN3bRXx7Lf08hLQFVxN5FH94TuWD9t0z70enHnBvdxU/1XB/cmX0R8ffsCaDeUC8wWLmxfF3l095il62urqjZPHDFqUeCUDTQDEllJics9HSGpfdWNRzKzXoGZCeaNzMjmWiultb6+Li8n097JzdVjWHJS4q3rlzW1dQe4D3N0Gfjpw5sjB7Zs33eajU3w+dMHWRmp/pPmSEhJf0v4/OLZQwlJaRs7F1Nz29CzR2fNX/Xq+SMIyt7ZvbGR+in2ja1DfxkZOWQujZ2d3dTSNuZJdF5uFrwCCwQGpqSsamFll5uT8ej+LcTMHtyPgm4OiB2FiQIOgFcBM2sC3kFoP9SGBgifgi0UwdyLg5PL03ucopJqdlbG8cM7nVwHGRlbNjc3f42PvRJ+dsXa7bjHD+9e7t2+vpMoeHj5Nmw9JESwT9KKjQrNzU1try0QSy2iL02NTdXVlfUNdQuXb8zKSHv57NHdW1dnzF2OXH58/8rRxQNeIY+REReGDh8lJi6Z9C0h9sNrGzvnidPmZ6SnABN69+qZnZMbEntLU1ssLVhe4D8WSyPQKcjj4lWbM9NSXjx7dO9OJDDRpqam6NtX+fgFAqYvpDAxgbTxNH/7+iUl+bt/wFzgWzlZGUWFBbEf3ljZOEBQkEJ+AcEpMxfBkPOS4AWVfjNJy/4tyE9PAQ5B/ALsAQYqZLXG1NnDa9ZitH0G4xMy6dg9gDR4zljU5qWx0cHLz3XsFHhlYWtobKhvwRoI/IdnTh4eZFUJ+pVGmuHLNvT39R8wJgDGfmg+0zbvE5WWQ6Gxc3JR62i1nZ2DEzwys7CiTTqYrDMzs7QdaWJiwmJpxhLc3ERtgO/AzIDecXJzF2Zl4LHcPHXo+Y0I/NVh+CgDO5qVAjEZueUnLsmqaSHywcLGTiUsMxs7DAByieLynruci4ePs908ZVNDA978BUXEpm89qKRrSIudmVlSXmnS+h2iMvKIieLjemN9HTMLGyF3tZBytrbcteUIssPExIyeoWHiMgQIi0tCLIpaeqxsjM1vw0C4/OTlkC2BHv7TCrLSU+I+zt51DJmMHDhhpqP3GAgWmaREEoOOpamRih8OY8KO9ncKk4WVld6UOwIMzNeP/XB+HEgkkiq/kPD0LQdV9U1QcRCLuysICItC7lT0jJAMJeQUAtbvAhaC6gwuQ2pdHaSnTYZcmAxb2o7AymtoT1pHEzs4cPIeA9LDs9baQsspfOfg5oY+DYQPMmymZb+RcDaOVqbtsdSiWHSt7KFOHlwyA08n8D9iC1LWM5rSvhwADYGDiwsPEGojVHz0zCsgCLkDmsvKxm7Qz0lRW68rsQ+aNMthOK2kOGqqIbN+C1eb9R8Er6zsHJCq1rbOnwo5wkMACTS35Y4HWgQHJzfEAlE3EwqXmDvAkMlz7L386O2x4hi1dN3z65cu79sKzBKI9Yg5SzVNrR6G00jwuJWb+IVpZkNh1INhFwu7lSYxtva6zcHRAONU30cNkpn1AKAsBfk5vPx8PD/avFPX1DUytRIRFefh4b1w5rCL62BdfWOoBHV1tbejLqPWrqNnpKispqyiISAoJCkl+zTmXllZiaCQiLqmzv2714EBVJSXApeSlVWsqCgrKS7i4ubBTfxCmxESFgVShS4B1NbWPI+5P3dRIMRbUlxY177L9jn2nYaWrr2LO/SPklIyXF0b2cWhqqalq2fEy8dfXlZCGxioVA4ODmlZeUkp6fKyUqJLCHCIl18n70AZOftyIlJQUNjazllTS09BUTUu9m0RdioCQU5eCbIvISHNxcUdHnLSqf9AYGbZmenAribNWCAjKy8lLRtx8Uzi18/AzHqIRUjYup+zpraenILyxw+virDzK1AKr1886e82zNS8H7RXmM1cu9R2QBUYc2pS4qChIzk5OaVlFCLCTn/7+pnGzJqbXr947OrhBey5kUb4wMt5PBYOTk4RUTEgi4q09VNyQ/PPBq+gkP2P1ZvGoljbThAKiInLqmr2KUBBMQmiFxgXJQiHdXBUlBSdWrcEGYHO+p7Ayc1L7wXGY0Vt/XuhJzO+fqFgp6Zaurh38vLW1aykrxSMPlaVMTjvLKmgLCIlS2RmagYm2ha2+KuejYOwBO28PBAyNUOziAPbygpojbQ4L5sYjoCouJyaFnqWUVZ/Ex0V9+whBWNmZYRGDaOmir4JbpWSk5e3K6NGDy+djX8VAw911VVdrcS8vns9Lz2FgoxtE+7uAIcDrtPNaArMVUXfOC8tqbqirDQ/t7q8VFGrbTdAQl5RTEae3ktRdubxNQvQM3AOhmXXFXSt7DoZLIJY0AMMCiCBPtn2ZmX/wQsnD59KF0ecH106h3YzkY12/DvwZlzswO+TYt9FndiPXlM/x0oQTqrhyEtLxrOf/Ok9sN5ODqC9KGjpIaPpCFDhiS1ISlFFXkMHPUsrqX54dPfqwR3otRhbX0AA1qKsa4gWYgVExBrq6roSOzwTD2/JqGoytNkKOepIeew7tKraCcDOcTcpnz/KEFawoIGAiOi9dMSrrN7S3FKUk0qtr03+9E5SUYUPs7XKwy+opM34UvPdc8fQGYOq8lKGDnoEycx6ADCjm9fCYPCW+7GhKimrAW+gnfkVEgGKIyuvCPQLZni0xaT2PTNVda3S0uLMjNTqL5VVVTTyBQUMzEZUTBJYXcyju+aW/TS09GhjfAWF/koYWqRBaGykZmelS0hKi0tIShCuHQEFMTQ2l5aRh65crnddibiEFNAyCFxERNzV3TPhS+y9O5FAHIEkGRiZE11CsF4+4/oiLQbg5eXT0TWEmb2wiCg3N09lu6VnSrsM2djYgfVmpqeidb7KirKy8hJZOUVIobiEdGNTY1VVZY+x8PEJaOsaQCwiImIQSz02MW1pbQGeB68CgoLQs6tr6eISLS8v/fTxTWREG+v69PGtMna5GqY+2Zlp3Dw8/ALIiw4xFlExCWNT6zs3r4zwHS8jq/AXJUPinwWvoLDTX67ePwGo2GhlCJ6VdY2k6E6aUzCa9TwqoiQvBy2TsHV9SIWZhbXNDTuH3TBfsV5US3Vjc4YZh1HkRVREfXU1CpCVlfFyFAVTw5H57QtyBr0d9Hs9RkoPCL8t5cIcLr4TGBosZ2nPHcB2iI+EPANK8XcBOAcel4axhYJWH0xD6ts4MrwB8KvBgsuQncN5pL+gKAOv8PTlAAAgAElEQVTi8u3D669vnuNZI1IrIojZ1zKz7ooLEiEsIdVVC4p9ci8t/lNHpF3UkOzkxI9P7uHOoLh7jJQexJQb9HNW+3EUa08AE+5G08RSSefXasGAYkHRCYtLDRg1iffHmxO9CuEXpOpfhcbGxs9x743NrAUFhYnfoVshViMmZhb6ypebnfk1Pi49LamyorysrATX18DGzq6gpFp9/RLwCWHsHCILC4uouGRtTU19XR3QAgrW35UWFwJp4+LGjjW00nYosOXeHygcUD2ggUQOR0Qrwo8fmWi7sjT3ImJiA4d619fVfkv8kpL0LS01CZzaOQ7AXUKaU5ISO4XJwsqqo2vEzs54qKCdoO8UIRNT9+0NpbGlpRmltLmlubm5CaWQtrGL/cTAS0sLMRqmLmJpam5upW23Yg4IOxFoKfRhdBTuXxKbNoHTxqbm1vYwWVl+GJx4eHhl5eSjb0XWDPLqJkck/gsoysmEceUnPPILi45ZHoQ6buBe1YyO5zc3NV47tMNvUaBZ/4GVpcWxMQ9e3r7KMDQL18GuYydTsBXilC8fhcQ7j805Kd8L0fXGnlBeVHB244rN1x7La+gU52YDNczErmTS42HYGQ1TyxGzl9XX1qR8/hj7U+qE7Dz9rDyGUbA9WUg5j6AQvRtTF4+BE2dSsClTypdYYUmp3ocPHTLQi4pimsobWezUKUJuanJ+Zpok3TxWVFp2/KrN6LkwO7OBsJP7S4GuazT8lK13O09f64G0vojaUJ/6+SMvIxl+eHinrKhgxpaD0GtCYaEVVnpIKijj2S/ITGtq6rx9X1lakhz3obV3G3OPIy7IqWtBgA11dalfPsYRjoUQkRz7/s3dG0Hh0RTakayvtdWV1F7s9nYC0Cw85VDbGZ61F5dV6CjcrAwQV5+iEJeVb6irgcCBs+IHDWEmkxT7TlnPiP6qvrOvv6GdCwXTM5Ia/6lPK6YIJDPrATAYT5+zPOT0IUkpWcU+HuJ79OB2wpePJmbWBkZmQLyQWizs6l/Vy2cPJaVkMjJSEhPizK3sgKsZmFikp36HjypqmsBIGhoa3r5+KiIqLoUxBvjCy8dHOwvQ2AhdcEtrCze2cYl4G5XaAN1QQ30dDy8fOqYG7QdcQo2pq61p6uKIDBAhdg5O/ylzwRkk49b1SxfOHiYys4TPH1ctmd7JFz+/4ImQKFG6VWUan2pqgnjramoQGeoR+fk5ZaXFomKSIBM+AX5Uv9khTZzcVCoVyB8tXywsbITrosC0ACAByFePkTBRmPgFBCAxIDcgctWEtTcODg5zS7uN248A/YJ0UxupzMy02OGVX0CwFTuLAV6qqn9YrsvOTLsddXnazKXkgtm/AC3NTdU/KnOCyTc3tpzclReoJNz8AnU11eDx6bWwqJP7Ga5SdANW2gEUnpryclZsbvPy9rWkj2/n7ztN55CJC9o7lQoRxT17dHbjcuJuJvC2mopySCoXDy80B5QLaP4nAhf6LlgNQwIrOxsHNw98Z2ZhiTqxH1idtlnPV/chdzwCgvU1NeDx+Y3LkUd3dzXX5+ThhRkYOMtNTdo9x7+uuqpPQqBg2gSaGqko5UBPDyycsuDAOWVdQyx3TdVY7kBQtN4ScwMfT69fMmz6QtNeL02BqGdsPbR7zgSgCCPmLMO/R184DkU/dOr82qoqEDKasLFipzTw+vDkyoXS/Jyp7YfEEaAjBf5EqyF0y06oShC/cHBzs3V7zx1yB/0M+MpLTwEZ1vZiZ6ATaDWkXYalBbkHFk+bt+cU/VoXGycnzFrBGVShMxuWZSR+UTfuWFWibSU3NLBy0PpdPAsPws4AMZ2wZiv0oZDfRqwexr+MgSJowo4s9wgObHgCX8Bx9y4IqC5jvKlHFPvVQzuARBo5uPZJCOwcXLQbmu0ph9ouIi0zYtZS9FpbXQUkDAqCnbMjd48un4fZzuSgXb2PxWnkeFqLOLIbv0YASPsSezxwweJDFzi5eaChIbVn0HtwgcQaGlB0QOb2zJsYGHKTXglL9yCZWQ+AdquqplVZWV7Zu5vnRJSVFYN3YABCImLXI0IK8nPhY319XU52+reEuDmLAh8/vP014ZOWjgHQrEFDvE8c3gXkBhiYoKBw4tfPEWFnBnh4qmE795ycXPqGZl/jY6Ej/vTxTWFB3oKltLP5QOPKy0rgS319fejZIxu2HgIyBx1HRXnZt6+fIeSb18Mz0pMVlBhoeU5N/rZ3x7rhI/2NTCy4uHnY2DigeyE6MDW3DYuM6eQLHYD74Qu2pZKZlpKfl01taLh+NRRb3usZj+7dkpFRsLCxB4/Wts68fDSFN5LSsjJyCl/i3usbmn6J+8DBziHfPrtlYWbJSEvKz82uq6uNigxDx/+7ATMLs7GZVU5WRkZaMsgk+nYkvoAoI6tYXV1VVlokJCz25fOHmId3JaRkRo6eBOzQxNwqOzM9QzoFsnr/TiQxQIi3ID9PWU2zN+f5SPzmyEtLXjb0hxuLIlKyK05FdHP5TkZFPSj83oFFU4tzs+yHjx67fOONY4z1hncFXSt7XkGRQD93dCDaaqDXpPU76J2xcXAsPhwaErw6ZOsaHct+Cw+e3zRhOP7r949vNk3wWnHqyuQNeyKP7kK5AC8ztx+VV9eGZ31bJz4hkZXDnWHs95q1REhcMj0hrse0SSgoBUfGQO4KMtNsh470X73l8t7NDF3CTzdPHYR4JeRpXjZPHM7QWVeAxjh//7mL29eF7QyiYBcvVp29Liolg35N/fxx/ZhBkLuJa7fDQItyByPfzO1HlP4OVezec2g0F4LlFRBasP+sJLZDatZ/IL+IKF4fnHzGjVrS+fITiB1KBBLGQ0dYz25acXHHD+7Hrdhk7jq4m2SMXxl868whiFFcTmHztSfBk0b0NSPz9565uHN9+C7a3UxBMQlIGMPzUh7jp7+6EwkRwex95o4j+IEzhINLpkE1thk0QkBEHM++65jJyGIEUDpgzKHb1kLutMysFx8J3TyhV2U9ZllQ9PljEKCIlMy60Ns7ZzHe9CSK3XdRoJCYZGlBHkOXXWHAmIC396LwlENtt3Qbiv96ZMXs0UvWWrgNERAVw924+E7wW7imT7EwhJaZjc/8ldASqfV1gyfPRTdPgZYtPxlxdsNyIMEUbCVy89XHAiKiPQXWGSQz6wHY/jRN8dhPaH43t+j36vnjIwe2gXd1dW20JpSVmfby2cPBw/wUFFUtLO2+xn968vD2oGG+SsrqboOGx8W+3bU1sKmxiZeXz87JDbgRUkvGLyjkM2rS7aiIxw/uSMvIW1jboyicXAY+vH/z3MmDfPwCDk4enNiRWAsru8qK8p3Ba4SERbR1Dbu6vgQhOzi53b8dee3y+draGqCDXj5jiQ44ODnFOXvePmBmZgZO8/LZow/vX8nIyguLiHW96PADjM2t8/KyD+zayC8gOMRrFLrvqa6hU1dTc/1K6LmTB7i5eU3MrMyw08qsrGy+YyeDPN+/eSEtqyAkLNxjJKysrAPcPB/fv3n62F5+fkE+7MwpgoaWLkyATx7Zk5uTSVNiqWuoj902h1hc3b0e3Y86fWwPv4AQL88Pq9AtMNA1N7OxsTN3cVaDxJ8CbYzudPoIE2tWbJ3DddwUYhH7zF3OK0Q7zABNCQiE78LVDXW1EvKKXDx80POi3RP3cVOZCfvp0GXzC7XdX4Y5fcCGXVKKqlgUXAoaOpPWbUeTBFEZOdzZyPmr+Nt7cOh2BEXFPSbOtB3qIyAqDrEsOhyCDpWbDRgkq6bJys7Owc0D6XHyHqtv40jBmqGcmha6WMrByaWoqRcQRFPyJKeuTVt7c/FAIY9atFZQjLGmZaj8whJSPvNW1tdWi8sqAP8QlZZBPHXA6ElEl3xCwvaevlpmVpzcvOBlctAucTla2lT0jadu3sferu3P2NFVWdcI92U/fBS6v4blTsxt/FSrgZ5I7GKybdqbjZ3cJBWVYULLwycAXNPBa5QOuqzAxKSgqYuO/KsbmU3esLvTphU3n8DMbYflNbQZZo0IHn4BbXNbOXUtCEFKQQUtXkI2VfWNJ2OaDii0s+fKfHQ7gyD2UUvXcfw4K2Pj4Jy6aQ/9HpwcRpGVdQ2nbzmIezG0c8HPyIMM7YaN1DSx5OTmARkGrAcZ0lbiVfSMpgXvx6cHRg4DiIei7L380E4cyBDYhtu4qZbuw1AyoMjQ+h9N7HodYufm44d4RbDTyVArRsxeigIXEJWYv+90S0uLrKompEHTxALPvpSSKlouRfXQ3X+69aDh/CJi0kqqCw6ek8Lm+aYu7lAQXQkZpGczeISqgQk7FxfwxYmB20SlaGrnFLX0oJi4edu6YqLY4SdVfSNcheT4VcGi7cf/gUPP3nUMzToo2MVbSLkAtlzNzctnYOuEH1IEsaO7BSDeubtPNDc1wWwKcqdmaIrnTlJBBd/2nbBmKxI7EZ1qe1eA+imnpjkhcCsMCiBDpEqXmaahWmLw5DnoOg4nD62B9Ca0TiCZWa/Aw8sHHUdTYyN0hdB/+U+ajSvlEhYWnTV/tTimPBCgoKASMH0h0oylpWPIxcWTlvq9sZFKu4QoJaOorAoEyNDYUlVdi5ePHz4CowLOB8XJzcNrYm4jICgE1K2xgSogKKyjbyQhKY1Uv2JrZqZ1tTVlZSXSMnIa7XNHSEZ9fb2snCI3N4+BsTm62qmupQtTTHkFJRgqIBBJaRm0JQrsZPqcZdLt95KAedjY9+flEygrKwbuKCkpY8Do7GSPgBlwP4f+wHuKigqAltEuQwgISmIzYEMTCxHRDm2N/RxdUbcCU7Fxk2ZD9qnUBlFRceBkqura6OwahKBrYNLc3FRSUiQgIKSlYyCJaZJkYWG2c3Tl5xcoKS4SFhUDCgi/IrEbm1lLErRN2ju5ozv8MEdUUFI1s7KTkpHn5OKCDILMxTAvECMWOxWEycXDo6mlj7aqoSDAi7mlnbSMAngB+UMBoa1b2kYylcr8U2dUSfxugO6ymx4Tv4SIQBznoLYT9Y8LEIYEohcVgheoVFqm1vgrBze3vq0TfaT0+1DEJSKDdi8wAIsTNtNlVDSQ+rFO4OThMejnjL/iw49qF+o0cWiYWODPwGDQA/01VRi88bsLGiaW6EFARIyonRWGZOIqjrTSD6dB6G//UTDNHcTreDAG0yuCApkL0F0XgPmzjmU/4hcYlW+dPqSgpatj0a+TY+ik4K/TR+B2RInRAzg0fVAwLmh1vVPMLyxKvAZL0xjcvjRIoV1mVEV8nUIQO82LeYcXUWlZoirdTvdFgK12uhNKoRM75cfajoudg4tLD+P0CLyCwl1ln1hS+u1exGTkGV5xxQHTCdxcgXr7yMIHMvyxmIhiJxYrccsVOJCulT3+ChyImHJBMQn6O5swPfjRiyDD3BFrOw762h775H5OapL7+GmdY+HkQjYnOgHty/8VkMNMr6CsolFYkBcX+xZIACsrqydhbQm41NiJHSpepGXlvUdNRM8w/MOfkWlbt4XzHvxypZCwKHFnUERETMTK3oJQn3CwYCr+XTBdjkQAnzOztIU/4kegLCZm1vDXFq9h28wGeInfuKm4M2BCwNikur0w3BvAvEpCUsZ1YMeheP129Y/Aq7QIxpLN2jspyI6n95i25P048QLxSknLStHp9QaaBWzPbVDHWrp+e7509Ix0CAOhuZUdnjAODg4jE0uj9pFDz9C0PRY2hnlv82JqZdQ++uKxpCYnfvsap6mtR5pmIkHiT0BrVVmphdsQIks2tOvfJ3UYJEhQaLc0qoXFJYkqQmTVNIEv/roYSWbWK5hb2kXfvvrx/UtjM+ueXZP4NyLpW3xmRuoQT9/uD/aSIEHidwALK9uoxYGdPo6Ys/QfSQyJPxpoy5gIk55UbP5FkMysVzAxt4a/fzoVJP5JDBrmC3//dCpIkCBBgsS/HORBZhIkSJAgQYIEid8FJDMjQYIECRIkSJD4XUDuZpIgQeI/h8xvCSmf3jv+qCamE4pzsl7fveE0chxXhy3kvx+FWRkvoiKIXwTFJR2Gj/p1MfYVMVcvyqlpKekyNhHYCbWVFQ/DzzLUbq1j2U+taz0LfyMyEr+kffnkMGJ0N25A7O8f3IbC7UZ93V9HQWbay5s/GG8QlpCyozNG/A/iScQFBS09RW0G92TpUV1R9jDsHG5Xnghda/ser/2S6D1IZkaCBIn/HDITv0SHnuyemRXmZF4/utt6kNcvZWYFWWlXD+/QMrfBb5bwCQnzC4toW9hy/h4KjR9dPm8zaHgvmVljIzU1Ia4RU45TmJ1RXpCv3q6YQFpV/RemkoD0hLj7F091z8xA7DdO7LMZMuKXMrO89JRrR3ZqmdviSiWLcrP4sML9pfH2Hg8vnbUfPrqXzKyRSk1LiEW0uzArvaK4EDdSKauu1a1XEn0DycxIkCDxnwYMMCyYBeIKzLKtkLgUGwdHbVVleWF+S0tLcW4WN58ABxdXXU11VWkx8sIvIkakTaUFuU1UKhcvPzirKCkSlpRBqlXqaqqqSks6eYGBrTQ/R0hCqq6qCtn54eEXnB58ANcElhL3IWjc0ODIJ0gdVH1tTSVm2A3AJyyKaGJzc1Npfi54aairbW1t5RcWbW1pKcnPResZMOrjqqEgPZAYNg5OlDtBMUl2Ts666qqqshImJiZaUtvtyTY1UksxOyUUTMsUr6BQcxPEkgM0CxxDRoBSgEDgCzIVxcHNg6cZi4UV5NbY0DBr+xGkpzc65PirO5ELD5xDbqrLS8FZh5d2sVeVlYpISpcVFTRRG7h4+fjaVe9SMNOEde1miyCp9EqzK0uLmZiY+YSEKV0AYmFlY4eIkAxB7BBjbVVFeWEB5KI4JwsKhZ2TCwkEeYEUEtXJgkxAMlx8/OwcXFABhCWlkTX6H7yIiiOmhWQoJCENUaA6wCcoPGvbYdxswPePb7YE+ARfj0HKwOprqivxSiUsyokKFxO7gJhEQ00NhYmmA6xHsbdXXUkoaKi6IGoQCyQVL1wgVWUF7YXLL8ArAIXbCBUGygsyBRmhxdLcDIlHdopBLPydSoqNvaWpcc7O46jS3j5z5OPju3jhQiFWlhTjqpJxsddUlEHBlRXk0WTIy08sKfBSh8zfQT2UkO5KI/p/EyQzI0GCxH8aF7avk5BTVNIx2LeAZhp85emrKvrGL6IizgevbqQ2bJrgtfDAeV1r+w8P75wIXIi8TN9y0Kz/QDyEA4umpcV/6j9qooGdy+Fls4LC7yJi9P7+7ZPrFiM3M7YdRjYfgeqt8XFdfiriYfhZHj4BHavOyks74fPzx4eWtmlMnLRuh81gmhmfytKS9WMGz9h66MOju8Cc/FdvoTbUb53qC1SDgtkJAKqHvITv2giJ0TSz2j3bH16XHg/XMLZ4fff62Y0rYPRdH34X10qan5G2xqfNbK6H//QRc5aVFxWsHTUQhv+s7wlV5WXjVmwEJhEc4IMInKX70Ckb24xThW5fLyYjB3IL2RIIYTJcZbx1+jAM2LgqdlzsoTvWB4VHH1wyPfXzR2df/9FL1nV4OXXw7rljFMxK3vqwu1J0xgcj9m3l5OHxW9RZOwYOKERZNU0ZVc2Di2lqQlefv6Gkrf80Mjx02zooXGDAi4+EapvbvL1/8/T6NoUawCyNCToR9i4IyEyMdx07Wcei38m1i9aHRyMN8m+io5AFHsDsnceMHGiiK8zKWO0zIDAkCpINYieqS2WIT08fHFkxBz1P3rAHmXhHYp+759Sr29eAPY9dvqFHse+dR1Nbv+LUFVUDk5e3roZsWcPNxw9JxRXM5qUlrfVrswMxaNIsr5mLS/PzoB5Wl5flpHyvrigHsddUVkBtL8dInvWg4QHrdyL3IVsDQfIKGjrhuzdBmMjORCfcPHmgpqpi0trtncQesW8L1If9C6ekf/08YHSA78LVuJeoE/vuXThJwRTJQrASmBkJEggkMyNBgsR/Gk3UBiBJBnbOy0/SznvdOn3QeuBwUxeP1tbWsF0bgP0o6RrePX8sPz0FOaDQjl6FVpWVOPmMK8nPhSHfxW+iqLTs17cvTq1bTK2vQ5aX7pw9UpCVgXt5cuUCeHEcMQZ+bairPbxsJjybOHvkZ6R0kzZIGHA+PJAXUZerK8pcx0ymtLZS6+qA9tkN8zUfMDgr6eup9Ut8F67hE6StScAoCGPhjG2HmJlZGhupEHVZYR4KJDrk2IWtgWqGZvDa2NAAIQydMk/DxBL4373Qk8tOXEYG3b+8jDm/ZfXI+asW7D93fM08PRtHF98JGYlfzm1eOWZpEFoBgoQBnQL5IBk+unSuJD8HIkWWSOjR3EQzo0EUe1NTY0tzc0Fm2oZxQ939Z0B0ie9eQkZotrRpxihXCoiIoWSDswvb1rqNm6Jj+YOpU48JM5hZurvH1kil3g89BYwZhXP96G4ksdaW1qsHt0/felBRS+/2mcNFOVkdJRURUllW4jB8NHw8uGSa+7hpwpLSCa+fAQ9rgMKltGKV5FBJXg7u5XEEzUi2vdeolpYWKFwQi6P3OBMn1+zkb92k7f7FU5nfEvBAnl0Pry4vBX6Pasjx1fPtvfzM+g/qjdhRILfPHgZqrm5sAa+Q1GOr5gIDg7L+FPPg0eVzeERQ1iBM7znLFx2+cGzlXCPHAU4+4yHY0O3rxq/egqwbpXz+CFV0GsbvQYYPws4Y9nOGV2TMih5NjVRkegsXO5R2S3NTXlpy0JjBHhNmikjJfH3z/MzG5eNX0oyxng5aKiwpg5IELmGeMGjiTC3zLq0p/NfwAzPLz8u6FHLkn0oKCRJ/NLIykrU1O1uSIfFHQF5T18JtqBpmIuJ8cHZFabGgmISMqgYLC6uSjgEPv0BxbnZddbVauw0JGJjRAkZjQz2MYaMWy6voG3Ny81SWFD27fgm5AS/1NR1ebp48gO8VUmgGIt31+zmLycgBM6urqgwJXoMvRXBwcfuv3oI2hhS19cXkFPBAHlw8DcHigRj0cza07y8hr1hRUmTn6adlasXFy4eizvwWj1EIGuTUtS3ch6FAQnesE5NVMO0/EF7raqpzkr/XVFZQsH3Dgow0+IiY2de3z/NSk9nYOVT0jTh5+GgmoeQUvr1/lZ7wWVZNE9kLKsxKB2LRIUMNHZBhN0bHzQYMin/19MqBbcOmL7yyf6uClr6OlV15QR4XD6/tsJE6lrbAw1I/f8xJ+Y7c56YmiUhKo2TD4J2XnlJdXtYpTGRLtHsoaOvjhVuUnQkUSkhcUkZVnYWNTVnXEIhIcW5WfW1HSUWd2IfsatMKN+6DuLwiZArtU7++E4ncFOVkNtbX416uH9tTVpCPxwiE26Cfk6i0HDAzEO/ZTSvwQ4Qc3DzjVm3mxQi0ko6hpKIqHkh0yHFge3gghg79DexdQOzlxYX9hvlp0qyU8nQldhRIyJY1EvJKpi60wq2pKM9OSmwr3LISmCTgEcW/jAFhsnFwqEKl5eERl1MUl5VPyMnMSIyX19AWwuzX5aUnZ33/2iFDTV1zt6HdHEeDNAB5vXZo5+DJcyL2b1XWN9KzsgcpcfHx9/P007aw5RcWSYp9m5uShNxDKUvIK6MkwWQGCFx1RXmPRfnfwQ/MjGa9m9zrJUHip8DMTFpt+lMBQ44+wRIfQ+Skfr97/hh6LshIlaGz5yinrgU8CWdmNC8p3zq8ZKbJEU5Jm7l4SON7c0xMrBwcbO2GwIUlpfG7mUAd8jNS8UAgDZrCHVY7jR0GyGEGfIHT2A7xfhEVUVddRcGOwBMTpqCpY0gwGqhuZKbZbq+MiOqKMogIMbPvH98yFEJTI/XJ1VBk7jr1S+wPsWjpGjCyB4pDVd8kPy3l5ulDw6YteBN9w3PGYhVdw/cFecD87D39GF53+PbhNVqkaWlurqn8yZEbeJWeNQOTd0TkJBNLKl2BzqYnECBDO2ecmQGykxNxL0VZGSoE2+3m/QfiJiMpNJuenLglHxEpGcgselbRMwIChAcC7EREssOqpomjqyxmEVVQVNx6oNeLqMv1tTWUnsSuYWKpwWgLFcgZHlHSp3fMjEzMARN9HBHStmYW94H4E8hQ38aB3gsO4Fi5qd/vXTg5cNJMkNLIBatgSgPMjJuXDyozQ7spie9fovVOoN21VRXdBP4fxA/MTEJSdpjPxH8qKSRI/NG4de0CpaX6n04FiV+Fktzst9FR6BlGr+7NOSMU52bhXnj4BYi2uong4uUbOX8l0RY4jsLszLjnj/BASggLZkTUVlclf3r37v6tWmyNpLKkmMLUY+o6o666EiJCzIzShe3z5qamuJgHOM9Q7t2FzZ9G1rcElCOAjLI6H8HK8N+LopyOkgLeKUpnt5eBl+zMDi+CQiJdeIFy91u0Br8BQERhVkbcM0LhEhbMiKitqkyKpRUuot20U/+sfV5AATHiEVEIJsaJANod++Q+W/t+pZLOLy7cxPia9kVQWVXNbq5x/AdBnjMjQYIEiZ6hb+s0LXg/eq6rqaJfIqU21KOxE4dBP5epm/Z2eGHpc38bc+VCTmrSqrO0pZqaqoqTgYsYOstJ/rZ7tn9w5BNxOcWGutoXN6/cPn2or3GJyShARIiZQVaAhNG74eDinr3rOCIujdQGan19n6JgZWfn5OKuKi/l4OZhY2+jF60tzdUVZWzsHPhFQhwufhMGTpxJc9PaWltVwc75qzRNGNq7TNmwBz0zLClqfV3tj4Vr5DAgIGhXm5fqKma6xPeIR5fPAb1rK9zKiuOr5zN0lvU9Yd+CgODIGBA7FO7T6+H3L5zqa1wSCsooIgpWuC2MCpeLl3/e3lNoN5NWuA19K1woQage1eVlnDy8rGxt9K6lpaWqvExAWJS+cPuPDnAfP5WCFS7UbY5fVrh/IkgbACRIkCDRN4RsCUTXyoh4dv3SsdXzuvJyfvPq+6F9HlCJ2Dcv4P3DOz06iz5//MLWtX8lIgp2Ch6/q9gVYp/c2z1nQgMOxMcAACAASURBVJ+CNXJ09Z67fOVw5zFLg/Tb9+DQJUHawbiu0dLctGPG2M/PH/Upup/DuU2rHlw83eljzLWLJ9cypsWAMxtXPAw/+1ciBUl+fHKvR2e3zxwJ2xH0VyKiYNdKIMHdu4GaBvWtT8GaOLt7zlgY6Ovuv3qLrlXb9nFxbtaq4c7ZyYndeAQWuG2qX/yrmD5F9+8GuWZGggQJEoxRV1O1f9HU0UvWOXqPiX1yPzjAB303cuhvgJ3cEhKXXHjwXPSFExV7gxW19QZNmnXrVNtilZPPOBhrcS/GDgMM7JwZxtINbIf6fHr6AAViM2REa2sLQ2fSymqzdhwN3RFUV12lbmTm4uf//sHtPkWkbW7T2tKyZfJI9KqsZ4jWMxDunj/e3NRkO8R7+pYD57esqa+pxiJV9Z7TA3vrBA5OLh5+gfKiAh4BQfb2K5x8wiIT1267e/5YeVGhgpau36I16LvPvBVv791EeWdiYoZMKesZdQrw1ulDEI6Lr3+fkoFQU1G+d37AmGVBziPHf3xMKClHV4N+NNYoLCm96PCF26cPV5YWK+kYeEyYcS/kBHLj4gtEKhr3YuLkqm/b58K18/T7FNNWqexphgFaGTqTVdXExa5hYgH16tPTh32KSMfKjsJEwVOrom/sNnYy/uudM0egcK3ch00O2nk6aFlDXS18lFFR95q1uE+xcHBxc/MJVBQX8goK4ddZBETFJwZug0ZRUVKkqK0/csFK9N134Zq396JQkphZWNzGTvnVm6d/FkhmRoIEif8cFGGgHT8NPdsM9ga6gP80YHQAOqovIac4cv4qCqYsVExWvqWpGbgLcqNv44iOeMNopGftUFFcBAMSDDxIXwYCsCXahmD7Fz1bRwl5JVpoQiK+C1bBqI++SyqoeM1Y1JW6f4gFIkX6CPRtnMAvIjRcvHzDZy8Rb7+ZCOnXt3UqLy6sq6pUN7aAV/CI9iWtPTyJelP7+07AtYKxsbMPnToPxmAKTQOthL6tI3Am9JOKnjE+Uvb3m1hWmCetogZ0ihZLUWE7M1OHuNplOAJdCyVC3cgcafHoHpAjXSv7htpaiB3YLUSNvivrGtbX1qDbBsDMIPtIkRgRsioaLHS31pR1jWCkR8/9hvoA88N/gu/odD+IHZgfpe1UmVwTYXcPCheVFBQKPEPJVpYUK+kaNlEbcDcgtOamRqb203x6NC+KFOwqht+iQEFsQxATkdqwaQsYKgADSCmqtDQ3o11jED4PvyDSAwfF5z1nOVQ55Iwodg1TS3Ajg90MoNCJvf/oSbKqGu1S5YSopbF7KjB/0KNlpE1fsaqBiWL7FVqo7SB2aSUVkC2KpY2ZqWrgZ9GAkdNLXtPUUqg9m90AuLiejUNtZQUwM6hRyu33JFT0jCA7qHoAM0PZ7zG0/w6Y8K4kLCzsydPXAbPaFjmTP73PTUsiOlXU0pfX0P5/J7ALQB+U8PqZiZM7Bxdj3Tk/gaLcrK9vnhO/0Hqrnm5s/T/x/uFtWTWtXmrkq64o//CI8d6HqoGpNJ3ORhJ/EbeuXWBuqV6xoodtgm4QFBQkIyMzceLffwvnzp07kZGRhw71+exRX5GQkLB48eJjx45JS0v/xaACAgJ8fX1dXFz+loTFxcWtWLFqwcptggQV838dddVV7x/eQWrTKdgyTEFmOgz56IIbiU4A4Xx6ej/tyyfveSuQEtT3D26fC14dHPnkNzFFRURtVSV0ufgQWV1eVpyTDYXLyfPbJfV3QH5G6qenDzK+xoOIBMVompbfRN8I27kh+HoMw7uZJOjx7tWT9y+jjxw50uWa2bPrl17euiIi1XGJ16z/IGDrOJH/Z5GbmnQmaJmWmfXfyMzSvsSeCFwIlAVZn6BgEyNBUUkZFTX604v/CC7tCR4cMLuXzKyqrOTO2TbtdDBbgpmQuJwCeh06lZtkZiRI/HXA4B194TiuY1NFz2jSup3/bJJ+Z+Smfv/2/tXsncfxL1x8/DKq6szMv+OJZ+DZd88fQzaRKJhiiAlrtv2zSfqdkZPyLfnTu5nbOlSicvMJSKuo47d9SfQe3REO8wGDJ63bgb+G7doAf7N2HEWvUF/xyQQzCwuSfktLS2tLC7zCr9DYgOKgL8gZvKIWCB5pDlhY4CcUCKI+zdAGWlshKKK2FWIIKCL4glpLc1MT/NQpFhRvp1iQ344wMe/0Ol1EpWTXh0fjBP/LiyebJw2H+Ry60N7LWNCXtiwT8gK5Q1LCXaK8EF+Ryx9CwITW9gX73xZdT7GIyypsutJ2YDbyyO6k2LeLDoXg2UeB0CcMlV2nMLsqbhIk/uOAuev6i3f/6VT8MTByGICsGOHQNrfR/l01v4vJym+4dP+fTsUfAxMnd/gjftG1soO/fyo9fzR+fino4s6gj4+jKdgRv4UHzqHd7le3r8HHiWu375w51mvGIi1zm9gn90K3t9lBG7VknZF9fwpmF2zHjDGT1u/88PAOeFHSMUC2Jk6tWwwzKmNHV6IdtIfhZ++ea6ODs7YfUdDSexEVEb57Y00VzcjX1E37NEwsIBxgjcjNmGUb0PnNkrycHTPHTA8+8PrOdXZOzqFTO+4kR508UFddNXL+yj5l+d39m5f2bEbP41du1sW0FxZlZ0IsMAt8dj2ch19gcMCcqrKSHTPHIjU85q5DvOe02VY7u3GFnLqWqLRsyBbaEdd5+07LKKs/uXLh1qmD/CKiCw+cx3dAMr5+ObC47fit27ipziPHF2SkQpiF2RkgdgjfY8KMiuJC+IIOfFh5eHrNbDuteTpoKchTUFT80eXzuLnZTrh6aAewPc8ZbVeNQOwq+sb8wqIxV0Ln7jm5c9a4wqx0iBSixr1cObgNxEjBNDktOHCOoe4lEiRIkCBBgsRfxE8ys5CtgUDIhs+iXcxpqK87uW7RsGkLZVTUgY7EPXt0cu1C2yE+kooqz6Mup8fHIWeA+FdP66orrQcOb25szE9PubA1UM/aAX6tLCvZO59mkFXd2ELXyr44N+vCtrWjFq+l0C4JH66pKMdDeBB2xtx1sKq+iZ3nqNunD3pMmCkhr/Q0MjzrWzzuJu75Q4jF0n1YUyM1Ly3lfPBqXWuHTsfF9G2dmgkW3HqDmKuh2Snf8Vg+PokGamjhOgSLJfncphW6No761g4ZifG3Th1w8Z2AFt6ASwGJ9JlHo4ClBbmJ716gLNOydvpQbVUlSAleqfV1p9YvAe4oq6rx+cXjt9FReERZSV/vnD1i5+kHX0AsJk5ukJ20hLi7Z4+4jpnCip1+LchKv7R3s/ec5bRY8nKSPr6BWPr7dXlcCVgdE0EbU2l+LoiRjY094c2z/YummDp7AM/OSf1+48S+wZNmgwPIAicPL0pSI5V6YVugh/8MBU3dPgmQBAkSJEiQINEjumNmMPxfPdSxm8nCymbqMhA9i0nLaZhaorG5JC/n/OaVziPbFNuwc3JKK2uYuXhw8wvwCYmoGphauA1BP727fzPrOzulLQzaRoCOZT8VfePEty8vbFnj5DPOoJ+zlKLKs8jw51FttleTP72TUFC2dB+KXoGoKWrrA3vTtrC5F3LcxMlVUEw881t8VWkJ7ub13evZ3IkUdzwWWV0ru04GvxS1GLOK6oqyyCO78VNlLS0t7uOmcnDRNODxC4uq8fKb9W9L/ctbV3gEOq6riErL6VnZK2jp5mekyqpqmg8YhHw9vHTu/YNbuDM+QWEVfROU1Miju0WlZTVNLIEmlhbknd+yGiRAwRRDZ35LmLh2O/KSkfg5+dN7t3FTwde1wztVDUzkNbQ/PrkX//rZ2BWb0J2y+6GnYgm6cJDY9W27vLtgYOeSFv8p5tpF4K9AdpV1DdUMzYpzMoFNSimpAfnjFxG9dmjn9w9vKDTCDJT6mb2XH0p2VXnpxR3rbAaN6CpwEiRIkCBBgsRPoztmBnQHxm/81WbwCAvXNo41YExA6pfYd/dpnKOqrISoLRo4iuf0BehZ38YReBtyRsEWjYgXCBy9xwItQ89snJwDJ80SkWRwnysvLRkPoaais0VbhOK8bNxNWUEe0aSd88jxwDy6ySYRjQ0N6V8/48dR5TV0hkyZi54N7fsX5WR1xFKYT7St5jJqIiJ/kgrKruOmJLx62tTYSKHtS34mhg+c0spjGP5qMWCwPiNLc0AQ8Yjy0lNYGdnioNbXf3wcjS40ZSR+If6kZ+OAs2GGAO5Vmp/zOCLExNHt1skDk9bv1DS1fJaTKSAmge+9dgKIBSWprqYapNRN4CRI/P6AfonYuVEw64Sq7Saf0xM+M7MwQ/P/FVHX19TEv3pK1EzGys4Oc9Tf5/4a9O3sHJyymEXOHtHa2grZQccqOkFMVkFB85fIsBMqS4tp00gCuPkEYPaOnnNTk2qrK1X1GRib+utobm6C7FPr6ogftS1sf5/LuVlJiY0N9b0fBEGSIE/674JiEgwNdpH4FeiOmenbOhJvABBRkpf9IOxMwutnFOwYflc2OqrKSz89fXDj+D70WlFSpMHIkm73+PIyBjpK/JWLp7PWHAp2rTJka8fRNIZGynoDIXHJubtPMOwigYACE7p95jB6LS8uNMTOzHVCQ11tdlJi+J7NyE4L/Jdo1znUewAFJGan05lZhNqqikt7g3ES+avV9L25e+Pz88fomaglkgSJPxFf3zw/tnq+MGEqqGZoCmOPiJQMEzPz67vXoRP4RcysrCh/7/xJfMIieD/Dwy/ALywqo6rB8Xs0K+jlRCRlfBeu7qX7mycP5GekUrDer6qsFKSK+iXbId7/H2aW+S1h99wJwpIyLO2XlmCGLCIlLSIly8rGFvf8EUzvfxEzg2nqybWLqfV1aJMEYcKarWpGZkg52T+OZ5FhZUUFM7Yc7KX7h5fOfXv/ioKp5i8ryAOpojMzetYOJDP7v+Enz5ntmTfJxW/C2OW0Q/el+blrRroxdHb37FEgGZuvPUavR1bM/om4nLzH4mfVKdj8kt6NsZMbkUT+hMHXHhF1Yn9NRTmel/0LpzB0lhT77via+avORCLVfDFXQ5/fuNzXuKA7W3HqCv5Kf4eUgl28CAyJwmdmTL/42rnnjIX2XqPwV9ykMQkSfyiklFTXhnacNIA55NZpfkHh0TDEekGH84svH8/afgTX9glT1o3jPacF7/9tbyl2j3l7T6GL27Ex9y9sXbsu9BYnRkr+n8qGeAWEVp66IiDadjMpI/HLau8B68PvAkVz8fVvaWFsO+HvAgyFxPnzJn8vt/FTrQd6/dJIfxEmBm5D+vkyvn7Z6D9swf6zUkoqlC6GIRK/CD/Zcqj19SwsrJzcPN8/vqHZc6itYeisqbERyhicQbs9uHhawutnSHF2n8DCxoYrITy2eh40AFNnj85usMSg57BdG8Vk5NCZrb8RTY3UltYWiAVmEpCX7x/e0JsKodCOpjU31tdzcHGBy1unD0WHHP+Ja4zMzCx4du5fPFVWmI9O9xPBxMQEQwhy9vZeVNyzR10tcDKEWf/BXLwCu+f4T1q/S619Eyc/PWWtn8eMbYfEZRU6uYf5PYqrtqry4JJpw6YtUDUw7Wu+SJD4fQCTGaJ2U1ZWNujWEMO4deYQVHgP/+l4bU/5/PFFVISUosq04AO4l69vnl/c2WbEcOjUecaOtAlqTWX5wcXTvWYuTop9+/LWVWlltamb2jYNHl0+X5CZhmY47JxceOz1tBMC9bgSnOzkb8dWtR2icPQe6zB8NHo+vGympfuwmsoKSMy4FRvhy6n1S9IT4iiYAZ/JG3YjZw/CzpTk54AvSEZra4vXjMUGds6QmPPBtDWwCYHbFNuPYTTU1R5cMh3p/de1tkedDHyBzoSVna2piTpmKS13JwIXIqOW8ho6eCdz78JJIJS2Q7wPLZ0xY9thpGQROglav8TNg7L2+u71+Jcx+JFZ6AyrykutBw4/snw2dDKPI0LgVw0TS3TZC+HV7Wv4vgTQHfpOBnzlpaf4LVzTuTRp/WGHSKH4IHeoNJ9GhoPYfRfQsn9kxWzzAYPraqrvnjsKZA6Sgaue71HskH4+IeEZWw+j+fD7B7c/PLo7FisIyDixLjXCYNF+wgekBCJFu70mzh5DJs9B30O2BsqpaQmJS8LsHQQI6b+8bwsyDApDBnxBAb6Jpm1WjF66HgYdCMrFb0K/oSPzM1JB7PDriNnL9Gwc8HiPr5mf9f0rPCho6QHBgodzm1eBSJubGsH9dGzZLHzPJhA7Bdsggrwg+wTg5uvbFz7zVh5aOh3v29kxXaG4VKG2gwQgYWitF+r2t/evR8xZBg1k+Mwl9LUdACM+rjMBgmW4+UOCIX6SmXnOXJT2+ePx1fO5+PgtPYbl/WgtAIdp/4Hxr56CM3hWMTDJz0zra0SO3uO+vX+FQqDQVL9q4KZF6utqLmwNHDp1vrnrkIT2WADi8kr4ZLQrQEVsqKvDTJX1Fhbuw6CeQSzQhDTNrAuy0hk6gxQOnb7w0p7N0M+KSMuqG1sUYOv8vYemqRX0KXh2hCSltcxt8V+hc2fj4FTWMxwcMCdsRxCa3PAJizLcWu0GgmLiolIy6Ylf5NS1cNM0vIJC/Tx9b58+DOOEoLhk/1FttzsHT56TEvceJYlmSaOfs5DEX9XwToLEb4uirAw2bMRqbm5Ki4+L2L9NzcjMfvhoaJhAU4bPWiIoJgGjcuK7l/bt43fSx3fQpVh5eDY3NaUlgJetqoamUkpqaKREKM3PzU/voTeA7u7N3Rt4sMW52Q8unnbG7EJCUEU5WdA/6Ns6AlG4sn+ruJwiOu1aX1Nzev1Sr1lL+IVFgJa9jLpSV1UFbRk6KxhxYeYGHTUK81lkeE1FuY5lPyArUSf2a7efb6suL43YtwVCMHHxgIEf+IqetWN1eRlkBLpcJeyUEtCLMxuWQ/ahoyjJy3lz93ptZTkE25VdnYriwuyUb/greCkrKqDW1SbFvgvdtlZJ1wj8QmLCdgZBvJCMp9fCgHXheX9953ptVVWnm0yQX2FJGUpfQBQ7yLAwKwNkCLE0NTaG7dzoOnayjIp6b8Suom/y+k4kVIm23JUWd2+oG/mFqbWpy0C0fFhZUnT96B50djkvLTnxzQuQvyl2qwzkDB07SkATlRqyZc3AiTMlFZQriouQCVRdawdWdvb8jDToh4FOIZdfXsbU19aY9R9YVVYK9UFaWV0Zs21VV111duMKKCk9W8eclO+11ZVACltaWsANJzcv8tvY0HBu08rBk2dDLYJY3t2/1drS0k3fXl1RnpEYj2v0LC8qzE39DpwPayC02k5rILU1J9cugngFRMU/PLwD1A0X6bcPr6H5AMftU9n9Z9ElM9Mys+pmBdhiwGAog7T4TxLySlYew6ABC4lLwHcY5s0HDMKdqeobMzMzP43Mp3lxHcLNy8eL2cni5OV1GjleSEwCOROUkHTyGYvPOaSUVa0GeqJnXSs7aAn4xUNTFw+0nCMsIYVWxWDiq2ZgwsREeX6jzeIbtGQ0KeTmE3Dx88fXt4lgYWVjYWvq9BHyYjvUh5mZ8ZqtuqEZE4XyovgKtDErDy+YJKFDKkBrXEZN5G83+SIiKW07eMT1Y3ugFmqaWkIPCN0Q+snIvj9wNTxAyCPkFD1zcHPDLA2ZIYNugo2D43ZOJvpJzdBU17IferYe5FVWmA8JEJWStRk8PPLoHqBQ8F1eU8fEqW1D2cjJld5IgJKuAb3hM3pA6TiOGAOJhy5VRc8IVzVi6uxObahL+viWghkKtB3s/fucbyVB4udQVVpy99wx/BVGuH7DfBgehIARUd3YXNfSDigXUAr38dOAmUEzlFJUgWaL3BxdNTf50ztgZrgXDRMLfRuH19E3okNO2AwekfSRdkQdN2r+8tZV1KAoGP+Dpo3uP8HMBzoWp/ZgL+8N/vLqqXO7xW5WNjYlHQNDO5faqkrgjsaOrpAGCnaI4vLezR4TpvNjNiKZWJgFxMShLUP3e3DpjJzkb47eY1CY68cOFpdTgH6poqToRVRE8PUYMRnarawXN69EHt4FDAn69nf3bopIyhj0cwKC8jQybPHhC+h8MNCXKwe2AWNAnQkTCwvM3/Ck0kNOQ6c4L+dB2BmbQcNhig7cS8/agfYDE8iHQ8/GQUlbH1lnGjptAfwK4UOm8ACDA3yQNU9imEpdzLqp9XWPL4fgRiSBdriMmsCwm2JhY4OpO7CZ8qICYCrmroOhy+2N2KVo5mGYnl0Lt3AbUpCZDp2kefuVuA+Po0FWeBQwbKG+HYYnkJXdMF9kqwZEAewTv1XGzMYqo6KG7tVBn69rZY/O6UNQ4bs32g7xRltMEAgXH5/1oOG8AoIXdwR9hfmAlx9K6v6FU5hZmCEv9bXVMdcuLj0ejoxdAh2/dnjnwEmzDPs5f339DAgxjMstzc1vom94zliMbqEVZqUDJ7bz8hPHxguIhZtfoJu+XVxe0djJ9WHYWRi5sr4nAvkDEt8mH6y261j0S/0SCyl0958OzAwaS0FWut/itgPTR1bMSf70nmRmvUSXzMzCbWj3PqG2wR96HtWuGBYacKcz/lDV8Fshdp5ta1S8AkLEFWxJeSW/hR0H3lX0jHGjtgADWycDuguMUGXHr9yMv6rqm9Af8IROCq3G0wNXfkGEgqZu9zq61AzN4A894z0yVMFxyzcSnUHNRivnCLhd2E4brEMC5uDPPHwCxPV5YJ/E3HV4mTy3wwu/4CiCPl4cLiP96T/SW/8sLcgtzE7XMLZg+/HcHnTlwwgqeXFYe3jBH/13EiT+UNRWV769fxN/BYpj5+nLwugwTX+/CUDLOn006OdcWVqCbkEBygsLuJQ6Tnz3HzURBioKjWmxrhs1EFjI44gLMHEFtpSXngLfE948x0+I8wgITtmwG608QQ8jq6qJB1uUk0WM1GaItyk2HKJOJj3hM3KZQ1iaomD0hdiKgSi4+E6gz1dLSzNQuqJs2iQQ2FtXgkpPiEO377O+JxC/Q8dO7JHooWVqxdRK2TFrrKF9fyAlWuY2/Yb6ZHz9zMTEhHQ30nspzc/D897VTXyGaKRSY2Pu46eQgdI5+4zj5GZwBh9oIn3/30uxD5o4a9kQOwVtvbf3ohrr6wOCdtVjJ3mAlBcQdoQC1u+SVKDZRIc8Dpu6IOXzB7RVnZeWTAzW2MEVHxNBktnJ31ACgDTjW9sAYE6jFq3FX7sRe3p8HDIU1um2PhE5yYkoFpjkE2OBIZU4bNFDQUOHw3fCsqH2akZmL25FQO31mrkIkkoh1PZOqCwt7mggRQX45gyJHvFbmIMk8f9H3NNH7x7cwu01UWjzHg5yJYzEfwcS8kqrzlzDX98/uH1g8fTem9ZuqKv98vLJmQ1tB0Dra6vRQeleYtLa7QwVGVAb6lO/xO6dH4DHwvB0TktLS01lefieTSlxHyjYBfneR90RV339qfVL8F0CaYKyISIu7Q3GlxJ5BIR+qY3LTzH3E9+9xF/ZODh76RFG/Xl7Twm278OADIEQB1+PQWuKPaKXYu8KPnNXmDi7039vaqTmZ6YeXj4bXdVvbKjv6sIvlGbUif3IrA4w5oYf1XD0ElAf8JLi7aKkbp05fC/0FHrm4Ob5pbc0kuPe75k3CX/tveYOEiQz+4/CcqCnicsPXYmR4wBtC9uu3JMgQYKIB2FnYCyHsR+9hmzprY6J7vHu3s3HERfwYGG0Ls3PpXdWWVq8afywkQvXoIP/afGf9i+Y3Ne4OLi4lx4LF5FqO7bV1eW7acEHcMWTFCYmgfaTG78C1oNHeM/tuO30f1M80Uux9xXf3r8+H7xqydGLaJv1WWQ4OjRGj91zJtgMHjFywSoKbUMjb5O/509EN33rQWXdtntpTExM/IxKatSStUTrlny9OOXy09C1sscvplCw+vbr4vqX4deqWiDx24KTi5sPO/OHg4OTCx1SIUGCRI+or61pbKgXEpOAv+tHdie+fcnQmaSi8rz9Zy7t2axtYWM7xLvHYKn19XU1VSjYh2FnP3QxkLe2tFSUFANxAWcZXz9fO9iHe9k4YPAWEBFFceWlJl3atYmhMxi8kZvq8tLTaxdXlZf2PgpZda1pm/ed27jC2NkNPyEDiT++ev7XN8/p3XNwcaG44C/63LFPMQ9+Il8/gV6KnVdQaM6eE0CwhMQk3cZPZeiGiEZqQ3V5mYAwTchv796IuXqxK5dVZaVs7BzgrCQvOyR4NbX+Z9bMoEtHWagqLT61bkl1RTm9Gx4oTswNE4Vycs3Cgsz03ocvJC658ND56JATMioazoRjMxd3BL2JvkHvnp2DEy/NFzcuv4y6Qu+GBEOQa2YkSJD4L6KsMI+oz5mVnX3IlLmsbAzUJTKEnpU9ExMzCkEQxh4JKYbOuHn5dS37nd+00tJ9qIS8Uo/BKusbVZQUoWC5+QTE6W7zIHDx8g2fveTzi8cfn9yD8U9F37jHe4KdIEYz1rLwfugpdNMLaIGakRn+a/zrp48un7d0G+o9Z/nHJ/ffYUyFhZVN28KWvdc7jBTanpqgponV6fVLHbzHiLcbgAFGqG5k/vnFkw+Po4liN3cdkvzpHV4oPPwCYjJynQL8/PxxaWGevWfna/VAlK8c2M7B3bYqw8LK6rtgFV+vl/d6KXaQko5Fv6sHtito6sqq9mwjQVpZbcDogMiju1tbW4FGy6ioIx0l9PDwn56T+h0SAKLQNLVK/fyxlylH4OEX9J674sOju2/v0Y5OopLCtU6mxX+6dfqQ+7ipAyfOzPqekPqFFjgzM7OGqWWfTrBwcHFDtQ/ftVHLzJq4962kY5CZGJ8U+44odj0bB2YWFrw0ocb+anXo/yaQa2YkSJD4zwGGXsN+LlWlJfifgJCok/dYpO5czdAMXUJiY+OwcB2KLk1TsLM7toO90c4U8BjDfs7Ir5XHMGef8WgjCQZvC9chgmKSXUXNxcNnM9i7q7vS8uraEBoKFsJ38fWHURD9ZOQwQEKujdtxcvPAkA9B5a8y3AAAIABJREFUgTNxWQW3cVOsBw5HB94VNfU0Ta3xADWMLRS1O0ZEAxsnaSXamApUcsDYyS3NzSguYQkpey8/4EwU7CKXjLJ6XVUV5NR17GROLm7kBh7gFWVfUVuf3qCLsKS0+YBBPR9dYmKy8/IDqXYSu76tI0geLxETJzd6nZEN9XXozBYRwIxB5tT6OtwvFJy7/3RezBgMsCgt83YZ2g/A+TE7J5el+zB0NK2XYqcHZNas/0BhKcaKPKBoHH3GAmuEYNWNLQaMnmTQr+1yLjA8OXUt3KWdp6+whDQ44xMUdvefZjfMlx9ThCmlpEq8ANdJ7MDhFLVol1WBYEEd4OBsKylgga5jAtBeMJS+iq5RTUU5EzOzvdcoJHb4A0YOpYnqNtAs+ltixNrePSzchkAIncQO5NvA1hkvEW1zG/K0TO/BhHTxAcLCwp48fR0wawV6Lc7LqSorIToVEpMUFBP/fyewC9TVVBdmZ0D3gZp0L73k06sWY2KSVVbvjUb7kvzcytJiaMwyXZyTRaitrir4UW0bzDOk23Ww/Q7ITUuGJtenjUvw0lBX2+mjsLgUQ40kncBY7O0QxBa6e5+S3xm3rl1gbqlesWLFT4cQFBQkIyMzceLEvzFVCHfu3ImMjDx06NDfHnInJCQkLF68+NixY9LSf1XjXUBAgK+vr4uLy9+SsLi4uBUrVi1YuU3wVx6Togc0nKykxIh9WwZOnKlr1fmC578e9TXV6YlfIPvec5YBNaFgpoRXjnAJjoxheDfzN0dTY2NO6vcbR/cYO7n9oSr+/woaqQ05Kd+vHdxhO9QHXVatKClaNtR+xtaDbfpQSPw1vHv15P3L6CNHjnQ5uYk6vu9+6EnimVCvmUsGB8z+fxrc6AZp8Z/2zJkQfD0Gn872iNTPHzdN8IIcoXkhAisb+/rwaOD73V84am5qunXqwL0LJ5V1DdeGMj6CgJD86d2WAB9iLDDtW3UmEuRGjPcfxLGVc22GeLu0q+rpDY4sn53y+UMnEfnMW+k+flr39QFm5Mmx77ZN69h6gIlaa0sL7stz+kKi6S0SJP5lyE1N2uTvufHKw15eEvyXIf3rl91z/TdFPOwwUcrE9Pt0hn1FVVnJlknes3cdx1fU/lMozc8NGjtkxakrKu1rmUw0rXYsf2hp/s7oblg1dx0yYvZS/PXZ9UuhO9aPWbr+16fqV4GHX3DBwXPEGyswBzodtGzI5Dmd9Bl2wrHVNO07MM/rzeoan5DIwgPncKvqeWnJa3wGLDx4XqSLFe8/Al4zFlu6/6Di7snV0PA9m+jNpBDxPOryh0d3QW74l7f3ol5EXZm75yR65RMS7sIrCRL/Bsioamy4/EBMuvN5qf8IlHQMAkNuEhfXpZXUNl99LNZ+5uzPAr+w6OrzN4S7OFP4rwcMYUGX7olKdehL5xEUXHU2spu9exI/h+6YGQ+/APGUX2trS3lhPv5659zRb+9fU7DrKkDX0IXYuGePvr1/NWTK3JAtgY7eY5V09BPfvbp7vk3RttvYKRomtAXtytJicDB06rzEdy8/v3girazuPYdGAa8d2ZXx9YumqZXrmAA8ojfRN17ealM75DN3hZSSSmzMgxvH99bXVh9fs9Bn3nIFTd2EN8/vXWgb7D38pyF9sOVFBee3Bo6YteTLyxg2dg5RaVlmFhZJeSVBwvZZI7WhrCAXgkKvZYX5kDBkf8PQvr+9p29tVcX5LYGfYu5nfP3Mwc3T369DYSOkqrQgb+CE6Z3kBnMISUVl/PBpTWVFfkZqc1Mjev3+8c3tM0fQ84DRk9Dcq7q8DJI6aOLMpNh3Lc3NziPHUevrz29dU1VK21BWNzZ3HzcVFzufoDBI7PqxPRSa3bSlMirqIPZHl8+zc3KNXroO553FuVkhW9eiZ1MXD5tBw5HYc9OSHl06B9NWxxFj6mtr4Es1ptGRKPZbpw+DlCTkFWOuXRyzhMbFBcXEO6k7QidU8Nebpw4lf6JZOxAQFR+zZB0rO/v9i6cfhJ0BkUad2D966XqkZhCCBXaLB/XqTmRxbjZkHL1CIbJzcStp6985d2zM0nV3zh7NSvr6P/auAqyKpQ0fOBy6uxsDBRQVA7sbE7u7W7G7u1uxERMVCwsxUEERFRAR6e7mUP97dmBZDwcE9V7v/e++Dw/P7p6p/WZ25p2Zb77PsmlLIbHT54DACzUNhF18smDxz4GklLSu6T9ImeFvhpSMjNBiIfPz/9eBOH7406X4Y5DgSQpp5nC5Ej/hC5vFD/GTW5MPLjqDTNAaV7dO7G/TdwioT0JkmJfbRXEJCUVVNWlZWVAiEDU62MeXnoUF/HrNWvFzc30f3ubyeJh8UL+WXD0g8HqLwR63manJGNE7DBqFJ6/u34wKDqRTeHH7qm3bzvJKSqDtof5vtY1MwAg/vHgS/PY1HQY0pYDPt7SzB+3w8XCXlpEFG6joIaAior8GgygQ281AYlS41w3XJh176BiZBsjIYtonpBFFqWqV1Ehun149C3rzgi5qwKtnhQUFVi3a8PPz3j66IybGUdPWwywzOTb6ydXzisqqipRhi+z0tAcuJzsMGi0mJvbV/21SbFT9Zq1JIigwHpYUF5NbMJsWPfrrGJtGBAe88XCnM4r9FvLC/apNqw7gtQGvnymrayqraYK6eV5zUVJTxx+HWqinxf7V3yctMQGUSNvAWEz8ByvVqLUHF0/lZmXQ2bkd3Q3ah1yU1DRAbcFTRZpW51CWx5mOBUM/+skqKKpp6XjfviqvrIxRDWmmJyWAdyJBBHh553r01890Rqigxh26Ve25gQULFixYsPgXoSpmlhgd4fPgNn0rzuWalNnwjfn6pUmnHmS9BzTCyaF1vaat1CmnkHk5OeABI5dsAHEJ8feVkVfoPrp0VWnfvImEmZHbuLCvTbv0tmnVPujNyw1j+1k2bTVozlLwkmduru7OBwlFeH3XTcvI1HFWqVb1ysHdQI/aO47k5+f7eXr0HDddRVMbfCIzJXnypn0kzO7Z48BUwMzILQrTtGtvqxZtP3l7Iff3Xg+Z/nfBKsxtGhNlNQz5L25e3nTjKXHxe+fUIa/rF1v1duw1YSbIn02rjo3L3IQR0C8ihAI+yvaAPtKSkZLUoG0nSWpNMS0hTkpWjl4iOrBoKj8vF8ysTCChdp17NWzTKSb0C/5GLlmvRB3PIS7taPsx6UmJqIu+0xfies3wnjlZmR0Hj+k4eHROZgYqwrR+AzCzyM8Bb+7f2uTmSaK4Hd714taVFj369Zk89/3Thw3bdWnYrjPEfvf04U1uT4nDPqbYBUVNSpDg8bqV1V1Y4AdmY+AIzqBJEs/xxcXF988eHTjTidgrigsPdXJo06BVB4grKSaqqLCgChcumD2Dd0K8EGbQG295ZRU9s1ocypNgZHDAkHkrDGvXe3L53EPXU4SZed++ZlTXql+ZatrSfu019AxYZsaCBQsWLP5vUBUz++LnwzRD133MVHpTCaQhPSmBHEJMTYxn+j7HyDp9W+luXSuHQbnZWfRZReJijMaguctqU6d1OJSbiAnrdqlpizjPhZGbTqGAnyeyqLnZ5Sci87/PZcj8leY2jegCXNm/jazfIEpuZqaGgdHCwxeIl3SOQNO/ICEijDhfEzqaWn3kZmVd3ruZPjwB3jB7T6k3DPteA/KYAsnO4jDW4RxnLyFkF3xl2tZDoLwkJETNTN+uU8++U+bRtx0cR4lU5wcNpTPKqsQ4JChsUnREIT+fQ52yYf4EOuvAcL33+t7ND8+fcCgumxIXo6CqDirWbuBwOkBaWXtIjomiD/z+EM279+VKSDivWQRCfH7ryk5Dx7bpN/TjC09ZBaXJG/cRYiqE7LTU8vZQwK9mRixYMIF+KeP7Bi9FLa5zKDVnaXl5Wfmf8VSWn5eLr1VNR4/LlUAHgskS81c5JWV5pb/Q5HqNwM/Pw0RRUFRRTtwrAu9SWZeopq0nIVldO3C/grTEeKFD4oqq6pgDM8X+E8nivTCEobdBf5gcFy3k6kpVW5fM1f8JyExLKS4sVFKvrpGE1IQ4kUZr6dbO4p+Jqtpx0y69Ry0r96st9AG77FjnfUeg/lVSUlyQn19ZIn6eHkeWli6ZFPL5TAsu1cQj1zO06eTKMnr76J7/s8elYfj5lfnnklNUXuZ8lTTrZ26uj1xPrzh3i+maLTEmaumAjuSkCb7POk2a17S0gIKq6vIzN2jddjGx7440vn/2+JBT6ZoZBKJTQU2NAB3Q5gmDkmOjONQCko5RjZUb4sK+OjmUrsaBcVpX8ArPEZDIzI3jBpa+b1Ghnlml59j7TZ3fpv9QDqUSt8Kx89hVW21af2fO4PyWVS7bBf7j0bsRqvcXwePCiUeXzpDrgnzRTJ0Fi6rx7vG9o8vnMJ80bNNp5q7juNi/cErrPoMwQ/iJZL++9z3kNH3tpfvoZG6d2H//7DHmr5jq9Jk8p7K4fzPCgz7umDoCRVWv3ukE77tuZzYsFfnT2ksef48JjHNbVvkwnNADY1Zsad13sEDsi2esdb1XfcrCxM1jezFpH7tyawGfv3Xy0ITIcOavK8+7G9e1+qVy/z7cPX04JS520oY91Qx/cs1CMqMWAt3aWfwzURUz40pIVOboav8CgZY92flKT0o8sHCyyGD3zx+PDvm81Pkaub20Z6PIYFWjZe+B9BYbIPJQj1XLdv0Yxhcqs8cNCiIpLUNeqknnnnLKKpvGO07beojswwJqWrpTtx6k7YBXx8ieiFw4YlIyMiJF98DFGR0iLZAr+7eITCHic4DzukXDF60h5ijxaRESXCNoGhhP3VJuv0qWUsAXgrScPMLQS1MQTmWpYU5M3gjCmX/owr0zR9CX2fcaQAfoN21+vWbl5pr0/rKeunXfIW37D6NvK7PWzYJFFSguKlLV0pmy+QD9RK7sA8G8oqio6CeTLS7m5+eRNeOiggLLpi2Zy9vvvR66bF8zuMrjzH8bMIPi5+VWf3m7UbuuhrUsyfXZzcuN6tRv5TCI3Gro/U0HLQsL+M27923vOJJ+QrY7IPaCMrH/BDBxLSxdfS/B5B9DSd0yZRjg+sEdmJSCyvxKyX8XigoKC2uyUTB47nKiTBIb9vXw4hkY3YjE5EQNByz+OfjJEwCRwYENWnc0t2kEDvHC/UplbSUlNiYnMwPB8M1c2bs5ISLsJ7zNq2hp09uRbod31bK1q7jJpaiiRod5cOFkWmK8yI3R76KoqqONhn54V8BY4OFJSZlZ25K1a/Chz29fEbWn34WU+JicjDRS1Cv7tsaHf6M7OybycrLCAz7omddCl/fm/q1Pr7x+Ii/QLFom7zw9vvq/rWjwVpzLNba0JrL64vfmjYe7YW0R5WECfN2knnVaUoKQmxFtI1OSXXpy4pW9W3qOny4tK1edchpb2nQePsF5rZN974G1yna3c7Myz25c3mfK3IryV9XWpd/r6v5t9Vu0Zt19svgJSMrI0g2pMgj0H/ZuJpuSmIu2HVA+JXj7+B7tndph8hx0Jh9eeN5xPpiXnXVu8wqHyXM5VCfDzALMLC683Ay159XzwW9fc4irpekLyTwwyMc76M0LfD74iJp27Y3PM/Sj30MXZxIFFKFWQzsOdeIbBes4ZExYgP8nby/k7kCtxt0/ewxzP3SzHRgaDsj39b3S48w9x8/QMTYLfP3C/eR+dH0u29b0njQbNCvE3/exa+lSdLuBw81tGnOoBfLLezd3HTkx5L0vh5okkwByCkpqOnrk1Ujf3qBtJ3LKKjM1BbfdRk8OfvdaXJxratXw1rG9eI5EDMr6OhAphCEdCLLuzDiJzxR7635DDSyEPSCBT/+w1j77vnp67QK5hoiYToGuHdieFBPJobRuuo+Zigv3E/s/vvAsLCwEA+tO7WBoG5sxs0iMCqe3cYnYyY5q7cbNWvcZTJ5D7Br6hopqGm8f3e0/Y5G4uPjjS2fJWXVwIDwh01qIHWKBcFC5WWkpjTv1AOFLiY9FmkyxE9w4spuobWgZmvSeKGBXd08fef/0QV5uDsL3pwxaPbp4+uuHtxyBhQTV/jMWEsdZaA9oM52HjUOwVn0GkXfhSUpyxDiGteuR1c2wwA8u29ciChnsPr58iobUcfDoK/u2QOzRIZ8/PH+spqOP+TZdHgSgDSC06jO4TmNhDxAsfiN+kpm16Nk/MToCDQVtVFJGRrBOJAq1bJt88RNHMHy9+Xm54jW3UmvdqkNilCAjcpudmU4bKcXcFK2/dZ9BtRs1BcGiw6QnJ6jr6YtO7nsoqql3GDzK9+Hdxh27gVjgA7Bt3+XBBWeyu5eTmS5fpbWtL34+WempNZpLWTRojKkqKWp+brZ4JScWlTW0MAa8vncLL4sseDXX4dAxMbdq2bZcbhlpTJO8Ad5eYGnoW9GzeN++TkSKEUVSuroe8Rp36JaRkuT/7LF1y3bohlo6DIwNCyXZYU4nISlZteVeJjT1DZHI+S0rV553p0+kC1Y3ZWUw8oEf52ZnNuvWhzxvgI4sLoZ+L1DYn9MsYcHih0BL877jhr6LeGNMiAoTHKPp2Z9DTXW+fXpPe2l8dfcG+gF8RwJ7h2i6MjLi3B+0/xfuV+MjwugU0JWBh+GTjAv7+ujSGTzHdBf9AzoZDLR0sE/ez4qLijEo8vNyn9+8DIojp6SEX7OzMshHkZYUj9uk2CgvN9eWvQaIiYvjIw3xf0ungNmXTav2VFHxsZOickEQA14/o8NgnC4qKqpt2xQM6dkNV3zLYI0GtStVREGauma1CDPDJ+nldrFFr/5IM/prcHJcDEn27ZP7BXw+KCP6jec3r6D3Js9TEmI9r16w7zWA6c1FjFMtGYpE0JuXgT4v6Hd57/WoqLAQ7AR94LMbl9GZkJ/SU5IeuZ5p2XsA5MCV4JWUcHg/6v2SoiNf3b8pxhUnKcSFh768fb15d0HX9OGlJ3IBaZaUESSCF0yIDifBikuKH148hR4MnJJYLEKORUWF+BXDFibnqGgSkhZ7blbW85uXUGDyHBcPLpy07zUQrYvL43ELuDxpGTRLNIDEmEgSBgli5EJh0M9Hf/38yPU0qhhZVzbEJMdEed91w9SXMDNQMb+nD9r0G4JmmZ+bq6CqhmRRlffOHMWEWV5JGdT8k/dTWqqBb56XlBT/N83t/j2odFTTNjYtrnxJv/eEmdcP7fR9dMfM2nbI3BWYUhDHqCpaOuS8HoFtu66S0jJuh3fhesK6XQhDtA7Rwmo3bk77UpVVVKzTqBnNP5TUNc2sSpfW2vQd8uzGJUwuye2oZZsI5cdEBB8b2odN6w6NO3SXlJK5eax0651ei0bWaDr0jiSigMMxNVXVdfSHLlh9dNkscxtbMDPM3jDzwC3RALXr3KvT0FI/OfhJTUd4ES4m9At6QCFmJq+kUsu2aWVKtQ3bdJaSlr12cDuux63ZQWsE491rNyp3LosZsOPsZUeXz0pPSmzbfxjeAh8h+UnPrLYiZeSCANKmzR7iI8S0nmyAogdE4sfKNGkwnJCzjSRKVEhQxOcAy6YtB8x0OrpsNpkR1m/Rptf4GaW5mNdhWlM0qWet/L2vBcxEH7g4hwX6C5gZl9tn0twr+7eiPeAndA2oa/LBq2rrGn2vooEGYFKNdVNpOXnHWUsw28bczqZVhx7U7BbAW6Afx2hBbseu2vZfNi/E4leAqQhID7lW1zPQqrAtHhfxze3wTtrRyNPrLu4n9hNmFvrRT13XoD91PhpY7thZQVkVsyn0mZ99Xw2cuZh0dGmJcXQWBPpli0CBb15gekO8KKYlxi/u09awTj1ijBojMegUPiJ8g2jtGHRHLtlAYh1ymo4ZI71cEfzuVd8p85p06gkCt3pYDzMr22ELV6H/AWO4dmCrfc/+mGI+u3lJRUOLTmHNiF7SsrKdh40H/fH3ethv2gINPcOLO9dhAjx9e+mEZ/+CyXnZ2fTxrM9vvftNW9iofdfKJIlRIDMlGURTVkEhLMC/lq0dOT+REBWOVyNZb5k4WLCEVr9BanzsuS0raO9MmH2d2bQcrJTJzMAAIEOReSVGR9AiRU8iW0HhxOfh7eyMdFoTa9fMMUWFBRgs8nJy3j25N2rpRh1q6+DDiycHF03DnLzzsHHxEaG52VnoZIiyfGRwANPPt46phbK6oDZB5kLe+0xYt5tkCgJ99/Qhwsw4guEgGLn0mzyfqtxnTbs4WNm35VBu/QRH5us1ID0qZtqfvD2RiLK6JsTudmQnBgXUNeaitNjRAFx2rF1w6DxxkfnZ13vr5KGYlHYYNArVlBwXjfEXzOzm0T0Ok+cQJ1EQi1Pv1hjISFvNSksJfP0cySqqlg8WTCioqGJQQ1u1aNA4NTE+Py+X1qX74vfGYdJsUMlvAf4rB3XBW4CZ+T9/HB74Yc7eUyTMkWWzkAXLzP46VMrMuo6YWHXMPpPLtVnnHzhHLvD1Cn3A9Zu3wR+5plUuwL3Q7OgwhrXrzTtwlr5FUyBtmqBl74H0KjoNtCpaW4tDucKtaMQfX8KioxfpWzASumHRQHfA1DVR09Z1Onap4ssOE+X5ADOMig/R9dAG7kUCfIh27OowcTa5IG4DmMGkZGSmbztC39IWOoQ0iOkOl0M5OZ6x4yh9i5GGKSIazFMdMnLyM3ceqxim3/cek0Yv31wxjNCB0P7TFlQMY9e5J/6YTzAU0T59CQr4+bmZGXJKKhWnd5WJXaTkWbCoEZJiIvfMKd1H6z56Ckaj6sdFa8/PzaE3uYq/P81HI+D189CP7+nbnuOm05Ofcau2gQ2QFDBal5SUH2/XNbWgOy40dXwgdEYF35+tGb5oLd2ZSEpJT9t6UKTapcDVd1kKRQWii1rA59NhhE7woJOp6LycBijFxPW7982bmJYUj5nh2U0rwGWJL23MmUcuWS8yVk5GGsmuonvyqvHq3k2/pw/JtdPxSyaMhYCqQfr2bDrf74/NMuF+4sA9xtGNpc5XMULhwsyq4Ywdx+gU8rOzmLHa9hvWZ8pccj1+zc7c7EwSLDs9lcNQgNM3r7Pg0AX6tl7TVpCeyGLQh2FzKi9qXnkuaSUM45pCQ2pFgL5j8uDk0GbxiSueV87xpKXBWUlSQ+avEHlcrJDRQgry80kVs/iLwO4EsfjD+PjC89qB7asv3lFhXXyw+BuhY2KOYYlcV1MnkomHF0+5Hy+1oZhZiVUaUJPhi9fRt0K5XN69kZzsKS4uykpLrSyjD8+fHF9ROuRnZ2bQC/nVh+fVC7SeWWZaqn2v/hXDvH/6wKl367Jc0ruOmFTTXKqPkuLiHdNGEiUKjPGySso/jEKjw+DRILjkWkG5xr7d9s2dGPH5E4diopVZ+hixZB3z4Dkzl4yUpA2j+mRnpHMoCylVaCG77lhPXJUUFxXVlH0SHHKaRs6iVaHyf2Hbmit7t5Bc8nNFWMf4jfjk/ZRuISCL7QeNrDo8i18By8xY/GGY1m8wdNFqNW09WjXNyNJqxo4jcgrs6SEWfyG4EjyVnzXpdO3g9qLCwkll1q1PrxO99SYpLVNZFs5rFmkYGJEUstLTTq6aLzKY1/WLXz+8ozNyP77/J0oLnsE0PSjSOZJ5g8ZEzZzgLz1uKSYm5jh3GX0iXlJKWlKquhquMrJyP1drKXExx1fOa96rfzdKzf/bJ/97Z46IDCmnqCwyi9CPfm6HdjrOXU70ccFlycGIijixaoGOiRmptYyU5BOVVG7VcJg8l977FudymUosNMBT6UVTDqXr8hMZVRPG9Wz6MTZGmN4zWfx2/IyKJQsWvxFK6pp1GjVjnhjAJNXSruXfY7uSBYufQMTnAE5JibV9OxNL6wBvr5yaL4qE+PvKKykjBQ1dg6DXzwsLCkQGi4/4lp6ciGD4i/oSlJoQ+xOlFRyyoVLAX3xYaHJMdMUwyuqadJjMlOS4sK81yoJS4Zf84ufjMHkOrTEc/PaVxzlRRrPExGo1tCN5qWhqf/bxrkKn+XchPy/348un+ma1kSlPUirsk19NU8hKS0Gt1W7UFCnwc3OiQj5XFvLLex90YgimrqMX9OYF7TS5RjCzakhEpG1kGvDSS6TtRsPa9UgYzG8DXz/PyUyvfvryyiqOc5b6PryjqqPXuEO5e5tHrqcDXj+vGF5JTYNuITkZ6THfvvzES7GoJtg1MxYsWLAQAZCVxp16vH18j1CNtMSEhu26kJ/qNmmRkZL09NoFfl5uenIy02o8RlDvO9eJp7Iq0LBt5/SkRKSQlZ6GvxKGGxUmjOpa5eflERsQCZHhBfwaO72o3ahZSmw0bUUiNjxUp8zDOor9+t6NZt36GlvaFBUW0WGivgbX1LwRXgds9dun94PmlFuj5efnIzuSrI6phYGF4HSnnJJKy96Oga+fhVLmHjJTU7Iy0ku+d0BckJ/v++hOLdumqpVYpqwCplYNw4M+0u+ioW9IvLfJyCnY93b84vcm6ktgcmxMTtZ3WmJxYaHvntxjWmSsCBVNHbzmm/u3JHi8uPDQvJycykLatuuSkhArqNy0VMHWZw0NrUnJyrbo0R/CJFYzcjIz0EJoRzsJkWG+D2/btu9m26FbcmwUeVN+fh6aU1El+o4iIaug1HXExJWDu7bpP4zpaTA3KyvI52VSdERudhZqSoY6zAEKmJuVSUs1JjTE4Ef2lVj8ClhmxoIFi/8c5JRVRG7qATrG5kS1CAGGLVy1Z84EoviMUXkAZUQK6Dxs3CPX0/fOHlPV1p2541hxUYG8iuBMtIycvLaxmZebq7lNY/xUhanq/tMXXtm3BSmYWduOWbEFQzhRqUY6TLuDTTr1kJaTd9kuOAozbesheWUVYiOUKyFhULuedJkWNsZywzr16WVmOSUl3bKNrQ6OI59ed7l3pvRs0Pi1O4nWvJSMnJ557Rfu10ytGjXt0ktaVs51V6m2/sBZixtQilagIEhWqoISnqahiZLaj63t12/eulWfQeSE+KilG2vZCiyxqeu4N0LfAAAgAElEQVTqT1y3a8/cCYlRAlP74LjDndYKRSzg5z25cl5NR0+ImWnqGwodEieA6AxqWZIT8S169JOSkb26fyv5acj8lSgGR3AqXHPiup0HFk6J/hps32vAwJlOl/ZsJDZ3VLV0g3y8ve+41W/eFjIRaZQbMKhV13H2ErSH3KyMHmOnmdRrQBu00zIwVtIoF4gg8d0bUbkWDZuMXr4JJF5KTiBDBRVVHZPys+Sgesz0NfQMldQFpjrR/Mau2npk6SxQTA513I0+JaCipV1YUPDc/WqjDt0HzV5ycec6FJt6O62ZO48Rq2kKquraFU6sS0rLGFtaS0r92M1Uj7FTISIUXsfEnHa02LhDNzTm81tWktu+U+cxl9lY/HaI0XaTL1686On1avz0JX+2QCxY/Etx+/p58eKsJUt+/gtau3atnp7e2LE1VvH+Ie7evevm5nbw4MEfB/01BAQELFiw4OjRo7q6PzD1/EOMHz9+8ODBHTt2/HHQasDf33/JkmVzl25VVmHtEv9+FBUW3jy2N/ST39yy8+/HV84DVQIv+bMFY1EZMPQXFRSsG923bf+hxKsKZiBODm0mbdgj8mwmi78BPt6evi/vHz58mNUzY8GCBQsWv4QL21bz83JHLf0Z/3ss/ghS4mJWOHbuNX5Gk049fxyaxd8LdjeTBQsWLFj8Epp1c5CSkWX6xGs/cIRYtR2BsPj7Iaek3Hfa/Fq2drQPTWk5+XGrtxtSanks/ixYZsaCBQsWLH4JTIePBNVx9cHiD0JaVk5otYwnKWVbdsaFxZ/Fd8wsMzP9o9/rP1UUFiz+1UhMiNFSV/xxOBYsWLBgwaJylDMzeXl5TjHfw/1CFaFZsGBRBWqb/5J9zvz8/Pj4+JCQEAkJCUNDw6q9wpeUlERERKipqQm+XBYsWLBg8f+CcmbWpUuX33UMigWL/yaq5lI/BDjZlStX1qxZY2xs7OPjIydXlcugwsLC3r17r1ixon9/Ec52WLBgwYLFvxTlzEyCwh8sCgsW/1kUFRUNHTo0NDTUycmpV69eSUlJmCkdPHjQyspKZPigoKDhw4cHBwcXV2KhlEXV8Hv64Mq+LcwndRo3H7Zw9U8neO3gdikZ2e6jp/xy0b7Dw4unnlw5x3xi32tA1xETf28uP4248ND9CyZP33ZEy9C4OuErip3GxHW7DWrV/Z2FqwRXD2x79+Q+80m3UZNb9Oj3c6nx8/L2zZ+IFOo2afE7SleOo8vnEBefNIY7ra1t2/T35vLTeOF+9bOv95gVomuzIiqKnUDPrPbkjXt/a9H+H8BSMRYs/hH48OGDuLi4iYmJnZ0dKNq7d++ys7NFhnz+/PnFixcnTJiwatWqv7eM/z/ISk1JS0zoz/ADmJWeemH7mgEzFvEkf2yNsyISoyNk5H7/tnJqfGxJcXHHwWPoJykJsbedD/52Cvhz4Oflhn54x8+vri9tbSPTDo6jyPXDi86KahpNOvYgt0pqGn9JESsgMSpCVkGpebc+9JOokCDPaxfa9B3yE6kVFxdFfA7IyaiBW6RqIib0i46xmaVduVtMnwfuuVmZDVr/I7a20pMSY7+FVD+8ZRN7Vcqybk5mxpV9m9sPGqVnKvAHr8DaFxQFlpmxYPEvA4/HMzAwGDt27M6dO/90Wf7FkFdWaTtgGH3r+/DOg03OfafMI8wsPPBj4JsX5KfGHbqp6xmQ6+Li4uc3LmVTI7GmgbFtu84iE3/j4Z4cK3BPqaimzlyPiQsP9fN8QK7rt2ijby6w1J+fm/P85mWbVh0SosKRLzhK8x596Sga+kbMcrqf2O//7DHNzAJeP48IEqyscCUk7HsNkFUQnEGJDfsa8t63Za8BL9yvGVta6ZnVAnH0fXiXRKlr14I4LCos4D+/cbmunX1aYnzoRz8IBCmIiYm993qEQVdDz6BRh250vuAfAa+ekWvb9l019Q1BHZ7fvIJbJNK63xBdE/OEyPC3j++RMPWatTSoJXDgU5Cf/+zm5frNW6XExeJN6Xf58OKxlpEpffvy9nVIgyyb8fPzkKZVizZJsdEgf0Z1rV66X8VzkBJtY1O6SC/dr6UnJ+JCVVvXrrOwUa7ioqJnNy7Xsm0COij0k4FFHaZIz2xc+tnXm2Zmbx/fT4gM4whcmyvZ9x5IqygkRUf6lBn9r9ukhVFdEdYlstJS8bLEHZNJPZvajcqXuCA9gbtVQU3xWvYeQPxDxHwLAbWF2CHJrLQUk/o2zFWxWg3tmOXcOmkIeAxhZiUlJWgzyI5DeaBq1L4rCfPxpRcKrG1k8vbJfTQAaTn5z76vvn16L/hNTAxPUMscgT/WsCCfl8gXDTU9KcGwTj1LO3t+Xh7SRB2h2Cg8ne87T4/4cIGfKLQuREFL+/DCM8jnBVr4I9fTeCIlIxv05mVY4AdBJuLieDs5RWUO1dqD377BrfddN8Pa9do2ac4ReDmLv3F0N96CuIRKS0q4f+44EiHGO+LCQr/4vYHYvW9fQ72j9lF+pG/fewDt9h4pEM8HgEWDxmbWthUr4t8OlpmxYPEvgx2Fgkp8YLP4dUSHfnn/7NGH54/JraSMjMA7ta5+bnZWiJ/P2yf3yIhI+XFSMbOxFRfn0nFBd776v33neT8xKoJDuc1RVtfE4IHRBcTrw/Mnvo9KR/fi4iIJCR6oRm5W5qXdG/E/MzX564d3yhraSohiYyslLVN1Ob8F+L9/+gCkikMxMyV1jTqNWyiqqoUFfLi8Z6Oyhua7J/dwKyUjw8y3gJ8H9qlralHA5189sK1dYhzIU/C71xj1UVowMz9Pj6iQIC1DEzxByZFyTGiI/7NH770ekhR4UlLWLdunxMcEvBZwtU+vvKzs2/IkJf2fP6ZzKSwskOBJ6piYY3C9um9zZkoSpCctJ2fdsp3Id7l7+lCb/sMIMwM5uLx3k5qOLhhAZHBAK4dBJFlxLhd/mgZG+Xm5X9+/BflIS4zDc/BmRVV1FJV2pk6Jt/iTt6emgWFFZlYZUCNIFq8fGyZYDQKJgUDMGzSWkZNPionyf1EuQ3BHCSkpve8dfKUnJYIoC8JQzAysUVpWjhA4cCO/pw8IQ5Lg8ZQ1UFPNId6wAP9LgprSQk1lpCThTxDlRxbF8rKzQ/x9QYKJ3zC8oIKKqqCmuBKv7l5HviBqaBhgq2BgyDfkvY8gmpgYSD8YGNpJ1JdA113rMW1AvqkJcakJgqXZ/Nzct4/v5uVk448nJQ2ijIch/gKBgIVzBFRVGY3KvEGT8MAPkcGBmWkpIPF2XXpjJuDn9QDNXlBH4lw0eDBXJB7x+dOl3euR3bsn90G8yDxECMkxUee3rkKrIMwsPOiD25FdzXv0wwykfou24K+fvJ9CJsiXMr2mnBof+9Hbi66InMx0fJ7EJev/E1hmxoIFi/8iigsLMRDStxhr5ZWUwUtwfefkAZ609FLna+SnTeMdczMFrhLjwkO3Th6yye0p8bn5xsP9oNO0TW6ekgwKlZOZsXv2uCmb91u1aItb0KbVQ3tsuvFUx9js9b2b0V+D6WQPL5mZEhdDe428dnDHkPkrBs9bgRFu7UgHJEsoRSE/n1lOEA7ZMnec1w5sa9C605D5Am+GGE2dHNqMcFpLFrpS4mL3zZu07NR1cJ17Z48Fv31F5+u81unOqUPjVm8nt7eO7es/YxF+jfwS6NS7tayC0vi1O0ct2/jO02Pf/Il4WVkFxbtnBP4T6RS2ThqSnZHWe8Is8KHFfdpOXL8bQ6Pb4V1f/N7QYY6vnId8ae9MN47uHjhrSZfh4yurDuRbVFCQl50lISkJ4otxmssT0KzANy+LCotIshBsRnLigJlOGJ63TBq8/LQbWS/5+PLp7lljNl5/AopDJwgCNGXzAZF5gSwyRSomJi4tK0+Jmo8KhTzHrhK43QQdcXJovfriPRNL61d33UAT6bc7tX4xGgkExUwWtOzaga2QGOgjbm8e23tx57qFR1xwfWXf1sYduw1dsArXYKiQMyRMjIelxMbsnTth+ZkbIC6QkuvO9QsOl1pIyMvJYpYTbIm0tKTYqH3zJiKKnplgQxAUbf/8yWhjZD/d/9njkuKSeQfOCsq5bnEt26ak2MVFRXgdXDTvLtjJBYE75DR90dGLpvUb3DtzdPMERw19o+Wnb4ADnduy8taxvZM37SsqKjq8ZMbAmU5EnwztH20MYu85bjpXggdWN2evM57vnTPepnUHkksBPx9vN2juMrvOvXCbmhh/YOGUJSeuiFxiBMQlJMCA8dUgYhHoPD8f9Iv6CjkPLpzoNnoKkgV3RJqz9pwErXz39IHnlXOrXUoXgF13b7h+cPuMHccqa1f/UrDMjAULFv9FxHwLwTBD32KWv/Cwi+SPlql+BR0Hj8bYU9mvE9buEKlC5P/8CbOcLXs7jl21jVxPXLeLJyktMjVNAyMMacRDdpt+Q+x7VnqAFxSBaXF09p4TFg2a/OhVagwM7cy90YqYuuXgpT0bbxzdgzH+yNLZs3YJPGr7eXo0atdlzMrqqplXE15urvS+JNBjzNR2A4f/3iyEMGnjHnozTghaRiaoKUVVEepWIOu3nQ/RtyOXbiAtRMfYFMS9Mg2t5t37Dl24ilxD7BKMdUQmVLV0lzpfVdPRI7emVg3n7HH+7VpfGroGS5yvqYjyQ08ATr/y7K3dc8YNmLEoMjgQf/MOnBGnPM0PnL3k55T//g/AMjMWLFj8F6Guq0+WRgjiwkPPbV4xbu2OykbQGsFl29pbyvtwkZuVST+UlpMP8vG+dqCUV0WFBGEQpX+VU1KRkhVhJ8XMumHfKfMYxTYgqkIcwXab6v1zx30pklFcVJSWGE8H40pIKGtokcUbaVm5ryGf986dQH6K+faFSQHllJSlGfZZMDaLpKfvHt/bSCkbAWGBH2o3blYxTMh7n41jB5Dr6K/BjTt2/y4XUW/HyFe1uLAwNzuzqKAgKzUZxSAKfyhMZXTBea0T0avLSk+tIuWKsGnVocPgUfTtp5dejy+fAz+rUSIikRQTtWm8I1l5TYyOoDdSFZRV7509+vaRQAmvqKgwPTmBjsLlSpBN5Iqpte47mGmU36iuFZEhV4KnpK55bMXcpOhI3GakJDNjScnIIjtyjabyyPXMq7sCraySkhIUjw6GtoFEJHilvA0XuBX5UiCISIQj2GXOLSzgiwzz0MX5/VPBZndxcXFKfCwzF2UN5MITGYvKF++ikZORXpCfn5+TXcDPV1RVJz+hcmXKloeZQNOim1l8xDd8IJUl/u8Fy8xYsPjzQL+8cOHCs2fPuri4fPz4kcvlrl692sjICD95eXn5+/tPmzYN14cPH65Vq1a7dqI1dVjUCOBJZMORgJ+b+/nda/Cb35K4qVUDHRNzct2iZz9Filv4P3sU+OalTesO5HlOVkZ1klJS02SWkwmP8yey0lJIgoV8vpCRBRqfvL0+vvCk863+UUom1HT06RRwwdRtp6GoqsEM80N9qV+ERcMmoNfkGgRO5CguEojFFKmfp0f018+/pUjg1tat2tOHBjTKDo7cP3csOz2dCAcUhBza+CH0TGuJrPrUhDj3E/u1DE3IbiYoPsilyBQeuZ5OTYgn+YIzRX4JrPErCRhhfboq7br0pJfZmNA1q0XbDWnYtpMhdfjjL4KsohLdzDiCFUSzvy6vPwWWmbFg8eeBrnz06NHe3t6gZampqRoaGjNmzJCSEqwZYCaZmVm67pKVlZWXl0euQeb69u1rbGz8p8rMogrYdelFxtTM1OR3nh7Et/cXP5/YbyGD5pzEte+ju1UsJFQTr+7daNKxR5cREzJSkl7fv1mZB/HQj37hQR+JwhNYyM+ZBTGsU48+EPrhxRORiWgaGNFhgt++FhMXsQ5UBSwa2sVHfAsL/NC8Rz963S4uItT30Z1G7UXshNr37E/0zMBUAt88F7ns9DdDQVml+6jJZKkyIjiAXsX0vuvWvFufTkPHpScnVlFT1QQa1Z1ThzbdeGpgUTc86BNZORMJnwe369rZo1Ky0lLfPHD/OVPYtm07N+3qwKEWgJEg2WoUAmgZqXrMbXwe3ubWpG1DXE069UTVo1OztLOnn3/28Qb1NLMSPnqpoqFFN7Nvn94zl6X/b8AyMxYs/inQ09Ozs7MbO3Ys82FHCuR63rzyXS0JCYmNGzf+reX7/4LAFhd1qpEgIzXZwKIOGbrUdQ1ysjLoX5XU1InClpS0jFFdq7iIb3k5AlNzmWkp+hZ1xMS+G+24XAnD2pZpiQkkelJM5EOXU5Z2LWUVFFU0tVPiY8nzp9ddYkK/VBx1agQdYzM+Pw8JJkSFP3I9XdkQpayuqaCqRvL1uuEKxqBlaFKjjNR19EH+aIE8v3nF0q6FYe165DbqS5CKhrayhqaCihodBqxRWUOrRiprbfoNuXfmKAjEslPX6YexoSFPr7moUKaw5BSVlCmNJfBCY0urpNgoQnEgSa/rF61atGPuw5YUF0eFfFbR0pFXUhbKCPSIWfVcnqSGrmBxC1WJCkW1kl/TkhJQ3eSELBoAmgEdCwVQUhU2wIaMwE1DP70nrcj/+eP0pARre8EKt46xOT9PUFPxkWGPXc/kZf8SmcBrmtSzSYgMK8jPf+/10O+pR2UhtYxMiooKkW9yXPSDCyezM9JqlBHIrr55naz0NPLiaAMPXE4ia6IVh/YWFvhR36K2trFpYQGfhCkqLHxy5ZycorKGXnVd1UnwJIfMX7FzxihIu9PQ8t7vo/dTtFtUSk5mOuqFnG9QUFFV1dalKwKsHTlaNm0pOul/LVhmxoLFH0ZJCQaRYnSCJdRhe1zjAp37P2EN4P8VGNEToyNWDS1XhGrYtjM5zgb0mTL3/rnj9K8LDp63sm+LC11Ti5Xn3Jf2bx8b9hW3jdp3nbvvNAmDeb8YZTtDTknZ6dilzRMHffIWbDAZW1qvKTtH1t5xJLgLSXb1hTsPlFTI4oqAEfAkyleYxMS4PB6pfTHKTkRlbzFu9fYzm5YhQTC8lWfdl/RvT5gKkhJnOHRp1WeQoroGyXfJyatKappFhaUmV7jIt6yZiXEE+XLoW7HyRHpPnPXw4ilaIHjrUk01qqgHnaZN2XSgTb+hiqrqdJjRyze3HziCpCsuwau4SiTOlWBaG6kMqJeuIyetGCxQt5q+7TA58aemo7fq/G3kRUZoEN/FJy4LRSwsLNg7b8LAmYubdOrxfb7cV7dugDjST4YtXN1luEAJjyclhVfbPXus89pFHIr4rr/yiCxttuztCLnRbzd80drOw8aVCk1CgrwdGglIA2qhhPLM0X301FFLS+dOE9buPLV+CaKb2zRefvYmmlBp/SImr7ymIBBa5uIS3MqW1rSNTNde8kBG0SGfe42fMWLxejQD+u2YDQYFcNmxDvmCRq91vU+1ECpf5IRic8rqmrpliogkgoez95zcO2/iqfWLOZQBvw1XHhL6i5KGf/60dcqQDVcejVmx5fzWVUQ4oFnrrzwkO4x4OxGLZ4I2I1Gdzq3/9IVZaalIFhQfaRLluSYde2CGQ1cEwjhMnP3DpP51KB0MWLBg8aeQnp7u5eXVuHHjAwcO6Orqdu7cOTQ0tG3btr/RW9rdu3fd3NwOHjz4uxKsDAEBAQsWLDh69Che5BeTGj9+/ODBg3+XM19/f/8lS5bNXbpVmVL5ysnKSEtMYAaQlpVT1dKhb7PS02iDBapautKysuQaHSYoXSFlTI4ZJS0xHsMbbcg+OTY6P0+gzsWTlKKVjTiUxYTUBMoEl65+dkY6BkQlNXVM+hOjI1U0taRkBLnw8/OSYqM19QwwyGWkJhfy+cyCCSE9ORHpgFKoaeuhYOBGMnLyAtNoaSkaeob0+JeXk030ssFpcrOy8B7K6pqYAyAKykz0ygv4+SgGSkt2KhElPSlRQ9+A8CfkQsy6UgLRYUbhUGbbZOUV6Fw4lE1/YqGquKgoIToC2QmdAEhJiJOQ4AmdSRRaMzu3ZWVmSvLY1duI6jqGZKajBWSNAnCoNST1CspPqKmEKAhETcg3Q2pivNDiIoTGXFfDK5A1UXCy72WYkxIfIxSFyJCInRIIH7ckDDi6UpkyO0ewApeYk4maklbT1qXFnpOVCfIBmZNcMtNS+Xm5CMChDhPIyCsQGVYE1Q4jCwv48koqktLSqBoUFdO5tCS0ajFl9fL1vPSUpOz0NAlJwbog8gW/QbJoh2jeJAqHau14ZVqG6clJxcVFKmUmSGiBcCV4aJZiZVGQAtoGWgiXK4Eo9IKcpr4hOVhA5ZKMWyYPo1p7BKqStHYaZM2s39T55HZpv/ZdRk60bdcFKQiM2KGoZYyTn4cPpPQog4KKKn3c4f8APt6evi/vHz58mF0zY8HiD4PP53/79o3H46WmpnK53I8fPyYmJrJTpr8UsvKK+KsiAMbdirtgHGolSVPfqOJzpiUtDkWARCaL8Vum7GSApEbpIVCuhIS2Ufn2oqSUtG6ZUrPij6wYYICn6aCWgXFpLvIKQurwIAG6ZfnSBmwxKtNROBSJpMOQKNKG5VwKFKEiS6gYhXlbmguXqy1q81S1giWFBy7OILj9pi8Qei4QSIVkOQz9epFATWkZiKgpEA6V7ytLuGCV8GCwcxFvJyxDSZFF5Qj2lDVowkRHAZ2VZdSUguDUbenBW/pwg0hQ7bB8u5BmvcoVzleCHdIEkW66gnbIIKxCrR2zBWYKIgVSMYpQrIq5EFCt/Tvbv5h7nN28ok7j5lYVrBCDd+JP6CGYaGVC/r8By8xYsPjDACfT1dV9//59UlJSTk6OsrKyqakpu5XJ4r8GFU0tdR19yyblOuBWLdrk5/7MSVIW/yKIiYtpGZlY27cjR00J2jmOpBUZ/4NgmRkLFn8YsrKyjRo1evHiRWZmZl5eXnZ2trW19c+domLB4t+LigcwrVu2/yMlYfF3givB6zZyktDDjoNH/4my/FPA9v4sWPxhSEpKGhoaKisrS0hIcLlcJSUlfX19ds2MBQsWLP6bYNfMWLD4R6BJkyaRkZEKCgpWVlbsghkLFixY/GdRzsw8PDyuXbv2B4vCgsV/FiUlJRkZGeQEwNGjR11cXKoft1u3br169frrysaCBQsWLP5OlDOzlJSUtIzs1u17VBGaBQsW/yi89PJITk7+cTgW3yPY782Ty2eFHiqoqA2YsahqE/nFRUWX9m5q0rG7af2qvPW5nzxgUKuutX27xOgItyO7BsxwqnhorjIkRIVfP7RD5E9t+w/Lzc6KDvlM20D/FfDz8y7v3ZyVlsJ82H/6QjVt0QdL/35437mO9203oLruxiF2kX6WTCxtmCZM/zqkJsRd3rup4sHqXuNn6Bj/4DjhI9fTckrKTbv0riLMq3s3stPT2juORBbIqGHbzubWjapZtuLiYkRhOlelUa9ZaxNLaw+XkwOmL6rMTkeN4HH+xLeA98wnbfoOFenR648gxN/33ZP7+CqrqTQCsb/3eljxubyyKnqM3+JpVwjf7WYqK6vZtWA1Llmw+Nfg8/fdH4tqIiH829tH9+x79Wc+LC4q9Dh3okXPfsqVW1XA8Pbm/i3jOvWrZmb+Xo/Q6YOZiYuLy8jJ12h7mkQh11/8fLLSUxu26URuuRISEjyepPTvGQmKCgtf3XEzrG2pybAu8eLW1Ubtu+qaWvyWLH4RXz+8y0xJrj4zk5KWJqJLT0r0vuvWsvcAOUWBZYffJbEfIjsj3fPqhebd+yiqfmdC4s199x86Eg188wKcuGpm9u3j++S4aDAzDuW5nCvKUVIVkJaRJfKJjwgL8nlp32sAsaOL2Yg4lysjK/e71Fs/eXulJsSa25SzxoDXz4qLi2jfmn8WCZHhPh63wcyqGR7yIXIDIX5+87KpVUNitkNaVpa21vt7weqZsWDB4r8IFS2dEYvXM58kRIY5ObSxaNiEMLPs9LRvAf7kJ20jE3VdEdaz8nNzMf8mNt8xrOqYmBUW8EPe+4JOxYV9jQr5rKat26B1JwyiEZ8DpGXlaA4U4v8WP6loamelpYYFfijNxdhUXUcfGdEFu7xnU3ToF2Y5k2Ii5RRK7Uh9+/QeDEBMXDwm9Av+W9g0kpSWwaCbGB2BHDEu0gNtZmpKeNBHcq1jbMY0t9Zu4Ajbdl3oW0hAVUuHMDN+fh7ehXh5px8CYYEf5RQVMVwlxkRZUKNvZHAgsUPLk5JCvoQxJMdGpycnGdWx/PLet5DP1zI00dAzyM3O+ur/Fr8aWNRRYqwjgoQRA7Byikom9WwEuQR8SIqJysnMgKzMKf+YkCEx/wumZW7diJgeTYqNykxJMahVB0Vt1q2vvMAkmMBV6BsPd4dJc4kxepQt+N0bFIxQZCQr8KxlLoiCiIgOuiMjr2BmVc62EQUvRa71zGqpVLC+lhIfm5oQx4xCo+fY6UZ1rZhP1ozoJSMvT5hZUVEh8i3IF9jIVVLTMKhVt2IK5BXw7riQVVA0rd+AiD0xJjIzJQnyhEDqNrFHG06MisjJyqA5X/TXYLQE8IaiwgIidkEu6prE81jvMnP5vg/voHEOmb+SNoSWlZ5mZd+OR/nqjQ0LRXS0T1SKoKZq1UU5M5KTIoIDcIvCoEgkFlo7cimiDC/jq9E3r02X37pl+/7TF9K3h5fMxAdFMzM0XbBYDmV7j5ZhfGRYfk6OlqEx0jSr3wA/obXHhX8jv5pYWstRFtQgFnyYaHgoZ2ZqsqKahiElQ0hVYC9XV59pLw2fBrF+LC7ONRd8INJxEd8ivwTm5WZ/fPkUiUjLyeN7wVdTmks9G7JqiOLhk0GUmNAQSIB8I2Bmn156tXIY1KJHPw5l8xZzJ2PL+rIKVJT0NIgILTM6NBhTAp6kJISM50iEljM/LxdvR3oMVW3dygyzscyMBQsWLISRn5sT/O71kaWzyG33MVM7DB4lZJwWg2tUSNAhp2lk/LPvNaDPlHnoc0+uXhgb9jX221cJnmRLB8ctEwdvuvH06v6t6N/psbxL0MkAACAASURBVMp5zcJOQ8c269YnyPfl8RWl7lB7jp8BniT7vZFYIby6e+PDC0+nY64cykR+/eZtMJAgcZ6U9Oy9zhhNPa+df+x6BhRw9h5n8DauhATeJfDNc5SKpIDhuW3/oTJV5sKh7PvHfguBBPIp++9NuzkMmLGImP28tGu9kaWVpr7xM7eLS09dBw11P7GfbPeAwSBfDDkSPJ7vozvPb16evPkAss5ITuw2anKb/kMxUu6fLzCRMGTBKrvOPTFigfmBJ13csS6SDPxWDSdt2AOCdePobj9PD8jTdee6xSeugMLeOr73w/MnHMqQL3IBFUAub+67v/G4NW719uMr549dubWunYhVmc++3kgftSBObVW/vn/z/dOHUzbv3z1rzJiVW768e4Ny6lvUmb79iLyyKpfLxQDv/+zx+S0rSfSBs5Y079FXyGhqwKtnL25dIX7iq4/CgoKUuJhTa52IKwibVh2GOa2BVJmLVQKBpKe67toQTlF2kLwpWw4oKKm4H9/79tHd4uLii9vXQOzHls9xmDwHzOyL35v5B8+RuHdPH+ZK8IY7rQFpJmLnUB6uhixYWbWt/Iigj7tnj9vk5okafOR6Cqy645AxpKaGLlxt3bIdeMzZjQIfUNO2Ha7VsAnmAKBlIDQnVsxDA8DzRh26DZ67nDDjKoDyZ6WlXNm75esHAUFnit3rmktY0EeHSbMPLpyy6Kirup7+y9vXb588QCJOXL/bsmkrKRkZsM9tk4cuO3Xd/eSBwNfPUTaUEAHOb12FFtu635DeE2aStVLQTY8LJ71vCxToJWVk5uxx1jOv7X37usfZ4/l5OXi7ZafdMOV4cesq5EZymbxpX50mLaSkZcDLt08dvuz0dbfDu+o2btFlxISK75KenLB96rBFx1xrNbTjUD7sd84YtfG6p+vO9Sb1G4Aj4gJEGW3V2NJKUkoa31TU1+DDi2cU5OchfIue/ftOnS/SojXLzFiwYMFCGOisfR7exkBFbt1PHry0a+OoZd+5kP/k7XV57+aVZ2+RlYZnNy8fWzF35s5jS52v7Z49tl6zVl1HTooLD60iFy83VxAaOpebx/dd2bt5xOJ11S8n6EvL3gORAubiu2aNTYmP7TxUML7GR4YtHdBx8fFLBhZ1Pa9e+PTKi87F7cjuqwe2D1u4quqUg3y8wfwWH3OVphiJ9x23Q04z5h8sVc67e/pI0y69Z+0+wRH41Rndpu+QIfNXcChFq/Vj+kEIZCHk2yf/rRMHz959Ukld4/apQ04ObXRMzElJzm9dnZYQ13virOS4mHWj+oxfvd2wtiWHWjxbM7wXhsxxq7Zd3LUehGzMii3FRYXbp43oMGjUMGoMToqNXj2857x9p40trTnUYsnOmaNn7zqh9b1x+eoAVdZn8lwUCSPx8oGdMRJr6ht5nD8BmkhLzHX3xtSEWOYKEABa2aB1h5pmFx70cc+c8XP2nCSLcH5PH0J6y0+7McOkJcWvHdln9NKNGM451NrhqiHdl5++Pnr5ZvAeSBg0tOpcQj++x4SBiB23b5/c3zN7/FLnq9Uv59vHd9OTE4kE0AxAeuo1bUlu9y2Y3Lb/MPue/SH2Yyvnzd5zgnA+n4d39s6biCZXdcqZqcmobnC4Cet2cqjVVlrsuP3w/HFGctJa1/so+dlNKzDfoGvhyLLZaUkJZGsbrX3LpCGjl20ctXTD+2eP0K7wEK1O18Qcrf3k6kXTtwuY1uElM+hiY36CD2TwvOVdR0yQV1ZGAwa3U1BRO7V+iayCIp3LwcUz0pMSW/cdzKEclG0a5zh25Rab1jX2EXfn1KFmXR2QLHg28u01YWbjDt3A5kG4UZXE9+jzW1eOLps9Z69zxegsM2PBgsV/EQkR3zaM/U7PDB30zJ3HiSFydP35Odn0dltJSbGQs0UOta0zcsk6VW1dsq0mLs7NyUgTFxdXVFOX4EmC0NCbPkC/qfPfPHC/sn8rRrVjK+Z0HTGxXvPWL29f4+fmludSXJSbnVWjt2jtMKjT0LFIAaNIdkZ6pyFj7HsNwG1mWmpGcmJxYSGHGpMK8vLoXDBUkCk7waXdG++eOULfYgjBYIYL47r1xyzbpK5nSHxd4z/tGBFo3q0PeCcGtpKSkiFzl2voG5H0+fl5WanJtMd0XVPzkUs2go0JyGtJiUGtuo4zF5OQhShEbjZ568yUJIiLPJeWlctMSS4pLpZTUpaSkYV8FFRUCwsKstJSJKWkSBhICWGKqLfjUOsuI5zWgZbxJCVFSql2o2YDZy3ePnUEBnLfR3ez0lMxQpOfHCbMAsVEskkxURkpSWTrFlVfwOfTEisqKCCOI5nA4CpZ5udKCMdWzRdaYGvTZ0j9FgL2AMlAPgKXmlTiEEt2WqpQdHll1QlrdhjVtSLbatJyEAgKRgQiB7JCxE4Ct+jRF8H2L5g8fs1Olx1rtQxNbNt1AanKTEuRU1YpzYUnSZa1qg+BxMpqCqKwatGmx9hp5DYvOwvNiUOt/6HwoGXkuQSPl83IBbOOz29f0bcNWnds2KYzR/CVKY1dsdWgdl2y/soUO2Bu3WjQ3GWgrWLi4iDiXB6PrgVUCj+v1CEET1JquNNafEGKqur41HA7fs120HSIHRFzMtNJMLRYtFu6zWSnpxXy+dSHqcTlCp6LiYnlZmXIyiuIzEVKWmbkkvWWTVsKuXyloaSmOW//2YcXT2Wlp+EVfB/embPHmXhUa9G9b5eRE5EsniMLsnmN3PGRKqiqkwRRBuY3xQTLzGqMgoKCM8f3pZUdaFJRVR85bjq3zNlqTfHG2ysyPLTfoFFVhAkK8L99QzARGTF2mkYFdYefg5/vq0cet5hP6taz6dZrQNWxIiO+3bx6Ae8rr6Do+eiu7+vnQgHMLer27j/0t5SQBYu/FDLyCg3KpsIfXnimxEY3794XwyfRieZQWtJnN5WO30E+L/XN6wilAAYmJi52cec6QhHCAvzFK+8HDOvUAzOL/ByAfj/A+xmGPbJqEhv2lc4l8M1LskxSfYD06DGUe4zq1NcU5SwyOjSYzuXzW2/mgT6T+jbMV7Nq0ZZ4Gcfwr2/Bvbx3ExlUIj5/YiaoZWRCFKQwtlk0bIJhmGy95WRlFlB7uwSyikqWTcu9LSlraJk3aCzyRe6dOfLqrmDpKDk2urKXfXr94hc/Hw6lA0STPw7lw1HkJiYNJTUNEJ3A188FJ1u/BhNVNnJK0biejUgPlRFBH2mJhX58V6NVk9q2TYmvyZjQYO+7N8BprOzbqlJ+yjkU0bl2cAfZs44J/VIxuqSUNNjAvbNHE6MEztFpJ/EiAU6MlIPfvi4uLvr20U/fvLauqQWYGZrZtf1byXonXrn6hSdQ0dBm6u9r6huJPL6Ql5N1ee9m4ps8KiSI+ZO2kak1ww+mlX07HROBzh/YMyrL4/yJ+AiBAllaYgIzlqKaBtkZ5FCEO+DVs4cuzuSWVgXjUM5Ya9va0ccspGVl6zdvI/Lre33/FolYWMAHMxP5sp+8n9J1nRgV/l0ujZopVO67VlJa2rJZS9fdG1LjY9EgEyLD6tqVtnbMEwwsRGgQYoLhsn0t6WRoBdOKYJlZzZCakvzI4+b5M0fMLOro6BrEREeEhX5RVlFt17EH/tc0tbdvXlx2cc7OzqqamYELZlDKkvTE4hfx/t3ryxedX73wtC/rbgI++n147yMjK9u2Q/fKYoV+/Xzrmsv1y+cGDh0LZpafl4dSgaF6Pb6HXxvZ2evqGebk5vyWErJg8VcDM1fa9gRGkcA3LzBYMtV9iooKiZIyR6AEbUkPGDSSYiLfPfHITE0hCxj4ImTkRM+tqwA6dDoXDH61Gv4llgXAHelcjOtaWzRoQv/UuEN35gkAGmBI757cz0hJLl1Gys0VOfLh3X0e3o78EkjSzxOs+QnbjKgOwJl4lPUBkInmPfqJXI7Kz82h36Jlb8cqhsxfh2BBqCwvM+tGVR/FFUKr3gPJCYCIzwFiYlwlVXVxCeZQW5KbmUF0wJXUNY2p4w5M5OVk+zy4DT5BlmkrLtdVCyUlYMlFVN2BEJtRRyh+O0qKS3IyMwupEwAqmjoWjG/EokFjkbZdQBnxdnHhoeR8QxWLxJgOBfl607WA7/EnSojs6BSadO4p0iIM5h50GAGD/CsPJqPe8eJkHVpDz7CyQ9AsM6sBQMueeXpsXL3Q1Kz2hCnzGjdtCXKzd8faKxdPNWjUDMwsOSkhPi6GDq+lo6emppGTkx1GTYwMDE1yc3OSEuMlpaTMzOuEfg12Prbn+dOHVg0aBwd9MjOvjdqKjYlKpQ4fESCKgqKSoZGpI2WMR0lFNSoyPCM9VV5eUUdP/+uXz5gnaevoq6oJpg74CL+GBJGPBJCSkgZ9xEVUZFgGY65gbGLu7uZ65+blho2brdqwhzy8cOYIHt6/40aYWVREWAZjldXY1CItNeXG1QtnTuyXl1dAaWVkZDt374O/wAB/wswGDhnTqasDYoHk4dbE1EKGWrDNzsoMD/tKJ6WkrIrSfqPmcPoGxoqU8mN+fl5oyGd6fV5OTt6okhMrLFj8FQA1QY95ZtNym9YduWWDqK6J+aSyDwQ0peLA8O2T/51Thza5eYJGJEZH3Dt7LKLs/KNIqGhqp8THYkwyqltfSqaUeeib16FzSYqNLin+PbMvIRjWsizPJSaqosGtiogIDrhxdPcmt6eyCoqJMZEPLzgzN6eYuLx7k8PkOS169MPwhtHU7+mDnyhhn8lzLajlNNCR+MgwsgwjhE5DxjTt6sApO3uhqKZeMUxl4ElKGVtag0xLy8rRy1ccas3SwKIu0cdighxEINcJUeE1tU9BYFjbss+UuU4OrXVNLGiDdijJ0IWrMCpzBCsoqakVDIzhofPaRQsOna/dqFl6ctLbR3eDK5E8ASpIx8QMbU9VW4dmq5IyssMWrVGj3jQzLSU9KfEnyv9DyMgrjFyyjmwFZqYmo7Q/jAJecnrD0hk7jtZr1gq838/T45P3U5Ehn1w+p6CqhlrAoIbqFlq1rSZa9h7Yaeg4DrWuITgrrSOCmTVo04ne3Y4O/aKg9INDDELQMTHHnAFjsQ5j2EqJj0mIDK+4gI0J4dhVW8luZnpyIs0IhcAysxrA89Hdtctng/Fs33fKgFI1bdqiTVNKewAoLCy4ed1l3451EhI8cjt74erBw8d/DQ4cPUTgqXfzruOfAz+eOrYHcc9efrDSaVpQgGAx8+N733nTR5698kBWVu70iX3XXM9wqJkoUti652Sb9l1fPn+8lDoj43L9ifOxvXdvXWnRqv2iZZumjx+YlpYyb/E6sCJxcW56WsrsyUOTEhPExcXRSkCnkAsKc2DXhnu3r4mJiZGCHT51nRQY0x0+X7BPgedDRkzEH8m3oKBgz441jz3c0RmRYhw57YZMr18WHP/JysqcO23E7kPnm9m3rSgi31fP588cjYtTF+/Vp2ZpIGqTx/SjA/RwcBwwePSEEQ5IdsP2Ix279ELBIsO/jRnSvbi4GCUHv7Rt0nzvERceT5L1Hcnib4MYPiEJicICfnGxDNohbsW53ALqAwHunjmSnZ42cf1uZhRxQRiJAj4fga8f3PH0mgtzT62oEChghm/vOFJeWeXsxmWbbjwl9mwRH2nQudxxPogp/g/1u2sKvIgYI5dbJ/bh2x+zYnPVsfD1cbm8goJ8RLx5dO9j19OVbURyeTx0OAgW+Pr5njnji75/6x8DGfF4IL6khCH+vgcXTVt/5SHZ7RWkXMAX4wi6L3QRJExCVNj60X2XnLhiKspohUio6+qvdrmzbEDHTkPHtulXrnFxev2Sgvw8PER9SZT1OQKJiYnREru6fxuo25B5K5gJYqRH2RDlRy+HDlYSb4eejStIVpzLkwTVIIn7eT24ffIgXvb7KGJIlgjk1V03NBhJmfIVRIEQCvikMyeo07g52oxT79b0IUHS2yM+yeXd4/se54+vveRRTVlVE9QngxZS+i4+D++AS0HIP4qGtyutbp+Ht51XL/x+QbEcZI0WwdIS47dMHCw4Z0op5lcfaMDFxSWkeHnZWbtmjh6xeH3DtgLrgIKRjp+PUYZwbrquT6yc36Jn/w6DRlY/F3DH4yvnQRTj15QbiH5w/iQ4KJ6gnUBMxFwL3cmgAnH7wv2qn+cDkWcmWGb227B/14YbV89bN2yycr1gprVi0VTnI7sz0lJbte1MAmxdvwSkZNaC1Xu2rx7Sp+3CZRsvuziD7dnYNl29ca+8vCK4Wh1L64s3BBOI3Jzs2VOGb17rlJKcJK+gKJTXW5+XyxdN3XfMdd2KuccP7UhPS23drsviuROSEuOdVmxpZGf/9NFdlGdQ79a7Dp0nUfBwyaptuNDS1nV3u4iLwE/vEQAXy9futC0zM4PPft70EX6+r/o5jhw6anJcbPScKcOWL5wyYuy0MZNmHT+4A4XZdfBcHepI1E/gyYPbaSnJ5648nD112I6Ny1JTkoyMzdavnIePe8vuk+a16t68duH86SMTR/bZdeiccpXHvFmw+I2wbNoS3ejaEQ5TNx8wqlvfvld/ZQ1NJ+oDAdr0H9pjzFShKJj0Y/q7ZlgPDLRdRkzoqTbjq78v/av7iX0gc3ZdqnKc1dLBUYmRS7uBI/Dkt74WVfh+Q5Q1tOhcOgwaZd9r4A9jYbyfvHnfprEDQRY7DhnTZ8rcjy9Fr23M2Xvq+sHt1/ZvA08COdg+ZViNiqeqpbvW9f7ZTctjv4VwqI3jFedu0SpEvo/u5s0eP2ffqbkHzyKLy3s2cajtuRXn3LWNTGqUkUhMWLczMjgQwtE2Nlt72UNNR6Bz1mnoON9Hd2iJdR01uWmFenx9/+arezdm7TpRdfpKaporL7hf2LIqLTEOYjeqU3+p89UjS2dmUMtLEDKkJxQFDW/VhTvnt6w4vmJeg9YdJ2/ef2LVfPpXP0+P3TPHzDsg7MGCCZP6DRYecTmwYApx8IC2PXP3D8r5EzC3tp2z13n3zNFkX7Je89Yzdhz9YSwFFdXlZ25c2L7m1Fqn+i3aTtt+GERcZEjH2UueXndBLcgpKc8/eM55zaKalnDyxr23nQ+SeuRJSU/csMe4zM5cfEQoniPZQfOWe145T9f14PkrLe3sK02x2ug2erKmgTGSBUsetWIz0eykO5lCigg2bNdl4vpdIqOzzOy3ISUpMS01pU5dWSPKtqG0tExqanJycvkacg8Hx45de38JCkA/HhnxTU1dU45SApWRkdU3MMZFX8cRmlq60ZHhVy6ewnQ7MyMtLy83Iz2tIjMzNrEYN3mumUVdKWnp1JRk8Jv8/LyoyDD8pKGlgwKoa2iB60SEh+I/iYJcSMEAsC5MWa5fPhdBHenft3M9CmPbpDlZNouNicrJyVZSVkF4LjXbjo+LkZKSVqX6Sq44F6WVEbXXANSztgXj3LF5xd7ta8ZOmsPn852P7ZGTk5/rtNbl7NEvnwPq1rMZPnaqobEpT4IXGx0JTom8kCPi6ujqI0cVVfX8vNzoqPDfpVTHgkVF1GnSQlnzO0P/0rJyJvVsBs5yIvsdcorKGDUHzV1GfgVdIOZnMY8fuWQDsagpLSdvWr/BgFmLS4qLTSxt8E3ZtCr1odJ36ryMlCR1XQMtA+Pp24/QTgXMbRqPWraR3jCVV1LGMEDnYli7npATp2bd+wgp4ti272pWpprdf/pC2gIqT1JqzIrNSIHcqmnrztx5TJ3aMpNXUgGJpM8tghyQzTtJKekxK7dUZpgeAsEwNmDmoqLCQqI1RWs39540W6FMrRYDj4aeQTvHETatO+A1kdrUrQfJto5Nqw5MJWj73gOZZ0K7jZpC9nQkeDxtI1OMZERBW0FFTduwlHK1cnC0aNBYVkEJuWjqGbYfNJIseEihzzSrRdZU8MSknvBEUUjsVQC8EGVGLqhxnTKjG3g7a/t29NFaEB0hm/4cartTQVVY0Y0pdgLUNV6n68iJZAtVUlpa37yOA/pG6gAgHkJ6JGTXEROJdh1XAgIxAR0Er9LUN0KDnLJ5PxG4fa8BplYNiC264YvX6pqUaimheFO2HKB306SkZQxq1QWZJgJHChrf20lG4dFamI7I9C0Eu+rEDBjEXsg4xtF9zBTmUdPBc5cTCxeoBbS3vtPmk8Bo7fRZih5jp8pWGLZKBcKV0DI0wUwmMyVZXc8ASU3bdojUlFBrx8MmnXqibfCkpPABDlmwkpyr0DE2QxtTVCvdgK5l22T44nViZW42GnfoVqthqRolXrxVn0HEKxRai4mlNdklr23bdNq2wyQLlNOuS09d01LR1WnUlByJ1TOzoMXOBFPsVQDNGKyaHKYxt7IlAqQ7GTK6QQ6VeUJjmdnfB+sGTUxMa4GZVRagURP7Z54ely6c/PL5U7deA9/6vOCUHd8Vgrq6Zssyhy1CuHvzcsCHd+BAVZSkjqV134EjwQLz8/Iuu5x8/+41HkaGh/J4kn0HjiBh3r55eXjfFvBCWnGtOtDU0mnRsv3urat9Xj/v2mtAXk6On6+3sooaSnv/tmAXVUfP0K5Za37Z0jETV11Pez2570+dvWLB4i8FhpCKJ/LQbzZmnIDBaGfXWXilRFxcnHniDFGadCz3NUwbHwerox826VQeAEMLGV1oKKlpVMyFRsUDoRiWdMqmWExfN2AAYEL0LQZvZrIgfBVzQZQGVR45xDDWqH03+laLmkByqIFNKKRgSaDsvCctQww8Wobly1qGtSy/i2LzncPHek1bVSwABn6aawIWNiK2UyFz7QpmzOSUlJli51BeEB5cONmwbWch6/wciqpWpKfgTHYMdbSKAKUgBIUJIbHTqMtYhqlM7EJK+syVG7oWwLdonwFWLdrSAVBTjb8/vCXBk2xYyRjBoVQehbwaoLXTB0GYMudUEDtYPn0NzmTbVsTxEeYRE5Go27i86dJfUDVbu7yyCvNlQW6Y/Ab0lKnvhdmFcYUaB2NjKpyBaVUkW6BWzMZPgBkCU+wEjy+fFZyxqLCxXp1OpjKwzOwfBN83zy+eOxYWGtK9t+OYibPuuV/NolaJa4SY6Eg+n48G1L5TT9zKy4m29F3f2hZ/OYKjTmnp6akhwYFfggOuXDxFM7OUlKQQyjlJa+pz1dUzDPsm4oD3b0Rk+Lf0tFRZWTmUXF5BUbJKx9IsWLBgUX0UFvCjvgQ5zllCk0WelHTDNp0rLoaxYFEjJESGg3lbMxSvLRra0YTy58AysxpATl5eU1s3LSUZ7EdNXUtWTi4nOyuJMseiLerER01xaM/mtz4v+zmOnD5naXYNDU7SGDt5Tqs2nbKzMpOpwziq32+OEKQkJ2ZlZkpJSWvp6C5bK1Ba3L1t9enj+5hhOnbpNXXWksKCgljqJJeqmno1mZkEj6dvaBwZHpqSlJifl4tc9AwM6ZNNKFhcTJRqhZNQwKwFKy3rNxAY4khNERfnylRi3I8FCxYsagoVTe0ZO7/TgpJTVJq0cc+fKg+L/xsMmrNU6EnfKXN/MU3xX4z/n0L7Tj02bDvM5+fPmjz0DXXQ9+XzJ4McWuPvW2iNTfn9pXjm6UEKFhkhwjnM0QPb8dOqJTN+mE58fMxIx84I/ODezWpmDZJ65pKHmUXdw/u2OB/bU9/a9ujpG7SxtycPby+eN7GK6LdvXEJ2E0c5pNfQaDULFixYsGDxfwB2zawG4HIlate1Onb25pJ5k3ZsWXHs0I6M9DQ1dc312w4bGptNmLZAQVHpxrULIwYKdvfDvoUMHz3Vcdi4lKSEyhKcNH2hgoLSLbeLMycN3rDtyJLV2w/t2fTIwz0owL+oqCipgp2bKlCrTv1DzteWzJu4fePSI/u2pKelaGnromB6FTQhOAJfAlOlpWUuu5z8H3tXARbV8vaX7u7uBmkQCSkVEcFusbC7rq3XumJ3d4uNgiKCIqioINIg0t1du8su37tn4LguC+LVq35/z+/h4TlndvKdOTO/qfdFWQWUlRb3c3RbsvJvTk5O/31n9vlvCLxzLfrlc6ChDQ3167fuc2IofGrn5ubZtW31wlnj1v69p083V+g5ODj5+Pgx/RcM/U8cnIxX/Fd7J3evYWOnjfcsLSlauGyDp/doyMnOA+fWrZi9cfV8AQHBqspyHT1DEIUodgyTAAECBAgQ+KNAMLNvg6CgEDCS5au34ruNwsKiJqaWQESUVdSGjZqkw3R2EtyVlFWBbWzcxlCDpIedQzQyMUev8grKYuISw0dPBndgJ7x8fBqaOhOnzunn+IWVXAMjU0EhIRREVl5xxOjJNn2d5DqPpk71W1w9vEJdU1tISNjMwmbl2n9aOrXwi4qKG2FnEkeMmWLbz1mO6YykopLq0BHj1b/UPqwM7BLTTKutazBt9pJizDAIgqPzAHQx09ltMA+mv0e+MzYFBWWUN0N2OrJt7JyAnjK7iEtIWdrYNzUypGfd10EWOw3dt1//9Vv20TGl2ABpWTn9Lmc2CRAgQIAAgT8BBDP7ZnBxcbt7eLP9CTiNti6rqSxJKWkfJlOSSipqSkx6gXX0DOEPf+1jZt2H3a0W5c5bUUBrLJnu7Dg6f759A5xpoOewrmGtbO2tbFkVtGhq6WpilpvZwtrWgcTOSIy0jJzPl2YxxSUkmV0K8nIiIxgmAaoqy4GWjR4/3d7JjSUSCQkplkiERUSHfqMKQQIEvh/tdHrUg1s6ppbMl7leB99V0dFX+fIi4b9DYWZ6XnqKvdfIHvxUFhckRD1z8B7DJ8DePHZJblb8C/Y6Qm0GDi3Lz6HRaCad+q6/Bw011S8f3GR24RcSdvAezfPb3MX5EBEqJCaB60ToGXQaLerBzWZ2OtbVDfswX2v9CXgTEqigrsV8AzQ2/LHEDzKaVF6Qm/r2lYPP6B7U3tZXV74KuuPoPVq4GyWRVSVF70LZH1kx6z+gqa4GYrBw8fj+3JJbmqMCbzLrT+Hk4oL2L9SLTZLUty97bu0JUeFsTZGKy8jZeQ7/AqrcQgAAIABJREFUdxn+JSCYGYEfiaqq8pfYKKKqrjVp6lx7psvheoYm7aT2HuggAQI/Ey1NjZkfYuIjw1oa62FswK/sPbl8qv/IiT+EmWUlxj29dq5nZgbE686RXVbunt0xs9qKsg+dzKww8yM3N4+8eoeSCEMbB3Bpo1J+CDOrrSy74r8BuAJ/p/IqASFhcWlZXQvb3oyaPwGR9wOUNHV6y8zo9LR3r5A58PqqirL8XC1sc4OE3cr8acyMSiZ/io+FZlZRmA/MSamzA4y4fUXHzPqHMDNoA/eO77Ud7NMDM6spK7m6c6NJP+fumFljbQ3ezEpzs9vaqEhpHwkjspUlhWV5OT+EmbU0Ntw+5C+poCSMmeYjYcxMXErWwMb+q+a2Yp4GA6XrobXnpScjfcgg9syE96r6hkhDm5KWHsHMCPy5MLOwPX7uDtufFq/Y9JMzQ4BADyjPz9k5e5x/YOS9Y7vrqirGLF7L/CvM7FubGjk4OGAkwy1509qoMIChZz4BQX4m9ZvNDfVoGYARREKSk5PV+HdTfR0XNzd/543jxtpqXn6B9vb2prradjqtobpSSESMm5eX0tqC7FiTGPYQxXj4+IBD4DTixOoFIpJSE//ajEcrq6KGjGDC/4aaKgEhEcgkZB7yDDmHzDQ31MEoBWO2UOdAiJWupbXpi1Twn/y27MPVWVUWF672cUIGHEmY4ommTgu8fIJCqCyQLpQFXuk0hsUdNBCCC62NccyUi5tHWLzDCiFQYSgpyA3JUEBElJePH/IGOSQxNJBJcPN0WBwCUgUxIJvfwKIERURRKiDh1uampvpa1lR4eIQ7bR2C9MAzyLaprmbmtgPoVvi70IcB+7atOnUDrf8xLKPX1QixCwJ1B/XeRqFw8/Ix81Fyc3Nrc8cJFpBkVw4EoUACgl0obH1N1f5FU5YfuRz9+H7IpZMsprco5NYWTDUSVBaufxjiaaitJmHVCrlCemXxVMid51WYg+CAaQa0QTwI1BdIlYOTqwGTOUgMUmQWOwnTwQapqBkYr+3suq/u2tRQXTXH//NtfRA7bnQLb7odH4iEFPBdkCE0XcgPM/OD+mruVPyEUsF/mrjyb1wvGmRpm++wNlqbpasH/oE01FTTsZPKeNNtrKuB+NrIFMgASgVaAlJyi7d275mL4Q9cqkqLoelOXrVN35qhWbCNSoVvXKTzW4YUyc1NEITRdAWE6HQavHJwcoIHXGMt29b+00AwMwIECBBgxeuguzcP/gNj8/pLgbhe/qKsTztmjELPnlPnDvX7fLv5zpFdr4PvkjA1mOsv3heTYtULc2XnRiUtXa/pHYZoDi+f3X/EeBi3gDHAaLp1yvClh87rW9nFhD264t9hXHn29kNm/XvSBAt4cOYQjLKTVm2BcXH3nAmjFq7KS0t+fOmkvLrWhov3Obi4Ag788+7JQyNbxwV7T+Kh3oU+uLa7g97N3Xm0j71LN9F/gdy0pL3zOvQdDpuzdNCkmeh5/6Jpg31nV5UUZSfHz9t1DFyOr14AzyRMnezyo5eRt8cXT8Do6D5u6j/TGIuIwFGs3Aanvnt5Yg1DjCtPXtc0MkU+QSzgpw4zoNLXw2fK+h0wSO+d75uTEp/y9mVjfe2cfw7DT0dWzs1LY5geBuK4pNP6UPD5YxAcZLtn7sT1FwPlVNW7FiQq8GbKm6jFB86i16CzR4B5OPqM2bdgyvpL9+8e25MQGW7hMmjm1v14kMjAgLtHd6PnpYcvIPOUzAi9era8MI/ZcmJvAAmd27wSHtZduIevUdVWlm31HdaKHWV2Gj6O2V7n40unQq+eQc8bLgUqarLqR717bB/Qo3GdViXOb1mla2EDrfHs3yuA6UIBZ20/yCx2ABB9B++vWOsKD7hY8CkNFzvICiR2+5A/kJsNl+6LSkqD2MEPcHpmK5DJ0ZGn1i9Bz5PXbOs3ZATbyIEurzx+9eL2NbUVZbgNtMPLZxZgCjUNbOwXYUafIKrEl89I7QyK9tepG+By6Z/1DBcSCW/t3eU/Lz358LKZIDGkYBbEDt8IvB5cMmPgxBk15aX3T+yXkFWAsuCkNjc1ae98Nq3954BgZgQIECDwBR5fOG7h4jF/F8O+OAxpw+cs0zQ2S3z1POp+ADgiPx/j3t4+vBOYEDyf37qKYWQG+4nc0nxm47IR81ZodPIMhJaGepiX469NdTVUcquZkxu4PzxzePrGXcra+k+vnyvLy8GTePc0qKGu2tG7J0uaMH5TWxlrddiaWfX1vVtsBnhBDA01Vf6zxoKref+B8FpWkAtDnd+W/QJCwk+unK4sLsRTeRv6EAL2vOUKeP/8SUzoQzxU6rtXgacO+MxijLtNtTW3D/tbuXkOmTa3trL8zMaltoO8gauRsNNL+xb4QrqiklJQ/JjQoKa6WhRJbPhjIBnyqhro9cmlU309h5n3HwDM8uahHaMW/IWWJGF4hioA+UxYuQlYLIysEHN1WQkI2X7ICC9sIK8oKjiweBqwImExCRDI25DAhtpqoBHiMmy0OQKgWpnPn7U2N7Y0NdLa2qrLio+unOswdJSD16ji7E8n1y6COIHoQAU1N9ThZX9++wqwRmbbDwBbD29yC3uTLd0h4s5VMyd3FO3943udR00ytnPKTHj/8Mwh3zXb0PJeTmripR3rfNdsh+eAA9t5+fiRf6juO0d3uY7xZbGd0NrUwMVk7ByyDQ1Sz8J27JK1wNImrNioY2r58uHtjPdv8OLER4UDlwWC0kNWIZKWztUvaLr3j++zdGV8IOB+ev0ScmsLZANegVrtnDUWqltKXjEqMADKgqfy4cVTSAV4edfIOTg4RCSlqBQyWg6sLCmEynUaNg7NiIDvHlrmB3EOn72URG9vo1JGLviLQm49s2GpjrmNI8YpUWufsWk3s80JZtDaqA3VlXR6h8U/SKupYxERmu5OaLqQz+bGhsPLZwEPVtE1eP8sJOZpMNvW/nNAMDMCBAj8cchOjn/zOHDiqi3i0jIOPmOzkz7AcOsyahL6VUXX0NTR1dDWAQZ4oAXILDSMOsVZGcadZ1z4hYTqqys7Ykv6oGHQB/0EjowgvdPGJ62oom7Uh5uXV9/aTlhcojQ3CygCngQQtQqmK9K9gaaRWR8HV21Ty8LMj6lvogZPmdPHwUVJS7ctkprx/i0d2/srycmCgQpPJeTyqcqiAjyGoLNHRCQ6zEFycnENn7dCBtO8I6OoDDQCD5UcHVn4KR0PpW5g0sfRVc3ABIa3PvauJvbOyPhPekx0Wsxraqc1Nkk5BTyS57cvw5Bs2vl669COmvJSErZFlfkhxm/zXhRDdXlJdmIcByenrrmNqJQMMGA1fePSvOzUty9Hzl+JzmlBZj7GvsFNPUrKK0IqRnZO3UnJwLoflUy+dch/qN9CYNtCouJmToyrVJycnEa29ib2LvJqGpCNT/ExaKe4KPMjUAe87PdP7KsuKWaJky0nKMrKiLh9ddicZbIqajYDvYDNh1w66YFxVhLDKJC2qZMbivbKzo11mH4laHI5KQmz/zmM7E5CusjQOyA/LVnPqi/yDxm74r+hrrKia6JdIS4rx7CFxUHSNrMWk5atLMyvqSjDi/Pm8f2S3MzexINDVc8QqtvQxh4Y6plNy63dPaGZwVQEPqvUNy+RSdDygjzIHp7Kq6A70Lx7Ezm/oJCZozs0IbTwnPjyGVQutFgNYzPg5TCfgUpvo1Lh84R6RGJHrb21e/XsMkqqIxb8FXr1bP/h4yuK8gs+pXn5LUA/QdOFj13Psi9MV06tW4Q2eatLi8sLcrpr7T8BBDMjQIDAHwfgWNGP7sHkOzY8BF7zP6bkpiXhzAx6ZOj3WYLIq2roWthE3LmGXoEf/JAD0Swozc3Gk6goKuhq5LFnWLp6MNujdBg6SondnZvinEw8laqSImYrh63NTfh5LyExiQHjp6HjQap6RjBS4qFAYswH14BgIWOagsIiAyfOiHsemhDF2GZiGfIVtXSZN85giIUMd80eMLnXwffQMa8MzKovW7x//qQAGy+BADG7K2vr97wECBwCqPPxVfMHTfKLeRpk7jwIeEBWYhwnF7fT8PFAy7oGKchIw8te272KShYACXhx9+rIhasTX0XAa1leTll+Ds7MdC1suxrQlMJoZfTj++iEnKKmTt/BbG7cfyeqigvx4hTnZqnpG/XsnwUm/ZyZzXpaD/RiWSFGgAaMp1Kal6Vl0qvrDsJiEh6+s2LDH6PziMCiuvqBJuo8cmLS6xdpMdHwyuD0GIfuDsDyXcf4rvZ2AjIHhBsmPGOXdCjuN3V0Q8coWQC0srvW/hNAMDMCBAj8iWisrQ6/cR49Q88OM/Ke/cM4KiwueXxVxzkYUyc3AWHhrra0vxPF2Rl4rri4uCRk5H5s/AhFmR/xVGCQY971G7VwFYtBa4S6qoqUty/xUFWlxcyWrXEAqQK29PLBzYrCPBJ26v9fZA8ieRkYgBNEpc4DWCyICX2In8sGosy8i/fDkZ+e3NS5DiogJPzVW4Q4WpubgZwhmlVfXSkhq9CzfxD+iPl/HVkxk9zM2NrTs7IDhsqWXn8PgDLiVQmQVmA1vP1jUinMZU5Fqnc2DCmtrcDGou7fqC5lLEw2szMeTafTCjLSo4PvFmSkoiDtPTKzf4HaijLmzLOlnv8dCGZGgACBPwttbVQ6na6io7/lZihyeXDqYFZSHIVM5uFl3LmjUangh/vLkZ5Go8koq2691aFZ4O6xPdf3bF56+OK3pt5Op1OplO4GEgtXj1mY6mYAeOPk+E8M6FkPGIJfEuxlKjGhQa+C7qDiQ5Cb+7fXsjNSAo7bfX1Wnbmpa25Do7Wlvn11aGlPB5jYQlBY9K9TN9BuJogd3dHrijk7jqDdTBin26jUb9K7xsHBCfULFJCTEwgwfnK8nUqh0Gk0zi5nye29R+NXYsEPJ+fXJUZra4OopOQV1124hy6TPr91JSowgEJuRVmFTLdRKSzXPLELnqLrLtzn4OCA16fXzp3ZuGzT1aDeF62jJO1QFjJ+sooF+tb98JsZIDoSx7dG3ysY2jouOXT+q6lgWaVAjaCKqCwu2DzBc3PAEw3DPiDD+Kjwc5uWswQBKrZ/4ZTJq7fO2n4QWkj+x5QNowewi/sLwNeNLNMwk3j40rt+7AA1A+ONV4JwPz2vyf1wEHYzCRAg8Gfh8YUTGfExiw6cw11cx/hauQ/ZNXssBdN8ceforoenD7KEinsWcmip3/enXlFcuG6UW2Hm14+tXN6xLjzgwven2DMublv9/PblbwpyYcuqiDtXv+otOvjuyV4Y5+0ZvRF7ZkLcNl+fhprq3kerY2YFDWDfAl+X0ZPtOzdYgR/snjM+5U1Uz2FPrV8EJPWrSby4d+1V0O015+4ICHVc97P18B4ybd6mcR415Qwta0+unL6+ZwtLqPT30f5+o1uZLov8O7Q0NuyYMerj+7df9XmXXWv/4bh1aEfw2SNsf2qjkEHsFi6D3MZOZfkp8v6Nc3+z0jIWJL58tn+Bb3unCZnuwCcguOr0zXdPHvLyC4xf8fm66429W0MunewhIAA83Ni3tWc/PxbEmhkBAgT+LDC0OrW2SCt+3sERFpcQFBapLCpE/bvNwKGcnFz7F07l5uEdv3ITUt2uYdQHAoIjCqKia+A1o4N2jF++MT4yDP3Ezcs78a/NXTcEvWbMT4h6Bn74hYRHzf/rxr5t+E9N9XUn1y4at2xD/xETkB/kbmBt18Mx9n8Nl9GTvkjFpl/XQ3Vd0cfBhcTBgUIZ2tqjWxFdISopPW/38ch7AcHnjimoa7mNnfLowvFvyp6yjv6UDTuu7fobsWRZZTWPyZ8VFrwJCeQVEBw4ccaCvSef3br84PQhcBSTlhk+d7mA0DdonIJxWlpRqaq4SEhMHNdbxsXNPXTGgriI0LAbF6QUlKas+wctng2c5JcQFY5LzKRffz0LVq0ZwNVqy8uGTP9sjK6prq6loUGWyeKLoIioiKRUeX4uUsPWx8FVSl4RRQtl1LdinHZS1NBxGTX59PolyI+8uuaYJWtQcJ85SxMiP2dj8NQ5epasplpA4AkvGZXLxcPjNsb30YUT+E/Qti9tXzty4V82g4ZCI8Tj0Ta1gJz0XnS9RN/Bw6C8eCpAhRlNqBO3D+8MvdqhtYSTk9PRZwxIFam+k5BTWLT/zNNr55rqapW0dJ1HToy4/XkakPT6xfW9W0Em0zft+vDiaeT9APiQPafNvbJjQ8/5gVRklFWBsMKnLc50SKDfkOHYCtxUPgGBGZv3KmoyNo5NHV05ODnwzKsZGNt5slf58R+BYGa/KWg0Wm52RnzcO01tffMun9+PAp1GKy0pSk76UFpc2N5Ol5FTMDO3gf88PP/hiY1fhZrqylvXz48Y4yv935zdYYu8nMyXkWGjx0/n5e1WPTcLcrM/vX75bPT4aTw8vFERofX1dX3MrFS6uQ1O4F/A2K4/rjUUh4KGNoyO6GSxOraN0kal8vLzW7oOFsDUN0grqpj1H4B0ypOw/SAYbNAzMBvo8WGwJ2GqQRkKM7EgagYmLqM7VCJpm1pRyIwrijD8WA0Y0lhXi073yyqre89cRMKupMEoDh8+utoGMLF3UdL84oCRpftgPn5BZhdTRzc0hEPOIf+4mSlRSanh81aIdWpik1fTHDxlDg8fPwk7kgVBcPM4pg6uKBSQqhHzV3bVxIYgq6Ju5uSO7g/CQA4DGKbUlAH38dNUMJO7JIzxgMTqq6uqS4u1TMyVtPWB7iAdUSxitxnojSuhBSCxo2xYunrWlJWidSNVfSOjvh301HaQt7K2noySCsjKys2zvqoSXeeEEdfceWCH0BxckBoRZoAYgV113aNkAYzZIHNhccni7E9KWnomnWreNI3N2qiMXc4OiTm5ySipsoQVl5Zl2RHTtbBBG7LMkJJX8p61WFBEzG7ICKBlQArRUTzIP6osIA3QfqrLitFVU0jawLrjrL2uuQ25pQUvBSMIVlnAgD18Z6FdUZAhtFwIy8PHZ+E6mETiAOGQGORVFiqXhLFDpAWtqb5DjSrUC7PZKBJ2wJ/c2szsYmBlB6mgZ5dRk9QMOy6mQHUPmTYP2jB6hfIOm7MMaf1lnI1rb8dPiRn364+mK1B3Q6bPxxs5Q+xc3BbOg/DGAJ+blfuQuqrK2ooyHTNrWVV1QWFRXj7GNRRo7eBNUk6Bi4sbGiF8RCU5mcra+jC7aKqvx1s7CVNsO9RvoZTi18/PaRqbA7cD2gpBoFEhrcudrb3j6quRrYOWCRvD0P8dOPDjDgEBAS+i3votWNtzAAI/B2Qy+dypA/m5WW4Dh7oPGvpfJAHfb11t9ZPge7k5nxqx70dQUEhFXWvAIO//SXKWnflxrI/Tldthej/RXHrk8ye7tq0JeBApxKQvvmdEhD/e578hIPCFgKDQrRsX0lISTM2sWSyN4rh8Zr+psc7UqVN7jjMkJCQwMPD48W9bvfgXSE1NXbly5enTpxUVFb8zKj8/v3Hjxrm7f0XVai+RmJi4du36Zet2i3eqhCDwJ6OuqiLpVUR8ZJj3zMWqmOXirMS4rb4+/oEvfvitDgK/A2A2kvQ6IiEy3MDG3magF3Jc7dMfCJz90FG/Nm84Yt+8eB8devLkSWLN7DcFzGlDg+/MW7LOyYUxF6RQyCXFhWJiEmRyCwXmQzy8otgl3vq6WviJn18AfuLjZ0yIqVQK0KzmpkYado5VVFRMUFCYTG4lt7YKiYjy8vKC/+bmJpjeASlPSYmPCH/kNWxcP0dXmIXEvnt59sR+OXklm74OklIydDodPFdXVdFoVCFhEWFhEV5ePggFlK62tprc2gKvIqLiApi9v4ryUsgVzGdQ/iG3wiKiIiKirS3N5eWloqLira0tEAl4bm5qqqmpImG24YGvCAkL8367yWQoZnFRgbyCMh82xWlpaa6qLFdQVOHi4qquqoTy8vPzN2H2UkTFJCBdnGhC5qurKoD48vHxi4lLcHJycnBwQElBJg31tVQKhZePT1RMEoLDT0jsCorKKIfgByJXVFKGuXVVVQUFi6S5+YtUQD4g+dqaKigvRNXS8nnqCam0MFKpg2ghoKi4BPyHVFiCtDLNVn1GjIcqi4uJ7o6ZESBA4F+gNC877Pq5Fcev4Us1PHx8cqoa3P9zM1ICCFQKOejskeFzlzPfKZZWVObv9Zz5Z4JgZr8vaPR2GLl5sDXqgryciSPd/OYuS/jwLiMtWUtHf9zkWUDFLp09kp6aZGFpN2XmQmPsmlJxUX7Q/ZthTx5WVZSJiIpOmDLHxX1IStL7xPjYId5jdPSMsj6lv4x8Ki+v1MfMOvzxw0GeI2zsnKSwdWArG/uGurr3714pKasCMwN+8yk9Za//hrLS4kGew72Gj9XRNQR6UVledvLIrvcxr3X0DCdOmWNpwzDqt3/nJnVN7VnYgjlg3YrZPiMnAp9IToxbsWjaBN9ZcbHRnt6j+9r1fx7++NCeLe2kdllZBXcPb8+hozS7uRXfA4oK80EgZ68E6WPr6okfYrasX3L1TjhQw/OnD6Ymxpla2D4LCwJa6TttnofXSOVOIy1A4EKC76Qmx0Pxp8xYJComBsystaUlOurZ9cunMjPSIMLpc5aaWdgC30Viv3L7qTZm3/pDbPSubWuu3A4TERU7e3xfRnqyianls7DgmqqqqTMXgYiUsN0ooMvHDv4T++6VgZGpnNznpSOQZ/Sr5zeunP6UnmpkYjZ9zjIIDlUMQepqa44e2P7+3WtDEzMZmc87IFD7QNfKO3fQCBAg8EOgY2a97uJ95nuRyjoG224/7cEoOIH/18BuAASwWBpdfOg8VxcTt78DCGb2+4KLsZrDge5OA4+hUimFhbnDR0+C0fpjWvKjh7cZo/usJTU1VW9fR964fHrbbsZe1eOHd+g02uIVG0VFxVJTEp6HBatraOsbmNbV1t27dWXxyk1hIQ8UFJUtbeyrqypTUj5MnDJbUlIapSIsImbn6BL88FZ1NWN/vaggLyz0gZ2Di5KyWnLi+5g3UcDMKBRy4L2rMnLyvjPm11ZXPXp4EzEzGq2NRvt8Q5uhmKCdcZgaWxBqAyoze8FfkJMP798AMZo2a5G5ZV/IeXzcm9CQ+3MWrMIDPg66c7XLkWGgblv8jzK7MJbuqBQQC3qFtPBXOq2tqblJXFJyx97TaSmJIAFxSalRqlORz6gXT52cBzm7Di4qzAsKvDFq3FRgYB/eRxfkZw8dMU5H1ygtJSE5IY6Xl8/Cyg6JHd/xpzPWCzvM+tLotObmJklpGf+9p1NTE58/DZaQlBquMrm+rubuzcta2gZuA73r6qojwh/jeQYu29TUuHDZBi4u7pysjPTURKBlQM7qaquhaoD8DfDwqa2BII/wIIx6aSchSRIgQOBHgRPw5VJ9VxcC/0uAvrSrXhWe35WIE8zsdwSZ3FpclC8tI8cv8MVpX3MLuz5mtgICAi3NzSFBd8dOnKGLHeYtyMt+GRmG/ACRgtamoqrBLyAgp6AcePtqU2OjjJyCqrpm7NuoOzcutLa2KKtpyMgqlJeW1FZViYiJ83QeTufm5paUkm1qbKCSGYdPgZ8Bt1u+aisKzoepAm+jUmPevho5xtfcyq65qaGynI1OIxZAtEYmFjp6hsCBGNqDOLmbW5q5eXj0DU1k5Vj1LurqGY2ZMJ3FEd8k7SWAeto5uGpp68nIyj8LfVjHdI9MT98I0hUWFgFe9eTR/WEjJ5L4BT59TK2vr/P0Hi0rpyguIXHmxH4pGVlgZj2noqikAqloaOpCKmGP79chQ2yNDZHPQxYt32hgZFpfV1taXJSaFI/8Z6Qn0+l0jyEjoIJkZRXOnNwnKSUNzAyCREU8WbRio74hEOjqkuKC9NQkPBUhYYBoYX6uvKIyNzfxwRIgQIDA/ziIjv53RFVledC9G6YWfVluEQK5kZCU4uLiEhASbmpu1NTSFRQUgqmAsIhY5+IRydDItKysJONjSkN9HTCDxsZ6ejudn59fUVFFU0svJOiOz6hJ6hrajKuCHCS0VMYMDrROgzm3trRUV1YAJxMUFJbuvPYC3KKspFBCQlJeXoGDQ0lLW/+rxQE2BqwCaBnEDLHZOTinJic8rKmWV1TpY25t8KVuZS0dfS2dr8fZMyQkpUE4kC4IkJePj1lHIHBZ+BUoDtCjooI8OqYlAQROpVKBlkEOFRRVmhrqG+pqe5OKhqYOVIe0rDzjBB5WB1QKJTcnE34SFBIGLqumoYX7r6oo+5SRxo8RXEBKYpw6dieOQibn5WYxgggK8fHxq6prMaeiqqqppq718N71ydPnC2Om9AgQIECAwP8wCGb2O6K5qSk9NdHNw0dQ8AsNPTw8PLi6ag6M8XSlVtlZGelpScUF+fX1tXW11RAVchcQFJRTUKyqqpCSkkYDPFATKRnZ2ppKSUlpdHugjUqtKC8RERXlw27Xo5PpHF9qbgb+QWujtXdkgQ3aO/CFI2fntqyKqobrwKH1dXXARTIz0yE5cLa2/Xwks6S4ML+L4VshYRF0iq7bFOlfpAdpIXMo7Dx3BKEz0LH9Cg/wh3LIyclJp7fTu+gtxFL5wpGTsQDImgq6IUHCWBqLBxBmUUHuq87VTVFxCWnsUj2IFAvCPk5RMXFRUbEP79/gG6kEfhSgsjLjY2VV1Jjv2/8olORkVZUUMrtAQrIq6j88oX+H5vq63NQkbTMrXuzb/yqqSotLsj+x/Qki4Rf8Bl1i34n6qsrSvCxtU6uvasH4VtBptMyEWMqXSje0+lggrR89oyw/h9zSgq55skVx9idkbogFfAKCIMCuPfk3AfIMLZmtxn85NY2uOj4I/OYgmNnvCEUlldkL/jp7Yr+2jr6c/LdpHwi8e72lucnUwtpa2V5SSiY1mbGVxji2X1mWlPBe39AkMSFWTkHZ0NhMRFTMxMzyw/u3IqLiCooq0DXU1ta8fPFUS9sL0omrAAAgAElEQVRAElOTw83NLSgk1Nraws3DS6G0AmfoXKITodPaKAzTH4zTXSKiHaZegXlQqVQgYYyFum4MqgDpkZKSmb90LfCPuJjowLvXHj+8w8zMXkeFnzi8kyWUnoHJkdMBXWMDKoklSmnpop6qOxTkZamqaTDyzMEBpAd1iPwCgpycrRQKhZeXceKeh5eX+UQCFaVCgVS+rpibi5sLmC6FSqExRERpbPxs9A1SGeg5YsHSdejWJ4VMRlc+ubm4JSSlIf7OIA3MEaalJKQkxc1duEqoF8MDgd6D1kaFMf7Kzo1u46bYDPD64Ve0wgMuhN04LyD8eZnTfdxUD9/ZuF7TX4vCrI9750/yfxDZy2E7JTry+t4OhfXA6rh4ePg6z1psuBSIVGT9BLQ2NyVFv3h84cSSg+fEZeV/7FVK6M1OrFlYX12FlFohLNx7StvUkrdzqbs7vLh3vSwve+G+M915iLx3A/yQGPMBemNtDbQ31MkoaGiDAL8z5w01Vac2LCFjN8EpLS1UChm3wD187vKBE7/ZQBaBXwuCmf2OgCFcS8egtLSwN1SABZXlJYrKatY2jkA57t663IApKmtsqM/PzamqLF+5bsfJI7uyPqWraWhLS8sO9Bh2ZP82AX4BR+eB0MclxL0JuHp27uI1iphyQlExCQ0NnTevIjS0dUMf3ZeQkPKdsQBohKGRaV5OlqCQSF5u5vt3r7ftYhzYB7ZRXlaSk50hIyN/69q5qk4dfSyIeRP58N71UeOmGvexBIYHNK75yzIO8R7t4u7JEoqry/kqDkw/YUZ6spy8UlFB7rOnwb2Uz4O71+UVlKH4zU0N1naOqGdX19ApKS749DFZ37BP7LtXsnKKypjmbg4SY+3tY1qyjKxCfm4W83H+7iAoJGzn6JqcGCcqKl5WVgxEE/9JW9cAaF99fa2wsGhczOvw0KC+9s7ug7wFhYXhAXgzcOXSksLol+HMEdZju9JauobEIbMfi+KczB3TRy05dCH8xvna8jLvWYt/eBKWbp6+a7fjr2HXz1/x3zD7n0M/PKGfANvBPqZObuj56Mo5QFYGTepQzY80i/4chAdczEmOn7Zp1+ZJXsuPXkbKaX8sJq/ZZtb/sxa9Q0tmuI+fbuc57Duj9Zm9ZPDUOSSMXG7z9RmzdF0fTJPtD1n5k5CV33wjBC3VR9y5Gvf8ybIjl9BPP3M5k8CPAtHX/44AlgOMoY3a1nVP7atw9/D58P7NgT1/A5vRNzBBlnfTUhKyPqV5eo+WlpHv7+qRnfkx9u1LJ5dBOvrGI8dOARrx4nkofNWSktLjJs8yMbMSwbY7lZRVnd2HBAUG0NqoWjr6hiZm4MjLxz90xISQoLuvXz6TkVOwd+rowgZ6jngeFuy/eaW0rIKpmVVXLoWgqqbZx8z6+qXTZMrhpsZGFTWNgYN9mD0AK2W598AWEpJScxasDgt5EPr4voambu8PYDm7e8a+ew35B/Ll5T0Gqea3sLaLeUO7dulUXW2tmJg4iMgQO/0mKSUzb/HaJ8F34U9Dq1epiIlJDB816fHD28BZZeUUhJmWTCys7OLj3h7dv72kuJCbh7tvP2cdTBmHuJjksJETHwfdBlIoJ/9FEBI2w25vb//fU/z7y0Fva6uvrhQUEW2jUlpbPk8PLmxdDRSkjUL5+P7NiAV/ndmwxGv6gpzUhOaG+qF+i2htbWc2LK0qLSIxlLzbjlrIuFZ8fstf5s4DzbBvoam+DjwgngcfC4tK/RamBdGgs4cTXz6HByFRcb+t+9FaWnxk2IeI0Emrt0IkrmN89Sz7psW8vndsDwriNWMhMnHTUFMNGRsxf+XHuLexYY8UNXWnbvAnYdYJP32IMbCxHz73s7XB6Ef3nt/qsIwJMavqGcVFPLl7ZDeltRU41sS/NuuYWae8iQo8uR/58Z61xBizClVXVQHZGLNkXcqbSHj18J2NPPDw8MJ4j4oGjfP0hiX2XqOQmqjaynLI2LhlG5NeRXBycxlY9wMyCu5jl67X6jyQQKfTINrKYsZWr4659ehFa1iqprmxAYlds4vidXJLM2NBSFQMJEDrPAOQm5p4/8Q+kOGDUwchFX5B4ffPHvuu/QcicR41Sd/KLj02+u7R3cjzkOkLTB1dc1ISwDOL2JHNcmgSzLU2fuXfr4PuNDfU4lYdoUT5H1PggVnsrx7ehmZ0at0iiJOTkwsiT45+AT+JSEiBi4CQsICwCNoV5cUuQgmJiKFUKgrzDy/189uyD+10Zya8D7l0EoLcPLAdM37Q/uTyaT4BQXDBc1VekHtm4zL03G/ICCgj0DsxKWnkAmlxc/Pgnp/dvNRYW4NPPO4d3yspp6Cgrh124zzEeW3X38XZGVbungMnfjZOGh5w4W3IAxLGGsGPtMLXNekT+LEgmNlvCg4ODugf2jHNqNzc3NLScstXb5Pu1HSlqaU7a95Kvs4DImYWNuLiHbcXYfgXl5AsLirg4uTS0TcSFZXQN+jDwclhzeOorqEDA7ypuQ3EJigszIXpobVzcJWUli0vLQYCICUtY2BsBv+RmRFRUXFzS1sqdIStLcBLNLUYWse4obc17AMu5eWlUlIy+Pl9U3Nrfn7+vJxMAUEhQ2NTYRExI6xXVVHTnLdoDb4TJyuvaN9/gJi4ZFNTA/BOdXVtPcN/o5FfUEhkwGBvKSlpiEdeURk4k55BHwGM0rm4e9GY9lJ9Rk6UkmKcIpKSll22aquD84DS4sKa6krIiaqaFiemzAYolJmlDeS/rrZGUkra2NRSAuvXINqBnsMglebmJnlFFSFhYSMTCyR294FDmc/SDR/tKyPHqB1eXj5NbX1IpaKsRFxSWoBfwMjYHPE/GVkFQ2MzqJea6mphERFjUwt5zHgILx+flo6BY/8BFeWlEowzfwLGfSzRdW4KhQwN4IefpyHQA3JS4mGsAsYAfAXmJB/fv6VRqaoGJjqmVlWlxY/OH1XU0lPFrNkAS7h/Yq/XjEXZyfEahh0fAiNI3NvGupqeUwk+f4xKoZg7DyJhx5vuHd8DA7+CulZteVlMaBA3D6+KrqGYtBwwBiCIyBsAGAaV3GrpNhjYZHrsm3sn9qnqGsGv8I1e3rGOxOAB0vBKbml6cOqAl98imJi9fHCrNDcLj+EVg2TUSyuo6JrbFnxKg7FfTEoWSElGfAzuJ/VtFJAMC5dBVDIZ8UJlXQPw311ZshLijO36o2fIXtq7182N9cU5n4BkVJeVoGhjwoJbmxshOXAJPndEQUNXRdcIyRDKPnTGIm4m82XQ/xjbOYtISveyyhrrahOiwm/s3SKjpCarrJ7/MTnmaRAPL6+yjoG4jBz8BHLDSwfyhEzyCQpCNdE6z26C2LOT49lGrt3HIuzaudK8HHgG0T08c0hUUhrFBmK/tudvyLymsTkUtqG6St/anoPEAZybRqMhP9AX3TnsP2DCDLluDKzBrABoMW7CvKG2OuPDO2gSOSmJBRlpuuY2EA90lRBn/xETlbX1IJ9vHt/HiwNt8tmty66dRsC6oiw/p6bi8w36wk9pkG1hMYm450+u7twopaAMGWusrQ29egaRM2BsdVWVKH6g3aFXTgPtVvuJdlMIkAhm9tsCulQgSR9TEmVk5ID9ANmaMGU2/quSsprS6M+GcnX0jHQ6LShLy8gx3+jU7/yi1Dpv/DF7YBh5lZWX6WLcDYGbhwd+GuI9mtmRg4MTaBa+VIYDCI2dg4tdp81aPD/yCkojx03BvfHzC6hraKt3Wvf71wCKqaikojh8LO5iad0PPVjZ2jP77O/qgR7ExCXG+84iYbcQusTGC7QV/tinMmI87mJl0xG5NZMiaRJjKW4wegCRAsOz7RyoGBnrDAKxsU2lI0g/566pJHx4V1pc8P2XVQmwoDQvOy02uv+I8UKiYgY2DrUVZUmvXpjYd9ILCllRU9fWw7sB07dCbm3VNrXs4+BSWVzQ2tLs6DMaWUSOeRp8fc9mz6nzgMTUVVVkxsdKKSq/fxYCzAkZTARKxGyMGYDrHwdGYmTriCxSQ+prhjmbOQ1ApgnpdBpMhhyHjRWTkoFxVFJeacD4aSjUidULIG8QP3qltLToWlgDK/oUH7tlkpeV+xDHYePUDUyiH92/d2w3Mrie+Oq5hIzc4M7eY8vkoVLyijAG9/X0eXH3qvPICTJKqs9vX64ozB+7ZB3yc3TlHDqNDoXqyGprs75l3x6snlsN8KwsLgTGAJQl/kVY3yHDRbGJTVsbRUhUHCW9a9Y4eAZm1lBd+eTKGf/ASGVMv/T78MeX/TcMnjKXmZnx8vO7jmFDNVKio9rpdJChgLAIyCfjQ4ygiCgy+gkcAsiNpZuHsrY+MDPIP8weHXzGiEvLFmV9lJRTHNCpi+fk2kVA1JxHTQQxvgsNsnT1qCouhOrDy9sDUCqQtCL2FYPYd0wf6T52KkSSlRRXlpftNGwsVrktJg4uumbWJIw5rfZxsnIb0h0zA7H0HzkB6CyfgCC5ubkoM8N2sA86ZQHMGErn4D0aGCFEYmjrCEIryclMfPncP/AFCh548kDcs5AemJmmsVl2SkLs00eW7h4xocFSiipoFtHeToeyQCOXU1F/cvk0iAIxs9iwxyb9+qNaa6NSIV0tEwuCmf1kEMzsNwXMGp1dB4cE38nKTGfRK0Hgz0FKUnwbrW3AIJ+veyXwLQAW9fTq2Xm7jleXFmsY9nlx91rotTM4MwN+Y+81EvfsOXVOHwdXEmbU3G/zvoKM1KoSxm4m0DvkYfjc5afWL66vrjB3HnT7kD+Mmoi6Fedmht+8iMfjMnoyPoKOmLeivCA3KzGOhC2T0Jgu3sooq834u2P70srds7G2BnkjYQe9RSQ/2/30mrEAJ0w8vHzjl29ge/ezprwMj6G1kf1dGeZUGmurpeSV8J+8Zy7Ws+zbjSAZq/ujF605snxWS2O9jpl10Nkj/g8ikQ14I1snZKydFe0kkCEZWyUq6XIRuweEBVwATmbm5F5ZVOA8YgJwLEgIMTMBIZFJq7aKd845ZZQYNYWeLV0HN9Z9IUOg40DgRs5fudqnv7ya5oeIJy1NjbO2HWQ2s80WEHDKuh1FWRkoNuB8bL2NXPBXWX5H5QLno9PYXJnEISmnAElDToTFJapKiz7Gvll58jr6CTiZw5cTYwTIJ16camxjvQfYevgAw7tzbLeF66Dbh/2Hz1tpPWAIEGIRCelpG3exPYUGzRvFT2tro5JZzcMT+AkgmNlvCm5ubnsnN/vOI7cE/kxM9Vv4q7PwP4vS/Jytk73RM43WZtZ/wFeD0On01pamYyvnIk5Gp9OAq/Xg38J5UHfn/akU8v0T+18H3SF1GrRg6w1GxsRXz0+tXYS/KmrpfjWfLIgOvvvuyQP8lZOdOZrkN5HpsdH4q6aR2bem0nu0t9NPrJ7PwcGJXmWUVHuvMyLq3o3XD2+j5+6ExgKgF8mvX5xYvaAjVBvVY/Ksb8xyB6CmoOIubluTEfeWhLUHtpdDwc/dY7vfPg4k9Vi5/xplBbl40wWYddnB+E48vX7u2c1L+CvHb2m/6H8bBDMjQIDAnwhFDe3lR6+gZxiKygvzvhqkODvjwKJp0zbuQktKSa8jHl888e9SP7x8loldf++ZjHPZ9dVVe+dNZOvt6bVz+enJ/oGR6PX6ns3/Ii2nEeOHzvhM8ZlX3XCYObpNWr0NfxUS+w9Ve3Bwci49fFlerWN3j4ubm4evVzrVAG7jpnhM7tiZPbB4Wm+ChN04n5OSgMvwxr6t35jfz6ivrtw9Z7z3zCXTNzHuE+SlJZ9cx2budHDJdHOnAcPnMC5h1FaU75k34V+nyBYKalorjn/eJefrxZWpb8KQafOcR07CX8Vlfry2PwI9g/NXZ4AAAQIEfiqi7gfkpidPWe8vr66J/tzGTjGydTz390oqmdxDQCqFUl6QKyErD0Fy05KiAm/iPw0YP11EQvpd6MPZ/xzqjcay6pIiXn5+iIfcyrhG0NqNfpym2prW5maUSYbCiNSEby0siaHVQhwvaeT9G58+xHT1wy8kjPv58CI0PvLZNyUxeMocHl6+pFcR0//ezdtJs+Ijw24e+Ietf2klZZRWU33twzOHadSvaFGm0doubF2ja24Ncsbz6bt2e3HOp4g713oO2wgybGrqkOHNS/hJf6gmqCyoMqg4iLa74Fd3blLW1UcHyOg0WkVBvrC4BERVUZwfev0s2yBVJcXAlsBPS3Nj4Kn9X90kJTHuzG4B+khubvaZsxR3hNyGB1zq6pmblxcXQv7HlBf3b/Qcub51v4ETZxxcMmPI9Pm6FjbIsa6q/MiK2SU5bHaTRSSkUOQyKqohl0/nZ6R+Nf8EfiyINTMCBAj8WSjMTK+vrkSKIRAUNXVKcjJDLp+idaMhGUFcRs5n9tLXwXfRq4ySSmOnSVYNI9P02DeMW5CbdvcmD65jfCuKCm5jSpWVtfWYdxKZYWjrwMHJibzxCwnh6kN7D2v3ITB43+7U3szFzS3SaYW2jUp5dOHEgAnTjfs6pb9/g/vh4OBQ0TX4plS0+lgkR0dWFOWbOn4+gCEqIQnJoWjBg54F47qDmLTc8LnL3zy+j3tT1NLh4PxiN5Pc0vL0+jkrt8HyaprIpZ3enhwdYWC9Wgm7N4AAwnn58FZBRoq0Yk9qHQyx+zQdMhQUFO6UIQ8fv7nzwMcXTyioa2swneWNfnQvLz0ZfwWxm/RzVsEU3AB/Heq3MPXtS/iDV8heDtONzoJP6U+unBk4Ybr7uCml+TkoRchwWsyrrwrQ2K7/i7vXpeSVdM1tcEdJOYXailIUT/8RE5A0ICfWA4bcZlLH/VU1vyAfTSPTs5uWj168RqpTdTkPD6+qrsGroI6tYafh49CDg/fo0rxsPH4RCQlBkd9CN/IfBWLNjAABAn8WVHQMtIxZFWWJy8qbOrpycXEb2jjIdqrF5+bhNe8/UEyqYzdHQkZu2NxlzfV1RZkflbR0B0+d28fBle2xLYCqnpFm93d3gJmJSUpDPJxcXD5zlvUdPEwU00cFbM+IySQGkI8+9i7gDf4cfca6jJykilEEHj4+C5dB+L6ksLiEpdtgPoGO09ww+gKZIGGHt2AUVzMwQTHAX18PH6RXTFhc0sLFo7a8tLWp0cjOCZgB7seoryPSgsErIGDpOli4k8nh0LWwVejF9WpNEwtIDsVp6eqBVmvEZWSHz1vR0lCP3Pn4BTwmz+Lm4WUOSKfTSnOyyM3NuAtQN5CDpByrQRQNIzNVPWMQHXAsfEtUWkkV0wTWAQMbe1MHV5Qc0A6XUZNUO2+OswCqEiq0nU7HRYHEroYpSSFhqsK8sKOf4A403WvGAlzsytr6Spq65fk57SSS29ipIuKS4AfK5TN7SV+PYSJMMuTi4jJ1chP/0iYyW5j3H6BjagXxVBTmD5g4A13dVdUz7D98PJ49qIh+Q0Ywh5JT0TDovKjeAwRFxb1nLaFRqRAJUDenYZ+ZmZyKOoq8JDvTZfRkZSY2TODngAM3cBgQEPAi6q3fgrW/NkMECBDoPS6f2W9qrDN16tSevYWEhAQGBh4/fvy/zk9qaurKlStPnz6tqPhtVsW6ws/Pb9y4ce7uP+Z0c2Ji4tq165et2y0uweaU1fejtqLs5YNbhZ/S5/gf+S/i/81RU14acedqTVnJ9M5bpWc3Lefi5kGKWH9P0NraKoryA/ZvA/KNrxj9KpQX5j84dQC415Dp85HL5ole9l4j3cf36ixdz2hurM+Ii7m6c8OKY1flsON9SFmJf+ALwkLAb4XYNy/eR4eePHmS2M0kQIAAge/F7SM7+fgFZ27d/6sz8mtwfe9mKXmlKet2/OqMfAMaaqu3+nrP3n6YeV/7V+Hg4mkevrNZVr9+FD48D3108cSOexFchCmR/ycgmBkBAgQIfC98Zi3l5OT8Y0e+UQtWc/PyMhffZ/YSUq91YfwSCItJ/HXyhqyy2u9gY2PuzmPi0rLMRu1mbjsg/O3HCtnC1NFV3dCEWZevvnW/5Ucv8/L39kosgZ+ML5hZSXFBwOX/fL+DAAECPwoFeVmmxl85/0vgJ0BGqSfFZv/zkFVRY3HpWdPb7wBuHh78ANkvR9ezXIrfbSgFh7C4pLD4F4cFhUTFenODmMCvwhfMjIuLS4DYdSZA4P8PuH6D6T4BAgQIEPiB+IKZycopeo/0/VVZIUCAwLeirqbqV2eBAAECBAj8SBDnzAgQIPCHor29vaGmil9Q+Lc9cNPS1Ehva+tZjRm5pbmlsYHZhYePT0j0xxxR+n7Q6XQQsqCIKA8vX2/8UymUproatj8Jiorx9tpawPeD1tYGORcWl2Rrgul3QFN9LScXl4CQSA9+oG1AC2F24RMUQoZNe0YbldpYWy0iIcV8+o0ZVAq5qa6W7U8/uab+90AwMwIECPyhaKfT9y2Y4jV9vpW756/OC3s8vXauNDdr1vaDPfiJCQ26snMjs4ul2+Df55YoMIMd00dNWr21l1cgs5M+7F84he1PM7cdsHT1+KG56wkVRflbJnmvPhPQnf6zX47re7ZKKyoNm7OsBz+PL54IvfqFrYLBU+Yw7md8DcXZGf5+YzdeeYDr+2VBVmLcgUXslXpAi7VwGfTVJAh0B4KZESBA4E9EaX7O2U3LB02amRz9orGuxnkke8uVvxaUluaWpsav+KGQRSSkmDWHFWZ+PLl2IfCY7rTg/lS0tzfV1fTeqreytt7CfafRc3jAheaG+qF+HQbdlXX0/5McskPau1eh187O9T/y4PQhp2Hj+ji4/LSke4/WJtb1sK4AD2r6xt6zFuMuH9+/uXlwx5jFa3oOSKPRGmur6DRadx6UdQzwmgq7fr61udGr0zyris632ZAgwAKCmREgQOBPBLmpEUbfKet2xIYFsZgzj35091N8rJyqhvOIiQ/OHOznNVJJUxfcq0qLgs8dJTFM2Yyvq6yoLit2GcUw/Bx8/piuuQ2VQi78lD5w4gwSttZVkptJYqjjV8J1hwLy0pNf3GXYefScNg8GSF5+AWv3Iein0KtnS/MYRgylFJSHTJsHD89vX0l4+ayprvb+yX3efos5ubhePryVnfQBfhIQFgEXPsEOU9aCIiJGfT9bDqivrspKjCN1KBEnJUdHxj0PQc/ARKFcJIZq07ywG+chknehD2WUVE3snWsqSh+ePoS8Gds5Wbh0rE6FXDqpYWQGD2+fBPLw8Q31WywsJg4RQrTiMvLeMxfh6RZ8Snt+6zJ67usxTNfCpiw/J+jskaaG+vCAi9w8vBAtCA1ckB9I1Lz/QPT86MJxbVMrWhs1/2PqoEl+yDE+MoyXrwovGohOTFrGzGkAemUWu+OwsQ/PHGptarRy8zS0dcCzFHHnav7HFBJmxx0K23VjDsQOhA9ZcGJGfXVlQUaagY39jb1baivLmH96cuU0lEvHzAoy/PTaWRAIUvGfm5oYiZmw9JqxIPXtS6gjS9fBTfV1D88cdBk1OTc1id5Osxs8nEomQ6NC+4Dqhn1w5fuApNcvPkQ8ERIVgzif3bwIYtezZJi0orS2QiQQFQmzA+boM7a9vR0qKyc1ESYYUH2uYxgHxB9fPFFRlA8PcqrqgybNwqMVk5Flbh78gkJQd3eP7YZUeDBVGmkxr2OeBqFf3cZNhdYO7QdiA1p2/+R+z6lz1Q1MQIwgTOTHznMEFB+aAR7th4hQyB7+Cj4lGEY1Okx1wVejZ9mX0tpSlJXh4D0aik9ubrZyH8IsdmjtBZiBTlEpadTaSX8wemJmxdmfMuLe4a/QINQMfpc7xv8CNeWlCZHh6Fmrj8W3GoZjQfLrF8LikuqGJj34gc6dTmuDFvk9CfUeMCuNCQ3Gp1BCYuLWA4b8nKT/I8S/CKutYPSJIhJSlm7ftYtRXpAH/ab1wCEcHN1aJIOxNvHlMxAafy8OYfQA6DRjnwajbpQFilq6uubW3xM5gf8acc9C8tJTW5ubgLvAaBF65YyehS2MVaW52UAUkOnxpFcRnz7EcHByIGb25vF9GMVhOATiQiG3xoYGw8iNfFaWFL64ex0alaCIKLRAGHqRe+zTR29DAqEjAmYGI1bM0+Cyglz0U1VJYeTdG9BWqeRWGpVKo7WRWxgmsWPDHhVmpCM/VArl5YObFq4eMP71XJy0d6+hG8ctpr9/FmLq4KqkrQdfVujlMyJiUvU1lRJy8mX5ufEvnuLespLiuXn40ELR2ycPs5PjFTV14FegCNHBd3l4+SqKC+AVaFbE7atQOuht8tKSk15H4DGkvnvFwcEhLCHR2tLc3k6HsrS1UUvzPsuQkUriB25uPhN7hiUokEZ+eoqcmgaz2i0WxEeGK2nq4MwMxC4kItbS1AgkhpOTq6GmGogd8F141re2A1YBUoVRDCVHo9EYFeHuiZu0QqCQWyBUL9sG9K4QJzQMiBMaSf7HtLDrF9zHTQNmlpOckBzdUbnvQoOig+/pW/UFZgYu4QGX2ukkTm4uRQ1t6GTehz+uq6poozAWEYsyP8aEBlkNgH6JI/Xtq08fGDXVRqVGBQYAZQRKBMysrrI8lhGkEq07FkKQp8FW7p7k1mZaWxsNmgK5FSgpOFYUFaAMlBfkvwy8BfWCc3dmQKuD2r/sv8Fz6jxgZiCx9NhovFLiI8Lo1DZGq8MMsVNam2EUA1r5ReW+fclBImmbWXVbUy/CYITFmVn0o3vC4hLQJUbcvgIlbaypgfg7asqqLzzDJ1OSk8lUU9eAt4l0MQv256BbZgZ1DJ8QCBR3sXAeBFwb2Xb4f4fayvKUN5HhNy+iV5gP8QkIyKqo/+sIn14/p2Zg0jMzy/jwFr6an8PMoHvKTUl8ce8aTgigy5aUU1DWNeDjF/gJGfixgL6pMCPtdfCdklzGKoK0orKErBx86jz/9lRpVtKHe8d2Q3fG0f1MrK6qPOLuNeN+/b+TmQHePAkELkhiHNGtqyouhEk5mgLaDBpKMLPfASLiQkEAACAASURBVA01VVBBmsbmvPz8sioaMFpAS0N2CQNPHeg/cuK4ZetzUhJOb1iKT3Uy4t9F3b+x/e4zeL6xb2t28gdkgBIhLea1qp4hDKXQt1zZtXHuzqMMy5UkEnCazROG6FrYADMDVgQEbsmh8+B+fPX84txMFAMMgTASj168VsuEYc0zKzFuq6+PrqXNwIl+9VWVRdmfxi5ZB+73ju0Z5Dtr3LANJGyeudrbSUFDGzGz1qYmxiJZJ5rqapR1DEiYnteUt1Ewwo2YvwL9tGXyUG4eHmQXHKjSq+DbU9fvhNEx8eVzKOCCPac4MPWwD04ffHL5FL6FB4MoRDhr28HmhvrVPk7AzHzmLB29aHX+x5Q1w5y1TC2AmcF48Sk+ZsXxjmWVs5uWvwq6M3WD/9R1O9LfvfLwnW3m6PYy8CbQox33niM/94/vC712BjEzhgxjX6voGQyZ9nmJkQXAfaFQpblZUgpKIEnoFoBmQddXXVYSGx48f89JEXHJK/4bXty7DswMxvubB7aPXbbeZuBQCAv1CxKDHpuFmXlNX9A1oerS4sbaGhVdQ5CGko5+S0NDZXEhJAfFv/zPusWHzhva2ANRDjiwHQ8SEx5clpe9cN8ZeD66ck5pXhZIFf/1/fOQ0QtX23p4Z3x4d3XXRv8HkTKYbdbXwXdvH95phU2hn9++LCWvBEKG0erI8lnwH4WFBxiIF+w9JS7NsN/66uHtO0d2AesavWhNWV6OjLKqx+RZFUX5F7auWnXmJjKIDq1x3wJfA1t7tsyMBWmx0fAVQLro1d9vDMwuh0yfP2L+yoTIsDGL1wEphykKfDK4n1PrF9dXV/TAzBBPgMmMpIIio6aUVGB2DZ0h1BR8BQv2nhQSFb+8Y13k/esMZkalgiTHr9iElhKATEMbUzcyJZgZGwSfOwozia03Q3GXgP3bbh3aAe0DvQLlp9PRDjQHzBQ5OtU9gyOaDXDz8NLpdFJ7O8yB2tvb2yhkTm5uLi5GitgUigzu6BgEHgTABX64eTA/7VQKmbH43N4OMwMSBwd0B2xTwZc9URASZgmUg5MTvwoEUw2Y50HXgxfn+p4t90/sn7ZxJz7SQ2EZqSCh8PJxcjJWVmDWBWHBD/xvp9MhIUgOpQI/wW/wgFKBGWF7l3QHTZrJnDFubh4QCGSctSxYKp3F50Hr7cxBkAzxigDf4Mhy0Sk/PXnv/En+gZHQfXS4YJ0mdAFoy59tKgiQEKN0nFxQQW1YiaAULKmgsLjhYRSEUV4oC5MMIQjkmVEL3aWCyZC5LGzFXltRunfB5Ln+R9HGBAxvO2aM2nQlCPoIVN0QFUoFwAnJdF6eAkfUqNA8GJUFKgqrwXZKawuvgCAnVjqmdDvaIfCnVaduQGPGyksFsSOBMMrCw4OabkcqZDK0Yaz4nMg/S5D5u0+issQ9f3Jx25r1lwLRZShIFMKyDQJZhV+hfTA3IRQEn9Mzt3YC34OEyPCgc0e3BDD2+IbPXfbg9KFru/9efvQysx8NI9M1527DcN41+LhlG3j5BfLSknCX4XOWOY/6fFINeicKtuQA1c02A9C2T67t2AcEPrH6zC1ouh1BKOyDkLAGQ+lYyWhtx3crSaSirI9A5vBX4CKL9p9Bz6MWrmJ8+VgoEvbh4N5gzgZFRhQBSBjMSaAfQz/RqG3M6Q71W8RswHHSmm3m/Qd0zR60Xjwh6G9QT84CyADup+3LxSqf2UtdR0/uruwkTOx3j+25vncLjOJbJntvuMRYdHx88SQwWhAg2yBMFdHaQ8wseHbzUsGn9Pm7j4Po/DbvPbNhaWVJ4cS/NjP7gWmemLTsjukjuwafv/vEsVXzmF38/t4LZBF/hcygXLE9fgcMbP3F+5sneqFXNX3jdRfuQUPqIUhHtL1oQl0xbPZS6GSYWgibg2UuoyZBt4z76eHwGcL45RuBPsIEBpjxlolem64FaxqbPbpwXMvEYtXpALZBoFz/oqb+V/Hvz5mB0GHUIWHNaOXJ6wLCHRd3c1OTgO/Dg9+WfTCg1laUTVq9FV73L5wK3za6r1FTXrZ7zoRZ2w5A3wevOSmJR1fMRsG9ZixAW+bwAe9fMGXgJL/KooLHF09IyiuuPHGNT6BjBpCdFH/sr7kk7A6IvlVHi4fmsm/eZHRkBHqZ6Zt2I3doIvB9Ml9WggnB25DAw8tnLzvSsYoWdv3CkysdhxmXHr4AsyV4yEx4f2XnxpUnr13Zsf5TfKzNIG+YScMgCpnPSnj/Me5tc339lPUMU3GHls0syvwID7oWtnN2HEbxPDx9CD6nMUvXUcitu2ePhw8gPyM17Pp5OVUNKAtH5xCbEfcOpiDoecS8FQ4+MGVhLJtDKvCam5YEE7jJa7bhmY+4cw0E+613r2AWBbNY9AyddT+vzx3K+c1/pcdGW7oNdh45EWZakDd5Nc1nNy9Dbmd02ie+e3QP0AJ85n3u75UwjYYHmHzj41n4jYuFWR+9/RbtmjMBpDRmybq+gz+PFmc3Lof5ovVAL/hoccfuxH7pn3VLDl1Q1u448AucaeOVoHObVw6fu9zE3hlcyovyQaSog4Bs4+dbT69bYmzvDNTn1oF/ePn4oWXC9Dr06pmgM4cb62rXDHeBOb2Sli5M3PHDLtCNoqWLvPSUU2sXQfGhsUGuQOzQYiEV+Gniqi3Ml8JOrF2YkxxPwgZv/AxsyKWT0Nqh9e6ZOxHSRQswLIC5b/yLp/j0Bhp2fXUlLvbQK2fiI8OM7JxwsZMYs+o7947tRc/MrZ3Ad6IkJ3O1T8dqDbQNdKDnR+HMxuV8Aoy16u6YGZsgG5ZCJ9NzEGjV0JJJGF9vbqjH3VX0DBcfOIe/spipZm7t1WXFdp7D2UZelp+DWjuJsepWq21q2cuc44BOBhcpNGwH7zFd/fynYu8K6MBvH95Jwkht728hkBgb1s/xfNZVVaBR6YcA+vadM8ci2tra1CgiIfXVIK3NTVA16GhHS1OjmJQMW2/HV81HuipwCtVLvAq6c/94RydTU17ax8G1q5+UN1Hnt/yFnkEgziMnfFMSX8XlHetvHWQMplBN+LT5j8U3MDN7r1HouAOJIcR1kvJKMHEhYe3s9IalI+evhEE6ISo8NuwRcn8XGgSNWxNbnycxDk8U4bvU9La2ioJcCkaNYSh6H/4YBSExWFoCjHAevrOxIIV3j+wydXSDX6EFn1izcPTiNYoa2h9ePP3w/AkKAkMdfN5WboPLCnKv7/7bbsgIQRFRFBYGct8127l5eeurKvkEBWG4xcsiKill1n+AopYuen145jA0ZTwPIZdOQTzGdk7gmJeedHzVPPP+A63ch5TmZV/b8/e4pRuGzlh4+7C/jLKa/dBR0NNd/me9hfMgdJATmvWpdYsmr9kOVLW+porayigjsMzK4sKbh3agsjQ31B1cMmPiqs2yymoxYcHJryPxpLMS48JunHcfN629vR0o6c0D200d3fsN+WJaZmhj35tDctKKKkBupBQYS2jvnjxMi3mFp5KZEAt1AX0N/IeqVDMwMXceWF6Qe2HrKuidGQs5WNeMOgIE6GfRQg70C5f/WQeMBJHsxtqag4unT167TVJOsbG+FqqS3NwMBI6Li/tTfExLUwNMthhbADvWQ0sA8gfxX921Cc0+u4q9n9cIo74MsVeVFkkrKqOxDQDdjZKmzrA5y9DlLGB4MKkdvXgtWpcqzPx45+huaIHwXF1e8uj8sT4OLhAtfN4BB7YPmugHHU11Wcnbx4Hjlm+UkJWDBlZfXYWnG3H3WkNNtVl/d5irgRBgro+Vq/rdkwdQUxCEg4Mj7d0rKIWjzxgIeMV/vYF1v74eDNIJPdTRlXOguqFFgSjePnnQ1FAHMYth+w5d0dJYDznEXyEV7MQJuTQ369zfK6BNQlj4UuAZ4gR+CTweJut4VvHW/tXaJ/BVSMjK44KFivvqHbdvgsvoSbjlHw4OTgkZuR48N9XXwgeibWplhd0GgH4GJpNsffYdPIz5eDt+VxE+kO5UG7C09lsH/2HrLT32zYu7V1Frh9eYp8HdKRXrAUqaeszqGLqabCJ9KXaAeI+S+X4AO9Rh2nST6/UJFlU9I/zqBj57/CHg5uXznrlEVEoavX5VtVhRVga0B5fRkxHhhlk0kCS2PgeMn66o2WGrjYubW0Rcojf5eXrtHPS3eKXcO7anq583j+9/jHuH+3l67WxXP98JR5+xzJMBGBx/eBL/j9AtM4OBCljC7UOfb2LDVB4GJPSc8ublUL+FaFcYBpKL21YPnMi4TVNRmA/D5IzNDPZNpbTmfUz+ag4qCvOKsjNQEBJGGrJTEvBfpZVUDWwdjGwdYMg8v3WV59Q5JMbxxtzi7E/TsXUFcmuLqCSjicPAGff8yZgl61DThJ4l9OpZOruFWQQZJRXc1B2UFLgOfl4+8OR+HWy3nsSwfsOtrGNg6uQGDSXi9tV3oQ85ubhg4A8PuKCkpQstqaGmStXA2Mx5AOp8E189Dzyxj7nrwQExQEH0rexARMBlR8xjrGCV5mZDcaw37uwUbFRe2mehyaqoG/Z10OpjzhyPgoa2QpfIpRSVB0+dG3H7Cu4C86oB2DUxEnbGoqKoAC8gMOa8dMZ9JRqVmhj1zHqAl5mTe/7HFGC3MOvtTmIIMKEB/t13sA+aV+WkJp7fsnJ05wVsoMXAwKzdPWFGGP/iKbprg4IA6zLp55yblpyd/KE7seta2HSXLhI7eq4pK8lMeO+3ZT/axAQBJr2KwH1KyiuAkIE4Au+8sW+r7cChwAi1TCwSo8IhYxCPlKKKkra+Sb+OCTEMXSrsbuMLioozDmhjh3Oh3tGaKLDGDxGhrmOmoEMkH9+/ubF3y9il61EQoc4g3ZVC08SivqYaSjpgwoz3z0IYV/MGYHsWHBwwT+hj7wJjLbDbkMungCDykPhy05KAEOMRhgdclFXO7r5yCPQKiS+fl+bnDJ25CBesiIQkfHqPLxzHPxkS1puFXjvbyk5pBVDk1DdRPSiA1bO0RefMYEoAXyW88n9p9y78xoXc1ER0l41KJidEhgOHgNkgTE2hgXUXrYaxKcpzS2MDjI5qBsao9+sB0J1C1wShoIeEIPj0mAUww8xOip+1/RC0duCpteWl+J577yEuI4uLFJp3dWlxV8OUAiKiuB+Y8JQX5Ol0f1ypK2AMgonuy8CbUH0Sch0dIUTy8PShAROmdz0hqm3a8T3C7AuKD59nz2p7Aa+D7nBwcg6eOgfPJ7zmpSVF3Q8w7uw0SNgRi+e3LrGNAbhOfnpyd3ScC7oyRxe0iZz/MTU95rXRl5reYEIYevVcZXEBeoX5W+LLZxNW/g2TVejoYMbeXc4NbPqhc2bQdF8H34FukJfdIWMQO/TbHlNmo4MlUDQefn4oLExOIOcwne4apDgns7q0CAkEeiGYhXaXBxxoCvHqwS3v2UvweyplBTkwIR84YUbXA3AwmKL4YSIBNQWvf7Jlz+6ZmZM7kO5nNz8fvIAhjYeXFyZ26DUz8T0aF6HFo1UWFvQbMjI/PRXI+Fcz0VBd9TYkED0D5RLAFr0QbAYONWKaI3aFw9BR+HM7vR0YAGIDzOdhvwd8gkJDps3rbvWYhF0bHD5nWdLriAxsdw8xHrawGzyM7VZUbWUZXvyy/GxmS8B2nsP1e3eBQFpB2Wv6/Ks7NzXUViOXmnJGtCb2LmgRsbai9HMqBbnyaqx7bTBHdBvj++wm+76GBTBvQ2rHWdQNAC3Gb7yzhbqBsTrTDV+gO3iumurZq5P+Vpg6uPWs5BD4GTQzPN2GbgwcAV1zH8dej2Lq26g67CI9xPNFEF0D97FTe0hay8Sc2tq6d8FkB5+x0cF3DWzsITPQM8JwCGl1tWpMwlZQ8KzWdR4KJvA9SHkTWVNRNmrhKtwFPsymutrL/htcxvga2joylj9DAuurK0tys9EaKglbhFY3NkN1AROD+poqtmM8Ny+fufNAaBjN2F2cxrra4uxMtI+mpK0H9AjFAEMjvh3Jw8dv7jKoODujqa4GPqiK4i+GXhgRoVuDD9moX//6qkoUnNLaWvAp3bzl65tWMCepqyqHUDCJLfj0sbt9Lil5JS1TS/AGTfFTwvu66kppBaWvi5IJ8O3XVpbjbfX/2DsLsCi6Lo4DW7AssHR3l5SKIKVgd3d3d3d3d7fY3Y2tWCDd3b3kLvGd3YFxhQXjVUG/83t4eO7cuXHmzuzM/3ZUgJ+aUIc+1GGgagoVSIOqMgQSIsN+dKV4UGZwd7w3Llt71YeUHSAp4sKDfR/chNRAZBgIlgUBOdXI1TMjKYHIrqggPyEirGZPMcgUtoqa8NgDEKa65taObTqTPvw+mdioFzcuwm2yb9k2MSKEk5WRGh+bLiSStIzMuUVFRF5QoSrkiNA3YoLNxW09WkOmUVL8CiqYl52WQpwC1Uh8CuFyEiJCuMWVw61Y8vweHnjnMKSYoOSyqsITwJMGZQvVdQev9nEhgVBrFRN0cQg/uiDmyDIXExQ7JNW2ahi0nqVNpqCUeNySuLCg4sIvjcfEJxVUlKahCfGjEBM8ugVCPem1AXcKXq1nN69ce+0pOXC2pKgoPgzu1A3woUsy1fT4u7ZLSFAEd6rSSPiyJEaKuFP/V9SqzHIy0rVNLKZs/dJoeXbLyjvH90/cVKnM3t659vl55RQbRTWN/7K9CTw3RAczgf3PrvJcXl5298R+coA5VErIUfY1gddiQV4u2Wz20/C43PTEuNtH96bFx4gJ3hE/mgL85oUvH96kP2EGvHazUlMGL1xNrRp1S84AIJQZfB6EczG1/0/DO6D6+FbqOuFW0zX46d1LAt88I1YbEhM0T0qxZGsLCRXltMR4WQXF79lXpG5As/rev/lMsPKQmKDR90dTeHLhJPlVUNPRr233kl9ChN+7dCH5+80aP/JNoDZFzNcRBupgKlo68DnvM23B+W2r4ccCv8Qxq7eRMwAsmjaHx2/rpKHgHjR/lWCdiMoZAFAvkpKpHGjLZMmMWrFl3/xJ4R99xQQdjlO3HyVONWvbhcmSPb6K38A8ZdsRcjCNtKzc6JVb986dCPca6qKD5q7YPXs88ZtiySuAZIQXr5WTe/+ZS7w3LifaxWUVlGbsOUU0KkCairWrKKgpPT5/Ai5HTkl5xu5TR5bPZsrwYxEdoOQgfVMHR1lFpU3j+JMY+s9aqqFvRIykFBO83plVtWUoHxBY5HhfkKGgaYhXLrEyyJFls4hTPSbNIQa08aNo6/reuwERW/QaBJZvmVg5Zsuz79B2Q8ZW5qKuyazx85eVV/yexXKhRjR4/qrN4wdysrM6jZrs3p0/BArehEMWrD62cu6js/zBxEqa2jN3n6q5JIfPJW8LRxdhZSavrCYjV70fEG63gqo6S449ZvX2PbPHR37+4Ni2c++pC8gZAM4dusGtP7mW33w+bedxcgw+vNbgFUF+H6Fg4fHYNG5gtmBUA0guYhw20HbQaKgYw51iK6vCzV0/unKdM00D4xHLNsGtyUlPbT9sfLex08hF4yDkJ5/7L65fGL504/h1u3dMH0U8kwbWduPX7yHCwNOel5ku/PIXLnbAq+/QZ1fPQQCmrNyM3SdBSxEvGRqdrqqj9/DMUdDcoFPh5h5bMRf8J289JMtWqNboBbeVVvtyJyQ6JhZwvZvGD4CnuvPoqW7d+NcIN2XowjVHl8+BvOBQWUt35p5Tv/Wl2vCp9eKv7d9aVsobtlj0cAegz/RFzh26k4f/pRxBsy84cok8FJeodcWpugEbpu86CY/+F5/aFcO7h7cenDm6/Mydn8uLBGTZgh4tFx69QrTbf37pc3DRtze+EMbEzpGcai72s5cfG/R508RBqy8+qu0dDTWYaTuO/cdcSOBFQHTWENRRznXj1XdYt3EzyMM6Jh7y+BMv+vWdvui/j7I6u3UlvEfWXn1KHK4WNbuqbsas2SksbX/68r8H5w49hOd/4NzM/47wZ4kEPs9mDs2IW9l9wuxu42ZCva7w654dTQMT4rGRoFIjP38k/SdsrJyKSzJy2eZK8fd15dDK2Z1IoeYLEz7YEAV+mMDK8/cJS1r1G060whL3vffU+b0mzyXCk09d09Yd695dCpSKa5c+RJQxq3cQpsL7atmZO8KPLgiIyqsT5OXerXI2wNi1u8irk2RKzz14XqLKeHVdA4hCXot50+bkz4p8UKVYMvMOXSR94P1MhhF+C41fv1eixkup/bDxYt8HS05+wdErYjV+IAPnrCBVuMjfKRR7tZch/Nxqvh7duvZ1rZrQMHrVNuJORVWJV4JGLi1q3lwQxEtO3RT2AV1Lzk+slpFHjwHEeOVqphLFTl5do6p1wvrNXAKvRLIBYty63WI1njp42kHzCadW8+qad+zh1K4rke+IpRuJAMJPO/y3bOZGXp3mpOqt+8LLKdeNjLzCouPXxGrcKSh28k7hW65WOVVeVlb3zFi4PUT9Iycjbce0kVCsehaNhAMcWzX/ze0rljX2Sgv2fXV0+exiobYlcQlxsioDtUNOdmavb20cQXJk+RwjGwfXLpW/GahoEkkFvnl+5/i+yZsP0hiMruNmvL595dCSGeRotltH96QlxI5Ztf07c6mLiooyHk9CUBrPr52/tGvDjyYAPwPy8q8f2F5WVtZ17LQft6IczKjZEiAyl6v7+C+jzqOmCAf46HP/9HoRw+OAvfMmfXxyr5oQJ1JLigrfM3cClLOyls732Pn+0Z03d66S9Tn+IhpVVu2ePc6xbReHlm0NG9lP2rR/+7SR/WcuIWZNxoeHHFg4BV6yPzQkpTbgwRYXVNRyMzN2TB8ZE/xZeA7p90ChVj5mEPf46gWTNx/4/oHMehbWM3ad2DtvIrzoG7lWzoGqKC/fNnU4/IgaNa++CYxwEVV72pGfQ2Q1ki+IBOW8d+7E+PBgwhM+ovC1M7Dmr4D/4fFd4YH5du6t+s9aSrhrthmLFAEPzx4THi0A3+DGrdqLjELe8WqmiracQqn7SyYcgDRV+IUg2qdGFDHBKjnCYapFIcvwq2TrjEIist295vVCAUb4v5+28xj162WDquXyJYVv1ZpqBhAZhV+AFEpeVsb2aaOK8iv78pS1dBefvEEMd7t/+jC5RL6YQA0TdciahtVm6rmtq/2ePSQPO46YSC6pXy0KeTerlc93lqHIq/uSZi1PiPDNpdTQdjVzgacdlOvUHUepXy+e8tN36v+KWu+ZS+eega+fwSeZ9IFPr2ffyo1me02eE/rR9/NLHzHBS8Slcy9iiB/UO0t5XCKWtok5sShGZZQp88I++vo/f8xiy7t163t+e2XjKjx8pTwemZGKti6xLEIdWDm5w8eViKJjak4s96qkoQVi/86JA8RAChDm8AGToPKfNmVNbXuP1v4vHpO5qGrrQRVBs2puZusBw0Evkmddu/Yx+4653L73b0JFDa4dal0+F0/fPXFAQU3DwbPdy+sXvhmXxNbNk0KhkFmr6epb1DmuToy/D8b95JhIYjIEiZqe4YDZy67s20KuDAcflTGrtysI3hp2Hq3gR/slFz0Diyb8bTHoUswBc5bDfXx9+6qcorJT+26Xqibm2LVoDaKWiKJnbp0h2PQDkJSSBgHh9+zxy5v8VYihMte6//C6u9gkpVkQ5ZPPgxfXL0INspmgciZWo9hBhBF3BCrZRjaNvfoMeXHz0n3vI0QKrfuPMLVvSizOYmBt12bgyINLZhAVREU1jfbDv123zk5L2bdgcq/J81r2GhT09gXkS6XRm3fsnvP1uI26gad36OJ1b+9eI97CYI9n78E/tDItBNY2Nk+JjpBVVGJXTeGEt5VLp54BL31e3rgEWfSfuZgYmQG/lKA3z8kiIp925Pfh2LazhWPlpjHwcoPKANF5V20MpY6pJbHN0fdj1MheuMfHxN5RUe3HxnIh8JaAYhfelhG+F5qGxn8md3gSWvYeSL5jZeQVyd+j4Dn5Mtze1KGZ8GoA30Oj5h5qQgu5w4fgm9M7GjLwtKvrGQjfKf4MJ1FDaZGa1KrM4NNYUVEhPAXD1N7RvEnlC8vBs31xYWFMkL+YYDpe8049iWE38PKCdxkxcAc0Bycrk5gBAB+exl7t+TtaBH/WNDRt3KpDfm6Ogoq6IIoJhUbPSkkiUjZzaFY5TF5c3LVrXw39yu5/KRnZNgNGspX5+g++36AziCi2bq2IyZgybAUIn5eVCdUaMf54TDNi6WcCTSNTSlUUfi5NnISX5rdwBHVYSk7CauzZnugTVNTQAn1ArqGvZWzWvGoZMPsWbRPCg6WkWXD5kC8nJzs7NdnQ2k5D3wjECrH4qiVfp/KHkkCloUWPASo6ekRcGbZ8+yFjZQS/Om0TCwqVRg4ChRImJtfwo/QcKHLaOV1SsuZYK9BVzTv3yklPK+RU7gHAVlZ1q+qPgK8IVInIVTAsm7oQjU/wnQCdVMjhJEeH65pZQsGSykzXzIqMAnJTXkVVQrDUKsg1QZS85Gj+toBQX3St2vfN2Kax8JcG3pjEABQ6QxI0H0RJiYkEkUcOz6+t2IlrdOrQvYCTlxrLn4oI/i5CDUXKmjpN23ROT4wnls2EYiebmpq17aJV9S4QLnZ4kIgtq+Gi4AEDZV/EyQNd5dyxJ1QMdEz5PdFQu2g9cCQh/vgb8hh+eYnYunkRQ23g5jbv2LMgNyc9IY6wpHnVHBRTB8fCGgNj4Q7CfaSKWnLzK8TF4TcVHegXFxLAf3SrRh/DwwDXSGyxJyb0tCO/DzuP1iL91XQNaluZ4jvRNbeGv/+SAlJzsid87P/Y9x6UWbU1jEj0LBpV6zX6UcyaOJtVrX7wD1DzUYcP6J/ck/6vRpzs/zp79qzPszcjJ87/hamf2bQClNmEDXt/YZrI7wN084KeXmuvPsWaze8D6iSh7189u3y20+gpxG48/6XYTxzcYmNlPHTo0LqD3blz5+rVq3v27Pk5m7+foKCgWbNmHThwrgPszgAAIABJREFUQEPjxxoMajJy5Mi+fft6eXn9EsP8/f3nz184fcEG9ncs7IkgCPLneffa5/2re/v27fu90x8kpaWZMrXOtkMaGhQqja2k8n8+KeZ3kxwd4b1h+YJjl8k1frDYEQRBEJLf+zFoN3hMeUX5t8MhDQN1faM1V54w/4/X9/sD6FvaLPG+KbyIIhY7giAIQvJ7lRnj6+3bkAYOf0MP7Ov5zVBpNBm2grAPFjuCIAhC8p8WtUIQBEEQBEF+IajMEARBEARBGgqozBAEQRAEQRoKqMwQBEEQBEEaCqjMEARBEARBGgqozBAEQRAEQRoKX62akZGecvfGufoyBUGQHyUlOd7GCvdrQhAE+Xf4osy0tLQsLUy5Ben1aA2CID+EmYmhrq6IzVURBEGQv5Qvyqy5gHo0BUEQBEEQ5P8cHGeGIAiCIAjSUMBNlBEE+b+guLjo0K41uHM8giANk4ICjpICWwyVGYIg/w9oaWnNmjWzvq1AEASpCxkZGTFUZgiC/D+goKDQpk2b+rYCQRDk2+A4MwRBEARBkIYCKjMEQRAEQZCGAiozBEEQBEGQhgIqMwRBEARBkIYCzgBAkH+B9PT0tWvX8ng8cLu7u/fo0aPu8J8+fbp+/fq8efOouIoEgiBIQwLbzBDkrycmJubMmTMcDqdIwMePH2/evFlH+Pfv3+/bt+/EiRNlZWV/zEgEQRDke8DqMoL89YAU27Zt2+fPn6WkpOAQ3Js2berQoYPIwGFhYdevX3/48OGftRFBEAT5LrDNDEH+v1i6dCmNRluzZk19G4IgCIKIANvMEOT/i82bN9Pp9MePH9e3IQiCIIgIUJkhyP8Xampq9W0CgiAIUivYm4kgCIIgCNJQQGWGIAiCIAjSUMDeTAT562GxWNra2qGhoQwGAw65XK6Ojg5xKi4uTlpaGhzFxcUhISH6+vpEmIZPUVERGB8cHExcXd2B4eqio6Ph6iQlJf+MeQiCIL8JbDNDkL8eT0/PvXv3uri4WAtISEg4dOgQcWrUqFHHjx8HR2BgoL29fWxsbL1a+gMEBASA8XA548eP/2bgsLAwCBkREfEHDEMQBPmtYJsZgvz1SEhI6OnpPX/+vKKiAg6VlZUpFApxateuXbKysh8+fDA3N9+/fz/ZlgZi7sqVKzQard6Mrh0QWL169aLT6WC8o6Ojn59fu3btzp07JyMjIzL8rVu3pk+fjqvmIgjyb4DKDEH+BRgMhq2tbU1/IyMjwsFkMoUDsAX8IeN+kOLi4k+fPjVt2hSMt7OzS0pKCgwMLC8vFxkYFNu7d+8GDhy4aNGiP2wngiDI7wB7MxHkXyYuLi41NbW0tBSUDSie8PDwvLy8+jbqVyItLW1jY9O5c+f6NgRBEOTXgG1mCPIvExQUJCkpmZWVxePxEhIS3rx507x5c1lZ2fq265dBbELl7+9f34YgCIL8GlCZIci/TGFhYVxcHGiy/Pz8169fp6WlgUSrb6MQBEGQWsHeTAT5l7G2tibWywBl9vz5c0tLS0VFxfo2CkEQBKkVVGYI8i+jpaXFZrMrKirKy8u5XK6BgcG/1JWJIAjy74HKDEH+ZaSkpLS1tTU1NcFhYWEhLy9PpTb0MQzq6urbt2/n8Xg7d+6cNGnSs2fPli1bRiwhe1aAmGAd2sWLFwcEBNS3sQiCIL+YL+/oyMjI4ODgejQFQZDfQUJCApfLLS8vLygoePLkyX9ZJV9aWtrd3V1C4vfW6BQVFUGQXb16FcRZSUmJiYnJsGHDiFOlpaWEo6Kigrgo4lBBQWHUqFGgO3+rYQiCIH+AL8rs3bt3x0+cVFHVqEdrEAT5TSgoqcXEJcHfT6dQWJAvJUlzdXX93cqMQE9Pr2/fvl5eXsKeAwYMIBxMJnPt2rWkv5aW1v79+/+AVQiCIL+br/o1dPWMR06cX1+mIAjSkPH78Mrn3sXfnUu5AFL8ESv7k1saIAiC/PPgODMEQRoQSUlJPj4+HA4H9FlRUVFQUNDbt2/r2ygEQZA/R0MfC4wgyP8VBQUFERER4uLiIMtiY2PhkE6n17dRCIIgfw5sM0MQpAEhLS0tJyf3/Plz0GShoaFZWVnKysr1bRSCIMifA5UZgiANCHl5eUNDw8jISC6Xm5KSQqVSyU3ZEQRB/h/A3sw/R0pyYmFBPjhoNLqWjp64uDi4c7KzsjLTKRQq+PySYc7JSQlFhQUsloyKmkZFRUVCfIy8vCJLRragID81ORECaGjqSEpJ/VziRUWFyYnxwj50BkNLW6/uWGVlpQlxMcqq6kymNCcvNz0tpVoAGo0mKBCsJyD8NjNNTU1ZWdn09HQGg6GkpKSiolLfRiEIgvw5UJn9OTaunv/08V1w6BuYnL78mNBh1y5779y8QllFDXzk5H7BakzrV8558fRhmw7dV6zbDYezJg8dNnpqm/bdPvi+nDFxMPgcOHHNxq7pzyUeFPBp3LDuwj6m5tYnzt+vO1Zebs6Yod2Wrdnp6Oz+5OHtFYumVgugrWvgffkxnc74OauQfwwQZ25ubikpKWZmZgYGBn9mkQ4EQZAGAiqzP0d5eTmxBEBZeRnpWSHw5PtX/Jpcps9dNWbiXFlZubiYyDnTRsTGRFZU8JOG/0TuxOFPcPfmpT3b10pJSa/dclBeQQl8QGgePbhtUC+vdVsOa2jpiIwV+PnDsgVTsjIzKgRX6Nqi9fFz93k87txpI1OSE7r3HtKjzxAanU6l0n7ygpG/nMjIyPXr1wv7wIPK4XByc3N9fX1DQ0OZTGZ92YYg/yQ2Njbjx4+vbyuQWkFl9ifgckt2bVkVEuTfsnVHRUXl29cvLp03cfzUBeoaWtVC3rhy9u2rp9q6+oNHTIQoOdlZXm06ubVsm5qSBIdkMBMzy4HD+L+rg3s2gwIjPBmSkhOmLvB5eCssJFBM0FJFOM6fPkKhUBmMLy1S1y55v3vzXFffaMTYaXB44vCu8NAgG7umzm6ee7atAZ9e/Ydb2zgEB/p7H98Hh6PGz9DWNcjOzoyPi5aTkzcyMVdWUQN/aRZLQ0tbXFxcVo4Nh08e3Hp0/yaZS5ce/blcLiQeGR4Ch8cO7CgvLYMs2GwFKBBiwp2SsoqZhXVGeuqKhdPKykq79hpo39gJ/PM5eXC9BYLOX0BTS3f42KngAwqvZasOHl7tCf8929YmJ1X2rrJkZCdMWyAtzfoltwz5YxQXF8fExLbt3EeahRt6IshvJ9D/XXJycn1bgdQFKrM/QVlp6eMHt0Bdde89REfX4Lz3kVvXL4C0qqbM7t68dPHssaKiQhU1dRA01y57c/Jy9QyMQRVdvnDy5rVzHbv2kVdQCvB/H/j5o6QUs3O3fq9ePPr0/g0INUdnDzqdIUGh+L5+9vzpA30DE8tGdkSyLBkZJlMadA9xeOfGRTm2Qnp6yscPr0HHdOre7+3rZy+fPYyMCMnNzWYrKN64cqa8vOzju1egn2h0+vUrZ0CBdes1iIheUlIM9rNYMg5Nm1ta22nr6BP+Pg9vg39iYqyHJ1823bp2vri4CDQcIdoAGTk22CyyfECB3b5xgcfjNnZsTigzyOX+3WvZWRlEAFU1DUkpKbg6fz/fzIw00IK2Ds1AX169dMrY1NLQ2CwpMe7xw1ugGkEOqtXQu0gDh0KhWNs6KijieDIE+e3kZGVysuK/HQ6pP3AARwPiwpmj/p98rW0c2nfq9f7tS25JCeEfGhJw6ugecAwcOm7qrKXN3bxiosMP79sC8oUI0Mi2CfiPnzJPVlaO8DG1sIbAhLtdp57N3TzJXIIC/axsHFp4tU9KiNu7c10+J4/wz0hPTU1NmjJziYKi8u0bFy+cPVpWVj5s9BQajX7u9OEA/w9qGtoW1nagtw7t3bxt47JL546BnvP7ULkKKGjN1y+fGBqbgyXwp6au+fDedZB6PfoMIQJ07z3IvomTyAuXkpRq1txDmiUTERYcHRmWk53l++YZCDULK1tCZhXkcz59eNNv0GhIH3KBvLKyMnZuWZGeltK6fVfIDoRjYUH+/t0b4uNjftn9QBAEQZA/DiqzhoiBkenGncdAIf2OxKfPWe7q3qqmf1Mnt3mLvwz3aduh+5iJs4QDeLRsO2veKmUVNfij0elXLpyaNLrvqqUz01KTyX2mS4qL4RD+eDze95ukoqaxdc8pHV2DU8f2Xjp3PDT484KZY0EyTpq+qIWg41JX32jL7pNEF2o1OLm5kB2Iue/PDkEQBEEaLNibifwAFta2Z68+BcfsqcPfvXkOjujIsP7dWx4+dYMI4Pv6WZ8ubuDIz+f8GZN2bVt9YM/G0h8RggiCIAjSYEFl9tuJighduXg6sYjXlQsnJSUlCf/lC6dOnLawXk37YahUmhybv7THzHmr8vJyXj57dPTANk5eTll5ORHAysZh/JR5ZHgVFfWU5ITfalLfgaOcXVuShyamlr81OwRBEAT5raAy++0U5HP8PvIHY3XtNdDYxEKMP6IrDQRNSJB/Vma6yCiJ8bFHD27Pzc3+o4Z+i/e+Lx/evS4pxRw+eoqxKf9CkhLjqoVhyys4NHEGx/HDu1KSEsBNzgD4JoOGTzh9bO+7ty8SE+KY0qyhoybr6BkSp5KTEjavXTRsdPWF0AA9AyPIJToq/Pzpw3CorKwqUzXYDkH+Is6cPEjMs1bT0Bo8fALh+dznPtR/CPfgERPV1DXrzb5v8er542dP7gn72DVu1qptl7pjhYcGPbp/A37adDr9zo1L/p98qwWwbGTfoXOvX2wrgjRsUJn9OVzdW3t4thMTtKIdO7i95rpirh6tc7KzoiPDHj+8xeVyxaoCaGnrebbu9PDe9Qd3r3/2ex/o/0FVTbNth+40Wl07PcvKyXftORBi+b5+qv2tZfq/h/KyssSE2PdvX8jJsQn1A69RObaCV5tOMjKyTZ3c4GxSQtylc8fh1LnTh9TUNG3smyqrqLXv3AskHXxjFBVVCEknkjbtu8HL/fpl77CQAAVF5W49B5Ij7SrKy4uKCu/evATpm1vaQF6QY5ceA6BAwB4elwtFeuXiKc/WHcurWu8Q5O/iycNbvq+fgcPS2o5UZvB7P3vqIOHu1L1fg1Vmb189vXDmCNQ2nVwqG7A/vn8dER5MpzPcW7atLRaEv3LhJEhP/vXS6aVlpVxuSXpaCrwr4Kyzq6eqmkZZKQ5UQP7vQGX222FKS1vbNBbjS6XK1iOGpKRVo8YVFeVseUVxcXE4Cw4KldrczSsrM/3Th7cxUeGzF64BzVFYWADhrRrZT565OC01+c1LHyIFr7adwQcchkZmZaVlGpq6ZHa6Bsa5uTnaOgbwUlu4fHNxUVFkeGhwkL+hsRlhBrHiF4gkOGRKs2g0mp6+MScvl1j/QlxczMTUisWSBfEHh/Bihe8Et6QERFKTZq4gyNYun/P4wS0yO1f3VvOXbgRHjz5DqFTq5fMnr13yhkMlJdVBwycQL+VZC1bn5eQE+H2wauRAKDO4ahMza1B1YGTNEpNmyYD8El57VkNLBxJZOGscgyHZrddA0GTgCfmWFBfHREXAHxw2cXSZvWANNpghfzvwq//s987EzCo5KT4tNana2fS05OSkLyMENDR1lJRVxQQVp7DQQFA2hD/8UiAFYgs4eHUIDyogo5TxowRAxaYyiqSUiamlcBSo+5mYWUZHhRcW5MMbAKqIZWWlYSGBPF5lFEmIYmYlJhin8eThbahbwjuHOHX0wHbwefH0IfESgAonh5NL2gCxUlOSLpw9evncCai8Bfh/sLC269ilN/z5vnlOKLP+g0eDzsvKyhA0pMEbwxKyA//cnOzYmAgyKSV+Mzk7OjIU3PqGJjIyckQZRoQFkWGgmqqnj7uvIn8NqMx+O4bG5kfP3Bb20dTSPeL9ZUXW9lVt9XPXL2nu5rn70Hlww6sQpBsIIyqNL1DgnVgtEQJCFQkzfc5y0g0v2VUb95KHwil4tukEf4R7xrwVpL+EBGX1pn3koYqq+v5jV8hDM4tGIs0gAMFEaKZqyMqyt+07LewDb/x1Ww+Sh+Xl5cVFheAoLeWBQrVv7LR1z6lqiUBRrN92uJrnsrU7azMGQf5SQMSMGdLt7FWfHZtXPhGqBYkJ1vmDms/eHesZguGqJcVFk6Yv6jNwJFRjcrIzZ04empmeBr+g0tJSDU3tY2fuQDWMx+Ndu3h6364NZJTJMxb3GTCCQqVlZ2VAbQcUkhj/p1eqpa0LUaSYTB6XB0rrwO5NWjp6+49eXrloOijFnn2Hzl64NjMjbfqEwTk5mRQKPxcdHX14IZD78ILUI7YGBpE3dNRk+BMTbDoCv+4Nq+e/930JP/zy8jLQgpDRqWP7Hty7JiZYr2fq+IHwnoFKYM3SePH0wdJ5k6DWd+bqU30DY/D54PsSrpQM0KvfMFCEs6eOgFro5l3HnF09xcXEQwL9Rg3uAmZISEiAjmzu6rlqw15JKSahOxGkgYOrZjQglqzalpQQ16eLO/wN6dsuPS1l9sI13XoOrG+7fjvJSfEDenrBVUMlu0Pn3mS1G0EQYXZvXXPyyB4buyag2+APpMyRA9v379oQHho0uHebtJSkWQtWg//UWUsS42P6dWsREx2xa+uqU8f22jo4ElHMLW2O7N8GqissJGDssO7wziH8p8xYHB8bDb/B2JioHZtXnD6+z75xs+Vrd44f2Ts0+DORe2iQ/7B+HTIzUucsWgdRJk1fGBsTCVEgIhEAtBfx+oLESZsL8jnjhvf89P7NgCFjIda6LYegJjZ94pCmTq59BowU41f/NI6fvUuMwf0Jbl27cPn8SRB2bHmFlYtn3Lx6Dl4j82aMhjrt1j0nIcdefYe9eekzddxAnMGN/C1gm1kDQllFrXP3/o0dXUgfq0b2/w/dc/IKStNmLyMG3mlq6xJdLQRdewxs4uhK9FAgyD9PUyd3Z5cWe7avJQ7bduiuoqZx/FBl23BOdmZeXg5DUkpTiz+AgcGQzMvNzsnO4nFLiP5K0CgsGdmWrTqqa2iLCdq8swVRoiPDDuzeOHvh2ulzVuTmZqtraKmqa06dtdTE1Ork0d2Bnz8KViXkQR2plMeFKJy8XElJKWNTyykzl2xdvyQ6KgxSK6nKRVFJBQxQUFCCKEmJcbxS3sBhEygU6q3r54lZQRtWz5eTk3dxb9WjzxDQYakpiSUlxeADsYilrdPTkqWkpGVl+QM8qFSqhqY2XWj7OGHg5w82b1m/eO2yWeOmzEtNSTp5ZDcYMHvBmp1bV8XHRjk0dR40nL+fCoVCycxIy8/nSEhIZKSn0mh0VTVNyBFeocXFRWmpSRW/anNiBPnNoDJrWBibWtQxRv5fhcmUdmvRRuQpIxNz+PvD9iBIfaGuoWnX+MtWGXoGxnqCLjxhQI7s2srfRTchIZbwAZk1avzMsycPBgV8PO99ODw0EGo7fQeOAo3i2bpzdmbGqxePH967ISvHBjHn6tGGGBzW1MntzMkDN66c1dDS0dbRDwnyr5YRiDMXd68j+7dW87955az/x7fEfrgEFlY2PfoOBVNBBYIZxNYg6Wkp4hLiXq07E2FePn+Un5+XmSF6QnptqKlr2jd1hmrbu7cvIMG4mMiggE9aOvouHq2OH+YLVqjL2dg1rTnPvays7NTRPXJs+Y/vXv9QjghS76AyQxAEaViAqnju8yAtJdnM3Lrm2eLiwvg4fgeitY0D/FlY26qoqg8fPTUvNzsrKyMiLPjwvq3go6Cg7Ozm6eHZVlxcjCUrW1xcdPbkodJSXkZaKpVC1dDSfvb4/rGDO/UMjHr1G1ZSUnL/ztXvNC89PUVMXIzOYLRqx18UgyXYit7Wvin8ZWdlZGdncEtKQD8FB/rdunaeVGa5OVmE2UQsVXWNuNioX1FaogExl5ycAEpRSUUVclRSVgWd+vuyQ5BfCCozBEGQhgXop41rFoDDrUXrmmeNTa3WbuZPoElKjCsuKiJ665IS4nr2HaaqpnHtsvexQzvTUpMXzBpz+tKj4iIlbR39KTOX0un06RMGh4cFQQAqjdaxa5+lCyZBIkNGbHNr0ebOzUsizODx4uNjiNk5wgwdNcXVvRWHk5eemgyHCgpKqSlJBfkcJlNaTUNr+Zpd4LlqyYxL8ceFY7Xr2HPIyEklJcWJ8fymPtCOvq+ff09pMOgMPQPjxPiYtJSkrMwMpjRLW0dPXLxSZuXmZCclxpMreJNQqdSZ81bp6hnyxWJWJo1Go1Ao35MdgtQ7WIdAEAT5K1m+cGqfLm77d60PDw0CB/y9e/uiz4CRU2cuJcPs3LIS/Ncsm6WgqHz49E1zS5vvTz8jI3VYv3YhVTMAqvHc5z6RaXxc1PZNy8GxftU8kSGFiYmOIGK9ev7oO83QNzQ5ffGRhpbulvVLznsfbtLMddtebxCaxNlb186vXCRiDWqS895HILup4wb80Ga+CFKPYJsZgiBIA8LQ2Oyo9+0500b0HzymbcceH99/GSY1dvIcWTb7yoVT/bq1gMP4uOiBw8b3GTBCjq1w8OT1udNGbly9YO+OdZy8XE0t3XVbDurqG42bNFdWln310un+3flrwMbHRg0ZOal3/xFycuxDp27MmTpiw6r5e7avzcvLIXOZMHU+my1//fKZpfMmb9t7eu3yOcRcS1Nz64Mnrs2ZNnL9ynm7t67Oy83R1NaDXLS09SGKrBz75tVzhGFAakpi63Zdx02eK82S2Xng7KolM08f33fn5qXi4qIKMTGIBQLLvomzFJO5Y9Pyof3ar1y/p7YhtuLi4hIUirigg5I4FG79giJycfMaM7R7TnbWvCXrW7bqCGchtUVzxk+fMIhOZ2RmpDk0bT574RrhJRIRpCGDygxBEKT+GTpycqeufbV19KWkmBbWtrMWrDG3bKSkrGplbb98Lb9/UENDW44t363nIDPzRmQsC2s7NXUtMf7OAfYQpUiwNrWYYOyXmWUjkDTqmtrdeg0Sbiqz5EfhryMNKc9ZuLbo685KVTXNu7cus2Tk5ixaJwmWWNkymdLEKXBY2TiAP9m/KSMrZyoYCaehqdOj9xBIUDgp0IXEBmuGxuZjJ80h9g4WIC7YxoM/4dqzdSc2W0FMsGAscU7fwIS4XiNR62i4t2zXb+BoYR95BUUQecTmH5AssXGIk0vLZWu+LHYI12tgaPqNG4AgDQZUZgiCIPVPs+YepJtCobbwak+4QVp10NQmTxkYmcJfzehUKrVlqw4iUzY0NoM/EVFotJatO9b0B72VmZGWkZ4K7tPH9qWmJDk6uzs6882j0eieoqKIfWsaNWgmkf6gmTp06S3so6SsIuwTERb84umDsrKy3Jxst5Zte/Uf1tixebVEQNVVS4Qtr1DNB0H+IlCZIQiCIF9o26H7/dtXr132Jg71DU169x/h6tGqXowBjfju7QtwmFvZDh42wa5xM/JUI9smcmwFfQOTejEMQX4fqMwQEXC5JcSWnURHw3dSkM/hlfJ+KEpNCgvyS7gl8vKKPxqxoqICzAYbxMXFpaSYklJMkcGyMtOZTOnaziIIIiZY2IJY26LeETTXuYs8NXP+qj9sDIL8GXBuJiKCAP8Pm9cu3rxm8Q/FunD22KY1C/9j1jevnV+5ePpPROTxuAF+7+dNH7VswdTnTx/WFmz21BFPn9z7DwYiCIIgyG8E28wQEfg8us2SkenQpc8PxWrVtouLm9d/zJrfXCfYFPlHKcjP37dzvYWVbVNnd1NR63NWBePwuNz/YCCCIAiC/EZQmSEiSE9L1dDSMTG1JA5PHN4tr6goISERHhpEo9JdW7SSZsmEBgeEhQQymdKerTtq6ejR6YzoyLDUlCQVNY17ty5ZWttr6+qXlZbGxkbFx0a3bNVBXFz8s997/0++gin9Ou4t2ykoKlEo1NLS0qyM9CePbqUkJ5qaWSUnxv+EwZD1sUM7A/w/8ng8+ybOkpJSQQGf3rz0ycrKpFIpRibmjWybaOvoC0cB/RcVGfbg3nVuSbG0NMvI2NzGwVFNjT9nrYS/gvmHTx/e5ubwdxj08GyvqKRCpeKPBUEQBPnt4McGEQ2FQqHRKpf/eXjvurKKqqGxeWFhfl5OztPH9zQ0tfM5efmc3IS4aFBaQ0ZOUlRSDgr4GBL8GYRaVmYmqCJIASTOu9fPZGTZFRUVkREhCfExRUWFRYWFoNUC/D80smuiqKick53l98k3OjIcwkRHhydWbQVIEh0V/sH3ZTVPloxsq7ZdyO1WIG5pKa+iolyOLS8lxUyMj3n+9H5mOn8rvayMvMz0NG5JSTVllpKSeP2Kd0JcjKKyKpdb8tn/fVFxUdceA+BUVGRIXGw02FlcVAQBAvzf29g1Fd5nHUEQBEF+E6jMkK8AiQPiiUqlMugMYX9xcQk7B0cLK9uQ4IA929ZQnd09W3fq0Ln3y2cPVy2b2b33IFBmREimNKtdxx4H926WlWOXlpZmZqR37TWIwZB8+eyxjq7+kBGTJMTFgwL8Hty9qqKqBsosOSn+9cvHLbw6NrJt/PnTu9CggGomxcdG3bhytpqnmoYWGEAqMwMj0ymzlr569mjA0HFNHF18Xz/L53C69RpkYGQSFxN16vjej+9fw6FwChlpqWBS9z6DW7RsJy4m9t73Jeg54hTISmUV9cEjJlAo1JBA//t3ryopqaAyQxAEQf4AqMyQ6kSEBUuzZBS/FiL2TZzsGjvR6QxjU4vEhFjLRnYghkAYGZpalJeVVQiFpNFoWjp6mtq6INpkZNlNmrkQEy3Dgv2ZTKa4uHiFYOmjHZuXNxcMSsvJzogIDZo1fw2DwWjc1DksJODt66fCWbu1aAN/P3QJjR1d7Js4gy6sKK/Q1NJhsxVA/1ULA8LRzNw6LPiznBzbxrZJu049QT4Sp8JDAkGhghgtLy83MbfatW21QxPnHzIAQRAEQX4OVGbIV4AW2bdjHcgaOwdHYX8ajS68t4mEOAU0Vh3pOLu0DA36LMmQau5aOSf0l/I1AAAgAElEQVSgsLDg4J5N3sf3iwla5rKzM4ht7Ep5pXCKSIxGZ0BG//0qeDxuSnLCi6ePkhPjQEeGhQSClKwWRkfPcPDICcf27zhxaNexigoX91b9Bo/W0tKFU0VFhccP7rx45hgRMisrA3fcQxAEQf4MqMyQrwC91aZDt/Cw4MjwUB1dQ2F/sutQcChWtzKLiQ4vrygrLCoICw1s3JS/ZjeNRvNq0xkEEBnGwsoW/lOoFIakVHk5v92tDCgvrZbU6xdPzp46WM1TRVV99sI1FIroBzg40O/hvetstoKWjp6phbVIUyUlpQyNzIeOnpKbkxUVEQYGXz53fNL0RWKC5dQ9vNp5eLYnA5tZNKqZAvKrACV9/tQ++tcd6AiC/A7S05KNDfXq2wqkLlCZIV8BIsbZ1evDu9fxcdE/lwKIq7y8nJBAfxNTK/74rbcvzCxsmEwm6DxjM0tHJzfIIzYmMjQ4oKSkWIy/FQxbW0cvNMjfxNwqLjYqNjqyWoLyCkpWjRyqecqx5UEc1mZDclJCUIDf4OETNDR1UpITKypEhElJTnj57JGtvaNhE2dFRZWkxLjgAH/ilJaugba2HpgKahRMCg36XFJc9HOlgXwPIPs1tfSkqvZnRBDk98HjltS3Ccg3QGWGfAUoMyVlFR5/UTHOz6UAIgbUmIQEpYmja1Fx4dtXPv4fXzdu6urQ1CWfk/vc535hUSF/kmZBgZm5lZig9cu+sdPrF4+Tk+I5ebkZ6SnVEjQ1tzIVhPx+WCwZRSWVrKyMoqLC1OSEnOxMZVW1amEK8vODAz9lZ2WqqWvm5mQXlxTrGlS2Edo7OEEUMLWouDghPrqwoIDYqTA9LSUo4JOza8tf0uWKkFCpVGf3NgqKKvVtCIL8+0BNlZP1M4sTIX8M3AMAEYE4hQL/ysvKiENNLR0ZWTnCTZGg6Oobks0bDAZD39CETucrFba8opqaZklJsd+HN82aexgam5maWdnaOb73fc3lcZs4uoiJi92+een86SMxkWFt2ncjlrFQVdNo1rxFbm72jatnOZxcAyMzdQ1tUUZ9AyoFDDOSEmy7ZGpu7eHZ7vGDW2dOHCjhcsFCVVUNIpiWti5LRhYcGpraHbv2jYoIOXf60PUrZ+g0OrFkhphgugOVRrtz6/LZkwfDQwI9W3XU0zcC/4jw4F1bV5UUF/9suSIIgiDIN8A2M0QEbLa8pKQUl8uVlJKCwxXr95BDtUDW7D1ymTzUNzA5fekxcdiz71DBlEbxaXNWiIlVDkTz8GoPf4S7Xcee8EfmQnhSKFRNLd1ZC9b8V5vlFQ+evE6kqaSsCsoP/moGW7f1MBGGKc2ysWsKf9XsAUDetW7XFf6qnVJSUnF29RSeCYEgCIIgvxZsM0NEYOfgFBEWtGtb5YbBEhISpGohpgKIPCTdEgLEBdR0kwjHqsZP2FzTEpFp1hGm2kXVPEWj0dlshbqnPiAIgiDIfwHbzBARNLJtzGbLowSphpKKmluLtlQatpkhCIIgvwtUZogIlFXU4K++rWhwsFgyLCOZ+rbiHycxMiz8k6979/7CFYPCfI7PxdNN23RSVNOoR9v+I6Ef3uRlZTbxai/smZ4Y9/HJfffu/RiCIZINkBfXL2SlJtf01zQ0sf/BJaC/SVSgX+CrpzSGpEf3fpLSLPCJDwuODvRz69b3e6K/unVFRVvX0NouJz312dVz4NPYs526YJAogvxFoDJDEKQBERsScHn3RjklFTOHZlIsvg7Ozczwe/bg3NZVBlY2f7UyC3jp8/mlD0uOberQjOheT0uIfXnj4r1Thxzbdm6wyiwm+HNiRCg48nNzogM/mdo3o0tW7pbxy5VZ+Ie31w/usHJyc+nUAw4To8J8LnsHv3letzLjZGdFfv4AjusHt+tb2nCyM3Mz0wNfPwv98FpVRw+VGfLXgcoMQZCGRUZSwsax/ddceaJjagmHUQEf982bJByAxy3Jy8ok3EyWDCHgCDg52VzB4nMSFApbUVm8anzh11FkpVgsoShZXMF829qiyMgr8EpKKsrLWWz5yijZWdySqihKKjX7/SEijcGQkmZV8w//+Pbgomlrrz2VECyr++7BrfPb1oAMJQMUFxYU5OUSbsiOISlFnsrJSC8r5e9FQaMzZBUURUaRYcvTv4qSVlZaWmsUcXG2kjI4qDQ6s6oMv0RhMGQF+6oNmL2MOBX6/vWGsf3Hrt2ppKEFhyVFhRCYXWV8YT6nlMeVlpUDOyEinIU/SFlOUYnMF3xA3lVenZw8Q+qLqSQ6phaTtxwkyvDpJe+nl04ra+rUDCZMUlT4ocXT+VGyM9PiY/yfPdQ2tZix+8Tczm51R0SQhgkqMwRB/jJigj6vH1PZiNJ9/Mx2Q8aSp7w3LvO9fwMciuqaS0/dlKzSRtGBfqAqCHePibPbDhpNRjm9YSkoJHAoaWgvPX2TbLuK+vxp43j+QipTtx0OevsC1NjwJRuIU6fWL3n/6DY4lLV0lp66RbYhkRxcMt3Kyb11/+E/emnvHtw8tmo+4R63bre9R2vy1I7pI+JCg8Bh4eg6bfsR0v/tvRsn1iwg3BPW77V19yJPbZ86Ij48GBxWTm5Tth4m/d/cvXZy7SIGUxqKyHvTckNru/ZDxxGntk4ZRrSQWTt7EAqpNj763L9zYj+kQBw+uXAy8vPHfjMWLx3QYeq2I69uXnp65YyxbZPZ+7zJKB8e3zu8bCbhHr1yW5NWHepI/9DSmUaN7HtNmQ8p1xEMMLKxX3uVv9nulklD4Upb9R8uwV/3B0H+VlCZIQjSsFDW1BmzesflPZta9h6cm5kR/Pb55C2H9s2vbDZ79/DW27vXZ+w8QRz6v3h8afdG0GcVFRV75080tLRz69IH/AvycjZPGjJo3kptY3Pf+zd9H9wko/g9f3R57+ZuY6eXl5ftnTfJqJGDe9d+YvzeuuyN4wcOWbBay8jszd3rHx7fIaL4XPH+/OKJVTN+A0xZaSnkYmLb1KM7X+dxcrI2jO03dNE6TUMT4UvoOXEOS45d89LMGjuBKFw3us/wxRvApCIOZ8Ds5TcO7yTO3j15IC0+lrTzxY0LnOxM9279MpISIFOvPsPkBaM/U2Kj4NLGrt7BlJG9c2JfemICGeX59fN5OZlQAumJcXBprfqPkFdWBf/kmMgtk4eOXbNTSpp1+9jezJQkiMLjlhxdOTfswxsdEwsIA1lDLm0HjiaawZKiI7ZOHTZ29U7JWvZmKOPxivPzyUNeSUlJYUFFRXlRXu6hJdNdOvWCLMAM0NCQr6yC0oMzRxIjwkhTX92+nJ+T1aLXoNoeg54TZjFl2YFvntYWgIQiWMhm74JJLl16p8REPjh7tMvoqbjSPfL3gsoM+XNkZqSFBPkH+H/Iy81hyyvY2jczNrUAR33b9Vu4evE0XJp7y7Z/MtNjB3fYOjSzsWvy/VGOHthu38S5kW3jmOiIqxdOuXh4mZpZE4vx1hcMKaZZE6djq+blZWZkpSTmpKUaNrInW0HgMD0xHgIQh5+ePkiOjiDcMQH+Ni6exKmifE5uZroMm/905aSnZCR9iSJBpXCLCsEhLiZu6+ppYG2npmsgxpcmMZF+74sEaiMnLSUzKYGIUggpJSUQcUH/RQf4NW7ZjjgFIin807vigi8ChUDH1ELkpcnIK2qZmId/8C0uLEiJiZKWldM2NSfPpvH3xsgn7bx9fG9mciI4uMVFYe/fgIbTF+zfqqSlLUGRoAqWd06Ni+EVF5NRigvzZRWVwSHFkmnWrouVk6uMoEeyuKggyv9DuaCbEqKUlfIgSimPm5ORmp4QS8QtKS4Mffd66MK1RCdyUWF+lP9HcrnpmhhY27p27XNk+ZyuY6f5PXsESsiz7xDiFKhYG1dPLWMzcEP58LhccKQnxBVwcklT73sfSk+qayV67VrKUCQ0BgNuipWTu7q+YSlqMuQvB5UZ8ofI5+R9fP/a/9M7/naZFWIZ6akvnz0oLi60b+IkLf0PTnh88/KJhpbOH1ZmD+9dl2Mr/JAye3D3moKiEiizivLy/Pw8n0d3lFXU61eZfZOc9NQHZ44S7pjgzzJV4t6xXZf0xDjilKQ0y61bP2KJEy0jM0MrOzKKkY2DiWCFYXEJCeeOPT6/eBLwit8ww8nOJAZyVcO+Zdvgd684VcPUxPgNdU84Odli/LFQGeVlpb/w0pKiwkk70xJidc2twcGUlWvRa1Dw2xeR/vxx7gpqGnBpRBhTe8fYkEAyio1LS2Ut/qgslpx8q37DX9+5lp+TBYcJ4SE186LS6K5d+ry5c03YE6KEffQVE0yKrNtUdT0ja+eSeV09vPoNDXj5BPK1c28N5Q+nmrTuSMiyavAbtKpMTYmLURUI4l8CXVLKXdCKqaiu+avSRJD6ApUZIoKY6Ijy8jIGQyo7K0NMsLWlpKQUfLbhsKKiQkNLT1ZWlkqllfJ44JmaksTlloiLi8vIshUVlRkMyYT4GHkFRWmWDAQGQZafz9HU1ImOCvf78FZCQqL/4NHaOgbRkaFnTx0CraasomYmaAmARNJTU3Jzs2k0uqqaBogDCFxaysvJzkpPSwF7VNW05OTYNDodfFKSE0zNrcTFBRPcUpM5nFxDI/6XICI8mCJBoVCpZWVlevpG+RxOSkpCUUGBhARFismEC2FKsyg/PgYlNiaSTqOra1ZuGxURFsSWV1RSVoVLi4oIUVZWKyjIB5UpxZRWVdNkVQ2mBhuyszPTU5MhdzV1TSZTGkwDAcTjcpOTE6DoJCSo8vIKSiqqxL4CUOxQeuqC4dVAeGiggqKyopIKlGFUZBgUVEE+R5ALi18+glzKSkshi8yM9LKyUvAsLa1UCeWQC4+XnBRfkJ8HxQGZQDpUKlU4Snl5qYqqJhlFR89w5Ljpc6aO8GrTWefXfTJ/B6CHngvWRCAwtm0sJlgfuPv4mRd2rCNOScuy5VVUDSxtpVgy5k2bM2VkjyyfQ4TPz8lmSDHV9Qzh+YwN+ez74GZcSKAYvz+uuKz2JiJhQt69IgZjAQZWdrX19/0EqbHR5KUxJJmKgl3F2Eoqwxav3zdvUnJMJByq6RnKKSrrmVtRqLRm7brSGJLXD2wnosBPxsbNU1FNs6SoCC7t9e0rOWn8jWgL8nK+04CPj++SI+30LWx+7YCttPhY8urgZ66kpvULE0eQfwZUZogI9u5YW1hQoG9o8uDOVfhyg5bSMzAJ8H9/58Yl0E/jp8x3cW8FwgRU1NvXT71PHEhOjAe508TRtWPXPgZGpnu2r2nZqpNDE6cSHvfdm+dBgZ8mTVv4+sVj0FXNXFro6vEnsRsam7dp3/3NKx/fN88JZQbyy/vEvhdPHyoqqw4cMtbJ1ZPBYOTmZD++f/Pc6cMFhflDRkz08GwP+sP3zbO929eeufqURuMrs7s3L71+8WTXofPg3rByHkg6EDSFhQXL1+z09/M9sm9bWEgAk8UyNrHoM3Cknb2jdJVyAvlSJOjVqgbII0LEkOzftUFNTXPSjEXE4Zrls9u2796r/3AQT+OH9xwwZGxwkF9keCiow8EjJzo6Vc4I4+Tlvnn55NypQ0xpmaGjJltY2YI445XykpIT9u/c8NnvHcjElq079Oo3TEFBmSh2kERQvET0lUtmdOnev3vvwSHBn6eM6dd/yNhA/w9RkaHGppaDhk9o2syVnwUn7/GDWzeunOHk5w0YNIZTNUcP7lpqSsKRfVs+vn8jIyPr2bYzpMMWdO1BlEf3b964ehZ0Xv/BY0D2EVEofEFLT05KaCAbgzIkpUBugnii1Rhfr2NqueTUDcLN45ZUlFeICfoZQY50HTe95yS+AktPjJvb2W3OwXMmdk1LeVxQM0u9bxFRvDcuu7xn0/h1u0El7541rtv4WcOXbADBmhgZtqSviDbOkuIiqIQI+/SeMs+xbRcxwSNUUlQoPIPym4CCBCXHLSkGFUX0SApj16L16JXbyHxB05O5jFq5ldBJ/s8fbZ4waO21pzJsBW5JiXVzD4eqptlNEwblZWZAIcDlLx/YadWFB7rm1lAT+Pjk3onV86vlJSixwmpidNy6XURvJhQIlG3da3mIS0jwr6W4mF8bon25FrgRUGI112Ru5NoSip1wQyxxCVzLGkFEgLszIaLJzcnS0NTeeeDc9HkrwsOCQWBZWttv2nl85LgZxw7tjI4KgzChwZ8f3bsBgmn/8avzlqyXkBB/eO+6jKxc34Fj3r7yCQsLCg3yD/r8se+AkVJS0pHhIfASNzD60sdham4NWiAyorKf5c7Ni1JMaVAwrdt1Ped9uLiYr5ne+76Mj4/u0WfwvMXrnz66Gx8b9U3LmdLSXm06TZ+znMfjHti10cjEfO3Wg5t3HXfx8AKBlZGRRobMzsoYMaBjn85u1f4g0+8vKPi85eblDB8zbcX63aBKj+7fRp6KCA/Oz+csX7e73+DRfh/eRgq6h9JTU65f8ra2dViz5eCUmUskGVK3r138Zi7lFRV5uTmjJsxcsW63jp7hsYOVY8ZfvXhcUMCBQluzcX9ScnxJSaWoSktNun3jUs9+w3cePD919jIWS/bh3euVUZ4/KiosGDZqyqoNe5MSY7ncr3RYBVzQ91/872TK9iOh714X5+cPW7SujmC3j+07s3kF4d4yaYjf04c1w7y6dbnauhs1CXrzfP3ovtwSEar08JKZzy6fERkrMzlxUc9WxPzH70RJQ3vlxQdXdm/St7TpOGJiHSFPrF74UND3l54QO79by0TBj64a1w9su7RzQ905Pr3kfWTZrJr+IMvWjewd8vaFyFgh716tGdGr5hA6YdT1DNdc9fHesMy8aXPh6a575oyv1klak9Mblt47WdfcTwT5vwXbzBDRgIRq5tJCU1OHLa948cwx0DfWNg4ysmw6nXFg90ZiSK+JmdXg4RO1dfWJfky/D77x8TEQwMTcUuYR++XThwyGpI6ugaaWLoVCAY0Cn31JodYFKSZTXFy8uKiIOAz0/+jk0sLZtWVZebmRqTlT0EMUGxPJLSlx92wnzZJlycoS7W11o61jYGZpIyvLhoiKSsogXDLTU9XVNd08WusbmCgJpqoRsGRkJ89YRHbnkRiJGiJTG1QarYVXe1MzK3EJiZiocN83z8hTOjr69g5O6hraYMyNy2e0dfStbRvn5mb7vnkOQlbf0LSkpCg1Len54/sDho6tIwuATqe3bN3B2NQSSiwyIvTT+9eEf0iwvxxbwdahGVNK2rNVx6cP7xL+OdmZvq+edu05QFlZVVFRKS0t+dXzxz368AdoBwf5Kygq2To4SkkxPVt3evLwDpkL3CZNTb2crMzcnGy5qrW76gsFVXXQSSB85ZRUMqoG4AM2bp4SFMrGcQOIQ0NrO9eufQh3lzFT3z249fg8f/YfVAPGrNmpYWAMbjMHJ15JyZcojezbC3a7h1s2dNG6dw9vvbh+HgRT94mzjq2cR4Sxa9GaSqcTUSBHUqBAEQ1bsgFyIZaYl2LJ9Jm+EOJWM/78tjUgvBp/vdw/ATwwypo6+bnZNAaDJfdVIXv0HOT39AFpp7WzRyPXluCQU1QeNH/lzcO7iUFjCqoaxCxLcDdt3enTM6EozT0aufCjKKprTt95/Pbxffk52Tqmll79hpFrT3j2Gfzp6UOIAvUir/7D7xzfR/grqWvN2H3y5pHdBYIlxyCFnpPm1FwQ5OtrocO1cLIzGVCpEpqL2m7o2NiQz69uXYJ7N3HjPmIehlvXvn7PHpKmWvJnCbSsI/HaCP/k63PJe8jCtTQ6/c6J/XRJqZa1T/BEkL8RVGaIaODjDbKMSqXJKyiCxJGRkZNXUJKQkGArEFt68xtW5OUV4UMVHhqUk5MNUiAsNJAhKQlhWCwZa1uHOzcvKSgqt+nQDfSZGLGVuERlRBI4lqhapTMzM50hKaWopAoh1dQqh/Fy8nJ5paWqaprgaWff7Hssl5GVAyUERsKHp32nnm9e+jz3ue//6Z2egXGrtp0ZDAYZEgxzdvX8jwUFhunqGUqzZCBHlmBoHXlKQUlFS0cPikhWjp2dlVkg+LqXlBSnJCUo8AfkMUBvMWiMjPTU78iFAqpUWpoFuUizWGTDVlZGhgxLjuimNDKxIJfuLC4ujowIOX5op5SgNyo6Miy3aoXPrMx0CC+IUgFRhLUymARF9OnDG5Bljs7u/7Fkfg6QEW2qWl+ate1CrCLLlJHtNn4mIYBACti4enKys4gw5k2bEzMWoWQsmjYvzMuVq5ycKGvn0Zom6C5U1tIBiUNGsXB00SOjOLoUcPLkFFXUdA2snN0hOjGEXEVLF3LJFwzzt3FpmRYfS8wAADFn6egCwZIES0tIy8rZt2hDoVZ/kWoamrJr7G8GWkTbpHK+Yat+w/UtbMChqqPfedQUYqSatrFZeVlpWVVVoZFLC3U9QzHBbAZ7j9Z5mem5GemCy9EFBUaE0TYxLysrLS8tq4rSkogCug0My83MgFhGNg5QdCy2AtEvDDZAFuVlZaAR7dxbvbp5iYgLRc2PkpGeJxhdqqqjZ/31MwCJwF1gfsfsEFN7x0IORxoqbGqaNlU/MU0j03LBIMtKU5t7ELq5bvTMG7UaMELYB+Ssnrk1sYmCqrZ+zR5hBPnbQWWGiEYw6ujLMBH4hklIVO/7TktL/vj+dVJCfHFRYWEh1LSzVKo2zwF5VFFeXlFewayad6mopAKfEBAoilWLhmdlpMGbmk0uTQ5qo2ZHWoVY3d1rkEJFRfnXfuLEmuxwCSC8Snmln/3ep6QkpgmGQoNWA4lJhCsuLnrx9AGPV306nn1jJxVVdZHZVfApF7ZTXCCbRO7+Xg6f2dJSWuX4m6o4FXx/YYVaw34yly9hxAWXIyKXCv7lQ2jBDaKICyUBn0CQgIQshv/2jZtVxfgqinBicMySkSko4BSLGn73Z9AyMoU/wu3g2Y5wgBroMGw8GQbEU5cxU0VGb+zVXmRLlZK6Vm1R+BtZVkUhuxeToyOig/yJeY4R/h9odAbomy9R6lwiFXDu2L2mp1njL1UL9x6Vy96CBGw7+Es/oK6ZFfyJTNOjxwCR/iBT9ARTOGvSoueXKG0GjiQcUQGfUmKjiEv79PSBqrae8GJsLXoNFJmUmKDYhe+CGH9iQS6kYGzXBIq3WmBbN0/4q+YJOhL+akufAKTk23s3IC6xmYGOqUW1JUjU9Y3IDZfsPFqJTAQk9Uefe0V1dsUiSIMFlRny84SFBF69eNqzdUcLa1sZGbnSUl5mZjp88nk87me/d4KB9hW+r33UNTRB5plb2mRmpgV+/tjUyZ3BYJSUFPt98gWtZlL1HWLJsuGwsCAfUsgRjHKDWFJMZgm3OJ+TC9oiPT1VQUGJKejE4Q/eL8wHHcHJy+NwOCLNg3SysjObOrt7tOqQkZby8N71Ywe2Ozq7k8oM8jp5ZE9BfvXoSotUayozuKjioiIqjZqZkQbu7ymfjLTUuNgoE1PLoqJCGTm2lKBBi0qjySsqFRUVlZWV8XglZeWloGK/5MLlgV6EC4eyqikZayIrJ0+lUuFCJCWlUlKTySg0Ol1bz2DuovWKyipcLheusbRqPQg5tjykD1EYklKpKUnCucAFXjp/olffYda2P7Duxj8JyJdrQkMG2w8b7969Xz3a8wvxf/6YbCcDhixaa9G0+c8lBSrq2r6t03YeU6uazEuh0jQMTeg/MiVCGBZbHuoLt4/uMXNo9tOJiAnWVblxcKcMW0HqX1yRB/nnQWWG/DwFBRxOXi4oLVU1jfu3r/BXeVBSKS0tTUlOjAgN9mrbuaiw4M2rp64ebRUUlZq7eZ48uufurctq6ppGJhbRkeF3blzU0tFv7OhCpGZiYp6Znur/yTc3N+f08X079p9hsxU0NHUKCzhvXz+DkOtXzh01fqZT8xbw7gY94ffR19be8dXzRx/fvSJahqrB5ZasWjyjGSgzr/ZSUqDoZPPycoVXzgSJdvj0ze+5UgkJSnpaalRkqIaWzgXvo2mpyd8Ty//Tu4d3r+sbmESEBRmbWqgJlsOQlZUDs6GsZGXZqSmJ2VmZjWybkrmkpSVHR4ZBEZ07deh7ejlNzK3SU5M/+783t7C5cuFEVmY64S/HVmji6JpfkCfLZsdGhz96cDM1OWnp6u2CKNaQcoD/B1Nza4iSk51BpgbKOCEuRklZVV5oj8X/T5w79oC/+rbit9BlzNTamg9/FDU9w7XXvlqjX15FbfnZuz+d4K8qdk0j02qGIchfBCoz5OcBNdCydYeNaxYUFhZYWtkSC8aCVvM+vs/R2d3M3Bq0UX4+B2TWiLHTlFXU23Xq+erZo63rl4L2kpdXsGviBDJLpWo4TtuOPa9f9j6we5OiknK/QaOlJPkDpBo3bc5P4di+ioqKlm066grG0JiaW3XtNXDLuqXSLGnbxs3k5BWKC0X0vtGotAFDxjy6d3PJ3IkFBfkgzqbOXqYs1BgmsgtSJB279L594yKko6ii4uLeSqQQrEkjuyaaWrqLZo2VZDI7dulDrLgGBnTu0f/y+ZNnThxkMBh2jZ3adar8FHXq1vfO9UuL505UUlGFXOhCQ+Jqo1lzj2dP7l3wPlJeXu7k0oKMoqKq3qZ91/PeR8JDg0BvWVjZ9uhduT47BHv2+O5578MV5RVOrh40evVcxMXFv79k/lX+4RL4hZdWM6n/mPivsu0fvn3I/wOozBAR9Ok/ginUCzB6wkwtbX3CzWRKz16wxkgwkFlNQ6tVm67GJpagwNTUtYqLCiUkJPiLVrTtqqGppaCgXFZe5uLmlZWZzqAzaHS6oaGZNJNlatGoqLBAWlpaW9dQVU2DXqUMdPUM2nXsYd/EGbKA9Gl0/ig3ZRU1FzdPDU3t8rIyU3NrYoyaiop663ZdtbT1wA3Sh8fjkstNDRs9Va1qEXAJCsXaxgH0YkZ6KoSRlGKCQGGxfmZ1e3NLGymmNMhNkD4gsLS09PQFg5d19YwWLNtEDGHJXX4AACAASURBVMAXE0ixidMq95bu1X84f/6EohIITYakpImplbSgH1ZSUsrA0Kxj595ZWek0Gh0ujVxa1tLKjslkNUv0AOVnaGyqoaFNiDnIa96SDWSnp51DM3n5yjYtKOSmzdwgZCmvVM/QGOSvkbE5kYu+gYlXm872jZ3ExSWgTPSrRlvzozi5a2jqlJaW6hkYKympGQnG8YCAKyoqpFApuMoUgiBIPSJOTiU7e/asz7M3IydWX40QQZD/BxLjY65eOh0eFjR24lxTcxGD0P0+vPK5d/HgwYPUGlMRSYKCgmbNmnXgwAENDY3vzDcwMHDWrNnTF2xQUFT5SdMRBPluHty+xMmKX7FiRX0bgtQKrjSLIAifgoL8+NjoDp16q6qJnpeK1KSkqNDv2aOCqq0XhEmMDCM2fUIQBPkhUJkhCMLHxMxqzeYDXm07s+X/34f/fz/ZaSlbJg1JEWxnWY03d689vXr2z5uEIMjfDo4zQxAE+fV0GD6hwex0hSDI3wQqMwRBGhABL32eXTs7ds2uffMnpcXHNO/Y07PvUPLsrSO73z3kb0zOkGKOXbNTTjAj5POLJy9uXBizesfeeRPSE+JcOvdq2XtITnrq3nkTucVFoJAcWrYjUzi1fkmk/3sxweL7EKWmAYeWzLDzaGXfovrW5n7PHl7dt4Vw95w018LRJeTdq5NrF5VySw4umd57yvyS4qKwD297TJwNZnQbOyPC/31RQX6X0VNLeTzw8ew9JC0h1ufSaQU1Dbg6crfvqM8fT65bBI5B81ZCdEik86gpv644EQT5+0BlhiBIAyIvO/Pjk/tHls/RNrEwtLbLyUy/f/pIq/7D4NTNI3tAaTkJtrwsLyu7un9bi14DtY3N87IyPj6+d3TFXF1TK6NGDtlpqRCdQqXaebSWkJCI9P/ILS5xat+1pKjwyt4tsvKKRArckmKI0nXsNLbQVqpi/N0q3VUE036FeXv/ZnTAJyKimGCx1uKiQi1DE9BwcaGB1s4e/2PvLMCiyto4DszAzNDd3S0NBiGCidjY3Z+1rutaq2usuatrrrl2d3eCIqKg0t3dDDkDM/O9MxevI4iJgO77e+bZ55xzT7znvde9f849oaqjF/H4YejtKzwuz8rVHSRjQWY6Mf+Mx+OmRr2+VL7VpIMj1FDHZh9Zu7TvpJnKmtpRTwOhKqLap9cvQtjQxu6buxhBkPYNzjNDEKSdwRPhcTmgpXxHTBSXkHj16HZDMo9j7tQREuHn3n/Yi7vXhE865xfpMwAuUcX5ReiSkt5DRkO0orQ47sVTyFDPZj++dErHzJKowdrN4+7JA5VvjhMlcenhr23c+Ej7xJehpfm5REH4gQ6D9kDAde47RIxCde3hr2VkRpgoLiHuMXC40putW97C5Rpa20FZ0IsPzx4hzqYEVZceG0nUqcDf2A+/fiIIgmNmCIK0M0CjTFj+V9PNQv0mzMzPSI0Pfwbh2uoq8mxsfhE1DShCRnVMLQN+WvLeyrOT4olT0vPSUz7dJBUt3fo6NtG0iODcTJn3rZPQNDQZ8euK99bgPXQMaLIPNNFr7LSinEw86hFBEFRmCIJ8H9RWV984tOvxpdMigkNRWV907PrZresob/ZjY0hJi4l90neD7iMnBl899+eUYUR0/PK/nH39PuWQBgRBkM8FlRmCIN8HuxbNMHNwW3eJfx5iTWXFuilDv6CS8b//KXyAt/ybw8E+ikPXnqb2DSecntm2vqwov8+4/32BAQiCIB/mHWWWlZm6f+f6tjIFQZD2DLO8tG3npZYXFVLFxZW1dLKS4o/9+XtVkylin4KskjLUAIGCzLTDa5aMW7ZeWUP7o6Uenj1WXcnsPW46EWXX1tQwmV/Q+gc49ffqsHs3Ld26tGy1CIJ8d7yjzBgMKX1Ds7YyBUGQ9kxuTkZxfkYbGtAtYExeesrJTX+IiYkZd3BMjgj/rOLidHrfybMTXj6PexECUVExMVMHFxqd0SjbneMHDG3sjGzshRNVtHXiw55B00RUx9RCeODt9vH93UW/RLWaObiyqquIaml0uoKq2keLIAjyw/OOMlNSVvXu0b+tTEEQpD0jODfzmyszZU1tO08fMqplZEZOBevSL+DRueNRTx9p6Bv1mTirqrxMQYX/LVJZS8fOoxtZRNvYjNwtDACNJSqoQYJG7z5y0pW9WzPio4mG3rtzWHlRfm2TafhWbh4Uqvi9kweJaI/RU0AaQoAuJe3Wsx+nvo5VXalpYMwWmvqmb2nLqqmCANhv79VdSb1htSYDivTqLy0nz7fN1kGCTr+8ZwuE/af+VFleiisAEATBE80RBPkk8ETzFqeitLisqICMBl08JU6jD5m9sA1NQn548ETz9g+uAEAQBGkbgi6dPrZ+GRkdtXBVzzFT29AeBEHaA6jMEARB2oYu/kOsO3qQUXkV9aa7uCEI8l8DlRmCIEjbIKuoDL+2tgJBkPbFR5RZSX7O48tniLC5UydTe+evaSzs/g1JGVkL584fz/rJPL1xQUVL19jWkUx5fveajLyiuVPHr6+8MDsj/MFNr0GjaAzJqKeP6uvYdh6+nPr6B+eOWrl20dA3/vom3gu4/emNi10HjQJ3tWC11RXMh+eOufXsp6jeMAeIzaqFFGK+s7axuUPXHh+thF1b8+DcMXsPX/4BNZ9PRnx0akxEF/8hD88eq2K+Z9cDQ2s7646ewinpcdHpcZEe/Yd9QXOfSz2bDTfXppOXup4hmfjw3FHjDk5NT+z5AlKjX2enJHTpOwTCITcuKmtqQ83lxYWPLpzoOmjke7eV/yjx4c/iw0KapkvQGV6DRtIlpb7WaARBEKQV+ZAyK8rJigx+GP+i4X/69XV1EjSavqXtFzf29NoFFW3dllJmoJNiX4TEhDxR0kgVl6DpmVsT6cFXz2sZmrSIMqtilie9Cu/iP5TGEHn58HZNVaVAmdVd3/+PnKLKt1Nm4Pnz2za4+Pq1rDIDJXR++wYjWwdCmVWWlcY8fxIXGkzspV5eVAjNfdRvrNqay7s3a+gZfpkyA2ly5/j+zn6DU6NelRbkQUpZYX5uWrKZoxuxBE9aTkHkXRPKiwrSY6NEvv2i4crystjnwXHPn/K4PBERUXU9AyL95uG9fSfRW0SZQWcz42NE+vLDgRdOWrh0BmVWVpB3+u/VDl49vkyZFedkkf9IE16GKmloEcsAGdIy7v4BX28zgiAI0po0q8zgtR12/0bMs8fzd58gUq7s23br2L6AOYvlVdRERUUrSovFKFQpWTniallRAY0hyZCSFuEf3cuFNxCXw4EwjcGA9w2Px4MUUAA1lRXM4iJZJf4AfllhAagrvhESEvLKDcuyqsrLoDhDWhquQlRGQRGqZdXUQHMQlVNWARFG5ASdtGvB/6au2RoZ/OjGwV3T1m1/b0eIVuhS0hJ0ekVpiYKKmhiFIiI4dw/6SOQhWoEAqK7Sgnw5ZdXaqkpRMTFNQ5NhvyyDToFqqamsBPuhF6RaAt0G3aFQqYRDRAT7krNZtTLyiqWF+TwuF5wDb8c6NguKC1pRAm80Mq+6sqKOVSunpNLcjYBWOJx6SWlZaBqi0vKKdEmBqZz6soJ8WUVlsAr68o4PmeVcTj35mmeWFlPASgmJkvw8Lo/H74tgkCw+/Nm5besX/XsW7Ido6O2r57ZvmLpmG0Sp4uLVFUzwG/mppaKsFLpIo0uW5ObADSovLgLLQUtBVdAu2Mapr4fOvn0eCvPpktJ0Kf6ADTwJ4BBwCzgHfA4SH66O/30DhSouaPfKqU1//LzjMHlnIRtxp+C/cNdM7V10zSyFHUK6HZ46uDvEsBDRCuF2uB211dXyKqrCRYgwJFLFJfit1IIxJfKq6sySIuLRzUlJgCdq3eXAQ38sgvz9pv7U9HZAN8F4eJ6lBLsegPOF3S7UihqxcQMIWXikIQqPPU1S0ty5k4G1Hf8fSEE+GFDNLIc+kpUzS4rZtTXQ5aZuLy/mP0KQDlfJR5dopZPfIPgR+ZcGdO8WMNZr8EjSIeI0OhSBaB2bDRpXQVWtismEUuBAoml42sUlJIjipA8hDNbCLWvusUQQBEG+Ec3ujnh575bs5IRp63aQKT1GTbZw7rx59jgiCm/Tm4d3k1d3L54VcuMiEYY3x/pJQxb194TfqTd7M0LB10H3Hpw9emj1IiJl16IZRJ49i2eT9dw4vOv05tU5qUnEpYjH9yExNvQxESU2Ivos/vl1GhS8um9rSsTLP8b0qyhreBGG3btB1Am/qKeBRGJhTtbSIb7ZSfHntq+/tn970uuw1eP6V5aX7Vs298mVs8/vXtsxfxpZ890T+6HsphmjQSQRKUGXTu1f/gsooT9G+8Ol4GvnITEzPoZoBXrR1LzA8ycOrPj1A/bfOrr35MaV+RmpRCWvAu8Q6fCWXTGyT1pMxKXdf0P67kUzySJwX0i3A1AcKol7HrxhylBWdRW4PfTm5ZDrF24f27fs6FXZN6LQwav7kNmLFg/sWpCZBtH7Zw4fXvP2TOgL//x1ee/WlKiXq8b0rSgpOrBiftDFk+EPbm7/eTJ0H5wANoBDyPzgqOd3rxLhKmbZmnEDkl6/uL5/x9lt67KT4sDJ4OrmutzI7S+adzu0DjYQ6cJuD71z9Z8F08kid479S95reLSIxPjwkLUTB9dUMPcumfNUcKc+hTKB26EeeNqf3bzUyO1kK3C/iETC7eyaatLt8LSDgFs7aTAYQDztZA0n/loBZd/rdqLaxJehkAhdhvBvg7oVZn9odzHS7UQUnmrC7cfWL7178gA880SdkE4WAcG3emw/Ih1k+if6BEEQBGlBmh0zgz/o4U9nYgyMAP7ytnPvRn7TYdXW1LFY5FV45dez+QNgIJ6OrV8WMHcpMXySHhe5a9HMqWu2jf1tPUgE+Cvff/JseL3tWjiji39A/2nzIE9hVjq8vUAFyioqQ53wJoaXyrx/jsGlp9fP3zi0S9PQlIjePLTbrfcAR++en9K3krwcaNpz4MiBM35NeBl6YNWv8EYkxgNAlOSlpxB1Ak+unq0sK/EcOAKuVlcw9yyZ5d5/mEPXnmBYTWUlj8cdMmcxVYLGrq0B7UIUgReqW6/+UAOzpGjthEGTVmzSMDCuY7Njnj2BV++4ZRtoDMnwh7dWjvJTVNciGnp8+TSoh0bzpZy7+1m5uX+gF3Ws2vD7t8Cqn3ccFRUVBUFQVVbabdg4HpcH3fl3+TxwI9QPL+n1kwOmrd0up6wKPoS78/ZW1sCdqjW0cZi8ajMI6OHzfrd17/bi7tU6Nosc4hIRjFzSGAxoiCtwUT2LLXxiNPQdnKNjavm/DbuhEv/Jc5x8+kSHBKZGv4bu9508B+4dRE/9/cfQub+JCNR5fV0dUZbH49VUVYKQ8hw8ksvjwf0FSxSbP6+QW19flJ351/QR3YaOs+nsFRF0H2ojLkH9VHEJ0u3QOtFKcmT4uW0bSLe/uHNNRqFhvOfkplUSNDp5ry/u3Og1aKRtF29OfT1o0A1Th3UbNt6mk+d7LWlE4svnl/b8PWnVZqgw7P6NsHvX5ZQbNm0//tdyhpQM0Qr098zWtT5Dx1l38oRWctOS100a4jN8gpWbB7i9tqaKLik1dfW2w2sW61vY9BwztY7F9+3OBdPhWYWHMDs5fuvcidPW7oB/ceB20H+gwomaH104fm7HBj0LW4hyORz4BwV/L1m6vv88H9LtDV7lcuDmQkOsmpq7Jw508PAh6ryyb6t7vwA7T9+UqFdg9pgl64gxSIiCMp608u9P8QyCIAjSUnze2kxZJWXiQ+QHALmQHPlSz9xKWZN/Gp2csgq8s0FSGFp3kFVUUtLQ1DYxh/du0qsXA/73i5mDK78Mj5f4OqxOIOxE+Dt66zr79jV3chPhn5Syj8aQcurWm4ie+GtFuWBjRnjb3T66t++kWZpGpnRJ6ZjQJ5f2bO435Z3PT2xWbcLL5wE/LTHu4CgpLVNWkBf8ZmikIJMvuYg6RQSjHUVCQzg2nb3hza2mqw/KjEjRNbNUVFOH95y+pQ1bIHrMHN3sPX0NbexzUhLhhV37RsTIq6i69uxn4dwJXqvPbl3icnkuvn5EQ9cO7CjJzWnkLiV1TSX1j+zJCZ506c53CLjx3qmDhdmZ5CXrjp4d3LvpmFqIiookvnpB+rApMvIKRrb2FApF19zqiw+BkZSRNbF3ooqL65iaE2ZLycl37DXAyrULBGJCH4M3PlBcTUdfQ98QXvxmjq4fbkicRgflB8pGUU1DOB3q17OwAVdUlZcxiwvhPhLpVczy9NhIeMaIb7ileTkFb+5ddnKCkbU9ea8PrV7ELC4iwhJ0hrOvn01HDwVV9biwkLB7N0YuWCktpwDCNzki/OG5Y6DhhFuvZJZlxMcY2diDogW9DtK/JD+3oZXEeDMnN6IVkEQHV/7KFHx/B+gMKZfu/tYdPYivxgCFSjXu4CAtJ6+iratpaAyWw5218/C17dJVXc+wqrw0Jeo1CCkis7q+kbNPH6Lmi7s2QQfhLxOIgiTdv+KXijetNAX8DCo58slDUVEx0NzPbl0ZvXg18Z1Ux8TCqVsvos6j634jPpVWM8vTYiINrGyJb+t5acnpcZ89RI0gCIJ8JS2/awa8fjr7D3lx9zoxzwbeNB17D/isGjQMjDv2fjvf28C6g/BpLQSlBXmPzp/oP23uq4f8r3t5aUmZCbGNlJkwIEccu/UK/rSPVq49/bWMTD+cB/SQ4bsn6xEoqWt5DhxORrWNTF169P2URj8A+LBTn4HvvQTyBWTZV9b/NcgqKPkMH9/i1YJmAjd+YPodCEFo98GZI00vgeDISU0klRkAMuvuiQNEuFJIytAYkqC9pOUVRAQf+57fueY3YcaTK2cFRcJAmjRSZsKA+IYiT66e+2hf6FLSXQNGCw8/vwdR0Y59BgovCCXRNbV08ulNRk3tXYR3wPoAhA/XThgM/yRBSsY9Dx61YCVxCR5deICbFoG/OgIvnCRMTRB8OW0dOBxOWGiQlJRMq7WIIP9ZMtKSFGRpbW0F8iE+T5kxS4qKc7P1LW0/sB2imq7B8HnLdi6cyRT8Ia5nbg1vvq9Z0dkcdWz28zvXqYLJy/BHPwN3B0CaIT0+uvLNDh3KWroyzYz7VpQWk0qrKDvzowN7Px51rNrQ21fJQyd1zaxaoVFJSUlzc7OctJhWaAtBEAr809Y1aWsrkA/RrDITp9G4XE5tVRWxvE5E8HHwdeC9OycOrDh5Qzgnl8ut5U9nafj4wqmv53I4czb/S2yC8OTK2V2LZq279KgFjQZNVsdiKaprzPvnCPGFKPjqudvH/62uYDa3e1Mdm8Wqrn7vpe8aVnUVeINcW9cIHo/Hn+9VX9f0EkVcQlyCxveYlDRxp+rBR7W1DGkZ8gBpEngM6uvqyLWTwnAFM/PA7cSK16bA80BO72tB4BmDrnHfVy27tpYtNM0O8B4yuv/0n4lwTVVlU3dBfqjQ2NZx0f6zRMr5HX/mZaRC5uaeKCgC/vrabnx7aAwGeAn+edKEOsL/51BTTaxHFkZKTuGXnUeJocp6NptYOv2tMTAw2LJlSys0hCAI8l3Q7NrMflN+0jIy3bnwf2TKrSN7Y54/mbvtYKOc/EWCI/qkRUcQ0bTYyOUjehNbPHwjgq+du3vywLIjV2XebC7g4N1z0IxfFw/0bm61GgjEvUub/db5/bJr8cyQGxc+kGHzrLGgp5umd+w9oPvISStG9iGGNkX4K/5un9myZu2Fh6o6+o0y/7Ngeuity++tPzs54QNuFxHMzV812p9cEttSQIvQLrTe9NLlvVtAVzVXcOtPE6GnjRIv7dkMVU1f/w+Z0mP0FEvnzuC95uq5uOvvizs3fr7hrc3ElZvgFqdGv561cQ+ZePfEgaPrln644PO717bPxzMcEQRBWptmx8yk5RUcvXtK0Bl/ThtBpBjZOvQYOUnhzZK6PuP/9/LhHbgKf3kPmrXg7NZ1RLqarv6QWQuPrl/GEqynU9czHPvbWrLakJuXxCVofhNnzvp736PzJy7v4f+tLK+iBq8NcjHdR6mtqqypYCppvJ04T5eUklZQLMnL5tTXk4lg6k9bD9w7dejCzo06phY9x0y5cahhmw+vwaNeB94lu2bT2eu9024aEfnk4ZF1S4f+tPgT7fwUQm9dSY+PHjJ74ZcV7z1uelZiHHRETll11qZ9sor8+e/uA4aCGiN618U/gFwjSXD8zxUDpv9s5+Fj5uA6aOavh9csIdZgwp2CKLFuA3Dr3V9SRpaoxMmnd92740Nntq4jFj0oaWiNWrjq7LYN1RXlBlYd+k2dS2QYtWDli3s3oDjcheG//H7wj7cdzEtP3TRzzLil6xvN7v8UoP7wB7egWkkZudGL/iDlhb6FzejFq//9/Zc6NsvUwaWz36CUqFfEpQHTfg4TFCGiIEmNbR0aVVtVXs6pryP3PwOkZOUkGAxiUz0SQ2u74fOW7Vkyp76Obebo1rHPwIz4hm9wA2fMF24FnvBP2esY/gmIUSjWH1yc+5XIKalwOZx6NptcfwDYe/pqGZsR1vqOmEAcuqBrYQ3/VA+sXEDca01Dk74TZ307wxAEQZD38qF5ZsqaOh26eFeUNCxkM3fuJDxdDMLwFqRQKXQpafgfPbu2WsvITESwh7udl29ZYX5NFX/XTXgBWDh3Iop07N1f18xSTdcABB8oIWZJUalgaZuiupZtF28ij627N+vNFgmCIgOJLT0JfIaN1TGzgjcNf6f4dwEFMGT2IhlFpU59BhIiDyQj6A9mcVFZYZ6BtZ2YGEVEpEGZaRubcTn1nDef+Ww7d9XQNxLhL2BUBJFEKgYwtf/Un4jvWfae3eElB683ClW89/jpUAORB1qEdgnBauboKrwZhINXD3LPAsDdf4jw25EA2hLO0+B5De2BM+dLycoTtoHoIS+59erHEJoobWLnAp4HGaGoptnBvcGHWoamPA63ns3f06SDRzdJGRnQMSJ8tSEPAgJUBbE5KohvO0/+nWo4ncnEXFhMgFATfAzlX4KbBf0ivlfS6Az/KXPgHimqauSkJkpKy9h7+ZYX5leWl5o6uIJ2IYqDcKmprJCRVwCp59itd2VZCTgT0kG9+U+eBfdCgkZ/cy/MwZ/CH0OF3S4iWALiS2lYZAD18/dipdHgAYB2z7/Zc0tWUZnfl4I8NqvWupNnWmwUqcwMbexZtTU0ekNz0Bc5Zf7XOg19Y//Js+FR5N8p7x5Nv7fqmlmBmodAz9GTiRMm4AHo4OlTWpgPvrXp5JkcEU4qM/i7BQQu/c1OwuB2YhUk6BtQaeLiDd9PjTs4MaQbdir2GDC0IDNdQ99QXkU94KfFcm9mv2kamfpN+B+xHa6zT29hz3gOHK6ipUuExShivcdOa7T+w3f4eD0LG5GPoa5vBM8VW6CtwSHEYymroAT/Xvg+FHwLhu7DTfxoVQiCIEjLIgpvXyJ06tSpR0HPJs1syQGhtqWmqvLVozvkVKSK0uLspPhh85YJb+L1/VKcm72wn8e8f46R+0G0PoEXT946vGf1+fut1mLsi6cleW93Hol/8bST3yAQlKCWYp693ci3OCcL5MXgLx2JbI6S/NzY58FktCg7k1PHHjjzQxsFtzlRIUExIUFKGprdho4jUjbPHg96btDnm/06/Omj2+f27dtHpTb7F11MTMz8+fP37t2rqfmRvWAQBEGQ99Lyu2a0H6rKy67t31H/ZosvIxuHyas3t61JLQiFKq5lZNb0uKfWREpGnhgJazVe3L4aHRJERmf9vY/Y36QwK/3KnrezyJ27+7W4LAMKMtKEW3Ht1a+dyzIg5NoFM0dX9/5DyRRlDa0PbEeCIAiCtC0/8pgZgiAtCI6ZIQiCtALNrs1EEARBEARBWhlUZgiCIAiCIO0FVGYIgiAIgiDthWbni2QmxvF4XF1TS+HEkoK8/PQUc6eOHzidqbK8NDnylYWTmwSdkZ2SWMeq1W9+GX9GQizUpGPyduV/dkpCHYutb2H9mR15D6ya6tgXT006OEnJyhVkZZQXF0AY0pNeh8kqKqvq6H19E++ljsWCdg2sbGXk39mhLSXqlaSM7HvPRiQh3c6pr4978VTbxLy5ydrs2lrIYGhtRxz7KMLfbb8u9kWITvNFPou89JTqCiaxC0b8y1AlNU1lTe2KspLU6Ai4ueJv9rz4LLKS4wuz3rMnLY0hCQ9V07MHEARBEOS/RrPvwnsnD17Zu1V4p80qZvnz21cPrlzw4Rqzk+K3zZ3ILOGfGx104eS1/TuaywmVPzh9+MGZo2VFb1sJPH/i+sF/mivyWTBLio6sXkxsTx9+/+bpv1cT6We2rH1x73qLNPFeKpllO36ZGhX8qKaygkjhcbkl+bmn/v4j5PrFD5cFt9859q+I4CysPUvmJEeEvzcbu7YmMzH2yLrf4sNDawS7kYnwlWjNnsWzyH28vpLXgffAGCJ8fP3vEY/5W2NkJsTumDelsrzsy+p8fuvKgRXz4bd/+S+bZozZtXAmET23fT23vvGmbgiCIAjyH+RDu2Y8u3mZWVxEniR468iey3u3qjU5uueL2blwhqN3Ty6Xu3vxrAV7TrVUtSRKGtqrztyhSTY+HLB1AF01csFKn2HjRAQya8OUYdnJCRZOnVqk8rgXTw+vWbLw37N7lsxmFhd2HTKqRaoVxjtgDJfLadk6+0yY2WM0f+/WOjZrxfDeA2bMhwcAoqKiYpQ3p2gjCIIgyH+ZDykzTn0dcW4PAbxNGx3R8/jymXunDhHhcUvX65lbPb97/dy29azq6s1zxo9ZvIa4lJ+RumsR/5iXgTPm23TyJIuza6rFKBRRURHhVhpxdtv66JAgMwfXHqMn71w4c/SiVcSnz7SYyEOrFxF5fEdM6NRnoMDgesgDMqUoOzMvPdl3+ASIjv1tbfiDW/dPH64sK/1z2ojp6xrG8F4+unN5zxYKlQopcM0YugAAIABJREFUShpakBIT+gS6A9H9K+bnpia59ewHjVaWl0Il1czyHqMmu/Xq18i86GePH5w5On3ddkqTfQTYtTWcN8ciESeLc9/d6x98Ap4REWwfP2rBSggcXLXw+Z2r/H1MREVHzF9OZAOTwM8q2rpgGPkRmcPhgNMYUtL1bFZzx04Lu72sMD8rMW74L8uIS1f37wi7xz+Wni4pBdXKCnaff/34/tNrF6as3gz99RwwvCQ/Jyc5UeD2GVlJcVf+3Q4tkvvLH123NDnyZQd37/7TGk4KP7NlrbKWjrqe0enN/LHJSSs3aRmZhty8dOvIXkkZWWhFWl5Bgk6XEOzFD8+SqJgYjcGASyKCXXM3zhg14fc/NQ1NRASffc/v+Au8em7Hn6b2LhIMxpW9W6niEpCiqN6wF0NRTibYyeXwtaPgDNCJzT1CCIIgCPId8SFlBnrIsVuvw2t/GzD955AbF+HV6DlwBPl97eH540VZGZ39BhHRx5dPV1f00NAzBO2Vl57i1K0XcU4RvL9vH/uXyBYdEghvd7j0KZZxudyLOzeK02hQtrqy4vify+OePyHOEYp59hh0Fdl0dnJC4MWTHv2HgaZJi3l9eU+xiZ2TuVNHNqs28dVzKGJs65Aa/TozPtqlux9UKCI4rdLCpRPUwONyrx34x6P/UH1L28qyktdB9w6uWgCSwtCqA7O0GCQaaEfbTl4gvDITYurqWO7+AcJGKmtoOXh1F33fBKmeY6aUlxQ9vnIGtMW1/Tt6jpoMHiMulRbmQ9d0TS2JAxxrqipPblo1YPo8644emYmxPA7HtrMXkfPOiQOQB+yEvhxY+SvIoE88axJuU/C186TbwWOyb05/B1kGCpu4BMrmwq6N3QLGapuYVxQXvXx4G9ShoWUHZU2dpFcvslMSaJJSbj37F2SmGds4GFjZcbmc2ppqsFbb2BxqqCwvu7R7c7+p/KPic1KTXgXdgy4QNT84e4RdWysjrwhRUMxnt68HoUzsCtsU/p16+bz2zalcoIOTI8Pr6+uyEmNBpVk48+8UPA9X92/3GDBC38Ia7mbQpdMgnQmpyiwpunlkb8/Rkz/FMwiCIAjSnvnQnGstYzMTe+dHZ4+CuHkdeA+UmbXQiJeoiKi+la3P8PHELzkiLCsxDl7wTj69qeLiXfwDlLV0BNlEZBQUiTxF2ZmQTUSgRe6fPmJs56RtbKZtYmFk4/DgzNFaoeMy+fB4IAdVtfWhoJ1HNxGhNQcgX1KjXpFNs2trYkLenswDGQ1t7IRPKLd07QIqU0FNA5QljSFJWK9paAplvYbwjzYvyEp/0ykoLuraoy9cYkhJv3xwC/J7DBwO0drqytjQJ41cpKZr0Mlv4Hunrjt696qpZMaFBpcXFQZdPOXg3UNFW/edVnr1I+zXNbN8fOl0HYsFrtMxsQC3O/v6kX0x7uAEeWw6e907eRC0IySmRkdkJsR26RdAlZCAIpXlpbGhwY1aB3EcHRJE1N9ozUHY3esyCkrEpc59B7+4c60oN4u8Cn3p2GeAul7Dzv6S0jLeAaPllFRByBLHQIkKbr1D1+5QXFFdI/TWZaFHQkRVW4+oOT7sWU5KInQNwlAhSOGS/ByRZpCUkfUeOgbcCyI7PS4qNSbCY8Aw4kRL8ADoOf6dGjTi1aO7hYI7BUox4vH9rkNGE23BPXr18HZzlSMIgiDId8SXn87kOXB4cW523IsQIlpdUfHebIY29uQHL5KqstLjG5YN/XmpQKKIKmvqHP9rua27N3mIdSN0zayGzFpAfID7KF0Hj3Lw6vHhPC7d+7r3C2iaLquoPGbJGnEJGhHVMDQZPm/ZpzT6WcirqI1buh4EFrFQMTMxrrmcPsPGk+eUk0QGPwi7d3P4L7+nRr02tHa4fnBnaUEeKKfmKvEaNBLUYeKr5x81TFFdEwz7cB6QQUN//k1B6OB2EjsPn25Dx5JRkH2uPRt//30vckoqY5es/W2wj7S8QnUFMzL44eL954hLLt39u/gPaVoE5DiIP+IjMimsEQRBEOR758uVGaum+vHlM1f2bW2IVjc7V6w5jv+1gkKhiPBnTdVTxSW+2JLvDi6HU1tddXDVguzkeBHB9LjPPWQ9JerlX9NHEGF2ba3X4JEtb2X7piQvd9PM0eTEO0vXLm1rD4IgCIK0CF+uzE5uWkVnSK27FEhEt/w04XNrmL5uB7FdVlJE2L+/z/tiS747CjLT1k4aMnnVZuI7Y2zok1N///FZNZg7dZy6ZhsRPrNlTcub2O5R0dZduO80hdqwopOYPoggCIIg3zsf2dtT09B02vp/Tm5cZdvFu9GXqcqyUh6Pp6ypLUFnHN/we3566ic2mfQ67MRfK6au227p2gWKw8/azWPyH5uPrVva3F5cia9e7Fkyp6629r1X2y3dho5V1ze6f/rwnC375ZRVyfT6+vri3GwZeQXoewp/hcS+T6/z6r/ba6urhs1bRrgOfn6TZqlo6RzfsLy5Ilf2bQu6ePJrOtI6jFq0OjMxjllcFDBnMZn44PThm4d3N81MoVKVNBo8AI/NrSN7W9FSBEEQBPlWfGTMTFpO3rqjx9G1v3XuO1hdzyAl6iV5ya1X/7SYCBBtoqKiepY2yUKX6lisy3u3NrdWjllSlBgRNnHV35LSMg2tyCtYuXQ5snoxXCKzQbU9x07LSow9uTESXsOGNvbkTCkTO+fqCiY0TUTpklIWLp0/2tX8jLQL/2zsOXbqR3N+OhnxMZFPHvYaO1VM8Fm2EdrG5gkvn+ekJAgvRxDhT6tSDpi7JOTm5afXL1IlJLRNLEoL8sirSRHhd04ceO/kKiA9LkpJXcvIxp5M0TGxiH8REv7gnSnwehbWbr36ES6SYDCI1RgE3sPG5qelkN7rNny8hoHxR3v6/M41OSVVhozMR3N+MeaOro/OHZOUkTXu4EgmqujqkffaY+BwbRMzCOiYWoJ/zm5dR+QBH+qYWry3TgRBEAT5vmh2zMzQ2s7Ihr+nA4VCdezWS0GwWYOypo6dpy+RwdG7p76lbXFedm11Vc/RUzwHjlDXN4J0GUVllx59ayqZbFYt6ANTexeyTlMHF11za6jK0bsX9d0NwCji4o4+vRVU1fUsbEB4QYqomJj3kNGySsrQhJSsnM+wcZQ3c9HANpfufSGd+IFoc/DqThSx9+qupKFNZKNLSYN8lFHgH5EE4sPM0bWkIJfL4Vi6dSH2zRIRLEW079oDtA6E4b8QJhdaQhErV3fSQn3LDsa2bxUDAbu2pqwon/duogSN7tLdT1ZwRJKaroFN565EuoVTR20Tc76LFJT8J80WEeGB8WBJzzFTnXz6gLwguqZtbMYsLhR2u4hg9WInv0GSsnLgT70mR1epCzYroVDF+UUEc/NBFHbpF0D4x7qjp4XzW+XqLlg2S1yqLC/1GTqO2D1YRVuXvwb2DWAqGEyEbTp7gXquqiiTU1Jx7tFX4s3RTKraerZvioB7dczenuVl28Wb3JRYXILm7NtHXlmNvCrs9g9j7eZp7twJTC0rKvAaNFJDny8iwWnwvJUW5BK90NA36th7wEerQhAEQZD2jyh/X1MBp06dehT0bNLMxR8u0GqAYblpyfVsFhEtLy469ffqyav+1jO3alvDvguqmGXFudlkNOz+TXDguN/WtqFJHyUvLfnmkT2g/v0mziRS1owfaO/Vo1eLDnMiX8zr8KePbp/bt28ftcm+yiQxMTHz58/fu3evpqZma9qGIAjyw/DlKwC+NTwud/OssdnJCURURVtv3cWHdCnptrXqe+HVo7v//DqdjPpPmdPOZRmw/ZepviMmeA4c0daGIAiCIEib0X6VmaiY2E/bD9WzG44eooiLSzDa5gTM7xE7T9+1lx6RUfIAgPbMzI17pOUVhVMmrtzEkP6GM9sQBEEQpL3RjpWZqKim/sdnpiPvRUpW7nP3SGtzGp1VAJAz1RAEQRDkP8JHds1AEARBEARBWg1UZgiCIAiCIO0FVGYIgiAIgiDtBVRmCIIgCIIg7QVUZgiCIAiCIO2F9rs2E0GQb0dcTMT504eJcJ9+AR2Ezup4L4EPbt6/fVlRDneuQRAE+ba8o8xKS4uCA283lxVBkB8DJpMZFREe8vguERUVEcnJTJOTl28uf3FR0Z2blxPiInr37t1aNiIIgvxHeavMVFRU1FQUk2JC29AaBEFagZCQkKKiosGDBxPRO3fuJCdEeHh4NM3J4XDCw8O5XG52dracnJypqamoqGjrGosgCPLf4q0y8xbQhqYgCNI6LF++PDIycvPmzUR0/PjxCgoKmzZtapqzpqamU6dOq1atCg0NjY2NXby4vZyriyAI8qOCKwAQBGkWGo12/fp1/JsNQRCk1cAVAAiCNIuYmJiGhkZbW4EgCPIfAsfMEARBEARB2guozBAEQRAEQdoL+DUTQf5zqKmpZWZmRkREEFEpKSnik2VdXV1CQoKurq6MjExJSUlxcbGJiUmbWoogCPKfA8fMEOQ/x/Tp03v37t3hDY6OjvPnz4d0UGNdu3YNDeVvnXPhwoWRI0e2taUIgiD/OXDMDEH+i/j4+ERGRhJhLS0tIqCkpPTo0SMdHR0IDxgwwMvLi8w/Y8YMFovV6mYiCIL850BlhiD/ReQENEqkUqkWFhZEWFEAeUlNTa31jEMQBPkPg8oMQZAWIDc3t66ujs1m83g8FouVmpoqJSWlqqra1nYhCIJ8Z6AyQxCkBUhPTy8pKaFQKKDM8vLyQKjp6+ujMkMQBPlcUJkhCNICsFisjIyMiooKLpf78uVLDoejqanZ1kYhCIJ8f+DaTARBWgAjIyNpaWlCkz179kxNTY1YSYAgCIJ8FqjMEARpAVRUVFRVVXk8nohgXzRNTU1lZeW2NgpBEOT7A5UZgiAtAI1G09DQMDY2FhMTMzMzA5UmISHR1kYhCIJ8f+A8M6T1iIqKSk5ObmsrkG9FUVFRVVUVj8eD/z59+jQ2NratLULaKd7e3jIyMm1tBYK0U1CZIa1HUFDQzVt3VNQ02toQ5BuiZ2haUl4VFBza1oYg7REWqzYvO6NDhw6ozBCkOVCZIa2KuZX90NHT29oKBEHahuystK3rF7W1FQjSrsF5ZgiCIAiCIO0FVGYIgiAIgiDtBVRmCIIgCIIg7QVUZgiCIAiCIO0FXAGAID8UebnZzPJS4RQVVXUFRf6mr1wuNz01SVlVTUZGrvUNy83JrGCWv2OYmoaCgtKHS5UUF9ZUV2np6EM4Iz2ltqa6UQZlFTVFJZUWtRRBEKQtQWWGID8OoL12b99w+fxxUVFRIoXH4/3064qRY6dBCpvN+nnG6Jk//9ate9/WN2zH5jU3rpwVNmz+kjUBIyaKiTU7cg+lLp479jrs2ZbdJyC6Ysns1+GhxDEDBFDbzLm/jZs8+1vbjyAI0mqgMkOQH4clv0x9+vhBr76Dx0+eQ6SsWjr38L/bmeVlPfsMXDB3Qm5OZpsYtuCnCaEhQf4Dh48a9z8i5fdFM/fv3lxeXjp1xq/Nldq2adXViyctreyI6Mq1O2pra25fv7hv10aGpNTGbYdwwAxBkB8PVGYI8uOQnZVeUVEuJ69gZGJOpMycu6S4uBAE2cZ1v6UmJ0LKsYO7eDyeurrWsUO7yIJdPH379AuoqGBu+XN5VWUFkaitoz9j7hIifOfGpft3rpL5Bw8f7+jcKSEu+sCezRCdNH1eTNTL4KD7OnoG/5uzGFJADsZGv7axcxoxZipEszLTKyuY8gpKpGGzf1lWWlKsLfhMyaqt3fzn8rLSYuKSmrrmnPnLt/614vaNSyXFRXGxketWLvhp/u9aOnpwVVlVDf5LERPT1TfS0NS+efXco/s31TW0oAhR/MHd67evXyBN7T94FJfLvXz+OJ0h+dP85eAcSAx/8fTM8f1knq4+fbr37t8SdwBBEORrQWWGID8a0ZEv/931N53OGBAw2sm1C6SASEpPTSKuKimryMrJ5+fn3L5xEaL+A4crq6iBXgFVd/70ERA6nt16amrpJsRFXb10SkpaZmDAmNCngclJcdq6+kQNl84dqxfA5dQTlTAYUqrqGlVVFVcvnqLRGJDCZrPy83JSzh6j0egDhowmCka8egGGSUpJDwwY7eLmQSRCtvOnD9+4cta1s6eunmFyUvy1y6elZeTEJSQkpaQgA53B0NDSFm3mo2difAzYYGxqSSqz1OQEwioCFqvWzMKGKk69de28vLziwKFjcrOzzp488DIspP/gkSICJVdcVCgqJurbs19L3gYEQZAvApUZgvw42Dm4FhUWRL56AT8QVaC3QIQZGptZWHUYMnzC5fP82Vo9/QaBKrp3+wpRBNItrfmfC58FPzq4dwsE+g0c6dLR4+LZY48f3d2z489u3f3S05INDE0cnDuBwoMMt65fvH/nqqa2rlsnT6KSlOR4L59eauqaTwLv7dq23sG548y5v/F4XNBhJ47s6T94lIOTW1lp8auwEPiBVQqKSpKSUkYmFlraunm5Wft2boRK+vgHeHTtcfPa+Uf3buzcuvbkxYfZWRkpSfH6+sZjJ85qrsv6hiYgvJjlZYEPbjk6d8pIT0lNSVBUUjEyMQ9/HszhcEBxdnL3dnZ1v3757OH9251cO78IfQLdNzW3nvETf0QwMyP1zo1L0jIyqMwQBGkP4K4ZCPLj8PPCVT36DNDQ1AFpUlVZ8fuimXP/N+ry+eOlbz4UfgrFRQU52RllZW+LTJw2t6O794O7136ZPW79qoX5edmNisyYuwREFRGWoNGWrvrbpoOjcIb5S9b69PAHwxQUlcvLSpf8MhUMu3bpVFlpCZmnpLgQ2i0tKfqsLvcdMGz0+P/l5mRChbm5WUf277h++YyVjf2yPzbTaHTIEDBi4uBh45sWrKtjQ3Pwq6luvN4TQRCkDcExMwT5oZg2a8Gk6fPCngfPnT6SSDn87w4QQP0Hj/rEGlYtnUuhUOrr64QTTx/b/++uTVpaugdP3Zw6dkBifPTnGjZj7m/TZi8MefLw1zkNOom/AqCslJzgBZqPSqXW19d/bs1fRlpK0lB//hdVFqu2dVpEEAT5FFCZIcgPBY1Gp9FE7B3d9h+/BtG/1iyJiXrFZrM/vYZZ85YS3zdFBNtSqKprbtu46vqVs7b2znN/XSErK0dpfp+LD0Cn80ewnN26EIatW7kgIS6KzWaRGabNXmDn4EpGtXUNvqCVT0dbV2/F2u1kVFZO/ps2hyAI8omgMkOQH4f9ezbnZmc6u7p3792/g70LpHzBprJGxuZQ9lX4s2uXTlOpVG0dg7S0pIL8HFs7J3NL2y8zbN/Ojfl5OW6dvbp170sYJi0t0yiPgaEpXIqODL949pgIf72n9idWbmXrMGn6z/t2btqz48/4mMhO7t5DRkwgr964clZKSlpVTbNRKQZDirDk/OnDsdGvTcyswIAv6x2CIEgLgsoMQX4cqBTqyxch6alJpaUNs7Xy8rJBf7i4uSsoKg8aOu7W9fNPAu+pqWs1Laumruk/YARkeHjvempKQsSr56HBgT39BomKinR29ynIy8nMSDl1bB/k/KxZawQUCjUs9ElWZlpRYT6RUliQZ+/U0dGls7Ky2oAho29dvxD08HZuTmZM1OvAB7d69B4gKirq1skrOzM9JyfzyoUTPfoMkpCQeG/lunqGPj38QZndu8Vf1uDbq19n92452RnEVTExSkpyQlREuLi4RI8+AzU0dWztnF06eqalJBDdEWzMK/bFohNBEKRlQWWGID8OYybO5PK4Tx7dvXvzMpGipKQyZMSE7r34c7nmL1lTXVWRmZ6SkhSvpaPn4NQREiUlpYic+oYmcxesKC8vSYyPgR+kePn0nrfoDwgMDBhNoYhdvXiKqFZLWw9+2tp6srLyRCUyMrL8tpRVISpBoxFT7zU1dSEKSgi03fgpc7hcTsiTh6RhKqrqw8dM8fb1g/Avi/6orGCmpSTCD6IeXbsvWLoOlFnfAcOoVOr504cfP7rTrYc/ocxUVNWgWgZDUkKC1tQD+gYmmlq6wik9+gxQVFQ+fni3a0ePn+b/DgrV0NiMTmfs3/03YYykpHQf/4D+Qz51Hh6CIMg3RVT4qBME+abs3LkzLato6OjpbW0I8uNQW1PNYrGSk+Imj/aXkpb5ffUW4uypnOyMof4e1dVVi5f/NWjo2LY2E2kgOytt6/pFe/fu1dfXb2tbEKSdgmNmCIJ8xxw/sufM8f31dfyVpH9uPdjBzqmtLUIQBPkqUJkhCPId4+3bx8zcmghb2zrQGZJEWFFJZcPWA1wOhzwPCkEQ5LsAlRmCIN8x+gYm8GuaTqczOnbu2vr2IAiCfCV4BgCCIAiCIEh7AZUZgiAIgiBIewGVGYIgCIIgSHsBlRmCIAiCIEh7AZUZgiAIgiBIewGVGYIgCIIgSHsBlRmCIAiCIEh7AfczQxCkZairq6uurqqurFBR06BSv9X/W+rr62tra6oqmZx6jhiFwmBISUpKijdz2Pn3DrO8rK6+TklJpTUbLSkuolApcnIKn1OkkEKlQhG4O4X5uVLS0gxJaXFx8W9nJIL8wOCYGYIgLUNOdsbJo3vHD+9dkJ/z7VopLiy4c+PSvFljRw/pPnvq8FPH9mZlpn275tqW08f3b97weys3um3TquOH93xWka0bV548shcCRQV5E0b6nT5xIC8n69tYhyA/PqjMEARpGRLioiJfPV+5YYfiNxvjKS4ufBJ0N+TJg+Gjpv61/cDk/80rLS66fP7Ej6oD6urYbBarlRuFJuvZ7M8rwmKBqRBQUFL+489dudmZGenJ38Y6BPnxwa+ZCIK0DFWVFZWVlXYOruLi/G+LD+9eT06ON7OwCQ1+xOPxIF1X36i4uCDkycOa6iqvbr0tre3k5BVYrNq83KzHD+/k5WZzuVxtHX0n187GppY3rpxV09AyNrEQFxfPSE+NjXnt7umbGB8N2Syt7d06e8orKFVWMNlsdmJcdOjTQP9BI6DRysqKiJeh4S9CRERFu3r3NDQ2Y0hK1dbWZqQl379zFa66uLlb2zqAdoR6/t21acqM+Sqq6lAwPjbqzs2LEJWQoF29dLq4MF9TSyc9PWX4qMllZaWgBeNjIylUqqKicicPH30DYykp6c/1T+CDWwX5uYOHjSOily+cYNAlfXv1g17s+ecvcwtrMC8rI11KSsq3V38dXQPiEy3opPTUZLBNgkZzcnU3Mjan0WjgqJqaanBaQnw0j8c1MrHo6tObTmeIiYmB20tKigYGjCFauXTumLS0bLcefZnlZXt2/GllY89klmVnpkvLyPr06KejZwDuhSZSkhOePr6fn5fTxcOnrLRYXV0LykIrcHeCHtxKiIvmifBMzKw8vXvSaHRohV8kKT748YOC/Bx3D9+y0hJNbV0oAt7rYO90cO+W0pLiFnmoEOQ/CI6ZIQjSYoiJicK7WVRUFMIx0a/uXL8YHxNJFaeWl5e+DAsB/QSaQExUrKS46O6ty0mJsZANXuqQLTcni682qquiI1/eu30V0mtqql6HhyYlxBQW5gc9ugVCBORdYkIMq7ami6ePkrIqhUIBYQeCDwRcaGgQYQBIt8hXYXk5mSVFBbduXCgt5euD/NyssNAnIM5AAz0LfpicFA+J5WUlF88erWCWEwVzczJvX7/Iqa+H8MsXT58E3YN2QYqBwnv88PbzZ4+hC9CtosI8UHiQWbjXt29cPHl0b6NfXGxkI+fERr9+FvyIjIY/fxr5+gUEamtrrl8+8yw4ENxSV8dOSU68cOZIZSWTyAYSJzr6JXS2sqIiITYqKyNNRDCW9iosNCUpDjxWW1OTmpIQ/jwYVBTh9tCQQLKVF6FPoiLDBf6svnrpFNwCqBCKgxMunTtaXVUJl7KzMmKiXhXm51Gp1IT4KFJUgep9Ff6stKwEbiibxcrKSI149bxOMJyWnZUORYoK8kDYxcdHEn4GICeVKl5dXcX+zFE3BEFIcMwMQZAWAGQBl8uRlJQSThQVE1NVU+/pNyMjPeX4od1JiTG9/Ab59R+anBi/Zvk8MwsbR+dOUDAnJ6u3/xCIMstLr186Hfjw9tSZv3bx8D19fP+r8FAdXYPUpIRZPy9TUFAC9cDh1OvpG5FNqKlrysrJZ6SlENGw58G1rBr/gcOlZeROHt1XV1cHiakpiTHRL3v0GaCrZ3zz2jnQDR/tjoyMLGg+c0tbkBqgKaEjvfsGWFrZ5eZkXL10pubdGp6HBKWlJDaqQVFJxdzC5tMdKCUt4+XTW0VF/Ung3T9XLwoYOVFBUVlEoFBBjI6eMCM3O+vG1bMxUeFGJmYg5m5dO+vo0tnFzUNMTCw0JOjqxVMWVh0YDMmPtSLr7eunpKwS9PD25g2/Dx01GdRtXEwECL6efQZa2TrcuHqOENZE0zeunB08bLzZwJEVFeUvw57dvHbezNyGRqfHRkeAnuvpN9DKxgHykEUIaDQ6aFwwm0ZnfLoHEAQhQGWGIEgLkJOVUVlZoWdgLJyoraPv07MflSpuZGzOZrOUlFQcXbpQKBRLa76G4PG4kAeE15IVG+vr6jhcjpy8ooqaJquWP/ajpqGlrav/LPhRSnK8vZObkooKVVycXcfmcbkUoYWfUBtIE05dPRHNykiFgkQrK9dtJxJLiguLi4q6ePqKiVGmz174Kd1RU9cCWQY1Q9jEzCoxIeZV+DMwwMLSdt6iVY1WHYL9X+64N3Tx8jUxtQSzDY3NOByOCI9HpGtp6/n28KdQqDp6BsWFBcSoXh2b/SrsWb/Bo9Q1tcGNuvqG2zY9JcbMPoyHd3cjE3NoxcDIlN+KCL+VnKx0ZnmJdQdHEFjevn2CHt4iMrNZrPDnwb38BoMQFBeXALUaHtowMpeTmVZRXmptKyjS3S/wwS3hVvQNjKuqKkC6QV++3jMI8l8DlRmCIC3AresXsjLTho2aLJwoRqHQaHQyCm9xQusIA/qAWVYS+ODv/FjIAAAgAElEQVR2empSdlY66DDQT8QlW3uX+Nio/Nxs314DxKl8MSQhQePwqadSxcnioNWob6QSm83m76bxbiv19fV1bBZZ7SdCjgP5Dxh2/crZu7euXL98Rkpa9pfFf9h0cJSWlv2s2j4KRYzS1DkA9FRSSoYI19Wx6+r5o4A8Hq+qqpLLl1YiAqeKgWDicXkfb4VCbdoKOI1VyyL6S6czqJSG9wI4tqKC+duv04iJg3V1dVweHwiz2Oxa1tsilHc3SfHrN/Tksb01tdXTZ32SDkYQRBhUZgiCtADOrl3gnR3y5IG1rQOZCC/ud3SAqGijz15AXm7W0YP/KCmpqGtqG5tbqmlokZOxsjPTKiuZomKir8NDOrn7iIuJaWnr5uVmg1yzsrFvyJOVVlpabGJmSUSpVL7y4HK5FMpbHQZh0DeQ+F7pI8Kf6s4RDCAJW/pWmSkoKfv26mdr71xUmB8d8fL86UMMhqSdgyuZ+c/Vi9PTGi9FHDhktHd3v+bcBWIRdM+7Lb7HOSKCWWhFhXkqqhr8TomLN0hSUVEJOl1U0B1CLPHTmxQHRdq4FZH3tCIOSEgQ/uHLL7KIqCiNzhg7cYaBoSmRAH5UUFASFJF4p8i73gsKvK2mruns4t5c9xEE+QC4AgBBkBbA1NxaSVk1OvLV5xZklpeFPHkIsqyDo4uKqjqx+YIgvTQxIUZZRc3e0fVJ0L3yshJOfb2FJf8z6L3bV3OzM0HcFBcVPH8alJOV4dbZiyilqqbB43FTk+Mz01MOH9hB7KwmKycvp6AQHxtRWJB77fJpYt49MdaUnZVRUcFMT0uJiWrW8of3biQnxWvp6Lt09LSwtktKiGu08NDS2s7Fzb3RT11Dq1E9IIlqaqqyMtJBBb4MC8nP+6Rd3/JysgIf3AKBVViQp6iopKahCYkg0ECMguvK4VdWAt00NbeSEKzl5LdSVZWVyW8l/EVIfn7uR5tQVdOUkZFNSuAvyHj9MrSwMJ9IB+1lYWlrbevk5NoF+ggqLTsjrZ7D/5yqpq4hIy2TTBQJf1ZUlC9cYXREuKKiipmF9ad0EEGQRuCYGYIgLYCMrBwog/Lyks8tSKczdPUMy8vKEuNiKpjlRYUFRHrEqxdsFsumg5Omli7ojPAXwS5ungZGpiA1Qp48uH/3mqysfHU1CJ1UZVX1DvYNI1jWNg6x0a9vX7/IkJJMTojz7NoTErW19Q2NzO7cuKSgpAz5ZWTkIFFKUtrJ1f3p4/u52RlcHg/+25yF+XnZoIoy0pLoDMnMtFQ9faNG++P36RfwKT0FbZecGHf5/HE9A6OCglyQnp9SCgQWCMHAh7dLS4pAv5qa8eUOjUb37tYnOyutpLiQy+UwmeW+PfsxJPnT/7V1DNJSk6+cPwGtgPirYJZ9tAljM4uqqoqgh7fS05LycrMrKxqWhTLoDO8efXOy0sE5ZWUlhQX5YqKiHIEyA11YXV0Z+OhWGr9IVmVFhXCFFUymBI0Gj8SndBBBkEbgmBmCIC2DYL4ThT/xSzAVSVlFTVNLh7yqoalN7BxGoKNnKC/4LqaqpjFizNTE+Ohrl0+DXjEyNdc35C8jSEqINTW3trVz0tLW9e7uFxsdUVVZISsn7+Ta2b1rj9cvQ8+dOvT0yQMdfUPfXv1UVNWIau2dOoKSi4+Lin79st+gkcrKqpCoZ2Ds6NQpPS0lOPCeta2TuYUtJCopq0ya9nNOVsb1K2dBeZiYWxkamxLfB9U1tFTVNElTvbr1VlZWCw56cP70kZdhIf4DhkPOL/CPo3MnJ5cuYPPZUwdBHZpaWKuoaYgIZpIZm5hLvtkgjc5gmJhbikvQCB86d+zS0d375tVzMVGv9PSMTAXfbWl0RrcefTn1nMAHt4Ie3BEVFQUnSErya3By7eLg2DH48f0zJw+Au8CHhNuhFRNTC0K9AQyGJKgrYgKZkbGFmaVtbm7WhTNH5OWhiJWywJ+gRL19+Cc6gIse3L3O5dQPDBhDtGJkYmlqYZubLSiioGhmbqWiwm8Fbj2xRgFBkC9GlMf7+KRRBGkRdu7cmZZVNHT09LY2BPkm3Ll56faNi0tX/i0tI/O50+2RHwPQ5eVlpfPnjOs7YHj/QSObZsjOStu6ftHevXv19fVb3ToE+T7AMTMEQVoGHV1DdQ3tmZMDCgvyP54b+REpLiqY+78RpmZWpm/WZCAI8rngPDMEQVoGbV29vv2H2Tu64QSj/yxw68dNmqOlrUcc1oQgyBeAygxBkJZBWlrW1NwKfm1tCNJmMBiSXX37tLUVCPJ9g18zEQRBEARB2guozBAEQRAEQdoLqMwQBEEQBEHaC6jMEARBEARB2guozBAEQRAEQdoLqMwQBEEQBEHaC7hrBtKqVDBLkxOi29oKBEHahqLCvLY2AUHaO6jMkFYlKSE6Mz25ra1AEKRt4HI4bW0CgrR3UJkhrYqVrbP/oDFtbQWCIG1DXm7m/n/WtbUVCNKuQWWGtCoSEjQ5ecW2tgJBkLahspLZ1iYgSHsHVwAgCIIgCIK0F1CZIQiCIAiCtBdQmSEIgiAIgrQXcJ4Z0mZwOBwRHk84RVSMD4/LR4xCERUV/eLKeTwel8MhKoEAr1FDoqJw6Ysr/zIamQE9hf42MrWVTfoAcAvgRryTJCpKETiNU19P3KmvqZ+shOh+o6ut7w3iqSOjwk8IPKj86Nf19zMseZ9DGqz6arcjCNL+QWWGtBnH1i2NDH4onBLw02JnX7+k12HH/1o+b8cR6a9YK5ARH7178WyoRElD6/axffdOHRK+6jVoZJ8JM7648i/jws6NITcuktGJKzaaO3WEQE5q4pY5E8BUNV2DVjbpA7y4e+3MlrXCKbZduo5etBoC236e1MU/wMmn99fUv2fJbNsu3p37Dk6Pjdoxf6rwJTU9Q/DG11T+BcSEPj64aiEZ7dx3SP9pc4nw/uXzTO1cPAeNaB1LMhNiwcPvvTR07m9f6XYEQdo/qMyQNqMkP1fbxMK1hz+ZomdhC/9V1dH3mzCLxpD6msrZtbV5acmc+joIM0uLpWTle455+/rXMDD+msq/AFA5NIbkoJkLyJRnNy9XMcscvXvVs1g5KYl1bHYrm/RhqpnM+ro6kAJkiqK6JhHwHjpOQ8/wK+svysmC7kOAzaopzM4YMX+FrKIycYkhLfOVlX8uobevxL0IEb47eekp57ZvGDTzVwgX5+ZUGpS2mjGKahqkJSDlSwtye42dTkT1zK1bzQwEQdoKVGZIW6JtbObWq1+jRFZtdX5mKpfj8fjyGXV9Q2NbRxH+x6+6e6cOW3f00DQ0yU6OD719lcjs4N1Tz8yKLBt06XRRTqaehY3Mu+NtShqaTRuqqay4d/qwW0//7OQELpdr7+kL8uj+6UPVFUzCNmdfPyLn87vXQC4oa2g/vX4Bou79hipraqdEvXoddI8qIdEtYKykjCyRs7y48P7pw0TY1MHFytWdCMc8e9zZf4iwDYEXToDWUdGKuX/mCI/Hu3fyYLdhYyvLy0oL8mw7e907daiL/xBFNc3kyJcRj+8TRTr1GaSmq0+EuRzOvdOHKsv4igGEplvPhprDH9yiiotr6Bs/vnIGop39Bqvq6KXHRUG6mBjFe+gYmSYjkWH3b0rQ6DadvRqlS8srNHWaCF9UZcopqyS+el6QlQ71E4mvH9/n1Nc7eHUHPQfGV1eUQ6KWkZlLdz+yYMLL0OiQILqUdLehY4UrpFCo9l6+Klq6jRoi3f4q8C44WZxGg0Bq9Gu4JOz2zIRYqNk7YAw4pKKkmHB7FbMcbiUYY+fhY2DVgawz+Oq5/Mw0CMgpqUARIjEnORHU4ZjFq8lst47sfX7nKqu25v6pQwWZaZFPRdT1DI1sHR6ePw7txoQ+kVFQtHTpXFleCo8ll1MPRYxsHGy7dCVriHzyMCkiTIT/2fqt2+FJgycBooEXTpYV5sOzDW6vra4Cy9k1NRCGFGG3ZyXGioqJkdGwezfyMlJtOnkSUXjaNQ2MKVRqWmwUPC2E2y1cOps7upFmvLh3HfwDAcLtcKOb3lAEQdoVqMyQdkdBRtqVfds69x2cm5ZclJtFpYrDOzsqJBDecwbWHeDdFvH4AfF6BsRpdDFRMR1TCzarNiYkCN7Q5UUFILma6o+m1FRVXt6zuZ4FUrBKSVMbVE7UU2glnFVdBVchypCWtXJzFxUVDb11hV1ba+nahWhXVkEZpElOaiJEKVRxBRV1606e8sqqxbnZkcGPSNvq69gSNIaJndN7Wze2c4KXPbzaoUciPF5WcnxVeVlcaHDYg5v1bDbIPmefPmmxkVFCFUrJysO7H0qB7ACJk/Q6DHoK6cySIikZOTBVjEKBN3F5USGoTKKUtJyCgqp6XnoKROEdr/BQ3aajl4KaurAloLQ+a4Ty3okDIP4kpWUTwkOlZRUs3dxTIsNjQ5+A0ITuRD8NSo4Iq23wYQmIJ8KH0COwGcyQoDPkldUqyko+2hDp9syEGC6XE/f8aezz4NzUJLgk7PaM+Gi4j7KKykmvwkCagNtrKirAAGgRxCI8P+AWPXNrUGlgQHx4aGlBLt+ZcvJQBGx77xAdyFlTR1eQXBkJMeDkkrycwuxMRQ2tc1vXS0rL5KWnGts6gIbm352oV2CbCH+YtobGkDRzdIVwQvgzUG/wJ4SIYHIY6XZIubhrk4yCEuhaeMCgd6yaaiiYEvGyjs2CnGCtvqVtcw55fueajKISqcwenT8OD4k4nX5t/w6GlDThdvgbQ1yCZmRjDxmgv3EvnhZkpkOYcDv8bQOa8tPvNYIgrQ8qM6QtqWKWFQgGMAAFNQ14owhfHTJ74ZG1S24f/7dbwNidC2asu/QIRMnZreuyUxJ/3t4wLrVr4UyQYiN/XQFiZefCmXM2/wsv8qfXLxxdt0y4KnhjkQ3B+5guJU1eun1i//B5S937DQXRcGHnxgV7ThKf7YKvnT+yZsm6y4FEtuhnQVKyckS7K0f5ZScn+gwbB9HqCubCfh7wmgcxBG/Bm4d3g51EkUu7N1/a/fcvO49BWF5VHfQWaQPQZ/z/4EUOASkZ2SWDfcYuWattbBYbGpyVGPfw7LFf95ykMRj7lv0MPiE7u25SQB2rts+EGSX5uSc3rVqw5xQxhAYv7AMrf4V2JSgMiMaHhYAeIkqtnTA4NSbCa9BIiMK7f6G/B11SyqV7X2Hn9Bg1+b13p57NIg0GUQh9FL7q5NNbgk7fvXg2tHtm6zqQCN1HTEx89WL34lmQoqrDN+zp9YuHVy9adylQlEK5eWSPgooamFFWmL9+yjDQ32RVPB6vOCeLWHBAk5SSU1IhLxFun7J6C4RvHdvn6N1z+Dz+nRV2O0RLC/OPbfgd7p2GgTG4fcf8aQZWHcCH0Nl/f593//SR8cvWg+Det/SniSs32Xn4QJH02EhwO9gGbpeUlaNLSgvfHeMOjvZe3SEwdfVWcDuIoZ5jpoAnQYRd3rtt0oqNdp4+4HZ4YPhup/PdfuPQ7nPb1y8+cB7Cd08dsnDuPHTuEgg3cntFafGJjSvn/XNE19Ty+sGd23+ZqmNq+evuEyCYiKd9yh9b3ns7AJBlYmJiZYV5MorKIBbBbJCV9fV1oK3P7dgA/VXW0D69Zc31AztmbdoH+Y+uX9Zn3PRRC1ZBuDgvBzw2b/sRc+eOzdWPIEh7AJUZ0pbcPXEQVAgRXnr0ikHzowWfhXN3P1kllY3TR5IpEY8fLOzXMNIwadXfnfoMJC9NXb3Fys1DRDCJZ8XJGzTBW7YpIG4C5iwmo/2mzfUdPv7TTZq2bvux9ctOb377veynbQdtO3dtmhOU5ey/94Ho+UBtWkYma87fl2jG1M5+g0cuWEFG/SbM6DV22qebSpKZEEc6rf+0n/2nzPmCSpoCwuv3Y1fXTx5KprBqqiFKrFR16eE/be028pKw28GHFMr7/5eloWe04tRN0iEWzp3mbNnfnH+a4h0wWk5Zhews0G3YOJD7TXNSqNR5O47omll+uEKQbmLNmKqsqQOmSsnIEVETO6d5/xwDFf4pdg6Zs/j20b3/Lp8/YflfK0f1hSfZytU98OJJXVOrJYcufHp/EQRpz6AyQ9oS934BXoNHEWENfaOmGXqOmfri7vVrB3b8dugiOQM9OiTw92E9iXB+Rqp7/2GNSlGp4o3m01g4dx4yZxERbrQEEt5nVHFxkTc7NWyeM76sMF+EP7ZRIjyGx69TSC2Ji0s0GuEj7SFtK8nPJadsg+DzmzDTvd9bOXL/9CFmcVEX/yGNagAziLE0gme3LqVEvSTC2SmJxJcsMTEKtL7jlylFOVkQrSx/Z346RZwq/JKmSkiI095j6kfRNDSe/Gb8hnS+MEa2jlNWb93282TPgSPIT2xsVu3/2zsLsCqW94+fAxwaDt3dLWCLhd2FrdjX1mu32I1io2IHJgZ2XsVWSgWlpbsOfZL/uzuwrgdE8PoT7vOfz8Pjszu7M/POO4PzZXZi99yJKMfiwnzwm1gsUGCy8gr03R/A2pnbfVU0tRnE5LbvvrXR3Q4+vHVs//uHxBRDoVDIyc0WS5O6FfMhnbNbV1876M0g5eC3XFjS9m06LD8eQIVEBb8+sX7JRK/tNVMAFQX6DF3nZ6ZvGDcQlQWaDdW0oET3Th9GsxIrRaK8jLRvpjKZRPGrt+SAqpSVr93UmkjLyEB0PpfLqKzklZdDI6xuut8Vn07AgR0Pzx9nECOgvIrSknpmhMFgGhGszDCNCfT3P5qGhYj7EPL+4W0+j2vRrDkVqGlg3Mnj23iYodVPBjAAJVXVujNikKIKOn67Nh2Q5Ir/GBoXHvzTlMVQYKvQbVPX1UcXN/32WDRrYdvKjXoE+qAgO/OnCeqbW7eljfBZOLkyyIWN1313Wrq0tm9L6KHEz58iXj1tqKk/RUZeoW6nFWRlvLhxMSb03aDpC5CuYpDT+Vv1Gqispo5u5ZXYTImf7EwGysbEzrHmCgAxbvrtFQgEyL28ivKrBxLrWRA6jm7uhla21XdMVS3C7LCnD3LSUnqMmUy9lvApLC0u+qepySoqwh8GSB4BqlpVE/junPStKCtFpgoFgqsHdvyCqb8F25btLGiVqGPybxfVYjCY/zVYmWGaNHEfgksK8507dX/of9ytn4e8MvENSMvAuMswT/TCp5dPReTWGHRSYqPe3rvR0Lw4eTmvbgVsDQwCiRAT9j4m5O0vGKzIVqVsg969MKdqXCf0nwdySmy6MqsnBhY2VILBj+4KBcRk8+LC/KDrF7beCNIzswQFGf8h5BdM/ffkZ6WHPLnnNmBY3MdQkKRogFBSSqpdn0FonllGYjyYx6gECfQtVkVpyctbAWgafoMIffqgXd8h4A1QtC9uXBbbprieNOvQBc0zK8rPe33nWqWISCTpS0R8RBhdmdUTeUXlzkNGoRHKxC+fclKTUfiHoMfNOnYFU6FRvQy8UlkpqjOZBmBs51hUkPf69jW3gcNUtXVRIDSzR/4n2vX3oNYIU9i1cms/cDij2u0i0W+zBIPB/I/AygzTdIGuTkpapsPgUa7uPU5tXMHW0LRp0U7TwAh0yee3L9A7Yc8e6plaWDdvI8ViWbm2yklLhkdfP3/88v5VQ7OTU1S2dGmZ+JnoXyPfPIeuWoLZsP3WldU19cwtKduiQt7wuRWuXXoyyA4VukbqEYNc8UCNqIF2AQVTc9GcrqkFdO1UrNCn9x3dOpvaO8nKK1i3aJsS87kwJwtKGvfvlFlafAzIKZ0GblGWm5Gal5Hm1KHLmCXrAvZv//D8CUtaRk5RCXwIQgd9Zk2NjUqIDG/XbwgIM30zy4qyMihLeUlx8OM7xQU/X5sphomtI7e8FFKArMEV3IryBkWXkJKycG6Zn5mO/FmYmx386I6re09FFVV1fYO8zDR67UDixraO1G1W8ldiCe33KKmpG1rZRYe8kSS/2EItgGZq2b0vXBvZ2PO5XEgQRGTwk7tote9vwaFNR5FAQCy8CAyiFiCXcAreP74NvyCgj5lMCX1zaxRu5uAMj1C5kNstnFuoVes5DAbTNMHKDNNoyCoo1jpnWZLFUlAmOphrB72d3Lp0HUnsfbXI9+z6Mf1ZMrKdhoxWZKvumVc1vDFh9da2fQbDBfRSCw+c2TlrXEzo2/YDhk1et9NnzgSmBDGbR0ZWXkZesWZGTAkJBWVVas6QoaXNvD0n1o8dAJ30oOnzh81dfvfUoSpT5RWlaXO0QcOxquexMZlMeWUVNJvKsV0nVS2dDZ5Ve+f2GjeN2ql1wqqt57atocwG5uzyc2hLrDyQkJSCDtV/x1oFZTZLVlaOtm6078SZTy6foWLN9Tlq34bYIE3XxHyZ38V1Y/tnJX2Fd0Yu8grYt51BHmcE8elbYIBUYn2bckeaypIW88PD8ycUlJSpeXgIKRnwmfgATFWaSmwQYaFP7oMoBI9BiOfyjRd2bXx88RRcLNh/ev3Y/kiZNe/ae/qW/SjWwGnz75/1g7KoaGp7nb3pu3QWMkwSiq+ixqzt0CExt49ftQW8BCmYO7kuOXweio/cLiUtTR8rkiZ8+G0jDJnqSV3g2L93H9s7f8pFH2IdhoGlzerTVQOrHQYMV1JRp9eO+zBPKAvlw7f3b0Jb6jpinAJbTUKiaoqYTfM2oHKgWfJ5XAaxAe+4sUvXo0egVi/v2QIJGts4LD92BRyC3A7/QhVQQ4jgAfqeHdJy8mgMj1YWOfo64h9hYGFNuX3A1L+hSaDwvzb4HF+3+JrvLrhGbldQZv80NQwG07gwK3/piwAG8wv4+vompuaO8Kza0Bz+mpeUYsnV6HignyvlcJTV1eFflowMmtoMDbUoPxe6MWkZWV5FBdo+nkFOY6KvaysuyCd2EZOVg8DiggJIBDr+8pJioVCo+P2mDwxys1ZiJzC2Kku6SqxUikRF+XkikRC6Q0lJyfLSUmU1ddBepZxCpqSkfHUnWlyQx5KRQxO3IQqH2E6sSqsJBPzi/Dz0GlhO73dLizg82jAP6Es0TV7A50OCDGJnCjbYKeTzFVVUqdcqykrRpmX0KJRDoAiQC2hZeEdZTYMwtYhDiMVqpUKsYxDzoYKS2MJPsSgIbnkZt7ycmi5GBxIB8VdZKYKaooZtyoqLIH0oAoQX5eWhLb7AJ3S3V5SWlJeWgAgDU0s5BfAUDIP6Ki4sgBDJGieZirmdzIUDVkF5ldiqlNu5FeVcqCn1qiMEIAu6D8UdUpgvII9bAEVOnTrAIBcuQHbUrYycvFgUcBqUGmqKMLVazQsFAvBGzSjIIeBDeFNJVZ1yOzTd8tKqmkKVy+dyqbFSyodUImTTFUC9093y8cUT+pgZaPdnAefWnr+D3A5Nl/47BYWCojHIv0Mg30Y/djMtNXHvtuV+fn4mJiaNawkG02TBygzz5xBTZhgMpqG8vR/46eXTdv2GWLm0RisPkDJbd+FeY5tWL7Ayw2B+Cv6aicFgMP8ZNPUMHd0627VqT4VYOLn+aBM+DAbzXwQrMwwGg/nPYOboYkaevERhZG1vRDs6FoPB/Ndp5DkHGAwGg8FgMBgKrMwwGAwGg8FgmgpYmWEwGAwGg8E0FfA8M0wjIBDwz21b49bPg37mEvDQ/7i0nHynweLnYP4If+91zh272dW5sf7No/u0jUxa9egvFp74+dOjiyfHLllXx35RuRlp57Z50UOUVNTGLF33ozMZ/0ekxkUF7P92vI9ty3bUbvW3T/iqaeu27TPoT9pTBxmJ8VcPeo9dsp6toUkPP7djrWvnHmB5fRJBbh+zZK2GnuGP3uGWl0ETch/maWrvJPbo/cPbYMaAv+bWkcWX968enDtGDzFzcO4/ZU59zPuNhP7z4PmNi9Rtx8EjXTp1Z5BnXJ7dvqb9gGHoMK4/QHTI23tnjtT6aOjcZfpmln/GDAwGw8BjZphGoVIk+vj8cX5Wulh4QkR4clRE/dPR1DP80W6oFDFh79LjY2uGF+ZmhT99IOCLn+xEp7yk6N39QAVltp6pBfrRMjKpdU/U/x3xn8Le3b9JGQA/Rfm5Ty6fQU/jPgSnxUX9SXvqpqSwIOTRHW65+Jb3Ea+e5ZF7z9YHFksaiilV24HxFEKBIDzoIVRizUfpCbExoT85WQuMiQ5+Tffqn98ZP+TJva+R4XQbEj6Fhf5zHx6JREL4BSnIavABVr+MnKIiZUZ6fAxkTd3KyMj+PD4Gg/l94DEzTCPAZErYt+2Ul5kOnahe9Z/jn9++VFRR1Te3gms+lxv55rmAT+wIqqFnYGJXNS4S9yFEXklZVkEROg+7Nh3gZWpDUR634jMRhU9GMTSxc6TnmJ+ZDrIPLuxat695tiCQk5qcVC0KLZo1p87nBnqMmVxz7RvxciVDTVcvLizYrm0HGVm51NiozKQE9NS+TQe0x2xhTlZy9Ge4jQl7X8op0DQwMrZxACOhdHxuhYGFtY6JOZUmiDDUGUvLyUEUSUkpssjBn9++WHX62zGgQdcv3D99pLPHGCgvvM9kMsEtBpY2kKZN8zY5ackSklJG1nZ8HulDcldVdV0D+tgSuB1+0LVtq3YKxK70jKK83ITIcMg34VN4cUEecrtIKIREuOVlUE16NQZOOHk5iZEfyTPgq7bqVWSrOHXoEh36jiUrp0r6sLykGFKA6lAjj6Li5GbHVp8TD0ai4zVBZsE7cFvCKeSVl+maWpjaN5OuFgSFudlx36LYaxka021Abgdvo9MRapL45VNuWgqD3FoW3qGOnWBraosde4D48u6Vhr6BSCgqzMm0bt4GQmJC36HtZKHlQPuhfFhWXITcDn9pGNs6auobwmvwMjy1dGnFrt75FmQW4cOyMrhW0dK2cKoaJw5+dAdE/9hlG6isz2xZGfz4jrVr608vn1aUlcZ/DIUWTrX2qPevwF1QL+D22LD3KIqhlZ22kQmVAjgK3MUgD9iAwqL9bDMT44sK8k1sHcAMcDVyO2joqODXjOrWTl/gmXpAJZ8AACAASURBVJ2apK6jTzkn6v1rUaVIy4Bwu0DA//z6uZGtQ0lBPvzG6RiboaOfTB2c1XX0vvnw/Su0bS/8etq0aFtrvWAwmB+BlRmmEZBisSat2b577sSyIo7H7CUo0H/Hmu6jJ3UaMppbUZ4WG3V57xbo+SDcqb37gKl/Q1fBID5N7tXQNTCysX91+6ptK7dz27x6jpvacdBIkA7QQ1/aswVtl9+sQ9cBanPVqruKEk7Bxxf/3DiyG64nem23dGkpdvAAdKgh/9y7f8YP3XrMWeLSsbtCjTMD6Dy5dBqMb917UMC+bUvsL8D1y1tX3tyt0k+T13lDBwy9I8jB4+sWLz7kf/v4gbT4aFf3nqDzKkpLAvZvKy7I7zx0TOcho9kaWpWVlXkZaY8unIBeEKJDiKqWjraRqXRtwxWy8oqqOnqgBm4e25ccHZmWEKPIVu0zcca+BX/N2u4b8SZIRUNbx9g0LT7myt6tpUUciOLo1llZfR7yIYjF13euvQi8jFIbv2oLSAFQNpCU79JZiw/73z11CHQnuL3PhBl8Hu/qQW+I0n7g8K7Dx9EFK5DxNQ6emjdrTikzEFXTt+xfNrCTvKJS8669IQT09+6/J2668gi0S2lRYeTbF5f3bEEvQ3W3HzBMWU0D+vhjaxYOnDYvNz0VFIn7sLE+c8Zvuf4UtAJ08KAnoCAoCnjPrf9Qau/+wuzMmNC34HaQvCBZoIBS0t+dPQWK/FmAf3jQIwZ5TNPktd6gS+r+GH1h13oX954slvTXzx8tnVvmZabdO3Pka+QHeAQ1oq6rDz9SLOk3925Eh7wZPGPhhZ3rQWr3Hj+9WYcuoAIv7CSU1oj5q8DnILzgbwwQOtd8dyHNbeXaWkVDC4Qy0kxiKKqosaRlczPSLuzaUFKYH3TtvKq2roqGJqS5+PD5QL+9XYaPg5oCMXRp92YUpdvICR0GjlBW14D2AE3ogf8xJHyRneATlrTM+0d3wp89HLnQ6+LuzdyyUnB78y69UuOiz21fw6hHa7+4e5NbP49uoybCNa+8/OiaBRPX7IgOfgPtuceYKSiRAX/NbdG9r5KKmlDABzPI1k4cM2poaaumrQeWUKcmYDCYn4J/WzBNjrgPwYeXz119JhAdDfTy5pUDi6Z7nb2Jnj48f7xl934LD5yRoB3mA72R3+r5XmcC0RDaixuXDiyZQZ2K+ODc0VY9B2y98QyuN44f1HvctHb9POg5Bh7Zw6soRy8ABxZPL8zO6jd5dt12Qt9ckJO19vwd0E+7/55k5uiMUgCZtcFzQP+/5rbpNRBuC7Iz14zsDT2rhZPr04BzhGpRUobSgfa6emAHdJZTN+6GbtVn9nhQVxNWERIkJy0FUlhy+Lx5bdOMoFt17tgVig9OAFNBDHnMWgICAh7tXzx9/MrNIFVjw98fXDoTcmGrE/O9Xt26un/h1DXnbsP12W1euibmVGE3T/LoNnJih4HDGcS3yPyN4wbN33fSpkVbcDuYCv366rOBWgbGIAvObV87a4cv3RIrl1YrTlwVO+upDp5dPQ+qgsoaBAcIO1Rk4NTG5YNnLho8cyE19Ag8DfCPCnlNRfHfse66765xK6t0yckNy4bMXgxPQWeAtRsuPzSwsKbnCFqzVa8BIxeuZpDHNIFXQZqD6Kzbzqv7d3QbNWHqpj3wt8HmiUM8V2yetnkvhIN4XenRdcOlB+BzuI0kxiwzvc7dggZwevPK897rrJu3QaZCe+DkZvf0/AsM2zxxMFQEqDoGMbHsvveMsRsuP2DV9q22/+Q5lYxKEDFQEK/hPYbPW9GyR/+Qx3ey05JXDOmy8uRVMwcX0F4RL59SDrnoszHgwI6JXttA3W6fNmronKWT1+1kkKIZTF3rfxuNhEWHvj0IvxFniE/z4HbwlZlDVXOtZ2uvSfizR9C2USJHvRaCBIfcUWuf43PUnNx0DdrhujH9oLz4GHUMpv5gZYZpcpjaNQNxAMIFHT4jISGJToxGdBw8qu+kWWJHoUM3M2/PcRVNbfSnOVNSUkCL0mnI6L4TZ6GREgGfLxIKxXKEQJBT1FAKvCAUCKinBxbPQEdzghChf3tyde817O9lKNaI+SvlFJTQNSQl4PGoXFQ0tGZu9wUL4amEhASooikbfDR0DdDoDvpiyyBOC62QkJRCKUjLyPC5FSKRCK5b9xyooKziNaInla9zx25DZi1mkMddQxQpcFP1YZogO1w794CUIS6fywXFgBKUkJSAW/SOx+wlMsS5olWFFRIOqSqsAltl5vZDls4tSVMlNfUNp23eh4bumDRTKUAd0g8t/Slt+wwG46mswVFCwbd5fiBE2vYdIiZZ2vUd4tK5O22Uq1JAizJi/ipIE56ypKVBW1dWisRyhJYDPq+qeh4PWgU60JNBfuOjvAqNqtvICVSsvhNndhkxDkotKSk11+e4tqExSkFKWobMpepEO9Bh45ZvgtqBLCBrV/eeUC/oTZFAICS9CuG8igpWdUVAdfHJUyyBQdMXvL13g16zvcdPh+IwiCM45ZgSEpAd+hXQ0NWHejG0sofoZMrC73xI1gv4beYOXw09w+9MFVU5xNzRdYLXNpDpkAJEcXRzH/738ipTv2/tNZm8zhv+orh5dK9T+y6nN6+YtHanpXOL6OA39m07jl68tqrNQypkvUDikC/RJJEZUtI8bjk+AxCDaRBYmWEajW6jJkSHvH3of7xVj35X9m1zGzDMyrU1g5zNo21sdt57XUVpCYP8658eS01HT5c2NwtBRDEyObd9DbeMmHue/n0UdR19HROzuo358v6V36p56Do5KhLUCfUIzEMfRukzaRjEN0dNAwsbdK1nZvnu/s0Pzx8zyM6pIPvb3G0plrSZowv1/VRWURFUWq02PLl4KuLVUwY5N4sSoyqaWtAF0rVpUX7u1QPeQ2YtqpmCoaUNdbA3eO/cNi8kYTMS46l3wHshT+4F7N+ObtEcLISkFMvU3omahycjr1DroF3dgEQYsWAV1CzoNmV1zefXL05a640mmYHaLinMp/wcG/4eTeSqMqy2afiq2jrF0XlUlJiwd7a0pbi6ZhbwQt32vLhxKeFTGINUaaVF384sV1RRdR/mia6NbRzoUTQNjTX1jRikkAKH3D3pmxoXzSCPh6e/pshWMbb9FhFqCs2SFAM0yyWfTcirOWnJVDi0WJfOPZRoZ8anxH7hX6sAmSiWAgg7qAik0hjkWl2aD4OtXIi2Ct42sXV8cPYomi5ZWsSpFH3TQwrKbFO7bxMN2eoaBpY2tbqrJtDIQVzmpKVAi0r6EmFgYY3OXFdSVTOytqs1SuCRPWiwtjCnliUaGAymbrAywzQaDm07Qf8d+ea5Q7tOQdcurPG/jSRXbkbqu3s3GUxQBuSf3TLS/BqjNWLkpqe+vR/IlGBWRZGW5pXXNQxQE+iDUVygRfc+dPHUsnvfn55+E/L4bnLMZ5QCKDMm81fWb0JJUQrwb/fRk6Cnh2voC7OSv7oPHUu9hlYA1KrMvoPJlJarGhszsXNEk8yAsKcPEz9/pAr725eagifb9h706lYAUtif3z4ft2IT+vScEBH+6dVTKmuJesw9Svj0XZRfmK4EjYHyauehYzX1q3biUFRRo3u1VnjcipeBVzh5OSgFbnlZQ3NHEBVBpgB6yLa1m4QE4Y1PL5+CiqXbcGbLyqiQNzWVmRgQnXKIQ7uOls4tGOS478ubV/KzM9AjQsrXMpPtD0GMEZJmaBubGlrbysorNJopGMx/EKzMMI2Jpr4RdHvJ0ZHWzdtQ+4plfo2/eWzf1hvP4M/uzKSEJ5dOf3n/qu500r/G3jl+YGtgkJKqemZi/OOLp2LC3lFPs1OTUmOj6h4ksHJpNW5F1eyl5OjPaGVl/QEjrVu0GTpnKVpSF/bPgwZFR3QcNArtTMarqIj/FIqWTEaFvH7/4FarnuL7sf0U6A6HzV2O5uwX5mTlV2/B8Oyqv6GVLRSWW16e8Cn0w/Mnv2DqTzG0tBWJhMX5ucQhj9USAVR4dPCbJUcuMIj95D7m1mMfjYg3z2JC3y4+fB6uv0Z+zKGN8DHIiV+GljZ1bHsGtOk9qOuI8QxyBSh4FY3l1BOQYlf2bZ22mfiQBz4MeXLv3YOb9Y+OkJSUGjR9Afqroyg/NzslEanhV7evKiizbVo2eOminpkl1VahtaOv3gI+75rvTs9lG5p37Q2/U+HPHr26dbWhKf8IHRPzgqyMrJRE+D2lPp1zcnOgqdc6qtp7/DT4hWKQQ3cpMZ9rXciCwWB+BN7PDNOYdBw80qFtx0s+mxYf9tcjZ1UDkiyWvJJyaVFhcUHeo/MnHp0/+dN0pKRYckrsUg4R5eH5E6DM6E9f37kW6LcXHsEP6JWaG2UR06okJdEL8HPtoHfwo9sNKoisolKlqBLiJkVF7Jk3OS8jrUHRGcQHWbaAz0UGpCfEHFw8A02EZ8nISsvKUbbBj5DPh8JSEbkV5WhFKh1JKfAhG/pFFCXkn3tozSCD3E+BQXyYy0uLi9q3cBoIhYaaSgFqoKQwXyQSn93FICeNCQT86NA307fsR0NEDGJinCw4H5l00WfTx3qIQmkZOfAAinJh14aPL/6hPw08suflzQB4VF5aoqiiRmVEIaekDIIMRc9NTzm6ekHilwZsmMdkMhXYqiCUIXrY0wfnvdfXPy4C2hWkUF5chGz49PLpqU0r0bwuGXkFkGj0mmUyJWTlvg0vlZcW1xylA2+ANqKiUK2dMFWZzeMSpn588eTs1tU1Z939Mn3GT9c2NPnn8tnFh/wpaRsd8ubMllXIDPidlZYlBsmgRAoqatyyMhQeFx58eMXcEk7B77IEg/n/AB4zwzQ5LJo1n7f3xO7ZE0Cc9Zk402PO0jd3r9UdxdKl5dzdR3fOHFtWXNR38uwhs5e8p41t9Bg7Rd/MatmAjnA9a+eRmn/lD5w27/mNS+gFYOzyjc6dejTI5gle224fOwApaBubbQ0M2jxhcIOiQ382/8Bp/+1rLpB9v6q27qozN9C0tnb9PFQ0tCjbAOfOPaCw1O3jCydLCwsGTJtHTxDKuODA6b3zJpUUEp2iq3vP2buqdngfu2zD/TNHIEF1XYN1F+/umunZIFPpxIS+O7tl1YqT16hd5eqm05DRKpraqCyTN/iI7cFRK52HjlHRqory16Y9qlrfRQG3p8XFUG5XVlUXiz5j28Gr+7eh6CBJ5/gc0zdvwHb2oG5XnLx6Yu2iE+sWI7d7Tx9d/+gMcpIWOHnfvCl5GcQAoV2bDosOnUMzxobNXfbP5TP0moXW3nkY7ePm5lVQfWKzG+GPGcqHALT2Th5jGORykCVHLp7etBxqxMGtMzSnhjbChuLcqXuvcVORJcPnr0TDuqpauusu3ju8bHZKdCTcGts5rfG/XbNeMBhMHTDxqhnMH8PX1zcxNXeE5wx6ICc3OyMpwcqllQRtwhOfx4sJfyfk83VNLSQlJfMy0y2bEZNpEr98klNQorbWjAl/r6FnoKalS0bhxoS9Fwr4eqaWIHQKsjLQ0U9EFEUlGVm55JjPcAvpoC+VRQV5qXFRVs6tUDeZl5mGdmACTGwd0Y5ZFaUlkIWls/j+Z0BafDT85hiYf9ujISMxPictWVZeAd6HWNoGxtCDFuXnpiXEWrm0RNvG5makQnnNHV2ro8RBSY2sqqZRJ0VHcshtQqVlZAmHVG8LUsIpQNvkIlQ1dQytbKuiREVw8nLAWl0Tc8jU3MGFmr8v4PPAIWhBpaqWjqGlLZVCVvLXrJRE6Mshl/iPoeq6+mrausWF+SkxnwmHkItG87PSKbcDmckJ3LIysZnyxQV5KbFRUDop1ne7iFVFSUrgVpQbfz9FD9ye+Pkjg1hO6wKFhf9/DCyshUIBmKpvZlmr28GHUIkMYoGhS2FOFnK7UABR3umbW5UWcZDb0eczIDslqbSYQ014T42LRqdNQBWAgkdf1gqyM3PSU6xo6zwo4j6EgDKm66GEyA8lhfngdmhssR9DIBZkl5WcWF5aDE0FvQN+gIZKbcYL9aWkqo7mtIlEIjCVV1EO18rqmiY0H+akpUAboG6htWuSX2ZFQiF4AKJoG5rKyMtDfUGm1IxAcPtX0ocAtHawikoBHAXuYmtoaRuaQKaotWenJpdyCkztm6F3oJ0jt6NbSEpBiU3fvzc5+jNLRkZsnc2j8yde3gpYc+4Wur2wcwP8ykxa6x0bTux5C22YrrPjPoagzQgVlNlUa6/KPTVx77blfn5+JiYmNZ2PwWAYWJlh/iS1KjMMBtPEeXf/ZlJ0hL65dbu+Q1AIUmazdhxqaFJYmWEwPwV/zcRgMBhMXVSUl2kbmVGyDDCxd9IgNxbBYDC/HazMMBgMBlMXHQeNEAtB51tgMJj/BXhtJgaDwWAwGExTASszDAaDwWAwmKYCVmYYDAaDwWAwTQU8zwzTyKTFx7y9H4iuXd17mdg61P1+3QRdv6hnZmnR8NMea4WTl/v44knqVsfYtF1fD3Qd9uwRg1Hp0qn7b8no9xL3MYTakdWt/1BtQ5NfTkoo4D+6cMqxXSdqP4h/SWZSwqvb3/amN7Fzcu1ctXUchKvp6NnQTtL8n1KYm/3k0ulaH7l07kE/ZRKDwWD+JFiZYRoTkGWgIZLI3aoY5D5eEhISPzomuT4EXTvfslvf36LM8jLTPr18RtkGFOXlKiir2LfpKMVihT97UFnZFJXZ18iPEa+DKLMV2apO7d11jH9yoPuPEAoE988cUdPW/S3KLCMxnl7dALesVE5eAR1S/upWgKVzyz+mzHgV5ZQl6V/jyjiFFs5Vm7dZVl9gMBjMnwcrM0yjUZCT9ebu9eL8vPn7qg5TOr9z/Ysbl3qNnwZSgEFudiojp6CgTJxEVCkS5WakKqmqo9ORBXwedeqivDJbWVUdNAS8wKuoKMrP5eTlsNU1RSJRXkYqOgkHYlE7YRbmZktKSkrLyhVkZ8It5AXXZcVFEJHJZGroGUhKEXvPRoe8vXvSd2tgEASiiGHPHh5bs3DL9WecvFJ4H5QZqDdVLd3c9BRlNU0+t1woFKpoaBHhGakCPp9BnvukqqVDFbm0mAPlRdcQjo4b5/O4eRlpGroGJZyCirJSKgoEwiN5JWW0/yodPpcLWYOpYlu8QpSnAWehpJRLDy2bzS0v6zhoBJs0DJympKKKDmhCPlTX0UcnIcJryCEA+Bkd9ZOV/BUKUpiTVVJYoKiiWtPt6Do/M504a4jJRD5U1wXDWMWF+aWcQkkWC4qGfBj86M6Xdy/RuZmIxxdPXfTZ5HXuVl56KhgAUSAvBbYqOFBdV7+0iAM1pYQqNz0Fbb4op6hEP/uyuCAPXkPXkC+L3CYX3Ah+VtczKMjOAF/JKyorq2uIhEJoIfCvooqaIltFy8CY8tJ1313xEWHULbQfKAjl9vysDBlZOQlJSag+cBd4QCjgK7BVlFTUKDM4uTnlpcQZWUwJCaIJSeL/WjEYzC+C55lhGo2zW1fDv2OWfTuLcNjcZSqaWke9FqBbv9ULXt68jK75PN6O6aMj3zxHtzmpySs9ui4b2Al+7pw4yCB76A2eAxI+hQX67b16YAcRhVuxfeoo9I7/jnVULpd8Nt05eQiEF3qUEPEBAt/eD4TrNSN7U+qkDg4vn/PmzvW3d28cWjanorRk65Th0SGv750+Qp1N6TNnIkr81Mbl9IgQC4XDDxiAAjO+xi0f7J6VkghGQvjpzStR+MElM+A28MiemgakJcRA8cEJYuH7F00ztnHoP2UOFTJ5/U7QGZf3bmOQUsx7xpiI10HoESiMVUO7p8ZFodu4DyGUbcjtqbFRq4b1ALV3ZssqdDhjTbcjjqya9+pWwLsHtyB89fCeaM/9B2ePwq3P7PGVtR2sSQc02bapI768f3X/jB+o86zkBIiYmZgA/gSvMsgT2deO7ovyvX7Ihx4XXqDMhogoEJKCBCFZ36WziCiHiSignLZMGgq3QdfO120PtB9oRdTt8bWLgq5fDHlyb9/8v0Aj7prlCYk89D9Oj3Jl/zZkw8ZxA0sK8utOH4PBYOoA/2GHaTSE5KgSi3a+uBRLul0/D+fqT4RCPk8oEFY/rBTweCIhcQva4t7pw8v8LqHzi+D25MZlY5duWHjgzDGvBbat3LqPmZwS8+X4ukVjlqxVIsd1vkZ+2Dt/yuydhyUkJAUC/rOr/gXZGatP34BHd08fPrfdy8qlFdzyudxjaxYNnDbfpkUt39TgHchCVkFh/MrNl/duBZOGzSWEl4DHPb1pRYeBIwbPWJCZlHBg8XS4QONeYMbOWZ6zvQ/LyMkH+u0pzs9DmQIPzx8HzdRh4HAQLrzysr3zJ3cfNann2CnJ0Z9XDyemXvWdMHP0YiMQGcfWLpq81ptuia6J+YrjAeq6BmIWgvaCAtIH0sC9vTynioSCqhd4XJGoyqWVlZUgXtFA1MtbAR+CHlO2vXtw85rvzt7jpy8/dvnAouk9xk5x6z+0pttPbVo+fuUWlO/No3tbdOtL+JDHO7F+aUlhvkunHnBLiqo+M7YdFDvtB9GiWx/r5m1kZOXm7PQ7tXGZoZVtnwkzebwKMGzfwqndRk5o3qVXdOjbawe95+46Ki1LHKwUFfLGb/X8vzYQYgsko5KKGjIbCnLRZxP40Km9O7gURCSIpH6TZo9a6PUl+DW4VFpWbqLXdgVldvDjO1f2bRs6Z2mtzZJseHzqaCyydHxwIPgtOTpyvWd/+PuBraEVHvTYf8fa0YvXwguHls8xtnVAZoBShwYwfP5KC6fmP0ofg8Fg6gArM0zTQkVT+6cHXZdyCkAAmTo4oyMvWTKy+VkZcG1q30xWUUlDz1DLwDg2PDjpS4SemaUWOf89OzU5NfYLo/ooMmMb+7Z9hqCjzQuyMrSNTFv16A+35aUl6QmxZcXE1zFzR1f34eOOrp5P5WtoZddr3FS40LewZmtoghSAC3Q+oFOHri7uPSAd6LwTPoVpG5uicypBeyVHRYrIQSOQIEwmkzpPPWD/dlAt6BrCW/ca6NjeXdvQBAJzUpOGzF5i29qNra4Z9zEkIyFWzAOg82qey/4j6Ocq/ghObnZhbhaVJhgsFPBl5RXMHJxZMjI6xmZq2rqxYe/obo8Kfp3xNZ5KAWRrq56EDyvKSjO+xjl37OrapaeJrWNqXHRCRDhIT3inWYcuTAkJv1XfDl+3adkWFC1RI7YO8spsNR19cF0K1BSD0bpnf6cOXdR19ZNjPkOlEC+QR4KCyE6vdggkCCIJneYJ1ZGdnFjCKUCPQEB3HDLKrnV7qKmEiLCyIk6PMVOsXFtBoUB35mWm1+GN9oNGfHn38tax/d1GTQzYt82xXSdHN/fELx+VVNW6DPO0btEW5N2HF0+ykr+i99Pio22at0HeK8rPhSKXlxTXq24wGAymBliZYf57aBubuXTu8dD/OJq9ZGLnBDqgQSkYWdtDp07dWrm0tG7eWjwXI5PWvfpnp3ylQkC7PA0459Z/KH2cD+HU3p1+2vfLwCtIX6aSIgNh7do6KSoSfZ5jEKdZJ9sy3KqeMZkgDalFlLIKSh0HjUQz6v4MIKFARFK22bRo29BZ8GKT9x3bdaZO+6YAt0tKSeVnplEhGYnxb+7eaNO7lg3lW3bvq2Nkiq5BMT86fxKNmUWHvqXecWrfBW6R2aDMigu/fUaUlVcEH1JH0bM1tToMHF7PskBBkj5/ev/wVieP0a9uX522ea+RtR2hzFTUOnuMqTVKxOtnIEkZ5BQ3LilDMRgM5tfAygzTtMjLSCsuyDexE+/U6UCXr6ii6rdqHvq4ycnLllVQqKkD/iWc3Oy89DTP5ZvoKwBOrFvcsnu/mspMjMi3zyldZenSQkKC+DSWnhD78cUT+KlKPy/39xr8IzITE4RCgb65VR3v2LVuL6eo5L9jLbrlVZSzZGTqjvIL5KanCHj8cSs2UyGPL566d/pwrcqMDq+iIjzoIag6dGtSvaVFUlTEh6DHseHvGaQyqygt+b0G15/EL59A2qJrMwdnBWWVxrIEg8H818HKDNNogBSAf8uKi9BXKqC8pPjN3eux4cHz9p6gvykU8IsK8pAOY5CLGWXlFJYdvYw00+3jBy54r1927PLvNS/y7Ysbh3y2Bgb9Qtypm/agr5lgakVZqbQsoeRAgjAlJFeevFYpEpVwCvctmPJ7DQYUlNgCAR8Eimz1WFFpEefxpVMCPg9NCKMAw0oKCxjV33e55eVahiZgG7o9s2Xl7RMHpm6sZfHBv+H1netiazPrCVtdY5HvOdROQDWC8Sj8ks8m6xZtwGyhQFDCKdjgOeB3mcqSkZWWkwcXKSizJavn7YHALcrPVWCr1Fx62W/S7M5DieE0kUhUyilAbRuDwWB+Abw2E9NojF1KrMo8u82LCrm8d2thTtaU9bvE3kyJiVpNLhJEt59ePt05y5Oa1d6UIRYJ/jUCdA89kFgkOHkotTbzNzLL+1BSVMTNo/uokGNrFrLVNYfNWSb2ZsSrZ94zx6CtPYAXgZeoJbFNnDf3bhxaNlssMDMxnlyb+bXWKL+AWz+PbiMneM8YO3vnESuXligwLT52xZBalsTSKS0q3DRhMPx18bsswWAw/9/AY2aYRkOBrdJ+4PAPQY+2TBqKQpp17Orcqbuiiiq6HbnI6929m/BURVPrr40+x9YsQuHmji49xkzeMW1MZSUxs97M0XnEglVUsg/9jwmFgs4eY+b4HD3vvR7N0Nc1tZiywYcp0YA/RexauVVWVm6dPIwK0TI0nrndl/pMGfbP/TPSMh6zl9BjaRoYLz166cYhn2Jy6wQtI5OxyzagDcN6ek4N/eceFIclLTNoxoKbtW2HUU8ykxJObVwOElZdV58erqSq3nPslNAn9ymXtu49wNHNXZ7cE05SijV1895Xt64+vnBKx8R89KI1oNvQa07k3Hwqll2b9u7DPKlkr+7fwS0vc2zXCQrrPZ3u4hpoigAAAw9JREFU9pUNMrtN74HySspULoCRjb3nio3U7bOAc4zKSteuveixzJ1cwYcHFk0X8HkMcq3AoBlVZg/7e/m7B7cgQSj4jG0HjnktbJA9dSAjLy+roFhSkAcpUx+vNfUNx6/ecmn35lJOoaVLyyGzFqPw8au2vLlzHZVLWlbWY85SA0ub32UJBoP5/wZWZpjGRNvQxMnNnRq5AQ2hZ2pBPTWzd64oLVFW12BraDVr33XYXGJXBQiHW0e3zoU52UgimNo3gx8UpduoifmZ6YaWtqAAHNvBO1lolZyuibmVSyv0Tru+HrLy8lQu3UdP0qne0IElLQ2aSd/CmkGuEnVy68zJzabe1DQwsmnRFl237N5P28hUVUsHVBcIBX2zqilZcgqKZL7ZJeRsdC0DY2pevL65lYDHA3kkJS0N7zAZDDUdQlepauuOXrKOrVG1eyp06gOnzaN2vrBu3gbKK+Y3OUUlp/ZdZGiloDCwsOHzeFLSVdHBvRp6huhaQkLC2rV1CadQ28hE29jMxrU1OEdNR48omp4hvEnN07Jt5QbpMEgxN2Dq36BuobC1uN3um9up2fpgOdhPSRMoF5ROldw6WFPfCKqYPkHe0MrO3LFqQSiI6ezUJNDQKhpaY5auV9Gs2qFXWVUduRQpMyNre5Dm6JGJnVNFeRlIeSVVNXgHJBGabgg1CPXIqnaClUtrxepNcRnk4UsVZd9N0ndo18mAbFp1Q1UuKDOLZs2pNR8WTs3BRciT0jKy4Em0hzAGg8H8Aky0mxEG8wfw9fVNTM0d4TmjsQ3BYH5CWnz0xxf/ZCZ/Hf73CnQKRdD1C/dPH9l09Uljm/bfJi01ce+25X5+fiYmJo1tCwbTRMFjZhgMBiNOUlRkWnwMfcqjIltV9zcd647BYDB1gJUZBoPBiNOu7xD4oYe4uveEn8ayB4PB/P8Br83EYDAYDAaDaSpgZYbBYDAYDAbTVMDKDIPBYDAYDKapgJUZBoPBYDAYTFMBKzMMBoPBYDCYpgJWZhgMBoPBYDBNBazMMBgMBoPBYJoK/wehUsDUG6ta0QAAAABJRU5ErkJggg==) + +## 6.1.2.1 ParameterTypeSet + +A ParameterTypeSet is an unordered collection of ParameterTypes.  ParameterTypes are the MetaData for Parameters; ParameterTypes are instantiated to create Parameters.  ParameterType is the description of something that can have a value (a Parameter).  Information contained in ParameterType includes the data type, description, alarm limits, engineering units and string conversion 'ToString' specifications.  Parameters may be of variable length.  Most Parameters are telemetered parameters (a.k.a measurands) and must also include information about how the Parameter value is encoded for transmission.  This information includes size in bits, byte order, data type, calibrations and parity checks.   All of the encoding information is in one of four different 'DataEncoding' elements.  XTCE supports four different types of encodings: + +IntegerDataEncoding: specifies the bit order, size in bits, the encoding (unsigned, signMagnitude, twosCompliment, onesCompliment, BCD, or packedBCD). The byte order in the case of multi byte integers can also be specified, along with error detection (CRC or Parity checks). + +FloatDataEncoding : specifies the bit order, size in bits, the encoding (IEEE754\_1985 or MILSTD\_1750A). The byte order in the case of multi byte floats can also be specified, along with error detection (CRC or Parity checks). + +StringEncoding: specifies the bit order, the encoding (UTF-8 or UTF-16), the size in bits or variable size determined by either a termination character, or a leading size parameter, along with error detection (CRC or Parity checks). + +BinaryDataEncoding : specifies the bit order, the size in bits, and two algorithms to convert to and from the endcode value, along with error detection (CRC and Parity checks). + +The DataEncodingType element that can be specified for a ParameterType defines the transmission characteristics of the associated Parameters, not how each Parameter is stored on the SpaceSystem or the ground. The ParameterType attributes, e.g., width, sizeInBits, provide hints on the precision required to store the data, but formats native to the ground system may be used and may be larger than the specified characteristics. + +Figure 4 presents the UML representation of the Parameter Type Set, and therefore all available data types. Encoding data types are children of these elements and not depicted in that figure. + +Figure 4: ParameterTypeSet UML Class Diagram + +![Image](data:image/png;base64,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) + +## 6.1.2.2 ParameterSet + +A ParameterSet is an unordered collection of Parameters and ParameterRefs.  Parameters are instantiations of ParameterTypes.  Parameters are normally a very simple name and reference to a ParameterType.  Parameters may also have alias names and may have properties unique to that instantiation.  At any point in time (instance) a Parameter has a value; a Parameter is not the value itself.  Parameter names follow the same naming rules as for SpaceSystems. + +8 + +The aliases have no restrictions.  The sub-element ParameterRef inside of ParameterSet refers to a previously defined Parameter definition in another ParameterSet. + +## 6.1.2.3 ContainerSet + +A ContainerSet is an unordered collection of SequenceContainers.  A SequenceContainer may represent a packet, frame, a subframe, or any other grouping/structure of data items. The simple form of a Sequence element is an ordered set of Parameter References or other Container References.  A SequenceContainer contains (in the EntryList) an ordered list of raw parameters, parameter segments, stream segments, other containers, or container segments. Figure 5 is the Container UML class diagram. + +## 6.1.2.3.1 BaseContainer + +SequenceContainers may inherit from other sequence containers by pointing to the parent container using the BaseContainer element.  The inheritance aspect of SequenceContainers is useful not only for minimizing the effort required to describe a family of SequenceContainers, but is also a powerful and expressive means of container identification - the process of distinguishing one container from others (e.g., minorFrame 20 is a type of minorFrame where the minor frame counter equals 20).  RestrictionCriteria in the BaseContainer element is used as a constraint to identify a SequenceContainer subtype from its BaseContainer.  In the example above, the RestrictionCriteria is minor frame counter equals 20.   RestrictionCriteria is a type of MatchCriteria.  SequenceContainer inheritance may be arbitrarily deep. + +Figure 5: Container UML Class Diagram + +![Image](data:image/png;base64,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) + +A SequenceContainer may represent a packet, a frame, a sub-frame or any other grouping/structure of data items.  The simple form of a Sequence element is an ordered set of Parameter References or other Container References. + +## 6.1.2.4 MessageSet + +A MessageSet is an unordered collection of Messages.  Messages are an alternative method of uniquely identifying containers within a Service.  A message provides a test in the form of MatchCriteria to match to a container.  A Match Criteria is a simple or complex comparison of elements in a container against preset values. A simple example might be: When minorframeID=21, the message is the 21st minorframe container.  The collection of messages to search through will be bound by a Service. A service is a set of messages and/or containers used to filter containers. This mechanism can be used to sort containers, for instance all containers with a field X equal to a supplied value will be given the name of a service. These containers will be found according to a generic container or a message (the message itself refers to a container). + +## 6.1.2.5 StreamSet + +A StreamSet is an unordered collection of Streams.  Spacecraft uplinks and spacecraft downlinks are digital streams of data and there are a number of processing functions that are done on the stream level.   The StreamSet in a SpaceSystem XTCE document can contain all of the information on how to assemble, disassemble and process spacecraft uplink and downlink streams for that SpaceSystem. There are three possible Streams types: VariableFrameStream for streams containing variable length streams, FixedFrameStream for streams containing  fixed length streams and a custom stream that can be used to define any other kind of stream needed (The name of a Custom Algorithms are given for processing these streams). + +Figure 6: StreamSet UML Class Diagram + +![Image](data:image/png;base64,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) + +10 + +## 6.1.2.6 AlgorithmSet + +An AlgorithmSet is an unordered collection of Algorithms.  In spacecraft ground systems, it is necessary to perform some specialized processing to process the telemetry, and preprocess commands.  There are a number of predefined algorithms and the algorithm section makes it possible to reference externally defined algorithms for arbitrarily sophisticated data processing. + +## 6.1.2.6.1 MathAlgorithm + +A Math Algorithm is a simple mathematical operation with two operands (each of which may be a fixed or a parameter instance value) and an operand. + +## 6.1.2.6.2 SimpleAlgorithm + +A simple algorithm only has an optional Algorithm Text (for pseudo code) and Set of names to external algorithms (which be really be Java class files, DLLs, scripts, etc.).  There is a set of external algorithms so one XTCE file can be used across multiple platforms. + +## 6.1.2.6.3 InputAlgorithm + +An InputAlgorithm is a type of SimpleAlgorithm that also has a set of inputs.  These inputs may be named Parameter Instances or constants. + +## 6.1.2.6.4 InputOutputAlgorithm + +An InputOutputAlgorithm is a type of InputAlgorithm that also has a set of outputs.  These outputs are named ParameterRefs. + +## 6.1.2.6.5 InputOutputTriggerAlgorithm + +An InputOutputTriggerAlgorithm is a type of InputOutputAlgorithm that also has a set of Triggers. Triggers are used to 'fire' the algorithm and may be either periodic, or event based (new parameter or container instance). + +Figure 7: AlgorithmSet UML Class Diagram + +![Image](data:image/png;base64,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) + +## 6.1.3 CommandMetaData + +The CommandMetaData element is very similar to TelemetryMetaData, but also contains information that is specific only to commanding. CommandMetaData has a ParameterTypeSet, a ParameterSet, a ContainerSet, a StreamSet, and an AlgorithmSet. CommandMetaData also has an ArgumentTypeSet and a MetaCommandSet. + +Parameters are scoped to the Space System basis, so elements defined in the telemetry part can be reused in the command part and vice versa. + +12 + +Figure 8: CommandMetaData UML Class Diagram + +![Image](data:image/png;base64,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) + +## 6.1.3.1 ArgumentTypeSet + +ArgumentTypes serve the same function for Arguments as ParameterTypes to Parameters and are closely related, both in terms of content and function: a telecommand argument must also have an ArgumentType defined in the command ArgumentTypeSet area. + +An ArgumentTypeSet is an unordered collection of ArgumentTypes.  ArgumentTypes (very similar to ParameterTypes) are the MetaData for Arguments; ArgumentTypes are instantiated to create Arguments.  ArgumentType contains the description of something that can have a value and is used as an operator supplied option to a Telecommand (Telecommand Argument).  Information contained in ArgumentType includes the argument's data type, description, valid range, engineering units and string conversion specifications and calibrations.  Most Arguments are sent via a data link and must also include information about how the value is encoded for transmission.  This information includes size in bits, byte order, data type, and parity checks.   All of the encoding information in ArgumentType is in one of four different DataEncoding elements.  XTCE supports four different types of DataEncodings: IntegerDataEncoding, FloatDataEncoding, StringEncoding and   BinaryDataEncoding.  Note that the data encoding element only speaks to how the Command argument is transmitted, not how it is handled on the SpaceSystem or ground. + +## 6.1.3.2 MetaCommandSet + +A MetaCommandSet contains an unordered collection of MetaCommands.  MetaCommands are descriptions of commands.  MetaCommands have a name, a BaseMetaCommand, an ArgumentList, a CommandContainer, a TransmissionConstraintList, a DefaultSignificance, a ContextSignificanceList, a ParametersToSuspendAlarmsOnList, an Interlock, Verifiers, and a ParameterToSetList. + +Figure 9: MetaCommandType UML Class Diagram + +![Image](data:image/png;base64,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BeUbD95CYPHc8eEh7wcN9pg8YxEbG1s3moTB/AtgEYzBYDCYP4jCgryammoajUdYRAwOaTy8XuduQwAE6+0bl/wf3tLSMViwdCPErFw8LTMjdZjHJJCwF84cERIW9dx5fN2K2RnpKUNGTKBycp47dUhAUHjLzuPsFMq504c+fngNuUpLiqEKCOzdsXbBso1JCXH3bvuqqGkuW70dItevmpvM2NcdUFJRX7F2JwofO7T93esgFOam8UBFYOGJwzvfvHpq1qO3ndPATWsWwEfL1+xQVtWAACSGLMRJjZ88tydj88vkpPj1K79tyenY333I8PFkMjs6WQpD33NyccNhWmrSojnj4HDhsk2a2voQCP349sDujURej7HT6urqLp0/ISYuCfagyIvexwIe3SbSbN5xVFxCuouuDAbzt4FFcCu8evbwc+TH7rYCg8G0QnV1VW1tbXdbgfnl3L99NfpTuLKqJkg9A2NzFJmakhga/JZK5SrIzwU5+OLpo/6Dhsd+/fTuzfOI0A8SkjINDQ2QKyHua3VVlZlFbx1dY99LpzeumT9z3sqEuBjIa2BkbmHVN/brZyitd59+kpKyr188hXgSQxxDmc8C7ts6DNDSMQwLeRf46C47mX32wjXepw5yUKgDXEciG0BPb1m/aPqc5UmJcZA3JyuzsDDf3nHQwT2bDuzeMGHqfDi8cPpIVkba5BmLIcvp43tPH99XVVUJevTk0d1R4SGz5q/i4eW7fcPnqs/phvr6oSMntmyByooKZFhJcRGKKS4qRDGIutpaU/NeGpp6t274gLCevWA1NNqNq+dBQDv1H5yfl3tw76ZdW1ZNnrlYVU3r114tDOa/CRbBzXFyciooKOhuKzAYTJtoqsoLCAh0txWYXwILC4v78HFXL52OCAuGPzl5peqqSoh3GzaWj+/bRS8rK71941J9fb25pTUcRkWENiuHi5umqW3Aw8MLgvWu35XRE2aieCjQspet98mDELaxdZKUliWyVFZW3LvlW15eZmza077fIFV1LQFBYSonF5jExydoYGRWWloS9vFtcVFBTXX1gzvXh4+agjJSOKhy8sr9XAYfP7zzxTN/O6dBGempwe9fqWvqDnSn6+aampqM9BROLlp6WvKzwAdQpoOzq4ioeHjIu5vXLrx/86JVEcwvIDR6wqzrV84+vHudj18A+n7+D29BIwwc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) + +## 6.1.3.2.1 BaseMetaCommand + +The MetaCommand is derived from this BaseMetaCommand.  Arguments of the BaseMetaCommand are inherited by this MetaCommand, and may be further specified in this MetaCommand. + +## 6.1.3.2.2 ArgumentList + +An ArgumentList is an ordered collection of Arguments.  Many telecommands have one or more options.  These are called arguments.  Arguments may be of any of the standard data types.  MetaCommand arguments are local to the + +14 + +MetaCommand.  In XTCE, command arguments are variable inputs to a command either supplied by an operator or automation software. + +## 6.1.3.2.3 CommandContainer + +A CommandContainer tells how to package this command and is very similar to a Telemetry SequenceContainer. CommandContainers, however, may also have arguments and fixed values in the sequence.  Each MetaCommand may have one CommandContainer.   CommandContainers may also be constructed using inheritance.  Just like SequenceContainers, the function of RestrictionCriteria is to constrain the values of one or more entries from the parent Container. + +## 6.1.3.2.4 TransmissionConstraintList + +TransmissionConstraintList is an ordered list of TransmissionConstraints.  A CommandTransmission constraint is used to check that the command can be run in the current operating mode and may block the transmission of the command if the constraint condition is true.  The TransmissionConstraint element uses the MatchCriteria Schema Type to determine if the Constraint is in effect or not.  The MatchCriteria allows one to set up comparisons between parameters and expected values, or define a customAlgorithm for the comparison. + +## 6.1.3.2.5 DefaultSignificance and ContextSignificanceList + +Some Command and Control Systems may require special user access confirmations before transmitting telecommands + +with certain levels.  The Significance includes the name of the SpaceSystem at risk, and a significance level. MetaCommands will also inherit any Significance defined in the Base MetaCommand.   Significance levels are: none, watch, warning, distress, critical and severe.  Additionally, it is possible to change or have different significance levels set as driven by the operating context of the SpaceSystem. + +## 6.1.3.2.6 ParametersToSuspendAlarmsSet + +Sometimes it is necessary to suspend alarms - particularly 'change' alarms for telecommands that will change the value of a Parameter.   Each Parameter in the list will have all its alarms suspended for the given suspension time starting after the given verifier occurs. + +The attributes for ParameterToSuspendAlarmsOn specify a time to suspend (suspenseTime), and the 'state' of the command which will cause the suspension to occur (verifierToTriggerOn). + +## 6.1.3.2.7 Interlock + +An Interlock is a type of Constraint, but not on instances of this MetaCommand; Interlocks apply instead to any telecommands that may follow instances of this MetaCommand.  An Interlock will block successive telecommands until this telecommand has reached a certain stage (through verifications).  Interlocks are scoped to a SpaceSystem basis. + +## 6.1.3.2.8 Verifiers + +A Verifier is a conditional check on the telemetry from a SpaceSystem that that provides positive indication on the processing state of a telecommand.  There are eight different verifiers each associated with difference states in command processing: TransferredToRange, TransferredFromRange, Received, Accepted, Queued, Execution, Complete, and Failed.  There may be multiple 'complete' verifiers. 'Complete' verifiers are added to the Base MetaCommand 'Complete' verifier list.  All others will override a verifier defined in a Base MetaCommand. + +## 6.1.3.2.9 ParameterToSetList + +The ParameterToSetList is an ordered collection of ParametersToSet.  A ParameterToSet is a Parameter whose value will be set after the telecommand has reached a certain state - as determined by the MetaCommand verifiers.  New Parameters to Set are appended to the Base Command list. + +## 6.1.4 ServiceSet + +ServiceSet is an unordered collection of Services.  A service is a logical grouping of containers and/or messages. + +Figure 10: ServiceType UML Class Diagram + +![Image](data:image/png;base64,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) + +Services allow one to logically group XTCE containers.  For example, your SpaceSystem may have a 'memory dump service' and all the XTCE containers associated with that 'service' may be grouped by listing them in a 'service'. + +The ServiceType allows one to specify Messages or Containers.  Note that these two are related but separate in this entity.  In XTCE Messages are constructed using aggregate techniques, whereas if Containers are specified here they should be the one's associated with inheritance. + +Services are optional and may not be useful for your SpaceSystem. + +## 6.2 Common Types + +There are a number of Common data types used throughout the schema. + +## 6.2.1 MatchCriteria + +Contains either a simple Comparison, a ComparisonList, an arbitrarily complex BooleanExpression or an escape to an externally defined algorithm. + +## 6.2.2 Polynomial + +This is simply a polynomial expression.  For example: 3 + 2x. + +## 6.2.3 Unit + +Unit is used to hold the unit(s) plus possibly the exponent and factor for each of the units. + +## 6.3 The Schema + +The W3C XML schema reference in Annex A is the normative specification.  Any XML document compliant with this specification must validate with the schema and any other rules noted in the 'appinfo' annotation.  Style notes used within the schema are provided in Annex B. + +16 + +## Annex A -The SpaceSystem Schema + +The normative schema for the XML Telemetric and Command Exchange specification is provided as a machine consumable file at https://www.omg.org/spec/XTCE/20250214/SpaceSystem.xsd, where the URL contains the year, month, and revision number of the schema file at adoption. Links to the specific schema corresponding to the specification version are also provided at https://www.omg.org/spec/XTCE. + +This page intentionally left blank. + +## Annex B - Schema Style Notes + +A number of conventions were developed and adopted during the authorship of the XTCE schema to make understanding it easier and its presentation more consistent. + +- Element and Type names begin with a capital letter. +- Type names end with the word "Type". +- Attribute names begin with a lowercase letter. +- Usually when the UML class diagram references classes, W3C Elements are used, and whenever the UML references simple types (strings, ints), W3C Attributes are used.  In general, attributes are preferred over elements because they're easier to deal with in SAX and DOM, but whenever the Element/Attribute may one day carry metadata, elements should be used.  One exception is enumerated classes, because enumerations may be defined for attributes but not for elements. +- Names are biased towards self-describing names over short, bandwidth conserving ones. +- Names contain mixed case rather than underscores to combine multiple words (i.e., camelCase). +- A documentation annotation is included in every element and type definition.  Annotations for a type are included with the type definition; use of the type is annotated in the element definition. +- Hints on units (for values with units) are provided in the names of attributes and elements (e.g., 'dataRateInBPS' is preferred over 'dataRate' and 'frameLengthInBits' is preferred over frameLength'). +- Major elements or any elements used multiple times are first defined with a complexType definition. +- All collections are put inside either a "List" element or a "Set" Element depending on whether the collection is ordered or unordered. +- Simplicity in the XML files is favored over simplicity in the Schema. +- Whenever an additional validity check must be performed that is not describable in the schema language, an appinfo annotation describes that validity check. + +This page intentionally left blank. + +## Annex C - Bibliography + +1) CCSDS Packet Telemetry , CCSDS 102.0-B-4 +2) CCSDS Telecommand , CCSDS 203.0-B-1 +3) Telemetry and Telecommand Packet Utilisation , Draft 5.3, 5 Apr 2001, ECSS-E-70-41 +4) SCOS-2000 Database Import ICD , Issue 5.0, 19 Jun 2001, S2K-MCS-ICD-0001-TOS-GCI +5) Telemetric and Command Data Specification , Space RFP-1, 20 Aug 2001, Space/01-04-01 +6) Packet Utilisation Standard , Issue 1, May 1994, ESA PSS-07-101 +7) CCSDS Time Code Formats , Issue 2, April 1990, CCSDS 301.0-B-2 +8) SCOS-2000 Synthetic Parameters Software User Manual , Issue 3.1, September 2001, S2K-MCS-SUM-0019TOS-GCI +9) Telemetry Attributes Transfer Standard (TMATS), IRIG-106 \ No newline at end of file diff --git a/GeneratedSchemaLibraries/XTCE/origins.md b/GeneratedSchemaLibraries/XTCE/origins.md new file mode 100644 index 00000000..e1d1bb06 --- /dev/null +++ b/GeneratedSchemaLibraries/XTCE/origins.md @@ -0,0 +1,80 @@ +From: https://www.omg.org/spec/XTCE + +USE OF SPECIFICATION – TERMS, CONDITIONS & NOTICES +The material in this document details an Object Management Group specification in accordance with the terms, +conditions and notices set forth below. This document does not represent a commitment to implement any +portion of this specification in any company's products. The information contained in this document is subject to +change without notice. +LICENSES +The companies listed above have granted to the Object Management Group, Inc. (OMG) a nonexclusive, +royalty-free, paid up, worldwide license to copy and distribute this document and to modify this document and +distribute copies of the modified version. Each of the copyright holders listed above has agreed that no person +shall be deemed to have infringed the copyright in the included material of any such copyright holder by reason +of having used the specification set forth herein or having conformed any computer software to the specification. +Subject to all of the terms and conditions below, the owners of the copyright in this specification hereby grant +you a fully-paid up, non-exclusive, nontransferable, perpetual, worldwide license (without the right to +sublicense), to use this specification to create and distribute software and special purpose specifications that are +based upon this specification, and to use, copy, and distribute this specification as provided under the Copyright +Act; provided that: (1) both the copyright notice identified above and this permission notice appear on any +copies of this specification; (2) the use of the specifications is for informational purposes and will not be copied +or posted on any network computer or broadcast in any media and will not be otherwise resold or transferred for +commercial purposes; and (3) no modifications are made to this specification. This limited permission +automatically terminates without notice if you breach any of these terms or conditions. Upon termination, you +will destroy immediately any copies of the specifications in your possession or control. +PATENTS +The attention of adopters is directed to the possibility that compliance with or adoption of OMG specifications +may require use of an invention covered by patent rights. OMG shall not be responsible for identifying patents +for which a license may be required by any OMG specification, or for conducting legal inquiries into the legal +validity or scope of those patents that are brought to its attention. OMG specifications are prospective and +advisory only. Prospective users are responsible for protecting themselves against liability for infringement of +patents. +GENERAL USE RESTRICTIONS +Any unauthorized use of this specification may violate copyright laws, trademark laws, and communications +regulations and statutes. This document contains information which is protected by copyright. All Rights +Reserved. No part of this work covered by copyright herein may be reproduced or used in any form or by any +XML Telemetric and Command Exchange, v1.3 ii +means--graphic, electronic, or mechanical, including photocopying, recording, taping, or information storage +and retrieval systems--without permission of the copyright owner. +DISCLAIMER OF WARRANTY +WHILE THIS PUBLICATION IS BELIEVED TO BE ACCURATE, IT IS PROVIDED "AS IS" AND MAY +CONTAIN ERRORS OR MISPRINTS. THE OBJECT MANAGEMENT GROUP AND THE COMPANIES +LISTED ABOVE MAKE NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO +THIS PUBLICATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF TITLE OR +OWNERSHIP, IMPLIED WARRANTY OF MERCHANTABILITY OR WARRANTY OF FITNESS FOR A +PARTICULAR PURPOSE OR USE. IN NO EVENT SHALL THE OBJECT MANAGEMENT GROUP OR +ANY OF THE COMPANIES LISTED ABOVE BE LIABLE FOR ERRORS CONTAINED HEREIN OR FOR +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, RELIANCE OR COVER DAMAGES, +INCLUDING LOSS OF PROFITS, REVENUE, DATA OR USE, INCURRED BY ANY USER OR ANY +THIRD PARTY IN CONNECTION WITH THE FURNISHING, PERFORMANCE, OR USE OF THIS +MATERIAL, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +The entire risk as to the quality and performance of software developed using this specification is borne by you. +This disclaimer of warranty constitutes an essential part of the license granted to you to use this specification. +RESTRICTED RIGHTS LEGEND +Use, duplication or disclosure by the U.S. Government is subject to the restrictions set forth in subparagraph +(c) (1) (ii) of The Rights in Technical Data and Computer Software Clause at DFARS 252.227-7013 or in +subparagraph (c)(1) and (2) of the Commercial Computer Software - Restricted Rights clauses at 48 C.F.R. +52.227-19 or as specified in 48 C.F.R. 227-7202-2 of the DoD F.A.R. Supplement and its successors, or as +specified in 48 C.F.R. 12.212 of the Federal Acquisition Regulations and its successors, as applicable. The +specification copyright owners are as indicated above and may be contacted through the Object Management +Group, 9C Medway Rd, PMB 274, Milford, MA 01757, U.S.A. +TRADEMARKS +CORBA®, CORBA logos®, FIBO®, Financial Industry Business Ontology®, FINANCIAL INSTRUMENT +GLOBAL IDENTIFIER®, IIOP®, IMM®, Model Driven Architecture®, MDA®, Object Management Group® +, +OMG®, OMG Logo®, SoaML®, SOAML®, SysML®, UAF®, Unified Modeling Language®, UML®, UML Cube +Logo®, VSIPL®, and XMI® are registered trademarks of the Object Management Group, Inc. +For a complete list of trademarks, see: http://www.omg.org/legal/tm_list.htm. All other products or company +names mentioned are used for identification purposes only, and may be trademarks of their respective owners. +COMPLIANCE +The copyright holders listed above acknowledge that the Object Management Group (acting itself or through its +designees) is and shall at all times be the sole entity that may authorize developers, suppliers and sellers of +computer software to use certification marks, trademarks or other special designations to indicate compliance +with these materials. +Software developed under the terms of this license may claim compliance or conformance with this +specification if and only if the software compliance is of a nature fully matching the applicable compliance +points as stated in the specification. Software developed only partially matching the applicable compliance +points may claim only that the software was based on this specification, but may not claim compliance or +conformance with this specification. In the event that testing suites are implemented or approved by Object +XML Telemetric and Command Exchange, v1.3 iii +Management Group, Inc., software developed using this specification may claim compliance or conformance +with the specification only if the software satisfactorily completes the testing suites. \ No newline at end of file diff --git a/GeneratedSchemaLibraries/create individual xsd libraries.ps1 b/GeneratedSchemaLibraries/create individual xsd libraries.ps1 new file mode 100644 index 00000000..a98d4c41 --- /dev/null +++ b/GeneratedSchemaLibraries/create individual xsd libraries.ps1 @@ -0,0 +1,148 @@ +<# +.SYNOPSIS + Creates individual generated schema library csprojs from template.csproj_ and registers them. + +.DESCRIPTION + PowerShell port of 'create individual xsd libraries.linq', cross-platform (PowerShell 7+). + + Walks the sub-directories of this script's folder. For each one that has no csproj + anywhere beneath it, it: + - copies template.csproj_ to /.csproj, filling in and + directives for every *.xsd* file directly in it, + - adds a ProjectReference to LinqToXsd.Schemas.csproj (next to the XSD reference), + - runs `dotnet sln add` against LinqToXsdCore.sln and LinqToXsd-TestingSuite.slnf. + +.PARAMETER Directories + Optional names of the sub-directories to process. When omitted, every sub-directory + is processed. + +.EXAMPLE + pwsh -File 'create individual xsd libraries.ps1' + +.EXAMPLE + pwsh -File 'create individual xsd libraries.ps1' -Directories XHTML, DublinCore +#> +[CmdletBinding()] +param( + [string[]]$Directories +) + +$ErrorActionPreference = 'Stop' + +$schemasRoot = $PSScriptRoot + +# With `pwsh -File`, a comma-separated list arrives as a single string, so split it apart. +$Directories = @($Directories | ForEach-Object { $_.Split(',') } | ForEach-Object { $_.Trim() } | Where-Object { $_ }) +$schemasCsProjPath = [System.IO.Path]::GetFullPath( + (Join-Path $schemasRoot '../LinqToXsd.Schemas/LinqToXsd.Schemas.csproj')) + +function Copy-AndFilloutTemplate([string]$TemplateDir, [string]$DestDir, [string]$Name) { + $templateCsProjPath = Join-Path $TemplateDir 'template.csproj_' + $destProjDir = Join-Path $DestDir $Name + $destCsprojPath = Join-Path $destProjDir "$Name.csproj" + + $xdoc = [xml](Get-Content -LiteralPath $templateCsProjPath -Raw) + $filesToEmbed = @(Get-ChildItem -LiteralPath $destProjDir -File -Filter '*.xsd*' | Sort-Object Name) + + $noneGroup = $xdoc.CreateElement('ItemGroup') + foreach ($file in $filesToEmbed) { + $element = $xdoc.CreateElement('None') + $element.SetAttribute('Remove', $file.Name) + [void]$noneGroup.AppendChild($element) + } + + $embeddedGroup = $xdoc.CreateElement('ItemGroup') + foreach ($file in $filesToEmbed) { + $element = $xdoc.CreateElement('EmbeddedResource') + $element.SetAttribute('Include', $file.Name) + [void]$embeddedGroup.AppendChild($element) + } + + $firstPropertyGroup = $xdoc.SelectSingleNode("//*[local-name()='PropertyGroup']") + if (-not $firstPropertyGroup) { + throw "No PropertyGroup found in '$templateCsProjPath'." + } + + # Insert in the same order the original script produced: embedded group first, then none group. + [void]$firstPropertyGroup.ParentNode.InsertAfter($noneGroup, $firstPropertyGroup) + [void]$firstPropertyGroup.ParentNode.InsertAfter($embeddedGroup, $firstPropertyGroup) + + Write-Host "Copying to... $destCsprojPath" + $xdoc.Save($destCsprojPath) +} + +function Add-ProjectToSln([string]$ProjectPath, [string]$SlnFileName = 'LinqToXsdCore.sln') { + # dotnet stores project paths relative to the solution's own location, so absolute + # paths here produce the same entries as the original script's working-directory- + # relative ones. Arguments are passed unquoted: PowerShell quotes them for the native + # call itself when needed. + $solutionFile = [System.IO.Path]::GetFullPath((Join-Path $schemasRoot "../$SlnFileName")) + $arguments = @('sln', $solutionFile, 'add', $ProjectPath) + Write-Host "dotnet $($arguments -join ' ')" + $output = & dotnet @arguments 2>&1 + $output | ForEach-Object { Write-Host $_ } + if ($LASTEXITCODE -ne 0) { + Write-Warning "dotnet exited with code $LASTEXITCODE" + } +} + +function Add-ProjectRefToSchemasProj([string]$CsProjLocation, [string]$ProjectRefStr) { + $xdoc = [xml](Get-Content -LiteralPath $CsProjLocation -Raw) + + # The ProjectReference to the XSD library is used as a pointer to the right ItemGroup. + $anchor = $null + foreach ($projectRef in $xdoc.SelectNodes("//*[local-name()='ProjectReference']")) { + if ($projectRef.GetAttribute('Include') -eq '..\GeneratedSchemaLibraries\XSD\XSD.csproj') { + $anchor = $projectRef + break + } + } + if (-not $anchor) { + throw "Could not find the XSD ProjectReference in '$CsProjLocation'." + } + $itemGroup = $anchor.ParentNode + + # Skip when a ProjectReference with the same Include already exists. + foreach ($projectRef in $xdoc.SelectNodes("//*[local-name()='ProjectReference']")) { + if ($projectRef.GetAttribute('Include') -eq $ProjectRefStr) { return } + } + + $newProjectRef = $xdoc.CreateElement('ProjectReference') + $newProjectRef.SetAttribute('Include', $ProjectRefStr) + [void]$itemGroup.AppendChild($newProjectRef) + + $xdoc.Save($CsProjLocation) + Write-Host "Was added to $CsProjLocation : $ProjectRefStr" +} + +$schemaDirs = @(Get-ChildItem -LiteralPath $schemasRoot -Directory) +if ($Directories) { + $schemaDirs = @($schemaDirs | Where-Object { $Directories -contains $_.Name }) +} + +$skipCount = 0 +foreach ($dir in $schemaDirs) { + $possibleCsprojs = @(Get-ChildItem -LiteralPath $dir.FullName -File -Filter '*.csproj' -Recurse) + if ($possibleCsprojs.Count -gt 0) { + $skipCount++ + continue + } + + Write-Host "Found $($dir.FullName)" + + $lastFolderName = $dir.Name + Copy-AndFilloutTemplate $schemasRoot $schemasRoot $lastFolderName + + # ProjectReference Include paths in the schemas csproj use backslashes, which MSBuild + # accepts on every platform, so keep them exactly as the original script wrote them. + $relativePath = "..\GeneratedSchemaLibraries\$lastFolderName\$lastFolderName.csproj" + Add-ProjectRefToSchemasProj $schemasCsProjPath $relativePath + + $projectPath = Join-Path (Join-Path $schemasRoot $lastFolderName) "$lastFolderName.csproj" + Add-ProjectToSln $projectPath + Add-ProjectToSln $projectPath 'LinqToXsd-TestingSuite.slnf' +} + +if ($skipCount -eq $schemaDirs.Count) { + Write-Host 'None processed' +} diff --git a/GeneratedSchemaLibraries/embed xsd files into csprojs.ps1 b/GeneratedSchemaLibraries/embed xsd files into csprojs.ps1 new file mode 100644 index 00000000..4b2c2eac --- /dev/null +++ b/GeneratedSchemaLibraries/embed xsd files into csprojs.ps1 @@ -0,0 +1,123 @@ +<# +.SYNOPSIS + Embeds None/EmbeddedResource directives into existing generated schema library csprojs. + +.DESCRIPTION + PowerShell port of 'embed xsd files into csprojs.linq', cross-platform (PowerShell 7+). + + Walks the sub-directories of this script's folder. For each one that contains a csproj, + it adds and directives for every + *.xsd, *.xsd.cs, *.xsd.config, *.xml, *.txt or *.md file under it (excluding obj\Debug), + inserting them right after the csproj's first PropertyGroup. + + Sub-directories whose csproj already contains both None and EmbeddedResource elements + are left untouched. + +.PARAMETER Directories + Optional names of the sub-directories to process. When omitted, every sub-directory + is processed. + +.EXAMPLE + pwsh -File 'embed xsd files into csprojs.ps1' + +.EXAMPLE + pwsh -File 'embed xsd files into csprojs.ps1' -Directories XHTML, DublinCore +#> +[CmdletBinding()] +param( + [string[]]$Directories +) + +$ErrorActionPreference = 'Stop' + +$schemasRoot = $PSScriptRoot + +# With `pwsh -File`, a comma-separated list arrives as a single string, so split it apart. +$Directories = @($Directories | ForEach-Object { $_.Split(',') } | ForEach-Object { $_.Trim() } | Where-Object { $_ }) + +# True when the csproj already contains at least one None and one EmbeddedResource element. +function Test-HasEmbeddedAndNoneElements([string]$CsprojPath) { + $xdoc = [xml](Get-Content -LiteralPath $CsprojPath -Raw) + $noneCount = $xdoc.SelectNodes("//*[local-name()='None']").Count + $embeddedCount = $xdoc.SelectNodes("//*[local-name()='EmbeddedResource']").Count + return $noneCount -gt 0 -and $embeddedCount -gt 0 +} + +# Path of FileFullPath relative to DirPath, using the platform's directory separator. +function Get-PathRelativeTo([string]$FileFullPath, [string]$DirPath) { + return [System.IO.Path]::GetRelativePath($DirPath, $FileFullPath) +} + +function Embed-DirectivesIntoCsproj([string]$DestDir, [string]$Name) { + $destProjDir = Join-Path $DestDir $Name + $csprojPath = Join-Path $destProjDir "$Name.csproj" + + $xdoc = [xml](Get-Content -LiteralPath $csprojPath -Raw) + + $dirFiles = @( + Get-ChildItem -LiteralPath $destProjDir -File -Recurse | + Where-Object { $_.FullName -notmatch '[\\/]obj[\\/]Debug[\\/]' } | + Where-Object { $_.Name -match '\.(xsd(\.cs|\.config)?|xml|txt|md)$' } | + Sort-Object FullName + ) + $filesToNoneRemove = @($dirFiles | Where-Object { -not $_.Name.EndsWith('.cs') }) + $filesToEmbed = $dirFiles + + # Same as the original: bail out when directives are already present. + if ($xdoc.SelectNodes("//*[local-name()='None']").Count -gt 0) { return } + if ($xdoc.SelectNodes("//*[local-name()='EmbeddedResource']").Count -gt 0) { return } + + $noneGroup = $xdoc.CreateElement('ItemGroup') + foreach ($file in $filesToNoneRemove) { + $element = $xdoc.CreateElement('None') + $element.SetAttribute('Remove', (Get-PathRelativeTo $file.FullName $destProjDir)) + [void]$noneGroup.AppendChild($element) + } + + $embeddedGroup = $xdoc.CreateElement('ItemGroup') + foreach ($file in $filesToEmbed) { + $element = $xdoc.CreateElement('EmbeddedResource') + $element.SetAttribute('Include', (Get-PathRelativeTo $file.FullName $destProjDir)) + [void]$embeddedGroup.AppendChild($element) + } + + $firstPropertyGroup = $xdoc.SelectSingleNode("//*[local-name()='PropertyGroup']") + if (-not $firstPropertyGroup) { + throw "No PropertyGroup found in '$csprojPath'." + } + + # Insert in the same order the original script produced: embedded group first, then none group. + [void]$firstPropertyGroup.ParentNode.InsertAfter($noneGroup, $firstPropertyGroup) + [void]$firstPropertyGroup.ParentNode.InsertAfter($embeddedGroup, $firstPropertyGroup) + + Write-Host "Saving... $csprojPath" + $xdoc.Save($csprojPath) +} + +$schemaDirs = @(Get-ChildItem -LiteralPath $schemasRoot -Directory) +if ($Directories) { + $schemaDirs = @($schemaDirs | Where-Object { $Directories -contains $_.Name }) +} + +$skipCount = 0 +foreach ($dir in $schemaDirs) { + $possibleCsprojs = @(Get-ChildItem -LiteralPath $dir.FullName -File -Filter '*.csproj' -Recurse) + if ($possibleCsprojs.Count -eq 0) { + $skipCount++ + continue + } + + $csproj = $possibleCsprojs[0] + if (Test-HasEmbeddedAndNoneElements $csproj.FullName) { + $skipCount++ + Write-Host "$($csproj.Name): has none/embedded directives in csproj already" + continue + } + + Write-Host "Found $($dir.FullName)" + Embed-DirectivesIntoCsproj $schemasRoot $dir.Name +} + +if ($skipCount -eq $schemaDirs.Count) { + Write-Host 'None processed' +} diff --git a/GeneratedSchemaLibraries/mzIdentML/origin.md b/GeneratedSchemaLibraries/mzIdentML/origin.md new file mode 100644 index 00000000..dfd32e87 --- /dev/null +++ b/GeneratedSchemaLibraries/mzIdentML/origin.md @@ -0,0 +1,10 @@ +Take from: https://www.psidev.info/mzidentml + +Copyright Notice: +Copyright (C) Proteomics Standards Initiative (2016). All Rights Reserved. + +This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the PSI or other organizations, except as needed for the purpose of developing Proteomics Recommendations in which case the procedures for copyrights defined in the PSI Document process must be followed, or as required to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked by the PSI or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" basis and THE PROTEOMICS STANDARDS INITIATIVE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE." diff --git a/GeneratedSchemaLibraries/mzML/CvMapping.xsd b/GeneratedSchemaLibraries/mzML/CvMapping.xsd new file mode 100644 index 00000000..c3b2fe04 --- /dev/null +++ b/GeneratedSchemaLibraries/mzML/CvMapping.xsd @@ -0,0 +1,157 @@ + + + + + + Document related to a given data exchange schema or model, it describes all the associations between the specific schema section and the appropriate CV terms. + + + + + + Comprehensive list of CVs that are required by a schema or model. + + + + + + Description of a CV or ontology resource. + + + + + + + + + Comprehensive list of associations between a model and CVs. + + + + + + Single mapping rule between a specific elements of the model and to controlled vocabularies listed on the CvTerm element. + + + + + + + + + Name of the PSI data exchange schema, e.g. mzData, GelML, MIF. + + + + + URI of the data exchange schema + + + + + Version number of the model supported by the CvMapping file. + + + + + + + + + + One or more terms from a CVsource that are allowed to be associated with the given element of the model. + + + + + + Element scope in the schema within which the non repeatable (isRepeatable = FALSE) condition applies. + + + + + + Boolean operator describing the combination logic of multiple CvTerm elements associated with the same CvMappingRule. + + + + + + + + + + + + The requirement level indicated, when the XML element exists in the instance data file, if the association with CV terms is optional (MAY), recommended (SHOULD) or mandatory (MUST). + + + + + + + + + + + + Name of this rule (can be used for reporting of errors) + + + + + Unique identifier of the rule in this mapping file. + + + + + + + + + Internal reference (e.g. namespace abbreviation) to a term source file as defined in a CvReference element. + + + + + CV term accession number as in the CV file. + + + + + + Boolean to set whether the check is done on the termName (TRUE) or on the termAccession (FALSE and default). + + + + + This attribute indicates whether the term itself can be used to annotate data (TRUE) or not (FALSE). This latter case may happen when a term, parent of valid terms for annotation, is mentioned to keep the mapping concise. + + + + + This attribute indicates whether the children of the described term are allowed to annotate data (TRUE) or not (FALSE). + + + + + Value is 'True' when a term can be repeated in the same instance of the associated XML element. + + + + + + + + + Short label for the CV or namespace, this should correspond to a cvIdentifier attribute of CvTerm + + + + + Full descriptive name for the CV. + + + + + diff --git a/GeneratedSchemaLibraries/mzML/CvMapping.xsd-g.cs b/GeneratedSchemaLibraries/mzML/CvMapping.xsd-g.cs new file mode 100644 index 00000000..a2a973fa --- /dev/null +++ b/GeneratedSchemaLibraries/mzML/CvMapping.xsd-g.cs @@ -0,0 +1,1497 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// LinqToXsd Version: 3.4.24 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Psidev.CvMapping { + using System; + using System.Collections; + using System.Collections.Generic; + using System.ComponentModel; + using System.IO; + using System.Linq; + using System.Diagnostics; + using System.Xml; + using System.Xml.Schema; + using System.Xml.Linq; + using Xml.Schema.Linq; + + + /// + /// + /// Regular expression: (CvReferenceList, CvMappingRuleList) + /// + /// + public partial class CvMapping : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static CvMapping Load(string xmlFile) { + return XTypedServices.Load(xmlFile); + } + + public static CvMapping Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile); + } + + public static CvMapping Parse(string xml) { + return XTypedServices.Parse(xml); + } + + public static explicit operator CvMapping(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (CvReferenceList, CvMappingRuleList) + /// + /// + public CvMapping() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CvReferenceListXName = System.Xml.Linq.XName.Get("CvReferenceList", ""); + + /// + /// + /// Comprehensive list of CVs that are required by a schema or model. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (CvReferenceList, CvMappingRuleList) + /// + /// + public virtual CvReferenceListLocalType CvReferenceList { + get { + XElement x = this.GetElement(CvReferenceListXName); + return ((CvReferenceListLocalType)(x)); + } + set { + this.SetElement(CvReferenceListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CvMappingRuleListXName = System.Xml.Linq.XName.Get("CvMappingRuleList", ""); + + /// + /// + /// Comprehensive list of associations between a model and CVs. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (CvReferenceList, CvMappingRuleList) + /// + /// + public virtual CvMappingRuleListLocalType CvMappingRuleList { + get { + XElement x = this.GetElement(CvMappingRuleListXName); + return ((CvMappingRuleListLocalType)(x)); + } + set { + this.SetElement(CvMappingRuleListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName modelNameXName = System.Xml.Linq.XName.Get("modelName", ""); + + /// + /// + /// Name of the PSI data exchange schema, e.g. mzData, GelML, MIF. + /// + /// + /// Occurrence: required + /// + /// + public virtual string modelName { + get { + XAttribute x = this.Attribute(modelNameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(modelNameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName modelURIXName = System.Xml.Linq.XName.Get("modelURI", ""); + + /// + /// + /// URI of the data exchange schema + /// + /// + /// Occurrence: required + /// + /// + public virtual System.Uri modelURI { + get { + XAttribute x = this.Attribute(modelURIXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(modelURIXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName modelVersionXName = System.Xml.Linq.XName.Get("modelVersion", ""); + + /// + /// + /// Version number of the model supported by the CvMapping file. + /// + /// + /// Occurrence: required + /// + /// + public virtual string modelVersion { + get { + XAttribute x = this.Attribute(modelVersionXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(modelVersionXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CvMapping", ""); + + static CvMapping() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(CvReferenceListXName), new NamedContentModelEntity(CvMappingRuleListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(CvReferenceListXName, typeof(CvReferenceListLocalType)); + localElementDictionary.Add(CvMappingRuleListXName, typeof(CvMappingRuleListLocalType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + + /// + /// + /// Regular expression: (CvReference+) + /// + /// + public partial class CvReferenceListLocalType : XTypedElement, IXMetaData { + + public static explicit operator CvReferenceListLocalType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (CvReference+) + /// + /// + public CvReferenceListLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CvReferenceXName = System.Xml.Linq.XName.Get("CvReference", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList CvReferenceField; + + /// + /// + /// Description of a CV or ontology resource. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (CvReference+) + /// + /// + public virtual IList CvReference { + get { + if ((this.CvReferenceField == null)) { + this.CvReferenceField = new XTypedList(this, LinqToXsdTypeManager.Instance, CvReferenceXName); + } + return this.CvReferenceField; + } + set { + if ((value == null)) { + this.CvReferenceField = null; + } + else { + if ((this.CvReferenceField == null)) { + this.CvReferenceField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, CvReferenceXName); + } + else { + XTypedServices.SetList(this.CvReferenceField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName cvSourceVersionXName = System.Xml.Linq.XName.Get("cvSourceVersion", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string cvSourceVersion { + get { + XAttribute x = this.Attribute(cvSourceVersionXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType).Datatype); + } + set { + this.SetAttribute(cvSourceVersionXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyAtomicType).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CvReferenceList", ""); + + static CvReferenceListLocalType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(CvReferenceXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(CvReferenceXName, typeof(CvReference)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (CvMappingRule+) + /// + /// + public partial class CvMappingRuleListLocalType : XTypedElement, IXMetaData { + + public static explicit operator CvMappingRuleListLocalType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (CvMappingRule+) + /// + /// + public CvMappingRuleListLocalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CvMappingRuleXName = System.Xml.Linq.XName.Get("CvMappingRule", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList CvMappingRuleField; + + /// + /// + /// Single mapping rule between a specific elements of the model and to controlled vocabularies listed on the CvTerm element. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (CvMappingRule+) + /// + /// + public virtual IList CvMappingRule { + get { + if ((this.CvMappingRuleField == null)) { + this.CvMappingRuleField = new XTypedList(this, LinqToXsdTypeManager.Instance, CvMappingRuleXName); + } + return this.CvMappingRuleField; + } + set { + if ((value == null)) { + this.CvMappingRuleField = null; + } + else { + if ((this.CvMappingRuleField == null)) { + this.CvMappingRuleField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, CvMappingRuleXName); + } + else { + XTypedServices.SetList(this.CvMappingRuleField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CvMappingRuleList", ""); + + static CvMappingRuleListLocalType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(CvMappingRuleXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(CvMappingRuleXName, typeof(CvMappingRule)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + } + + /// + /// + /// Regular expression: (CvTerm+) + /// + /// + public partial class CvMappingRule : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static CvMappingRule Load(string xmlFile) { + return XTypedServices.Load(xmlFile); + } + + public static CvMappingRule Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile); + } + + public static CvMappingRule Parse(string xml) { + return XTypedServices.Parse(xml); + } + + public static explicit operator CvMappingRule(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (CvTerm+) + /// + /// + public CvMappingRule() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CvTermXName = System.Xml.Linq.XName.Get("CvTerm", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList CvTermField; + + /// + /// + /// One or more terms from a CVsource that are allowed to be associated with the given element of the model. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (CvTerm+) + /// + /// + public virtual IList CvTerm { + get { + if ((this.CvTermField == null)) { + this.CvTermField = new XTypedList(this, LinqToXsdTypeManager.Instance, CvTermXName); + } + return this.CvTermField; + } + set { + if ((value == null)) { + this.CvTermField = null; + } + else { + if ((this.CvTermField == null)) { + this.CvTermField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, CvTermXName); + } + else { + XTypedServices.SetList(this.CvTermField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName scopePathXName = System.Xml.Linq.XName.Get("scopePath", ""); + + /// + /// + /// Element scope in the schema within which the non repeatable (isRepeatable = FALSE) condition applies. + /// + /// + /// Occurrence: required + /// + /// + public virtual string scopePath { + get { + XAttribute x = this.Attribute(scopePathXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(scopePathXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName cvElementPathXName = System.Xml.Linq.XName.Get("cvElementPath", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string cvElementPath { + get { + XAttribute x = this.Attribute(cvElementPathXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(cvElementPathXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + public enum CvTermsCombinationLogicEnum { + + OR, + + AND, + + XOR, + } + + public sealed class CvTermsCombinationLogicEnumValidator { + + private CvTermsCombinationLogicEnumValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "OR", + "AND", + "XOR"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Collapse)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName cvTermsCombinationLogicXName = System.Xml.Linq.XName.Get("cvTermsCombinationLogic", ""); + + /// + /// + /// Boolean operator describing the combination logic of multiple CvTerm elements associated with the same CvMappingRule. + /// + /// + /// Occurrence: required + /// + /// + public virtual Psidev.CvMapping.CvMappingRule.CvTermsCombinationLogicEnum cvTermsCombinationLogic { + get { + XAttribute x = this.Attribute(cvTermsCombinationLogicXName); + return ((Psidev.CvMapping.CvMappingRule.CvTermsCombinationLogicEnum)(Enum.Parse(typeof(Psidev.CvMapping.CvMappingRule.CvTermsCombinationLogicEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype, CvTermsCombinationLogicEnumValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(cvTermsCombinationLogicXName, value.ToString(), "cvTermsCombinationLogic", CvTermsCombinationLogicEnumValidator.TypeDefinition); + } + } + + public enum RequirementLevelEnum { + + MUST, + + SHOULD, + + MAY, + } + + public sealed class RequirementLevelEnumValidator { + + private RequirementLevelEnumValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "MUST", + "SHOULD", + "MAY"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Collapse)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName requirementLevelXName = System.Xml.Linq.XName.Get("requirementLevel", ""); + + /// + /// + /// The requirement level indicated, when the XML element exists in the instance data file, if the association with CV terms is optional (MAY), recommended (SHOULD) or mandatory (MUST). + /// + /// + /// Occurrence: required + /// + /// + public virtual Psidev.CvMapping.CvMappingRule.RequirementLevelEnum requirementLevel { + get { + XAttribute x = this.Attribute(requirementLevelXName); + return ((Psidev.CvMapping.CvMappingRule.RequirementLevelEnum)(Enum.Parse(typeof(Psidev.CvMapping.CvMappingRule.RequirementLevelEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NmToken).Datatype, RequirementLevelEnumValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(requirementLevelXName, value.ToString(), "requirementLevel", RequirementLevelEnumValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName nameXName = System.Xml.Linq.XName.Get("name", ""); + + /// + /// + /// Name of this rule (can be used for reporting of errors) + /// + /// + /// Occurrence: optional + /// + /// + public virtual string name { + get { + XAttribute x = this.Attribute(nameXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(nameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// Unique identifier of the rule in this mapping file. + /// + /// + /// Occurrence: required + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CvMappingRule", ""); + + static CvMappingRule() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(CvTermXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(CvTermXName, typeof(CvTerm)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class CvTerm : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static CvTerm Load(string xmlFile) { + return XTypedServices.Load(xmlFile); + } + + public static CvTerm Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile); + } + + public static CvTerm Parse(string xml) { + return XTypedServices.Parse(xml); + } + + public static explicit operator CvTerm(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public CvTerm() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName cvIdentifierRefXName = System.Xml.Linq.XName.Get("cvIdentifierRef", ""); + + /// + /// + /// Internal reference (e.g. namespace abbreviation) to a term source file as defined in a CvReference element. + /// + /// + /// Occurrence: required + /// + /// + public virtual string cvIdentifierRef { + get { + XAttribute x = this.Attribute(cvIdentifierRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(cvIdentifierRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName termAccessionXName = System.Xml.Linq.XName.Get("termAccession", ""); + + /// + /// + /// CV term accession number as in the CV file. + /// + /// + /// Occurrence: required + /// + /// + public virtual string termAccession { + get { + XAttribute x = this.Attribute(termAccessionXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(termAccessionXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName termNameXName = System.Xml.Linq.XName.Get("termName", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string termName { + get { + XAttribute x = this.Attribute(termNameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(termNameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName useTermNameXName = System.Xml.Linq.XName.Get("useTermName", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool useTermNameDefaultValue = System.Xml.XmlConvert.ToBoolean("false"); + + /// + /// + /// Boolean to set whether the check is done on the termName (TRUE) or on the termAccession (FALSE and default). + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool useTermName { + get { + XAttribute x = this.Attribute(useTermNameXName); + if ((x == null)) { + return useTermNameDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(useTermNameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName useTermXName = System.Xml.Linq.XName.Get("useTerm", ""); + + /// + /// + /// This attribute indicates whether the term itself can be used to annotate data (TRUE) or not (FALSE). This latter case may happen when a term, parent of valid terms for annotation, is mentioned to keep the mapping concise. + /// + /// + /// Occurrence: required + /// + /// + public virtual bool useTerm { + get { + XAttribute x = this.Attribute(useTermXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(useTermXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName allowChildrenXName = System.Xml.Linq.XName.Get("allowChildren", ""); + + /// + /// + /// This attribute indicates whether the children of the described term are allowed to annotate data (TRUE) or not (FALSE). + /// + /// + /// Occurrence: required + /// + /// + public virtual bool allowChildren { + get { + XAttribute x = this.Attribute(allowChildrenXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(allowChildrenXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName isRepeatableXName = System.Xml.Linq.XName.Get("isRepeatable", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal static bool isRepeatableDefaultValue = System.Xml.XmlConvert.ToBoolean("true"); + + /// + /// + /// Value is 'True' when a term can be repeated in the same instance of the associated XML element. + /// + /// + /// Occurrence: optional + /// + /// + public virtual bool isRepeatable { + get { + XAttribute x = this.Attribute(isRepeatableXName); + if ((x == null)) { + return isRepeatableDefaultValue; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetAttribute(isRepeatableXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CvTerm", ""); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class CvReference : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static CvReference Load(string xmlFile) { + return XTypedServices.Load(xmlFile); + } + + public static CvReference Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile); + } + + public static CvReference Parse(string xml) { + return XTypedServices.Parse(xml); + } + + public static explicit operator CvReference(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public CvReference() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName cvIdentifierXName = System.Xml.Linq.XName.Get("cvIdentifier", ""); + + /// + /// + /// Short label for the CV or namespace, this should correspond to a cvIdentifier attribute of CvTerm + /// + /// + /// Occurrence: required + /// + /// + public virtual string cvIdentifier { + get { + XAttribute x = this.Attribute(cvIdentifierXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(cvIdentifierXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName cvNameXName = System.Xml.Linq.XName.Get("cvName", ""); + + /// + /// + /// Full descriptive name for the CV. + /// + /// + /// Occurrence: required + /// + /// + public virtual string cvName { + get { + XAttribute x = this.Attribute(cvNameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(cvNameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CvReference", ""); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public class LinqToXsdTypeManager : ILinqToXsdTypeManager { + + private LinqToXsdTypeManager() { + } + + private static Dictionary elementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + elementDictionary.Add(System.Xml.Linq.XName.Get("CvMapping", ""), typeof(global::Psidev.CvMapping.CvMapping)); + elementDictionary.Add(System.Xml.Linq.XName.Get("CvMappingRule", ""), typeof(global::Psidev.CvMapping.CvMappingRule)); + elementDictionary.Add(System.Xml.Linq.XName.Get("CvTerm", ""), typeof(global::Psidev.CvMapping.CvTerm)); + elementDictionary.Add(System.Xml.Linq.XName.Get("CvReference", ""), typeof(global::Psidev.CvMapping.CvReference)); + } + + private static XmlSchemaSet schemaSet; + + XmlSchemaSet ILinqToXsdTypeManager.Schemas { + get { + if ((schemaSet == null)) { + XmlSchemaSet tempSet = new XmlSchemaSet(); + System.Threading.Interlocked.CompareExchange(ref schemaSet, tempSet, null); + } + return schemaSet; + } + set { + schemaSet = value; + } + } + + protected internal static void AddSchemas(XmlSchemaSet schemas) { + schemas.Add(schemaSet); + } + + Dictionary ILinqToXsdTypeManager.GlobalTypeDictionary { + get { + return XTypedServices.EmptyDictionary; + } + } + + Dictionary ILinqToXsdTypeManager.GlobalElementDictionary { + get { + return elementDictionary; + } + } + + Dictionary ILinqToXsdTypeManager.RootContentTypeMapping { + get { + return XTypedServices.EmptyTypeMappingDictionary; + } + } + + static LinqToXsdTypeManager() { + BuildElementDictionary(); + } + + public static System.Type GetRootType() { + return elementDictionary[System.Xml.Linq.XName.Get("CvMapping", "")]; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static LinqToXsdTypeManager typeManagerSingleton = new LinqToXsdTypeManager(); + + public static LinqToXsdTypeManager Instance { + get { + return typeManagerSingleton; + } + } + } + + public partial class XRootNamespace { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRootNamespace() { + } + + public static XRootNamespace Load(string xmlFile) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(string xmlFile, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(XmlReader xmlReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRootNamespace(CvMapping root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public CvMapping CvMapping { get {return rootObject as CvMapping; } } + + public XRootNamespace(CvMappingRule root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public CvMappingRule CvMappingRule { get {return rootObject as CvMappingRule; } } + + public XRootNamespace(CvTerm root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public CvTerm CvTerm { get {return rootObject as CvTerm; } } + + public XRootNamespace(CvReference root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public CvReference CvReference { get {return rootObject as CvReference; } } + } + + public partial class XRoot { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRoot() { + } + + public static XRoot Load(string xmlFile) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(string xmlFile, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(TextReader textReader) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(TextReader textReader, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(XmlReader xmlReader) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Parse(string text) { + XRoot root = new XRoot(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Parse(string text, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRoot(global::Psidev.CvMapping.CvMapping root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Psidev.CvMapping.CvMapping CvMapping { get {return rootObject as global::Psidev.CvMapping.CvMapping; } } + + public XRoot(global::Psidev.CvMapping.CvMappingRule root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Psidev.CvMapping.CvMappingRule CvMappingRule { get {return rootObject as global::Psidev.CvMapping.CvMappingRule; } } + + public XRoot(global::Psidev.CvMapping.CvTerm root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Psidev.CvMapping.CvTerm CvTerm { get {return rootObject as global::Psidev.CvMapping.CvTerm; } } + + public XRoot(global::Psidev.CvMapping.CvReference root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::Psidev.CvMapping.CvReference CvReference { get {return rootObject as global::Psidev.CvMapping.CvReference; } } + } +} diff --git a/GeneratedSchemaLibraries/mzML/CvMapping.xsd.config b/GeneratedSchemaLibraries/mzML/CvMapping.xsd.config new file mode 100644 index 00000000..d3c1c10a --- /dev/null +++ b/GeneratedSchemaLibraries/mzML/CvMapping.xsd.config @@ -0,0 +1,15 @@ + + + + false + false + false + false + + + + + + + false + \ No newline at end of file diff --git a/GeneratedSchemaLibraries/mzML/ms-mapping.xml b/GeneratedSchemaLibraries/mzML/ms-mapping.xml index 7a3e9cfb..f7da4a58 100644 --- a/GeneratedSchemaLibraries/mzML/ms-mapping.xml +++ b/GeneratedSchemaLibraries/mzML/ms-mapping.xml @@ -1,6 +1,6 @@ - + diff --git a/GeneratedSchemaLibraries/mzML/mzML1.1.0_specificationDocument.docx b/GeneratedSchemaLibraries/mzML/mzML1.1.0_specificationDocument.docx new file mode 100644 index 00000000..ed64ca59 Binary files /dev/null and b/GeneratedSchemaLibraries/mzML/mzML1.1.0_specificationDocument.docx differ diff --git a/GeneratedSchemaLibraries/mzML/mzML1.1.0_specificationDocument.md b/GeneratedSchemaLibraries/mzML/mzML1.1.0_specificationDocument.md new file mode 100644 index 00000000..d1c4e077 --- /dev/null +++ b/GeneratedSchemaLibraries/mzML/mzML1.1.0_specificationDocument.md @@ -0,0 +1,1305 @@ +mzML Specification 1.1.0.1 June 8, 2009 + +**mzML: Mass Spectrometry Markup Language** + +Status of This Document + +This document presents the completed 1.1 specification for the mzML \(Mass Spectrometry Markup Language\) data format developed by the HUPO Proteomics Standards Initiative. Distribution is unlimited. + +Version of This Document + +The current version of this document is: Version 1.1.0.1; June 8, 2009. + +The version of this document matches the schema version with one trailing decimal point and integer to denote specification documentation updates that do not correspond to a schema update. Thus the version numbers correspond to: + +majorVersion.minorVersion.maintenanceVersion.documentationOnlyUpdateVersion. + +Every new release of the specification document will be available in the PSI code repository. + +Change Log since 1.0.0.0 + +- 2008\-06\-01: 1.0.0.0 – INITIAL RELEASE + +- 2008\-06\-12: 1.0.0.1 – Updated embedded figures, which had incorrect version number. No change to format; documentation update only. + +- 2009\-01\-25: 1.1.0.0RC2 – See document section: Differences between 1.0 and 1.1 + +- Added “unknown” term philosophy + +- 2009\-02\-10: 1.1.0.0RC3 – Updated documentation. No schema change. + +- 2009\-02\-17: 1.1.0.0RC4 – Updated documentation with updated examples and figures. No schema change. + +- 2009\-03\-26: 1.1.0.0RC5 – Updated documentation with updated example files based on minor schema, CV, and mapping file changes + +- 2009\-05\-19: 1.1.0.0RC6 – Updated the schema based on result of the PSI review process: improved SRM support and imzML alignment + +- 2009\-06\-01: 1.1.0.0 – Updated RC6 to the official version + +- 2009\-06\-08: 1.1.0.1 – Minor updates to documentation \(added language for both profile and peak list spectra; updated relationships to other specifications; slight editing for versioning consistency\) + +# **Abstract** + +The Human Proteome Organisation \(HUPO\) Proteomics Standards Initiative \(PSI\) defines community standards for data representation in proteomics to facilitate data comparison, exchange and verification. The Mass Spectrometry Standards Working Group \(PSI\-MS WG\) develops standards for describing the results of a mass spectrometric analysis. This document presents information to the mass spectrometry community about the modelling in XML of the experimental results obtained by mass spectrometric analysis of biomolecular compounds. This XML format is based on the previous two formats mzData \(Julian, Binz et al. 2005\) and mzXML \(Pedrioli, Eng et al. 2004\), and when it is completed and accepted, obsoletes the two previous formats, and should be used in place of them. This document should be read in conjunction with a kit of auxiliary files, including the example instance documents, controlled vocabulary file, and xsd files. All files related to this proposal are available for download at [http://psidev.info/index.php?q=node/257](http://psidev.info/index.php?q=node/257). + +Contents + +[Abstract1](#_Toc225840489) + +[1. Introduction3](#_Toc225840490) + +[1.1 Background3](#_Toc225840491) + +[1.2 Previous formats4](#_Toc225840492) + +[1.3 Design Philosophy5](#_Toc225840493) + +[2. Implementation of the Format6](#_Toc225840494) + +[2.1 Concepts and Terminology6](#_Toc225840495) + +[2.2 Relationship to Other Specifications6](#_Toc225840496) + +[2.3 Differences between mzML 1.0.0 and mzML 1.1.07](#_Toc225840497) + +[2.4 The PSI Mass Spectrometry Controlled Vocabulary \(CV\)7](#_Toc225840498) + +[2.5 Resolved Design Issues9](#_Toc225840499) + +[2.5.1 Count attributes9](#_Toc225840500) + +[2.5.2 Numerical value and datetimestamp encoding9](#_Toc225840501) + +[2.5.3 The new CV term problem9](#_Toc225840502) + +[2.6 Other supporting materials11](#_Toc225840503) + +[2.7 Open Issues11](#_Toc225840504) + +[2.8 Comments on Specific Use Cases12](#_Toc225840505) + +[2.8.1 Selected Reaction Monitoring \(SRM\)12](#_Toc225840506) + +[2.9 Other implementation guidelines12](#_Toc225840507) + +[3. Model in XML Schema13](#_Toc225840508) + +[3.1 Element \13](#_Toc225840509) + +[3.2 Element \16](#_Toc225840510) + +[3.3 Element \16](#_Toc225840511) + +[3.4 Element \17](#_Toc225840512) + +[3.5 Element \18](#_Toc225840513) + +[3.6 Element \19](#_Toc225840514) + +[3.7 Element \20](#_Toc225840515) + +[3.8 Element \20](#_Toc225840516) + +[3.9 Element \22](#_Toc225840517) + +[3.10 Element \22](#_Toc225840518) + +[3.11 Element \24](#_Toc225840519) + +[3.12 Element \25](#_Toc225840520) + +[3.13 Element \26](#_Toc225840521) + +[3.14 Element \26](#_Toc225840522) + +[3.15 Element \27](#_Toc225840523) + +[3.16 Element \27](#_Toc225840524) + +[3.17 Element \28](#_Toc225840525) + +[3.18 Element \29](#_Toc225840526) + +[3.19 Element \30](#_Toc225840527) + +[3.20 Element \31](#_Toc225840528) + +[3.21 Element \31](#_Toc225840529) + +[3.22 Element \32](#_Toc225840530) + +[3.23 Element \32](#_Toc225840531) + +[3.24 Element \33](#_Toc225840532) + +[3.25 Element \34](#_Toc225840533) + +[3.26 Element \35](#_Toc225840534) + +[3.27 Element \36](#_Toc225840535) + +[3.28 Element \37](#_Toc225840536) + +[3.29 Element \38](#_Toc225840537) + +[3.30 Element \38](#_Toc225840538) + +[3.31 Element \38](#_Toc225840539) + +[3.32 Element \39](#_Toc225840540) + +[3.33 Element \42](#_Toc225840541) + +[3.34 Element \43](#_Toc225840542) + +[3.35 Element \43](#_Toc225840543) + +[3.36 Element \44](#_Toc225840544) + +[3.37 Element \45](#_Toc225840545) + +[3.38 Element \46](#_Toc225840546) + +[3.39 Element \46](#_Toc225840547) + +[3.40 Element \48](#_Toc225840548) + +[3.41 Element \48](#_Toc225840549) + +[3.42 Element \49](#_Toc225840550) + +[3.43 Element \50](#_Toc225840551) + +[3.44 Element \51](#_Toc225840552) + +[3.45 Element \52](#_Toc225840553) + +[3.46 Element \52](#_Toc225840554) + +[3.47 Element \54](#_Toc225840555) + +[3.48 Element \54](#_Toc225840556) + +[3.49 Element \55](#_Toc225840557) + +[3.50 Element \55](#_Toc225840558) + +[3.51 Element \56](#_Toc225840559) + +[3.52 Element \56](#_Toc225840560) + +[3.53 Element \57](#_Toc225840561) + +[4. Conclusions57](#_Toc225840562) + +[5. Authors and Contributors58](#_Toc225840563) + +[6. References60](#_Toc225840564) + +[7. Intellectual Property Statement60](#_Toc225840565) + +[8. Appendix A: The mzML indexing wrapper schema60](#_Toc225840566) + +[8.1 Element \60](#_Toc225840567) + +[8.2 Element \61](#_Toc225840568) + +[8.3 Element \61](#_Toc225840569) + +[8.4 Element \61](#_Toc225840570) + +[8.5 Element \61](#_Toc225840571) + +[8.6 Element \62](#_Toc225840572) + +[8.7 Element \62](#_Toc225840573) + +[Copyright Notice62](#_Toc225840574) + +# 1. **Introduction** + +## 1. Background + +Mass spectrometry is a popular method to analyse bio\-molecules by measuring the intact mass\-to\-charge ratios of their in\-situ generated ionised forms or the mass\-to\-charge ratios of in\-situ\-generated fragments of these ions. The resulting mass spectra are used for a variety of purposes, among which is the identification, characterization, and absolute or relative quantification of the analysed molecules. The processing steps to achieve these goals typically involve semi\-automatic computational analysis of the recorded mass spectra and sometimes also of the associated metadata \(e.g., elution characteristics if the instrument is coupled to a chromatography system\). The result of the processing can be assigned a score, rank or confidence measure. + +Differences inherent in the use of a variety of instruments, different experimental conditions under which analyses are performed, and potential automatic data preprocessing steps by the instrument software can influence the actual measurements and therefore the results after processing. Additionally, most instruments output their acquired data in a very specific and often proprietary format. These proprietary formats are then typically transformed into so\-called peak lists to be analysed by identification and characterisation software. Data reduction such as peak centroiding and deisotoping is often performed during this transformation from proprietary formats to peak lists. In addition, these peak list file formats lack information about the precursor MS signals and about the associated metadata \(i.e., instrument settings and description, acquisition mode, etc\) compared to the files they were derived from. The peak lists are then used as inputs for subsequent analysis. The many different and often proprietary formats make integration or comparison of mass spectrometer output data difficult or impossible, and the use of the heavily processed and data\-poor peak lists is often suboptimal. + +This document addresses this problem with the presentation of the mzML XML format, which is designed to hold the data output of a mass spectrometer as well as a systematic description of the conditions under which this data was acquired and transformed. The following target objectives can be defined for the format: + +1. *The discovery of relevant results,* so that, for example, data sets in a database or public repository that use a particular technique or combination of techniques can be identified and studied by experimentalists during experiment design or data analysis. + +1. *The sharing of best practice*, whereby, for example, approaches that have been successful at analysing low abundance analytes can be captured alongside the results produced. + +1. *The* *evaluation* *of results*, whereby, for example, the number and quality of the spectra recorded from a sample can be assessed in the light of the experimental conditions. + +1. *The sharing of data sets,* so that, for example, public repositories can import or export data, multi\-site projects can share results to support integrated analysis, or meta\-analyses can be performed by third parties from previously published data. + +1. *The most comprehensive support of the instruments output,* so that data can be captured in profile mode, centroid mode, and other relevant forms of biomolecular mass spectrometry data representation + +The primary focus of the model is to support long\-term archiving and sharing, rather than day\-to\-day laboratory management, although the model is extensible to support context\-specific details. + +The description of mass spectrometry data output and its experimental context requires that models include: \(i\) the actual data acquired, to a sufficient precision, as well as its associated metadata; and \(ii\) an adequate description of the instrument characteristics, its configuration and possible preprocessing steps applied. This document details both these parts, as they are required to support the tasks T1 to T5 above. + + + +This document defines a specification and is not a tutorial. As such, the presentation of technical details is deliberately direct. The role of the text is to describe the schema model and justify design decisions made. This document does not provide comprehensive examples of the schema in use. Example documents are provided separately and should be examined in conjunction with this document. It is anticipated that tutorial material will be developed in the future to aid implementation. Although the present specification document describes constraints and guidelines related to the content of an mzML document as well as the availability of tools helping to read and write mzML, it does not describe any implementation constraints or specifications such as coding language or operating system for software that will generate and/or read mzML data. + +## 1. Previous formats + +During 2003 – 2005, two data formats to store mass spectrometer output in an open, vendor\-neutral, XML format were developed. The mzData format \[mzData\] was developed by the PSI, primarily as a data exchange and archive format. The mzXML format \[mzXML\] was developed at the Institute for Systems Biology \(ISB\), primarily in order to streamline data processing software. Both formats are used extensively but it has been noted that having two formats for essentially the same information causes unnecessary confusion in the community and adds complexity to software developers as often both formats must be supported. Therefore the designers of mzData and mzXML, including representatives of instrument vendors, analysis software developers and end users, have joined under the auspices of the PSI and jointly developed a single format intended to replace the previous two. This new format is named mzML and is described in this document. + +The main difference between the two original formats, aside from the primary intent described above, is the design philosophy of flexibility. The mzData format was designed to be quite flexible via the extensive use of a controlled vocabulary. It was hoped that the actual xsd schema could remain stable for many years while the accompanying controlled vocabulary could be frequently updated to support new technologies, instruments, and methods of acquiring data. + +On the other hand, mzXML was designed with a very strict schema with most auxiliary information described in enumerated attributes. This simplified software implementations as there was only one way to present various attributes and the validity of the documents could be easily checked with industry\-standard XML validators. + +The main challenge in uniting these two formats was therefore resolving the opposing philosophies rather than fundamental technical issues. The result is a format that contains the best aspects of the two original formats so that it may be widely adopted and will resolve the current problem of two formats. + +## 1. Design Philosophy + +Since the development of mzML brought together many different philosophies, the primary mzML designers agreed on the following design principles that would guide its development: + +1. Keep the format simple. Many elaborate extensions were proposed but most were rejected in favour of a simple implementation. + +1. Minimize alternate ways of encoding the same information. Such flexibility, while sometimes touted as a benefit for some products, is bad for data formats. + +1. Build in some flexibility for encoding new important information but keep the format stable. There is a strong desire from companies that develop software for their customers to keep the data format stable over long periods of time with updates to an auxiliary file. + +1. Support the features of mzData and mzXML but not a lot more in version 1.0. Only support for SRM data was added \(which is also supported in the latest mzXML 3.1 and thus not really new\). + +1. Finish version 1.0 of the format soon with the resources available. It was felt that the greatest community benefit would be to resolve the mzData/mzXML duality rather than expend limited resources on new features. + +There was great temptation to add support for many new kinds of data and representation possibilities. There are many enhancements that have been suggested, but the small group of volunteers that have actively developed this format have opted to focus on the primary goal set before us: develop a single format that the vendors and current software can easily support and thereby obsolete mzData and mzXML. The enhancements not considered compatible with this goal will be entertained for mzML 2.0 + +One of the aspects of mzXML that enabled its very swift adoption was a ready set of open source tools that implemented the format. With these tools many users were able to begin using the format immediately without coding their own software. Therefore, to insure that mzML is a format that will be adopted quickly and implemented uniformly, the format is presented with several tools that write, read, and validate the format. At submission to the PSI document process, the following software will implement mzML: + +1. Two or more converters that convert from vendor formats to mzML. + +1. The popular RAMP parser library that currently supports mzData and mzXML. + +1. An mzML semantic validator that checks for correct implementation of files. + +The mzData format was a far more flexible format than mzXML. The support of new technologies could be added to mzData files by adding new controlled vocabulary terms, while mzXML often required a full schema revision. This is evidenced by mzData still being at version 1.05 while mzXML is currently at version 3.1. However, mzData did suffer from a problem of inconsistently used vocabulary terms and there appeared several different dialects of mzData, encoding the same information in subtly different ways. This was not usually a problem for human inspection of the file, but caused difficulty writing and maintaining reader software. + +This problem was been solved \(it is hoped\) for mzML by releasing a semantic validator with the data format. This semantic validator enforces many rules as to how controlled vocabulary terms are used, not only making sure that the terms are in the CV, but also that the correct terms are used in the correct location in the document and the required terms are present the correct number of times. This allows greater flexibility in the schema, but enforces order in how the CV terms are used. This will require the discipline of using the semantic validator, not just an XML validator. The result is that new technologies or information can be accommodated with adjustments to the controlled vocabulary and validator, not to the schema. Opinions differ on whether this is a benefit or a curse. + +The remainder of this document is structured as follows. Section 2.1 describes a number of concepts and information about the implementation of mzML, including aspects of terminology, design issues, the controlled vocabulary, etc. The schema model itself is presented in XML schema \(XSD\) notation in Section 3; some conclusions are presented in Section 5. + +# 1. **Implementation of the Format** + +## 1. Concepts and Terminology + +This document assumes familiarity with one data modelling notation, namely XML Schema \([www.w3.org/XML/Schema](http://www.w3.org/XML/Schema)\). Models are described using XML schema. + +The keywords “MUST,” “MUST NOT,” “REQUIRED,” “SHALL,” “SHALL NOT,” “SHOULD,” “SHOULD NOT,” “RECOMMENDED,” “MAY,” and “OPTIONAL” are to be interpreted as described in RFC\-2119 \(Bradner 1997\). + +## 1. Relationship to Other Specifications + +The specification described in this document is not being developed in isolation; indeed, it is designed to be complementary to, and thus used in conjunction with, several existing and emerging models. Related specifications include the following: + +1. *MIAPE MS* \([http://www.psidev.info/index.php?q=node/91](http://www.psidev.info/index.php?q=node/91)\) The “Minimum Information About a Proteomics Experiment: Mass Spectrometry” module document identifies the minimum information required to report the use of a mass spectrometer in a proteomics experiment. The mzML format has been designed to encode the requirements specified in MIAPE MS. However, mzML does not enforce MIAPE compliance itself; mzML documents may be valid and useful without being fully MIAPE compliant. The mzML validator has settings to validate at either the basic mzML level or at a MIAPE MS compliant level, depending on the needs of the user. + +1. *spML* \([http://www.psidev.info/index.php?q=node/90](http://www.psidev.info/index.php?q=node/90)\). *spML* \(sample processing Markup Language\) is the proposed PSI standard for describing general protein separation and sample processing other than gel electrophoresis. GelML is being developed separately from spML because there is a well defined community associated with gel electrophoresis. As both GelML and spML build on FuGE \(Functional Genomics Experiment\) \(Jones, Miller et al. 2007\) and use FuGE to describe the relationships between steps in a proteomics workflow, they will be designed to be straightforward to use together where appropriate. This document does not assume familiarity with spML. + +1. *mzIdent**ML* \([http://www.psidev.info/index.php?q=node/85](http://www.psidev.info/index.php?q=node/85)\). The mzIdentML specification is being developed by the PSI as a standard to capture the output of search engines that assign mass spectra to protein or peptide sequences. It is FuGE\-based and will provide a UML model as well as an XML schema. It is anticipated that mzML will serve as an important ‘input’ to the model defined by mzIdentML. This document does not assume familiarity with mzIdentML or FuGE. + +## 1. Differences between mzML 1.0.0 and mzML 1.1.0 + +Although there were already several software packages implementing mzML 1.0.0 on its initial release, further implementation work begin after its release. A number of shortcomings were flagged during this subsequent implementation, and it was decided that another update to mzML 1.1.0 would be appropriate before these implementations were complete. The differences are relatively minor, but the formats are incompatible. It is intended that all implementations be updated 1.1.0, but no software is left supporting mzML 1.0.0. A diff between tiny.pwiz.mzML and tiny.pwiz.1.1.mzML provides a nice illustration of the differences that might be useful for implementors. Below is a listing of differences: + +- Changed \ to an ordinary \ and moved version number to software element + +- Moved softwareRef attribute from \ to \ \ and \ renamed to \ and \ + +- Added defaultDataProcessingRef attribute to \ and \ + +- Removed nativeID attribute for \ and \ and made existing id + +- attribute take its function + +- Removed nativeID attribute from index \ element + +- Fully defined id \(formerly nativeID\) syntax for each vendor/input style + +- Removed \ element and put contents under \ + +- Added \ to hold multiple \ elements + +- Added \ and \ element + +- Updated the official XML name space and schema location for mzML + +- Fully described our "unknown" term philosophy + +- Fully described our units specification and updated CV for allowed units + +- Various updates to the mapping rules and CV + +- Altered \ to take any number of paramTypes instead of only 2 or more cvParams + +- Changed \ cvParams to use a target m/z and lower and upper offsets + +## 1. The PSI Mass Spectrometry Controlled Vocabulary \(CV\) + +A comprehensive collection of terms have been defined \(mostly extracted from vocabulary and definitions in chapter 12 of the IUPAC nomenclature book\) and structured in an mzML\-friendly way, hopefully facilitating the browsing of the terms. Almost all first\-level branch terms \(the direct children of the root term\) have a homonymous XML element in mzML. Their children, the second\-level terms, are relevant topics or categories which need CV support for their description. The leaf nodes under their respective parent categories should be used in a cvParam under the appropriate XML element in mzML schema. + +Some terms describe attributes that must be coupled with a numerical value attribute in the CvParam element \(e.g. dwell time MS:1000039\) and optionally a unit for that value \(e.g. second MS:1000502\). The terms that require a value are denoted by having a “datatype” key\-value pair in the CV itself; the use of the ‘object attribute’ \(MS:1000547\) term to denote this is now deprecated. Similarly, terms that need to be qualified with units are denoted by have a “needs\_units” key in the CV itself. + +Although the structure of the CV and the mzML schema are related, the details of which terms are allowed/recommended in a given schema section is reported in the mapping file. The mapping file is a list of associations between a cvParam element in a specific schema location \(described with an Xpath\) and the branches of the CV terms expected in that location. This file is read and interpreted by the validator, checking that the data annotation is consistent. The mapping file needs to be checked and eventually updated when the CV terms or structure are changed. + +As recommended by the PSI CV guidelines, psi\-ms.obo should be dynamically maintained via the psidev\-ms\-vocab mailing lists that allow any user to request new terms in agreement with the community involved. Once a consensus is reached among the community the new terms are added within few days. If there is no obvious consensus, the CV coordinators committee should vote and make a decision. A new psi\-ms.obo should then be released by updating the file on the CVS server without changing the name of the file \(this would alter the propagation of the file to the OBO website and to other ontology services that rely on file stable URI\). For this reason an internal version number with two decimals \(x.y.z\) should be increased: + +- x should be increased when a first level term are renamed added deleted or rearranged in the structure. Such rearrangement is suppose to be rare and is very likely to have repercussion on the mapping. + +- y should be increased when any other term except the first level one is altered. + +- z should be increased when there is no term addition or deletion but just editing on the definitions or other minor changes. + + + +It was decided that the CV not contain “unknown” terms as much as possible, thus there is no “unknown instrument”, etc. There are two cases where it is tempting to use unknown: + +1. The information is really known, but none of the existing terms fit. In this case, instead of choosing “unknown”, a user should send email to the psidev\-ms\-vocab list proposing a new term. The CV committee should approve and add the desired term, or point out an existing synonym that should be used. Then once the term has been assigned an accession number and official name, then the user should begin using that. + +1. The second case is there the information is truly not known. We want to avoid cases where the user picks something just to appease a validator. In this case, the use of the base class is recommended, e.g.: + + ```xml + + + + ``` + The rationale is that the most specific information available is provided, i.e. that a mass spectrometer of some model generated the data, but it is not known which one. This also avoids the situation where the tags are optional. If optional tags are not provided, it is never clear whether the information is truly unknown, or the writer simple forgot to write the information or was too lazy to write the information. + +In the above example, if the writer knows that the instrument was one from a specific vendor, but not the model, then the vendor model term should be used instead of the completely generic “instrument model”. + +To obsolete a term, the following must be done: + +- Put OBSOLETE at the beginning of the definition + +- Add a comment to the term describing the reason for obsoleting. + +- Set the OBO\-format is\_obsolete tag to true + +This is a summary of the procedure given in [http://psidev.info/files/CommunityPractice\-revised.doc](http://psidev.info/files/CommunityPractice-revised.doc). + +If a term name needs to be changed, the accession number should stay the same and the term name simply changed. One should NOT obsolete the term and create a new one with the revised name. + +The following ontologies or controlled vocabularies specified below may also be suitable or required in certain instances: + +- Unit Ontology \(http://www.obofoundry.org/cgi\-bin/detail.cgi?id=unit\) + +- ChEBI \([http://www.ebi.ac.uk/chebi/](http://www.ebi.ac.uk/chebi/)\) + +- OBI \(Ontology of Biological Investigations \- [http://obi.sourceforge.net/](http://obi.sourceforge.net/)\) \(formerly called FuGO\) + +## 1. Resolved Design Issues + +There were several issues regarding the design of the format that were not clear cut, and a design choice was made that was not completely agreeable to everyone. So that these issues do not keep coming up, we document here the issues and why the decision that is implemented was made. + +### 1. Count attributes + +It was decided that all list elements would have a count attribute. The reason is that parsers implemented in languages where memory allocation or array sizing is important, it is a nice performance enhancement to have a count attribute indicating how many elements there are in the list. Although it was felt that this is an easy target for creating inconsistent files \(i.e. writing out a count=”5” attribute followed by 6 items in the list\), this was deemed to be rare and in the vast majority of cases the value can be relied on. The code would need to handle cases where the count was incorrect, but this is no more difficult than not knowing the value ahead of time. Validators of mzML should check that the counts are correct when validating file. + +### 1. Numerical value and datetimestamp encoding + +All numerical values shall appear in the XML schema datatype specification \(http://www.w3.org/TR/xmlschema\-2/\). The number 1/10 must always appear as 0.10 and never as 0,10. A preceeding \+ before a number \(\+5.0\) is prohibited. + +Datetimestamps must also be encoded as in the XML specification such as 2007\-06\-27T15:23:45.00035. + +All id attributes follow the XML schema datatype xs:ID \(http://www.w3.org/TR/xmlschema\-2/\#ID\), which means that no two id attributes may be the same within a document, and id attributes must be purely alphanumerical strings with at least one letter. Thus they may not contain spaces or underscores, and id attributes may not be a plain number. + +### 1. The new CV term problem + +It was decided that all annotations on the data that should come from a list of allowed values using the \ element. All information encoded as element attributes are never controlled vocabulary terms. Thus, as an example to describe spectrum type, the cvParam element must be provided to specify a term below MS:1000559 “spectrum type”, such as: + +`` + +Note that both accession and the term name are provided. Parsers should focus on the accession number as this should never change, even if the term name is adjusted in the controlled vocabulary later. Note that there is no value. The mere presence of the term is the annotation. + +The problem comes when there is a new term to be added. Let’s assume that it becomes necessary to add a new spectrum type “SRM spectrum”. Vendor X would like to start writing mzML with this spectrum type. What should happen and what could also happen? + +In an ideal world, Vendor X would contact the PSI\-MS WG controlled vocabulary coordinators list and request a new child term of “spectrum type”. A CV coordinator would verify that this is a new concept, not simply a synonym of an existing concept, add the term to the CV and release a new version of the psi\-ms.obo file at the same location. Vendor X would obtain the accession number and could begin writing out valid mzML. The semantic validator would \(and already does\) automatically download the new .obo file and validate that the new mzML is semantically valid using the new term. + +If the file is then distributed to arbitrary site Y, local software will suddenly encounter this new term: + +`` + +and there is a possibility of failure. The first problem that may occur is that reader software may try to understand what the spectrum type is, but it will not find a spectrum type that it understands. Therefore it can only conclude that either no spectrum type was provided, or one of the terms it doesn’t recognize is a spectrum type but it won’t know which one. If the software could connect to the Internet, and could automatically download the latest .obo file, and look to see if this term was in the file, and then determine what parent the above term had, and understand that the parent is “spectrum type”, then the software could conclude that the above cv term is a spectrum type, but a new one that it doesn’t not know how to handle yet. Such a string of logic is not terribly difficult but it is not trivial and is objectionable to some. + +Worse yet, Vendor X could have been lazy and not even contacted the PSI\-WG CV coordinator and just started publishing mzML with \(“option A”\): + +`` + +There is no way to resolve this. No reader could possibly know how to handle this. It should be avoided at all cost. Although it should be noted that until the proper accession number is furnished, such an approach will at least initially be used. In any case, processing software may still not know how to properly handle SRM spectra, but it should already be able to confidently understand what the spectrum type is and admit it cannot handle it. + +In order to make it easier for software developers, several possible solutions were considered at length, notably one known as “option C”: + +`` + +In this case, both the accession and name of both the parent/category and the child/leaf term is explicitly provided. This could help the reader software to know exactly that the spectrum type is “SRM spectrum” without complex logic and proceed with processing based on that. + +In this alternative, both the category and the leaf terms are explicitly provided. Reader software could easily determine what the spectrum type is without complex logic even in the face of a MS:9999999 accession shown above. The downside of option C is that files are more verbose than otherwise and that there is the possibility of conflicting, incorrect stated category and left nodes. A final argument against this is that such a scheme was tried with MAGE\-ML \(MicroArray Gene Expression Markup Language\) version 1, and it caused massive confusion. An alternate contention is that the massive confusion resulted from nesting of terms rather than the flat attribute structure proposed here. + +After much discussion, it was decided to stick with the original implementation \(option A\). There were too many arguments against option C, and the main author of the ProteoWizard reference implementation saw no need for option C. Thus, the final specification proceeds with option A. + +## 1. Other supporting materials + +This document cannot be fully judged on its own. It is important to study the accompanying sample instance documents, controlled vocabulary, schema files, and the software that implements this pre\-release version of mzML. In fact, the content of section 3 in this document \(as well as the on\-line HTML documentation\) is completely autogenerated from these files and not maintained by hand. + +All these files and programs are available at: + +[http://psidev.info/index.php?q=node/257](http://psidev.info/index.php?q=node/257) + +They are: + +| Filename | Description | +| --- | --- | +| mzML1.1.0.xsd | Main mzML XML schema definition file | +| mzML1.1.0.html | HTML documentation of the model | +| mzML1.1.0\_idx.xsd | Wrapper schema for indexing an mzML file for random access | +| mzML1.1.0\_idx.html | HTML documentation of the index | +| psi\-ms.obo | PSI\-MS controlled vocabulary in OBO format | +| specialNotes.txt | A set of special notes associated with individual elements | +| ms\-mapping.txt | XML\-encoded rules for where certain cvParams MAY/MUST appear in the document. | +| tiny.pwiz.1.1.mzML | Tiny hand\-crafted four spectrum MS1 \+ MS2 LCQ example | +| small.pwiz.1.1.xml | ProteoWizard generated example for generic MS/MS data | +| small\_miape.pwiz.1.1.xml | ProteoWizard generated MIAPE\-compliant demonstration example for generic MS/MS data | +| MRM\_example\_1.1.0.mzML | Example of encoded SRM data | +| dta\_example.mzML | Example of conversion from generic dta files to mzML | +| neutral\_loss\_example\_1.1.0.mzML | Example of a neutral loss spectrum | +| validateMzML.pl | Small Perl program to use Xerces to perform crude \(not semantic\) validation of an mzML file | +| mzMLContentHandler.pm | Reader class used by validateMzML.pl | +| mzML\_1.1.0\_validator.zip | Java implementation of a full semantic validator for mzML | + +Additional material is referenced with hyperlinks at the same URL. + +## 1. Open Issues + +All open issues were resolved by the end of the mzML 1.0.0.0 design phase. This may be an appropriate section to describe issues that arise after the 1.0 release that are considered sufficiently disruptive that they require a new major or minor release number. Such disruptive changes to the schema are expected to be rare. It is hoped that it will be several years before the next major revision. + +We note that usage of resource description framework \(RDF\) was considered and rejected for mzML 1.0. It remains a possibility that mzML 2.0 will be based on RDF. + +## 1. Comments on Specific Use Cases + +Many special use cases for mzML were considered during its development. Most of these use cases have a corresponding example file that exercise the relevant part of the schema and provide a reference implementation example. Authors of mzML writing software are encouraged to examine the examples that accompany this format release before implementing the writer. Further, such authors are encouraged to use the validator before releasing any new writer code and working with the PSI Mass Spectrometry Working Group to resolve and issues. In the subsections below, we comment on a few of the notable use cases that were considered. + +### 1. Selected Reaction Monitoring \(SRM\) + +Selected reaction monitoring \(SRM\) is the major new technology that is supported by mzML that was not supported by both previous formats. We note that SRM is often referred to as multiple reaction monitoring \(MRM\), but that term is an obsolete synonym of SRM according to IUPAC. + +There was considerable discussion on how to encode SRM experiments. There seem to be two major contenders: encoding them as tiny MS/MS\-like spectra; or encoding them directly as complete chromatograms. + +The decision was made that each SRM scan is to be encoded as a mini MS/MS\-like spectra with a precursor corresponding to the Q1 m/z and a small spectrum encoding one or more Q3 m/z values that correspond to the Q1 m/z. We note that these mini scans may be a single \(centroided\) value per Q3 m/z, or the mini scans may be profile mode scans surrounding the Q3 m/z. For example, it is entirely permissible to monitor two Q3 m/z values for a single Q1 m/z, and encode profile mode scans for both Q3 regions in a single spectrum. + +The mzML specification also supports the \ element which is very similar to the \ element. It is capable of containing a full description of and the data for a chromatogram. The chromatogram may be simply be a total ion current \(TIC\) chromatogram of an ordinary MS1 or MS/MS run, or a chromatogram corresponding to a Q1,Q3 pair in a SRM run. + +It has been resolved that all SRM runs must be encoded as mini MS/MS\-like spectra using the \ element. Optionally, the same information may also be encoded using the \ elements as a speed\-enhancing feature. At present, it has been decided that SRM output may not be encoded ***only*** in the \ form. The goal is to avoid having two different ways of encoding the same data. Readers can always count on the mini MS/MS\-like spectra and may only optionally support the \ constructs. This is merely a policy decision, not one dictated by the schema. + +### 1. Profile \(continuous\) spectra vs. centroided \(peak list\) \(peak picked\) spectra + +Mass spectra typically come in two major flavors: profile and centroided. Profile spectra represent the scanned data in a \(sometimes only approcimately\) regularly spaced format, sometimes with gaps. Centroided spectra present the scanned data only by specifying the location and intensity of individual detected peaks, usually after subjecting the profile spectrum to a peak\-picking algorithm. The mzML format can encode either format with the specification of the proper controlled vocabulary term indicating which one. However, it is not allowed to encode the same spectrum in both profile and centroided modes in the same file. This is because the id attribute should nominally be the same and may not be duplicated. The recommended workflow if both spectra are desired is to encode the profile spectra in one file and the peak\-picked data in a second file \(with appropriate annotations as to what was done\). It is permissible to have some spectra in one mode and different ones in another; for example MS level 1 spectra may be profile mode, while MS level 2 spectra may be peak picked in the same file. + +## 1. Other implementation guidelines + +- For semantic validation, only IS\_A relationships should be considered as child terms + +- The official namespace for mzML is [http://psi.hupo.org/ms/mzml](http://psi.hupo.org/ms/mzml). The reference URL for the schema is http://psidev.info/files/ms/mzML/xsd/mzML1.1.0.xsd. + +# 1. **Model in** **XML Schema** + +The mzML model is described in XML schema below. + +Figure 1: High level overview of the XML elements for mzML. Each box represents an XML element, nested within other elements as shown. + +## 1. Element \<mzML\> + +| **Definition:** | This is the root element for the Proteomics Standards Initiative \(PSI\) mzML schema, which is intended to capture the use of a mass spectrometer, the data generated, and the initial processing of that data \(to the level of the peak list\). | +| --- | --- | +| **Type:** | dx:mzMLType | +| **Attributes:** | | +| **Subelements:** | | +| **Graphical Context:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```
...
```


```

```
| +| **Notes and Constraints:** | The \ element and all content below may occur by itself in an XML document, but is also designed to be wrapped in the mzML indexing schema in order to facilitate random access within the file with appropriate reader software. | + +## 1. Element \<cvList\> + +| **Definition:** | Container for one or more controlled vocabulary definitions. | +| --- | --- | +| **Type:** | dx:CVListType | +| **Attributes:** | | +| **Subelements:** | | +| **Graphical Context:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```
| +| **Notes and Constraints:** | One of the \ elements in this list MUST be the PSI MS controlled vocabulary. All \ elements in the document MUST refer to one of the \ elements in this list. | + +## 1. Element \<fileDescription\> + +| **Definition:** | Information pertaining to the entire mzML file \(i.e. not specific to any part of the data set\) is stored here. | +| --- | --- | +| **Type:** | dx:FileDescriptionType | +| **Attributes:** | none | +| **Subelements:** | | +| **Graphical Context:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```
...
```


```

```
| + +## 1. Element \<referenceableParamGroupList\> + +| **Definition:** | Container for a list of referenceableParamGroups | +| --- | --- | +| **Type:** | dx:ReferenceableParamGroupListType | +| **Attributes:** | | +| **Subelements:** | | +| **Graphical Context:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```
...
```


```

```
| + +## 1. Element \<sampleList\> + +| **Definition:** | List and descriptions of samples. | +| --- | --- | +| **Type:** | dx:SampleListType | +| **Attributes:** | | +| **Subelements:** | | +| **Graphical Context:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```
| + +## 1. Element \<softwareList\> + +| **Definition:** | List and descriptions of software used to acquire and/or process the data in this mzML file. | +| --- | --- | +| **Type:** | dx:SoftwareListType | +| **Attributes:** | | +| **Subelements:** | | +| **Graphical Context:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```
...
```


```

```
| + +## 1. Element \<scanSettingsList\> + +| **Definition:** | List with the descriptions of the acquisition settings applied prior to the start of data acquisition. | +| --- | --- | +| **Type:** | dx:ScanSettingsListType | +| **Attributes:** | | +| **Subelements:** | | +| **Graphical Context:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```
...
```


```

```
| + +## 1. Element \<instrumentConfigurationList\> + +| **Definition:** | List and descriptions of instrument configurations. At least one instrument configuration MUST be specified, even if it is only to specify that the instrument is unknown. In that case, the "instrument model" term is used to indicate the unknown instrument in the instrumentConfiguration. | +| --- | --- | +| **Type:** | dx:InstrumentConfigurationListType | +| **Attributes:** | | +| **Subelements:** | | +| **Graphical Context:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```
...
```


```

```
| + +## 1. Element \<dataProcessingList\> + +| **Definition:** | List and descriptions of data processing applied to this data. | +| --- | --- | +| **Type:** | dx:DataProcessingListType | +| **Attributes:** | | +| **Subelements:** | | +| **Graphical Context:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```
...
```


```

```
| + +## 1. Element \<run\> + +| **Definition:** | A run in mzML should correspond to a single, consecutive and coherent set of scans on an instrument. | +| --- | --- | +| **Type:** | dx:RunType | +| **Attributes:** | | +| **Subelements:** | | +| **Graphical Context:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```
...
```


```

```
| + +## 1. Element \<cv\> + +| **Definition:** | Information about an ontology or CV source and a short 'lookup' tag to refer to. | +| --- | --- | +| **Type:** | dx:CVType | +| **Attributes:** | | +| **Subelements:** | none | +| **Example Context:** | ```

```
| + +## 1. Element \<fileContent\> + +| **Definition:** | This summarizes the different types of spectra that can be expected in the file. This is expected to aid processing software in skipping files that do not contain appropriate spectrum types for it. It should also describe the nativeID format used in the file by referring to an appropriate CV term. | +| --- | --- | +| **Type:** | dx:ParamGroupType | +| **Attributes:** | none | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```
| +| **cvParam Mapping Rules:** | Path mzML/fileDescription/fileContent

```
MUST supply a *child* term of MS:1000524 (data file content) one or more times
```


```
e.g.: MS:1000235 (total ion current chromatogram)
```


```
e.g.: MS:1000235 (total ion current chromatogram)
```


```
e.g.: MS:1000322 (charge inversion mass spectrum)
```


```
e.g.: MS:1000322 (charge inversion mass spectrum)
```


```
e.g.: MS:1000325 (constant neutral gain spectrum)
```


```
e.g.: MS:1000325 (constant neutral gain spectrum)
```


```
e.g.: MS:1000326 (constant neutral loss spectrum)
```


```
e.g.: MS:1000326 (constant neutral loss spectrum)
```


```
e.g.: MS:1000328 (e/2 mass spectrum)
```


```
e.g.: MS:1000341 (precursor ion spectrum)
```


```
et al.
```


```
MAY supply a *child* term of MS:1000525 (spectrum representation) only once
```


```
e.g.: MS:1000127 (centroid spectrum)
```


```
e.g.: MS:1000128 (profile spectrum)
```
| +| **Example cvParams:** | ```

```


```

```


```

```
| + +## 1. Element \<sourceFileList\> + +| **Definition:** | List and descriptions of the source files this mzML document was generated or derived from | +| --- | --- | +| **Type:** | dx:SourceFileListType | +| **Attributes:** | | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```
...
```


```

```
| + +## 1. Element \<contact\> + +| **Definition:** | Structure allowing the use of a controlled \(cvParam\) or uncontrolled vocabulary \(userParam\), or a reference to a predefined set of these in this mzML file \(paramGroupRef\). | +| --- | --- | +| **Type:** | dx:ParamGroupType | +| **Attributes:** | none | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```
| +| **cvParam Mapping Rules:** | Path mzML/fileDescription/contact

```
MAY supply a *child* term of MS:1000585 (contact person attribute) one or more times
```


```
e.g.: MS:1000586 (contact name)
```


```
e.g.: MS:1000587 (contact address)
```


```
e.g.: MS:1000588 (contact URL)
```


```
e.g.: MS:1000589 (contact email)
```


```
e.g.: MS:1000590 (contact organization)
```


```
MUST supply term MS:1000590 (contact organization) only once
```


```
MUST supply term MS:1000586 (contact name) only once
```
| +| **Example cvParams:** | ```

```


```

```


```

```


```

```


```

```
| + +## 1. Element \<referenceableParamGroup\> + +| **Definition:** | A collection of CVParam and UserParam elements that can be referenced from elsewhere in this mzML document by using the 'paramGroupRef' element in that location to reference the 'id' attribute value of this element. | +| --- | --- | +| **Type:** | dx:ReferenceableParamGroupType | +| **Attributes:** | | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```
| +| **Example cvParams:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```

```


```

```


```

```


```

```


```

```


```

```


```

```


```

```
| + +## 1. Element \<sample\> + +| **Definition:** | Expansible description of the sample used to generate the dataset, named in sampleName. | +| --- | --- | +| **Type:** | dx:SampleType | +| **Attributes:** | | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```
| +| **cvParam Mapping Rules:** | Path mzML/sampleList/sample

```
MAY supply a *child* term of GO:0005575 (cellular_component) one or more times
```


```
MAY supply a *child* term of BTO:0000000 (brenda source tissue ontology) one or more times
```


```
MAY supply a *child* term of PATO:0001241 (quality of an object) one or more times
```


```
MAY supply a *child* term of MS:1000548 (sample attribute) one or more times
```


```
e.g.: MS:1000001 (sample number)
```


```
e.g.: MS:1000004 (sample mass)
```


```
e.g.: MS:1000005 (sample volume)
```


```
e.g.: MS:1000006 (sample concentration)
```


```
e.g.: MS:1000047 (emulsion)
```


```
e.g.: MS:1000048 (gas)
```


```
e.g.: MS:1000049 (liquid)
```


```
e.g.: MS:1000050 (solid)
```


```
e.g.: MS:1000051 (solution)
```


```
e.g.: MS:1000052 (suspension)
```


```
et al.
```
| + +## 1. Element \<software\> + +| **Definition:** | A piece of software. | +| --- | --- | +| **Type:** | dx:SoftwareType | +| **Attributes:** | | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```
| +| **cvParam Mapping Rules:** | Path mzML/softwareList/software

```
MUST supply a *child* term of MS:1000531 (software) only once
```


```
e.g.: MS:1000532 (Xcalibur)
```


```
e.g.: MS:1000533 (Bioworks)
```


```
e.g.: MS:1000534 (Masslynx)
```


```
e.g.: MS:1000535 (FlexAnalysis)
```


```
e.g.: MS:1000536 (data explorer)
```


```
e.g.: MS:1000537 (4700 Explorer)
```


```
e.g.: MS:1000538 (massWolf)
```


```
e.g.: MS:1000539 (Voyager Biospectrometry Workstation System)
```


```
e.g.: MS:1000540 (FlexControl)
```


```
e.g.: MS:1000541 (ReAdW)
```


```
et al.
```
| +| **Example cvParams:** | ```

```


```

```


```

```


```

```


```

```


```

```
| + +## 1. Element \<scanSettings\> + +| **Definition:** | Description of the acquisition settings of the instrument prior to the start of the run. | +| --- | --- | +| **Type:** | dx:ScanSettingsType | +| **Attributes:** | | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```
...
```


```

```
| + +## 1. Element \<instrumentConfiguration\> + +| **Definition:** | Description of a particular hardware configuration of a mass spectrometer. Each configuration MUST have one \(and only one\) of the three different components used for an analysis. For hybrid instruments, such as an LTQ\-FT, there MUST be one configuration for each permutation of the components that is used in the document. For software configuration, use a ReferenceableParamGroup element. | +| --- | --- | +| **Type:** | dx:InstrumentConfigurationType | +| **Attributes:** | | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```
...
```


```

```
| +| **cvParam Mapping Rules:** | Path mzML/instrumentConfigurationList/instrumentConfiguration

```
MAY supply a *child* term of MS:1000487 (ion optics attribute) one or more times
```


```
e.g.: MS:1000216 (field-free region)
```


```
e.g.: MS:1000304 (accelerating voltage)
```


```
e.g.: MS:1000308 (electric field strength)
```


```
e.g.: MS:1000319 (space charge effect)
```


```
MAY supply a *child* term of MS:1000597 (ion optics type) only once
```


```
e.g.: MS:1000221 (magnetic deflection)
```


```
e.g.: MS:1000246 (delayed extraction)
```


```
e.g.: MS:1000275 (collision quadrupole)
```


```
e.g.: MS:1000281 (selected ion flow tube)
```


```
e.g.: MS:1000286 (time lag focusing)
```


```
e.g.: MS:1000300 (reflectron)
```


```
e.g.: MS:1000307 (einzel lens)
```


```
e.g.: MS:1000309 (first stability region)
```


```
e.g.: MS:1000310 (fringing field)
```


```
e.g.: MS:1000311 (kinetic energy analyzer)
```


```
et al.
```


```
MAY supply a *child* term of MS:1000496 (instrument attribute) one or more times
```


```
e.g.: MS:1000032 (customization)
```


```
e.g.: MS:1000236 (transmission)
```


```
e.g.: MS:1000529 (instrument serial number)
```


```
MUST supply term MS:1000031 (instrument model) or any of its children only once
```


```
e.g.: MS:1000139 (4000 Q TRAP)
```


```
e.g.: MS:1000140 (4700 Proteomics Analyzer)
```


```
e.g.: MS:1000141 (APEX IV)
```


```
e.g.: MS:1000142 (APEX-Q)
```


```
e.g.: MS:1000143 (API 150EX)
```


```
e.g.: MS:1000144 (API 150EX Prep)
```


```
e.g.: MS:1000145 (API 2000)
```


```
e.g.: MS:1000146 (API 3000)
```


```
e.g.: MS:1000147 (API 4000)
```


```
e.g.: MS:1000148 (autoFlex II)
```


```
et al.
```
| +| **Example cvParams:** | ```

```


```

```


```

```


```

```


```

```
| +| **Notes and Constraints:** | Note that an instrument model MUST be provided. If the vendor is known but the exact model is not known, then use the parent vendor term such as "Waters instrument model" \(which indicates that it is known to be a Waters instrument, but not which one\). If nothing at all is known about the instrument that produced the data, then use the top parent term "instrument model" \(which is equivalent to stating that the data came from a child of "instrument model" \{i.e. a mass spectrometer\} but it is not known to the writer which one\). | + +## 1. Element \<dataProcessing\> + +| **Definition:** | Description of the way in which a particular software was used. | +| --- | --- | +| **Type:** | dx:DataProcessingType | +| **Attributes:** | | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```
...
```


```

```
| + +## 1. Element \<referenceableParamGroupRef\> + +| **Definition:** | A reference to a previously defined ParamGroup, which is a reusable container of one or more cvParams. | +| --- | --- | +| **Type:** | dx:ReferenceableParamGroupRefType | +| **Attributes:** | | +| **Subelements:** | none | +| **Example Context:** | ```

```
| +| **Example cvParams:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```

```
| + +## 1. Element \<cvParam\> + +| **Definition:** | This element holds additional data or annotation. Only controlled values are allowed here. | +| --- | --- | +| **Type:** | dx:CVParamType | +| **Attributes:** | | +| **Subelements:** | none | +| **Example Context:** | ```

```
| + +## 1. Element \<userParam\> + +| **Definition:** | Uncontrolled user parameters \(essentially allowing free text\). Before using these, one should verify whether there is an appropriate CV term available, and if so, use the CV term instead | +| --- | --- | +| **Type:** | dx:UserParamType | +| **Attributes:** | | +| **Subelements:** | none | +| **Example Context:** | ```

```
| + +## 1. Element \<spectrumList\> + +| **Definition:** | All mass spectra and the acquisitions underlying them are described and attached here. Subsidiary data arrays are also both described and attached here. | +| --- | --- | +| **Type:** | dx:SpectrumListType | +| **Attributes:** | | +| **Subelements:** | | +| **Graphical Context:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```
...
```


```

```
| + +## 1. Element \<chromatogramList\> + +| **Definition:** | All chromatograms for this run. | +| --- | --- | +| **Type:** | dx:ChromatogramListType | +| **Attributes:** | | +| **Subelements:** | | +| **Graphical Context:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```
...
```


```

```
| + +## 1. Element \<sourceFile\> + +| **Definition:** | Description of the source file, including location and type. | +| --- | --- | +| **Type:** | dx:SourceFileType | +| **Attributes:** | | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```
| +| **cvParam Mapping Rules:** | Path mzML/fileDescription/sourceFileList/sourceFile

```
MUST supply a *child* term of MS:1000767 (native spectrum identifier format) only once
```


```
e.g.: MS:1000768 (Thermo nativeID format)
```


```
e.g.: MS:1000769 (Waters nativeID format)
```


```
e.g.: MS:1000770 (WIFF nativeID format)
```


```
e.g.: MS:1000771 (Bruker/Agilent YEP nativeID format)
```


```
e.g.: MS:1000772 (Bruker BAF nativeID format)
```


```
e.g.: MS:1000773 (Bruker FID nativeID format)
```


```
e.g.: MS:1000774 (multiple peak list nativeID format)
```


```
e.g.: MS:1000775 (single peak list nativeID format)
```


```
e.g.: MS:1000776 (scan number only nativeID format)
```


```
e.g.: MS:1000777 (spectrum identifier nativeID format)
```


```
et al.
```


```
MUST supply a *child* term of MS:1000561 (data file checksum type) one or more times
```


```
e.g.: MS:1000568 (MD5)
```


```
e.g.: MS:1000569 (SHA-1)
```


```
MUST supply a *child* term of MS:1000560 (source file type) only once
```


```
e.g.: MS:1000526 (Waters raw file)
```


```
e.g.: MS:1000562 (ABI WIFF file)
```


```
e.g.: MS:1000563 (Thermo RAW file)
```


```
e.g.: MS:1000564 (PSI mzData file)
```


```
e.g.: MS:1000565 (Micromass PKL file)
```


```
e.g.: MS:1000566 (ISB mzXML file)
```


```
e.g.: MS:1000567 (Bruker/Agilent YEP file)
```


```
e.g.: MS:1000584 (mzML file)
```


```
e.g.: MS:1000613 (DTA file)
```


```
e.g.: MS:1000614 (ProteinLynx Global Server mass spectrum XML file)
```


```
et al.
```
| +| **Example cvParams:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```

```


```

```


```

```


```

```
| + +## 1. Element \<sourceFileRefList\> + +| **Definition:** | List with the source files containing the acquisition settings. | +| --- | --- | +| **Type:** | dx:SourceFileRefListType | +| **Attributes:** | | +| **Subelements:** | | +| **Graphical Context:** | | +| **Example Context:** | ```

```


```

```


```

```
| + +## 1. Element \<targetList\> + +| **Definition:** | Target list \(or 'inclusion list'\) configured prior to the run. | +| --- | --- | +| **Type:** | dx:TargetListType | +| **Attributes:** | | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```
...
```


```

```
| + +## 1. Element \<componentList\> + +| **Definition:** | List with the different components used in the mass spectrometer. At least one source, one mass analyzer and one detector need to be specified. | +| --- | --- | +| **Type:** | dx:ComponentListType | +| **Attributes:** | | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```
...
```


```

```
| + +## 1. Element \<softwareRef\> + +| **Definition:** | Reference to a previously defined software element | +| --- | --- | +| **Type:** | dx:SoftwareRefType | +| **Attributes:** | | +| **Subelements:** | none | +| **Example Context:** | ```

```
| + +## 1. Element \<processingMethod\> + +| **Definition:** | Description of the default peak processing method. This element describes the base method used in the generation of a particular mzML file. Variable methods should be described in the appropriate acquisition section \- if no acquisition\-specific details are found, then this information serves as the default. | +| --- | --- | +| **Type:** | dx:ProcessingMethodType | +| **Attributes:** | | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```
...
```


```

```
| +| **cvParam Mapping Rules:** | Path mzML/dataProcessingList/dataProcessing/processingMethod

```
MAY supply a *child* term of MS:1000630 (data processing parameter) one or more times
```


```
e.g.: MS:1000629 (low intensity threshold)
```


```
e.g.: MS:1000631 (high intensity threshold)
```


```
e.g.: MS:1000747 (completion time)
```


```
e.g.: MS:1000787 (inclusive low intensity threshold)
```


```
e.g.: MS:1000788 (inclusive high intensity threshold)
```


```
MUST supply a *child* term of MS:1000452 (data transformation) one or more times
```


```
e.g.: MS:1000033 (deisotoping)
```


```
e.g.: MS:1000034 (charge deconvolution)
```


```
e.g.: MS:1000544 (Conversion to mzML)
```


```
e.g.: MS:1000545 (Conversion to mzXML)
```


```
e.g.: MS:1000546 (Conversion to mzData)
```


```
e.g.: MS:1000593 (baseline reduction)
```


```
e.g.: MS:1000594 (low intensity data point removal)
```


```
e.g.: MS:1000741 (Conversion to dta)
```


```
e.g.: MS:1000745 (retention time alignment)
```


```
e.g.: MS:1000746 (high intensity data point removal)
```


```
et al.
```
| +| **Example cvParams:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```
| + +## 1. Element \<spectrum\> + +| **Definition:** | The structure that captures the generation of a peak list \(including the underlying acquisitions\). Also describes some of the parameters for the mass spectrometer for a given acquisition \(or list of acquisitions\). | +| --- | --- | +| **Type:** | dx:SpectrumType | +| **Attributes:** | | +| **Subelements:** | | +| **Graphical Context:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```
...
```


```

```
| +| **cvParam Mapping Rules:** | Path mzML/run/spectrumList/spectrum

```
MAY supply a *child* term of MS:1000465 (scan polarity) only once
```


```
e.g.: MS:1000129 (negative scan)
```


```
e.g.: MS:1000130 (positive scan)
```


```
MUST supply a *child* term of MS:1000559 (spectrum type) only once
```


```
e.g.: MS:1000322 (charge inversion mass spectrum)
```


```
e.g.: MS:1000325 (constant neutral gain spectrum)
```


```
e.g.: MS:1000326 (constant neutral loss spectrum)
```


```
e.g.: MS:1000328 (e/2 mass spectrum)
```


```
e.g.: MS:1000341 (precursor ion spectrum)
```


```
e.g.: MS:1000581 (CRM spectrum)
```


```
e.g.: MS:1000582 (SIM spectrum)
```


```
e.g.: MS:1000583 (SRM spectrum)
```


```
e.g.: MS:1000789 (enhanced multiply charged spectrum)
```


```
e.g.: MS:1000790 (time-delayed fragmentation spectrum)
```


```
et al.
```


```
MUST supply term MS:1000525 (spectrum representation) or any of its children only once
```


```
e.g.: MS:1000127 (centroid spectrum)
```


```
e.g.: MS:1000128 (profile spectrum)
```


```
MAY supply a *child* term of MS:1000499 (spectrum attribute) one or more times
```


```
e.g.: MS:1000285 (total ion current)
```


```
e.g.: MS:1000497 (zoom scan)
```


```
e.g.: MS:1000504 (base peak m/z)
```


```
e.g.: MS:1000505 (base peak intensity)
```


```
e.g.: MS:1000511 (ms level)
```


```
e.g.: MS:1000527 (highest observed m/z)
```


```
e.g.: MS:1000528 (lowest observed m/z)
```


```
e.g.: MS:1000618 (highest observed wavelength)
```


```
e.g.: MS:1000619 (lowest observed wavelength)
```


```
e.g.: MS:1000796 (spectrum title)
```


```
et al.
```
| +| **Example cvParams:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```

```


```

```


```

```


```

```
| +| **Notes and Constraints:** | id's MUST be unique within a file as constrained by a primary key. The format MUST follow the native ID guidelines for mzML If a scan yields no peaks, it should still be reported, but with a defaultArrayLength of 0 and no \ element. | + +## 1. Element \<chromatogram\> + +| **Definition:** | A single chromatogram. | +| --- | --- | +| **Type:** | dx:ChromatogramType | +| **Attributes:** | | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```
...
```


```

```
| +| **cvParam Mapping Rules:** | Path mzML/run/chromatogramList/chromatogram

```
MAY supply a *child* term of MS:1000808 (chromatogram attribute) one or more times
```


```
e.g.: MS:1000527 (highest observed m/z)
```


```
e.g.: MS:1000528 (lowest observed m/z)
```


```
e.g.: MS:1000618 (highest observed wavelength)
```


```
e.g.: MS:1000619 (lowest observed wavelength)
```


```
e.g.: MS:1000809 (chromatogram title)
```


```
MUST supply a *child* term of MS:1000626 (chromatogram type) only once
```


```
e.g.: MS:1000235 (total ion current chromatogram)
```


```
e.g.: MS:1000627 (selected ion current chromatogram)
```


```
e.g.: MS:1000628 (basepeak chromatogram)
```


```
e.g.: MS:1000812 (absorption chromatogram )
```


```
e.g.: MS:1000813 (emission chromatogram )
```
| +| **Example cvParams:** | ```

```
| + +## 1. Element \<sourceFileRef\> + +| **Definition:** | Reference to a previously defined sourceFile. | +| --- | --- | +| **Type:** | dx:SourceFileRefType | +| **Attributes:** | | +| **Subelements:** | none | +| **Example Context:** | ```

```
| + +## 1. Element \<target\> + +| **Definition:** | Structure allowing the use of a controlled \(cvParam\) or uncontrolled vocabulary \(userParam\), or a reference to a predefined set of these in this mzML file \(paramGroupRef\). | +| --- | --- | +| **Type:** | dx:ParamGroupType | +| **Attributes:** | none | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```
| +| **Example cvParams:** | ```

```
| + +## 1. Element \<source\> + +| **Definition:** | A source component. | +| --- | --- | +| **Type:** | dx:SourceComponentType | +| **Attributes:** | | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```
| +| **cvParam Mapping Rules:** | Path mzML/instrumentConfigurationList/instrumentConfiguration/componentList/source

```
MAY supply a *child* term of MS:1000482 (source attribute) one or more times
```


```
e.g.: MS:1000392 (ionization efficiency)
```


```
e.g.: MS:1000486 (source potential)
```


```
MUST supply term MS:1000008 (ionization type) or any of its children only once
```


```
e.g.: MS:1000070 (atmospheric pressure chemical ionization)
```


```
e.g.: MS:1000071 (chemical ionization)
```


```
e.g.: MS:1000074 (fast atom bombardment ionization)
```


```
e.g.: MS:1000075 (matrix-assisted laser desorption ionization)
```


```
e.g.: MS:1000227 (multiphoton ionization)
```


```
e.g.: MS:1000239 (atmospheric pressure matrix-assisted laser desorption ionization)
```


```
e.g.: MS:1000255 (flowing afterglow)
```


```
e.g.: MS:1000257 (field desorption)
```


```
e.g.: MS:1000258 (field ionization)
```


```
e.g.: MS:1000259 (glow discharge ionization)
```


```
et al.
```


```
MAY supply a *child* term of MS:1000007 (inlet type) only once
```


```
e.g.: MS:1000055 (continuous flow fast atom bombardment)
```


```
e.g.: MS:1000056 (direct inlet)
```


```
e.g.: MS:1000058 (flow injection analysis)
```


```
e.g.: MS:1000059 (inductively coupled plasma)
```


```
e.g.: MS:1000060 (infusion)
```


```
e.g.: MS:1000061 (jet separator)
```


```
e.g.: MS:1000062 (membrane separator)
```


```
e.g.: MS:1000063 (moving belt)
```


```
e.g.: MS:1000064 (moving wire)
```


```
e.g.: MS:1000065 (open split)
```


```
et al.
```
| +| **Example cvParams:** | ```

```


```

```


```

```


```

```
| + +## 1. Element \<analyzer\> + +| **Definition:** | A mass analyzer \(or mass filter\) component. | +| --- | --- | +| **Type:** | dx:AnalyzerComponentType | +| **Attributes:** | | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```
| +| **cvParam Mapping Rules:** | Path mzML/instrumentConfigurationList/instrumentConfiguration/componentList/analyzer

```
MAY supply a *child* term of MS:1000480 (mass analyzer attribute) one or more times
```


```
e.g.: MS:1000014 (accuracy)
```


```
e.g.: MS:1000022 (TOF Total Path Length)
```


```
e.g.: MS:1000024 (final MS exponent)
```


```
e.g.: MS:1000025 (magnetic field strength)
```


```
e.g.: MS:1000105 (reflectron off)
```


```
e.g.: MS:1000106 (reflectron on)
```


```
MUST supply term MS:1000443 (mass analyzer type) or any of its children only once
```


```
e.g.: MS:1000078 (axial ejection linear ion trap)
```


```
e.g.: MS:1000079 (fourier transform ion cyclotron resonance mass spectrometer)
```


```
e.g.: MS:1000080 (magnetic sector)
```


```
e.g.: MS:1000081 (quadrupole)
```


```
e.g.: MS:1000082 (quadrupole ion trap)
```


```
e.g.: MS:1000083 (radial ejection linear ion trap)
```


```
e.g.: MS:1000084 (time-of-flight)
```


```
e.g.: MS:1000254 (electrostatic energy analyzer)
```


```
e.g.: MS:1000284 (stored waveform inverse fourier transform)
```


```
e.g.: MS:1000288 (cyclotron)
```


```
et al.
```
| +| **Example cvParams:** | ```

```


```

```


```

```


```

```


```

```
| + +## 1. Element \<detector\> + +| **Definition:** | A detector component. | +| --- | --- | +| **Type:** | dx:DetectorComponentType | +| **Attributes:** | | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```
| +| **cvParam Mapping Rules:** | Path mzML/instrumentConfigurationList/instrumentConfiguration/componentList/detector

```
MUST supply term MS:1000026 (detector type) or any of its children only once
```


```
e.g.: MS:1000107 (channeltron)
```


```
e.g.: MS:1000108 (conversion dynode electron multiplier)
```


```
e.g.: MS:1000109 (conversion dynode photomultiplier)
```


```
e.g.: MS:1000110 (daly detector)
```


```
e.g.: MS:1000111 (electron multiplier tube)
```


```
e.g.: MS:1000112 (faraday cup)
```


```
e.g.: MS:1000113 (focal plane array)
```


```
e.g.: MS:1000114 (microchannel plate detector)
```


```
e.g.: MS:1000115 (multi-collector)
```


```
e.g.: MS:1000116 (photomultiplier)
```


```
et al.
```


```
MAY supply a *child* term of MS:1000481 (detector attribute) one or more times
```


```
e.g.: MS:1000028 (detector resolution)
```


```
e.g.: MS:1000029 (sampling frequency)
```


```
MAY supply a *child* term of MS:1000027 (detector acquisition mode) one or more times
```


```
e.g.: MS:1000117 (analog-digital converter)
```


```
e.g.: MS:1000118 (pulse counting)
```


```
e.g.: MS:1000119 (time-digital converter)
```


```
e.g.: MS:1000120 (transient recorder)
```
| +| **Example cvParams:** | ```

```


```

```


```

```
| + +## 1. Element \<scanList\> + +| **Definition:** | List and descriptions of scans. | +| --- | --- | +| **Type:** | dx:ScanListType | +| **Attributes:** | | +| **Subelements:** | | +| **Graphical Context:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```
...
```


```

```
| +| **cvParam Mapping Rules:** | Path mzML/run/spectrumList/spectrum/scanList

```
MUST supply a *child* term of MS:1000570 (spectra combination) only once
```


```
e.g.: MS:1000571 (sum of spectra)
```


```
e.g.: MS:1000573 (median of spectra)
```


```
e.g.: MS:1000575 (mean of spectra)
```


```
e.g.: MS:1000795 (no combination)
```
| +| **Example cvParams:** | ```

```


```

```
| + +## 1. Element \<precursorList\> + +| **Definition:** | List and descriptions of precursor isolations to the spectrum currently being described, ordered. | +| --- | --- | +| **Type:** | dx:PrecursorListType | +| **Attributes:** | | +| **Subelements:** | | +| **Graphical Context:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```
...
```


```

```
| + +## 1. Element \<productList\> + +| **Definition:** | List and descriptions of product isolations to the spectrum currently being described, ordered. | +| --- | --- | +| **Type:** | dx:ProductListType | +| **Attributes:** | | +| **Subelements:** | | +| **Graphical Context:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```
...
```


```

```
| + +## 1. Element \<binaryDataArrayList\> + +| **Definition:** | List of binary data arrays. | +| --- | --- | +| **Type:** | dx:BinaryDataArrayListType | +| **Attributes:** | | +| **Subelements:** | | +| **Graphical Context:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```
AAAAAAAAAAAAAAAAAADwPwAAAAAAAABAAAAAAAAACEAAAAAAAA...
```


```

```


```
...
```


```

```
| + +## 1. Element \<scan\> + +| **Definition:** | Scan or acquisition from original raw file used to create this peak list, as specified in sourceFile. | +| --- | --- | +| **Type:** | dx:ScanType | +| **Attributes:** | | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```
...
```


```

```
| +| **cvParam Mapping Rules:** | Path mzML/run/spectrumList/spectrum/scanList/scan

```
MAY supply a *child* term of MS:1000503 (scan attribute) one or more times
```


```
e.g.: MS:1000011 (mass resolution)
```


```
e.g.: MS:1000015 (scan rate)
```


```
e.g.: MS:1000016 (scan start time)
```


```
e.g.: MS:1000502 (dwell time)
```


```
e.g.: MS:1000512 (filter string)
```


```
e.g.: MS:1000616 (preset scan configuration)
```


```
e.g.: MS:1000800 (mass resolving power)
```


```
e.g.: MS:1000803 (analyzer scan offset)
```


```
e.g.: MS:1000826 (elution time)
```


```
MAY supply a *child* term of MS:1000018 (scan direction) only once
```


```
e.g.: MS:1000092 (decreasing m/z scan)
```


```
e.g.: MS:1000093 (increasing m/z scan)
```


```
MAY supply a *child* term of MS:1000019 (scan law) only once
```


```
e.g.: MS:1000094 (exponential)
```


```
e.g.: MS:1000095 (linear)
```


```
e.g.: MS:1000096 (quadratic)
```
| +| **Example cvParams:** | ```

```


```

```


```

```


```

```
| + +## 1. Element \<precursor\> + +| **Definition:** | The method of precursor ion selection and activation | +| --- | --- | +| **Type:** | dx:PrecursorType | +| **Attributes:** | | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```
...
```


```

```
| + +## 1. Element \<product\> + +| **Definition:** | The method of product ion selection and activation in a precursor ion scan | +| --- | --- | +| **Type:** | dx:ProductType | +| **Attributes:** | none | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```
| + +## 1. Element \<binaryDataArray\> + +| **Definition:** | Data point arrays for default data arrays \(m/z, intensity, time\) and meta data arrays. Default data arrays MUST not have the attributes 'arrayLength' and 'dataProcessingRef'. | +| --- | --- | +| **Type:** | dx:BinaryDataArrayType | +| **Attributes:** | | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```
AAAAAAAALkAAAAAAAAAsQAAAAAAAACpAAAAAAAAAKEAAAAAAAA...
```


```

```
| +| **cvParam Mapping Rules:** | Path mzML/run/chromatogramList/chromatogram/binaryDataArrayList/binaryDataArray

```
MUST supply a *child* term of MS:1000572 (binary data compression type) only once
```


```
e.g.: MS:1000574 (zlib compression)
```


```
e.g.: MS:1000576 (no compression)
```


```
MUST supply a *child* term of MS:1000513 (binary data array) only once
```


```
e.g.: MS:1000514 (m/z array)
```


```
e.g.: MS:1000515 (intensity array)
```


```
e.g.: MS:1000516 (charge array)
```


```
e.g.: MS:1000517 (signal to noise array)
```


```
e.g.: MS:1000595 (time array)
```


```
e.g.: MS:1000617 (wavelength array)
```


```
e.g.: MS:1000786 (non-standard data array)
```


```
e.g.: MS:1000820 (flow rate array)
```


```
e.g.: MS:1000821 (pressure array)
```


```
e.g.: MS:1000822 (temperature array)
```


```
MUST supply a *child* term of MS:1000518 (binary data type) only once
```


```
e.g.: MS:1000521 (32-bit float)
```


```
e.g.: MS:1000523 (64-bit float)
```


Path mzML/run/spectrumList/spectrum/binaryDataArrayList/binaryDataArray

```
MUST supply a *child* term of MS:1000572 (binary data compression type) only once
```


```
e.g.: MS:1000574 (zlib compression)
```


```
e.g.: MS:1000576 (no compression)
```


```
MUST supply a *child* term of MS:1000513 (binary data array) only once
```


```
e.g.: MS:1000514 (m/z array)
```


```
e.g.: MS:1000515 (intensity array)
```


```
e.g.: MS:1000516 (charge array)
```


```
e.g.: MS:1000517 (signal to noise array)
```


```
e.g.: MS:1000595 (time array)
```


```
e.g.: MS:1000617 (wavelength array)
```


```
e.g.: MS:1000786 (non-standard data array)
```


```
e.g.: MS:1000820 (flow rate array)
```


```
e.g.: MS:1000821 (pressure array)
```


```
e.g.: MS:1000822 (temperature array)
```


```
MUST supply a *child* term of MS:1000518 (binary data type) only once
```


```
e.g.: MS:1000521 (32-bit float)
```


```
e.g.: MS:1000523 (64-bit float)
```
| +| **Example cvParams:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```
| +| **Notes and Constraints:** | The arrayLength attribute need only be specified if it is different from the defaultArrayLength specified in the \ element. | + +## 1. Element \<scanWindowList\> + +| **Definition:** | Container for a list of scan windows. | +| --- | --- | +| **Type:** | dx:ScanWindowListType | +| **Attributes:** | | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```
| + +## 1. Element \<isolationWindow\> + +| **Definition:** | This element captures the isolation \(or 'selection'\) window configured to isolate one or more ions. | +| --- | --- | +| **Type:** | dx:ParamGroupType | +| **Attributes:** | none | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```
| +| **cvParam Mapping Rules:** | Path mzML/run/spectrumList/spectrum/precursorList/precursor/isolationWindow

```
MUST supply a *child* term of MS:1000792 (isolation window attribute) one or more times
```


```
e.g.: MS:1000827 (isolation window target m/z)
```


```
e.g.: MS:1000828 (isolation window lower offset)
```


```
e.g.: MS:1000829 (isolation window upper offset)
```


Path mzML/run/spectrumList/spectrum/productList/product/isolationWindow

```
MUST supply a *child* term of MS:1000792 (isolation window attribute) one or more times
```


```
e.g.: MS:1000827 (isolation window target m/z)
```


```
e.g.: MS:1000828 (isolation window lower offset)
```


```
e.g.: MS:1000829 (isolation window upper offset)
```
| +| **Example cvParams:** | ```

```


```

```


```

```
| + +## 1. Element \<selectedIonList\> + +| **Definition:** | A list of ions that were selected. | +| --- | --- | +| **Type:** | dx:SelectedIonListType | +| **Attributes:** | | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```
| + +## 1. Element \<activation\> + +| **Definition:** | The type and energy level used for activation. | +| --- | --- | +| **Type:** | dx:ParamGroupType | +| **Attributes:** | none | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```
| +| **cvParam Mapping Rules:** | Path mzML/run/spectrumList/spectrum/precursorList/precursor/activation

```
MAY supply a *child* term of MS:1000510 (precursor activation attribute) one or more times
```


```
e.g.: MS:1000045 (collision energy)
```


```
e.g.: MS:1000245 (charge stripping)
```


```
e.g.: MS:1000412 (buffer gas)
```


```
e.g.: MS:1000419 (collision gas)
```


```
e.g.: MS:1000509 (activation energy)
```


```
MUST supply term MS:1000044 (dissociation method) or any of its children one or more times
```


```
e.g.: MS:1000133 (collision-induced dissociation)
```


```
e.g.: MS:1000134 (plasma desorption)
```


```
e.g.: MS:1000135 (post-source decay)
```


```
e.g.: MS:1000136 (surface-induced dissociation)
```


```
e.g.: MS:1000242 (blackbody infrared radiative dissociation)
```


```
e.g.: MS:1000250 (electron capture dissociation)
```


```
e.g.: MS:1000262 (infrared multiphoton dissociation)
```


```
e.g.: MS:1000282 (sustained off-resonance irradiation)
```


```
e.g.: MS:1000422 (high-energy collision-induced dissociation)
```


```
e.g.: MS:1000433 (low-energy collision-induced dissociation)
```


```
et al.
```
| +| **Example cvParams:** | ```

```


```

```


```

```
| + +## 1. Element \<binary\> + +| **Definition:** | The actual base64 encoded binary data. The byte order is always 'little endian'. | +| --- | --- | +| **Type:** | xs:base64Binary | +| **Attributes:** | none | +| **Subelements:** | none | +| **Example Context:** | ```

```
| + +## 1. Element \<scanWindow\> + +| **Definition:** | A range of m/z values over which the instrument scans and aquires a spectrum. | +| --- | --- | +| **Type:** | dx:ParamGroupType | +| **Attributes:** | none | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```
| +| **cvParam Mapping Rules:** | Path mzML/run/spectrumList/spectrum/scanList/scan/scanWindowList/scanWindow

```
MAY supply a *child* term of MS:1000549 (selection window attribute) one or more times
```


```
e.g.: MS:1000500 (scan window upper limit)
```


```
e.g.: MS:1000501 (scan window lower limit)
```


```
MUST supply term MS:1000500 (scan window upper limit) only once
```


```
MUST supply term MS:1000501 (scan window lower limit) only once
```
| +| **Example cvParams:** | ```

```


```

```
| + +## 1. Element \<selectedIon\> + +| **Definition:** | Structure allowing the use of a controlled \(cvParam\) or uncontrolled vocabulary \(userParam\), or a reference to a predefined set of these in this mzML file \(paramGroupRef\). | +| --- | --- | +| **Type:** | dx:ParamGroupType | +| **Attributes:** | none | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```
| +| **cvParam Mapping Rules:** | Path mzML/run/spectrumList/spectrum/precursorList/precursor/selectedIonList/selectedIon

```
MUST supply a *child* term of MS:1000455 (ion selection attribute) one or more times
```


```
e.g.: MS:1000041 (charge state)
```


```
e.g.: MS:1000042 (intensity)
```


```
e.g.: MS:1000633 (possible charge state)
```


```
e.g.: MS:1000744 (selected ion m/z)
```
| +| **Example cvParams:** | ```

```


```

```


```

```


```

```
| + +# 1. **Conclusions** + +This document contains the specifications for using the mzML format to represent mass spectrometry results, metadata and associated context. This specification, in conjunction with the XML Schema and the Reference Manual constitute a proposal for a standard from the Proteomics Standards Initiative. These artefacts are currently undergoing the PSI document process standardization process, which will result in a standard officially sanctioned by PSI. + +# 1. **Authors** **and Contributors** + +Eric Deutsch + +Institute for Systems Biology,
+ +[edeutsch@systemsbiology.org](mailto:edeutsch@systemsbiology.org) + +Lennart Martens + +EMBL Outstation, + +The European Bioinformatics Institute, + +Wellcome Trust Genome Campus, + + CB10 1SD + +[lennart.martens@ebi.ac.uk](mailto:lennart.martens@ebi.ac.uk) + +Pierre\-Alain Binz + +Swiss Institute of Bioinformatics + +Proteome Informatics Group + +1, Rue Michel Servet + +CH\-1211 Geneve 4 + +[Pierre\-Alain.Binz@isb\-sib.ch](mailto:Pierre-Alain.Binz@isb-sib.ch) + +[darren.kessner@cshs.org](mailto:darren.kessner@cshs.org) + +Matthew Chambers + +Department of Biomedical Informatics + + Room 9160, III + +[matthew.chambers@vanderbilt.edu](mailto:matthew.chambers@vanderbilt.edu) + +Marc Sturm + +Center for Bioinformatics + +Eberhard Karls University Tübingen + +Sand 14 + +72076 Tübingen + +Germany + +[sturm.marc@gmail.com](mailto:sturm.marc@gmail.com) + +Fredrik Levander + +Department of Immunotechnology + +Biomedical Centre D13, S\-221 + +84 Lund + +Sweden + +Fredrik.Levander@immun.lth.se + +The following people contributed to the model development, controlled vocabulary development, gave feedback or tested mzML: + +- Luisa Montecchi\-Palazzi, European Bioinformatics Institute + +- Puneet Souda, of + +- Karl Clauser, Broad Institute + +- Mike Coleman, Stowers Institute + +- David Creasy, Matrix Science Ltd. + +- Eva Duchoslav, MDS Sciex + +- , + +- Jayson Falkner, + +- David Horn, Agilent Technologies + +- Phil Jones, European Bioinformatics Institute + +- Henning Hermjakob, European Bioinformatics Institute + +- Randy Julian, Indigo Biosystems + +- Kent Laursen, Indigo Biosystems + +- + +- Ruth McNally, ESRC CESAGen + +- Luis Mendoza, Institute for Systems Biology + +- Patrick Pedrioli, Swiss Institute of Technology + +- Angel Pizarro, + +- Brian Pratt, Insilicos, LLC + +- Erik Nilsson Insilicos, LLC + +- Sean Seymour, Applied Biosystems + +- Jim Shofstahl, Thermo Fisher + +- Howard Read, Waters + +- Jim Langridge, Waters + +- , Institute for Systems Biology + +- , Institute for Systems Biology + +- , Institute for Systems Biology + +- Chris Taylor, European Bioinformatics Institute + +- Trish Whetzel, + +- Lars Nilse \(\) + +- Benito Cañas \(\) + +- Lola Gutierrez \(\) + +- Alberto Medina \(\) + +- Ron Beavis \(UBC\) + +- Norman Paton \(\) + +- \(ETHZ\) + +- Parag Mallick \(CSHS\) + +- Rune Philosof + +- David Sparkman \(U Pacific\) + +- Wilfred Tang \(ABI\) + +- Marius Kallhardt \(Bruker\) + +- Steffen Neumann \(IPB \) + +# 1. **References** + +Bradner, S. \(1997\). "Key words for use in RFCs to Indicate Requirement Levels, Internet Engineering Task Force, RFC 2119, [http://www.ietf.org/rfc/rfc2119.txt.](http://www.ietf.org/rfc/rfc2119.txt.)" + +Jones, A. R., M. Miller, et al. \(2007\). "The Functional Genomics Experiment model \(FuGE\): an extensible framework for standards in functional genomics." Nat Biotechnol **25**\(10\): 1127\-1133. + +Julian, R. K., P.\-A. Binz, et al. \(2005\). "[http://psidev.info/index.php?q=node/80\#mzdata.](http://psidev.info/index.php?q=node/80#mzdata.)" + +Pedrioli, P. G., J. K. Eng, et al. \(2004\). "A common open representation of mass spectrometry data and its application to proteomics research." Nat Biotechnol **22**\(11\): 1459\-66. + +# 1. **Intellectual Property Statement** + +The PSI takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the PSI Chair. + +The PSI invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this recommendation. Please address the information to the PSI Chair \(see contacts information at PSI website\). + +# 1. **Appendix A: The mzML indexing wrapper schema** + +One of the features of mzXML \(Pedrioli et al. 1994\) was a byte\-offset index that allowed random access to arbitrary spectra within the file. This was extremely useful for user interfaces that needed to rapidly access one or a few spectra without parsing through huge files. Most vendor binary formats have this feature as well. + +This feature was retained for mzML in that we provide a reference implementation for indexing as a wrapper schema for an mzML document. Therefore, mzML documents themselves do not have an index. But an mzML file can contain \ as the top element, contain an mzML document, followed by the index. Reader software should be prepared to gracefully handle a .mzML file that has and index or not, although it need never actually use the index. + +Below is the documentation for the wrapper index schema. + +## 1. Element \<indexedmzML\> + +| **Definition:** | Container element for mzML which allows the addition of an index. | +| --- | --- | +| **Type:** | | +| **Attributes:** | none | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```

```


```

```


```

```


```

```


```

```


```
...
```


```

```
| + +## 1. Element \<dx:mzML\> + +This element is defined in another xsd document. + +## 1. Element \<indexList\> + +| **Definition:** | List of indices. | +| --- | --- | +| **Type:** | dx:IndexListType | +| **Attributes:** | | +| **Subelements:** | | +| **Example Context:** | ```

```


```

```


```
4362
```


```
326364
```


```
646527
```


```
659046
```


```
679907
```


```
...
```


```

```
| + +## 1. Element \<indexListOffset\> + +| **Definition:** | File pointer offset \(in bytes\) of the 'indexList' element. | +| --- | --- | +| **Type:** | xs:long | +| **Attributes:** | none | +| **Subelements:** | none | +| **Example Context:** | ```
5098920
```
| + +## 1. Element \<fileChecksum\> + +| **Definition:** | SHA\-1 checksum from beginning of file to end of 'fileChecksum' open tag. | +| --- | --- | +| **Type:** | xs:string | +| **Attributes:** | none | +| **Subelements:** | none | +| **Example Context:** | ```
0dbebfb99075881afa2002177d37e4d6215fdced
```
| + +## 1. Element \<index\> + +| **Definition:** | Index element containing one or more offsets for random data access for the entity described in the 'name' attribute. | +| --- | --- | +| **Type:** | dx:IndexType | +| **Attributes:** | | +| **Subelements:** | | +| **Example Context:** | ```

```


```
4362
```


```
326364
```


```
646527
```


```
659046
```


```
679907
```


```
698061
```


```
...
```


```

```
| + +## 1. Element \<offset\> + +| **Definition:** | File pointer offset \(in bytes\) of the element identified by the 'id' attribute. | +| --- | --- | +| **Type:** | dx:OffsetType | +| **Attributes:** | | +| **Subelements:** | none | +| **Example Context:** | ```
1297507
```
| + +# **Copyright Notice** + +Copyright \(C\) Proteomics Standards Initiative \(2009\). All Rights Reserved. + +This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the PSI or other organizations, except as needed for the purpose of developing Proteomics Recommendations in which case the procedures for copyrights defined in the PSI Document process must be followed, or as required to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked by the PSI or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" basis and THE PROTEOMICS STANDARDS INITIATIVE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE." + +----- + +[http://www.psidev.info/](http://www.psidev.info/) 2 \ No newline at end of file diff --git a/GeneratedSchemaLibraries/mzML/mzML1.1.1_idx.xsd-g.cs b/GeneratedSchemaLibraries/mzML/mzML1.1.1_idx.xsd-g.cs new file mode 100644 index 00000000..5baa1e01 --- /dev/null +++ b/GeneratedSchemaLibraries/mzML/mzML1.1.1_idx.xsd-g.cs @@ -0,0 +1,8796 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// LinqToXsd Version: 3.4.24 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace PsiDev.MzMl { + using System; + using System.Collections; + using System.Collections.Generic; + using System.ComponentModel; + using System.IO; + using System.Linq; + using System.Diagnostics; + using System.Xml; + using System.Xml.Schema; + using System.Xml.Linq; + using Xml.Schema.Linq; + + + /// + /// + /// Regular expression: (mzML, indexList, indexListOffset, fileChecksum) + /// + /// + public partial class indexedmzML : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static indexedmzML Load(string xmlFile) { + return XTypedServices.Load(xmlFile); + } + + public static indexedmzML Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile); + } + + public static indexedmzML Parse(string xml) { + return XTypedServices.Parse(xml); + } + + public static explicit operator indexedmzML(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (mzML, indexList, indexListOffset, fileChecksum) + /// + /// + public indexedmzML() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName mzMLXName = System.Xml.Linq.XName.Get("mzML", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (mzML, indexList, indexListOffset, fileChecksum) + /// + /// + public virtual mzML mzML { + get { + XElement x = this.GetElement(mzMLXName); + return ((mzML)(x)); + } + set { + this.SetElement(mzMLXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName indexListXName = System.Xml.Linq.XName.Get("indexList", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// List of indices. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (mzML, indexList, indexListOffset, fileChecksum) + /// + /// + public virtual IndexListType indexList { + get { + XElement x = this.GetElement(indexListXName); + return ((IndexListType)(x)); + } + set { + this.SetElement(indexListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName indexListOffsetXName = System.Xml.Linq.XName.Get("indexListOffset", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// File pointer offset (in bytes) of the 'indexList' element. + /// + /// + /// Occurrence: required, nillable + /// + /// + /// Regular expression: (mzML, indexList, indexListOffset, fileChecksum) + /// + /// + public virtual System.Int64? indexListOffset { + get { + XElement x = this.GetElement(indexListOffsetXName); + if (x.IsXsiNil()) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetElement(indexListOffsetXName, value ?? XNil.Value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName fileChecksumXName = System.Xml.Linq.XName.Get("fileChecksum", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// SHA-1 checksum from beginning of file to end of 'fileChecksum' open tag. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (mzML, indexList, indexListOffset, fileChecksum) + /// + /// + public virtual string fileChecksum { + get { + XElement x = this.GetElement(fileChecksumXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetElement(fileChecksumXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("indexedmzML", "http://psi.hupo.org/ms/mzml"); + + static indexedmzML() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(mzMLXName), new NamedContentModelEntity(indexListXName), new NamedContentModelEntity(indexListOffsetXName), new NamedContentModelEntity(fileChecksumXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(mzMLXName, typeof(mzML)); + localElementDictionary.Add(indexListXName, typeof(IndexListType)); + localElementDictionary.Add(indexListOffsetXName, typeof(long)); + localElementDictionary.Add(fileChecksumXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// This is the root element for the Proteomics Standards Initiative (PSI) mzML schema, which is intended to capture the use of a mass spectrometer, the data generated, and the initial processing of that data (to the level of the peak list). + /// + /// + /// Regular expression: (cvList, fileDescription, referenceableParamGroupList?, sampleList?, softwareList, scanSettingsList?, instrumentConfigurationList, dataProcessingList, run) + /// + /// + public partial class mzMLType : XTypedElement, IXMetaData { + + public static explicit operator mzMLType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// This is the root element for the Proteomics Standards Initiative (PSI) mzML schema, which is intended to capture the use of a mass spectrometer, the data generated, and the initial processing of that data (to the level of the peak list). + /// + /// + /// Regular expression: (cvList, fileDescription, referenceableParamGroupList?, sampleList?, softwareList, scanSettingsList?, instrumentConfigurationList, dataProcessingList, run) + /// + /// + public mzMLType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName cvListXName = System.Xml.Linq.XName.Get("cvList", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (cvList, fileDescription, referenceableParamGroupList?, sampleList?, softwareList, scanSettingsList?, instrumentConfigurationList, dataProcessingList, run) + /// + /// + public virtual CVListType cvList { + get { + XElement x = this.GetElement(cvListXName); + return ((CVListType)(x)); + } + set { + this.SetElement(cvListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName fileDescriptionXName = System.Xml.Linq.XName.Get("fileDescription", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (cvList, fileDescription, referenceableParamGroupList?, sampleList?, softwareList, scanSettingsList?, instrumentConfigurationList, dataProcessingList, run) + /// + /// + public virtual FileDescriptionType fileDescription { + get { + XElement x = this.GetElement(fileDescriptionXName); + return ((FileDescriptionType)(x)); + } + set { + this.SetElement(fileDescriptionXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName referenceableParamGroupListXName = System.Xml.Linq.XName.Get("referenceableParamGroupList", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (cvList, fileDescription, referenceableParamGroupList?, sampleList?, softwareList, scanSettingsList?, instrumentConfigurationList, dataProcessingList, run) + /// + /// + public virtual ReferenceableParamGroupListType referenceableParamGroupList { + get { + XElement x = this.GetElement(referenceableParamGroupListXName); + if ((x == null)) { + return null; + } + return ((ReferenceableParamGroupListType)(x)); + } + set { + this.SetElement(referenceableParamGroupListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName sampleListXName = System.Xml.Linq.XName.Get("sampleList", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (cvList, fileDescription, referenceableParamGroupList?, sampleList?, softwareList, scanSettingsList?, instrumentConfigurationList, dataProcessingList, run) + /// + /// + public virtual SampleListType sampleList { + get { + XElement x = this.GetElement(sampleListXName); + if ((x == null)) { + return null; + } + return ((SampleListType)(x)); + } + set { + this.SetElement(sampleListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName softwareListXName = System.Xml.Linq.XName.Get("softwareList", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (cvList, fileDescription, referenceableParamGroupList?, sampleList?, softwareList, scanSettingsList?, instrumentConfigurationList, dataProcessingList, run) + /// + /// + public virtual SoftwareListType softwareList { + get { + XElement x = this.GetElement(softwareListXName); + return ((SoftwareListType)(x)); + } + set { + this.SetElement(softwareListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName scanSettingsListXName = System.Xml.Linq.XName.Get("scanSettingsList", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (cvList, fileDescription, referenceableParamGroupList?, sampleList?, softwareList, scanSettingsList?, instrumentConfigurationList, dataProcessingList, run) + /// + /// + public virtual ScanSettingsListType scanSettingsList { + get { + XElement x = this.GetElement(scanSettingsListXName); + if ((x == null)) { + return null; + } + return ((ScanSettingsListType)(x)); + } + set { + this.SetElement(scanSettingsListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName instrumentConfigurationListXName = System.Xml.Linq.XName.Get("instrumentConfigurationList", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (cvList, fileDescription, referenceableParamGroupList?, sampleList?, softwareList, scanSettingsList?, instrumentConfigurationList, dataProcessingList, run) + /// + /// + public virtual InstrumentConfigurationListType instrumentConfigurationList { + get { + XElement x = this.GetElement(instrumentConfigurationListXName); + return ((InstrumentConfigurationListType)(x)); + } + set { + this.SetElement(instrumentConfigurationListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName dataProcessingListXName = System.Xml.Linq.XName.Get("dataProcessingList", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (cvList, fileDescription, referenceableParamGroupList?, sampleList?, softwareList, scanSettingsList?, instrumentConfigurationList, dataProcessingList, run) + /// + /// + public virtual DataProcessingListType dataProcessingList { + get { + XElement x = this.GetElement(dataProcessingListXName); + return ((DataProcessingListType)(x)); + } + set { + this.SetElement(dataProcessingListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName runXName = System.Xml.Linq.XName.Get("run", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (cvList, fileDescription, referenceableParamGroupList?, sampleList?, softwareList, scanSettingsList?, instrumentConfigurationList, dataProcessingList, run) + /// + /// + public virtual RunType run { + get { + XElement x = this.GetElement(runXName); + return ((RunType)(x)); + } + set { + this.SetElement(runXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName accessionXName = System.Xml.Linq.XName.Get("accession", ""); + + /// + /// + /// An optional accession number for the mzML document used for storage, e.g. in PRIDE. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string accession { + get { + XAttribute x = this.Attribute(accessionXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(accessionXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName versionXName = System.Xml.Linq.XName.Get("version", ""); + + /// + /// + /// The version of this mzML document. + /// + /// + /// Occurrence: required + /// + /// + public virtual string version { + get { + XAttribute x = this.Attribute(versionXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(versionXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// An optional id for the mzML document used for referencing from external files. It is recommended to use LSIDs when possible. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("mzMLType", "http://psi.hupo.org/ms/mzml"); + + static mzMLType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(cvListXName), new NamedContentModelEntity(fileDescriptionXName), new NamedContentModelEntity(referenceableParamGroupListXName), new NamedContentModelEntity(sampleListXName), new NamedContentModelEntity(softwareListXName), new NamedContentModelEntity(scanSettingsListXName), new NamedContentModelEntity(instrumentConfigurationListXName), new NamedContentModelEntity(dataProcessingListXName), new NamedContentModelEntity(runXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(cvListXName, typeof(CVListType)); + localElementDictionary.Add(fileDescriptionXName, typeof(FileDescriptionType)); + localElementDictionary.Add(referenceableParamGroupListXName, typeof(ReferenceableParamGroupListType)); + localElementDictionary.Add(sampleListXName, typeof(SampleListType)); + localElementDictionary.Add(softwareListXName, typeof(SoftwareListType)); + localElementDictionary.Add(scanSettingsListXName, typeof(ScanSettingsListType)); + localElementDictionary.Add(instrumentConfigurationListXName, typeof(InstrumentConfigurationListType)); + localElementDictionary.Add(dataProcessingListXName, typeof(DataProcessingListType)); + localElementDictionary.Add(runXName, typeof(RunType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Information pertaining to the entire mzML file (i.e. not specific to any part of the data set) is stored here. + /// + /// + /// Regular expression: (fileContent, sourceFileList?, contact*) + /// + /// + public partial class FileDescriptionType : XTypedElement, IXMetaData { + + public static explicit operator FileDescriptionType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Information pertaining to the entire mzML file (i.e. not specific to any part of the data set) is stored here. + /// + /// + /// Regular expression: (fileContent, sourceFileList?, contact*) + /// + /// + public FileDescriptionType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName fileContentXName = System.Xml.Linq.XName.Get("fileContent", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// This summarizes the different types of spectra that can be expected in the file. This is expected to aid processing software in skipping files that do not contain appropriate spectrum types for it. It should also describe the nativeID format used in the file by referring to an appropriate CV term. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (fileContent, sourceFileList?, contact*) + /// + /// + public virtual ParamGroupType fileContent { + get { + XElement x = this.GetElement(fileContentXName); + return ((ParamGroupType)(x)); + } + set { + this.SetElement(fileContentXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName sourceFileListXName = System.Xml.Linq.XName.Get("sourceFileList", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (fileContent, sourceFileList?, contact*) + /// + /// + public virtual SourceFileListType sourceFileList { + get { + XElement x = this.GetElement(sourceFileListXName); + if ((x == null)) { + return null; + } + return ((SourceFileListType)(x)); + } + set { + this.SetElement(sourceFileListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName contactXName = System.Xml.Linq.XName.Get("contact", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList contactField; + + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (fileContent, sourceFileList?, contact*) + /// + /// + public virtual IList contact { + get { + if ((this.contactField == null)) { + this.contactField = new XTypedList(this, LinqToXsdTypeManager.Instance, contactXName); + } + return this.contactField; + } + set { + if ((value == null)) { + this.contactField = null; + } + else { + if ((this.contactField == null)) { + this.contactField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, contactXName); + } + else { + XTypedServices.SetList(this.contactField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("FileDescriptionType", "http://psi.hupo.org/ms/mzml"); + + static FileDescriptionType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(fileContentXName), new NamedContentModelEntity(sourceFileListXName), new NamedContentModelEntity(contactXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(fileContentXName, typeof(ParamGroupType)); + localElementDictionary.Add(sourceFileListXName, typeof(SourceFileListType)); + localElementDictionary.Add(contactXName, typeof(ParamGroupType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// List and descriptions of the source files this mzML document was generated or derived from + /// + /// + /// Regular expression: (sourceFile+) + /// + /// + public partial class SourceFileListType : XTypedElement, IXMetaData { + + public static explicit operator SourceFileListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// List and descriptions of the source files this mzML document was generated or derived from + /// + /// + /// Regular expression: (sourceFile+) + /// + /// + public SourceFileListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName sourceFileXName = System.Xml.Linq.XName.Get("sourceFile", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sourceFileField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (sourceFile+) + /// + /// + public virtual IList sourceFile { + get { + if ((this.sourceFileField == null)) { + this.sourceFileField = new XTypedList(this, LinqToXsdTypeManager.Instance, sourceFileXName); + } + return this.sourceFileField; + } + set { + if ((value == null)) { + this.sourceFileField = null; + } + else { + if ((this.sourceFileField == null)) { + this.sourceFileField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sourceFileXName); + } + else { + XTypedServices.SetList(this.sourceFileField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName countXName = System.Xml.Linq.XName.Get("count", ""); + + /// + /// + /// Number of source files used in generating the instance document. + /// + /// + /// Occurrence: required + /// + /// + public virtual decimal count { + get { + XAttribute x = this.Attribute(countXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(countXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SourceFileListType", "http://psi.hupo.org/ms/mzml"); + + static SourceFileListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(sourceFileXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(sourceFileXName, typeof(SourceFileType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Description of the source file, including location and type. + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*) + /// + /// + public partial class SourceFileType : global::PsiDev.MzMl.ParamGroupType, IXMetaData { + + public static explicit operator SourceFileType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Description of the source file, including location and type. + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*) + /// + /// + public SourceFileType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName referenceableParamGroupRefXName = System.Xml.Linq.XName.Get("referenceableParamGroupRef", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName cvParamXName = System.Xml.Linq.XName.Get("cvParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName userParamXName = System.Xml.Linq.XName.Get("userParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// An identifier for this file. + /// + /// + /// Occurrence: required + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName nameXName = System.Xml.Linq.XName.Get("name", ""); + + /// + /// + /// Name of the source file, without reference to location (either URI or local path). + /// + /// + /// Occurrence: required + /// + /// + public virtual string name { + get { + XAttribute x = this.Attribute(nameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(nameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName locationXName = System.Xml.Linq.XName.Get("location", ""); + + /// + /// + /// URI-formatted location where the file was retrieved. + /// + /// + /// Occurrence: required + /// + /// + public virtual System.Uri location { + get { + XAttribute x = this.Attribute(locationXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(locationXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SourceFileType", "http://psi.hupo.org/ms/mzml"); + + static SourceFileType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(referenceableParamGroupRefXName), new NamedContentModelEntity(cvParamXName), new NamedContentModelEntity(userParamXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(referenceableParamGroupRefXName, typeof(ReferenceableParamGroupRefType)); + localElementDictionary.Add(cvParamXName, typeof(CVParamType)); + localElementDictionary.Add(userParamXName, typeof(UserParamType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Information about an ontology or CV source and a short 'lookup' tag to refer to. + /// + /// + public partial class CVType : XTypedElement, IXMetaData { + + public static explicit operator CVType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Information about an ontology or CV source and a short 'lookup' tag to refer to. + /// + /// + public CVType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// The short label to be used as a reference tag with which to refer to this particular Controlled Vocabulary source description (e.g., from the cvLabel attribute, in CVParamType elements). + /// + /// + /// Occurrence: required + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName fullNameXName = System.Xml.Linq.XName.Get("fullName", ""); + + /// + /// + /// The usual name for the resource (e.g. The PSI-MS Controlled Vocabulary). + /// + /// + /// Occurrence: required + /// + /// + public virtual string fullName { + get { + XAttribute x = this.Attribute(fullNameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(fullNameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName versionXName = System.Xml.Linq.XName.Get("version", ""); + + /// + /// + /// The version of the CV from which the referred-to terms are drawn. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string version { + get { + XAttribute x = this.Attribute(versionXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(versionXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName URIXName = System.Xml.Linq.XName.Get("URI", ""); + + /// + /// + /// The URI for the resource. + /// + /// + /// Occurrence: required + /// + /// + public virtual System.Uri URI { + get { + XAttribute x = this.Attribute(URIXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(URIXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CVType", "http://psi.hupo.org/ms/mzml"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Container for one or more controlled vocabulary definitions. + /// + /// + /// Regular expression: (cv+) + /// + /// + public partial class CVListType : XTypedElement, IXMetaData { + + public static explicit operator CVListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Container for one or more controlled vocabulary definitions. + /// + /// + /// Regular expression: (cv+) + /// + /// + public CVListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName cvXName = System.Xml.Linq.XName.Get("cv", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList cvField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (cv+) + /// + /// + public virtual IList cv { + get { + if ((this.cvField == null)) { + this.cvField = new XTypedList(this, LinqToXsdTypeManager.Instance, cvXName); + } + return this.cvField; + } + set { + if ((value == null)) { + this.cvField = null; + } + else { + if ((this.cvField == null)) { + this.cvField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, cvXName); + } + else { + XTypedServices.SetList(this.cvField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName countXName = System.Xml.Linq.XName.Get("count", ""); + + /// + /// + /// The number of CV definitionsin this mzML file. + /// + /// + /// Occurrence: required + /// + /// + public virtual decimal count { + get { + XAttribute x = this.Attribute(countXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(countXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CVListType", "http://psi.hupo.org/ms/mzml"); + + static CVListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(cvXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(cvXName, typeof(CVType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Container for a list of referenceableParamGroups + /// + /// + /// Regular expression: (referenceableParamGroup+) + /// + /// + public partial class ReferenceableParamGroupListType : XTypedElement, IXMetaData { + + public static explicit operator ReferenceableParamGroupListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Container for a list of referenceableParamGroups + /// + /// + /// Regular expression: (referenceableParamGroup+) + /// + /// + public ReferenceableParamGroupListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName referenceableParamGroupXName = System.Xml.Linq.XName.Get("referenceableParamGroup", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList referenceableParamGroupField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (referenceableParamGroup+) + /// + /// + public virtual IList referenceableParamGroup { + get { + if ((this.referenceableParamGroupField == null)) { + this.referenceableParamGroupField = new XTypedList(this, LinqToXsdTypeManager.Instance, referenceableParamGroupXName); + } + return this.referenceableParamGroupField; + } + set { + if ((value == null)) { + this.referenceableParamGroupField = null; + } + else { + if ((this.referenceableParamGroupField == null)) { + this.referenceableParamGroupField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, referenceableParamGroupXName); + } + else { + XTypedServices.SetList(this.referenceableParamGroupField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName countXName = System.Xml.Linq.XName.Get("count", ""); + + /// + /// + /// The number of ParamGroups defined in this mzML file. + /// + /// + /// Occurrence: required + /// + /// + public virtual decimal count { + get { + XAttribute x = this.Attribute(countXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(countXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ReferenceableParamGroupListType", "http://psi.hupo.org/ms/mzml"); + + static ReferenceableParamGroupListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(referenceableParamGroupXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(referenceableParamGroupXName, typeof(ReferenceableParamGroupType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Structure allowing the use of a controlled (cvParam) or uncontrolled vocabulary (userParam), or a reference to a predefined set of these in this mzML file (paramGroupRef). + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*) + /// + /// + public partial class ParamGroupType : XTypedElement, IXMetaData { + + public static explicit operator ParamGroupType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Structure allowing the use of a controlled (cvParam) or uncontrolled vocabulary (userParam), or a reference to a predefined set of these in this mzML file (paramGroupRef). + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*) + /// + /// + public ParamGroupType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName referenceableParamGroupRefXName = System.Xml.Linq.XName.Get("referenceableParamGroupRef", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList referenceableParamGroupRefField; + + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*) + /// + /// + public virtual IList referenceableParamGroupRef { + get { + if ((this.referenceableParamGroupRefField == null)) { + this.referenceableParamGroupRefField = new XTypedList(this, LinqToXsdTypeManager.Instance, referenceableParamGroupRefXName); + } + return this.referenceableParamGroupRefField; + } + set { + if ((value == null)) { + this.referenceableParamGroupRefField = null; + } + else { + if ((this.referenceableParamGroupRefField == null)) { + this.referenceableParamGroupRefField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, referenceableParamGroupRefXName); + } + else { + XTypedServices.SetList(this.referenceableParamGroupRefField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName cvParamXName = System.Xml.Linq.XName.Get("cvParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList cvParamField; + + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*) + /// + /// + public virtual IList cvParam { + get { + if ((this.cvParamField == null)) { + this.cvParamField = new XTypedList(this, LinqToXsdTypeManager.Instance, cvParamXName); + } + return this.cvParamField; + } + set { + if ((value == null)) { + this.cvParamField = null; + } + else { + if ((this.cvParamField == null)) { + this.cvParamField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, cvParamXName); + } + else { + XTypedServices.SetList(this.cvParamField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName userParamXName = System.Xml.Linq.XName.Get("userParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList userParamField; + + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*) + /// + /// + public virtual IList userParam { + get { + if ((this.userParamField == null)) { + this.userParamField = new XTypedList(this, LinqToXsdTypeManager.Instance, userParamXName); + } + return this.userParamField; + } + set { + if ((value == null)) { + this.userParamField = null; + } + else { + if ((this.userParamField == null)) { + this.userParamField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, userParamXName); + } + else { + XTypedServices.SetList(this.userParamField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ParamGroupType", "http://psi.hupo.org/ms/mzml"); + + static ParamGroupType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(referenceableParamGroupRefXName), new NamedContentModelEntity(cvParamXName), new NamedContentModelEntity(userParamXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(referenceableParamGroupRefXName, typeof(ReferenceableParamGroupRefType)); + localElementDictionary.Add(cvParamXName, typeof(CVParamType)); + localElementDictionary.Add(userParamXName, typeof(UserParamType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A collection of CVParam and UserParam elements that can be referenced from elsewhere in this mzML document by using the 'paramGroupRef' element in that location to reference the 'id' attribute value of this element. + /// + /// + /// Regular expression: (cvParam*, userParam*) + /// + /// + public partial class ReferenceableParamGroupType : XTypedElement, IXMetaData { + + public static explicit operator ReferenceableParamGroupType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// A collection of CVParam and UserParam elements that can be referenced from elsewhere in this mzML document by using the 'paramGroupRef' element in that location to reference the 'id' attribute value of this element. + /// + /// + /// Regular expression: (cvParam*, userParam*) + /// + /// + public ReferenceableParamGroupType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName cvParamXName = System.Xml.Linq.XName.Get("cvParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList cvParamField; + + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (cvParam*, userParam*) + /// + /// + public virtual IList cvParam { + get { + if ((this.cvParamField == null)) { + this.cvParamField = new XTypedList(this, LinqToXsdTypeManager.Instance, cvParamXName); + } + return this.cvParamField; + } + set { + if ((value == null)) { + this.cvParamField = null; + } + else { + if ((this.cvParamField == null)) { + this.cvParamField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, cvParamXName); + } + else { + XTypedServices.SetList(this.cvParamField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName userParamXName = System.Xml.Linq.XName.Get("userParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList userParamField; + + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (cvParam*, userParam*) + /// + /// + public virtual IList userParam { + get { + if ((this.userParamField == null)) { + this.userParamField = new XTypedList(this, LinqToXsdTypeManager.Instance, userParamXName); + } + return this.userParamField; + } + set { + if ((value == null)) { + this.userParamField = null; + } + else { + if ((this.userParamField == null)) { + this.userParamField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, userParamXName); + } + else { + XTypedServices.SetList(this.userParamField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// The identifier with which to reference this ReferenceableParamGroup. + /// + /// + /// Occurrence: required + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ReferenceableParamGroupType", "http://psi.hupo.org/ms/mzml"); + + static ReferenceableParamGroupType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(cvParamXName), new NamedContentModelEntity(userParamXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(cvParamXName, typeof(CVParamType)); + localElementDictionary.Add(userParamXName, typeof(UserParamType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// This element holds additional data or annotation. Only controlled values are allowed here. + /// + /// + public partial class CVParamType : XTypedElement, IXMetaData { + + public static explicit operator CVParamType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// This element holds additional data or annotation. Only controlled values are allowed here. + /// + /// + public CVParamType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName cvRefXName = System.Xml.Linq.XName.Get("cvRef", ""); + + /// + /// + /// A reference to the CV 'id' attribute as defined in the cvList in this mzML file. + /// + /// + /// Occurrence: required + /// + /// + public virtual string cvRef { + get { + XAttribute x = this.Attribute(cvRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(cvRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName accessionXName = System.Xml.Linq.XName.Get("accession", ""); + + /// + /// + /// The accession number of the referred-to term in the named resource (e.g.: MS:000012). + /// + /// + /// Occurrence: required + /// + /// + public virtual string accession { + get { + XAttribute x = this.Attribute(accessionXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(accessionXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName valueXName = System.Xml.Linq.XName.Get("value", ""); + + /// + /// + /// The value for the parameter; may be absent if not appropriate, or a numeric or symbolic value, or may itself be CV (legal values for a parameter should be enumerated and defined in the ontology). + /// + /// + /// Occurrence: optional + /// + /// + public virtual string value { + get { + XAttribute x = this.Attribute(valueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(valueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName nameXName = System.Xml.Linq.XName.Get("name", ""); + + /// + /// + /// The actual name for the parameter, from the referred-to controlled vocabulary. This should be the preferred name associated with the specified accession number. + /// + /// + /// Occurrence: required + /// + /// + public virtual string name { + get { + XAttribute x = this.Attribute(nameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(nameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName unitAccessionXName = System.Xml.Linq.XName.Get("unitAccession", ""); + + /// + /// + /// An optional CV accession number for the unit term associated with the value, if any (e.g., 'UO:0000266' for 'electron volt'). + /// + /// + /// Occurrence: optional + /// + /// + public virtual string unitAccession { + get { + XAttribute x = this.Attribute(unitAccessionXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(unitAccessionXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName unitNameXName = System.Xml.Linq.XName.Get("unitName", ""); + + /// + /// + /// An optional CV name for the unit accession number, if any (e.g., 'electron volt' for 'UO:0000266' ). + /// + /// + /// Occurrence: optional + /// + /// + public virtual string unitName { + get { + XAttribute x = this.Attribute(unitNameXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(unitNameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName unitCvRefXName = System.Xml.Linq.XName.Get("unitCvRef", ""); + + /// + /// + /// If a unit term is referenced, this attribute must refer to the CV 'id' attribute defined in the cvList in this mzML file. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string unitCvRef { + get { + XAttribute x = this.Attribute(unitCvRefXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(unitCvRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CVParamType", "http://psi.hupo.org/ms/mzml"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Uncontrolled user parameters (essentially allowing free text). Before using these, one should verify whether there is an appropriate CV term available, and if so, use the CV term instead + /// + /// + public partial class UserParamType : XTypedElement, IXMetaData { + + public static explicit operator UserParamType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Uncontrolled user parameters (essentially allowing free text). Before using these, one should verify whether there is an appropriate CV term available, and if so, use the CV term instead + /// + /// + public UserParamType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName nameXName = System.Xml.Linq.XName.Get("name", ""); + + /// + /// + /// The name for the parameter. + /// + /// + /// Occurrence: required + /// + /// + public virtual string name { + get { + XAttribute x = this.Attribute(nameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(nameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName typeXName = System.Xml.Linq.XName.Get("type", ""); + + /// + /// + /// The datatype of the parameter, where appropriate (e.g.: xsd:float). + /// + /// + /// Occurrence: optional + /// + /// + public virtual string type { + get { + XAttribute x = this.Attribute(typeXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(typeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName valueXName = System.Xml.Linq.XName.Get("value", ""); + + /// + /// + /// The value for the parameter, where appropriate. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string value { + get { + XAttribute x = this.Attribute(valueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(valueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName unitAccessionXName = System.Xml.Linq.XName.Get("unitAccession", ""); + + /// + /// + /// An optional CV accession number for the unit term associated with the value, if any (e.g., 'UO:0000266' for 'electron volt'). + /// + /// + /// Occurrence: optional + /// + /// + public virtual string unitAccession { + get { + XAttribute x = this.Attribute(unitAccessionXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(unitAccessionXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName unitNameXName = System.Xml.Linq.XName.Get("unitName", ""); + + /// + /// + /// An optional CV name for the unit accession number, if any (e.g., 'electron volt' for 'UO:0000266' ). + /// + /// + /// Occurrence: optional + /// + /// + public virtual string unitName { + get { + XAttribute x = this.Attribute(unitNameXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(unitNameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName unitCvRefXName = System.Xml.Linq.XName.Get("unitCvRef", ""); + + /// + /// + /// If a unit term is referenced, this attribute must refer to the CV 'id' attribute defined in the cvList in this mzML file. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string unitCvRef { + get { + XAttribute x = this.Attribute(unitCvRefXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(unitCvRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("UserParamType", "http://psi.hupo.org/ms/mzml"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A reference to a previously defined ParamGroup, which is a reusable container of one or more cvParams. + /// + /// + public partial class ReferenceableParamGroupRefType : XTypedElement, IXMetaData { + + public static explicit operator ReferenceableParamGroupRefType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// A reference to a previously defined ParamGroup, which is a reusable container of one or more cvParams. + /// + /// + public ReferenceableParamGroupRefType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName @refXName = System.Xml.Linq.XName.Get("ref", ""); + + /// + /// + /// Reference to the id attribute in a referenceableParamGroup. + /// + /// + /// Occurrence: required + /// + /// + public virtual string @ref { + get { + XAttribute x = this.Attribute(@refXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(@refXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ReferenceableParamGroupRefType", "http://psi.hupo.org/ms/mzml"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// List and descriptions of samples. + /// + /// + /// Regular expression: (sample+) + /// + /// + public partial class SampleListType : XTypedElement, IXMetaData { + + public static explicit operator SampleListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// List and descriptions of samples. + /// + /// + /// Regular expression: (sample+) + /// + /// + public SampleListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName sampleXName = System.Xml.Linq.XName.Get("sample", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sampleField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (sample+) + /// + /// + public virtual IList sample { + get { + if ((this.sampleField == null)) { + this.sampleField = new XTypedList(this, LinqToXsdTypeManager.Instance, sampleXName); + } + return this.sampleField; + } + set { + if ((value == null)) { + this.sampleField = null; + } + else { + if ((this.sampleField == null)) { + this.sampleField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sampleXName); + } + else { + XTypedServices.SetList(this.sampleField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName countXName = System.Xml.Linq.XName.Get("count", ""); + + /// + /// + /// The number of Samples defined in this mzML file. + /// + /// + /// Occurrence: required + /// + /// + public virtual decimal count { + get { + XAttribute x = this.Attribute(countXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(countXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SampleListType", "http://psi.hupo.org/ms/mzml"); + + static SampleListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(sampleXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(sampleXName, typeof(SampleType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Expansible description of the sample used to generate the dataset, named in sampleName. + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*) + /// + /// + public partial class SampleType : global::PsiDev.MzMl.ParamGroupType, IXMetaData { + + public static explicit operator SampleType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Expansible description of the sample used to generate the dataset, named in sampleName. + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*) + /// + /// + public SampleType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName referenceableParamGroupRefXName = System.Xml.Linq.XName.Get("referenceableParamGroupRef", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName cvParamXName = System.Xml.Linq.XName.Get("cvParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName userParamXName = System.Xml.Linq.XName.Get("userParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// A unique identifier across the samples with which to reference this sample description. + /// + /// + /// Occurrence: required + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName nameXName = System.Xml.Linq.XName.Get("name", ""); + + /// + /// + /// An optional name for the sample description, mostly intended as a quick mnemonic. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string name { + get { + XAttribute x = this.Attribute(nameXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(nameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SampleType", "http://psi.hupo.org/ms/mzml"); + + static SampleType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(referenceableParamGroupRefXName), new NamedContentModelEntity(cvParamXName), new NamedContentModelEntity(userParamXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(referenceableParamGroupRefXName, typeof(ReferenceableParamGroupRefType)); + localElementDictionary.Add(cvParamXName, typeof(CVParamType)); + localElementDictionary.Add(userParamXName, typeof(UserParamType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// List and descriptions of instrument configurations. At least one instrument configuration must be specified, even if it is only to specify that the instrument is unknown. In that case, the "instrument model" term is used to indicate the unknown instrument in the instrumentConfiguration. + /// + /// + /// Regular expression: (instrumentConfiguration+) + /// + /// + public partial class InstrumentConfigurationListType : XTypedElement, IXMetaData { + + public static explicit operator InstrumentConfigurationListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// List and descriptions of instrument configurations. At least one instrument configuration must be specified, even if it is only to specify that the instrument is unknown. In that case, the "instrument model" term is used to indicate the unknown instrument in the instrumentConfiguration. + /// + /// + /// Regular expression: (instrumentConfiguration+) + /// + /// + public InstrumentConfigurationListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName instrumentConfigurationXName = System.Xml.Linq.XName.Get("instrumentConfiguration", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList instrumentConfigurationField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (instrumentConfiguration+) + /// + /// + public virtual IList instrumentConfiguration { + get { + if ((this.instrumentConfigurationField == null)) { + this.instrumentConfigurationField = new XTypedList(this, LinqToXsdTypeManager.Instance, instrumentConfigurationXName); + } + return this.instrumentConfigurationField; + } + set { + if ((value == null)) { + this.instrumentConfigurationField = null; + } + else { + if ((this.instrumentConfigurationField == null)) { + this.instrumentConfigurationField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, instrumentConfigurationXName); + } + else { + XTypedServices.SetList(this.instrumentConfigurationField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName countXName = System.Xml.Linq.XName.Get("count", ""); + + /// + /// + /// The number of instrument configurations present in this list. + /// + /// + /// Occurrence: required + /// + /// + public virtual decimal count { + get { + XAttribute x = this.Attribute(countXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(countXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("InstrumentConfigurationListType", "http://psi.hupo.org/ms/mzml"); + + static InstrumentConfigurationListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(instrumentConfigurationXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(instrumentConfigurationXName, typeof(InstrumentConfigurationType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*) + /// + /// + public partial class ComponentType : global::PsiDev.MzMl.ParamGroupType, IXMetaData { + + public static explicit operator ComponentType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*) + /// + /// + public ComponentType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName referenceableParamGroupRefXName = System.Xml.Linq.XName.Get("referenceableParamGroupRef", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName cvParamXName = System.Xml.Linq.XName.Get("cvParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName userParamXName = System.Xml.Linq.XName.Get("userParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName orderXName = System.Xml.Linq.XName.Get("order", ""); + + /// + /// + /// This attribute must be used to indicate the order in which the components are encountered from source to detector (e.g., in a Q-TOF, the quadrupole would have the lower order number, and the TOF the higher number of the two). + /// + /// + /// Occurrence: required + /// + /// + public virtual int order { + get { + XAttribute x = this.Attribute(orderXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Int).Datatype); + } + set { + this.SetAttribute(orderXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Int).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ComponentType", "http://psi.hupo.org/ms/mzml"); + + static ComponentType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(referenceableParamGroupRefXName), new NamedContentModelEntity(cvParamXName), new NamedContentModelEntity(userParamXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(referenceableParamGroupRefXName, typeof(ReferenceableParamGroupRefType)); + localElementDictionary.Add(cvParamXName, typeof(CVParamType)); + localElementDictionary.Add(userParamXName, typeof(UserParamType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// This element must be used to describe a Source Component Type. This is a PRIDE3-specific + /// modification of the core MzML schema that does not have any impact on the base schema validation. + /// + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*) + /// + /// + public partial class SourceComponentType : global::PsiDev.MzMl.ComponentType, IXMetaData { + + public static explicit operator SourceComponentType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// This element must be used to describe a Source Component Type. This is a PRIDE3-specific + /// modification of the core MzML schema that does not have any impact on the base schema validation. + /// + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*) + /// + /// + public SourceComponentType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName referenceableParamGroupRefXName = System.Xml.Linq.XName.Get("referenceableParamGroupRef", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName cvParamXName = System.Xml.Linq.XName.Get("cvParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName userParamXName = System.Xml.Linq.XName.Get("userParam", "http://psi.hupo.org/ms/mzml"); + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SourceComponentType", "http://psi.hupo.org/ms/mzml"); + + static SourceComponentType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(referenceableParamGroupRefXName), new NamedContentModelEntity(cvParamXName), new NamedContentModelEntity(userParamXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(referenceableParamGroupRefXName, typeof(ReferenceableParamGroupRefType)); + localElementDictionary.Add(cvParamXName, typeof(CVParamType)); + localElementDictionary.Add(userParamXName, typeof(UserParamType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// This element must be used to describe a Detector Component Type. This is a PRIDE3-specific + /// modification of the core MzML schema that does not have any impact on the base schema validation. + /// + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*) + /// + /// + public partial class DetectorComponentType : global::PsiDev.MzMl.ComponentType, IXMetaData { + + public static explicit operator DetectorComponentType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// This element must be used to describe a Detector Component Type. This is a PRIDE3-specific + /// modification of the core MzML schema that does not have any impact on the base schema validation. + /// + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*) + /// + /// + public DetectorComponentType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName referenceableParamGroupRefXName = System.Xml.Linq.XName.Get("referenceableParamGroupRef", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName cvParamXName = System.Xml.Linq.XName.Get("cvParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName userParamXName = System.Xml.Linq.XName.Get("userParam", "http://psi.hupo.org/ms/mzml"); + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("DetectorComponentType", "http://psi.hupo.org/ms/mzml"); + + static DetectorComponentType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(referenceableParamGroupRefXName), new NamedContentModelEntity(cvParamXName), new NamedContentModelEntity(userParamXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(referenceableParamGroupRefXName, typeof(ReferenceableParamGroupRefType)); + localElementDictionary.Add(cvParamXName, typeof(CVParamType)); + localElementDictionary.Add(userParamXName, typeof(UserParamType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// This element must be used to describe an Analyzer Component Type. This is a + /// PRIDE3-specific + /// modification of the core MzML schema that does not have any impact on the base schema validation. + /// + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*) + /// + /// + public partial class AnalyzerComponentType : global::PsiDev.MzMl.ComponentType, IXMetaData { + + public static explicit operator AnalyzerComponentType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// This element must be used to describe an Analyzer Component Type. This is a + /// PRIDE3-specific + /// modification of the core MzML schema that does not have any impact on the base schema validation. + /// + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*) + /// + /// + public AnalyzerComponentType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName referenceableParamGroupRefXName = System.Xml.Linq.XName.Get("referenceableParamGroupRef", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName cvParamXName = System.Xml.Linq.XName.Get("cvParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName userParamXName = System.Xml.Linq.XName.Get("userParam", "http://psi.hupo.org/ms/mzml"); + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("AnalyzerComponentType", "http://psi.hupo.org/ms/mzml"); + + static AnalyzerComponentType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(referenceableParamGroupRefXName), new NamedContentModelEntity(cvParamXName), new NamedContentModelEntity(userParamXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(referenceableParamGroupRefXName, typeof(ReferenceableParamGroupRefType)); + localElementDictionary.Add(cvParamXName, typeof(CVParamType)); + localElementDictionary.Add(userParamXName, typeof(UserParamType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// List with the different components used in the mass spectrometer. At least one source, one mass analyzer and one detector need to be specified. + /// + /// + /// Regular expression: (source+, analyzer+, detector+) + /// + /// + public partial class ComponentListType : XTypedElement, IXMetaData { + + public static explicit operator ComponentListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// List with the different components used in the mass spectrometer. At least one source, one mass analyzer and one detector need to be specified. + /// + /// + /// Regular expression: (source+, analyzer+, detector+) + /// + /// + public ComponentListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName sourceXName = System.Xml.Linq.XName.Get("source", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sourceField; + + /// + /// + /// A source component. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (source+, analyzer+, detector+) + /// + /// + public virtual IList source { + get { + if ((this.sourceField == null)) { + this.sourceField = new XTypedList(this, LinqToXsdTypeManager.Instance, sourceXName); + } + return this.sourceField; + } + set { + if ((value == null)) { + this.sourceField = null; + } + else { + if ((this.sourceField == null)) { + this.sourceField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sourceXName); + } + else { + XTypedServices.SetList(this.sourceField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName analyzerXName = System.Xml.Linq.XName.Get("analyzer", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList analyzerField; + + /// + /// + /// A mass analyzer (or mass filter) component. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (source+, analyzer+, detector+) + /// + /// + public virtual IList analyzer { + get { + if ((this.analyzerField == null)) { + this.analyzerField = new XTypedList(this, LinqToXsdTypeManager.Instance, analyzerXName); + } + return this.analyzerField; + } + set { + if ((value == null)) { + this.analyzerField = null; + } + else { + if ((this.analyzerField == null)) { + this.analyzerField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, analyzerXName); + } + else { + XTypedServices.SetList(this.analyzerField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName detectorXName = System.Xml.Linq.XName.Get("detector", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList detectorField; + + /// + /// + /// A detector component. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (source+, analyzer+, detector+) + /// + /// + public virtual IList detector { + get { + if ((this.detectorField == null)) { + this.detectorField = new XTypedList(this, LinqToXsdTypeManager.Instance, detectorXName); + } + return this.detectorField; + } + set { + if ((value == null)) { + this.detectorField = null; + } + else { + if ((this.detectorField == null)) { + this.detectorField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, detectorXName); + } + else { + XTypedServices.SetList(this.detectorField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName countXName = System.Xml.Linq.XName.Get("count", ""); + + /// + /// + /// The number of components in this list. + /// + /// + /// Occurrence: required + /// + /// + public virtual decimal count { + get { + XAttribute x = this.Attribute(countXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(countXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ComponentListType", "http://psi.hupo.org/ms/mzml"); + + static ComponentListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(sourceXName), new NamedContentModelEntity(analyzerXName), new NamedContentModelEntity(detectorXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(sourceXName, typeof(SourceComponentType)); + localElementDictionary.Add(analyzerXName, typeof(AnalyzerComponentType)); + localElementDictionary.Add(detectorXName, typeof(DetectorComponentType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Description of a particular hardware configuration of a mass spectrometer. Each configuration must have one (and only one) of the three different components used for an analysis. For hybrid instruments, such as an LTQ-FT, there must be one configuration for each permutation of the components that is used in the document. For software configuration, use a ReferenceableParamGroup element. + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, componentList?, softwareRef?) + /// + /// + public partial class InstrumentConfigurationType : global::PsiDev.MzMl.ParamGroupType, IXMetaData { + + public static explicit operator InstrumentConfigurationType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Description of a particular hardware configuration of a mass spectrometer. Each configuration must have one (and only one) of the three different components used for an analysis. For hybrid instruments, such as an LTQ-FT, there must be one configuration for each permutation of the components that is used in the document. For software configuration, use a ReferenceableParamGroup element. + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, componentList?, softwareRef?) + /// + /// + public InstrumentConfigurationType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName referenceableParamGroupRefXName = System.Xml.Linq.XName.Get("referenceableParamGroupRef", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName cvParamXName = System.Xml.Linq.XName.Get("cvParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName userParamXName = System.Xml.Linq.XName.Get("userParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName componentListXName = System.Xml.Linq.XName.Get("componentList", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, componentList?, softwareRef?) + /// + /// + public virtual ComponentListType componentList { + get { + XElement x = this.GetElement(componentListXName); + if ((x == null)) { + return null; + } + return ((ComponentListType)(x)); + } + set { + this.SetElement(componentListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName softwareRefXName = System.Xml.Linq.XName.Get("softwareRef", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, componentList?, softwareRef?) + /// + /// + public virtual SoftwareRefType softwareRef { + get { + XElement x = this.GetElement(softwareRefXName); + if ((x == null)) { + return null; + } + return ((SoftwareRefType)(x)); + } + set { + this.SetElement(softwareRefXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// An identifier for this instrument configuration. + /// + /// + /// Occurrence: required + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName scanSettingsRefXName = System.Xml.Linq.XName.Get("scanSettingsRef", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string scanSettingsRef { + get { + XAttribute x = this.Attribute(scanSettingsRefXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(scanSettingsRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("InstrumentConfigurationType", "http://psi.hupo.org/ms/mzml"); + + static InstrumentConfigurationType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(referenceableParamGroupRefXName), new NamedContentModelEntity(cvParamXName), new NamedContentModelEntity(userParamXName), new NamedContentModelEntity(componentListXName), new NamedContentModelEntity(softwareRefXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(referenceableParamGroupRefXName, typeof(ReferenceableParamGroupRefType)); + localElementDictionary.Add(cvParamXName, typeof(CVParamType)); + localElementDictionary.Add(userParamXName, typeof(UserParamType)); + localElementDictionary.Add(componentListXName, typeof(ComponentListType)); + localElementDictionary.Add(softwareRefXName, typeof(SoftwareRefType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Reference to a previously defined software element + /// + /// + public partial class SoftwareRefType : XTypedElement, IXMetaData { + + public static explicit operator SoftwareRefType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Reference to a previously defined software element + /// + /// + public SoftwareRefType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName @refXName = System.Xml.Linq.XName.Get("ref", ""); + + /// + /// + /// This attribute must be used to reference the 'id' attribute of a software element. + /// + /// + /// Occurrence: required + /// + /// + public virtual string @ref { + get { + XAttribute x = this.Attribute(@refXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(@refXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SoftwareRefType", "http://psi.hupo.org/ms/mzml"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// List and descriptions of software used to acquire and/or process the data in this mzML file. + /// + /// + /// Regular expression: (software+) + /// + /// + public partial class SoftwareListType : XTypedElement, IXMetaData { + + public static explicit operator SoftwareListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// List and descriptions of software used to acquire and/or process the data in this mzML file. + /// + /// + /// Regular expression: (software+) + /// + /// + public SoftwareListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName softwareXName = System.Xml.Linq.XName.Get("software", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList softwareField; + + /// + /// + /// A piece of software. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (software+) + /// + /// + public virtual IList software { + get { + if ((this.softwareField == null)) { + this.softwareField = new XTypedList(this, LinqToXsdTypeManager.Instance, softwareXName); + } + return this.softwareField; + } + set { + if ((value == null)) { + this.softwareField = null; + } + else { + if ((this.softwareField == null)) { + this.softwareField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, softwareXName); + } + else { + XTypedServices.SetList(this.softwareField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName countXName = System.Xml.Linq.XName.Get("count", ""); + + /// + /// + /// The number of softwares defined in this mzML file. + /// + /// + /// Occurrence: required + /// + /// + public virtual decimal count { + get { + XAttribute x = this.Attribute(countXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(countXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SoftwareListType", "http://psi.hupo.org/ms/mzml"); + + static SoftwareListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(softwareXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(softwareXName, typeof(SoftwareType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Software information. + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*) + /// + /// + public partial class SoftwareType : global::PsiDev.MzMl.ParamGroupType, IXMetaData { + + public static explicit operator SoftwareType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Software information. + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*) + /// + /// + public SoftwareType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName referenceableParamGroupRefXName = System.Xml.Linq.XName.Get("referenceableParamGroupRef", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName cvParamXName = System.Xml.Linq.XName.Get("cvParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName userParamXName = System.Xml.Linq.XName.Get("userParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// An identifier for this software that is unique across all SoftwareTypes. + /// + /// + /// Occurrence: required + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName versionXName = System.Xml.Linq.XName.Get("version", ""); + + /// + /// + /// The software version. + /// + /// + /// Occurrence: required + /// + /// + public virtual string version { + get { + XAttribute x = this.Attribute(versionXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(versionXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SoftwareType", "http://psi.hupo.org/ms/mzml"); + + static SoftwareType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(referenceableParamGroupRefXName), new NamedContentModelEntity(cvParamXName), new NamedContentModelEntity(userParamXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(referenceableParamGroupRefXName, typeof(ReferenceableParamGroupRefType)); + localElementDictionary.Add(cvParamXName, typeof(CVParamType)); + localElementDictionary.Add(userParamXName, typeof(UserParamType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// List and descriptions of data processing applied to this data. + /// + /// + /// Regular expression: (dataProcessing+) + /// + /// + public partial class DataProcessingListType : XTypedElement, IXMetaData { + + public static explicit operator DataProcessingListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// List and descriptions of data processing applied to this data. + /// + /// + /// Regular expression: (dataProcessing+) + /// + /// + public DataProcessingListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName dataProcessingXName = System.Xml.Linq.XName.Get("dataProcessing", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList dataProcessingField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (dataProcessing+) + /// + /// + public virtual IList dataProcessing { + get { + if ((this.dataProcessingField == null)) { + this.dataProcessingField = new XTypedList(this, LinqToXsdTypeManager.Instance, dataProcessingXName); + } + return this.dataProcessingField; + } + set { + if ((value == null)) { + this.dataProcessingField = null; + } + else { + if ((this.dataProcessingField == null)) { + this.dataProcessingField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, dataProcessingXName); + } + else { + XTypedServices.SetList(this.dataProcessingField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName countXName = System.Xml.Linq.XName.Get("count", ""); + + /// + /// + /// The number of DataProcessingTypes in this mzML file. + /// + /// + /// Occurrence: required + /// + /// + public virtual decimal count { + get { + XAttribute x = this.Attribute(countXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(countXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("DataProcessingListType", "http://psi.hupo.org/ms/mzml"); + + static DataProcessingListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(dataProcessingXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(dataProcessingXName, typeof(DataProcessingType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Description of the way in which a particular software was used. + /// + /// + /// Regular expression: (processingMethod+) + /// + /// + public partial class DataProcessingType : XTypedElement, IXMetaData { + + public static explicit operator DataProcessingType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Description of the way in which a particular software was used. + /// + /// + /// Regular expression: (processingMethod+) + /// + /// + public DataProcessingType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName processingMethodXName = System.Xml.Linq.XName.Get("processingMethod", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList processingMethodField; + + /// + /// + /// Description of the default peak processing method. This element describes the base method used in the generation of a particular mzML file. Variable methods should be described in the appropriate acquisition section - if no acquisition-specific details are found, then this information serves as the default. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (processingMethod+) + /// + /// + public virtual IList processingMethod { + get { + if ((this.processingMethodField == null)) { + this.processingMethodField = new XTypedList(this, LinqToXsdTypeManager.Instance, processingMethodXName); + } + return this.processingMethodField; + } + set { + if ((value == null)) { + this.processingMethodField = null; + } + else { + if ((this.processingMethodField == null)) { + this.processingMethodField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, processingMethodXName); + } + else { + XTypedServices.SetList(this.processingMethodField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// A unique identifier for this data processing that is unique across all DataProcessingTypes. + /// + /// + /// Occurrence: required + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("DataProcessingType", "http://psi.hupo.org/ms/mzml"); + + static DataProcessingType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(processingMethodXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(processingMethodXName, typeof(ProcessingMethodType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*) + /// + /// + public partial class ProcessingMethodType : global::PsiDev.MzMl.ParamGroupType, IXMetaData { + + public static explicit operator ProcessingMethodType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*) + /// + /// + public ProcessingMethodType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName referenceableParamGroupRefXName = System.Xml.Linq.XName.Get("referenceableParamGroupRef", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName cvParamXName = System.Xml.Linq.XName.Get("cvParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName userParamXName = System.Xml.Linq.XName.Get("userParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName orderXName = System.Xml.Linq.XName.Get("order", ""); + + /// + /// + /// This attributes allows a series of consecutive steps to be placed in the correct order. + /// + /// + /// Occurrence: required + /// + /// + public virtual decimal order { + get { + XAttribute x = this.Attribute(orderXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(orderXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName softwareRefXName = System.Xml.Linq.XName.Get("softwareRef", ""); + + /// + /// + /// This attribute must reference the 'id' of the appropriate SoftwareType. + /// + /// + /// Occurrence: required + /// + /// + public virtual string softwareRef { + get { + XAttribute x = this.Attribute(softwareRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(softwareRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ProcessingMethodType", "http://psi.hupo.org/ms/mzml"); + + static ProcessingMethodType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(referenceableParamGroupRefXName), new NamedContentModelEntity(cvParamXName), new NamedContentModelEntity(userParamXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(referenceableParamGroupRefXName, typeof(ReferenceableParamGroupRefType)); + localElementDictionary.Add(cvParamXName, typeof(CVParamType)); + localElementDictionary.Add(userParamXName, typeof(UserParamType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// List with the descriptions of the acquisition settings applied prior to the start of data acquisition. + /// + /// + /// Regular expression: (scanSettings+) + /// + /// + public partial class ScanSettingsListType : XTypedElement, IXMetaData { + + public static explicit operator ScanSettingsListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// List with the descriptions of the acquisition settings applied prior to the start of data acquisition. + /// + /// + /// Regular expression: (scanSettings+) + /// + /// + public ScanSettingsListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName scanSettingsXName = System.Xml.Linq.XName.Get("scanSettings", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scanSettingsField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (scanSettings+) + /// + /// + public virtual IList scanSettings { + get { + if ((this.scanSettingsField == null)) { + this.scanSettingsField = new XTypedList(this, LinqToXsdTypeManager.Instance, scanSettingsXName); + } + return this.scanSettingsField; + } + set { + if ((value == null)) { + this.scanSettingsField = null; + } + else { + if ((this.scanSettingsField == null)) { + this.scanSettingsField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scanSettingsXName); + } + else { + XTypedServices.SetList(this.scanSettingsField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName countXName = System.Xml.Linq.XName.Get("count", ""); + + /// + /// + /// The number of AcquisitionType elements in this list. + /// + /// + /// Occurrence: required + /// + /// + public virtual decimal count { + get { + XAttribute x = this.Attribute(countXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(countXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ScanSettingsListType", "http://psi.hupo.org/ms/mzml"); + + static ScanSettingsListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(scanSettingsXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(scanSettingsXName, typeof(ScanSettingsType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Description of the acquisition settings of the instrument prior to the start of the run. + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, sourceFileRefList?, targetList?) + /// + /// + public partial class ScanSettingsType : global::PsiDev.MzMl.ParamGroupType, IXMetaData { + + public static explicit operator ScanSettingsType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Description of the acquisition settings of the instrument prior to the start of the run. + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, sourceFileRefList?, targetList?) + /// + /// + public ScanSettingsType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName referenceableParamGroupRefXName = System.Xml.Linq.XName.Get("referenceableParamGroupRef", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName cvParamXName = System.Xml.Linq.XName.Get("cvParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName userParamXName = System.Xml.Linq.XName.Get("userParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName sourceFileRefListXName = System.Xml.Linq.XName.Get("sourceFileRefList", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// List with the source files containing the acquisition settings. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, sourceFileRefList?, targetList?) + /// + /// + public virtual SourceFileRefListType sourceFileRefList { + get { + XElement x = this.GetElement(sourceFileRefListXName); + if ((x == null)) { + return null; + } + return ((SourceFileRefListType)(x)); + } + set { + this.SetElement(sourceFileRefListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName targetListXName = System.Xml.Linq.XName.Get("targetList", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// Target list (or 'inclusion list') configured prior to the run. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, sourceFileRefList?, targetList?) + /// + /// + public virtual TargetListType targetList { + get { + XElement x = this.GetElement(targetListXName); + if ((x == null)) { + return null; + } + return ((TargetListType)(x)); + } + set { + this.SetElement(targetListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// A unique identifier for this acquisition setting. + /// + /// + /// Occurrence: required + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ScanSettingsType", "http://psi.hupo.org/ms/mzml"); + + static ScanSettingsType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(referenceableParamGroupRefXName), new NamedContentModelEntity(cvParamXName), new NamedContentModelEntity(userParamXName), new NamedContentModelEntity(sourceFileRefListXName), new NamedContentModelEntity(targetListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(referenceableParamGroupRefXName, typeof(ReferenceableParamGroupRefType)); + localElementDictionary.Add(cvParamXName, typeof(CVParamType)); + localElementDictionary.Add(userParamXName, typeof(UserParamType)); + localElementDictionary.Add(sourceFileRefListXName, typeof(SourceFileRefListType)); + localElementDictionary.Add(targetListXName, typeof(TargetListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Target list (or 'inclusion list') configured prior to the run. + /// + /// + /// Regular expression: (target+) + /// + /// + public partial class TargetListType : XTypedElement, IXMetaData { + + public static explicit operator TargetListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Target list (or 'inclusion list') configured prior to the run. + /// + /// + /// Regular expression: (target+) + /// + /// + public TargetListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName targetXName = System.Xml.Linq.XName.Get("target", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList targetField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (target+) + /// + /// + public virtual IList target { + get { + if ((this.targetField == null)) { + this.targetField = new XTypedList(this, LinqToXsdTypeManager.Instance, targetXName); + } + return this.targetField; + } + set { + if ((value == null)) { + this.targetField = null; + } + else { + if ((this.targetField == null)) { + this.targetField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, targetXName); + } + else { + XTypedServices.SetList(this.targetField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName countXName = System.Xml.Linq.XName.Get("count", ""); + + /// + /// + /// The number of TargetType elements in this list. + /// + /// + /// Occurrence: required + /// + /// + public virtual decimal count { + get { + XAttribute x = this.Attribute(countXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(countXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("TargetListType", "http://psi.hupo.org/ms/mzml"); + + static TargetListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(targetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(targetXName, typeof(ParamGroupType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A run in mzML should correspond to a single, consecutive and coherent set of scans on an instrument. + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, spectrumList?, chromatogramList?) + /// + /// + public partial class RunType : global::PsiDev.MzMl.ParamGroupType, IXMetaData { + + public static explicit operator RunType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// A run in mzML should correspond to a single, consecutive and coherent set of scans on an instrument. + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, spectrumList?, chromatogramList?) + /// + /// + public RunType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName referenceableParamGroupRefXName = System.Xml.Linq.XName.Get("referenceableParamGroupRef", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName cvParamXName = System.Xml.Linq.XName.Get("cvParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName userParamXName = System.Xml.Linq.XName.Get("userParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName spectrumListXName = System.Xml.Linq.XName.Get("spectrumList", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// All mass spectra and the acquisitions underlying them are described and attached here. Subsidiary data arrays are also both described and attached here. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, spectrumList?, chromatogramList?) + /// + /// + public virtual SpectrumListType spectrumList { + get { + XElement x = this.GetElement(spectrumListXName); + if ((x == null)) { + return null; + } + return ((SpectrumListType)(x)); + } + set { + this.SetElement(spectrumListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName chromatogramListXName = System.Xml.Linq.XName.Get("chromatogramList", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// All chromatograms for this run. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, spectrumList?, chromatogramList?) + /// + /// + public virtual ChromatogramListType chromatogramList { + get { + XElement x = this.GetElement(chromatogramListXName); + if ((x == null)) { + return null; + } + return ((ChromatogramListType)(x)); + } + set { + this.SetElement(chromatogramListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// A unique identifier for this run. + /// + /// + /// Occurrence: required + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName defaultInstrumentConfigurationRefXName = System.Xml.Linq.XName.Get("defaultInstrumentConfigurationRef", ""); + + /// + /// + /// This attribute must reference the 'id' of the default instrument configuration. If a scan does not reference an instrument configuration, it implicitly refers to this configuration. + /// + /// + /// Occurrence: required + /// + /// + public virtual string defaultInstrumentConfigurationRef { + get { + XAttribute x = this.Attribute(defaultInstrumentConfigurationRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(defaultInstrumentConfigurationRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName defaultSourceFileRefXName = System.Xml.Linq.XName.Get("defaultSourceFileRef", ""); + + /// + /// + /// This attribute can optionally reference the 'id' of the default source file. If a spectrum or scan does not reference a source file and this attribute is set, then it implicitly refers to this source file. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string defaultSourceFileRef { + get { + XAttribute x = this.Attribute(defaultSourceFileRefXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(defaultSourceFileRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName sampleRefXName = System.Xml.Linq.XName.Get("sampleRef", ""); + + /// + /// + /// This attribute must reference the 'id' of the appropriate sample. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string sampleRef { + get { + XAttribute x = this.Attribute(sampleRefXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(sampleRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName startTimeStampXName = System.Xml.Linq.XName.Get("startTimeStamp", ""); + + /// + /// + /// The optional start timestamp of the run, in UT. + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.DateTime? startTimeStamp { + get { + XAttribute x = this.Attribute(startTimeStampXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.DateTime).Datatype); + } + set { + this.SetAttribute(startTimeStampXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.DateTime).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("RunType", "http://psi.hupo.org/ms/mzml"); + + static RunType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(referenceableParamGroupRefXName), new NamedContentModelEntity(cvParamXName), new NamedContentModelEntity(userParamXName), new NamedContentModelEntity(spectrumListXName), new NamedContentModelEntity(chromatogramListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(referenceableParamGroupRefXName, typeof(ReferenceableParamGroupRefType)); + localElementDictionary.Add(cvParamXName, typeof(CVParamType)); + localElementDictionary.Add(userParamXName, typeof(UserParamType)); + localElementDictionary.Add(spectrumListXName, typeof(SpectrumListType)); + localElementDictionary.Add(chromatogramListXName, typeof(ChromatogramListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class SourceFileRefType : XTypedElement, IXMetaData { + + public static explicit operator SourceFileRefType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public SourceFileRefType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName @refXName = System.Xml.Linq.XName.Get("ref", ""); + + /// + /// + /// This attribute must reference the 'id' of the appropriate sourceFile. + /// + /// + /// Occurrence: required + /// + /// + public virtual string @ref { + get { + XAttribute x = this.Attribute(@refXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(@refXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SourceFileRefType", "http://psi.hupo.org/ms/mzml"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (sourceFileRef*) + /// + /// + public partial class SourceFileRefListType : XTypedElement, IXMetaData { + + public static explicit operator SourceFileRefListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (sourceFileRef*) + /// + /// + public SourceFileRefListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName sourceFileRefXName = System.Xml.Linq.XName.Get("sourceFileRef", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList sourceFileRefField; + + /// + /// + /// Reference to a previously defined sourceFile. + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (sourceFileRef*) + /// + /// + public virtual IList sourceFileRef { + get { + if ((this.sourceFileRefField == null)) { + this.sourceFileRefField = new XTypedList(this, LinqToXsdTypeManager.Instance, sourceFileRefXName); + } + return this.sourceFileRefField; + } + set { + if ((value == null)) { + this.sourceFileRefField = null; + } + else { + if ((this.sourceFileRefField == null)) { + this.sourceFileRefField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, sourceFileRefXName); + } + else { + XTypedServices.SetList(this.sourceFileRefField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName countXName = System.Xml.Linq.XName.Get("count", ""); + + /// + /// + /// This number of source files referenced in this list. + /// + /// + /// Occurrence: required + /// + /// + public virtual decimal count { + get { + XAttribute x = this.Attribute(countXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(countXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SourceFileRefListType", "http://psi.hupo.org/ms/mzml"); + + static SourceFileRefListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(sourceFileRefXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(sourceFileRefXName, typeof(SourceFileRefType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// List and descriptions of spectra. + /// + /// + /// Regular expression: (spectrum*) + /// + /// + public partial class SpectrumListType : XTypedElement, IXMetaData { + + public static explicit operator SpectrumListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// List and descriptions of spectra. + /// + /// + /// Regular expression: (spectrum*) + /// + /// + public SpectrumListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName spectrumXName = System.Xml.Linq.XName.Get("spectrum", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList spectrumField; + + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (spectrum*) + /// + /// + public virtual IList spectrum { + get { + if ((this.spectrumField == null)) { + this.spectrumField = new XTypedList(this, LinqToXsdTypeManager.Instance, spectrumXName); + } + return this.spectrumField; + } + set { + if ((value == null)) { + this.spectrumField = null; + } + else { + if ((this.spectrumField == null)) { + this.spectrumField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, spectrumXName); + } + else { + XTypedServices.SetList(this.spectrumField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName countXName = System.Xml.Linq.XName.Get("count", ""); + + /// + /// + /// The number of spectra defined in this mzML file. + /// + /// + /// Occurrence: required + /// + /// + public virtual decimal count { + get { + XAttribute x = this.Attribute(countXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(countXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName defaultDataProcessingRefXName = System.Xml.Linq.XName.Get("defaultDataProcessingRef", ""); + + /// + /// + /// This attribute MUST reference the 'id' of the default data processing for the spectrum list. If an acquisition does not reference any data processing, it implicitly refers to this data processing. This attribute is required because the minimum amount of data processing that any format will undergo is "conversion to mzML". + /// + /// + /// Occurrence: required + /// + /// + public virtual string defaultDataProcessingRef { + get { + XAttribute x = this.Attribute(defaultDataProcessingRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(defaultDataProcessingRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SpectrumListType", "http://psi.hupo.org/ms/mzml"); + + static SpectrumListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(spectrumXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(spectrumXName, typeof(SpectrumType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (scanWindow+) + /// + /// + public partial class ScanWindowListType : XTypedElement, IXMetaData { + + public static explicit operator ScanWindowListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (scanWindow+) + /// + /// + public ScanWindowListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName scanWindowXName = System.Xml.Linq.XName.Get("scanWindow", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scanWindowField; + + /// + /// + /// A range of m/z values over which the instrument scans and acquires a spectrum. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (scanWindow+) + /// + /// + public virtual IList scanWindow { + get { + if ((this.scanWindowField == null)) { + this.scanWindowField = new XTypedList(this, LinqToXsdTypeManager.Instance, scanWindowXName); + } + return this.scanWindowField; + } + set { + if ((value == null)) { + this.scanWindowField = null; + } + else { + if ((this.scanWindowField == null)) { + this.scanWindowField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scanWindowXName); + } + else { + XTypedServices.SetList(this.scanWindowField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName countXName = System.Xml.Linq.XName.Get("count", ""); + + /// + /// + /// The number of scan windows defined in this list. + /// + /// + /// Occurrence: required + /// + /// + public virtual int count { + get { + XAttribute x = this.Attribute(countXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Int).Datatype); + } + set { + this.SetAttribute(countXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Int).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ScanWindowListType", "http://psi.hupo.org/ms/mzml"); + + static ScanWindowListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(scanWindowXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(scanWindowXName, typeof(ParamGroupType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// List and descriptions of scans. + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, scan+) + /// + /// + public partial class ScanListType : global::PsiDev.MzMl.ParamGroupType, IXMetaData { + + public static explicit operator ScanListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// List and descriptions of scans. + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, scan+) + /// + /// + public ScanListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName referenceableParamGroupRefXName = System.Xml.Linq.XName.Get("referenceableParamGroupRef", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName cvParamXName = System.Xml.Linq.XName.Get("cvParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName userParamXName = System.Xml.Linq.XName.Get("userParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName scanXName = System.Xml.Linq.XName.Get("scan", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList scanField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, scan+) + /// + /// + public virtual IList scan { + get { + if ((this.scanField == null)) { + this.scanField = new XTypedList(this, LinqToXsdTypeManager.Instance, scanXName); + } + return this.scanField; + } + set { + if ((value == null)) { + this.scanField = null; + } + else { + if ((this.scanField == null)) { + this.scanField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, scanXName); + } + else { + XTypedServices.SetList(this.scanField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName countXName = System.Xml.Linq.XName.Get("count", ""); + + /// + /// + /// the number of scans defined in this list. + /// + /// + /// Occurrence: required + /// + /// + public virtual decimal count { + get { + XAttribute x = this.Attribute(countXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(countXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ScanListType", "http://psi.hupo.org/ms/mzml"); + + static ScanListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(referenceableParamGroupRefXName), new NamedContentModelEntity(cvParamXName), new NamedContentModelEntity(userParamXName), new NamedContentModelEntity(scanXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(referenceableParamGroupRefXName, typeof(ReferenceableParamGroupRefType)); + localElementDictionary.Add(cvParamXName, typeof(CVParamType)); + localElementDictionary.Add(userParamXName, typeof(UserParamType)); + localElementDictionary.Add(scanXName, typeof(ScanType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Scan or acquisition from original raw file used to create this peak list, as specified in sourceFile. + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, scanWindowList?) + /// + /// + public partial class ScanType : global::PsiDev.MzMl.ParamGroupType, IXMetaData { + + public static explicit operator ScanType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Scan or acquisition from original raw file used to create this peak list, as specified in sourceFile. + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, scanWindowList?) + /// + /// + public ScanType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName referenceableParamGroupRefXName = System.Xml.Linq.XName.Get("referenceableParamGroupRef", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName cvParamXName = System.Xml.Linq.XName.Get("cvParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName userParamXName = System.Xml.Linq.XName.Get("userParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName scanWindowListXName = System.Xml.Linq.XName.Get("scanWindowList", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// Container for a list of scan windows. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, scanWindowList?) + /// + /// + public virtual ScanWindowListType scanWindowList { + get { + XElement x = this.GetElement(scanWindowListXName); + if ((x == null)) { + return null; + } + return ((ScanWindowListType)(x)); + } + set { + this.SetElement(scanWindowListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName spectrumRefXName = System.Xml.Linq.XName.Get("spectrumRef", ""); + + /// + /// + /// For scans that are local to this document, this attribute can be used to reference the 'id' attribute of the spectrum corresponding to the scan. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string spectrumRef { + get { + XAttribute x = this.Attribute(spectrumRefXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(spectrumRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName sourceFileRefXName = System.Xml.Linq.XName.Get("sourceFileRef", ""); + + /// + /// + /// If this attribute is set, it must reference the 'id' attribute of a sourceFile representing the external document containing the spectrum referred to by 'externalSpectrumID'. + /// + /// + /// + /// Occurrence: optional + /// + /// + public virtual string sourceFileRef { + get { + XAttribute x = this.Attribute(sourceFileRefXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(sourceFileRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName externalSpectrumIDXName = System.Xml.Linq.XName.Get("externalSpectrumID", ""); + + /// + /// + /// For scans that are external to this document, this string must correspond to the 'id' attribute of a spectrum in the external document indicated by 'sourceFileRef'. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string externalSpectrumID { + get { + XAttribute x = this.Attribute(externalSpectrumIDXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(externalSpectrumIDXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName instrumentConfigurationRefXName = System.Xml.Linq.XName.Get("instrumentConfigurationRef", ""); + + /// + /// + /// This attribute can optionally reference the 'id' attribute of the appropriate instrument configuration. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string instrumentConfigurationRef { + get { + XAttribute x = this.Attribute(instrumentConfigurationRefXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(instrumentConfigurationRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ScanType", "http://psi.hupo.org/ms/mzml"); + + static ScanType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(referenceableParamGroupRefXName), new NamedContentModelEntity(cvParamXName), new NamedContentModelEntity(userParamXName), new NamedContentModelEntity(scanWindowListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(referenceableParamGroupRefXName, typeof(ReferenceableParamGroupRefType)); + localElementDictionary.Add(cvParamXName, typeof(CVParamType)); + localElementDictionary.Add(userParamXName, typeof(UserParamType)); + localElementDictionary.Add(scanWindowListXName, typeof(ScanWindowListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// List and descriptions of precursor isolations to the spectrum currently being described, ordered. + /// + /// + /// Regular expression: (precursor+) + /// + /// + public partial class PrecursorListType : XTypedElement, IXMetaData { + + public static explicit operator PrecursorListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// List and descriptions of precursor isolations to the spectrum currently being described, ordered. + /// + /// + /// Regular expression: (precursor+) + /// + /// + public PrecursorListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName precursorXName = System.Xml.Linq.XName.Get("precursor", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList precursorField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (precursor+) + /// + /// + public virtual IList precursor { + get { + if ((this.precursorField == null)) { + this.precursorField = new XTypedList(this, LinqToXsdTypeManager.Instance, precursorXName); + } + return this.precursorField; + } + set { + if ((value == null)) { + this.precursorField = null; + } + else { + if ((this.precursorField == null)) { + this.precursorField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, precursorXName); + } + else { + XTypedServices.SetList(this.precursorField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName countXName = System.Xml.Linq.XName.Get("count", ""); + + /// + /// + /// The number of precursor isolations in this list. + /// + /// + /// Occurrence: required + /// + /// + public virtual decimal count { + get { + XAttribute x = this.Attribute(countXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(countXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("PrecursorListType", "http://psi.hupo.org/ms/mzml"); + + static PrecursorListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(precursorXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(precursorXName, typeof(PrecursorType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// The method of precursor ion selection and activation + /// + /// + /// Regular expression: (isolationWindow?, selectedIonList?, activation) + /// + /// + public partial class PrecursorType : XTypedElement, IXMetaData { + + public static explicit operator PrecursorType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// The method of precursor ion selection and activation + /// + /// + /// Regular expression: (isolationWindow?, selectedIonList?, activation) + /// + /// + public PrecursorType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName isolationWindowXName = System.Xml.Linq.XName.Get("isolationWindow", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// This element captures the isolation (or 'selection') window configured to isolate one or more ionss. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (isolationWindow?, selectedIonList?, activation) + /// + /// + public virtual ParamGroupType isolationWindow { + get { + XElement x = this.GetElement(isolationWindowXName); + if ((x == null)) { + return null; + } + return ((ParamGroupType)(x)); + } + set { + this.SetElement(isolationWindowXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName selectedIonListXName = System.Xml.Linq.XName.Get("selectedIonList", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// A list of ions that were selected. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (isolationWindow?, selectedIonList?, activation) + /// + /// + public virtual SelectedIonListType selectedIonList { + get { + XElement x = this.GetElement(selectedIonListXName); + if ((x == null)) { + return null; + } + return ((SelectedIonListType)(x)); + } + set { + this.SetElement(selectedIonListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName activationXName = System.Xml.Linq.XName.Get("activation", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// The type and energy level used for activation. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (isolationWindow?, selectedIonList?, activation) + /// + /// + public virtual ParamGroupType activation { + get { + XElement x = this.GetElement(activationXName); + return ((ParamGroupType)(x)); + } + set { + this.SetElement(activationXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName spectrumRefXName = System.Xml.Linq.XName.Get("spectrumRef", ""); + + /// + /// + /// For precursor spectra that are local to this document, this attribute must be used to reference the 'id' attribute of the spectrum corresponding to the precursor spectrum. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string spectrumRef { + get { + XAttribute x = this.Attribute(spectrumRefXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(spectrumRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName sourceFileRefXName = System.Xml.Linq.XName.Get("sourceFileRef", ""); + + /// + /// + /// For precursor spectra that are external to this document, this attribute must reference the 'id' attribute of a sourceFile representing that external document. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string sourceFileRef { + get { + XAttribute x = this.Attribute(sourceFileRefXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(sourceFileRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName externalSpectrumIDXName = System.Xml.Linq.XName.Get("externalSpectrumID", ""); + + /// + /// + /// For precursor spectra that are external to this document, this string must correspond to the 'id' attribute of a spectrum in the external document indicated by 'sourceFileRef'. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string externalSpectrumID { + get { + XAttribute x = this.Attribute(externalSpectrumIDXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(externalSpectrumIDXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("PrecursorType", "http://psi.hupo.org/ms/mzml"); + + static PrecursorType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(isolationWindowXName), new NamedContentModelEntity(selectedIonListXName), new NamedContentModelEntity(activationXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(isolationWindowXName, typeof(ParamGroupType)); + localElementDictionary.Add(selectedIonListXName, typeof(SelectedIonListType)); + localElementDictionary.Add(activationXName, typeof(ParamGroupType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// The list of selected precursor ions. + /// + /// + /// Regular expression: (selectedIon+) + /// + /// + public partial class SelectedIonListType : XTypedElement, IXMetaData { + + public static explicit operator SelectedIonListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// The list of selected precursor ions. + /// + /// + /// Regular expression: (selectedIon+) + /// + /// + public SelectedIonListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName selectedIonXName = System.Xml.Linq.XName.Get("selectedIon", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList selectedIonField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (selectedIon+) + /// + /// + public virtual IList selectedIon { + get { + if ((this.selectedIonField == null)) { + this.selectedIonField = new XTypedList(this, LinqToXsdTypeManager.Instance, selectedIonXName); + } + return this.selectedIonField; + } + set { + if ((value == null)) { + this.selectedIonField = null; + } + else { + if ((this.selectedIonField == null)) { + this.selectedIonField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, selectedIonXName); + } + else { + XTypedServices.SetList(this.selectedIonField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName countXName = System.Xml.Linq.XName.Get("count", ""); + + /// + /// + /// The number of selected precursor ions defined in this list. + /// + /// + /// Occurrence: required + /// + /// + public virtual decimal count { + get { + XAttribute x = this.Attribute(countXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(countXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SelectedIonListType", "http://psi.hupo.org/ms/mzml"); + + static SelectedIonListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(selectedIonXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(selectedIonXName, typeof(ParamGroupType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// List and descriptions of product isolations to the spectrum currently being described, ordered. + /// + /// + /// Regular expression: (product+) + /// + /// + public partial class ProductListType : XTypedElement, IXMetaData { + + public static explicit operator ProductListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// List and descriptions of product isolations to the spectrum currently being described, ordered. + /// + /// + /// Regular expression: (product+) + /// + /// + public ProductListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName productXName = System.Xml.Linq.XName.Get("product", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList productField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (product+) + /// + /// + public virtual IList product { + get { + if ((this.productField == null)) { + this.productField = new XTypedList(this, LinqToXsdTypeManager.Instance, productXName); + } + return this.productField; + } + set { + if ((value == null)) { + this.productField = null; + } + else { + if ((this.productField == null)) { + this.productField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, productXName); + } + else { + XTypedServices.SetList(this.productField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName countXName = System.Xml.Linq.XName.Get("count", ""); + + /// + /// + /// The number of product isolations in this list. + /// + /// + /// Occurrence: required + /// + /// + public virtual decimal count { + get { + XAttribute x = this.Attribute(countXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(countXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ProductListType", "http://psi.hupo.org/ms/mzml"); + + static ProductListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(productXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(productXName, typeof(ProductType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// The method of product ion selection and activation in a precursor ion scan + /// + /// + /// Regular expression: (isolationWindow?) + /// + /// + public partial class ProductType : XTypedElement, IXMetaData { + + public static explicit operator ProductType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// The method of product ion selection and activation in a precursor ion scan + /// + /// + /// Regular expression: (isolationWindow?) + /// + /// + public ProductType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName isolationWindowXName = System.Xml.Linq.XName.Get("isolationWindow", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// This element captures the isolation (or 'selection') window configured to isolate one or more ions. + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (isolationWindow?) + /// + /// + public virtual ParamGroupType isolationWindow { + get { + XElement x = this.GetElement(isolationWindowXName); + if ((x == null)) { + return null; + } + return ((ParamGroupType)(x)); + } + set { + this.SetElement(isolationWindowXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ProductType", "http://psi.hupo.org/ms/mzml"); + + static ProductType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(isolationWindowXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(isolationWindowXName, typeof(ParamGroupType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// List of binary data arrays. + /// + /// + /// Regular expression: (binaryDataArray+) + /// + /// + public partial class BinaryDataArrayListType : XTypedElement, IXMetaData { + + public static explicit operator BinaryDataArrayListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// List of binary data arrays. + /// + /// + /// Regular expression: (binaryDataArray+) + /// + /// + public BinaryDataArrayListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName binaryDataArrayXName = System.Xml.Linq.XName.Get("binaryDataArray", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList binaryDataArrayField; + + /// + /// + /// Data point arrays for default data arrays (m/z, intensity, time) and meta data arrays. Default data arrays must not have the attributes 'arrayLength' and 'dataProcessingRef'. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (binaryDataArray+) + /// + /// + public virtual IList binaryDataArray { + get { + if ((this.binaryDataArrayField == null)) { + this.binaryDataArrayField = new XTypedList(this, LinqToXsdTypeManager.Instance, binaryDataArrayXName); + } + return this.binaryDataArrayField; + } + set { + if ((value == null)) { + this.binaryDataArrayField = null; + } + else { + if ((this.binaryDataArrayField == null)) { + this.binaryDataArrayField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, binaryDataArrayXName); + } + else { + XTypedServices.SetList(this.binaryDataArrayField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName countXName = System.Xml.Linq.XName.Get("count", ""); + + /// + /// + /// The number of binary data arrays defined in this list. + /// + /// + /// Occurrence: required + /// + /// + public virtual decimal count { + get { + XAttribute x = this.Attribute(countXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(countXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BinaryDataArrayListType", "http://psi.hupo.org/ms/mzml"); + + static BinaryDataArrayListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(binaryDataArrayXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(binaryDataArrayXName, typeof(BinaryDataArrayType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// The structure into which encoded binary data goes. Byte ordering is always little endian (Intel style). Computers using a different endian style must convert to/from little endian when writing/reading mzML + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, binary) + /// + /// + public partial class BinaryDataArrayType : global::PsiDev.MzMl.ParamGroupType, IXMetaData { + + public static explicit operator BinaryDataArrayType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// The structure into which encoded binary data goes. Byte ordering is always little endian (Intel style). Computers using a different endian style must convert to/from little endian when writing/reading mzML + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, binary) + /// + /// + public BinaryDataArrayType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName referenceableParamGroupRefXName = System.Xml.Linq.XName.Get("referenceableParamGroupRef", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName cvParamXName = System.Xml.Linq.XName.Get("cvParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName userParamXName = System.Xml.Linq.XName.Get("userParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName binaryXName = System.Xml.Linq.XName.Get("binary", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// The actual base64 encoded binary data. The byte order is always 'little endian'. + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, binary) + /// + /// + public virtual byte[] binary { + get { + XElement x = this.GetElement(binaryXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + set { + this.SetElement(binaryXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName arrayLengthXName = System.Xml.Linq.XName.Get("arrayLength", ""); + + /// + /// + /// This optional attribute may override the 'defaultArrayLength' defined in SpectrumType. The two default arrays (m/z and intensity) should NEVER use this override option, and should therefore adhere to the 'defaultArrayLength' defined in SpectrumType. Parsing software can thus safely choose to ignore arrays of lengths different from the one defined in the 'defaultArrayLength' SpectrumType element. + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Decimal? arrayLength { + get { + XAttribute x = this.Attribute(arrayLengthXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(arrayLengthXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName dataProcessingRefXName = System.Xml.Linq.XName.Get("dataProcessingRef", ""); + + /// + /// + /// This optional attribute may reference the 'id' attribute of the appropriate dataProcessing. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string dataProcessingRef { + get { + XAttribute x = this.Attribute(dataProcessingRefXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(dataProcessingRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName encodedLengthXName = System.Xml.Linq.XName.Get("encodedLength", ""); + + /// + /// + /// The encoded length of the binary data array. + /// + /// + /// Occurrence: required + /// + /// + public virtual decimal encodedLength { + get { + XAttribute x = this.Attribute(encodedLengthXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(encodedLengthXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BinaryDataArrayType", "http://psi.hupo.org/ms/mzml"); + + static BinaryDataArrayType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(referenceableParamGroupRefXName), new NamedContentModelEntity(cvParamXName), new NamedContentModelEntity(userParamXName), new NamedContentModelEntity(binaryXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(referenceableParamGroupRefXName, typeof(ReferenceableParamGroupRefType)); + localElementDictionary.Add(cvParamXName, typeof(CVParamType)); + localElementDictionary.Add(userParamXName, typeof(UserParamType)); + localElementDictionary.Add(binaryXName, typeof(byte[])); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// The structure that captures the generation of a peak list (including the underlying acquisitions). Also describes some of the parameters for the mass spectrometer for a given acquisition (or list of acquisitions). + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, scanList?, precursorList?, productList?, binaryDataArrayList?) + /// + /// + public partial class SpectrumType : global::PsiDev.MzMl.ParamGroupType, IXMetaData { + + public static explicit operator SpectrumType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// The structure that captures the generation of a peak list (including the underlying acquisitions). Also describes some of the parameters for the mass spectrometer for a given acquisition (or list of acquisitions). + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, scanList?, precursorList?, productList?, binaryDataArrayList?) + /// + /// + public SpectrumType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName referenceableParamGroupRefXName = System.Xml.Linq.XName.Get("referenceableParamGroupRef", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName cvParamXName = System.Xml.Linq.XName.Get("cvParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName userParamXName = System.Xml.Linq.XName.Get("userParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName scanListXName = System.Xml.Linq.XName.Get("scanList", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, scanList?, precursorList?, productList?, binaryDataArrayList?) + /// + /// + public virtual ScanListType scanList { + get { + XElement x = this.GetElement(scanListXName); + if ((x == null)) { + return null; + } + return ((ScanListType)(x)); + } + set { + this.SetElement(scanListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName precursorListXName = System.Xml.Linq.XName.Get("precursorList", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, scanList?, precursorList?, productList?, binaryDataArrayList?) + /// + /// + public virtual PrecursorListType precursorList { + get { + XElement x = this.GetElement(precursorListXName); + if ((x == null)) { + return null; + } + return ((PrecursorListType)(x)); + } + set { + this.SetElement(precursorListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName productListXName = System.Xml.Linq.XName.Get("productList", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, scanList?, precursorList?, productList?, binaryDataArrayList?) + /// + /// + public virtual ProductListType productList { + get { + XElement x = this.GetElement(productListXName); + if ((x == null)) { + return null; + } + return ((ProductListType)(x)); + } + set { + this.SetElement(productListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName binaryDataArrayListXName = System.Xml.Linq.XName.Get("binaryDataArrayList", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, scanList?, precursorList?, productList?, binaryDataArrayList?) + /// + /// + public virtual BinaryDataArrayListType binaryDataArrayList { + get { + XElement x = this.GetElement(binaryDataArrayListXName); + if ((x == null)) { + return null; + } + return ((BinaryDataArrayListType)(x)); + } + set { + this.SetElement(binaryDataArrayListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// The native identifier for a spectrum. For unmerged native spectra or spectra from older open file formats, the format of the identifier is defined in the PSI-MS CV and referred to in the mzML header. External documents may use this identifier together with the mzML filename or accession to reference a particular spectrum. + /// + /// + /// Occurrence: required + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName spotIDXName = System.Xml.Linq.XName.Get("spotID", ""); + + /// + /// + /// The identifier for the spot from which this spectrum was derived, if a MALDI or similar run. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string spotID { + get { + XAttribute x = this.Attribute(spotIDXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(spotIDXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName indexXName = System.Xml.Linq.XName.Get("index", ""); + + /// + /// + /// The zero-based, consecutive index of the spectrum in the SpectrumList. + /// + /// + /// Occurrence: required + /// + /// + public virtual decimal index { + get { + XAttribute x = this.Attribute(indexXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(indexXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName defaultArrayLengthXName = System.Xml.Linq.XName.Get("defaultArrayLength", ""); + + /// + /// + /// Default length of binary data arrays contained in this element. + /// + /// + /// Occurrence: required + /// + /// + public virtual int defaultArrayLength { + get { + XAttribute x = this.Attribute(defaultArrayLengthXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Int).Datatype); + } + set { + this.SetAttribute(defaultArrayLengthXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Int).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName dataProcessingRefXName = System.Xml.Linq.XName.Get("dataProcessingRef", ""); + + /// + /// + /// This attribute can optionally reference the 'id' of the appropriate dataProcessing. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string dataProcessingRef { + get { + XAttribute x = this.Attribute(dataProcessingRefXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(dataProcessingRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName sourceFileRefXName = System.Xml.Linq.XName.Get("sourceFileRef", ""); + + /// + /// + /// This attribute can optionally reference the 'id' of the appropriate sourceFile. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string sourceFileRef { + get { + XAttribute x = this.Attribute(sourceFileRefXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(sourceFileRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SpectrumType", "http://psi.hupo.org/ms/mzml"); + + static SpectrumType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(referenceableParamGroupRefXName), new NamedContentModelEntity(cvParamXName), new NamedContentModelEntity(userParamXName), new NamedContentModelEntity(scanListXName), new NamedContentModelEntity(precursorListXName), new NamedContentModelEntity(productListXName), new NamedContentModelEntity(binaryDataArrayListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(referenceableParamGroupRefXName, typeof(ReferenceableParamGroupRefType)); + localElementDictionary.Add(cvParamXName, typeof(CVParamType)); + localElementDictionary.Add(userParamXName, typeof(UserParamType)); + localElementDictionary.Add(scanListXName, typeof(ScanListType)); + localElementDictionary.Add(precursorListXName, typeof(PrecursorListType)); + localElementDictionary.Add(productListXName, typeof(ProductListType)); + localElementDictionary.Add(binaryDataArrayListXName, typeof(BinaryDataArrayListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// List of chromatograms. + /// + /// + /// Regular expression: (chromatogram+) + /// + /// + public partial class ChromatogramListType : XTypedElement, IXMetaData { + + public static explicit operator ChromatogramListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// List of chromatograms. + /// + /// + /// Regular expression: (chromatogram+) + /// + /// + public ChromatogramListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName chromatogramXName = System.Xml.Linq.XName.Get("chromatogram", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList chromatogramField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (chromatogram+) + /// + /// + public virtual IList chromatogram { + get { + if ((this.chromatogramField == null)) { + this.chromatogramField = new XTypedList(this, LinqToXsdTypeManager.Instance, chromatogramXName); + } + return this.chromatogramField; + } + set { + if ((value == null)) { + this.chromatogramField = null; + } + else { + if ((this.chromatogramField == null)) { + this.chromatogramField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, chromatogramXName); + } + else { + XTypedServices.SetList(this.chromatogramField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName countXName = System.Xml.Linq.XName.Get("count", ""); + + /// + /// + /// The number of chromatograms defined in this mzML file. + /// + /// + /// Occurrence: required + /// + /// + public virtual decimal count { + get { + XAttribute x = this.Attribute(countXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(countXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName defaultDataProcessingRefXName = System.Xml.Linq.XName.Get("defaultDataProcessingRef", ""); + + /// + /// + /// This attribute MUST reference the 'id' of the default data processing for the chromatogram list. If an acquisition does not reference any data processing, it implicitly refers to this data processing. This attribute is required because the minimum amount of data processing that any format will undergo is "conversion to mzML". + /// + /// + /// Occurrence: required + /// + /// + public virtual string defaultDataProcessingRef { + get { + XAttribute x = this.Attribute(defaultDataProcessingRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(defaultDataProcessingRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ChromatogramListType", "http://psi.hupo.org/ms/mzml"); + + static ChromatogramListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(chromatogramXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(chromatogramXName, typeof(ChromatogramType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// A single chromatogram. + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, precursor?, product?, binaryDataArrayList) + /// + /// + public partial class ChromatogramType : global::PsiDev.MzMl.ParamGroupType, IXMetaData { + + public static explicit operator ChromatogramType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// A single chromatogram. + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, precursor?, product?, binaryDataArrayList) + /// + /// + public ChromatogramType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName referenceableParamGroupRefXName = System.Xml.Linq.XName.Get("referenceableParamGroupRef", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName cvParamXName = System.Xml.Linq.XName.Get("cvParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName userParamXName = System.Xml.Linq.XName.Get("userParam", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName precursorXName = System.Xml.Linq.XName.Get("precursor", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, precursor?, product?, binaryDataArrayList) + /// + /// + public virtual PrecursorType precursor { + get { + XElement x = this.GetElement(precursorXName); + if ((x == null)) { + return null; + } + return ((PrecursorType)(x)); + } + set { + this.SetElement(precursorXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName productXName = System.Xml.Linq.XName.Get("product", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, precursor?, product?, binaryDataArrayList) + /// + /// + public virtual ProductType product { + get { + XElement x = this.GetElement(productXName); + if ((x == null)) { + return null; + } + return ((ProductType)(x)); + } + set { + this.SetElement(productXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName binaryDataArrayListXName = System.Xml.Linq.XName.Get("binaryDataArrayList", "http://psi.hupo.org/ms/mzml"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (referenceableParamGroupRef*, cvParam*, userParam*, precursor?, product?, binaryDataArrayList) + /// + /// + public virtual BinaryDataArrayListType binaryDataArrayList { + get { + XElement x = this.GetElement(binaryDataArrayListXName); + return ((BinaryDataArrayListType)(x)); + } + set { + this.SetElement(binaryDataArrayListXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get("id", ""); + + /// + /// + /// A unique identifier for this chromatogram. + /// + /// + /// Occurrence: required + /// + /// + public virtual string id { + get { + XAttribute x = this.Attribute(idXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(idXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName indexXName = System.Xml.Linq.XName.Get("index", ""); + + /// + /// + /// The zero-based index for this chromatogram in the chromatogram list. + /// + /// + /// Occurrence: required + /// + /// + public virtual decimal index { + get { + XAttribute x = this.Attribute(indexXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(indexXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName defaultArrayLengthXName = System.Xml.Linq.XName.Get("defaultArrayLength", ""); + + /// + /// + /// Default length of binary data arrays contained in this element. + /// + /// + /// Occurrence: required + /// + /// + public virtual int defaultArrayLength { + get { + XAttribute x = this.Attribute(defaultArrayLengthXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Int).Datatype); + } + set { + this.SetAttribute(defaultArrayLengthXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Int).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName dataProcessingRefXName = System.Xml.Linq.XName.Get("dataProcessingRef", ""); + + /// + /// + /// This attribute can optionally reference the 'id' of the appropriate dataProcessing. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string dataProcessingRef { + get { + XAttribute x = this.Attribute(dataProcessingRefXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(dataProcessingRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ChromatogramType", "http://psi.hupo.org/ms/mzml"); + + static ChromatogramType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(referenceableParamGroupRefXName), new NamedContentModelEntity(cvParamXName), new NamedContentModelEntity(userParamXName), new NamedContentModelEntity(precursorXName), new NamedContentModelEntity(productXName), new NamedContentModelEntity(binaryDataArrayListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(referenceableParamGroupRefXName, typeof(ReferenceableParamGroupRefType)); + localElementDictionary.Add(cvParamXName, typeof(CVParamType)); + localElementDictionary.Add(userParamXName, typeof(UserParamType)); + localElementDictionary.Add(precursorXName, typeof(PrecursorType)); + localElementDictionary.Add(productXName, typeof(ProductType)); + localElementDictionary.Add(binaryDataArrayListXName, typeof(BinaryDataArrayListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (index+) + /// + /// + public partial class IndexListType : XTypedElement, IXMetaData { + + public static explicit operator IndexListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (index+) + /// + /// + public IndexListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName indexXName = System.Xml.Linq.XName.Get("index", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList indexField; + + /// + /// + /// Index element containing one or more offsets for random data access for the entity described in the 'name' attribute. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (index+) + /// + /// + public virtual IList index { + get { + if ((this.indexField == null)) { + this.indexField = new XTypedList(this, LinqToXsdTypeManager.Instance, indexXName); + } + return this.indexField; + } + set { + if ((value == null)) { + this.indexField = null; + } + else { + if ((this.indexField == null)) { + this.indexField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, indexXName); + } + else { + XTypedServices.SetList(this.indexField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName countXName = System.Xml.Linq.XName.Get("count", ""); + + /// + /// + /// Number of indices in this list. + /// + /// + /// Occurrence: required + /// + /// + public virtual decimal count { + get { + XAttribute x = this.Attribute(countXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + set { + this.SetAttribute(countXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.NonNegativeInteger).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("IndexListType", "http://psi.hupo.org/ms/mzml"); + + static IndexListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(indexXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(indexXName, typeof(IndexType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (offset+) + /// + /// + public partial class IndexType : XTypedElement, IXMetaData { + + public static explicit operator IndexType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (offset+) + /// + /// + public IndexType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName offsetXName = System.Xml.Linq.XName.Get("offset", "http://psi.hupo.org/ms/mzml"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList offsetField; + + /// + /// + /// File pointer offset (in bytes) of the element identified by the 'id' attribute. + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (offset+) + /// + /// + public virtual IList offset { + get { + if ((this.offsetField == null)) { + this.offsetField = new XTypedList(this, LinqToXsdTypeManager.Instance, offsetXName); + } + return this.offsetField; + } + set { + if ((value == null)) { + this.offsetField = null; + } + else { + if ((this.offsetField == null)) { + this.offsetField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, offsetXName); + } + else { + XTypedServices.SetList(this.offsetField, value); + } + } + } + } + + public enum NameEnum { + + spectrum, + + chromatogram, + } + + public sealed class NameEnumValidator { + + private NameEnumValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new Xml.Schema.Linq.RestrictionFacets(((Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "spectrum", + "chromatogram"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName nameXName = System.Xml.Linq.XName.Get("name", ""); + + /// + /// + /// The name of the entity the index entries are pointing to. + /// + /// + /// Occurrence: required + /// + /// + public virtual PsiDev.MzMl.IndexType.NameEnum name { + get { + XAttribute x = this.Attribute(nameXName); + return ((PsiDev.MzMl.IndexType.NameEnum)(Enum.Parse(typeof(PsiDev.MzMl.IndexType.NameEnum), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, NameEnumValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(nameXName, value.ToString(), "name", NameEnumValidator.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("IndexType", "http://psi.hupo.org/ms/mzml"); + + static IndexType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(offsetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(offsetXName, typeof(OffsetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class OffsetType : XTypedElement, IXMetaData { + + public static explicit operator OffsetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public OffsetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); + + public virtual long TypedValue { + get { + XElement x = this.Untyped; + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetValue(value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName idRefXName = System.Xml.Linq.XName.Get("idRef", ""); + + /// + /// + /// Reference to the 'id' attribute of the indexed element. + /// + /// + /// Occurrence: required + /// + /// + public virtual string idRef { + get { + XAttribute x = this.Attribute(idRefXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(idRefXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName spotIDXName = System.Xml.Linq.XName.Get("spotID", ""); + + /// + /// + /// The identifier for the spot from which this spectrum was derived, if a MALDI or similar run. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string spotID { + get { + XAttribute x = this.Attribute(spotIDXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(spotIDXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName scanTimeXName = System.Xml.Linq.XName.Get("scanTime", ""); + + /// + /// + /// In the case of a spectrum representing a single scan, this attribute may be used to reference it by the time at which the scan was acquired (a.k.a. scan time or retention time). + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Double? scanTime { + get { + XAttribute x = this.Attribute(scanTimeXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + set { + this.SetAttribute(scanTimeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Double).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("OffsetType", "http://psi.hupo.org/ms/mzml"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// This is the root element for the Proteomics Standards Initiative (PSI) mzML schema, which is intended to capture the use of a mass spectrometer, the data generated, and the initial processing of that data (to the level of the peak list). + /// + /// + public partial class mzML : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static mzML Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static mzML Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static mzML Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator mzML(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new mzML(((mzMLType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private mzMLType ContentField; + + /// + /// + /// This is the root element for the Proteomics Standards Initiative (PSI) mzML schema, which is intended to capture the use of a mass spectrometer, the data generated, and the initial processing of that data (to the level of the peak list). + /// + /// + public mzML() { + SetInnerType(new mzMLType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual mzMLType Content { + get { + return ContentField; + } + } + + private void SetInnerType(mzMLType ContentField) { + this.ContentField = ((mzMLType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + /// + /// + /// This is the root element for the Proteomics Standards Initiative (PSI) mzML schema, which is intended to capture the use of a mass spectrometer, the data generated, and the initial processing of that data (to the level of the peak list). + /// + /// + public mzML(mzMLType content) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (cvList, fileDescription, referenceableParamGroupList?, sampleList?, softwareList, scanSettingsList?, instrumentConfigurationList, dataProcessingList, run) + /// + /// + public virtual CVListType cvList { + get { + return this.ContentField.cvList; + } + set { + this.ContentField.cvList = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (cvList, fileDescription, referenceableParamGroupList?, sampleList?, softwareList, scanSettingsList?, instrumentConfigurationList, dataProcessingList, run) + /// + /// + public virtual FileDescriptionType fileDescription { + get { + return this.ContentField.fileDescription; + } + set { + this.ContentField.fileDescription = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (cvList, fileDescription, referenceableParamGroupList?, sampleList?, softwareList, scanSettingsList?, instrumentConfigurationList, dataProcessingList, run) + /// + /// + public virtual ReferenceableParamGroupListType referenceableParamGroupList { + get { + return this.ContentField.referenceableParamGroupList; + } + set { + this.ContentField.referenceableParamGroupList = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (cvList, fileDescription, referenceableParamGroupList?, sampleList?, softwareList, scanSettingsList?, instrumentConfigurationList, dataProcessingList, run) + /// + /// + public virtual SampleListType sampleList { + get { + return this.ContentField.sampleList; + } + set { + this.ContentField.sampleList = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (cvList, fileDescription, referenceableParamGroupList?, sampleList?, softwareList, scanSettingsList?, instrumentConfigurationList, dataProcessingList, run) + /// + /// + public virtual SoftwareListType softwareList { + get { + return this.ContentField.softwareList; + } + set { + this.ContentField.softwareList = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (cvList, fileDescription, referenceableParamGroupList?, sampleList?, softwareList, scanSettingsList?, instrumentConfigurationList, dataProcessingList, run) + /// + /// + public virtual ScanSettingsListType scanSettingsList { + get { + return this.ContentField.scanSettingsList; + } + set { + this.ContentField.scanSettingsList = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (cvList, fileDescription, referenceableParamGroupList?, sampleList?, softwareList, scanSettingsList?, instrumentConfigurationList, dataProcessingList, run) + /// + /// + public virtual InstrumentConfigurationListType instrumentConfigurationList { + get { + return this.ContentField.instrumentConfigurationList; + } + set { + this.ContentField.instrumentConfigurationList = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (cvList, fileDescription, referenceableParamGroupList?, sampleList?, softwareList, scanSettingsList?, instrumentConfigurationList, dataProcessingList, run) + /// + /// + public virtual DataProcessingListType dataProcessingList { + get { + return this.ContentField.dataProcessingList; + } + set { + this.ContentField.dataProcessingList = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (cvList, fileDescription, referenceableParamGroupList?, sampleList?, softwareList, scanSettingsList?, instrumentConfigurationList, dataProcessingList, run) + /// + /// + public virtual RunType run { + get { + return this.ContentField.run; + } + set { + this.ContentField.run = value; + } + } + + /// + /// + /// An optional accession number for the mzML document used for storage, e.g. in PRIDE. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string accession { + get { + return this.ContentField.accession; + } + set { + this.ContentField.accession = value; + } + } + + /// + /// + /// The version of this mzML document. + /// + /// + /// Occurrence: required + /// + /// + public virtual string version { + get { + return this.ContentField.version; + } + set { + this.ContentField.version = value; + } + } + + /// + /// + /// An optional id for the mzML document used for referencing from external files. It is recommended to use LSIDs when possible. + /// + /// + /// Occurrence: optional + /// + /// + public virtual string id { + get { + return this.ContentField.id; + } + set { + this.ContentField.id = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("mzML", "http://psi.hupo.org/ms/mzml"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public class LinqToXsdTypeManager : ILinqToXsdTypeManager { + + private LinqToXsdTypeManager() { + } + + private static Dictionary typeDictionary = new Dictionary(); + + private static void BuildTypeDictionary() { + typeDictionary.Add(System.Xml.Linq.XName.Get("mzMLType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.mzMLType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("FileDescriptionType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.FileDescriptionType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SourceFileListType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.SourceFileListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SourceFileType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.SourceFileType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("CVType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.CVType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("CVListType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.CVListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ReferenceableParamGroupListType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.ReferenceableParamGroupListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ParamGroupType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.ParamGroupType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ReferenceableParamGroupType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.ReferenceableParamGroupType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("CVParamType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.CVParamType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("UserParamType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.UserParamType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ReferenceableParamGroupRefType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.ReferenceableParamGroupRefType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SampleListType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.SampleListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SampleType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.SampleType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("InstrumentConfigurationListType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.InstrumentConfigurationListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ComponentType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.ComponentType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SourceComponentType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.SourceComponentType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("DetectorComponentType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.DetectorComponentType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("AnalyzerComponentType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.AnalyzerComponentType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ComponentListType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.ComponentListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("InstrumentConfigurationType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.InstrumentConfigurationType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SoftwareRefType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.SoftwareRefType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SoftwareListType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.SoftwareListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SoftwareType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.SoftwareType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("DataProcessingListType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.DataProcessingListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("DataProcessingType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.DataProcessingType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ProcessingMethodType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.ProcessingMethodType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ScanSettingsListType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.ScanSettingsListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ScanSettingsType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.ScanSettingsType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("TargetListType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.TargetListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("RunType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.RunType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SourceFileRefType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.SourceFileRefType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SourceFileRefListType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.SourceFileRefListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SpectrumListType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.SpectrumListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ScanWindowListType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.ScanWindowListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ScanListType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.ScanListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ScanType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.ScanType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("PrecursorListType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.PrecursorListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("PrecursorType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.PrecursorType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SelectedIonListType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.SelectedIonListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ProductListType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.ProductListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ProductType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.ProductType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BinaryDataArrayListType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.BinaryDataArrayListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BinaryDataArrayType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.BinaryDataArrayType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SpectrumType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.SpectrumType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ChromatogramListType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.ChromatogramListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ChromatogramType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.ChromatogramType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("IndexListType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.IndexListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("IndexType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.IndexType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("OffsetType", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.OffsetType)); + } + + private static Dictionary elementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + elementDictionary.Add(System.Xml.Linq.XName.Get("indexedmzML", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.indexedmzML)); + elementDictionary.Add(System.Xml.Linq.XName.Get("mzML", "http://psi.hupo.org/ms/mzml"), typeof(global::PsiDev.MzMl.mzML)); + } + + private static Dictionary wrapperDictionary = new Dictionary(); + + private static void BuildWrapperDictionary() { + wrapperDictionary.Add(typeof(PsiDev.MzMl.mzML), typeof(global::PsiDev.MzMl.mzMLType)); + } + + private static XmlSchemaSet schemaSet; + + XmlSchemaSet ILinqToXsdTypeManager.Schemas { + get { + if ((schemaSet == null)) { + XmlSchemaSet tempSet = new XmlSchemaSet(); + System.Threading.Interlocked.CompareExchange(ref schemaSet, tempSet, null); + } + return schemaSet; + } + set { + schemaSet = value; + } + } + + protected internal static void AddSchemas(XmlSchemaSet schemas) { + schemas.Add(schemaSet); + } + + Dictionary ILinqToXsdTypeManager.GlobalTypeDictionary { + get { + return typeDictionary; + } + } + + Dictionary ILinqToXsdTypeManager.GlobalElementDictionary { + get { + return elementDictionary; + } + } + + Dictionary ILinqToXsdTypeManager.RootContentTypeMapping { + get { + return wrapperDictionary; + } + } + + static LinqToXsdTypeManager() { + BuildTypeDictionary(); + BuildElementDictionary(); + BuildWrapperDictionary(); + } + + public static System.Type GetRootType() { + return elementDictionary[System.Xml.Linq.XName.Get("indexedmzML", "http://psi.hupo.org/ms/mzml")]; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static LinqToXsdTypeManager typeManagerSingleton = new LinqToXsdTypeManager(); + + public static LinqToXsdTypeManager Instance { + get { + return typeManagerSingleton; + } + } + } + + public partial class XRootNamespace { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRootNamespace() { + } + + public static XRootNamespace Load(string xmlFile) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(string xmlFile, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(XmlReader xmlReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRootNamespace(indexedmzML root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public indexedmzML indexedmzML { get {return rootObject as indexedmzML; } } + + public XRootNamespace(mzML root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public mzML mzML { get {return rootObject as mzML; } } + } + + public partial class XRoot { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRoot() { + } + + public static XRoot Load(string xmlFile) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(string xmlFile, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(TextReader textReader) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(TextReader textReader, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(XmlReader xmlReader) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Parse(string text) { + XRoot root = new XRoot(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Parse(string text, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRoot(global::PsiDev.MzMl.indexedmzML root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::PsiDev.MzMl.indexedmzML indexedmzML { get {return rootObject as global::PsiDev.MzMl.indexedmzML; } } + + public XRoot(global::PsiDev.MzMl.mzML root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::PsiDev.MzMl.mzML mzML { get {return rootObject as global::PsiDev.MzMl.mzML; } } + } +} diff --git a/GeneratedSchemaLibraries/mzML/mzML1.1.1_idx.xsd.config b/GeneratedSchemaLibraries/mzML/mzML1.1.1_idx.xsd.config new file mode 100644 index 00000000..9109fdbe --- /dev/null +++ b/GeneratedSchemaLibraries/mzML/mzML1.1.1_idx.xsd.config @@ -0,0 +1,15 @@ + + + + false + false + false + false + + + + + + + false + \ No newline at end of file diff --git a/GeneratedSchemaLibraries/mzML/origin.md b/GeneratedSchemaLibraries/mzML/origin.md new file mode 100644 index 00000000..eb8063c1 --- /dev/null +++ b/GeneratedSchemaLibraries/mzML/origin.md @@ -0,0 +1,9 @@ +Taken from: https://www.psidev.info/mzml + +Copyright Notice: +Copyright (C) Proteomics Standards Initiative (2009). All Rights Reserved. +This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the PSI or other organizations, except as needed for the purpose of developing Proteomics Recommendations in which case the procedures for copyrights defined in the PSI Document process must be followed, or as required to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked by the PSI or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" basis and THE PROTEOMICS STANDARDS INITIATIVE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE." \ No newline at end of file diff --git a/LinqToXsd-TestingSuite.slnf b/LinqToXsd-TestingSuite.slnf index af7d5fa5..fac362ba 100644 --- a/LinqToXsd-TestingSuite.slnf +++ b/LinqToXsd-TestingSuite.slnf @@ -1,11 +1,11 @@ -{ +{ "solution": { "path": "LinqToXsdCore.sln", "projects": [ "GeneratedSchemaLibraries\\1707_ISYBAU_XML_Schema\\1707_ISYBAU_XML_Schema.csproj", "GeneratedSchemaLibraries\\AbstractTypeTest\\AbstractTypeTest.csproj", - "GeneratedSchemaLibraries\\AkomaNtoso30-CSD13-D2f\\AkomaNtoso30-CSD13-D2f.csproj", "GeneratedSchemaLibraries\\AkomaNtoso\\AkomaNtoso.csproj", + "GeneratedSchemaLibraries\\AkomaNtoso30-CSD13-D2f\\AkomaNtoso30-CSD13-D2f.csproj", "GeneratedSchemaLibraries\\ALTO\\ALTO.csproj", "GeneratedSchemaLibraries\\AspNetSiteMaps\\AspNetSiteMaps.csproj", "GeneratedSchemaLibraries\\Atom\\Atom.csproj", @@ -44,6 +44,7 @@ "GeneratedSchemaLibraries\\OPC\\OPC.csproj", "GeneratedSchemaLibraries\\OpenPackagingConventions-XMLSchema\\OpenPackagingConventions-XMLSchema.csproj", "GeneratedSchemaLibraries\\Opml\\Opml.csproj", + "GeneratedSchemaLibraries\\ORMML\\ORMML.csproj", "GeneratedSchemaLibraries\\ParaParserXml\\ParaParserXml.csproj", "GeneratedSchemaLibraries\\Pubmed\\Pubmed.csproj", "GeneratedSchemaLibraries\\Rss\\Rss.csproj", @@ -60,6 +61,7 @@ "GeneratedSchemaLibraries\\XMLSpec\\XMLSpec.csproj", "GeneratedSchemaLibraries\\XQueryX\\XQueryX.csproj", "GeneratedSchemaLibraries\\XSD\\XSD.csproj", + "GeneratedSchemaLibraries\\XTCE\\XTCE.csproj", "LinqToXsd.Schemas\\LinqToXsd.Schemas.csproj", "LinqToXsd\\LinqToXsd.csproj", "XObjectsCode\\XObjectsCodeGen.csproj", diff --git a/LinqToXsd.Schemas/LinqToXsd.Schemas.csproj b/LinqToXsd.Schemas/LinqToXsd.Schemas.csproj index 4e1db2a0..1d00477a 100644 --- a/LinqToXsd.Schemas/LinqToXsd.Schemas.csproj +++ b/LinqToXsd.Schemas/LinqToXsd.Schemas.csproj @@ -144,6 +144,8 @@ + + diff --git a/LinqToXsd.Schemas/RecursiveGroupStackoverflowBug/schema.xsd-g.cs b/LinqToXsd.Schemas/RecursiveGroupStackoverflowBug/schema.xsd-g.cs index 69a92e38..b64462ec 100644 --- a/LinqToXsd.Schemas/RecursiveGroupStackoverflowBug/schema.xsd-g.cs +++ b/LinqToXsd.Schemas/RecursiveGroupStackoverflowBug/schema.xsd-g.cs @@ -1,6 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. +// LinqToXsd Version: 3.4.24 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. diff --git a/LinqToXsd.Schemas/Tests/DateOnly/DateOnlyTest.xsd.cs b/LinqToXsd.Schemas/Tests/DateOnly/DateOnlyTest.xsd-g.cs similarity index 94% rename from LinqToXsd.Schemas/Tests/DateOnly/DateOnlyTest.xsd.cs rename to LinqToXsd.Schemas/Tests/DateOnly/DateOnlyTest.xsd-g.cs index 3301883b..b9b329dd 100644 --- a/LinqToXsd.Schemas/Tests/DateOnly/DateOnlyTest.xsd.cs +++ b/LinqToXsd.Schemas/Tests/DateOnly/DateOnlyTest.xsd-g.cs @@ -1,6 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. +// LinqToXsd Version: 3.4.24 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -8,16 +9,16 @@ //------------------------------------------------------------------------------ namespace LinqToXsd.Schemas.Test.DateOnlyTest { - using System; - using System.Collections; - using System.Collections.Generic; - using System.ComponentModel; - using System.IO; - using System.Linq; - using System.Diagnostics; - using System.Xml; - using System.Xml.Schema; - using System.Xml.Linq; + using global::System; + using global::System.Collections; + using global::System.Collections.Generic; + using global::System.ComponentModel; + using global::System.IO; + using global::System.Linq; + using global::System.Diagnostics; + using global::System.Xml; + using global::System.Xml.Schema; + using global::System.Xml.Linq; using global::Xml.Schema.Linq; @@ -68,7 +69,7 @@ public root() { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [EditorBrowsable(EditorBrowsableState.Never)] - internal static readonly System.Xml.Linq.XName edatetimeXName = System.Xml.Linq.XName.Get("e-datetime", "http://linqtoxsd.schemas.org/test/dateonly-test.xsd"); + protected internal static readonly System.Xml.Linq.XName edatetimeXName = System.Xml.Linq.XName.Get("e-datetime", "http://linqtoxsd.schemas.org/test/dateonly-test.xsd"); /// /// @@ -90,7 +91,7 @@ public virtual System.DateTime edatetime { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [EditorBrowsable(EditorBrowsableState.Never)] - internal static readonly System.Xml.Linq.XName edateXName = System.Xml.Linq.XName.Get("e-date", "http://linqtoxsd.schemas.org/test/dateonly-test.xsd"); + protected internal static readonly System.Xml.Linq.XName edateXName = System.Xml.Linq.XName.Get("e-date", "http://linqtoxsd.schemas.org/test/dateonly-test.xsd"); /// /// @@ -112,7 +113,7 @@ public virtual System.DateOnly edate { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [EditorBrowsable(EditorBrowsableState.Never)] - internal static readonly System.Xml.Linq.XName etimeXName = System.Xml.Linq.XName.Get("e-time", "http://linqtoxsd.schemas.org/test/dateonly-test.xsd"); + protected internal static readonly System.Xml.Linq.XName etimeXName = System.Xml.Linq.XName.Get("e-time", "http://linqtoxsd.schemas.org/test/dateonly-test.xsd"); /// /// @@ -134,7 +135,7 @@ public virtual System.TimeOnly etime { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [EditorBrowsable(EditorBrowsableState.Never)] - internal static readonly System.Xml.Linq.XName vdateXName = System.Xml.Linq.XName.Get("v-date", "http://linqtoxsd.schemas.org/test/dateonly-test.xsd"); + protected internal static readonly System.Xml.Linq.XName vdateXName = System.Xml.Linq.XName.Get("v-date", "http://linqtoxsd.schemas.org/test/dateonly-test.xsd"); /// /// @@ -156,7 +157,7 @@ public virtual System.DateOnly vdate { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [EditorBrowsable(EditorBrowsableState.Never)] - internal static readonly System.Xml.Linq.XName vtimeXName = System.Xml.Linq.XName.Get("v-time", "http://linqtoxsd.schemas.org/test/dateonly-test.xsd"); + protected internal static readonly System.Xml.Linq.XName vtimeXName = System.Xml.Linq.XName.Get("v-time", "http://linqtoxsd.schemas.org/test/dateonly-test.xsd"); /// /// @@ -178,7 +179,7 @@ public virtual System.TimeOnly vtime { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [EditorBrowsable(EditorBrowsableState.Never)] - internal static readonly System.Xml.Linq.XName adateXName = System.Xml.Linq.XName.Get("a-date", ""); + protected internal static readonly System.Xml.Linq.XName adateXName = System.Xml.Linq.XName.Get("a-date", ""); /// /// @@ -200,7 +201,7 @@ public virtual System.DateOnly? adate { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [EditorBrowsable(EditorBrowsableState.Never)] - internal static readonly System.Xml.Linq.XName atimeXName = System.Xml.Linq.XName.Get("a-time", ""); + protected internal static readonly System.Xml.Linq.XName atimeXName = System.Xml.Linq.XName.Get("a-time", ""); /// /// diff --git a/LinqToXsd.Schemas/Tests/DateOnly/DateOnlyTest.xsd.config b/LinqToXsd.Schemas/Tests/DateOnly/DateOnlyTest.xsd.config index cba1bd9e..2cf24d45 100644 --- a/LinqToXsd.Schemas/Tests/DateOnly/DateOnlyTest.xsd.config +++ b/LinqToXsd.Schemas/Tests/DateOnly/DateOnlyTest.xsd.config @@ -4,7 +4,7 @@ true true - + diff --git a/LinqToXsd.Schemas/Tests/DateTimeOffset/DateTimeOffsetTest.xsd.cs b/LinqToXsd.Schemas/Tests/DateTimeOffset/DateTimeOffsetTest.xsd-g.cs similarity index 94% rename from LinqToXsd.Schemas/Tests/DateTimeOffset/DateTimeOffsetTest.xsd.cs rename to LinqToXsd.Schemas/Tests/DateTimeOffset/DateTimeOffsetTest.xsd-g.cs index b81589e0..3aac4b1c 100644 --- a/LinqToXsd.Schemas/Tests/DateTimeOffset/DateTimeOffsetTest.xsd.cs +++ b/LinqToXsd.Schemas/Tests/DateTimeOffset/DateTimeOffsetTest.xsd-g.cs @@ -1,6 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. +// LinqToXsd Version: 3.4.24 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -8,16 +9,16 @@ //------------------------------------------------------------------------------ namespace LinqToXsd.Schemas.Test.DateTimeOffsetTest { - using System; - using System.Collections; - using System.Collections.Generic; - using System.ComponentModel; - using System.IO; - using System.Linq; - using System.Diagnostics; - using System.Xml; - using System.Xml.Schema; - using System.Xml.Linq; + using global::System; + using global::System.Collections; + using global::System.Collections.Generic; + using global::System.ComponentModel; + using global::System.IO; + using global::System.Linq; + using global::System.Diagnostics; + using global::System.Xml; + using global::System.Xml.Schema; + using global::System.Xml.Linq; using global::Xml.Schema.Linq; @@ -68,7 +69,7 @@ public root() { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [EditorBrowsable(EditorBrowsableState.Never)] - internal static readonly System.Xml.Linq.XName edatetimeXName = System.Xml.Linq.XName.Get("e-datetime", "http://linqtoxsd.schemas.org/test/datetimeoffset-test.xsd"); + protected internal static readonly System.Xml.Linq.XName edatetimeXName = System.Xml.Linq.XName.Get("e-datetime", "http://linqtoxsd.schemas.org/test/datetimeoffset-test.xsd"); /// /// @@ -90,7 +91,7 @@ public virtual System.DateTimeOffset edatetime { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [EditorBrowsable(EditorBrowsableState.Never)] - internal static readonly System.Xml.Linq.XName edateXName = System.Xml.Linq.XName.Get("e-date", "http://linqtoxsd.schemas.org/test/datetimeoffset-test.xsd"); + protected internal static readonly System.Xml.Linq.XName edateXName = System.Xml.Linq.XName.Get("e-date", "http://linqtoxsd.schemas.org/test/datetimeoffset-test.xsd"); /// /// @@ -112,7 +113,7 @@ public virtual System.DateTime edate { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [EditorBrowsable(EditorBrowsableState.Never)] - internal static readonly System.Xml.Linq.XName etimeXName = System.Xml.Linq.XName.Get("e-time", "http://linqtoxsd.schemas.org/test/datetimeoffset-test.xsd"); + protected internal static readonly System.Xml.Linq.XName etimeXName = System.Xml.Linq.XName.Get("e-time", "http://linqtoxsd.schemas.org/test/datetimeoffset-test.xsd"); /// /// @@ -134,7 +135,7 @@ public virtual System.DateTime etime { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [EditorBrowsable(EditorBrowsableState.Never)] - internal static readonly System.Xml.Linq.XName adatetimeXName = System.Xml.Linq.XName.Get("a-datetime", ""); + protected internal static readonly System.Xml.Linq.XName adatetimeXName = System.Xml.Linq.XName.Get("a-datetime", ""); /// /// diff --git a/LinqToXsd.Schemas/Tests/DateTimeOffset/DateTimeOffsetTest.xsd.config b/LinqToXsd.Schemas/Tests/DateTimeOffset/DateTimeOffsetTest.xsd.config index beb47d8b..7a78b632 100644 --- a/LinqToXsd.Schemas/Tests/DateTimeOffset/DateTimeOffsetTest.xsd.config +++ b/LinqToXsd.Schemas/Tests/DateTimeOffset/DateTimeOffsetTest.xsd.config @@ -3,7 +3,7 @@ true - + diff --git a/LinqToXsd.Schemas/Tests/GithubIssue71/V2G_CI_AppProtocol.xsd-g.cs b/LinqToXsd.Schemas/Tests/GithubIssue71/V2G_CI_AppProtocol.xsd-g.cs new file mode 100644 index 00000000..379c6627 --- /dev/null +++ b/LinqToXsd.Schemas/Tests/GithubIssue71/V2G_CI_AppProtocol.xsd-g.cs @@ -0,0 +1,894 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// LinqToXsd Version: 3.4.24 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace LinqToXsd.Schemas.Tests.GithubIssue71.urn.iso_15118_2_2010.AppProtocol { + using global::System; + using global::System.Collections; + using global::System.Collections.Generic; + using global::System.ComponentModel; + using global::System.IO; + using global::System.Linq; + using global::System.Diagnostics; + using global::System.Xml; + using global::System.Xml.Schema; + using global::System.Xml.Linq; + using global::Xml.Schema.Linq; + + + /// + /// + /// Regular expression: (AppProtocol+) + /// + /// + public partial class supportedAppProtocolReq : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static supportedAppProtocolReq Load(string xmlFile) { + return XTypedServices.Load(xmlFile); + } + + public static supportedAppProtocolReq Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile); + } + + public static supportedAppProtocolReq Parse(string xml) { + return XTypedServices.Parse(xml); + } + + public static explicit operator supportedAppProtocolReq(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (AppProtocol+) + /// + /// + public supportedAppProtocolReq() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AppProtocolXName = System.Xml.Linq.XName.Get("AppProtocol", ""); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList AppProtocolField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (AppProtocol+) + /// + /// + public virtual IList AppProtocol { + get { + if ((this.AppProtocolField == null)) { + this.AppProtocolField = new XTypedList(this, LinqToXsdTypeManager.Instance, AppProtocolXName); + } + return this.AppProtocolField; + } + set { + if ((value == null)) { + this.AppProtocolField = null; + } + else { + if ((this.AppProtocolField == null)) { + this.AppProtocolField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, AppProtocolXName); + } + else { + XTypedServices.SetList(this.AppProtocolField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("supportedAppProtocolReq", "urn:iso:15118:2:2010:AppProtocol"); + + static supportedAppProtocolReq() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AppProtocolXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AppProtocolXName, typeof(AppProtocolType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ResponseCode, SchemaID?) + /// + /// + public partial class supportedAppProtocolRes : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static supportedAppProtocolRes Load(string xmlFile) { + return XTypedServices.Load(xmlFile); + } + + public static supportedAppProtocolRes Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile); + } + + public static supportedAppProtocolRes Parse(string xml) { + return XTypedServices.Parse(xml); + } + + public static explicit operator supportedAppProtocolRes(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ResponseCode, SchemaID?) + /// + /// + public supportedAppProtocolRes() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ResponseCodeXName = System.Xml.Linq.XName.Get("ResponseCode", ""); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, SchemaID?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.iso_15118_2_2010.AppProtocol.responseCodeType ResponseCode { + get { + XElement x = this.GetElement(ResponseCodeXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.iso_15118_2_2010.AppProtocol.responseCodeType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.iso_15118_2_2010.AppProtocol.responseCodeType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.iso_15118_2_2010.AppProtocol.responseCodeTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(ResponseCodeXName, value.ToString(), "ResponseCode", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.iso_15118_2_2010.AppProtocol.responseCodeTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SchemaIDXName = System.Xml.Linq.XName.Get("SchemaID", ""); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ResponseCode, SchemaID?) + /// + /// + public virtual System.Byte? SchemaID { + get { + XElement x = this.GetElement(SchemaIDXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedByte).Datatype); + } + set { + if (value == null) { + this.SetElement(SchemaIDXName, null, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedByte).Datatype); + } + else { + this.SetElementWithValidation(SchemaIDXName, value, "SchemaID", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.iso_15118_2_2010.AppProtocol.idType.TypeDefinition); + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("supportedAppProtocolRes", "urn:iso:15118:2:2010:AppProtocol"); + + static supportedAppProtocolRes() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ResponseCodeXName), new NamedContentModelEntity(SchemaIDXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ResponseCodeXName, typeof(string)); + localElementDictionary.Add(SchemaIDXName, typeof(byte)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ProtocolNamespace, VersionNumberMajor, VersionNumberMinor, SchemaID, Priority) + /// + /// + public partial class AppProtocolType : XTypedElement, IXMetaData { + + public static explicit operator AppProtocolType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ProtocolNamespace, VersionNumberMajor, VersionNumberMinor, SchemaID, Priority) + /// + /// + public AppProtocolType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ProtocolNamespaceXName = System.Xml.Linq.XName.Get("ProtocolNamespace", ""); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ProtocolNamespace, VersionNumberMajor, VersionNumberMinor, SchemaID, Priority) + /// + /// + public virtual System.Uri ProtocolNamespace { + get { + XElement x = this.GetElement(ProtocolNamespaceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetElementWithValidation(ProtocolNamespaceXName, value, "ProtocolNamespace", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.iso_15118_2_2010.AppProtocol.protocolNamespaceType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName VersionNumberMajorXName = System.Xml.Linq.XName.Get("VersionNumberMajor", ""); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ProtocolNamespace, VersionNumberMajor, VersionNumberMinor, SchemaID, Priority) + /// + /// + public virtual uint VersionNumberMajor { + get { + XElement x = this.GetElement(VersionNumberMajorXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedInt).Datatype); + } + set { + this.SetElement(VersionNumberMajorXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedInt).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName VersionNumberMinorXName = System.Xml.Linq.XName.Get("VersionNumberMinor", ""); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ProtocolNamespace, VersionNumberMajor, VersionNumberMinor, SchemaID, Priority) + /// + /// + public virtual uint VersionNumberMinor { + get { + XElement x = this.GetElement(VersionNumberMinorXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedInt).Datatype); + } + set { + this.SetElement(VersionNumberMinorXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedInt).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SchemaIDXName = System.Xml.Linq.XName.Get("SchemaID", ""); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ProtocolNamespace, VersionNumberMajor, VersionNumberMinor, SchemaID, Priority) + /// + /// + public virtual byte SchemaID { + get { + XElement x = this.GetElement(SchemaIDXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedByte).Datatype); + } + set { + this.SetElementWithValidation(SchemaIDXName, value, "SchemaID", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.iso_15118_2_2010.AppProtocol.idType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName PriorityXName = System.Xml.Linq.XName.Get("Priority", ""); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ProtocolNamespace, VersionNumberMajor, VersionNumberMinor, SchemaID, Priority) + /// + /// + public virtual byte Priority { + get { + XElement x = this.GetElement(PriorityXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedByte).Datatype); + } + set { + this.SetElementWithValidation(PriorityXName, value, "Priority", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.iso_15118_2_2010.AppProtocol.priorityType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("AppProtocolType", "urn:iso:15118:2:2010:AppProtocol"); + + static AppProtocolType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ProtocolNamespaceXName), new NamedContentModelEntity(VersionNumberMajorXName), new NamedContentModelEntity(VersionNumberMinorXName), new NamedContentModelEntity(SchemaIDXName), new NamedContentModelEntity(PriorityXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ProtocolNamespaceXName, typeof(System.Uri)); + localElementDictionary.Add(VersionNumberMajorXName, typeof(uint)); + localElementDictionary.Add(VersionNumberMinorXName, typeof(uint)); + localElementDictionary.Add(SchemaIDXName, typeof(byte)); + localElementDictionary.Add(PriorityXName, typeof(byte)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public sealed class idType { + + private idType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedByte), null); + } + + public sealed class protocolNameType { + + private protocolNameType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(4)), null, 0, 0, null, null, 30, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public sealed class protocolNamespaceType { + + private protocolNamespaceType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(4)), null, 0, 0, null, null, 100, null, null, 0, null, 0, XmlSchemaWhiteSpace.Collapse)); + } + + public sealed class priorityType { + + private priorityType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedByte), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(320)), null, 0, 0, null, 20, 0, null, 1, 0, null, 0, XmlSchemaWhiteSpace.Collapse)); + } + + public enum responseCodeType { + + OK_SuccessfulNegotiation, + + OK_SuccessfulNegotiationWithMinorDeviation, + + Failed_NoNegotiation, + } + + public sealed class responseCodeTypeValidator { + + private responseCodeTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "OK_SuccessfulNegotiation", + "OK_SuccessfulNegotiationWithMinorDeviation", + "Failed_NoNegotiation"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public class LinqToXsdTypeManager : ILinqToXsdTypeManager { + + private LinqToXsdTypeManager() { + } + + private static Dictionary typeDictionary = new Dictionary(); + + private static void BuildTypeDictionary() { + typeDictionary.Add(System.Xml.Linq.XName.Get("AppProtocolType", "urn:iso:15118:2:2010:AppProtocol"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.iso_15118_2_2010.AppProtocol.AppProtocolType)); + } + + private static Dictionary elementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + elementDictionary.Add(System.Xml.Linq.XName.Get("supportedAppProtocolReq", "urn:iso:15118:2:2010:AppProtocol"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.iso_15118_2_2010.AppProtocol.supportedAppProtocolReq)); + elementDictionary.Add(System.Xml.Linq.XName.Get("supportedAppProtocolRes", "urn:iso:15118:2:2010:AppProtocol"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.iso_15118_2_2010.AppProtocol.supportedAppProtocolRes)); + } + + private static XmlSchemaSet schemaSet; + + XmlSchemaSet ILinqToXsdTypeManager.Schemas { + get { + if ((schemaSet == null)) { + XmlSchemaSet tempSet = new XmlSchemaSet(); + System.Threading.Interlocked.CompareExchange(ref schemaSet, tempSet, null); + } + return schemaSet; + } + set { + schemaSet = value; + } + } + + protected internal static void AddSchemas(XmlSchemaSet schemas) { + schemas.Add(schemaSet); + } + + Dictionary ILinqToXsdTypeManager.GlobalTypeDictionary { + get { + return typeDictionary; + } + } + + Dictionary ILinqToXsdTypeManager.GlobalElementDictionary { + get { + return elementDictionary; + } + } + + Dictionary ILinqToXsdTypeManager.RootContentTypeMapping { + get { + return XTypedServices.EmptyTypeMappingDictionary; + } + } + + static LinqToXsdTypeManager() { + BuildTypeDictionary(); + BuildElementDictionary(); + } + + public static System.Type GetRootType() { + return elementDictionary[System.Xml.Linq.XName.Get("supportedAppProtocolReq", "urn:iso:15118:2:2010:AppProtocol")]; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static LinqToXsdTypeManager typeManagerSingleton = new LinqToXsdTypeManager(); + + public static LinqToXsdTypeManager Instance { + get { + return typeManagerSingleton; + } + } + } + + public partial class XRootNamespace { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRootNamespace() { + } + + public static XRootNamespace Load(string xmlFile) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(string xmlFile, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(XmlReader xmlReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRootNamespace(supportedAppProtocolReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public supportedAppProtocolReq supportedAppProtocolReq { get {return rootObject as supportedAppProtocolReq; } } + + public XRootNamespace(supportedAppProtocolRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public supportedAppProtocolRes supportedAppProtocolRes { get {return rootObject as supportedAppProtocolRes; } } + } + + public partial class XRoot { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRoot() { + } + + public static XRoot Load(string xmlFile) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(string xmlFile, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(TextReader textReader) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(TextReader textReader, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(XmlReader xmlReader) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Parse(string text) { + XRoot root = new XRoot(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Parse(string text, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.iso_15118_2_2010.AppProtocol.supportedAppProtocolReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.iso_15118_2_2010.AppProtocol.supportedAppProtocolReq supportedAppProtocolReq { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.iso_15118_2_2010.AppProtocol.supportedAppProtocolReq; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.iso_15118_2_2010.AppProtocol.supportedAppProtocolRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.iso_15118_2_2010.AppProtocol.supportedAppProtocolRes supportedAppProtocolRes { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.iso_15118_2_2010.AppProtocol.supportedAppProtocolRes; } } + } +} diff --git a/LinqToXsd.Schemas/Tests/GithubIssue71/V2G_CI_MsgDataTypes.xsd-g.cs b/LinqToXsd.Schemas/Tests/GithubIssue71/V2G_CI_MsgDataTypes.xsd-g.cs new file mode 100644 index 00000000..28631c7e --- /dev/null +++ b/LinqToXsd.Schemas/Tests/GithubIssue71/V2G_CI_MsgDataTypes.xsd-g.cs @@ -0,0 +1,29290 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// LinqToXsd Version: 3.4.24 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace urn.din.Item70121.Item2012.MsgDef { + using global::System; + using global::System.Collections; + using global::System.Collections.Generic; + using global::System.ComponentModel; + using global::System.IO; + using global::System.Linq; + using global::System.Diagnostics; + using global::System.Xml; + using global::System.Xml.Schema; + using global::System.Xml.Linq; + using global::Xml.Schema.Linq; + using global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes; + using global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody; + using global::urn.din.Item70121.Item2012.MsgHeader; + using global::www.w3.org.Item2000.Item09.xmldsig; + + + /// + /// + /// Regular expression: (Header, Body) + /// + /// + public partial class V2G_Message : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static V2G_Message Load(string xmlFile) { + return XTypedServices.Load(xmlFile); + } + + public static V2G_Message Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile); + } + + public static V2G_Message Parse(string xml) { + return XTypedServices.Parse(xml); + } + + public static explicit operator V2G_Message(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (Header, Body) + /// + /// + public V2G_Message() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName HeaderXName = System.Xml.Linq.XName.Get("Header", "urn:din:70121:2012:MsgDef"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Header, Body) + /// + /// + public virtual urn.din.Item70121.Item2012.MsgHeader.MessageHeaderType Header { + get { + XElement x = this.GetElement(HeaderXName); + return ((urn.din.Item70121.Item2012.MsgHeader.MessageHeaderType)(x)); + } + set { + this.SetElement(HeaderXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BodyXName = System.Xml.Linq.XName.Get("Body", "urn:din:70121:2012:MsgDef"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Header, Body) + /// + /// + public virtual BodyType Body { + get { + XElement x = this.GetElement(BodyXName); + return ((BodyType)(x)); + } + set { + this.SetElement(BodyXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("V2G_Message", "urn:din:70121:2012:MsgDef"); + + static V2G_Message() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(HeaderXName), new NamedContentModelEntity(BodyXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(HeaderXName, typeof(urn.din.Item70121.Item2012.MsgHeader.MessageHeaderType)); + localElementDictionary.Add(BodyXName, typeof(BodyType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (BodyElement?) + /// + /// + public partial class BodyType : XTypedElement, IXMetaData { + + public static explicit operator BodyType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (BodyElement?) + /// + /// + public BodyType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BodyElementXName = System.Xml.Linq.XName.Get("BodyElement", "urn:din:70121:2012:MsgDef"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Substitution members: BodyElement, SessionSetupReq, SessionSetupRes, ServiceDiscoveryReq, ServiceDiscoveryRes, ServiceDetailReq, ServiceDetailRes, ServicePaymentSelectionReq, ServicePaymentSelectionRes, PaymentDetailsReq, PaymentDetailsRes, ContractAuthenticationReq, ContractAuthenticationRes, ChargeParameterDiscoveryReq, ChargeParameterDiscoveryRes, PowerDeliveryReq, PowerDeliveryRes, ChargingStatusReq, ChargingStatusRes, MeteringReceiptReq, MeteringReceiptRes, SessionStopReq, SessionStopRes, CertificateUpdateReq, CertificateUpdateRes, CertificateInstallationReq, CertificateInstallationRes, CableCheckReq, CableCheckRes, PreChargeReq, PreChargeRes, CurrentDemandReq, CurrentDemandRes, WeldingDetectionReq, WeldingDetectionRes + /// + /// + /// Regular expression: (BodyElement?) + /// + /// + public virtual BodyElement BodyElement { + get { + XTypedElement x = XTypedServices.ToSubstitutedXTypedElement(this, LinqToXsdTypeManager.Instance, System.Xml.Linq.XName.Get("BodyElement", "urn:din:70121:2012:MsgDef"), System.Xml.Linq.XName.Get("SessionSetupReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("SessionSetupRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("ServiceDiscoveryReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("ServiceDiscoveryRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("ServiceDetailReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("ServiceDetailRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("ServicePaymentSelectionReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("ServicePaymentSelectionRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("PaymentDetailsReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("PaymentDetailsRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("ContractAuthenticationReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("ContractAuthenticationRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("ChargeParameterDiscoveryReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("ChargeParameterDiscoveryRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("PowerDeliveryReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("PowerDeliveryRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("ChargingStatusReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("ChargingStatusRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("MeteringReceiptReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("MeteringReceiptRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("SessionStopReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("SessionStopRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("CertificateUpdateReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("CertificateUpdateRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("CertificateInstallationReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("CertificateInstallationRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("CableCheckReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("CableCheckRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("PreChargeReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("PreChargeRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("CurrentDemandReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("CurrentDemandRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("WeldingDetectionReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("WeldingDetectionRes", "urn:din:70121:2012:MsgBody")); + if ((x == null)) { + return null; + } + return ((BodyElement)(x)); + } + set { + this.SetElement(BodyElementXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BodyType", "urn:din:70121:2012:MsgDef"); + + static BodyType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new SubstitutedContentModelEntity(System.Xml.Linq.XName.Get("BodyElement", "urn:din:70121:2012:MsgDef"), System.Xml.Linq.XName.Get("SessionSetupReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("SessionSetupRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("ServiceDiscoveryReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("ServiceDiscoveryRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("ServiceDetailReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("ServiceDetailRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("ServicePaymentSelectionReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("ServicePaymentSelectionRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("PaymentDetailsReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("PaymentDetailsRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("ContractAuthenticationReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("ContractAuthenticationRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("ChargeParameterDiscoveryReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("ChargeParameterDiscoveryRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("PowerDeliveryReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("PowerDeliveryRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("ChargingStatusReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("ChargingStatusRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("MeteringReceiptReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("MeteringReceiptRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("SessionStopReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("SessionStopRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("CertificateUpdateReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("CertificateUpdateRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("CertificateInstallationReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("CertificateInstallationRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("CableCheckReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("CableCheckRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("PreChargeReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("PreChargeRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("CurrentDemandReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("CurrentDemandRes", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("WeldingDetectionReq", "urn:din:70121:2012:MsgBody"), System.Xml.Linq.XName.Get("WeldingDetectionRes", "urn:din:70121:2012:MsgBody"))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(BodyElementXName, typeof(BodyElement)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public abstract partial class BodyBaseType : XTypedElement, IXMetaData { + + public static explicit operator BodyBaseType(XElement xe) { return (BodyBaseType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public BodyBaseType() { + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BodyBaseType", "urn:din:70121:2012:MsgDef"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class BodyElement : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static BodyElement Load(string xmlFile) { + return ((BodyElement)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static BodyElement Load(System.IO.TextReader xmlFile) { + return ((BodyElement)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static BodyElement Parse(string xml) { + return ((BodyElement)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator BodyElement(XElement xe) { return (BodyElement)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new BodyElement(((BodyBaseType)(this.Content.Clone()))); + } + + protected BodyElement(bool setNull) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private BodyBaseType ContentField; + + public BodyElement() { + throw new InvalidOperationException(); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public virtual BodyBaseType Content { + get { + return ContentField; + } + } + + private void SetInnerType(BodyBaseType ContentField) { + this.ContentField = ((BodyBaseType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + protected virtual void SetSubstitutionMember(BodyBaseType ContentField) { + this.ContentField = ContentField; + } + + public BodyElement(BodyBaseType content) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("BodyElement", "urn:din:70121:2012:MsgDef"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public class LinqToXsdTypeManager : ILinqToXsdTypeManager { + + private LinqToXsdTypeManager() { + } + + private static Dictionary typeDictionary = new Dictionary(); + + private static void BuildTypeDictionary() { + typeDictionary.Add(System.Xml.Linq.XName.Get("ServiceType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ServiceType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ServiceTagListType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ServiceTagListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ServiceTagType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ServiceTagType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SelectedServiceListType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SelectedServiceListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SelectedServiceType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SelectedServiceType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ServiceParameterListType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ServiceParameterListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ParameterSetType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ParameterSetType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ParameterType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ParameterType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ServiceChargeType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ServiceChargeType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("CertificateChainType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.CertificateChainType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SubCertificatesType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SubCertificatesType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ListOfRootCertificateIDsType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ListOfRootCertificateIDsType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("MeterInfoType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.MeterInfoType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("PhysicalValueType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("NotificationType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.NotificationType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SASchedulesType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SASchedulesType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SAScheduleListType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SAScheduleListType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SAScheduleTupleType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SAScheduleTupleType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SalesTariffType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SalesTariffType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("PMaxScheduleType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PMaxScheduleType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("EntryType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EntryType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SalesTariffEntryType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SalesTariffEntryType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("PMaxScheduleEntryType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PMaxScheduleEntryType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("IntervalType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.IntervalType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("RelativeTimeIntervalType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.RelativeTimeIntervalType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ConsumptionCostType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ConsumptionCostType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("CostType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.CostType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("EVSEStatusType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEStatusType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("AC_EVSEStatusType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVSEStatusType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("EVStatusType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVStatusType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("DC_EVSEStatusType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatusType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("DC_EVStatusType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVStatusType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("EVChargeParameterType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVChargeParameterType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("AC_EVChargeParameterType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVChargeParameterType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("DC_EVChargeParameterType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVChargeParameterType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("EVSEChargeParameterType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEChargeParameterType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("AC_EVSEChargeParameterType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVSEChargeParameterType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("DC_EVSEChargeParameterType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEChargeParameterType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("EVPowerDeliveryParameterType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVPowerDeliveryParameterType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("DC_EVPowerDeliveryParameterType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVPowerDeliveryParameterType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ChargingProfileType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ChargingProfileType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ProfileEntryType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ProfileEntryType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("PaymentOptionsType", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PaymentOptionsType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SessionSetupReqType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionSetupReqType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SessionSetupResType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionSetupResType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ServiceDiscoveryReqType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDiscoveryReqType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ServiceDiscoveryResType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDiscoveryResType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ServiceDetailReqType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDetailReqType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ServiceDetailResType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDetailResType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ServicePaymentSelectionReqType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServicePaymentSelectionReqType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ServicePaymentSelectionResType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServicePaymentSelectionResType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("PaymentDetailsReqType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PaymentDetailsReqType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("PaymentDetailsResType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PaymentDetailsResType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ContractAuthenticationReqType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ContractAuthenticationReqType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ContractAuthenticationResType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ContractAuthenticationResType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ChargeParameterDiscoveryReqType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargeParameterDiscoveryReqType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ChargeParameterDiscoveryResType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargeParameterDiscoveryResType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("PowerDeliveryReqType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PowerDeliveryReqType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("PowerDeliveryResType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PowerDeliveryResType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ChargingStatusReqType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargingStatusReqType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ChargingStatusResType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargingStatusResType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("MeteringReceiptReqType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.MeteringReceiptReqType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("MeteringReceiptResType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.MeteringReceiptResType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SessionStopType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionStopType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SessionStopResType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionStopResType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("CertificateUpdateReqType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateUpdateReqType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("CertificateUpdateResType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateUpdateResType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("CertificateInstallationReqType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateInstallationReqType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("CertificateInstallationResType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateInstallationResType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("CableCheckReqType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CableCheckReqType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("CableCheckResType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CableCheckResType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("PreChargeReqType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PreChargeReqType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("PreChargeResType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PreChargeResType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("CurrentDemandReqType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CurrentDemandReqType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("CurrentDemandResType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CurrentDemandResType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("WeldingDetectionReqType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.WeldingDetectionReqType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("WeldingDetectionResType", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.WeldingDetectionResType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BodyType", "urn:din:70121:2012:MsgDef"), typeof(global::urn.din.Item70121.Item2012.MsgDef.BodyType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("BodyBaseType", "urn:din:70121:2012:MsgDef"), typeof(global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("MessageHeaderType", "urn:din:70121:2012:MsgHeader"), typeof(global::urn.din.Item70121.Item2012.MsgHeader.MessageHeaderType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SignatureType", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.SignatureType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SignatureValueType", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.SignatureValueType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SignedInfoType", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.SignedInfoType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("CanonicalizationMethodType", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.CanonicalizationMethodType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SignatureMethodType", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.SignatureMethodType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ReferenceType", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.ReferenceType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("TransformsType", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.TransformsType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("TransformType", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.TransformType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("DigestMethodType", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.DigestMethodType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("KeyInfoType", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.KeyInfoType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("KeyValueType", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.KeyValueType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("RetrievalMethodType", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.RetrievalMethodType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("X509DataType", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.X509DataType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("X509IssuerSerialType", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.X509IssuerSerialType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("PGPDataType", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.PGPDataType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SPKIDataType", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.SPKIDataType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ObjectType", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.ObjectType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("ManifestType", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.ManifestType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SignaturePropertiesType", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.SignaturePropertiesType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("SignaturePropertyType", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.SignaturePropertyType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("DSAKeyValueType", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.DSAKeyValueType)); + typeDictionary.Add(System.Xml.Linq.XName.Get("RSAKeyValueType", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.RSAKeyValueType)); + } + + private static Dictionary elementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + elementDictionary.Add(System.Xml.Linq.XName.Get("V2G_Message", "urn:din:70121:2012:MsgDef"), typeof(global::urn.din.Item70121.Item2012.MsgDef.V2G_Message)); + elementDictionary.Add(System.Xml.Linq.XName.Get("ServiceCharge", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ServiceCharge)); + elementDictionary.Add(System.Xml.Linq.XName.Get("SASchedules", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SASchedules)); + elementDictionary.Add(System.Xml.Linq.XName.Get("SAScheduleList", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SAScheduleList)); + elementDictionary.Add(System.Xml.Linq.XName.Get("Entry", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.Entry)); + elementDictionary.Add(System.Xml.Linq.XName.Get("SalesTariffEntry", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SalesTariffEntry)); + elementDictionary.Add(System.Xml.Linq.XName.Get("PMaxScheduleEntry", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PMaxScheduleEntry)); + elementDictionary.Add(System.Xml.Linq.XName.Get("TimeInterval", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.TimeInterval)); + elementDictionary.Add(System.Xml.Linq.XName.Get("RelativeTimeInterval", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.RelativeTimeInterval)); + elementDictionary.Add(System.Xml.Linq.XName.Get("EVSEStatus", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEStatus)); + elementDictionary.Add(System.Xml.Linq.XName.Get("AC_EVSEStatus", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVSEStatus)); + elementDictionary.Add(System.Xml.Linq.XName.Get("EVStatus", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVStatus)); + elementDictionary.Add(System.Xml.Linq.XName.Get("DC_EVSEStatus", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatus)); + elementDictionary.Add(System.Xml.Linq.XName.Get("DC_EVStatus", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVStatus)); + elementDictionary.Add(System.Xml.Linq.XName.Get("EVChargeParameter", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVChargeParameter)); + elementDictionary.Add(System.Xml.Linq.XName.Get("AC_EVChargeParameter", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVChargeParameter)); + elementDictionary.Add(System.Xml.Linq.XName.Get("DC_EVChargeParameter", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVChargeParameter)); + elementDictionary.Add(System.Xml.Linq.XName.Get("EVSEChargeParameter", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEChargeParameter)); + elementDictionary.Add(System.Xml.Linq.XName.Get("AC_EVSEChargeParameter", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVSEChargeParameter)); + elementDictionary.Add(System.Xml.Linq.XName.Get("DC_EVSEChargeParameter", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEChargeParameter)); + elementDictionary.Add(System.Xml.Linq.XName.Get("EVPowerDeliveryParameter", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVPowerDeliveryParameter)); + elementDictionary.Add(System.Xml.Linq.XName.Get("DC_EVPowerDeliveryParameter", "urn:din:70121:2012:MsgDataTypes"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVPowerDeliveryParameter)); + elementDictionary.Add(System.Xml.Linq.XName.Get("SessionSetupReq", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionSetupReq)); + elementDictionary.Add(System.Xml.Linq.XName.Get("SessionSetupRes", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionSetupRes)); + elementDictionary.Add(System.Xml.Linq.XName.Get("ServiceDiscoveryReq", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDiscoveryReq)); + elementDictionary.Add(System.Xml.Linq.XName.Get("ServiceDiscoveryRes", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDiscoveryRes)); + elementDictionary.Add(System.Xml.Linq.XName.Get("ServiceDetailReq", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDetailReq)); + elementDictionary.Add(System.Xml.Linq.XName.Get("ServiceDetailRes", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDetailRes)); + elementDictionary.Add(System.Xml.Linq.XName.Get("ServicePaymentSelectionReq", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServicePaymentSelectionReq)); + elementDictionary.Add(System.Xml.Linq.XName.Get("ServicePaymentSelectionRes", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServicePaymentSelectionRes)); + elementDictionary.Add(System.Xml.Linq.XName.Get("PaymentDetailsReq", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PaymentDetailsReq)); + elementDictionary.Add(System.Xml.Linq.XName.Get("PaymentDetailsRes", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PaymentDetailsRes)); + elementDictionary.Add(System.Xml.Linq.XName.Get("ContractAuthenticationReq", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ContractAuthenticationReq)); + elementDictionary.Add(System.Xml.Linq.XName.Get("ContractAuthenticationRes", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ContractAuthenticationRes)); + elementDictionary.Add(System.Xml.Linq.XName.Get("ChargeParameterDiscoveryReq", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargeParameterDiscoveryReq)); + elementDictionary.Add(System.Xml.Linq.XName.Get("ChargeParameterDiscoveryRes", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargeParameterDiscoveryRes)); + elementDictionary.Add(System.Xml.Linq.XName.Get("PowerDeliveryReq", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PowerDeliveryReq)); + elementDictionary.Add(System.Xml.Linq.XName.Get("PowerDeliveryRes", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PowerDeliveryRes)); + elementDictionary.Add(System.Xml.Linq.XName.Get("ChargingStatusReq", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargingStatusReq)); + elementDictionary.Add(System.Xml.Linq.XName.Get("ChargingStatusRes", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargingStatusRes)); + elementDictionary.Add(System.Xml.Linq.XName.Get("MeteringReceiptReq", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.MeteringReceiptReq)); + elementDictionary.Add(System.Xml.Linq.XName.Get("MeteringReceiptRes", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.MeteringReceiptRes)); + elementDictionary.Add(System.Xml.Linq.XName.Get("SessionStopReq", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionStopReq)); + elementDictionary.Add(System.Xml.Linq.XName.Get("SessionStopRes", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionStopRes)); + elementDictionary.Add(System.Xml.Linq.XName.Get("CertificateUpdateReq", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateUpdateReq)); + elementDictionary.Add(System.Xml.Linq.XName.Get("CertificateUpdateRes", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateUpdateRes)); + elementDictionary.Add(System.Xml.Linq.XName.Get("CertificateInstallationReq", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateInstallationReq)); + elementDictionary.Add(System.Xml.Linq.XName.Get("CertificateInstallationRes", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateInstallationRes)); + elementDictionary.Add(System.Xml.Linq.XName.Get("CableCheckReq", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CableCheckReq)); + elementDictionary.Add(System.Xml.Linq.XName.Get("CableCheckRes", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CableCheckRes)); + elementDictionary.Add(System.Xml.Linq.XName.Get("PreChargeReq", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PreChargeReq)); + elementDictionary.Add(System.Xml.Linq.XName.Get("PreChargeRes", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PreChargeRes)); + elementDictionary.Add(System.Xml.Linq.XName.Get("CurrentDemandReq", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CurrentDemandReq)); + elementDictionary.Add(System.Xml.Linq.XName.Get("CurrentDemandRes", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CurrentDemandRes)); + elementDictionary.Add(System.Xml.Linq.XName.Get("WeldingDetectionReq", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.WeldingDetectionReq)); + elementDictionary.Add(System.Xml.Linq.XName.Get("WeldingDetectionRes", "urn:din:70121:2012:MsgBody"), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.WeldingDetectionRes)); + elementDictionary.Add(System.Xml.Linq.XName.Get("BodyElement", "urn:din:70121:2012:MsgDef"), typeof(global::urn.din.Item70121.Item2012.MsgDef.BodyElement)); + elementDictionary.Add(System.Xml.Linq.XName.Get("Signature", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.Signature)); + elementDictionary.Add(System.Xml.Linq.XName.Get("SignatureValue", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.SignatureValue)); + elementDictionary.Add(System.Xml.Linq.XName.Get("SignedInfo", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.SignedInfo)); + elementDictionary.Add(System.Xml.Linq.XName.Get("CanonicalizationMethod", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.CanonicalizationMethod)); + elementDictionary.Add(System.Xml.Linq.XName.Get("SignatureMethod", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.SignatureMethod)); + elementDictionary.Add(System.Xml.Linq.XName.Get("Reference", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.Reference)); + elementDictionary.Add(System.Xml.Linq.XName.Get("Transforms", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.Transforms)); + elementDictionary.Add(System.Xml.Linq.XName.Get("Transform", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.Transform)); + elementDictionary.Add(System.Xml.Linq.XName.Get("DigestMethod", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.DigestMethod)); + elementDictionary.Add(System.Xml.Linq.XName.Get("DigestValue", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.DigestValue)); + elementDictionary.Add(System.Xml.Linq.XName.Get("KeyInfo", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.KeyInfo)); + elementDictionary.Add(System.Xml.Linq.XName.Get("KeyName", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.KeyName)); + elementDictionary.Add(System.Xml.Linq.XName.Get("MgmtData", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.MgmtData)); + elementDictionary.Add(System.Xml.Linq.XName.Get("KeyValue", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.KeyValue)); + elementDictionary.Add(System.Xml.Linq.XName.Get("RetrievalMethod", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.RetrievalMethod)); + elementDictionary.Add(System.Xml.Linq.XName.Get("X509Data", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.X509Data)); + elementDictionary.Add(System.Xml.Linq.XName.Get("PGPData", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.PGPData)); + elementDictionary.Add(System.Xml.Linq.XName.Get("SPKIData", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.SPKIData)); + elementDictionary.Add(System.Xml.Linq.XName.Get("Object", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.Object)); + elementDictionary.Add(System.Xml.Linq.XName.Get("Manifest", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.Manifest)); + elementDictionary.Add(System.Xml.Linq.XName.Get("SignatureProperties", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.SignatureProperties)); + elementDictionary.Add(System.Xml.Linq.XName.Get("SignatureProperty", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.SignatureProperty)); + elementDictionary.Add(System.Xml.Linq.XName.Get("DSAKeyValue", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.DSAKeyValue)); + elementDictionary.Add(System.Xml.Linq.XName.Get("RSAKeyValue", "http://www.w3.org/2000/09/xmldsig#"), typeof(global::www.w3.org.Item2000.Item09.xmldsig.RSAKeyValue)); + } + + private static Dictionary wrapperDictionary = new Dictionary(); + + private static void BuildWrapperDictionary() { + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ServiceCharge), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ServiceChargeType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SASchedules), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SASchedulesType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SAScheduleList), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SAScheduleListType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.Entry), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EntryType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SalesTariffEntry), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SalesTariffEntryType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PMaxScheduleEntry), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PMaxScheduleEntryType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.TimeInterval), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.IntervalType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.RelativeTimeInterval), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.RelativeTimeIntervalType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEStatus), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEStatusType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVSEStatus), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVSEStatusType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVStatus), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVStatusType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatus), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatusType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVStatus), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVStatusType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVChargeParameter), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVChargeParameterType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVChargeParameter), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVChargeParameterType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVChargeParameter), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVChargeParameterType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEChargeParameter), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEChargeParameterType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVSEChargeParameter), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVSEChargeParameterType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEChargeParameter), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEChargeParameterType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVPowerDeliveryParameter), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVPowerDeliveryParameterType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVPowerDeliveryParameter), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVPowerDeliveryParameterType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionSetupReq), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionSetupReqType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionSetupRes), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionSetupResType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDiscoveryReq), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDiscoveryReqType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDiscoveryRes), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDiscoveryResType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDetailReq), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDetailReqType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDetailRes), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDetailResType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServicePaymentSelectionReq), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServicePaymentSelectionReqType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServicePaymentSelectionRes), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServicePaymentSelectionResType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PaymentDetailsReq), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PaymentDetailsReqType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PaymentDetailsRes), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PaymentDetailsResType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ContractAuthenticationReq), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ContractAuthenticationReqType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ContractAuthenticationRes), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ContractAuthenticationResType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargeParameterDiscoveryReq), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargeParameterDiscoveryReqType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargeParameterDiscoveryRes), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargeParameterDiscoveryResType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PowerDeliveryReq), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PowerDeliveryReqType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PowerDeliveryRes), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PowerDeliveryResType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargingStatusReq), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargingStatusReqType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargingStatusRes), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargingStatusResType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.MeteringReceiptReq), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.MeteringReceiptReqType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.MeteringReceiptRes), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.MeteringReceiptResType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionStopReq), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionStopType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionStopRes), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionStopResType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateUpdateReq), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateUpdateReqType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateUpdateRes), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateUpdateResType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateInstallationReq), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateInstallationReqType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateInstallationRes), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateInstallationResType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CableCheckReq), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CableCheckReqType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CableCheckRes), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CableCheckResType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PreChargeReq), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PreChargeReqType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PreChargeRes), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PreChargeResType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CurrentDemandReq), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CurrentDemandReqType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CurrentDemandRes), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CurrentDemandResType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.WeldingDetectionReq), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.WeldingDetectionReqType)); + wrapperDictionary.Add(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.WeldingDetectionRes), typeof(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.WeldingDetectionResType)); + wrapperDictionary.Add(typeof(urn.din.Item70121.Item2012.MsgDef.BodyElement), typeof(global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType)); + wrapperDictionary.Add(typeof(www.w3.org.Item2000.Item09.xmldsig.Signature), typeof(global::www.w3.org.Item2000.Item09.xmldsig.SignatureType)); + wrapperDictionary.Add(typeof(www.w3.org.Item2000.Item09.xmldsig.SignatureValue), typeof(global::www.w3.org.Item2000.Item09.xmldsig.SignatureValueType)); + wrapperDictionary.Add(typeof(www.w3.org.Item2000.Item09.xmldsig.SignedInfo), typeof(global::www.w3.org.Item2000.Item09.xmldsig.SignedInfoType)); + wrapperDictionary.Add(typeof(www.w3.org.Item2000.Item09.xmldsig.CanonicalizationMethod), typeof(global::www.w3.org.Item2000.Item09.xmldsig.CanonicalizationMethodType)); + wrapperDictionary.Add(typeof(www.w3.org.Item2000.Item09.xmldsig.SignatureMethod), typeof(global::www.w3.org.Item2000.Item09.xmldsig.SignatureMethodType)); + wrapperDictionary.Add(typeof(www.w3.org.Item2000.Item09.xmldsig.Reference), typeof(global::www.w3.org.Item2000.Item09.xmldsig.ReferenceType)); + wrapperDictionary.Add(typeof(www.w3.org.Item2000.Item09.xmldsig.Transforms), typeof(global::www.w3.org.Item2000.Item09.xmldsig.TransformsType)); + wrapperDictionary.Add(typeof(www.w3.org.Item2000.Item09.xmldsig.Transform), typeof(global::www.w3.org.Item2000.Item09.xmldsig.TransformType)); + wrapperDictionary.Add(typeof(www.w3.org.Item2000.Item09.xmldsig.DigestMethod), typeof(global::www.w3.org.Item2000.Item09.xmldsig.DigestMethodType)); + wrapperDictionary.Add(typeof(www.w3.org.Item2000.Item09.xmldsig.KeyInfo), typeof(global::www.w3.org.Item2000.Item09.xmldsig.KeyInfoType)); + wrapperDictionary.Add(typeof(www.w3.org.Item2000.Item09.xmldsig.KeyValue), typeof(global::www.w3.org.Item2000.Item09.xmldsig.KeyValueType)); + wrapperDictionary.Add(typeof(www.w3.org.Item2000.Item09.xmldsig.RetrievalMethod), typeof(global::www.w3.org.Item2000.Item09.xmldsig.RetrievalMethodType)); + wrapperDictionary.Add(typeof(www.w3.org.Item2000.Item09.xmldsig.X509Data), typeof(global::www.w3.org.Item2000.Item09.xmldsig.X509DataType)); + wrapperDictionary.Add(typeof(www.w3.org.Item2000.Item09.xmldsig.PGPData), typeof(global::www.w3.org.Item2000.Item09.xmldsig.PGPDataType)); + wrapperDictionary.Add(typeof(www.w3.org.Item2000.Item09.xmldsig.SPKIData), typeof(global::www.w3.org.Item2000.Item09.xmldsig.SPKIDataType)); + wrapperDictionary.Add(typeof(www.w3.org.Item2000.Item09.xmldsig.Object), typeof(global::www.w3.org.Item2000.Item09.xmldsig.ObjectType)); + wrapperDictionary.Add(typeof(www.w3.org.Item2000.Item09.xmldsig.Manifest), typeof(global::www.w3.org.Item2000.Item09.xmldsig.ManifestType)); + wrapperDictionary.Add(typeof(www.w3.org.Item2000.Item09.xmldsig.SignatureProperties), typeof(global::www.w3.org.Item2000.Item09.xmldsig.SignaturePropertiesType)); + wrapperDictionary.Add(typeof(www.w3.org.Item2000.Item09.xmldsig.SignatureProperty), typeof(global::www.w3.org.Item2000.Item09.xmldsig.SignaturePropertyType)); + wrapperDictionary.Add(typeof(www.w3.org.Item2000.Item09.xmldsig.DSAKeyValue), typeof(global::www.w3.org.Item2000.Item09.xmldsig.DSAKeyValueType)); + wrapperDictionary.Add(typeof(www.w3.org.Item2000.Item09.xmldsig.RSAKeyValue), typeof(global::www.w3.org.Item2000.Item09.xmldsig.RSAKeyValueType)); + } + + private static XmlSchemaSet schemaSet; + + XmlSchemaSet ILinqToXsdTypeManager.Schemas { + get { + if ((schemaSet == null)) { + XmlSchemaSet tempSet = new XmlSchemaSet(); + System.Threading.Interlocked.CompareExchange(ref schemaSet, tempSet, null); + } + return schemaSet; + } + set { + schemaSet = value; + } + } + + protected internal static void AddSchemas(XmlSchemaSet schemas) { + schemas.Add(schemaSet); + } + + Dictionary ILinqToXsdTypeManager.GlobalTypeDictionary { + get { + return typeDictionary; + } + } + + Dictionary ILinqToXsdTypeManager.GlobalElementDictionary { + get { + return elementDictionary; + } + } + + Dictionary ILinqToXsdTypeManager.RootContentTypeMapping { + get { + return wrapperDictionary; + } + } + + static LinqToXsdTypeManager() { + BuildTypeDictionary(); + BuildElementDictionary(); + BuildWrapperDictionary(); + } + + public static System.Type GetRootType() { + return elementDictionary[System.Xml.Linq.XName.Get("V2G_Message", "urn:din:70121:2012:MsgDef")]; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static LinqToXsdTypeManager typeManagerSingleton = new LinqToXsdTypeManager(); + + public static LinqToXsdTypeManager Instance { + get { + return typeManagerSingleton; + } + } + } + + public partial class XRootNamespace { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRootNamespace() { + } + + public static XRootNamespace Load(string xmlFile) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(string xmlFile, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(XmlReader xmlReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRootNamespace(V2G_Message root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public V2G_Message V2G_Message { get {return rootObject as V2G_Message; } } + + public XRootNamespace(BodyElement root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public BodyElement BodyElement { get {return rootObject as BodyElement; } } + } + + public partial class XRoot { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRoot() { + } + + public static XRoot Load(string xmlFile) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(string xmlFile, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(TextReader textReader) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(TextReader textReader, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Load(XmlReader xmlReader) { + XRoot root = new XRoot(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Parse(string text) { + XRoot root = new XRoot(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRoot Parse(string text, LoadOptions options) { + XRoot root = new XRoot(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRoot(global::urn.din.Item70121.Item2012.MsgDef.V2G_Message root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::urn.din.Item70121.Item2012.MsgDef.V2G_Message V2G_Message { get {return rootObject as global::urn.din.Item70121.Item2012.MsgDef.V2G_Message; } } + + public XRoot(global::urn.din.Item70121.Item2012.MsgDef.BodyElement root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::urn.din.Item70121.Item2012.MsgDef.BodyElement BodyElement { get {return rootObject as global::urn.din.Item70121.Item2012.MsgDef.BodyElement; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ServiceCharge root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ServiceCharge ServiceCharge { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ServiceCharge; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SASchedules root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SASchedules SASchedules { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SASchedules; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SAScheduleList root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SAScheduleList SAScheduleList { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SAScheduleList; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.Entry root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.Entry Entry { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.Entry; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SalesTariffEntry root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SalesTariffEntry SalesTariffEntry { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SalesTariffEntry; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PMaxScheduleEntry root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PMaxScheduleEntry PMaxScheduleEntry { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PMaxScheduleEntry; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.TimeInterval root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.TimeInterval TimeInterval { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.TimeInterval; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.RelativeTimeInterval root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.RelativeTimeInterval RelativeTimeInterval { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.RelativeTimeInterval; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEStatus root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEStatus EVSEStatus { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEStatus; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVSEStatus root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVSEStatus AC_EVSEStatus { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVSEStatus; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVStatus root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVStatus EVStatus { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVStatus; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatus root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatus DC_EVSEStatus { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatus; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVStatus root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVStatus DC_EVStatus { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVStatus; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVChargeParameter root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVChargeParameter EVChargeParameter { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVChargeParameter; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVChargeParameter root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVChargeParameter AC_EVChargeParameter { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVChargeParameter; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVChargeParameter root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVChargeParameter DC_EVChargeParameter { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVChargeParameter; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEChargeParameter root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEChargeParameter EVSEChargeParameter { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEChargeParameter; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVSEChargeParameter root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVSEChargeParameter AC_EVSEChargeParameter { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVSEChargeParameter; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEChargeParameter root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEChargeParameter DC_EVSEChargeParameter { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEChargeParameter; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVPowerDeliveryParameter root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVPowerDeliveryParameter EVPowerDeliveryParameter { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVPowerDeliveryParameter; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVPowerDeliveryParameter root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVPowerDeliveryParameter DC_EVPowerDeliveryParameter { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVPowerDeliveryParameter; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionSetupReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionSetupReq SessionSetupReq { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionSetupReq; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionSetupRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionSetupRes SessionSetupRes { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionSetupRes; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDiscoveryReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDiscoveryReq ServiceDiscoveryReq { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDiscoveryReq; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDiscoveryRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDiscoveryRes ServiceDiscoveryRes { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDiscoveryRes; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDetailReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDetailReq ServiceDetailReq { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDetailReq; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDetailRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDetailRes ServiceDetailRes { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServiceDetailRes; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServicePaymentSelectionReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServicePaymentSelectionReq ServicePaymentSelectionReq { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServicePaymentSelectionReq; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServicePaymentSelectionRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServicePaymentSelectionRes ServicePaymentSelectionRes { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ServicePaymentSelectionRes; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PaymentDetailsReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PaymentDetailsReq PaymentDetailsReq { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PaymentDetailsReq; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PaymentDetailsRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PaymentDetailsRes PaymentDetailsRes { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PaymentDetailsRes; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ContractAuthenticationReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ContractAuthenticationReq ContractAuthenticationReq { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ContractAuthenticationReq; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ContractAuthenticationRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ContractAuthenticationRes ContractAuthenticationRes { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ContractAuthenticationRes; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargeParameterDiscoveryReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargeParameterDiscoveryReq ChargeParameterDiscoveryReq { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargeParameterDiscoveryReq; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargeParameterDiscoveryRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargeParameterDiscoveryRes ChargeParameterDiscoveryRes { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargeParameterDiscoveryRes; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PowerDeliveryReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PowerDeliveryReq PowerDeliveryReq { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PowerDeliveryReq; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PowerDeliveryRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PowerDeliveryRes PowerDeliveryRes { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PowerDeliveryRes; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargingStatusReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargingStatusReq ChargingStatusReq { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargingStatusReq; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargingStatusRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargingStatusRes ChargingStatusRes { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.ChargingStatusRes; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.MeteringReceiptReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.MeteringReceiptReq MeteringReceiptReq { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.MeteringReceiptReq; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.MeteringReceiptRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.MeteringReceiptRes MeteringReceiptRes { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.MeteringReceiptRes; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionStopReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionStopReq SessionStopReq { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionStopReq; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionStopRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionStopRes SessionStopRes { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.SessionStopRes; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateUpdateReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateUpdateReq CertificateUpdateReq { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateUpdateReq; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateUpdateRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateUpdateRes CertificateUpdateRes { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateUpdateRes; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateInstallationReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateInstallationReq CertificateInstallationReq { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateInstallationReq; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateInstallationRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateInstallationRes CertificateInstallationRes { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CertificateInstallationRes; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CableCheckReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CableCheckReq CableCheckReq { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CableCheckReq; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CableCheckRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CableCheckRes CableCheckRes { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CableCheckRes; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PreChargeReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PreChargeReq PreChargeReq { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PreChargeReq; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PreChargeRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PreChargeRes PreChargeRes { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.PreChargeRes; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CurrentDemandReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CurrentDemandReq CurrentDemandReq { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CurrentDemandReq; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CurrentDemandRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CurrentDemandRes CurrentDemandRes { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.CurrentDemandRes; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.WeldingDetectionReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.WeldingDetectionReq WeldingDetectionReq { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.WeldingDetectionReq; } } + + public XRoot(global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.WeldingDetectionRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.WeldingDetectionRes WeldingDetectionRes { get {return rootObject as global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody.WeldingDetectionRes; } } + + public XRoot(global::www.w3.org.Item2000.Item09.xmldsig.Signature root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::www.w3.org.Item2000.Item09.xmldsig.Signature Signature { get {return rootObject as global::www.w3.org.Item2000.Item09.xmldsig.Signature; } } + + public XRoot(global::www.w3.org.Item2000.Item09.xmldsig.SignatureValue root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::www.w3.org.Item2000.Item09.xmldsig.SignatureValue SignatureValue { get {return rootObject as global::www.w3.org.Item2000.Item09.xmldsig.SignatureValue; } } + + public XRoot(global::www.w3.org.Item2000.Item09.xmldsig.SignedInfo root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::www.w3.org.Item2000.Item09.xmldsig.SignedInfo SignedInfo { get {return rootObject as global::www.w3.org.Item2000.Item09.xmldsig.SignedInfo; } } + + public XRoot(global::www.w3.org.Item2000.Item09.xmldsig.CanonicalizationMethod root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::www.w3.org.Item2000.Item09.xmldsig.CanonicalizationMethod CanonicalizationMethod { get {return rootObject as global::www.w3.org.Item2000.Item09.xmldsig.CanonicalizationMethod; } } + + public XRoot(global::www.w3.org.Item2000.Item09.xmldsig.SignatureMethod root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::www.w3.org.Item2000.Item09.xmldsig.SignatureMethod SignatureMethod { get {return rootObject as global::www.w3.org.Item2000.Item09.xmldsig.SignatureMethod; } } + + public XRoot(global::www.w3.org.Item2000.Item09.xmldsig.Reference root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::www.w3.org.Item2000.Item09.xmldsig.Reference Reference { get {return rootObject as global::www.w3.org.Item2000.Item09.xmldsig.Reference; } } + + public XRoot(global::www.w3.org.Item2000.Item09.xmldsig.Transforms root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::www.w3.org.Item2000.Item09.xmldsig.Transforms Transforms { get {return rootObject as global::www.w3.org.Item2000.Item09.xmldsig.Transforms; } } + + public XRoot(global::www.w3.org.Item2000.Item09.xmldsig.Transform root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::www.w3.org.Item2000.Item09.xmldsig.Transform Transform { get {return rootObject as global::www.w3.org.Item2000.Item09.xmldsig.Transform; } } + + public XRoot(global::www.w3.org.Item2000.Item09.xmldsig.DigestMethod root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::www.w3.org.Item2000.Item09.xmldsig.DigestMethod DigestMethod { get {return rootObject as global::www.w3.org.Item2000.Item09.xmldsig.DigestMethod; } } + + public XRoot(global::www.w3.org.Item2000.Item09.xmldsig.DigestValue root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::www.w3.org.Item2000.Item09.xmldsig.DigestValue DigestValue { get {return rootObject as global::www.w3.org.Item2000.Item09.xmldsig.DigestValue; } } + + public XRoot(global::www.w3.org.Item2000.Item09.xmldsig.KeyInfo root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::www.w3.org.Item2000.Item09.xmldsig.KeyInfo KeyInfo { get {return rootObject as global::www.w3.org.Item2000.Item09.xmldsig.KeyInfo; } } + + public XRoot(global::www.w3.org.Item2000.Item09.xmldsig.KeyName root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::www.w3.org.Item2000.Item09.xmldsig.KeyName KeyName { get {return rootObject as global::www.w3.org.Item2000.Item09.xmldsig.KeyName; } } + + public XRoot(global::www.w3.org.Item2000.Item09.xmldsig.MgmtData root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::www.w3.org.Item2000.Item09.xmldsig.MgmtData MgmtData { get {return rootObject as global::www.w3.org.Item2000.Item09.xmldsig.MgmtData; } } + + public XRoot(global::www.w3.org.Item2000.Item09.xmldsig.KeyValue root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::www.w3.org.Item2000.Item09.xmldsig.KeyValue KeyValue { get {return rootObject as global::www.w3.org.Item2000.Item09.xmldsig.KeyValue; } } + + public XRoot(global::www.w3.org.Item2000.Item09.xmldsig.RetrievalMethod root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::www.w3.org.Item2000.Item09.xmldsig.RetrievalMethod RetrievalMethod { get {return rootObject as global::www.w3.org.Item2000.Item09.xmldsig.RetrievalMethod; } } + + public XRoot(global::www.w3.org.Item2000.Item09.xmldsig.X509Data root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::www.w3.org.Item2000.Item09.xmldsig.X509Data X509Data { get {return rootObject as global::www.w3.org.Item2000.Item09.xmldsig.X509Data; } } + + public XRoot(global::www.w3.org.Item2000.Item09.xmldsig.PGPData root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::www.w3.org.Item2000.Item09.xmldsig.PGPData PGPData { get {return rootObject as global::www.w3.org.Item2000.Item09.xmldsig.PGPData; } } + + public XRoot(global::www.w3.org.Item2000.Item09.xmldsig.SPKIData root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::www.w3.org.Item2000.Item09.xmldsig.SPKIData SPKIData { get {return rootObject as global::www.w3.org.Item2000.Item09.xmldsig.SPKIData; } } + + public XRoot(global::www.w3.org.Item2000.Item09.xmldsig.Object root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::www.w3.org.Item2000.Item09.xmldsig.Object Object { get {return rootObject as global::www.w3.org.Item2000.Item09.xmldsig.Object; } } + + public XRoot(global::www.w3.org.Item2000.Item09.xmldsig.Manifest root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::www.w3.org.Item2000.Item09.xmldsig.Manifest Manifest { get {return rootObject as global::www.w3.org.Item2000.Item09.xmldsig.Manifest; } } + + public XRoot(global::www.w3.org.Item2000.Item09.xmldsig.SignatureProperties root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::www.w3.org.Item2000.Item09.xmldsig.SignatureProperties SignatureProperties { get {return rootObject as global::www.w3.org.Item2000.Item09.xmldsig.SignatureProperties; } } + + public XRoot(global::www.w3.org.Item2000.Item09.xmldsig.SignatureProperty root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::www.w3.org.Item2000.Item09.xmldsig.SignatureProperty SignatureProperty { get {return rootObject as global::www.w3.org.Item2000.Item09.xmldsig.SignatureProperty; } } + + public XRoot(global::www.w3.org.Item2000.Item09.xmldsig.DSAKeyValue root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::www.w3.org.Item2000.Item09.xmldsig.DSAKeyValue DSAKeyValue { get {return rootObject as global::www.w3.org.Item2000.Item09.xmldsig.DSAKeyValue; } } + + public XRoot(global::www.w3.org.Item2000.Item09.xmldsig.RSAKeyValue root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public global::www.w3.org.Item2000.Item09.xmldsig.RSAKeyValue RSAKeyValue { get {return rootObject as global::www.w3.org.Item2000.Item09.xmldsig.RSAKeyValue; } } + } +} +namespace LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes { + using global::System; + using global::System.Collections; + using global::System.Collections.Generic; + using global::System.ComponentModel; + using global::System.IO; + using global::System.Linq; + using global::System.Diagnostics; + using global::System.Xml; + using global::System.Xml.Schema; + using global::System.Xml.Linq; + using global::Xml.Schema.Linq; + using global::urn.din.Item70121.Item2012.MsgDef; + + + /// + /// + /// Regular expression: (ServiceTag, FreeService) + /// + /// + public partial class ServiceType : XTypedElement, IXMetaData { + + public static explicit operator ServiceType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ServiceTag, FreeService) + /// + /// + public ServiceType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ServiceTagXName = System.Xml.Linq.XName.Get("ServiceTag", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ServiceTag, FreeService) + /// + /// + public virtual ServiceTagType ServiceTag { + get { + XElement x = this.GetElement(ServiceTagXName); + return ((ServiceTagType)(x)); + } + set { + this.SetElement(ServiceTagXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FreeServiceXName = System.Xml.Linq.XName.Get("FreeService", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ServiceTag, FreeService) + /// + /// + public virtual bool FreeService { + get { + XElement x = this.GetElement(FreeServiceXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetElement(FreeServiceXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ServiceType", "urn:din:70121:2012:MsgDataTypes"); + + static ServiceType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ServiceTagXName), new NamedContentModelEntity(FreeServiceXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ServiceTagXName, typeof(ServiceTagType)); + localElementDictionary.Add(FreeServiceXName, typeof(bool)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (Service+) + /// + /// + public partial class ServiceTagListType : XTypedElement, IXMetaData { + + public static explicit operator ServiceTagListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (Service+) + /// + /// + public ServiceTagListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ServiceXName = System.Xml.Linq.XName.Get("Service", "urn:din:70121:2012:MsgDataTypes"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ServiceField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Service+) + /// + /// + public virtual IList Service { + get { + if ((this.ServiceField == null)) { + this.ServiceField = new XTypedList(this, LinqToXsdTypeManager.Instance, ServiceXName); + } + return this.ServiceField; + } + set { + if ((value == null)) { + this.ServiceField = null; + } + else { + if ((this.ServiceField == null)) { + this.ServiceField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ServiceXName); + } + else { + XTypedServices.SetList(this.ServiceField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ServiceTagListType", "urn:din:70121:2012:MsgDataTypes"); + + static ServiceTagListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ServiceXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ServiceXName, typeof(ServiceType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ServiceID, ServiceName?, ServiceCategory, ServiceScope?) + /// + /// + public partial class ServiceTagType : XTypedElement, IXMetaData { + + public static explicit operator ServiceTagType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ServiceID, ServiceName?, ServiceCategory, ServiceScope?) + /// + /// + public ServiceTagType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ServiceIDXName = System.Xml.Linq.XName.Get("ServiceID", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ServiceID, ServiceName?, ServiceCategory, ServiceScope?) + /// + /// + public virtual ushort ServiceID { + get { + XElement x = this.GetElement(ServiceIDXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedShort).Datatype); + } + set { + this.SetElementWithValidation(ServiceIDXName, value, "ServiceID", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.serviceIDType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ServiceNameXName = System.Xml.Linq.XName.Get("ServiceName", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ServiceID, ServiceName?, ServiceCategory, ServiceScope?) + /// + /// + public virtual string ServiceName { + get { + XElement x = this.GetElement(ServiceNameXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + if (value == null) { + this.SetElement(ServiceNameXName, null, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + else { + this.SetElementWithValidation(ServiceNameXName, value, "ServiceName", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.serviceNameType.TypeDefinition); + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ServiceCategoryXName = System.Xml.Linq.XName.Get("ServiceCategory", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ServiceID, ServiceName?, ServiceCategory, ServiceScope?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.serviceCategoryType ServiceCategory { + get { + XElement x = this.GetElement(ServiceCategoryXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.serviceCategoryType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.serviceCategoryType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.serviceCategoryTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(ServiceCategoryXName, value.ToString(), "ServiceCategory", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.serviceCategoryTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ServiceScopeXName = System.Xml.Linq.XName.Get("ServiceScope", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ServiceID, ServiceName?, ServiceCategory, ServiceScope?) + /// + /// + public virtual string ServiceScope { + get { + XElement x = this.GetElement(ServiceScopeXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + if (value == null) { + this.SetElement(ServiceScopeXName, null, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + else { + this.SetElementWithValidation(ServiceScopeXName, value, "ServiceScope", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.serviceScopeType.TypeDefinition); + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ServiceTagType", "urn:din:70121:2012:MsgDataTypes"); + + static ServiceTagType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ServiceIDXName), new NamedContentModelEntity(ServiceNameXName), new NamedContentModelEntity(ServiceCategoryXName), new NamedContentModelEntity(ServiceScopeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ServiceIDXName, typeof(ushort)); + localElementDictionary.Add(ServiceNameXName, typeof(string)); + localElementDictionary.Add(ServiceCategoryXName, typeof(string)); + localElementDictionary.Add(ServiceScopeXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (SelectedService+) + /// + /// + public partial class SelectedServiceListType : XTypedElement, IXMetaData { + + public static explicit operator SelectedServiceListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (SelectedService+) + /// + /// + public SelectedServiceListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SelectedServiceXName = System.Xml.Linq.XName.Get("SelectedService", "urn:din:70121:2012:MsgDataTypes"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList SelectedServiceField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (SelectedService+) + /// + /// + public virtual IList SelectedService { + get { + if ((this.SelectedServiceField == null)) { + this.SelectedServiceField = new XTypedList(this, LinqToXsdTypeManager.Instance, SelectedServiceXName); + } + return this.SelectedServiceField; + } + set { + if ((value == null)) { + this.SelectedServiceField = null; + } + else { + if ((this.SelectedServiceField == null)) { + this.SelectedServiceField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, SelectedServiceXName); + } + else { + XTypedServices.SetList(this.SelectedServiceField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SelectedServiceListType", "urn:din:70121:2012:MsgDataTypes"); + + static SelectedServiceListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(SelectedServiceXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(SelectedServiceXName, typeof(SelectedServiceType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ServiceID, ParameterSetID?) + /// + /// + public partial class SelectedServiceType : XTypedElement, IXMetaData { + + public static explicit operator SelectedServiceType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ServiceID, ParameterSetID?) + /// + /// + public SelectedServiceType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ServiceIDXName = System.Xml.Linq.XName.Get("ServiceID", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ServiceID, ParameterSetID?) + /// + /// + public virtual ushort ServiceID { + get { + XElement x = this.GetElement(ServiceIDXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedShort).Datatype); + } + set { + this.SetElementWithValidation(ServiceIDXName, value, "ServiceID", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.serviceIDType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterSetIDXName = System.Xml.Linq.XName.Get("ParameterSetID", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ServiceID, ParameterSetID?) + /// + /// + public virtual System.Int16? ParameterSetID { + get { + XElement x = this.GetElement(ParameterSetIDXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Short).Datatype); + } + set { + this.SetElement(ParameterSetIDXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Short).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SelectedServiceType", "urn:din:70121:2012:MsgDataTypes"); + + static SelectedServiceType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ServiceIDXName), new NamedContentModelEntity(ParameterSetIDXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ServiceIDXName, typeof(ushort)); + localElementDictionary.Add(ParameterSetIDXName, typeof(short)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ParameterSet+) + /// + /// + public partial class ServiceParameterListType : XTypedElement, IXMetaData { + + public static explicit operator ServiceParameterListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ParameterSet+) + /// + /// + public ServiceParameterListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterSetXName = System.Xml.Linq.XName.Get("ParameterSet", "urn:din:70121:2012:MsgDataTypes"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ParameterSetField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (ParameterSet+) + /// + /// + public virtual IList ParameterSet { + get { + if ((this.ParameterSetField == null)) { + this.ParameterSetField = new XTypedList(this, LinqToXsdTypeManager.Instance, ParameterSetXName); + } + return this.ParameterSetField; + } + set { + if ((value == null)) { + this.ParameterSetField = null; + } + else { + if ((this.ParameterSetField == null)) { + this.ParameterSetField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ParameterSetXName); + } + else { + XTypedServices.SetList(this.ParameterSetField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ServiceParameterListType", "urn:din:70121:2012:MsgDataTypes"); + + static ServiceParameterListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ParameterSetXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ParameterSetXName, typeof(ParameterSetType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ParameterSetID, Parameter+) + /// + /// + public partial class ParameterSetType : XTypedElement, IXMetaData { + + public static explicit operator ParameterSetType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ParameterSetID, Parameter+) + /// + /// + public ParameterSetType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterSetIDXName = System.Xml.Linq.XName.Get("ParameterSetID", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ParameterSetID, Parameter+) + /// + /// + public virtual short ParameterSetID { + get { + XElement x = this.GetElement(ParameterSetIDXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Short).Datatype); + } + set { + this.SetElement(ParameterSetIDXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Short).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ParameterXName = System.Xml.Linq.XName.Get("Parameter", "urn:din:70121:2012:MsgDataTypes"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ParameterField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (ParameterSetID, Parameter+) + /// + /// + public virtual IList Parameter { + get { + if ((this.ParameterField == null)) { + this.ParameterField = new XTypedList(this, LinqToXsdTypeManager.Instance, ParameterXName); + } + return this.ParameterField; + } + set { + if ((value == null)) { + this.ParameterField = null; + } + else { + if ((this.ParameterField == null)) { + this.ParameterField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ParameterXName); + } + else { + XTypedServices.SetList(this.ParameterField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ParameterSetType", "urn:din:70121:2012:MsgDataTypes"); + + static ParameterSetType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ParameterSetIDXName), new NamedContentModelEntity(ParameterXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ParameterSetIDXName, typeof(short)); + localElementDictionary.Add(ParameterXName, typeof(ParameterType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (boolValue | byteValue | shortValue | intValue | physicalValue | stringValue) + /// + /// + public partial class ParameterType : XTypedElement, IXMetaData { + + public static explicit operator ParameterType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (boolValue | byteValue | shortValue | intValue | physicalValue | stringValue) + /// + /// + public ParameterType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName boolValueXName = System.Xml.Linq.XName.Get("boolValue", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (boolValue | byteValue | shortValue | intValue | physicalValue | stringValue) + /// + /// + public virtual System.Boolean? boolValue { + get { + XElement x = this.GetElement(boolValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetElement(boolValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName byteValueXName = System.Xml.Linq.XName.Get("byteValue", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (boolValue | byteValue | shortValue | intValue | physicalValue | stringValue) + /// + /// + public virtual System.SByte? byteValue { + get { + XElement x = this.GetElement(byteValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Byte).Datatype); + } + set { + this.SetElement(byteValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Byte).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName shortValueXName = System.Xml.Linq.XName.Get("shortValue", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (boolValue | byteValue | shortValue | intValue | physicalValue | stringValue) + /// + /// + public virtual System.Int16? shortValue { + get { + XElement x = this.GetElement(shortValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Short).Datatype); + } + set { + this.SetElement(shortValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Short).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName intValueXName = System.Xml.Linq.XName.Get("intValue", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (boolValue | byteValue | shortValue | intValue | physicalValue | stringValue) + /// + /// + public virtual System.Int32? intValue { + get { + XElement x = this.GetElement(intValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Int).Datatype); + } + set { + this.SetElement(intValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Int).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName physicalValueXName = System.Xml.Linq.XName.Get("physicalValue", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (boolValue | byteValue | shortValue | intValue | physicalValue | stringValue) + /// + /// + public virtual PhysicalValueType physicalValue { + get { + XElement x = this.GetElement(physicalValueXName); + if ((x == null)) { + return null; + } + return ((PhysicalValueType)(x)); + } + set { + this.SetElement(physicalValueXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName stringValueXName = System.Xml.Linq.XName.Get("stringValue", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (boolValue | byteValue | shortValue | intValue | physicalValue | stringValue) + /// + /// + public virtual string stringValue { + get { + XElement x = this.GetElement(stringValueXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetElement(stringValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + public ParameterType(System.Boolean? boolValue) { + this.boolValue = boolValue; + } + + public ParameterType(System.SByte? byteValue) { + this.byteValue = byteValue; + } + + public ParameterType(System.Int16? shortValue) { + this.shortValue = shortValue; + } + + public ParameterType(System.Int32? intValue) { + this.intValue = intValue; + } + + public ParameterType(PhysicalValueType physicalValue) { + this.physicalValue = physicalValue; + } + + public ParameterType(string stringValue) { + this.stringValue = stringValue; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName NameXName = System.Xml.Linq.XName.Get("Name", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string Name { + get { + XAttribute x = this.Attribute(NameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(NameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ValueTypeXName = System.Xml.Linq.XName.Get("ValueType", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.valueType ValueType { + get { + XAttribute x = this.Attribute(ValueTypeXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.valueType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.valueType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.valueTypeValidator.TypeDefinition)))); + } + set { + this.SetAttributeWithValidation(ValueTypeXName, value.ToString(), "ValueType", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.valueTypeValidator.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ParameterType", "urn:din:70121:2012:MsgDataTypes"); + + static ParameterType() { + BuildElementDictionary(); + contentModel = new ChoiceContentModelEntity(new NamedContentModelEntity(boolValueXName), new NamedContentModelEntity(byteValueXName), new NamedContentModelEntity(shortValueXName), new NamedContentModelEntity(intValueXName), new NamedContentModelEntity(physicalValueXName), new NamedContentModelEntity(stringValueXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(boolValueXName, typeof(bool)); + localElementDictionary.Add(byteValueXName, typeof(sbyte)); + localElementDictionary.Add(shortValueXName, typeof(short)); + localElementDictionary.Add(intValueXName, typeof(int)); + localElementDictionary.Add(physicalValueXName, typeof(PhysicalValueType)); + localElementDictionary.Add(stringValueXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public enum valueType { + + @bool, + + @byte, + + @short, + + @int, + + physicalValue, + + @string, + } + + public sealed class valueTypeValidator { + + private valueTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "bool:@bool", + "byte:@byte", + "short:@short", + "int:@int", + "physicalValue", + "string:@string"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Regular expression: (ServiceTag, FreeService, EnergyTransferType) + /// + /// + public partial class ServiceChargeType : global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ServiceType, IXMetaData { + + public static explicit operator ServiceChargeType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ServiceTag, FreeService, EnergyTransferType) + /// + /// + public ServiceChargeType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ServiceTagXName = System.Xml.Linq.XName.Get("ServiceTag", "urn:din:70121:2012:MsgDataTypes"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FreeServiceXName = System.Xml.Linq.XName.Get("FreeService", "urn:din:70121:2012:MsgDataTypes"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EnergyTransferTypeXName = System.Xml.Linq.XName.Get("EnergyTransferType", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ServiceTag, FreeService, EnergyTransferType) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSESupportedEnergyTransferType EnergyTransferType { + get { + XElement x = this.GetElement(EnergyTransferTypeXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSESupportedEnergyTransferType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSESupportedEnergyTransferType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSESupportedEnergyTransferTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(EnergyTransferTypeXName, value.ToString(), "EnergyTransferType", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSESupportedEnergyTransferTypeValidator.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ServiceChargeType", "urn:din:70121:2012:MsgDataTypes"); + + static ServiceChargeType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ServiceTagXName), new NamedContentModelEntity(FreeServiceXName), new NamedContentModelEntity(EnergyTransferTypeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ServiceTagXName, typeof(ServiceTagType)); + localElementDictionary.Add(FreeServiceXName, typeof(bool)); + localElementDictionary.Add(EnergyTransferTypeXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (Certificate, SubCertificates?) + /// + /// + public partial class CertificateChainType : XTypedElement, IXMetaData { + + public static explicit operator CertificateChainType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (Certificate, SubCertificates?) + /// + /// + public CertificateChainType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CertificateXName = System.Xml.Linq.XName.Get("Certificate", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Certificate, SubCertificates?) + /// + /// + public virtual byte[] Certificate { + get { + XElement x = this.GetElement(CertificateXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + set { + this.SetElementWithValidation(CertificateXName, value, "Certificate", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.certificateType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SubCertificatesXName = System.Xml.Linq.XName.Get("SubCertificates", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (Certificate, SubCertificates?) + /// + /// + public virtual SubCertificatesType SubCertificates { + get { + XElement x = this.GetElement(SubCertificatesXName); + if ((x == null)) { + return null; + } + return ((SubCertificatesType)(x)); + } + set { + this.SetElement(SubCertificatesXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CertificateChainType", "urn:din:70121:2012:MsgDataTypes"); + + static CertificateChainType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(CertificateXName), new NamedContentModelEntity(SubCertificatesXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(CertificateXName, typeof(byte[])); + localElementDictionary.Add(SubCertificatesXName, typeof(SubCertificatesType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (Certificate+) + /// + /// + public partial class SubCertificatesType : XTypedElement, IXMetaData { + + public static explicit operator SubCertificatesType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (Certificate+) + /// + /// + public SubCertificatesType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CertificateXName = System.Xml.Linq.XName.Get("Certificate", "urn:din:70121:2012:MsgDataTypes"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList CertificateField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Certificate+) + /// + /// + public virtual IList Certificate { + get { + if ((this.CertificateField == null)) { + this.CertificateField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype, CertificateXName); + } + return this.CertificateField; + } + set { + if ((value == null)) { + this.CertificateField = null; + } + else { + if ((this.CertificateField == null)) { + this.CertificateField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype, value, CertificateXName); + } + else { + XTypedServices.SetList(this.CertificateField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SubCertificatesType", "urn:din:70121:2012:MsgDataTypes"); + + static SubCertificatesType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(CertificateXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(CertificateXName, typeof(byte[])); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (RootCertificateID+) + /// + /// + public partial class ListOfRootCertificateIDsType : XTypedElement, IXMetaData { + + public static explicit operator ListOfRootCertificateIDsType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (RootCertificateID+) + /// + /// + public ListOfRootCertificateIDsType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RootCertificateIDXName = System.Xml.Linq.XName.Get("RootCertificateID", "urn:din:70121:2012:MsgDataTypes"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList RootCertificateIDField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (RootCertificateID+) + /// + /// + public virtual IList RootCertificateID { + get { + if ((this.RootCertificateIDField == null)) { + this.RootCertificateIDField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, RootCertificateIDXName); + } + return this.RootCertificateIDField; + } + set { + if ((value == null)) { + this.RootCertificateIDField = null; + } + else { + if ((this.RootCertificateIDField == null)) { + this.RootCertificateIDField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, value, RootCertificateIDXName); + } + else { + XTypedServices.SetList(this.RootCertificateIDField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ListOfRootCertificateIDsType", "urn:din:70121:2012:MsgDataTypes"); + + static ListOfRootCertificateIDsType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(RootCertificateIDXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(RootCertificateIDXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (MeterID, MeterReading?, SigMeterReading?, MeterStatus?, TMeter?) + /// + /// + public partial class MeterInfoType : XTypedElement, IXMetaData { + + public static explicit operator MeterInfoType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (MeterID, MeterReading?, SigMeterReading?, MeterStatus?, TMeter?) + /// + /// + public MeterInfoType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MeterIDXName = System.Xml.Linq.XName.Get("MeterID", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (MeterID, MeterReading?, SigMeterReading?, MeterStatus?, TMeter?) + /// + /// + public virtual string MeterID { + get { + XElement x = this.GetElement(MeterIDXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetElementWithValidation(MeterIDXName, value, "MeterID", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.meterIDType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MeterReadingXName = System.Xml.Linq.XName.Get("MeterReading", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (MeterID, MeterReading?, SigMeterReading?, MeterStatus?, TMeter?) + /// + /// + public virtual PhysicalValueType MeterReading { + get { + XElement x = this.GetElement(MeterReadingXName); + if ((x == null)) { + return null; + } + return ((PhysicalValueType)(x)); + } + set { + this.SetElement(MeterReadingXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SigMeterReadingXName = System.Xml.Linq.XName.Get("SigMeterReading", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (MeterID, MeterReading?, SigMeterReading?, MeterStatus?, TMeter?) + /// + /// + public virtual byte[] SigMeterReading { + get { + XElement x = this.GetElement(SigMeterReadingXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + set { + if (value == null) { + this.SetElement(SigMeterReadingXName, null, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + else { + this.SetElementWithValidation(SigMeterReadingXName, value, "SigMeterReading", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.sigMeterReadingType.TypeDefinition); + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MeterStatusXName = System.Xml.Linq.XName.Get("MeterStatus", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (MeterID, MeterReading?, SigMeterReading?, MeterStatus?, TMeter?) + /// + /// + public virtual System.Int16? MeterStatus { + get { + XElement x = this.GetElement(MeterStatusXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Short).Datatype); + } + set { + if (value == null) { + this.SetElement(MeterStatusXName, null, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Short).Datatype); + } + else { + this.SetElementWithValidation(MeterStatusXName, value, "MeterStatus", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.meterStatusType.TypeDefinition); + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TMeterXName = System.Xml.Linq.XName.Get("TMeter", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (MeterID, MeterReading?, SigMeterReading?, MeterStatus?, TMeter?) + /// + /// + public virtual System.Int64? TMeter { + get { + XElement x = this.GetElement(TMeterXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetElement(TMeterXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("MeterInfoType", "urn:din:70121:2012:MsgDataTypes"); + + static MeterInfoType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(MeterIDXName), new NamedContentModelEntity(MeterReadingXName), new NamedContentModelEntity(SigMeterReadingXName), new NamedContentModelEntity(MeterStatusXName), new NamedContentModelEntity(TMeterXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(MeterIDXName, typeof(string)); + localElementDictionary.Add(MeterReadingXName, typeof(PhysicalValueType)); + localElementDictionary.Add(SigMeterReadingXName, typeof(byte[])); + localElementDictionary.Add(MeterStatusXName, typeof(short)); + localElementDictionary.Add(TMeterXName, typeof(long)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public sealed class meterStatusType { + + private meterStatusType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Short), null); + } + + /// + /// + /// Regular expression: (Multiplier, Unit?, Value) + /// + /// + public partial class PhysicalValueType : XTypedElement, IXMetaData { + + public static explicit operator PhysicalValueType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (Multiplier, Unit?, Value) + /// + /// + public PhysicalValueType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MultiplierXName = System.Xml.Linq.XName.Get("Multiplier", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Multiplier, Unit?, Value) + /// + /// + public virtual sbyte Multiplier { + get { + XElement x = this.GetElement(MultiplierXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Byte).Datatype); + } + set { + this.SetElementWithValidation(MultiplierXName, value, "Multiplier", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.unitMultiplierType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName UnitXName = System.Xml.Linq.XName.Get("Unit", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (Multiplier, Unit?, Value) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.unitSymbolType? Unit { + get { + XElement x = this.GetElement(UnitXName); + if ((x == null)) { + return null; + } + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.unitSymbolType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.unitSymbolType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.unitSymbolTypeValidator.TypeDefinition)))); + } + set { + if (value == null) { + this.SetElement(UnitXName, null, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + else { + this.SetElementWithValidation(UnitXName, value.ToString(), "Unit", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.unitSymbolTypeValidator.TypeDefinition); + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ValueXName = System.Xml.Linq.XName.Get("Value", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Multiplier, Unit?, Value) + /// + /// + public virtual short Value { + get { + XElement x = this.GetElement(ValueXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Short).Datatype); + } + set { + this.SetElement(ValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Short).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("PhysicalValueType", "urn:din:70121:2012:MsgDataTypes"); + + static PhysicalValueType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(MultiplierXName), new NamedContentModelEntity(UnitXName), new NamedContentModelEntity(ValueXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(MultiplierXName, typeof(sbyte)); + localElementDictionary.Add(UnitXName, typeof(string)); + localElementDictionary.Add(ValueXName, typeof(short)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (FaultCode, FaultMsg?) + /// + /// + public partial class NotificationType : XTypedElement, IXMetaData { + + public static explicit operator NotificationType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (FaultCode, FaultMsg?) + /// + /// + public NotificationType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FaultCodeXName = System.Xml.Linq.XName.Get("FaultCode", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (FaultCode, FaultMsg?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.faultCodeType FaultCode { + get { + XElement x = this.GetElement(FaultCodeXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.faultCodeType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.faultCodeType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.faultCodeTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(FaultCodeXName, value.ToString(), "FaultCode", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.faultCodeTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FaultMsgXName = System.Xml.Linq.XName.Get("FaultMsg", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (FaultCode, FaultMsg?) + /// + /// + public virtual string FaultMsg { + get { + XElement x = this.GetElement(FaultMsgXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + if (value == null) { + this.SetElement(FaultMsgXName, null, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + else { + this.SetElementWithValidation(FaultMsgXName, value, "FaultMsg", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.faultMsgType.TypeDefinition); + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("NotificationType", "urn:din:70121:2012:MsgDataTypes"); + + static NotificationType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(FaultCodeXName), new NamedContentModelEntity(FaultMsgXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(FaultCodeXName, typeof(string)); + localElementDictionary.Add(FaultMsgXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public abstract partial class SASchedulesType : XTypedElement, IXMetaData { + + public static explicit operator SASchedulesType(XElement xe) { return (SASchedulesType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public SASchedulesType() { + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SASchedulesType", "urn:din:70121:2012:MsgDataTypes"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (SAScheduleTuple+) + /// + /// + public partial class SAScheduleListType : global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SASchedulesType, IXMetaData { + + public static explicit operator SAScheduleListType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (SAScheduleTuple+) + /// + /// + public SAScheduleListType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SAScheduleTupleXName = System.Xml.Linq.XName.Get("SAScheduleTuple", "urn:din:70121:2012:MsgDataTypes"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList SAScheduleTupleField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (SAScheduleTuple+) + /// + /// + public virtual IList SAScheduleTuple { + get { + if ((this.SAScheduleTupleField == null)) { + this.SAScheduleTupleField = new XTypedList(this, LinqToXsdTypeManager.Instance, SAScheduleTupleXName); + } + return this.SAScheduleTupleField; + } + set { + if ((value == null)) { + this.SAScheduleTupleField = null; + } + else { + if ((this.SAScheduleTupleField == null)) { + this.SAScheduleTupleField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, SAScheduleTupleXName); + } + else { + XTypedServices.SetList(this.SAScheduleTupleField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SAScheduleListType", "urn:din:70121:2012:MsgDataTypes"); + + static SAScheduleListType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(SAScheduleTupleXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(SAScheduleTupleXName, typeof(SAScheduleTupleType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (SAScheduleTupleID, PMaxSchedule, SalesTariff?) + /// + /// + public partial class SAScheduleTupleType : XTypedElement, IXMetaData { + + public static explicit operator SAScheduleTupleType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (SAScheduleTupleID, PMaxSchedule, SalesTariff?) + /// + /// + public SAScheduleTupleType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SAScheduleTupleIDXName = System.Xml.Linq.XName.Get("SAScheduleTupleID", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (SAScheduleTupleID, PMaxSchedule, SalesTariff?) + /// + /// + public virtual short SAScheduleTupleID { + get { + XElement x = this.GetElement(SAScheduleTupleIDXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Short).Datatype); + } + set { + this.SetElementWithValidation(SAScheduleTupleIDXName, value, "SAScheduleTupleID", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SAIDType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName PMaxScheduleXName = System.Xml.Linq.XName.Get("PMaxSchedule", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (SAScheduleTupleID, PMaxSchedule, SalesTariff?) + /// + /// + public virtual PMaxScheduleType PMaxSchedule { + get { + XElement x = this.GetElement(PMaxScheduleXName); + return ((PMaxScheduleType)(x)); + } + set { + this.SetElement(PMaxScheduleXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SalesTariffXName = System.Xml.Linq.XName.Get("SalesTariff", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (SAScheduleTupleID, PMaxSchedule, SalesTariff?) + /// + /// + public virtual SalesTariffType SalesTariff { + get { + XElement x = this.GetElement(SalesTariffXName); + if ((x == null)) { + return null; + } + return ((SalesTariffType)(x)); + } + set { + this.SetElement(SalesTariffXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SAScheduleTupleType", "urn:din:70121:2012:MsgDataTypes"); + + static SAScheduleTupleType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(SAScheduleTupleIDXName), new NamedContentModelEntity(PMaxScheduleXName), new NamedContentModelEntity(SalesTariffXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(SAScheduleTupleIDXName, typeof(short)); + localElementDictionary.Add(PMaxScheduleXName, typeof(PMaxScheduleType)); + localElementDictionary.Add(SalesTariffXName, typeof(SalesTariffType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (SalesTariffID, SalesTariffDescription?, NumEPriceLevels, SalesTariffEntry+) + /// + /// + public partial class SalesTariffType : XTypedElement, IXMetaData { + + public static explicit operator SalesTariffType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (SalesTariffID, SalesTariffDescription?, NumEPriceLevels, SalesTariffEntry+) + /// + /// + public SalesTariffType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SalesTariffIDXName = System.Xml.Linq.XName.Get("SalesTariffID", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (SalesTariffID, SalesTariffDescription?, NumEPriceLevels, SalesTariffEntry+) + /// + /// + public virtual short SalesTariffID { + get { + XElement x = this.GetElement(SalesTariffIDXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Short).Datatype); + } + set { + this.SetElementWithValidation(SalesTariffIDXName, value, "SalesTariffID", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SAIDType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SalesTariffDescriptionXName = System.Xml.Linq.XName.Get("SalesTariffDescription", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (SalesTariffID, SalesTariffDescription?, NumEPriceLevels, SalesTariffEntry+) + /// + /// + public virtual string SalesTariffDescription { + get { + XElement x = this.GetElement(SalesTariffDescriptionXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + if (value == null) { + this.SetElement(SalesTariffDescriptionXName, null, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + else { + this.SetElementWithValidation(SalesTariffDescriptionXName, value, "SalesTariffDescription", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.tariffDescriptionType.TypeDefinition); + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName NumEPriceLevelsXName = System.Xml.Linq.XName.Get("NumEPriceLevels", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (SalesTariffID, SalesTariffDescription?, NumEPriceLevels, SalesTariffEntry+) + /// + /// + public virtual byte NumEPriceLevels { + get { + XElement x = this.GetElement(NumEPriceLevelsXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedByte).Datatype); + } + set { + this.SetElement(NumEPriceLevelsXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedByte).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SalesTariffEntryXName = System.Xml.Linq.XName.Get("SalesTariffEntry", "urn:din:70121:2012:MsgDataTypes"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList SalesTariffEntryField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (SalesTariffID, SalesTariffDescription?, NumEPriceLevels, SalesTariffEntry+) + /// + /// + public virtual IList SalesTariffEntry { + get { + if ((this.SalesTariffEntryField == null)) { + this.SalesTariffEntryField = new XTypedList(this, LinqToXsdTypeManager.Instance, SalesTariffEntryXName); + } + return this.SalesTariffEntryField; + } + set { + if ((value == null)) { + this.SalesTariffEntryField = null; + } + else { + if ((this.SalesTariffEntryField == null)) { + this.SalesTariffEntryField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, SalesTariffEntryXName); + } + else { + XTypedServices.SetList(this.SalesTariffEntryField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IdXName = System.Xml.Linq.XName.Get("Id", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string Id { + get { + XAttribute x = this.Attribute(IdXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(IdXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SalesTariffType", "urn:din:70121:2012:MsgDataTypes"); + + static SalesTariffType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(SalesTariffIDXName), new NamedContentModelEntity(SalesTariffDescriptionXName), new NamedContentModelEntity(NumEPriceLevelsXName), new NamedContentModelEntity(SalesTariffEntryXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(SalesTariffIDXName, typeof(short)); + localElementDictionary.Add(SalesTariffDescriptionXName, typeof(string)); + localElementDictionary.Add(NumEPriceLevelsXName, typeof(byte)); + localElementDictionary.Add(SalesTariffEntryXName, typeof(SalesTariffEntry)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (PMaxScheduleID, PMaxScheduleEntry+) + /// + /// + public partial class PMaxScheduleType : XTypedElement, IXMetaData { + + public static explicit operator PMaxScheduleType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (PMaxScheduleID, PMaxScheduleEntry+) + /// + /// + public PMaxScheduleType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName PMaxScheduleIDXName = System.Xml.Linq.XName.Get("PMaxScheduleID", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (PMaxScheduleID, PMaxScheduleEntry+) + /// + /// + public virtual short PMaxScheduleID { + get { + XElement x = this.GetElement(PMaxScheduleIDXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Short).Datatype); + } + set { + this.SetElementWithValidation(PMaxScheduleIDXName, value, "PMaxScheduleID", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SAIDType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName PMaxScheduleEntryXName = System.Xml.Linq.XName.Get("PMaxScheduleEntry", "urn:din:70121:2012:MsgDataTypes"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList PMaxScheduleEntryField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (PMaxScheduleID, PMaxScheduleEntry+) + /// + /// + public virtual IList PMaxScheduleEntry { + get { + if ((this.PMaxScheduleEntryField == null)) { + this.PMaxScheduleEntryField = new XTypedList(this, LinqToXsdTypeManager.Instance, PMaxScheduleEntryXName); + } + return this.PMaxScheduleEntryField; + } + set { + if ((value == null)) { + this.PMaxScheduleEntryField = null; + } + else { + if ((this.PMaxScheduleEntryField == null)) { + this.PMaxScheduleEntryField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, PMaxScheduleEntryXName); + } + else { + XTypedServices.SetList(this.PMaxScheduleEntryField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("PMaxScheduleType", "urn:din:70121:2012:MsgDataTypes"); + + static PMaxScheduleType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(PMaxScheduleIDXName), new NamedContentModelEntity(PMaxScheduleEntryXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(PMaxScheduleIDXName, typeof(short)); + localElementDictionary.Add(PMaxScheduleEntryXName, typeof(PMaxScheduleEntry)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (TimeInterval) + /// + /// + public abstract partial class EntryType : XTypedElement, IXMetaData { + + public static explicit operator EntryType(XElement xe) { return (EntryType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + /// + /// + /// Regular expression: (TimeInterval) + /// + /// + public EntryType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TimeIntervalXName = System.Xml.Linq.XName.Get("TimeInterval", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Substitution members: TimeInterval, RelativeTimeInterval + /// + /// + /// Regular expression: (TimeInterval) + /// + /// + public virtual TimeInterval TimeInterval { + get { + XTypedElement x = XTypedServices.ToSubstitutedXTypedElement(this, LinqToXsdTypeManager.Instance, System.Xml.Linq.XName.Get("TimeInterval", "urn:din:70121:2012:MsgDataTypes"), System.Xml.Linq.XName.Get("RelativeTimeInterval", "urn:din:70121:2012:MsgDataTypes")); + return ((TimeInterval)(x)); + } + set { + this.SetElement(TimeIntervalXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("EntryType", "urn:din:70121:2012:MsgDataTypes"); + + static EntryType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new SubstitutedContentModelEntity(System.Xml.Linq.XName.Get("TimeInterval", "urn:din:70121:2012:MsgDataTypes"), System.Xml.Linq.XName.Get("RelativeTimeInterval", "urn:din:70121:2012:MsgDataTypes"))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(TimeIntervalXName, typeof(TimeInterval)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (TimeInterval, EPriceLevel, ConsumptionCost*) + /// + /// + public partial class SalesTariffEntryType : global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EntryType, IXMetaData { + + public static explicit operator SalesTariffEntryType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (TimeInterval, EPriceLevel, ConsumptionCost*) + /// + /// + public SalesTariffEntryType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TimeIntervalXName = System.Xml.Linq.XName.Get("TimeInterval", "urn:din:70121:2012:MsgDataTypes"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EPriceLevelXName = System.Xml.Linq.XName.Get("EPriceLevel", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (TimeInterval, EPriceLevel, ConsumptionCost*) + /// + /// + public virtual byte EPriceLevel { + get { + XElement x = this.GetElement(EPriceLevelXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedByte).Datatype); + } + set { + this.SetElement(EPriceLevelXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedByte).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ConsumptionCostXName = System.Xml.Linq.XName.Get("ConsumptionCost", "urn:din:70121:2012:MsgDataTypes"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ConsumptionCostField; + + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (TimeInterval, EPriceLevel, ConsumptionCost*) + /// + /// + public virtual IList ConsumptionCost { + get { + if ((this.ConsumptionCostField == null)) { + this.ConsumptionCostField = new XTypedList(this, LinqToXsdTypeManager.Instance, ConsumptionCostXName); + } + return this.ConsumptionCostField; + } + set { + if ((value == null)) { + this.ConsumptionCostField = null; + } + else { + if ((this.ConsumptionCostField == null)) { + this.ConsumptionCostField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ConsumptionCostXName); + } + else { + XTypedServices.SetList(this.ConsumptionCostField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SalesTariffEntryType", "urn:din:70121:2012:MsgDataTypes"); + + static SalesTariffEntryType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new SubstitutedContentModelEntity(System.Xml.Linq.XName.Get("TimeInterval", "urn:din:70121:2012:MsgDataTypes"), System.Xml.Linq.XName.Get("RelativeTimeInterval", "urn:din:70121:2012:MsgDataTypes")), new NamedContentModelEntity(EPriceLevelXName), new NamedContentModelEntity(ConsumptionCostXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(TimeIntervalXName, typeof(TimeInterval)); + localElementDictionary.Add(EPriceLevelXName, typeof(byte)); + localElementDictionary.Add(ConsumptionCostXName, typeof(ConsumptionCostType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (TimeInterval, PMax) + /// + /// + public partial class PMaxScheduleEntryType : global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EntryType, IXMetaData { + + public static explicit operator PMaxScheduleEntryType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (TimeInterval, PMax) + /// + /// + public PMaxScheduleEntryType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TimeIntervalXName = System.Xml.Linq.XName.Get("TimeInterval", "urn:din:70121:2012:MsgDataTypes"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName PMaxXName = System.Xml.Linq.XName.Get("PMax", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (TimeInterval, PMax) + /// + /// + public virtual short PMax { + get { + XElement x = this.GetElement(PMaxXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Short).Datatype); + } + set { + this.SetElementWithValidation(PMaxXName, value, "PMax", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PMaxType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("PMaxScheduleEntryType", "urn:din:70121:2012:MsgDataTypes"); + + static PMaxScheduleEntryType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new SubstitutedContentModelEntity(System.Xml.Linq.XName.Get("TimeInterval", "urn:din:70121:2012:MsgDataTypes"), System.Xml.Linq.XName.Get("RelativeTimeInterval", "urn:din:70121:2012:MsgDataTypes")), new NamedContentModelEntity(PMaxXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(TimeIntervalXName, typeof(TimeInterval)); + localElementDictionary.Add(PMaxXName, typeof(short)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public abstract partial class IntervalType : XTypedElement, IXMetaData { + + public static explicit operator IntervalType(XElement xe) { return (IntervalType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public IntervalType() { + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("IntervalType", "urn:din:70121:2012:MsgDataTypes"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (start, duration?) + /// + /// + public partial class RelativeTimeIntervalType : global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.IntervalType, IXMetaData { + + public static explicit operator RelativeTimeIntervalType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (start, duration?) + /// + /// + public RelativeTimeIntervalType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName startXName = System.Xml.Linq.XName.Get("start", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (start, duration?) + /// + /// + public virtual uint start { + get { + XElement x = this.GetElement(startXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedInt).Datatype); + } + set { + this.SetElement(startXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedInt).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName durationXName = System.Xml.Linq.XName.Get("duration", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (start, duration?) + /// + /// + public virtual System.UInt32? duration { + get { + XElement x = this.GetElement(durationXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedInt).Datatype); + } + set { + this.SetElement(durationXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedInt).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("RelativeTimeIntervalType", "urn:din:70121:2012:MsgDataTypes"); + + static RelativeTimeIntervalType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(startXName), new NamedContentModelEntity(durationXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(startXName, typeof(uint)); + localElementDictionary.Add(durationXName, typeof(uint)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (startValue, Cost*) + /// + /// + public partial class ConsumptionCostType : XTypedElement, IXMetaData { + + public static explicit operator ConsumptionCostType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (startValue, Cost*) + /// + /// + public ConsumptionCostType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName startValueXName = System.Xml.Linq.XName.Get("startValue", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (startValue, Cost*) + /// + /// + public virtual uint startValue { + get { + XElement x = this.GetElement(startValueXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedInt).Datatype); + } + set { + this.SetElement(startValueXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedInt).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CostXName = System.Xml.Linq.XName.Get("Cost", "urn:din:70121:2012:MsgDataTypes"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList CostField; + + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (startValue, Cost*) + /// + /// + public virtual IList Cost { + get { + if ((this.CostField == null)) { + this.CostField = new XTypedList(this, LinqToXsdTypeManager.Instance, CostXName); + } + return this.CostField; + } + set { + if ((value == null)) { + this.CostField = null; + } + else { + if ((this.CostField == null)) { + this.CostField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, CostXName); + } + else { + XTypedServices.SetList(this.CostField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ConsumptionCostType", "urn:din:70121:2012:MsgDataTypes"); + + static ConsumptionCostType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(startValueXName), new NamedContentModelEntity(CostXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(startValueXName, typeof(uint)); + localElementDictionary.Add(CostXName, typeof(CostType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (costKind, amount, amountMultiplier?) + /// + /// + public partial class CostType : XTypedElement, IXMetaData { + + public static explicit operator CostType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (costKind, amount, amountMultiplier?) + /// + /// + public CostType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName costKindXName = System.Xml.Linq.XName.Get("costKind", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (costKind, amount, amountMultiplier?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.costKindType costKind { + get { + XElement x = this.GetElement(costKindXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.costKindType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.costKindType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.costKindTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(costKindXName, value.ToString(), "costKind", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.costKindTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName amountXName = System.Xml.Linq.XName.Get("amount", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (costKind, amount, amountMultiplier?) + /// + /// + public virtual uint amount { + get { + XElement x = this.GetElement(amountXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedInt).Datatype); + } + set { + this.SetElement(amountXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedInt).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName amountMultiplierXName = System.Xml.Linq.XName.Get("amountMultiplier", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (costKind, amount, amountMultiplier?) + /// + /// + public virtual System.SByte? amountMultiplier { + get { + XElement x = this.GetElement(amountMultiplierXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Byte).Datatype); + } + set { + if (value == null) { + this.SetElement(amountMultiplierXName, null, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Byte).Datatype); + } + else { + this.SetElementWithValidation(amountMultiplierXName, value, "amountMultiplier", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.unitMultiplierType.TypeDefinition); + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CostType", "urn:din:70121:2012:MsgDataTypes"); + + static CostType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(costKindXName), new NamedContentModelEntity(amountXName), new NamedContentModelEntity(amountMultiplierXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(costKindXName, typeof(string)); + localElementDictionary.Add(amountXName, typeof(uint)); + localElementDictionary.Add(amountMultiplierXName, typeof(sbyte)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public abstract partial class EVSEStatusType : XTypedElement, IXMetaData { + + public static explicit operator EVSEStatusType(XElement xe) { return (EVSEStatusType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public EVSEStatusType() { + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("EVSEStatusType", "urn:din:70121:2012:MsgDataTypes"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (PowerSwitchClosed, RCD, NotificationMaxDelay, EVSENotification) + /// + /// + public partial class AC_EVSEStatusType : global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEStatusType, IXMetaData { + + public static explicit operator AC_EVSEStatusType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (PowerSwitchClosed, RCD, NotificationMaxDelay, EVSENotification) + /// + /// + public AC_EVSEStatusType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName PowerSwitchClosedXName = System.Xml.Linq.XName.Get("PowerSwitchClosed", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (PowerSwitchClosed, RCD, NotificationMaxDelay, EVSENotification) + /// + /// + public virtual bool PowerSwitchClosed { + get { + XElement x = this.GetElement(PowerSwitchClosedXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetElement(PowerSwitchClosedXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RCDXName = System.Xml.Linq.XName.Get("RCD", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (PowerSwitchClosed, RCD, NotificationMaxDelay, EVSENotification) + /// + /// + public virtual bool RCD { + get { + XElement x = this.GetElement(RCDXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetElement(RCDXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName NotificationMaxDelayXName = System.Xml.Linq.XName.Get("NotificationMaxDelay", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (PowerSwitchClosed, RCD, NotificationMaxDelay, EVSENotification) + /// + /// + public virtual uint NotificationMaxDelay { + get { + XElement x = this.GetElement(NotificationMaxDelayXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedInt).Datatype); + } + set { + this.SetElement(NotificationMaxDelayXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedInt).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSENotificationXName = System.Xml.Linq.XName.Get("EVSENotification", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (PowerSwitchClosed, RCD, NotificationMaxDelay, EVSENotification) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSENotificationType EVSENotification { + get { + XElement x = this.GetElement(EVSENotificationXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSENotificationType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSENotificationType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSENotificationTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(EVSENotificationXName, value.ToString(), "EVSENotification", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSENotificationTypeValidator.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("AC_EVSEStatusType", "urn:din:70121:2012:MsgDataTypes"); + + static AC_EVSEStatusType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(PowerSwitchClosedXName), new NamedContentModelEntity(RCDXName), new NamedContentModelEntity(NotificationMaxDelayXName), new NamedContentModelEntity(EVSENotificationXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(PowerSwitchClosedXName, typeof(bool)); + localElementDictionary.Add(RCDXName, typeof(bool)); + localElementDictionary.Add(NotificationMaxDelayXName, typeof(uint)); + localElementDictionary.Add(EVSENotificationXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public abstract partial class EVStatusType : XTypedElement, IXMetaData { + + public static explicit operator EVStatusType(XElement xe) { return (EVStatusType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public EVStatusType() { + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("EVStatusType", "urn:din:70121:2012:MsgDataTypes"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (EVSEIsolationStatus?, EVSEStatusCode, NotificationMaxDelay, EVSENotification) + /// + /// + public partial class DC_EVSEStatusType : global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEStatusType, IXMetaData { + + public static explicit operator DC_EVSEStatusType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (EVSEIsolationStatus?, EVSEStatusCode, NotificationMaxDelay, EVSENotification) + /// + /// + public DC_EVSEStatusType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEIsolationStatusXName = System.Xml.Linq.XName.Get("EVSEIsolationStatus", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (EVSEIsolationStatus?, EVSEStatusCode, NotificationMaxDelay, EVSENotification) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.isolationLevelType? EVSEIsolationStatus { + get { + XElement x = this.GetElement(EVSEIsolationStatusXName); + if ((x == null)) { + return null; + } + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.isolationLevelType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.isolationLevelType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.isolationLevelTypeValidator.TypeDefinition)))); + } + set { + if (value == null) { + this.SetElement(EVSEIsolationStatusXName, null, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + else { + this.SetElementWithValidation(EVSEIsolationStatusXName, value.ToString(), "EVSEIsolationStatus", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.isolationLevelTypeValidator.TypeDefinition); + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEStatusCodeXName = System.Xml.Linq.XName.Get("EVSEStatusCode", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (EVSEIsolationStatus?, EVSEStatusCode, NotificationMaxDelay, EVSENotification) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatusCodeType EVSEStatusCode { + get { + XElement x = this.GetElement(EVSEStatusCodeXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatusCodeType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatusCodeType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatusCodeTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(EVSEStatusCodeXName, value.ToString(), "EVSEStatusCode", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatusCodeTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName NotificationMaxDelayXName = System.Xml.Linq.XName.Get("NotificationMaxDelay", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (EVSEIsolationStatus?, EVSEStatusCode, NotificationMaxDelay, EVSENotification) + /// + /// + public virtual uint NotificationMaxDelay { + get { + XElement x = this.GetElement(NotificationMaxDelayXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedInt).Datatype); + } + set { + this.SetElement(NotificationMaxDelayXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedInt).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSENotificationXName = System.Xml.Linq.XName.Get("EVSENotification", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (EVSEIsolationStatus?, EVSEStatusCode, NotificationMaxDelay, EVSENotification) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSENotificationType EVSENotification { + get { + XElement x = this.GetElement(EVSENotificationXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSENotificationType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSENotificationType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSENotificationTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(EVSENotificationXName, value.ToString(), "EVSENotification", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSENotificationTypeValidator.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("DC_EVSEStatusType", "urn:din:70121:2012:MsgDataTypes"); + + static DC_EVSEStatusType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(EVSEIsolationStatusXName), new NamedContentModelEntity(EVSEStatusCodeXName), new NamedContentModelEntity(NotificationMaxDelayXName), new NamedContentModelEntity(EVSENotificationXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(EVSEIsolationStatusXName, typeof(string)); + localElementDictionary.Add(EVSEStatusCodeXName, typeof(string)); + localElementDictionary.Add(NotificationMaxDelayXName, typeof(uint)); + localElementDictionary.Add(EVSENotificationXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (EVReady, EVCabinConditioning?, EVRESSConditioning?, EVErrorCode, EVRESSSOC) + /// + /// + public partial class DC_EVStatusType : global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVStatusType, IXMetaData { + + public static explicit operator DC_EVStatusType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (EVReady, EVCabinConditioning?, EVRESSConditioning?, EVErrorCode, EVRESSSOC) + /// + /// + public DC_EVStatusType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVReadyXName = System.Xml.Linq.XName.Get("EVReady", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (EVReady, EVCabinConditioning?, EVRESSConditioning?, EVErrorCode, EVRESSSOC) + /// + /// + public virtual bool EVReady { + get { + XElement x = this.GetElement(EVReadyXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetElement(EVReadyXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVCabinConditioningXName = System.Xml.Linq.XName.Get("EVCabinConditioning", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (EVReady, EVCabinConditioning?, EVRESSConditioning?, EVErrorCode, EVRESSSOC) + /// + /// + public virtual System.Boolean? EVCabinConditioning { + get { + XElement x = this.GetElement(EVCabinConditioningXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetElement(EVCabinConditioningXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVRESSConditioningXName = System.Xml.Linq.XName.Get("EVRESSConditioning", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (EVReady, EVCabinConditioning?, EVRESSConditioning?, EVErrorCode, EVRESSSOC) + /// + /// + public virtual System.Boolean? EVRESSConditioning { + get { + XElement x = this.GetElement(EVRESSConditioningXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetElement(EVRESSConditioningXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVErrorCodeXName = System.Xml.Linq.XName.Get("EVErrorCode", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (EVReady, EVCabinConditioning?, EVRESSConditioning?, EVErrorCode, EVRESSSOC) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVErrorCodeType EVErrorCode { + get { + XElement x = this.GetElement(EVErrorCodeXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVErrorCodeType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVErrorCodeType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVErrorCodeTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(EVErrorCodeXName, value.ToString(), "EVErrorCode", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVErrorCodeTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVRESSSOCXName = System.Xml.Linq.XName.Get("EVRESSSOC", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (EVReady, EVCabinConditioning?, EVRESSConditioning?, EVErrorCode, EVRESSSOC) + /// + /// + public virtual sbyte EVRESSSOC { + get { + XElement x = this.GetElement(EVRESSSOCXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Byte).Datatype); + } + set { + this.SetElementWithValidation(EVRESSSOCXName, value, "EVRESSSOC", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.percentValueType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("DC_EVStatusType", "urn:din:70121:2012:MsgDataTypes"); + + static DC_EVStatusType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(EVReadyXName), new NamedContentModelEntity(EVCabinConditioningXName), new NamedContentModelEntity(EVRESSConditioningXName), new NamedContentModelEntity(EVErrorCodeXName), new NamedContentModelEntity(EVRESSSOCXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(EVReadyXName, typeof(bool)); + localElementDictionary.Add(EVCabinConditioningXName, typeof(bool)); + localElementDictionary.Add(EVRESSConditioningXName, typeof(bool)); + localElementDictionary.Add(EVErrorCodeXName, typeof(string)); + localElementDictionary.Add(EVRESSSOCXName, typeof(sbyte)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public abstract partial class EVChargeParameterType : XTypedElement, IXMetaData { + + public static explicit operator EVChargeParameterType(XElement xe) { return (EVChargeParameterType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public EVChargeParameterType() { + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("EVChargeParameterType", "urn:din:70121:2012:MsgDataTypes"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (DepartureTime, EAmount, EVMaxVoltage, EVMaxCurrent, EVMinCurrent) + /// + /// + public partial class AC_EVChargeParameterType : global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVChargeParameterType, IXMetaData { + + public static explicit operator AC_EVChargeParameterType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (DepartureTime, EAmount, EVMaxVoltage, EVMaxCurrent, EVMinCurrent) + /// + /// + public AC_EVChargeParameterType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DepartureTimeXName = System.Xml.Linq.XName.Get("DepartureTime", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DepartureTime, EAmount, EVMaxVoltage, EVMaxCurrent, EVMinCurrent) + /// + /// + public virtual uint DepartureTime { + get { + XElement x = this.GetElement(DepartureTimeXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedInt).Datatype); + } + set { + this.SetElement(DepartureTimeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedInt).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EAmountXName = System.Xml.Linq.XName.Get("EAmount", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DepartureTime, EAmount, EVMaxVoltage, EVMaxCurrent, EVMinCurrent) + /// + /// + public virtual PhysicalValueType EAmount { + get { + XElement x = this.GetElement(EAmountXName); + return ((PhysicalValueType)(x)); + } + set { + this.SetElement(EAmountXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVMaxVoltageXName = System.Xml.Linq.XName.Get("EVMaxVoltage", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DepartureTime, EAmount, EVMaxVoltage, EVMaxCurrent, EVMinCurrent) + /// + /// + public virtual PhysicalValueType EVMaxVoltage { + get { + XElement x = this.GetElement(EVMaxVoltageXName); + return ((PhysicalValueType)(x)); + } + set { + this.SetElement(EVMaxVoltageXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVMaxCurrentXName = System.Xml.Linq.XName.Get("EVMaxCurrent", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DepartureTime, EAmount, EVMaxVoltage, EVMaxCurrent, EVMinCurrent) + /// + /// + public virtual PhysicalValueType EVMaxCurrent { + get { + XElement x = this.GetElement(EVMaxCurrentXName); + return ((PhysicalValueType)(x)); + } + set { + this.SetElement(EVMaxCurrentXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVMinCurrentXName = System.Xml.Linq.XName.Get("EVMinCurrent", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DepartureTime, EAmount, EVMaxVoltage, EVMaxCurrent, EVMinCurrent) + /// + /// + public virtual PhysicalValueType EVMinCurrent { + get { + XElement x = this.GetElement(EVMinCurrentXName); + return ((PhysicalValueType)(x)); + } + set { + this.SetElement(EVMinCurrentXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("AC_EVChargeParameterType", "urn:din:70121:2012:MsgDataTypes"); + + static AC_EVChargeParameterType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(DepartureTimeXName), new NamedContentModelEntity(EAmountXName), new NamedContentModelEntity(EVMaxVoltageXName), new NamedContentModelEntity(EVMaxCurrentXName), new NamedContentModelEntity(EVMinCurrentXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(DepartureTimeXName, typeof(uint)); + localElementDictionary.Add(EAmountXName, typeof(PhysicalValueType)); + localElementDictionary.Add(EVMaxVoltageXName, typeof(PhysicalValueType)); + localElementDictionary.Add(EVMaxCurrentXName, typeof(PhysicalValueType)); + localElementDictionary.Add(EVMinCurrentXName, typeof(PhysicalValueType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (DC_EVStatus, EVMaximumCurrentLimit, EVMaximumPowerLimit?, EVMaximumVoltageLimit, EVEnergyCapacity?, EVEnergyRequest?, FullSOC?, BulkSOC?) + /// + /// + public partial class DC_EVChargeParameterType : global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVChargeParameterType, IXMetaData { + + public static explicit operator DC_EVChargeParameterType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (DC_EVStatus, EVMaximumCurrentLimit, EVMaximumPowerLimit?, EVMaximumVoltageLimit, EVEnergyCapacity?, EVEnergyRequest?, FullSOC?, BulkSOC?) + /// + /// + public DC_EVChargeParameterType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DC_EVStatusXName = System.Xml.Linq.XName.Get("DC_EVStatus", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus, EVMaximumCurrentLimit, EVMaximumPowerLimit?, EVMaximumVoltageLimit, EVEnergyCapacity?, EVEnergyRequest?, FullSOC?, BulkSOC?) + /// + /// + public virtual DC_EVStatusType DC_EVStatus { + get { + XElement x = this.GetElement(DC_EVStatusXName); + return ((DC_EVStatusType)(x)); + } + set { + this.SetElement(DC_EVStatusXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVMaximumCurrentLimitXName = System.Xml.Linq.XName.Get("EVMaximumCurrentLimit", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus, EVMaximumCurrentLimit, EVMaximumPowerLimit?, EVMaximumVoltageLimit, EVEnergyCapacity?, EVEnergyRequest?, FullSOC?, BulkSOC?) + /// + /// + public virtual PhysicalValueType EVMaximumCurrentLimit { + get { + XElement x = this.GetElement(EVMaximumCurrentLimitXName); + return ((PhysicalValueType)(x)); + } + set { + this.SetElement(EVMaximumCurrentLimitXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVMaximumPowerLimitXName = System.Xml.Linq.XName.Get("EVMaximumPowerLimit", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVStatus, EVMaximumCurrentLimit, EVMaximumPowerLimit?, EVMaximumVoltageLimit, EVEnergyCapacity?, EVEnergyRequest?, FullSOC?, BulkSOC?) + /// + /// + public virtual PhysicalValueType EVMaximumPowerLimit { + get { + XElement x = this.GetElement(EVMaximumPowerLimitXName); + if ((x == null)) { + return null; + } + return ((PhysicalValueType)(x)); + } + set { + this.SetElement(EVMaximumPowerLimitXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVMaximumVoltageLimitXName = System.Xml.Linq.XName.Get("EVMaximumVoltageLimit", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus, EVMaximumCurrentLimit, EVMaximumPowerLimit?, EVMaximumVoltageLimit, EVEnergyCapacity?, EVEnergyRequest?, FullSOC?, BulkSOC?) + /// + /// + public virtual PhysicalValueType EVMaximumVoltageLimit { + get { + XElement x = this.GetElement(EVMaximumVoltageLimitXName); + return ((PhysicalValueType)(x)); + } + set { + this.SetElement(EVMaximumVoltageLimitXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVEnergyCapacityXName = System.Xml.Linq.XName.Get("EVEnergyCapacity", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVStatus, EVMaximumCurrentLimit, EVMaximumPowerLimit?, EVMaximumVoltageLimit, EVEnergyCapacity?, EVEnergyRequest?, FullSOC?, BulkSOC?) + /// + /// + public virtual PhysicalValueType EVEnergyCapacity { + get { + XElement x = this.GetElement(EVEnergyCapacityXName); + if ((x == null)) { + return null; + } + return ((PhysicalValueType)(x)); + } + set { + this.SetElement(EVEnergyCapacityXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVEnergyRequestXName = System.Xml.Linq.XName.Get("EVEnergyRequest", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVStatus, EVMaximumCurrentLimit, EVMaximumPowerLimit?, EVMaximumVoltageLimit, EVEnergyCapacity?, EVEnergyRequest?, FullSOC?, BulkSOC?) + /// + /// + public virtual PhysicalValueType EVEnergyRequest { + get { + XElement x = this.GetElement(EVEnergyRequestXName); + if ((x == null)) { + return null; + } + return ((PhysicalValueType)(x)); + } + set { + this.SetElement(EVEnergyRequestXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName FullSOCXName = System.Xml.Linq.XName.Get("FullSOC", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVStatus, EVMaximumCurrentLimit, EVMaximumPowerLimit?, EVMaximumVoltageLimit, EVEnergyCapacity?, EVEnergyRequest?, FullSOC?, BulkSOC?) + /// + /// + public virtual System.SByte? FullSOC { + get { + XElement x = this.GetElement(FullSOCXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Byte).Datatype); + } + set { + if (value == null) { + this.SetElement(FullSOCXName, null, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Byte).Datatype); + } + else { + this.SetElementWithValidation(FullSOCXName, value, "FullSOC", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.percentValueType.TypeDefinition); + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BulkSOCXName = System.Xml.Linq.XName.Get("BulkSOC", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVStatus, EVMaximumCurrentLimit, EVMaximumPowerLimit?, EVMaximumVoltageLimit, EVEnergyCapacity?, EVEnergyRequest?, FullSOC?, BulkSOC?) + /// + /// + public virtual System.SByte? BulkSOC { + get { + XElement x = this.GetElement(BulkSOCXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Byte).Datatype); + } + set { + if (value == null) { + this.SetElement(BulkSOCXName, null, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Byte).Datatype); + } + else { + this.SetElementWithValidation(BulkSOCXName, value, "BulkSOC", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.percentValueType.TypeDefinition); + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("DC_EVChargeParameterType", "urn:din:70121:2012:MsgDataTypes"); + + static DC_EVChargeParameterType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(DC_EVStatusXName), new NamedContentModelEntity(EVMaximumCurrentLimitXName), new NamedContentModelEntity(EVMaximumPowerLimitXName), new NamedContentModelEntity(EVMaximumVoltageLimitXName), new NamedContentModelEntity(EVEnergyCapacityXName), new NamedContentModelEntity(EVEnergyRequestXName), new NamedContentModelEntity(FullSOCXName), new NamedContentModelEntity(BulkSOCXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(DC_EVStatusXName, typeof(DC_EVStatusType)); + localElementDictionary.Add(EVMaximumCurrentLimitXName, typeof(PhysicalValueType)); + localElementDictionary.Add(EVMaximumPowerLimitXName, typeof(PhysicalValueType)); + localElementDictionary.Add(EVMaximumVoltageLimitXName, typeof(PhysicalValueType)); + localElementDictionary.Add(EVEnergyCapacityXName, typeof(PhysicalValueType)); + localElementDictionary.Add(EVEnergyRequestXName, typeof(PhysicalValueType)); + localElementDictionary.Add(FullSOCXName, typeof(sbyte)); + localElementDictionary.Add(BulkSOCXName, typeof(sbyte)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public abstract partial class EVSEChargeParameterType : XTypedElement, IXMetaData { + + public static explicit operator EVSEChargeParameterType(XElement xe) { return (EVSEChargeParameterType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public EVSEChargeParameterType() { + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("EVSEChargeParameterType", "urn:din:70121:2012:MsgDataTypes"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (AC_EVSEStatus, EVSEMaxVoltage, EVSEMaxCurrent, EVSEMinCurrent) + /// + /// + public partial class AC_EVSEChargeParameterType : global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEChargeParameterType, IXMetaData { + + public static explicit operator AC_EVSEChargeParameterType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (AC_EVSEStatus, EVSEMaxVoltage, EVSEMaxCurrent, EVSEMinCurrent) + /// + /// + public AC_EVSEChargeParameterType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AC_EVSEStatusXName = System.Xml.Linq.XName.Get("AC_EVSEStatus", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (AC_EVSEStatus, EVSEMaxVoltage, EVSEMaxCurrent, EVSEMinCurrent) + /// + /// + public virtual AC_EVSEStatusType AC_EVSEStatus { + get { + XElement x = this.GetElement(AC_EVSEStatusXName); + return ((AC_EVSEStatusType)(x)); + } + set { + this.SetElement(AC_EVSEStatusXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEMaxVoltageXName = System.Xml.Linq.XName.Get("EVSEMaxVoltage", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (AC_EVSEStatus, EVSEMaxVoltage, EVSEMaxCurrent, EVSEMinCurrent) + /// + /// + public virtual PhysicalValueType EVSEMaxVoltage { + get { + XElement x = this.GetElement(EVSEMaxVoltageXName); + return ((PhysicalValueType)(x)); + } + set { + this.SetElement(EVSEMaxVoltageXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEMaxCurrentXName = System.Xml.Linq.XName.Get("EVSEMaxCurrent", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (AC_EVSEStatus, EVSEMaxVoltage, EVSEMaxCurrent, EVSEMinCurrent) + /// + /// + public virtual PhysicalValueType EVSEMaxCurrent { + get { + XElement x = this.GetElement(EVSEMaxCurrentXName); + return ((PhysicalValueType)(x)); + } + set { + this.SetElement(EVSEMaxCurrentXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEMinCurrentXName = System.Xml.Linq.XName.Get("EVSEMinCurrent", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (AC_EVSEStatus, EVSEMaxVoltage, EVSEMaxCurrent, EVSEMinCurrent) + /// + /// + public virtual PhysicalValueType EVSEMinCurrent { + get { + XElement x = this.GetElement(EVSEMinCurrentXName); + return ((PhysicalValueType)(x)); + } + set { + this.SetElement(EVSEMinCurrentXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("AC_EVSEChargeParameterType", "urn:din:70121:2012:MsgDataTypes"); + + static AC_EVSEChargeParameterType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(AC_EVSEStatusXName), new NamedContentModelEntity(EVSEMaxVoltageXName), new NamedContentModelEntity(EVSEMaxCurrentXName), new NamedContentModelEntity(EVSEMinCurrentXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(AC_EVSEStatusXName, typeof(AC_EVSEStatusType)); + localElementDictionary.Add(EVSEMaxVoltageXName, typeof(PhysicalValueType)); + localElementDictionary.Add(EVSEMaxCurrentXName, typeof(PhysicalValueType)); + localElementDictionary.Add(EVSEMinCurrentXName, typeof(PhysicalValueType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (DC_EVSEStatus, EVSEMaximumCurrentLimit, EVSEMaximumPowerLimit?, EVSEMaximumVoltageLimit, EVSEMinimumCurrentLimit, EVSEMinimumVoltageLimit, EVSECurrentRegulationTolerance?, EVSEPeakCurrentRipple, EVSEEnergyToBeDelivered?) + /// + /// + public partial class DC_EVSEChargeParameterType : global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEChargeParameterType, IXMetaData { + + public static explicit operator DC_EVSEChargeParameterType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (DC_EVSEStatus, EVSEMaximumCurrentLimit, EVSEMaximumPowerLimit?, EVSEMaximumVoltageLimit, EVSEMinimumCurrentLimit, EVSEMinimumVoltageLimit, EVSECurrentRegulationTolerance?, EVSEPeakCurrentRipple, EVSEEnergyToBeDelivered?) + /// + /// + public DC_EVSEChargeParameterType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DC_EVSEStatusXName = System.Xml.Linq.XName.Get("DC_EVSEStatus", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVSEStatus, EVSEMaximumCurrentLimit, EVSEMaximumPowerLimit?, EVSEMaximumVoltageLimit, EVSEMinimumCurrentLimit, EVSEMinimumVoltageLimit, EVSECurrentRegulationTolerance?, EVSEPeakCurrentRipple, EVSEEnergyToBeDelivered?) + /// + /// + public virtual DC_EVSEStatusType DC_EVSEStatus { + get { + XElement x = this.GetElement(DC_EVSEStatusXName); + return ((DC_EVSEStatusType)(x)); + } + set { + this.SetElement(DC_EVSEStatusXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEMaximumCurrentLimitXName = System.Xml.Linq.XName.Get("EVSEMaximumCurrentLimit", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVSEStatus, EVSEMaximumCurrentLimit, EVSEMaximumPowerLimit?, EVSEMaximumVoltageLimit, EVSEMinimumCurrentLimit, EVSEMinimumVoltageLimit, EVSECurrentRegulationTolerance?, EVSEPeakCurrentRipple, EVSEEnergyToBeDelivered?) + /// + /// + public virtual PhysicalValueType EVSEMaximumCurrentLimit { + get { + XElement x = this.GetElement(EVSEMaximumCurrentLimitXName); + return ((PhysicalValueType)(x)); + } + set { + this.SetElement(EVSEMaximumCurrentLimitXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEMaximumPowerLimitXName = System.Xml.Linq.XName.Get("EVSEMaximumPowerLimit", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVSEStatus, EVSEMaximumCurrentLimit, EVSEMaximumPowerLimit?, EVSEMaximumVoltageLimit, EVSEMinimumCurrentLimit, EVSEMinimumVoltageLimit, EVSECurrentRegulationTolerance?, EVSEPeakCurrentRipple, EVSEEnergyToBeDelivered?) + /// + /// + public virtual PhysicalValueType EVSEMaximumPowerLimit { + get { + XElement x = this.GetElement(EVSEMaximumPowerLimitXName); + if ((x == null)) { + return null; + } + return ((PhysicalValueType)(x)); + } + set { + this.SetElement(EVSEMaximumPowerLimitXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEMaximumVoltageLimitXName = System.Xml.Linq.XName.Get("EVSEMaximumVoltageLimit", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVSEStatus, EVSEMaximumCurrentLimit, EVSEMaximumPowerLimit?, EVSEMaximumVoltageLimit, EVSEMinimumCurrentLimit, EVSEMinimumVoltageLimit, EVSECurrentRegulationTolerance?, EVSEPeakCurrentRipple, EVSEEnergyToBeDelivered?) + /// + /// + public virtual PhysicalValueType EVSEMaximumVoltageLimit { + get { + XElement x = this.GetElement(EVSEMaximumVoltageLimitXName); + return ((PhysicalValueType)(x)); + } + set { + this.SetElement(EVSEMaximumVoltageLimitXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEMinimumCurrentLimitXName = System.Xml.Linq.XName.Get("EVSEMinimumCurrentLimit", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVSEStatus, EVSEMaximumCurrentLimit, EVSEMaximumPowerLimit?, EVSEMaximumVoltageLimit, EVSEMinimumCurrentLimit, EVSEMinimumVoltageLimit, EVSECurrentRegulationTolerance?, EVSEPeakCurrentRipple, EVSEEnergyToBeDelivered?) + /// + /// + public virtual PhysicalValueType EVSEMinimumCurrentLimit { + get { + XElement x = this.GetElement(EVSEMinimumCurrentLimitXName); + return ((PhysicalValueType)(x)); + } + set { + this.SetElement(EVSEMinimumCurrentLimitXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEMinimumVoltageLimitXName = System.Xml.Linq.XName.Get("EVSEMinimumVoltageLimit", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVSEStatus, EVSEMaximumCurrentLimit, EVSEMaximumPowerLimit?, EVSEMaximumVoltageLimit, EVSEMinimumCurrentLimit, EVSEMinimumVoltageLimit, EVSECurrentRegulationTolerance?, EVSEPeakCurrentRipple, EVSEEnergyToBeDelivered?) + /// + /// + public virtual PhysicalValueType EVSEMinimumVoltageLimit { + get { + XElement x = this.GetElement(EVSEMinimumVoltageLimitXName); + return ((PhysicalValueType)(x)); + } + set { + this.SetElement(EVSEMinimumVoltageLimitXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSECurrentRegulationToleranceXName = System.Xml.Linq.XName.Get("EVSECurrentRegulationTolerance", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVSEStatus, EVSEMaximumCurrentLimit, EVSEMaximumPowerLimit?, EVSEMaximumVoltageLimit, EVSEMinimumCurrentLimit, EVSEMinimumVoltageLimit, EVSECurrentRegulationTolerance?, EVSEPeakCurrentRipple, EVSEEnergyToBeDelivered?) + /// + /// + public virtual PhysicalValueType EVSECurrentRegulationTolerance { + get { + XElement x = this.GetElement(EVSECurrentRegulationToleranceXName); + if ((x == null)) { + return null; + } + return ((PhysicalValueType)(x)); + } + set { + this.SetElement(EVSECurrentRegulationToleranceXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEPeakCurrentRippleXName = System.Xml.Linq.XName.Get("EVSEPeakCurrentRipple", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVSEStatus, EVSEMaximumCurrentLimit, EVSEMaximumPowerLimit?, EVSEMaximumVoltageLimit, EVSEMinimumCurrentLimit, EVSEMinimumVoltageLimit, EVSECurrentRegulationTolerance?, EVSEPeakCurrentRipple, EVSEEnergyToBeDelivered?) + /// + /// + public virtual PhysicalValueType EVSEPeakCurrentRipple { + get { + XElement x = this.GetElement(EVSEPeakCurrentRippleXName); + return ((PhysicalValueType)(x)); + } + set { + this.SetElement(EVSEPeakCurrentRippleXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEEnergyToBeDeliveredXName = System.Xml.Linq.XName.Get("EVSEEnergyToBeDelivered", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVSEStatus, EVSEMaximumCurrentLimit, EVSEMaximumPowerLimit?, EVSEMaximumVoltageLimit, EVSEMinimumCurrentLimit, EVSEMinimumVoltageLimit, EVSECurrentRegulationTolerance?, EVSEPeakCurrentRipple, EVSEEnergyToBeDelivered?) + /// + /// + public virtual PhysicalValueType EVSEEnergyToBeDelivered { + get { + XElement x = this.GetElement(EVSEEnergyToBeDeliveredXName); + if ((x == null)) { + return null; + } + return ((PhysicalValueType)(x)); + } + set { + this.SetElement(EVSEEnergyToBeDeliveredXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("DC_EVSEChargeParameterType", "urn:din:70121:2012:MsgDataTypes"); + + static DC_EVSEChargeParameterType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(DC_EVSEStatusXName), new NamedContentModelEntity(EVSEMaximumCurrentLimitXName), new NamedContentModelEntity(EVSEMaximumPowerLimitXName), new NamedContentModelEntity(EVSEMaximumVoltageLimitXName), new NamedContentModelEntity(EVSEMinimumCurrentLimitXName), new NamedContentModelEntity(EVSEMinimumVoltageLimitXName), new NamedContentModelEntity(EVSECurrentRegulationToleranceXName), new NamedContentModelEntity(EVSEPeakCurrentRippleXName), new NamedContentModelEntity(EVSEEnergyToBeDeliveredXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(DC_EVSEStatusXName, typeof(DC_EVSEStatusType)); + localElementDictionary.Add(EVSEMaximumCurrentLimitXName, typeof(PhysicalValueType)); + localElementDictionary.Add(EVSEMaximumPowerLimitXName, typeof(PhysicalValueType)); + localElementDictionary.Add(EVSEMaximumVoltageLimitXName, typeof(PhysicalValueType)); + localElementDictionary.Add(EVSEMinimumCurrentLimitXName, typeof(PhysicalValueType)); + localElementDictionary.Add(EVSEMinimumVoltageLimitXName, typeof(PhysicalValueType)); + localElementDictionary.Add(EVSECurrentRegulationToleranceXName, typeof(PhysicalValueType)); + localElementDictionary.Add(EVSEPeakCurrentRippleXName, typeof(PhysicalValueType)); + localElementDictionary.Add(EVSEEnergyToBeDeliveredXName, typeof(PhysicalValueType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public abstract partial class EVPowerDeliveryParameterType : XTypedElement, IXMetaData { + + public static explicit operator EVPowerDeliveryParameterType(XElement xe) { return (EVPowerDeliveryParameterType)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public EVPowerDeliveryParameterType() { + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("EVPowerDeliveryParameterType", "urn:din:70121:2012:MsgDataTypes"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (DC_EVStatus, BulkChargingComplete?, ChargingComplete) + /// + /// + public partial class DC_EVPowerDeliveryParameterType : global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVPowerDeliveryParameterType, IXMetaData { + + public static explicit operator DC_EVPowerDeliveryParameterType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (DC_EVStatus, BulkChargingComplete?, ChargingComplete) + /// + /// + public DC_EVPowerDeliveryParameterType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DC_EVStatusXName = System.Xml.Linq.XName.Get("DC_EVStatus", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus, BulkChargingComplete?, ChargingComplete) + /// + /// + public virtual DC_EVStatusType DC_EVStatus { + get { + XElement x = this.GetElement(DC_EVStatusXName); + return ((DC_EVStatusType)(x)); + } + set { + this.SetElement(DC_EVStatusXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BulkChargingCompleteXName = System.Xml.Linq.XName.Get("BulkChargingComplete", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVStatus, BulkChargingComplete?, ChargingComplete) + /// + /// + public virtual System.Boolean? BulkChargingComplete { + get { + XElement x = this.GetElement(BulkChargingCompleteXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetElement(BulkChargingCompleteXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ChargingCompleteXName = System.Xml.Linq.XName.Get("ChargingComplete", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus, BulkChargingComplete?, ChargingComplete) + /// + /// + public virtual bool ChargingComplete { + get { + XElement x = this.GetElement(ChargingCompleteXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetElement(ChargingCompleteXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("DC_EVPowerDeliveryParameterType", "urn:din:70121:2012:MsgDataTypes"); + + static DC_EVPowerDeliveryParameterType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(DC_EVStatusXName), new NamedContentModelEntity(BulkChargingCompleteXName), new NamedContentModelEntity(ChargingCompleteXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(DC_EVStatusXName, typeof(DC_EVStatusType)); + localElementDictionary.Add(BulkChargingCompleteXName, typeof(bool)); + localElementDictionary.Add(ChargingCompleteXName, typeof(bool)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (SAScheduleTupleID, ProfileEntry+) + /// + /// + public partial class ChargingProfileType : XTypedElement, IXMetaData { + + public static explicit operator ChargingProfileType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (SAScheduleTupleID, ProfileEntry+) + /// + /// + public ChargingProfileType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SAScheduleTupleIDXName = System.Xml.Linq.XName.Get("SAScheduleTupleID", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (SAScheduleTupleID, ProfileEntry+) + /// + /// + public virtual short SAScheduleTupleID { + get { + XElement x = this.GetElement(SAScheduleTupleIDXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Short).Datatype); + } + set { + this.SetElementWithValidation(SAScheduleTupleIDXName, value, "SAScheduleTupleID", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SAIDType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ProfileEntryXName = System.Xml.Linq.XName.Get("ProfileEntry", "urn:din:70121:2012:MsgDataTypes"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ProfileEntryField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (SAScheduleTupleID, ProfileEntry+) + /// + /// + public virtual IList ProfileEntry { + get { + if ((this.ProfileEntryField == null)) { + this.ProfileEntryField = new XTypedList(this, LinqToXsdTypeManager.Instance, ProfileEntryXName); + } + return this.ProfileEntryField; + } + set { + if ((value == null)) { + this.ProfileEntryField = null; + } + else { + if ((this.ProfileEntryField == null)) { + this.ProfileEntryField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ProfileEntryXName); + } + else { + XTypedServices.SetList(this.ProfileEntryField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ChargingProfileType", "urn:din:70121:2012:MsgDataTypes"); + + static ChargingProfileType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(SAScheduleTupleIDXName), new NamedContentModelEntity(ProfileEntryXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(SAScheduleTupleIDXName, typeof(short)); + localElementDictionary.Add(ProfileEntryXName, typeof(ProfileEntryType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ChargingProfileEntryStart, ChargingProfileEntryMaxPower) + /// + /// + public partial class ProfileEntryType : XTypedElement, IXMetaData { + + public static explicit operator ProfileEntryType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ChargingProfileEntryStart, ChargingProfileEntryMaxPower) + /// + /// + public ProfileEntryType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ChargingProfileEntryStartXName = System.Xml.Linq.XName.Get("ChargingProfileEntryStart", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ChargingProfileEntryStart, ChargingProfileEntryMaxPower) + /// + /// + public virtual uint ChargingProfileEntryStart { + get { + XElement x = this.GetElement(ChargingProfileEntryStartXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedInt).Datatype); + } + set { + this.SetElement(ChargingProfileEntryStartXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedInt).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ChargingProfileEntryMaxPowerXName = System.Xml.Linq.XName.Get("ChargingProfileEntryMaxPower", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ChargingProfileEntryStart, ChargingProfileEntryMaxPower) + /// + /// + public virtual short ChargingProfileEntryMaxPower { + get { + XElement x = this.GetElement(ChargingProfileEntryMaxPowerXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Short).Datatype); + } + set { + this.SetElementWithValidation(ChargingProfileEntryMaxPowerXName, value, "ChargingProfileEntryMaxPower", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PMaxType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ProfileEntryType", "urn:din:70121:2012:MsgDataTypes"); + + static ProfileEntryType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ChargingProfileEntryStartXName), new NamedContentModelEntity(ChargingProfileEntryMaxPowerXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ChargingProfileEntryStartXName, typeof(uint)); + localElementDictionary.Add(ChargingProfileEntryMaxPowerXName, typeof(short)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public sealed class PMaxType { + + private PMaxType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Short), null); + } + + public sealed class percentValueType { + + private percentValueType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Byte), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(320)), null, 0, 0, null, 100, 0, null, 0, 0, null, 0, XmlSchemaWhiteSpace.Collapse)); + } + + public sealed class faultMsgType { + + private faultMsgType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(4)), null, 0, 0, null, null, 64, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public enum EVSEProcessingType { + + Finished, + + Ongoing, + } + + public sealed class EVSEProcessingTypeValidator { + + private EVSEProcessingTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "Finished", + "Ongoing"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public enum EVSENotificationType { + + None, + + StopCharging, + + ReNegotiation, + } + + public sealed class EVSENotificationTypeValidator { + + private EVSENotificationTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "None", + "StopCharging", + "ReNegotiation"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public sealed class serviceNameType { + + private serviceNameType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(4)), null, 0, 0, null, null, 32, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public enum serviceCategoryType { + + EVCharging, + + Internet, + + ContractCertificate, + + OtherCustom, + } + + public sealed class serviceCategoryTypeValidator { + + private serviceCategoryTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "EVCharging", + "Internet", + "ContractCertificate", + "OtherCustom"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public sealed class serviceScopeType { + + private serviceScopeType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(4)), null, 0, 0, null, null, 32, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public enum EVSESupportedEnergyTransferType { + + AC_single_phase_core, + + AC_three_phase_core, + + DC_core, + + DC_extended, + + DC_combo_core, + + DC_dual, + + AC_core1p_DC_extended, + + AC_single_DC_core, + + AC_single_phase_three_phase_core_DC_extended, + + AC_core3p_DC_extended, + } + + public sealed class EVSESupportedEnergyTransferTypeValidator { + + private EVSESupportedEnergyTransferTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "AC_single_phase_core", + "AC_three_phase_core", + "DC_core", + "DC_extended", + "DC_combo_core", + "DC_dual", + "AC_core1p_DC_extended", + "AC_single_DC_core", + "AC_single_phase_three_phase_core_DC_extended", + "AC_core3p_DC_extended"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public enum EVRequestedEnergyTransferType { + + AC_single_phase_core, + + AC_three_phase_core, + + DC_core, + + DC_extended, + + DC_combo_core, + + DC_unique, + } + + public sealed class EVRequestedEnergyTransferTypeValidator { + + private EVRequestedEnergyTransferTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "AC_single_phase_core", + "AC_three_phase_core", + "DC_core", + "DC_extended", + "DC_combo_core", + "DC_unique"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public sealed class genChallengeType { + + private genChallengeType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), null); + } + + public sealed class certificateType { + + private certificateType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(4)), null, 0, 0, null, null, 1200, null, null, 0, null, 0, XmlSchemaWhiteSpace.Collapse)); + } + + public sealed class rootCertificateIDType { + + private rootCertificateIDType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(4)), null, 0, 0, null, null, 40, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public sealed class dHParamsType { + + private dHParamsType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(4)), null, 0, 0, null, null, 256, null, null, 0, null, 0, XmlSchemaWhiteSpace.Collapse)); + } + + public sealed class privateKeyType { + + private privateKeyType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(4)), null, 0, 0, null, null, 128, null, null, 0, null, 0, XmlSchemaWhiteSpace.Collapse)); + } + + public sealed class sigMeterReadingType { + + private sigMeterReadingType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(4)), null, 0, 0, null, null, 32, null, null, 0, null, 0, XmlSchemaWhiteSpace.Collapse)); + } + + public sealed class sessionIDType { + + private sessionIDType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(4)), null, 0, 0, null, null, 8, null, null, 0, null, 0, XmlSchemaWhiteSpace.Collapse)); + } + + public sealed class evccIDType { + + private evccIDType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(4)), null, 0, 0, null, null, 8, null, null, 0, null, 0, XmlSchemaWhiteSpace.Collapse)); + } + + public sealed class evseIDType { + + private evseIDType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(4)), null, 0, 0, null, null, 32, null, null, 0, null, 0, XmlSchemaWhiteSpace.Collapse)); + } + + public sealed class serviceIDType { + + private serviceIDType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedShort), null); + } + + public sealed class contractIDType { + + private contractIDType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(4)), null, 0, 0, null, null, 24, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public sealed class meterIDType { + + private meterIDType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(4)), null, 0, 0, null, null, 32, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public sealed class SAIDType { + + private SAIDType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Short), null); + } + + public sealed class tariffDescriptionType { + + private tariffDescriptionType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(4)), null, 0, 0, null, null, 32, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public enum costKindType { + + relativePricePercentage, + + RenewableGenerationPercentage, + + CarbonDioxideEmission, + } + + public sealed class costKindTypeValidator { + + private costKindTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "relativePricePercentage", + "RenewableGenerationPercentage", + "CarbonDioxideEmission"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + /// + /// + /// Regular expression: (PaymentOption+) + /// + /// + public partial class PaymentOptionsType : XTypedElement, IXMetaData { + + public static explicit operator PaymentOptionsType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (PaymentOption+) + /// + /// + public PaymentOptionsType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName PaymentOptionXName = System.Xml.Linq.XName.Get("PaymentOption", "urn:din:70121:2012:MsgDataTypes"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList PaymentOptionField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (PaymentOption+) + /// + /// + public virtual IList PaymentOption { + get { + if ((this.PaymentOptionField == null)) { + this.PaymentOptionField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, PaymentOptionXName); + } + return this.PaymentOptionField.Select(item => (LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.paymentOptionType)Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.paymentOptionType), item)).ToList(); + } + set { + if ((value == null)) { + this.PaymentOptionField = null; + } + else { + if ((this.PaymentOptionField == null)) { + this.PaymentOptionField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, value.Select(item => item.ToString()), PaymentOptionXName); + } + else { + XTypedServices.SetList(this.PaymentOptionField, value.Select(item => item.ToString()).ToList()); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("PaymentOptionsType", "urn:din:70121:2012:MsgDataTypes"); + + static PaymentOptionsType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(PaymentOptionXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(PaymentOptionXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public enum paymentOptionType { + + Contract, + + ExternalPayment, + } + + public sealed class paymentOptionTypeValidator { + + private paymentOptionTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "Contract", + "ExternalPayment"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public enum faultCodeType { + + ParsingError, + + NoTLSRootCertificatAvailable, + + UnknownError, + } + + public sealed class faultCodeTypeValidator { + + private faultCodeTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "ParsingError", + "NoTLSRootCertificatAvailable", + "UnknownError"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public enum responseCodeType { + + OK, + + OK_NewSessionEstablished, + + OK_OldSessionJoined, + + OK_CertificateExpiresSoon, + + FAILED, + + FAILED_SequenceError, + + FAILED_ServiceIDInvalid, + + FAILED_UnknownSession, + + FAILED_ServiceSelectionInvalid, + + FAILED_PaymentSelectionInvalid, + + FAILED_CertificateExpired, + + FAILED_SignatureError, + + FAILED_NoCertificateAvailable, + + FAILED_CertChainError, + + FAILED_ChallengeInvalid, + + FAILED_ContractCanceled, + + FAILED_WrongChargeParameter, + + FAILED_PowerDeliveryNotApplied, + + FAILED_TariffSelectionInvalid, + + FAILED_ChargingProfileInvalid, + + FAILED_EVSEPresentVoltageToLow, + + FAILED_MeteringSignatureNotValid, + + FAILED_WrongEnergyTransferType, + } + + public sealed class responseCodeTypeValidator { + + private responseCodeTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "OK", + "OK_NewSessionEstablished", + "OK_OldSessionJoined", + "OK_CertificateExpiresSoon", + "FAILED", + "FAILED_SequenceError", + "FAILED_ServiceIDInvalid", + "FAILED_UnknownSession", + "FAILED_ServiceSelectionInvalid", + "FAILED_PaymentSelectionInvalid", + "FAILED_CertificateExpired", + "FAILED_SignatureError", + "FAILED_NoCertificateAvailable", + "FAILED_CertChainError", + "FAILED_ChallengeInvalid", + "FAILED_ContractCanceled", + "FAILED_WrongChargeParameter", + "FAILED_PowerDeliveryNotApplied", + "FAILED_TariffSelectionInvalid", + "FAILED_ChargingProfileInvalid", + "FAILED_EVSEPresentVoltageToLow", + "FAILED_MeteringSignatureNotValid", + "FAILED_WrongEnergyTransferType"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public sealed class unitMultiplierType { + + private unitMultiplierType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Byte), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(320)), null, 0, 0, null, 3, 0, null, -3, 0, null, 0, XmlSchemaWhiteSpace.Collapse)); + } + + public enum unitSymbolType { + + h, + + m, + + s, + + A, + + Ah, + + V, + + VA, + + W, + + W_s, + + Wh, + } + + public sealed class unitSymbolTypeValidator { + + private unitSymbolTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "h", + "m", + "s", + "A", + "Ah", + "V", + "VA", + "W", + "W/s:W_s", + "Wh"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public enum DC_EVSEStatusCodeType { + + EVSE_NotReady, + + EVSE_Ready, + + EVSE_Shutdown, + + EVSE_UtilityInterruptEvent, + + EVSE_IsolationMonitoringActive, + + EVSE_EmergencyShutdown, + + EVSE_Malfunction, + + Reserved_8, + + Reserved_9, + + Reserved_A, + + Reserved_B, + + Reserved_C, + } + + public sealed class DC_EVSEStatusCodeTypeValidator { + + private DC_EVSEStatusCodeTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "EVSE_NotReady", + "EVSE_Ready", + "EVSE_Shutdown", + "EVSE_UtilityInterruptEvent", + "EVSE_IsolationMonitoringActive", + "EVSE_EmergencyShutdown", + "EVSE_Malfunction", + "Reserved_8", + "Reserved_9", + "Reserved_A", + "Reserved_B", + "Reserved_C"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public enum isolationLevelType { + + Invalid, + + Valid, + + Warning, + + Fault, + } + + public sealed class isolationLevelTypeValidator { + + private isolationLevelTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "Invalid", + "Valid", + "Warning", + "Fault"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public enum DC_EVErrorCodeType { + + NO_ERROR, + + FAILED_RESSTemperatureInhibit, + + FAILED_EVShiftPosition, + + FAILED_ChargerConnectorLockFault, + + FAILED_EVRESSMalfunction, + + FAILED_ChargingCurrentdifferential, + + FAILED_ChargingVoltageOutOfRange, + + Reserved_A, + + Reserved_B, + + Reserved_C, + + FAILED_ChargingSystemIncompatibility, + + NoData, + } + + public sealed class DC_EVErrorCodeTypeValidator { + + private DC_EVErrorCodeTypeValidator() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String), new global::Xml.Schema.Linq.RestrictionFacets(((global::Xml.Schema.Linq.RestrictionFlags)(16)), new object[] { + "NO_ERROR", + "FAILED_RESSTemperatureInhibit", + "FAILED_EVShiftPosition", + "FAILED_ChargerConnectorLockFault", + "FAILED_EVRESSMalfunction", + "FAILED_ChargingCurrentdifferential", + "FAILED_ChargingVoltageOutOfRange", + "Reserved_A", + "Reserved_B", + "Reserved_C", + "FAILED_ChargingSystemIncompatibility", + "NoData"}, 0, 0, null, null, 0, null, null, 0, null, 0, XmlSchemaWhiteSpace.Preserve)); + } + + public partial class ServiceCharge : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static ServiceCharge Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static ServiceCharge Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static ServiceCharge Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator ServiceCharge(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new ServiceCharge(((ServiceChargeType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private ServiceChargeType ContentField; + + public ServiceCharge() { + SetInnerType(new ServiceChargeType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual ServiceChargeType Content { + get { + return ContentField; + } + } + + private void SetInnerType(ServiceChargeType ContentField) { + this.ContentField = ((ServiceChargeType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public ServiceCharge(ServiceChargeType content) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ServiceTag, FreeService, EnergyTransferType) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSESupportedEnergyTransferType EnergyTransferType { + get { + return this.ContentField.EnergyTransferType; + } + set { + this.ContentField.EnergyTransferType = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ServiceTag, FreeService) + /// + /// + public virtual ServiceTagType ServiceTag { + get { + return this.ContentField.ServiceTag; + } + set { + this.ContentField.ServiceTag = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ServiceTag, FreeService) + /// + /// + public virtual bool FreeService { + get { + return this.ContentField.FreeService; + } + set { + this.ContentField.FreeService = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ServiceCharge", "urn:din:70121:2012:MsgDataTypes"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class SASchedules : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static SASchedules Load(string xmlFile) { + return ((SASchedules)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static SASchedules Load(System.IO.TextReader xmlFile) { + return ((SASchedules)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static SASchedules Parse(string xml) { + return ((SASchedules)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator SASchedules(XElement xe) { return (SASchedules)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new SASchedules(((SASchedulesType)(this.Content.Clone()))); + } + + protected SASchedules(bool setNull) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SASchedulesType ContentField; + + public SASchedules() { + throw new InvalidOperationException(); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public virtual SASchedulesType Content { + get { + return ContentField; + } + } + + private void SetInnerType(SASchedulesType ContentField) { + this.ContentField = ((SASchedulesType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + protected virtual void SetSubstitutionMember(SASchedulesType ContentField) { + this.ContentField = ContentField; + } + + public SASchedules(SASchedulesType content) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SASchedules", "urn:din:70121:2012:MsgDataTypes"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class SAScheduleList : global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SASchedules, IXMetaData { + + public new static SAScheduleList Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static SAScheduleList Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static SAScheduleList Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator SAScheduleList(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new SAScheduleList(((SAScheduleListType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SAScheduleListType ContentField; + + public SAScheduleList() : + base(true) { + SetInnerType(new SAScheduleListType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SAScheduleListType Content { + get { + return ContentField; + } + } + + private void SetInnerType(SAScheduleListType ContentField) { + this.ContentField = ((SAScheduleListType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public SAScheduleList(SAScheduleListType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (SAScheduleTuple+) + /// + /// + public virtual IList SAScheduleTuple { + get { + return this.ContentField.SAScheduleTuple; + } + set { + this.ContentField.SAScheduleTuple = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SAScheduleList", "urn:din:70121:2012:MsgDataTypes"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class Entry : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static Entry Load(string xmlFile) { + return ((Entry)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static Entry Load(System.IO.TextReader xmlFile) { + return ((Entry)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static Entry Parse(string xml) { + return ((Entry)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator Entry(XElement xe) { return (Entry)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new Entry(((EntryType)(this.Content.Clone()))); + } + + protected Entry(bool setNull) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private EntryType ContentField; + + public Entry() { + throw new InvalidOperationException(); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public virtual EntryType Content { + get { + return ContentField; + } + } + + private void SetInnerType(EntryType ContentField) { + this.ContentField = ((EntryType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + protected virtual void SetSubstitutionMember(EntryType ContentField) { + this.ContentField = ContentField; + } + + public Entry(EntryType content) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Substitution members: TimeInterval, RelativeTimeInterval + /// + /// + /// Regular expression: (TimeInterval) + /// + /// + public virtual TimeInterval TimeInterval { + get { + return this.ContentField.TimeInterval; + } + set { + this.ContentField.TimeInterval = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Entry", "urn:din:70121:2012:MsgDataTypes"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class SalesTariffEntry : global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.Entry, IXMetaData { + + public new static SalesTariffEntry Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static SalesTariffEntry Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static SalesTariffEntry Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator SalesTariffEntry(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new SalesTariffEntry(((SalesTariffEntryType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SalesTariffEntryType ContentField; + + public SalesTariffEntry() : + base(true) { + SetInnerType(new SalesTariffEntryType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SalesTariffEntryType Content { + get { + return ContentField; + } + } + + private void SetInnerType(SalesTariffEntryType ContentField) { + this.ContentField = ((SalesTariffEntryType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public SalesTariffEntry(SalesTariffEntryType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (TimeInterval, EPriceLevel, ConsumptionCost*) + /// + /// + public virtual byte EPriceLevel { + get { + return this.ContentField.EPriceLevel; + } + set { + this.ContentField.EPriceLevel = value; + } + } + + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (TimeInterval, EPriceLevel, ConsumptionCost*) + /// + /// + public virtual IList ConsumptionCost { + get { + return this.ContentField.ConsumptionCost; + } + set { + this.ContentField.ConsumptionCost = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Substitution members: TimeInterval, RelativeTimeInterval + /// + /// + /// Regular expression: (TimeInterval) + /// + /// + public virtual TimeInterval TimeInterval { + get { + return this.ContentField.TimeInterval; + } + set { + this.ContentField.TimeInterval = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SalesTariffEntry", "urn:din:70121:2012:MsgDataTypes"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class PMaxScheduleEntry : global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.Entry, IXMetaData { + + public new static PMaxScheduleEntry Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static PMaxScheduleEntry Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static PMaxScheduleEntry Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator PMaxScheduleEntry(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new PMaxScheduleEntry(((PMaxScheduleEntryType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private PMaxScheduleEntryType ContentField; + + public PMaxScheduleEntry() : + base(true) { + SetInnerType(new PMaxScheduleEntryType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual PMaxScheduleEntryType Content { + get { + return ContentField; + } + } + + private void SetInnerType(PMaxScheduleEntryType ContentField) { + this.ContentField = ((PMaxScheduleEntryType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public PMaxScheduleEntry(PMaxScheduleEntryType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (TimeInterval, PMax) + /// + /// + public virtual short PMax { + get { + return this.ContentField.PMax; + } + set { + this.ContentField.PMax = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Substitution members: TimeInterval, RelativeTimeInterval + /// + /// + /// Regular expression: (TimeInterval) + /// + /// + public virtual TimeInterval TimeInterval { + get { + return this.ContentField.TimeInterval; + } + set { + this.ContentField.TimeInterval = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("PMaxScheduleEntry", "urn:din:70121:2012:MsgDataTypes"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class TimeInterval : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static TimeInterval Load(string xmlFile) { + return ((TimeInterval)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static TimeInterval Load(System.IO.TextReader xmlFile) { + return ((TimeInterval)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static TimeInterval Parse(string xml) { + return ((TimeInterval)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator TimeInterval(XElement xe) { return (TimeInterval)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new TimeInterval(((IntervalType)(this.Content.Clone()))); + } + + protected TimeInterval(bool setNull) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private IntervalType ContentField; + + public TimeInterval() { + throw new InvalidOperationException(); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public virtual IntervalType Content { + get { + return ContentField; + } + } + + private void SetInnerType(IntervalType ContentField) { + this.ContentField = ((IntervalType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + protected virtual void SetSubstitutionMember(IntervalType ContentField) { + this.ContentField = ContentField; + } + + public TimeInterval(IntervalType content) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("TimeInterval", "urn:din:70121:2012:MsgDataTypes"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class RelativeTimeInterval : global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.TimeInterval, IXMetaData { + + public new static RelativeTimeInterval Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static RelativeTimeInterval Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static RelativeTimeInterval Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator RelativeTimeInterval(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new RelativeTimeInterval(((RelativeTimeIntervalType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private RelativeTimeIntervalType ContentField; + + public RelativeTimeInterval() : + base(true) { + SetInnerType(new RelativeTimeIntervalType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual RelativeTimeIntervalType Content { + get { + return ContentField; + } + } + + private void SetInnerType(RelativeTimeIntervalType ContentField) { + this.ContentField = ((RelativeTimeIntervalType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public RelativeTimeInterval(RelativeTimeIntervalType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (start, duration?) + /// + /// + public virtual uint start { + get { + return this.ContentField.start; + } + set { + this.ContentField.start = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (start, duration?) + /// + /// + public virtual System.UInt32? duration { + get { + return this.ContentField.duration; + } + set { + this.ContentField.duration = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("RelativeTimeInterval", "urn:din:70121:2012:MsgDataTypes"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class EVSEStatus : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static EVSEStatus Load(string xmlFile) { + return ((EVSEStatus)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static EVSEStatus Load(System.IO.TextReader xmlFile) { + return ((EVSEStatus)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static EVSEStatus Parse(string xml) { + return ((EVSEStatus)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator EVSEStatus(XElement xe) { return (EVSEStatus)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new EVSEStatus(((EVSEStatusType)(this.Content.Clone()))); + } + + protected EVSEStatus(bool setNull) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private EVSEStatusType ContentField; + + public EVSEStatus() { + throw new InvalidOperationException(); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public virtual EVSEStatusType Content { + get { + return ContentField; + } + } + + private void SetInnerType(EVSEStatusType ContentField) { + this.ContentField = ((EVSEStatusType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + protected virtual void SetSubstitutionMember(EVSEStatusType ContentField) { + this.ContentField = ContentField; + } + + public EVSEStatus(EVSEStatusType content) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("EVSEStatus", "urn:din:70121:2012:MsgDataTypes"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class AC_EVSEStatus : global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEStatus, IXMetaData { + + public new static AC_EVSEStatus Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static AC_EVSEStatus Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static AC_EVSEStatus Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator AC_EVSEStatus(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new AC_EVSEStatus(((AC_EVSEStatusType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private AC_EVSEStatusType ContentField; + + public AC_EVSEStatus() : + base(true) { + SetInnerType(new AC_EVSEStatusType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual AC_EVSEStatusType Content { + get { + return ContentField; + } + } + + private void SetInnerType(AC_EVSEStatusType ContentField) { + this.ContentField = ((AC_EVSEStatusType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public AC_EVSEStatus(AC_EVSEStatusType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (PowerSwitchClosed, RCD, NotificationMaxDelay, EVSENotification) + /// + /// + public virtual bool PowerSwitchClosed { + get { + return this.ContentField.PowerSwitchClosed; + } + set { + this.ContentField.PowerSwitchClosed = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (PowerSwitchClosed, RCD, NotificationMaxDelay, EVSENotification) + /// + /// + public virtual bool RCD { + get { + return this.ContentField.RCD; + } + set { + this.ContentField.RCD = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (PowerSwitchClosed, RCD, NotificationMaxDelay, EVSENotification) + /// + /// + public virtual uint NotificationMaxDelay { + get { + return this.ContentField.NotificationMaxDelay; + } + set { + this.ContentField.NotificationMaxDelay = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (PowerSwitchClosed, RCD, NotificationMaxDelay, EVSENotification) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSENotificationType EVSENotification { + get { + return this.ContentField.EVSENotification; + } + set { + this.ContentField.EVSENotification = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("AC_EVSEStatus", "urn:din:70121:2012:MsgDataTypes"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class EVStatus : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static EVStatus Load(string xmlFile) { + return ((EVStatus)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static EVStatus Load(System.IO.TextReader xmlFile) { + return ((EVStatus)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static EVStatus Parse(string xml) { + return ((EVStatus)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator EVStatus(XElement xe) { return (EVStatus)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new EVStatus(((EVStatusType)(this.Content.Clone()))); + } + + protected EVStatus(bool setNull) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private EVStatusType ContentField; + + public EVStatus() { + throw new InvalidOperationException(); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public virtual EVStatusType Content { + get { + return ContentField; + } + } + + private void SetInnerType(EVStatusType ContentField) { + this.ContentField = ((EVStatusType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + protected virtual void SetSubstitutionMember(EVStatusType ContentField) { + this.ContentField = ContentField; + } + + public EVStatus(EVStatusType content) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("EVStatus", "urn:din:70121:2012:MsgDataTypes"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class DC_EVSEStatus : global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEStatus, IXMetaData { + + public new static DC_EVSEStatus Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static DC_EVSEStatus Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static DC_EVSEStatus Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator DC_EVSEStatus(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new DC_EVSEStatus(((DC_EVSEStatusType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private DC_EVSEStatusType ContentField; + + public DC_EVSEStatus() : + base(true) { + SetInnerType(new DC_EVSEStatusType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual DC_EVSEStatusType Content { + get { + return ContentField; + } + } + + private void SetInnerType(DC_EVSEStatusType ContentField) { + this.ContentField = ((DC_EVSEStatusType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public DC_EVSEStatus(DC_EVSEStatusType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (EVSEIsolationStatus?, EVSEStatusCode, NotificationMaxDelay, EVSENotification) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.isolationLevelType? EVSEIsolationStatus { + get { + return this.ContentField.EVSEIsolationStatus; + } + set { + this.ContentField.EVSEIsolationStatus = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (EVSEIsolationStatus?, EVSEStatusCode, NotificationMaxDelay, EVSENotification) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatusCodeType EVSEStatusCode { + get { + return this.ContentField.EVSEStatusCode; + } + set { + this.ContentField.EVSEStatusCode = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (EVSEIsolationStatus?, EVSEStatusCode, NotificationMaxDelay, EVSENotification) + /// + /// + public virtual uint NotificationMaxDelay { + get { + return this.ContentField.NotificationMaxDelay; + } + set { + this.ContentField.NotificationMaxDelay = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (EVSEIsolationStatus?, EVSEStatusCode, NotificationMaxDelay, EVSENotification) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSENotificationType EVSENotification { + get { + return this.ContentField.EVSENotification; + } + set { + this.ContentField.EVSENotification = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("DC_EVSEStatus", "urn:din:70121:2012:MsgDataTypes"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class DC_EVStatus : global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVStatus, IXMetaData { + + public new static DC_EVStatus Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static DC_EVStatus Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static DC_EVStatus Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator DC_EVStatus(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new DC_EVStatus(((DC_EVStatusType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private DC_EVStatusType ContentField; + + public DC_EVStatus() : + base(true) { + SetInnerType(new DC_EVStatusType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual DC_EVStatusType Content { + get { + return ContentField; + } + } + + private void SetInnerType(DC_EVStatusType ContentField) { + this.ContentField = ((DC_EVStatusType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public DC_EVStatus(DC_EVStatusType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (EVReady, EVCabinConditioning?, EVRESSConditioning?, EVErrorCode, EVRESSSOC) + /// + /// + public virtual bool EVReady { + get { + return this.ContentField.EVReady; + } + set { + this.ContentField.EVReady = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (EVReady, EVCabinConditioning?, EVRESSConditioning?, EVErrorCode, EVRESSSOC) + /// + /// + public virtual System.Boolean? EVCabinConditioning { + get { + return this.ContentField.EVCabinConditioning; + } + set { + this.ContentField.EVCabinConditioning = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (EVReady, EVCabinConditioning?, EVRESSConditioning?, EVErrorCode, EVRESSSOC) + /// + /// + public virtual System.Boolean? EVRESSConditioning { + get { + return this.ContentField.EVRESSConditioning; + } + set { + this.ContentField.EVRESSConditioning = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (EVReady, EVCabinConditioning?, EVRESSConditioning?, EVErrorCode, EVRESSSOC) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVErrorCodeType EVErrorCode { + get { + return this.ContentField.EVErrorCode; + } + set { + this.ContentField.EVErrorCode = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (EVReady, EVCabinConditioning?, EVRESSConditioning?, EVErrorCode, EVRESSSOC) + /// + /// + public virtual sbyte EVRESSSOC { + get { + return this.ContentField.EVRESSSOC; + } + set { + this.ContentField.EVRESSSOC = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("DC_EVStatus", "urn:din:70121:2012:MsgDataTypes"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class EVChargeParameter : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static EVChargeParameter Load(string xmlFile) { + return ((EVChargeParameter)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static EVChargeParameter Load(System.IO.TextReader xmlFile) { + return ((EVChargeParameter)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static EVChargeParameter Parse(string xml) { + return ((EVChargeParameter)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator EVChargeParameter(XElement xe) { return (EVChargeParameter)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new EVChargeParameter(((EVChargeParameterType)(this.Content.Clone()))); + } + + protected EVChargeParameter(bool setNull) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private EVChargeParameterType ContentField; + + public EVChargeParameter() { + throw new InvalidOperationException(); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public virtual EVChargeParameterType Content { + get { + return ContentField; + } + } + + private void SetInnerType(EVChargeParameterType ContentField) { + this.ContentField = ((EVChargeParameterType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + protected virtual void SetSubstitutionMember(EVChargeParameterType ContentField) { + this.ContentField = ContentField; + } + + public EVChargeParameter(EVChargeParameterType content) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("EVChargeParameter", "urn:din:70121:2012:MsgDataTypes"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class AC_EVChargeParameter : global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVChargeParameter, IXMetaData { + + public new static AC_EVChargeParameter Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static AC_EVChargeParameter Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static AC_EVChargeParameter Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator AC_EVChargeParameter(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new AC_EVChargeParameter(((AC_EVChargeParameterType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private AC_EVChargeParameterType ContentField; + + public AC_EVChargeParameter() : + base(true) { + SetInnerType(new AC_EVChargeParameterType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual AC_EVChargeParameterType Content { + get { + return ContentField; + } + } + + private void SetInnerType(AC_EVChargeParameterType ContentField) { + this.ContentField = ((AC_EVChargeParameterType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public AC_EVChargeParameter(AC_EVChargeParameterType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DepartureTime, EAmount, EVMaxVoltage, EVMaxCurrent, EVMinCurrent) + /// + /// + public virtual uint DepartureTime { + get { + return this.ContentField.DepartureTime; + } + set { + this.ContentField.DepartureTime = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DepartureTime, EAmount, EVMaxVoltage, EVMaxCurrent, EVMinCurrent) + /// + /// + public virtual PhysicalValueType EAmount { + get { + return this.ContentField.EAmount; + } + set { + this.ContentField.EAmount = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DepartureTime, EAmount, EVMaxVoltage, EVMaxCurrent, EVMinCurrent) + /// + /// + public virtual PhysicalValueType EVMaxVoltage { + get { + return this.ContentField.EVMaxVoltage; + } + set { + this.ContentField.EVMaxVoltage = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DepartureTime, EAmount, EVMaxVoltage, EVMaxCurrent, EVMinCurrent) + /// + /// + public virtual PhysicalValueType EVMaxCurrent { + get { + return this.ContentField.EVMaxCurrent; + } + set { + this.ContentField.EVMaxCurrent = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DepartureTime, EAmount, EVMaxVoltage, EVMaxCurrent, EVMinCurrent) + /// + /// + public virtual PhysicalValueType EVMinCurrent { + get { + return this.ContentField.EVMinCurrent; + } + set { + this.ContentField.EVMinCurrent = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("AC_EVChargeParameter", "urn:din:70121:2012:MsgDataTypes"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class DC_EVChargeParameter : global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVChargeParameter, IXMetaData { + + public new static DC_EVChargeParameter Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static DC_EVChargeParameter Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static DC_EVChargeParameter Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator DC_EVChargeParameter(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new DC_EVChargeParameter(((DC_EVChargeParameterType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private DC_EVChargeParameterType ContentField; + + public DC_EVChargeParameter() : + base(true) { + SetInnerType(new DC_EVChargeParameterType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual DC_EVChargeParameterType Content { + get { + return ContentField; + } + } + + private void SetInnerType(DC_EVChargeParameterType ContentField) { + this.ContentField = ((DC_EVChargeParameterType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public DC_EVChargeParameter(DC_EVChargeParameterType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus, EVMaximumCurrentLimit, EVMaximumPowerLimit?, EVMaximumVoltageLimit, EVEnergyCapacity?, EVEnergyRequest?, FullSOC?, BulkSOC?) + /// + /// + public virtual DC_EVStatusType DC_EVStatus { + get { + return this.ContentField.DC_EVStatus; + } + set { + this.ContentField.DC_EVStatus = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus, EVMaximumCurrentLimit, EVMaximumPowerLimit?, EVMaximumVoltageLimit, EVEnergyCapacity?, EVEnergyRequest?, FullSOC?, BulkSOC?) + /// + /// + public virtual PhysicalValueType EVMaximumCurrentLimit { + get { + return this.ContentField.EVMaximumCurrentLimit; + } + set { + this.ContentField.EVMaximumCurrentLimit = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVStatus, EVMaximumCurrentLimit, EVMaximumPowerLimit?, EVMaximumVoltageLimit, EVEnergyCapacity?, EVEnergyRequest?, FullSOC?, BulkSOC?) + /// + /// + public virtual PhysicalValueType EVMaximumPowerLimit { + get { + return this.ContentField.EVMaximumPowerLimit; + } + set { + this.ContentField.EVMaximumPowerLimit = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus, EVMaximumCurrentLimit, EVMaximumPowerLimit?, EVMaximumVoltageLimit, EVEnergyCapacity?, EVEnergyRequest?, FullSOC?, BulkSOC?) + /// + /// + public virtual PhysicalValueType EVMaximumVoltageLimit { + get { + return this.ContentField.EVMaximumVoltageLimit; + } + set { + this.ContentField.EVMaximumVoltageLimit = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVStatus, EVMaximumCurrentLimit, EVMaximumPowerLimit?, EVMaximumVoltageLimit, EVEnergyCapacity?, EVEnergyRequest?, FullSOC?, BulkSOC?) + /// + /// + public virtual PhysicalValueType EVEnergyCapacity { + get { + return this.ContentField.EVEnergyCapacity; + } + set { + this.ContentField.EVEnergyCapacity = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVStatus, EVMaximumCurrentLimit, EVMaximumPowerLimit?, EVMaximumVoltageLimit, EVEnergyCapacity?, EVEnergyRequest?, FullSOC?, BulkSOC?) + /// + /// + public virtual PhysicalValueType EVEnergyRequest { + get { + return this.ContentField.EVEnergyRequest; + } + set { + this.ContentField.EVEnergyRequest = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVStatus, EVMaximumCurrentLimit, EVMaximumPowerLimit?, EVMaximumVoltageLimit, EVEnergyCapacity?, EVEnergyRequest?, FullSOC?, BulkSOC?) + /// + /// + public virtual System.SByte? FullSOC { + get { + return this.ContentField.FullSOC; + } + set { + this.ContentField.FullSOC = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVStatus, EVMaximumCurrentLimit, EVMaximumPowerLimit?, EVMaximumVoltageLimit, EVEnergyCapacity?, EVEnergyRequest?, FullSOC?, BulkSOC?) + /// + /// + public virtual System.SByte? BulkSOC { + get { + return this.ContentField.BulkSOC; + } + set { + this.ContentField.BulkSOC = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("DC_EVChargeParameter", "urn:din:70121:2012:MsgDataTypes"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class EVSEChargeParameter : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static EVSEChargeParameter Load(string xmlFile) { + return ((EVSEChargeParameter)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static EVSEChargeParameter Load(System.IO.TextReader xmlFile) { + return ((EVSEChargeParameter)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static EVSEChargeParameter Parse(string xml) { + return ((EVSEChargeParameter)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator EVSEChargeParameter(XElement xe) { return (EVSEChargeParameter)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new EVSEChargeParameter(((EVSEChargeParameterType)(this.Content.Clone()))); + } + + protected EVSEChargeParameter(bool setNull) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private EVSEChargeParameterType ContentField; + + public EVSEChargeParameter() { + throw new InvalidOperationException(); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public virtual EVSEChargeParameterType Content { + get { + return ContentField; + } + } + + private void SetInnerType(EVSEChargeParameterType ContentField) { + this.ContentField = ((EVSEChargeParameterType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + protected virtual void SetSubstitutionMember(EVSEChargeParameterType ContentField) { + this.ContentField = ContentField; + } + + public EVSEChargeParameter(EVSEChargeParameterType content) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("EVSEChargeParameter", "urn:din:70121:2012:MsgDataTypes"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class AC_EVSEChargeParameter : global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEChargeParameter, IXMetaData { + + public new static AC_EVSEChargeParameter Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static AC_EVSEChargeParameter Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static AC_EVSEChargeParameter Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator AC_EVSEChargeParameter(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new AC_EVSEChargeParameter(((AC_EVSEChargeParameterType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private AC_EVSEChargeParameterType ContentField; + + public AC_EVSEChargeParameter() : + base(true) { + SetInnerType(new AC_EVSEChargeParameterType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual AC_EVSEChargeParameterType Content { + get { + return ContentField; + } + } + + private void SetInnerType(AC_EVSEChargeParameterType ContentField) { + this.ContentField = ((AC_EVSEChargeParameterType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public AC_EVSEChargeParameter(AC_EVSEChargeParameterType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (AC_EVSEStatus, EVSEMaxVoltage, EVSEMaxCurrent, EVSEMinCurrent) + /// + /// + public virtual AC_EVSEStatusType AC_EVSEStatus { + get { + return this.ContentField.AC_EVSEStatus; + } + set { + this.ContentField.AC_EVSEStatus = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (AC_EVSEStatus, EVSEMaxVoltage, EVSEMaxCurrent, EVSEMinCurrent) + /// + /// + public virtual PhysicalValueType EVSEMaxVoltage { + get { + return this.ContentField.EVSEMaxVoltage; + } + set { + this.ContentField.EVSEMaxVoltage = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (AC_EVSEStatus, EVSEMaxVoltage, EVSEMaxCurrent, EVSEMinCurrent) + /// + /// + public virtual PhysicalValueType EVSEMaxCurrent { + get { + return this.ContentField.EVSEMaxCurrent; + } + set { + this.ContentField.EVSEMaxCurrent = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (AC_EVSEStatus, EVSEMaxVoltage, EVSEMaxCurrent, EVSEMinCurrent) + /// + /// + public virtual PhysicalValueType EVSEMinCurrent { + get { + return this.ContentField.EVSEMinCurrent; + } + set { + this.ContentField.EVSEMinCurrent = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("AC_EVSEChargeParameter", "urn:din:70121:2012:MsgDataTypes"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class DC_EVSEChargeParameter : global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEChargeParameter, IXMetaData { + + public new static DC_EVSEChargeParameter Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static DC_EVSEChargeParameter Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static DC_EVSEChargeParameter Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator DC_EVSEChargeParameter(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new DC_EVSEChargeParameter(((DC_EVSEChargeParameterType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private DC_EVSEChargeParameterType ContentField; + + public DC_EVSEChargeParameter() : + base(true) { + SetInnerType(new DC_EVSEChargeParameterType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual DC_EVSEChargeParameterType Content { + get { + return ContentField; + } + } + + private void SetInnerType(DC_EVSEChargeParameterType ContentField) { + this.ContentField = ((DC_EVSEChargeParameterType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public DC_EVSEChargeParameter(DC_EVSEChargeParameterType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVSEStatus, EVSEMaximumCurrentLimit, EVSEMaximumPowerLimit?, EVSEMaximumVoltageLimit, EVSEMinimumCurrentLimit, EVSEMinimumVoltageLimit, EVSECurrentRegulationTolerance?, EVSEPeakCurrentRipple, EVSEEnergyToBeDelivered?) + /// + /// + public virtual DC_EVSEStatusType DC_EVSEStatus { + get { + return this.ContentField.DC_EVSEStatus; + } + set { + this.ContentField.DC_EVSEStatus = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVSEStatus, EVSEMaximumCurrentLimit, EVSEMaximumPowerLimit?, EVSEMaximumVoltageLimit, EVSEMinimumCurrentLimit, EVSEMinimumVoltageLimit, EVSECurrentRegulationTolerance?, EVSEPeakCurrentRipple, EVSEEnergyToBeDelivered?) + /// + /// + public virtual PhysicalValueType EVSEMaximumCurrentLimit { + get { + return this.ContentField.EVSEMaximumCurrentLimit; + } + set { + this.ContentField.EVSEMaximumCurrentLimit = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVSEStatus, EVSEMaximumCurrentLimit, EVSEMaximumPowerLimit?, EVSEMaximumVoltageLimit, EVSEMinimumCurrentLimit, EVSEMinimumVoltageLimit, EVSECurrentRegulationTolerance?, EVSEPeakCurrentRipple, EVSEEnergyToBeDelivered?) + /// + /// + public virtual PhysicalValueType EVSEMaximumPowerLimit { + get { + return this.ContentField.EVSEMaximumPowerLimit; + } + set { + this.ContentField.EVSEMaximumPowerLimit = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVSEStatus, EVSEMaximumCurrentLimit, EVSEMaximumPowerLimit?, EVSEMaximumVoltageLimit, EVSEMinimumCurrentLimit, EVSEMinimumVoltageLimit, EVSECurrentRegulationTolerance?, EVSEPeakCurrentRipple, EVSEEnergyToBeDelivered?) + /// + /// + public virtual PhysicalValueType EVSEMaximumVoltageLimit { + get { + return this.ContentField.EVSEMaximumVoltageLimit; + } + set { + this.ContentField.EVSEMaximumVoltageLimit = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVSEStatus, EVSEMaximumCurrentLimit, EVSEMaximumPowerLimit?, EVSEMaximumVoltageLimit, EVSEMinimumCurrentLimit, EVSEMinimumVoltageLimit, EVSECurrentRegulationTolerance?, EVSEPeakCurrentRipple, EVSEEnergyToBeDelivered?) + /// + /// + public virtual PhysicalValueType EVSEMinimumCurrentLimit { + get { + return this.ContentField.EVSEMinimumCurrentLimit; + } + set { + this.ContentField.EVSEMinimumCurrentLimit = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVSEStatus, EVSEMaximumCurrentLimit, EVSEMaximumPowerLimit?, EVSEMaximumVoltageLimit, EVSEMinimumCurrentLimit, EVSEMinimumVoltageLimit, EVSECurrentRegulationTolerance?, EVSEPeakCurrentRipple, EVSEEnergyToBeDelivered?) + /// + /// + public virtual PhysicalValueType EVSEMinimumVoltageLimit { + get { + return this.ContentField.EVSEMinimumVoltageLimit; + } + set { + this.ContentField.EVSEMinimumVoltageLimit = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVSEStatus, EVSEMaximumCurrentLimit, EVSEMaximumPowerLimit?, EVSEMaximumVoltageLimit, EVSEMinimumCurrentLimit, EVSEMinimumVoltageLimit, EVSECurrentRegulationTolerance?, EVSEPeakCurrentRipple, EVSEEnergyToBeDelivered?) + /// + /// + public virtual PhysicalValueType EVSECurrentRegulationTolerance { + get { + return this.ContentField.EVSECurrentRegulationTolerance; + } + set { + this.ContentField.EVSECurrentRegulationTolerance = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVSEStatus, EVSEMaximumCurrentLimit, EVSEMaximumPowerLimit?, EVSEMaximumVoltageLimit, EVSEMinimumCurrentLimit, EVSEMinimumVoltageLimit, EVSECurrentRegulationTolerance?, EVSEPeakCurrentRipple, EVSEEnergyToBeDelivered?) + /// + /// + public virtual PhysicalValueType EVSEPeakCurrentRipple { + get { + return this.ContentField.EVSEPeakCurrentRipple; + } + set { + this.ContentField.EVSEPeakCurrentRipple = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVSEStatus, EVSEMaximumCurrentLimit, EVSEMaximumPowerLimit?, EVSEMaximumVoltageLimit, EVSEMinimumCurrentLimit, EVSEMinimumVoltageLimit, EVSECurrentRegulationTolerance?, EVSEPeakCurrentRipple, EVSEEnergyToBeDelivered?) + /// + /// + public virtual PhysicalValueType EVSEEnergyToBeDelivered { + get { + return this.ContentField.EVSEEnergyToBeDelivered; + } + set { + this.ContentField.EVSEEnergyToBeDelivered = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("DC_EVSEChargeParameter", "urn:din:70121:2012:MsgDataTypes"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class EVPowerDeliveryParameter : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static EVPowerDeliveryParameter Load(string xmlFile) { + return ((EVPowerDeliveryParameter)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static EVPowerDeliveryParameter Load(System.IO.TextReader xmlFile) { + return ((EVPowerDeliveryParameter)(XTypedServices.ToXTypedElement(XElement.Load(xmlFile), LinqToXsdTypeManager.Instance))); + } + + public static EVPowerDeliveryParameter Parse(string xml) { + return ((EVPowerDeliveryParameter)(XTypedServices.ToXTypedElement(XElement.Parse(xml), LinqToXsdTypeManager.Instance))); + } + + public static explicit operator EVPowerDeliveryParameter(XElement xe) { return (EVPowerDeliveryParameter)XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new EVPowerDeliveryParameter(((EVPowerDeliveryParameterType)(this.Content.Clone()))); + } + + protected EVPowerDeliveryParameter(bool setNull) { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private EVPowerDeliveryParameterType ContentField; + + public EVPowerDeliveryParameter() { + throw new InvalidOperationException(); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + if ((this.ContentField != null)) { + this.ContentField.Untyped = value; + } + } + } + + public virtual EVPowerDeliveryParameterType Content { + get { + return ContentField; + } + } + + private void SetInnerType(EVPowerDeliveryParameterType ContentField) { + this.ContentField = ((EVPowerDeliveryParameterType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + protected virtual void SetSubstitutionMember(EVPowerDeliveryParameterType ContentField) { + this.ContentField = ContentField; + } + + public EVPowerDeliveryParameter(EVPowerDeliveryParameterType content) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("EVPowerDeliveryParameter", "urn:din:70121:2012:MsgDataTypes"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class DC_EVPowerDeliveryParameter : global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVPowerDeliveryParameter, IXMetaData { + + public new static DC_EVPowerDeliveryParameter Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static DC_EVPowerDeliveryParameter Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static DC_EVPowerDeliveryParameter Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator DC_EVPowerDeliveryParameter(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new DC_EVPowerDeliveryParameter(((DC_EVPowerDeliveryParameterType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private DC_EVPowerDeliveryParameterType ContentField; + + public DC_EVPowerDeliveryParameter() : + base(true) { + SetInnerType(new DC_EVPowerDeliveryParameterType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual DC_EVPowerDeliveryParameterType Content { + get { + return ContentField; + } + } + + private void SetInnerType(DC_EVPowerDeliveryParameterType ContentField) { + this.ContentField = ((DC_EVPowerDeliveryParameterType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public DC_EVPowerDeliveryParameter(DC_EVPowerDeliveryParameterType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus, BulkChargingComplete?, ChargingComplete) + /// + /// + public virtual DC_EVStatusType DC_EVStatus { + get { + return this.ContentField.DC_EVStatus; + } + set { + this.ContentField.DC_EVStatus = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVStatus, BulkChargingComplete?, ChargingComplete) + /// + /// + public virtual System.Boolean? BulkChargingComplete { + get { + return this.ContentField.BulkChargingComplete; + } + set { + this.ContentField.BulkChargingComplete = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus, BulkChargingComplete?, ChargingComplete) + /// + /// + public virtual bool ChargingComplete { + get { + return this.ContentField.ChargingComplete; + } + set { + this.ContentField.ChargingComplete = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("DC_EVPowerDeliveryParameter", "urn:din:70121:2012:MsgDataTypes"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class XRootNamespace { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRootNamespace() { + } + + public static XRootNamespace Load(string xmlFile) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(string xmlFile, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(XmlReader xmlReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRootNamespace(ServiceCharge root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public ServiceCharge ServiceCharge { get {return rootObject as ServiceCharge; } } + + public XRootNamespace(SASchedules root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public SASchedules SASchedules { get {return rootObject as SASchedules; } } + + public XRootNamespace(SAScheduleList root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public SAScheduleList SAScheduleList { get {return rootObject as SAScheduleList; } } + + public XRootNamespace(Entry root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public Entry Entry { get {return rootObject as Entry; } } + + public XRootNamespace(SalesTariffEntry root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public SalesTariffEntry SalesTariffEntry { get {return rootObject as SalesTariffEntry; } } + + public XRootNamespace(PMaxScheduleEntry root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public PMaxScheduleEntry PMaxScheduleEntry { get {return rootObject as PMaxScheduleEntry; } } + + public XRootNamespace(TimeInterval root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public TimeInterval TimeInterval { get {return rootObject as TimeInterval; } } + + public XRootNamespace(RelativeTimeInterval root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public RelativeTimeInterval RelativeTimeInterval { get {return rootObject as RelativeTimeInterval; } } + + public XRootNamespace(EVSEStatus root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public EVSEStatus EVSEStatus { get {return rootObject as EVSEStatus; } } + + public XRootNamespace(AC_EVSEStatus root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public AC_EVSEStatus AC_EVSEStatus { get {return rootObject as AC_EVSEStatus; } } + + public XRootNamespace(EVStatus root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public EVStatus EVStatus { get {return rootObject as EVStatus; } } + + public XRootNamespace(DC_EVSEStatus root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public DC_EVSEStatus DC_EVSEStatus { get {return rootObject as DC_EVSEStatus; } } + + public XRootNamespace(DC_EVStatus root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public DC_EVStatus DC_EVStatus { get {return rootObject as DC_EVStatus; } } + + public XRootNamespace(EVChargeParameter root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public EVChargeParameter EVChargeParameter { get {return rootObject as EVChargeParameter; } } + + public XRootNamespace(AC_EVChargeParameter root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public AC_EVChargeParameter AC_EVChargeParameter { get {return rootObject as AC_EVChargeParameter; } } + + public XRootNamespace(DC_EVChargeParameter root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public DC_EVChargeParameter DC_EVChargeParameter { get {return rootObject as DC_EVChargeParameter; } } + + public XRootNamespace(EVSEChargeParameter root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public EVSEChargeParameter EVSEChargeParameter { get {return rootObject as EVSEChargeParameter; } } + + public XRootNamespace(AC_EVSEChargeParameter root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public AC_EVSEChargeParameter AC_EVSEChargeParameter { get {return rootObject as AC_EVSEChargeParameter; } } + + public XRootNamespace(DC_EVSEChargeParameter root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public DC_EVSEChargeParameter DC_EVSEChargeParameter { get {return rootObject as DC_EVSEChargeParameter; } } + + public XRootNamespace(EVPowerDeliveryParameter root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public EVPowerDeliveryParameter EVPowerDeliveryParameter { get {return rootObject as EVPowerDeliveryParameter; } } + + public XRootNamespace(DC_EVPowerDeliveryParameter root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public DC_EVPowerDeliveryParameter DC_EVPowerDeliveryParameter { get {return rootObject as DC_EVPowerDeliveryParameter; } } + } +} +namespace LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgBody { + using global::System; + using global::System.Collections; + using global::System.Collections.Generic; + using global::System.ComponentModel; + using global::System.IO; + using global::System.Linq; + using global::System.Diagnostics; + using global::System.Xml; + using global::System.Xml.Schema; + using global::System.Xml.Linq; + using global::Xml.Schema.Linq; + using global::urn.din.Item70121.Item2012.MsgDef; + + + /// + /// + /// Regular expression: (EVCCID) + /// + /// + public partial class SessionSetupReqType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator SessionSetupReqType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (EVCCID) + /// + /// + public SessionSetupReqType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVCCIDXName = System.Xml.Linq.XName.Get("EVCCID", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (EVCCID) + /// + /// + public virtual byte[] EVCCID { + get { + XElement x = this.GetElement(EVCCIDXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary).Datatype); + } + set { + this.SetElementWithValidation(EVCCIDXName, value, "EVCCID", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.evccIDType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SessionSetupReqType", "urn:din:70121:2012:MsgBody"); + + static SessionSetupReqType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(EVCCIDXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(EVCCIDXName, typeof(byte[])); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ResponseCode, EVSEID, DateTimeNow?) + /// + /// + public partial class SessionSetupResType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator SessionSetupResType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ResponseCode, EVSEID, DateTimeNow?) + /// + /// + public SessionSetupResType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ResponseCodeXName = System.Xml.Linq.XName.Get("ResponseCode", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, EVSEID, DateTimeNow?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + XElement x = this.GetElement(ResponseCodeXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(ResponseCodeXName, value.ToString(), "ResponseCode", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEIDXName = System.Xml.Linq.XName.Get("EVSEID", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, EVSEID, DateTimeNow?) + /// + /// + public virtual byte[] EVSEID { + get { + XElement x = this.GetElement(EVSEIDXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary).Datatype); + } + set { + this.SetElementWithValidation(EVSEIDXName, value, "EVSEID", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.evseIDType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DateTimeNowXName = System.Xml.Linq.XName.Get("DateTimeNow", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ResponseCode, EVSEID, DateTimeNow?) + /// + /// + public virtual System.Int64? DateTimeNow { + get { + XElement x = this.GetElement(DateTimeNowXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetElement(DateTimeNowXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SessionSetupResType", "urn:din:70121:2012:MsgBody"); + + static SessionSetupResType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ResponseCodeXName), new NamedContentModelEntity(EVSEIDXName), new NamedContentModelEntity(DateTimeNowXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ResponseCodeXName, typeof(string)); + localElementDictionary.Add(EVSEIDXName, typeof(byte[])); + localElementDictionary.Add(DateTimeNowXName, typeof(long)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ServiceScope?, ServiceCategory?) + /// + /// + public partial class ServiceDiscoveryReqType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator ServiceDiscoveryReqType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ServiceScope?, ServiceCategory?) + /// + /// + public ServiceDiscoveryReqType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ServiceScopeXName = System.Xml.Linq.XName.Get("ServiceScope", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ServiceScope?, ServiceCategory?) + /// + /// + public virtual string ServiceScope { + get { + XElement x = this.GetElement(ServiceScopeXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + if (value == null) { + this.SetElement(ServiceScopeXName, null, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + else { + this.SetElementWithValidation(ServiceScopeXName, value, "ServiceScope", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.serviceScopeType.TypeDefinition); + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ServiceCategoryXName = System.Xml.Linq.XName.Get("ServiceCategory", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ServiceScope?, ServiceCategory?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.serviceCategoryType? ServiceCategory { + get { + XElement x = this.GetElement(ServiceCategoryXName); + if ((x == null)) { + return null; + } + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.serviceCategoryType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.serviceCategoryType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.serviceCategoryTypeValidator.TypeDefinition)))); + } + set { + if (value == null) { + this.SetElement(ServiceCategoryXName, null, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + else { + this.SetElementWithValidation(ServiceCategoryXName, value.ToString(), "ServiceCategory", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.serviceCategoryTypeValidator.TypeDefinition); + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ServiceDiscoveryReqType", "urn:din:70121:2012:MsgBody"); + + static ServiceDiscoveryReqType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ServiceScopeXName), new NamedContentModelEntity(ServiceCategoryXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ServiceScopeXName, typeof(string)); + localElementDictionary.Add(ServiceCategoryXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ResponseCode, PaymentOptions, ChargeService, ServiceList?) + /// + /// + public partial class ServiceDiscoveryResType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator ServiceDiscoveryResType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ResponseCode, PaymentOptions, ChargeService, ServiceList?) + /// + /// + public ServiceDiscoveryResType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ResponseCodeXName = System.Xml.Linq.XName.Get("ResponseCode", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, PaymentOptions, ChargeService, ServiceList?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + XElement x = this.GetElement(ResponseCodeXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(ResponseCodeXName, value.ToString(), "ResponseCode", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName PaymentOptionsXName = System.Xml.Linq.XName.Get("PaymentOptions", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, PaymentOptions, ChargeService, ServiceList?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PaymentOptionsType PaymentOptions { + get { + XElement x = this.GetElement(PaymentOptionsXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PaymentOptionsType)(x)); + } + set { + this.SetElement(PaymentOptionsXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ChargeServiceXName = System.Xml.Linq.XName.Get("ChargeService", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, PaymentOptions, ChargeService, ServiceList?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ServiceChargeType ChargeService { + get { + XElement x = this.GetElement(ChargeServiceXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ServiceChargeType)(x)); + } + set { + this.SetElement(ChargeServiceXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ServiceListXName = System.Xml.Linq.XName.Get("ServiceList", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ResponseCode, PaymentOptions, ChargeService, ServiceList?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ServiceTagListType ServiceList { + get { + XElement x = this.GetElement(ServiceListXName); + if ((x == null)) { + return null; + } + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ServiceTagListType)(x)); + } + set { + this.SetElement(ServiceListXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ServiceDiscoveryResType", "urn:din:70121:2012:MsgBody"); + + static ServiceDiscoveryResType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ResponseCodeXName), new NamedContentModelEntity(PaymentOptionsXName), new NamedContentModelEntity(ChargeServiceXName), new NamedContentModelEntity(ServiceListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ResponseCodeXName, typeof(string)); + localElementDictionary.Add(PaymentOptionsXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PaymentOptionsType)); + localElementDictionary.Add(ChargeServiceXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ServiceChargeType)); + localElementDictionary.Add(ServiceListXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ServiceTagListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ServiceID) + /// + /// + public partial class ServiceDetailReqType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator ServiceDetailReqType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ServiceID) + /// + /// + public ServiceDetailReqType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ServiceIDXName = System.Xml.Linq.XName.Get("ServiceID", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ServiceID) + /// + /// + public virtual ushort ServiceID { + get { + XElement x = this.GetElement(ServiceIDXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedShort).Datatype); + } + set { + this.SetElementWithValidation(ServiceIDXName, value, "ServiceID", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.serviceIDType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ServiceDetailReqType", "urn:din:70121:2012:MsgBody"); + + static ServiceDetailReqType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ServiceIDXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ServiceIDXName, typeof(ushort)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ResponseCode, ServiceID, ServiceParameterList?) + /// + /// + public partial class ServiceDetailResType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator ServiceDetailResType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ResponseCode, ServiceID, ServiceParameterList?) + /// + /// + public ServiceDetailResType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ResponseCodeXName = System.Xml.Linq.XName.Get("ResponseCode", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, ServiceID, ServiceParameterList?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + XElement x = this.GetElement(ResponseCodeXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(ResponseCodeXName, value.ToString(), "ResponseCode", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ServiceIDXName = System.Xml.Linq.XName.Get("ServiceID", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, ServiceID, ServiceParameterList?) + /// + /// + public virtual ushort ServiceID { + get { + XElement x = this.GetElement(ServiceIDXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.UnsignedShort).Datatype); + } + set { + this.SetElementWithValidation(ServiceIDXName, value, "ServiceID", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.serviceIDType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ServiceParameterListXName = System.Xml.Linq.XName.Get("ServiceParameterList", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ResponseCode, ServiceID, ServiceParameterList?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ServiceParameterListType ServiceParameterList { + get { + XElement x = this.GetElement(ServiceParameterListXName); + if ((x == null)) { + return null; + } + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ServiceParameterListType)(x)); + } + set { + this.SetElement(ServiceParameterListXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ServiceDetailResType", "urn:din:70121:2012:MsgBody"); + + static ServiceDetailResType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ResponseCodeXName), new NamedContentModelEntity(ServiceIDXName), new NamedContentModelEntity(ServiceParameterListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ResponseCodeXName, typeof(string)); + localElementDictionary.Add(ServiceIDXName, typeof(ushort)); + localElementDictionary.Add(ServiceParameterListXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ServiceParameterListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (SelectedPaymentOption, SelectedServiceList) + /// + /// + public partial class ServicePaymentSelectionReqType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator ServicePaymentSelectionReqType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (SelectedPaymentOption, SelectedServiceList) + /// + /// + public ServicePaymentSelectionReqType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SelectedPaymentOptionXName = System.Xml.Linq.XName.Get("SelectedPaymentOption", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (SelectedPaymentOption, SelectedServiceList) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.paymentOptionType SelectedPaymentOption { + get { + XElement x = this.GetElement(SelectedPaymentOptionXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.paymentOptionType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.paymentOptionType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.paymentOptionTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(SelectedPaymentOptionXName, value.ToString(), "SelectedPaymentOption", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.paymentOptionTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SelectedServiceListXName = System.Xml.Linq.XName.Get("SelectedServiceList", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (SelectedPaymentOption, SelectedServiceList) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SelectedServiceListType SelectedServiceList { + get { + XElement x = this.GetElement(SelectedServiceListXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SelectedServiceListType)(x)); + } + set { + this.SetElement(SelectedServiceListXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ServicePaymentSelectionReqType", "urn:din:70121:2012:MsgBody"); + + static ServicePaymentSelectionReqType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(SelectedPaymentOptionXName), new NamedContentModelEntity(SelectedServiceListXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(SelectedPaymentOptionXName, typeof(string)); + localElementDictionary.Add(SelectedServiceListXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SelectedServiceListType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ResponseCode) + /// + /// + public partial class ServicePaymentSelectionResType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator ServicePaymentSelectionResType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ResponseCode) + /// + /// + public ServicePaymentSelectionResType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ResponseCodeXName = System.Xml.Linq.XName.Get("ResponseCode", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + XElement x = this.GetElement(ResponseCodeXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(ResponseCodeXName, value.ToString(), "ResponseCode", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ServicePaymentSelectionResType", "urn:din:70121:2012:MsgBody"); + + static ServicePaymentSelectionResType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ResponseCodeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ResponseCodeXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ContractID, ContractSignatureCertChain) + /// + /// + public partial class PaymentDetailsReqType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator PaymentDetailsReqType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ContractID, ContractSignatureCertChain) + /// + /// + public PaymentDetailsReqType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContractIDXName = System.Xml.Linq.XName.Get("ContractID", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ContractID, ContractSignatureCertChain) + /// + /// + public virtual string ContractID { + get { + XElement x = this.GetElement(ContractIDXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetElementWithValidation(ContractIDXName, value, "ContractID", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.contractIDType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContractSignatureCertChainXName = System.Xml.Linq.XName.Get("ContractSignatureCertChain", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ContractID, ContractSignatureCertChain) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.CertificateChainType ContractSignatureCertChain { + get { + XElement x = this.GetElement(ContractSignatureCertChainXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.CertificateChainType)(x)); + } + set { + this.SetElement(ContractSignatureCertChainXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("PaymentDetailsReqType", "urn:din:70121:2012:MsgBody"); + + static PaymentDetailsReqType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ContractIDXName), new NamedContentModelEntity(ContractSignatureCertChainXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ContractIDXName, typeof(string)); + localElementDictionary.Add(ContractSignatureCertChainXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.CertificateChainType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ResponseCode, GenChallenge, DateTimeNow) + /// + /// + public partial class PaymentDetailsResType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator PaymentDetailsResType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ResponseCode, GenChallenge, DateTimeNow) + /// + /// + public PaymentDetailsResType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ResponseCodeXName = System.Xml.Linq.XName.Get("ResponseCode", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, GenChallenge, DateTimeNow) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + XElement x = this.GetElement(ResponseCodeXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(ResponseCodeXName, value.ToString(), "ResponseCode", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName GenChallengeXName = System.Xml.Linq.XName.Get("GenChallenge", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, GenChallenge, DateTimeNow) + /// + /// + public virtual string GenChallenge { + get { + XElement x = this.GetElement(GenChallengeXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetElementWithValidation(GenChallengeXName, value, "GenChallenge", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.genChallengeType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DateTimeNowXName = System.Xml.Linq.XName.Get("DateTimeNow", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, GenChallenge, DateTimeNow) + /// + /// + public virtual long DateTimeNow { + get { + XElement x = this.GetElement(DateTimeNowXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + set { + this.SetElement(DateTimeNowXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Long).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("PaymentDetailsResType", "urn:din:70121:2012:MsgBody"); + + static PaymentDetailsResType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ResponseCodeXName), new NamedContentModelEntity(GenChallengeXName), new NamedContentModelEntity(DateTimeNowXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ResponseCodeXName, typeof(string)); + localElementDictionary.Add(GenChallengeXName, typeof(string)); + localElementDictionary.Add(DateTimeNowXName, typeof(long)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (GenChallenge?) + /// + /// + public partial class ContractAuthenticationReqType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator ContractAuthenticationReqType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (GenChallenge?) + /// + /// + public ContractAuthenticationReqType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName GenChallengeXName = System.Xml.Linq.XName.Get("GenChallenge", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (GenChallenge?) + /// + /// + public virtual string GenChallenge { + get { + XElement x = this.GetElement(GenChallengeXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + if (value == null) { + this.SetElement(GenChallengeXName, null, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + else { + this.SetElementWithValidation(GenChallengeXName, value, "GenChallenge", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.genChallengeType.TypeDefinition); + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IdXName = System.Xml.Linq.XName.Get("Id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Id { + get { + XAttribute x = this.Attribute(IdXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(IdXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ContractAuthenticationReqType", "urn:din:70121:2012:MsgBody"); + + static ContractAuthenticationReqType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(GenChallengeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(GenChallengeXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ResponseCode, EVSEProcessing) + /// + /// + public partial class ContractAuthenticationResType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator ContractAuthenticationResType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ResponseCode, EVSEProcessing) + /// + /// + public ContractAuthenticationResType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ResponseCodeXName = System.Xml.Linq.XName.Get("ResponseCode", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, EVSEProcessing) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + XElement x = this.GetElement(ResponseCodeXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(ResponseCodeXName, value.ToString(), "ResponseCode", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEProcessingXName = System.Xml.Linq.XName.Get("EVSEProcessing", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, EVSEProcessing) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEProcessingType EVSEProcessing { + get { + XElement x = this.GetElement(EVSEProcessingXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEProcessingType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEProcessingType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEProcessingTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(EVSEProcessingXName, value.ToString(), "EVSEProcessing", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEProcessingTypeValidator.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ContractAuthenticationResType", "urn:din:70121:2012:MsgBody"); + + static ContractAuthenticationResType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ResponseCodeXName), new NamedContentModelEntity(EVSEProcessingXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ResponseCodeXName, typeof(string)); + localElementDictionary.Add(EVSEProcessingXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (EVRequestedEnergyTransferType, EVChargeParameter) + /// + /// + public partial class ChargeParameterDiscoveryReqType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator ChargeParameterDiscoveryReqType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (EVRequestedEnergyTransferType, EVChargeParameter) + /// + /// + public ChargeParameterDiscoveryReqType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVRequestedEnergyTransferTypeXName = System.Xml.Linq.XName.Get("EVRequestedEnergyTransferType", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (EVRequestedEnergyTransferType, EVChargeParameter) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVRequestedEnergyTransferType EVRequestedEnergyTransferType { + get { + XElement x = this.GetElement(EVRequestedEnergyTransferTypeXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVRequestedEnergyTransferType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVRequestedEnergyTransferType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVRequestedEnergyTransferTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(EVRequestedEnergyTransferTypeXName, value.ToString(), "EVRequestedEnergyTransferType", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVRequestedEnergyTransferTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVChargeParameterXName = System.Xml.Linq.XName.Get("EVChargeParameter", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Substitution members: EVChargeParameter, AC_EVChargeParameter, DC_EVChargeParameter + /// + /// + /// Regular expression: (EVRequestedEnergyTransferType, EVChargeParameter) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVChargeParameter EVChargeParameter { + get { + XTypedElement x = XTypedServices.ToSubstitutedXTypedElement(this, LinqToXsdTypeManager.Instance, System.Xml.Linq.XName.Get("EVChargeParameter", "urn:din:70121:2012:MsgDataTypes"), System.Xml.Linq.XName.Get("AC_EVChargeParameter", "urn:din:70121:2012:MsgDataTypes"), System.Xml.Linq.XName.Get("DC_EVChargeParameter", "urn:din:70121:2012:MsgDataTypes")); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVChargeParameter)(x)); + } + set { + this.SetElement(EVChargeParameterXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ChargeParameterDiscoveryReqType", "urn:din:70121:2012:MsgBody"); + + static ChargeParameterDiscoveryReqType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(EVRequestedEnergyTransferTypeXName), new SubstitutedContentModelEntity(System.Xml.Linq.XName.Get("EVChargeParameter", "urn:din:70121:2012:MsgDataTypes"), System.Xml.Linq.XName.Get("AC_EVChargeParameter", "urn:din:70121:2012:MsgDataTypes"), System.Xml.Linq.XName.Get("DC_EVChargeParameter", "urn:din:70121:2012:MsgDataTypes"))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(EVRequestedEnergyTransferTypeXName, typeof(string)); + localElementDictionary.Add(EVChargeParameterXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVChargeParameter)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ResponseCode, EVSEProcessing, SASchedules, EVSEChargeParameter) + /// + /// + public partial class ChargeParameterDiscoveryResType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator ChargeParameterDiscoveryResType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ResponseCode, EVSEProcessing, SASchedules, EVSEChargeParameter) + /// + /// + public ChargeParameterDiscoveryResType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ResponseCodeXName = System.Xml.Linq.XName.Get("ResponseCode", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, EVSEProcessing, SASchedules, EVSEChargeParameter) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + XElement x = this.GetElement(ResponseCodeXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(ResponseCodeXName, value.ToString(), "ResponseCode", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEProcessingXName = System.Xml.Linq.XName.Get("EVSEProcessing", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, EVSEProcessing, SASchedules, EVSEChargeParameter) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEProcessingType EVSEProcessing { + get { + XElement x = this.GetElement(EVSEProcessingXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEProcessingType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEProcessingType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEProcessingTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(EVSEProcessingXName, value.ToString(), "EVSEProcessing", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEProcessingTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SASchedulesXName = System.Xml.Linq.XName.Get("SASchedules", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Substitution members: SASchedules, SAScheduleList + /// + /// + /// Regular expression: (ResponseCode, EVSEProcessing, SASchedules, EVSEChargeParameter) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SASchedules SASchedules { + get { + XTypedElement x = XTypedServices.ToSubstitutedXTypedElement(this, LinqToXsdTypeManager.Instance, System.Xml.Linq.XName.Get("SASchedules", "urn:din:70121:2012:MsgDataTypes"), System.Xml.Linq.XName.Get("SAScheduleList", "urn:din:70121:2012:MsgDataTypes")); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SASchedules)(x)); + } + set { + this.SetElement(SASchedulesXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEChargeParameterXName = System.Xml.Linq.XName.Get("EVSEChargeParameter", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Substitution members: EVSEChargeParameter, AC_EVSEChargeParameter, DC_EVSEChargeParameter + /// + /// + /// Regular expression: (ResponseCode, EVSEProcessing, SASchedules, EVSEChargeParameter) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEChargeParameter EVSEChargeParameter { + get { + XTypedElement x = XTypedServices.ToSubstitutedXTypedElement(this, LinqToXsdTypeManager.Instance, System.Xml.Linq.XName.Get("EVSEChargeParameter", "urn:din:70121:2012:MsgDataTypes"), System.Xml.Linq.XName.Get("AC_EVSEChargeParameter", "urn:din:70121:2012:MsgDataTypes"), System.Xml.Linq.XName.Get("DC_EVSEChargeParameter", "urn:din:70121:2012:MsgDataTypes")); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEChargeParameter)(x)); + } + set { + this.SetElement(EVSEChargeParameterXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ChargeParameterDiscoveryResType", "urn:din:70121:2012:MsgBody"); + + static ChargeParameterDiscoveryResType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ResponseCodeXName), new NamedContentModelEntity(EVSEProcessingXName), new SubstitutedContentModelEntity(System.Xml.Linq.XName.Get("SASchedules", "urn:din:70121:2012:MsgDataTypes"), System.Xml.Linq.XName.Get("SAScheduleList", "urn:din:70121:2012:MsgDataTypes")), new SubstitutedContentModelEntity(System.Xml.Linq.XName.Get("EVSEChargeParameter", "urn:din:70121:2012:MsgDataTypes"), System.Xml.Linq.XName.Get("AC_EVSEChargeParameter", "urn:din:70121:2012:MsgDataTypes"), System.Xml.Linq.XName.Get("DC_EVSEChargeParameter", "urn:din:70121:2012:MsgDataTypes"))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ResponseCodeXName, typeof(string)); + localElementDictionary.Add(EVSEProcessingXName, typeof(string)); + localElementDictionary.Add(SASchedulesXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SASchedules)); + localElementDictionary.Add(EVSEChargeParameterXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEChargeParameter)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ReadyToChargeState, ChargingProfile?, EVPowerDeliveryParameter?) + /// + /// + public partial class PowerDeliveryReqType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator PowerDeliveryReqType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ReadyToChargeState, ChargingProfile?, EVPowerDeliveryParameter?) + /// + /// + public PowerDeliveryReqType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ReadyToChargeStateXName = System.Xml.Linq.XName.Get("ReadyToChargeState", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ReadyToChargeState, ChargingProfile?, EVPowerDeliveryParameter?) + /// + /// + public virtual bool ReadyToChargeState { + get { + XElement x = this.GetElement(ReadyToChargeStateXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetElement(ReadyToChargeStateXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ChargingProfileXName = System.Xml.Linq.XName.Get("ChargingProfile", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ReadyToChargeState, ChargingProfile?, EVPowerDeliveryParameter?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ChargingProfileType ChargingProfile { + get { + XElement x = this.GetElement(ChargingProfileXName); + if ((x == null)) { + return null; + } + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ChargingProfileType)(x)); + } + set { + this.SetElement(ChargingProfileXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVPowerDeliveryParameterXName = System.Xml.Linq.XName.Get("EVPowerDeliveryParameter", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Substitution members: EVPowerDeliveryParameter, DC_EVPowerDeliveryParameter + /// + /// + /// Regular expression: (ReadyToChargeState, ChargingProfile?, EVPowerDeliveryParameter?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVPowerDeliveryParameter EVPowerDeliveryParameter { + get { + XTypedElement x = XTypedServices.ToSubstitutedXTypedElement(this, LinqToXsdTypeManager.Instance, System.Xml.Linq.XName.Get("EVPowerDeliveryParameter", "urn:din:70121:2012:MsgDataTypes"), System.Xml.Linq.XName.Get("DC_EVPowerDeliveryParameter", "urn:din:70121:2012:MsgDataTypes")); + if ((x == null)) { + return null; + } + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVPowerDeliveryParameter)(x)); + } + set { + this.SetElement(EVPowerDeliveryParameterXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("PowerDeliveryReqType", "urn:din:70121:2012:MsgBody"); + + static PowerDeliveryReqType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ReadyToChargeStateXName), new NamedContentModelEntity(ChargingProfileXName), new SubstitutedContentModelEntity(System.Xml.Linq.XName.Get("EVPowerDeliveryParameter", "urn:din:70121:2012:MsgDataTypes"), System.Xml.Linq.XName.Get("DC_EVPowerDeliveryParameter", "urn:din:70121:2012:MsgDataTypes"))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ReadyToChargeStateXName, typeof(bool)); + localElementDictionary.Add(ChargingProfileXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ChargingProfileType)); + localElementDictionary.Add(EVPowerDeliveryParameterXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVPowerDeliveryParameter)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ResponseCode, EVSEStatus) + /// + /// + public partial class PowerDeliveryResType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator PowerDeliveryResType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ResponseCode, EVSEStatus) + /// + /// + public PowerDeliveryResType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ResponseCodeXName = System.Xml.Linq.XName.Get("ResponseCode", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, EVSEStatus) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + XElement x = this.GetElement(ResponseCodeXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(ResponseCodeXName, value.ToString(), "ResponseCode", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEStatusXName = System.Xml.Linq.XName.Get("EVSEStatus", "urn:din:70121:2012:MsgDataTypes"); + + /// + /// + /// Occurrence: required + /// + /// + /// Substitution members: EVSEStatus, AC_EVSEStatus, DC_EVSEStatus + /// + /// + /// Regular expression: (ResponseCode, EVSEStatus) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEStatus EVSEStatus { + get { + XTypedElement x = XTypedServices.ToSubstitutedXTypedElement(this, LinqToXsdTypeManager.Instance, System.Xml.Linq.XName.Get("EVSEStatus", "urn:din:70121:2012:MsgDataTypes"), System.Xml.Linq.XName.Get("AC_EVSEStatus", "urn:din:70121:2012:MsgDataTypes"), System.Xml.Linq.XName.Get("DC_EVSEStatus", "urn:din:70121:2012:MsgDataTypes")); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEStatus)(x)); + } + set { + this.SetElement(EVSEStatusXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("PowerDeliveryResType", "urn:din:70121:2012:MsgBody"); + + static PowerDeliveryResType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ResponseCodeXName), new SubstitutedContentModelEntity(System.Xml.Linq.XName.Get("EVSEStatus", "urn:din:70121:2012:MsgDataTypes"), System.Xml.Linq.XName.Get("AC_EVSEStatus", "urn:din:70121:2012:MsgDataTypes"), System.Xml.Linq.XName.Get("DC_EVSEStatus", "urn:din:70121:2012:MsgDataTypes"))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ResponseCodeXName, typeof(string)); + localElementDictionary.Add(EVSEStatusXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEStatus)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class ChargingStatusReqType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator ChargingStatusReqType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public ChargingStatusReqType() { + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ChargingStatusReqType", "urn:din:70121:2012:MsgBody"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ResponseCode, EVSEID, SAScheduleTupleID, EVSEMaxCurrent?, MeterInfo?, ReceiptRequired, AC_EVSEStatus) + /// + /// + public partial class ChargingStatusResType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator ChargingStatusResType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ResponseCode, EVSEID, SAScheduleTupleID, EVSEMaxCurrent?, MeterInfo?, ReceiptRequired, AC_EVSEStatus) + /// + /// + public ChargingStatusResType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ResponseCodeXName = System.Xml.Linq.XName.Get("ResponseCode", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, EVSEID, SAScheduleTupleID, EVSEMaxCurrent?, MeterInfo?, ReceiptRequired, AC_EVSEStatus) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + XElement x = this.GetElement(ResponseCodeXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(ResponseCodeXName, value.ToString(), "ResponseCode", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEIDXName = System.Xml.Linq.XName.Get("EVSEID", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, EVSEID, SAScheduleTupleID, EVSEMaxCurrent?, MeterInfo?, ReceiptRequired, AC_EVSEStatus) + /// + /// + public virtual byte[] EVSEID { + get { + XElement x = this.GetElement(EVSEIDXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary).Datatype); + } + set { + this.SetElementWithValidation(EVSEIDXName, value, "EVSEID", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.evseIDType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SAScheduleTupleIDXName = System.Xml.Linq.XName.Get("SAScheduleTupleID", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, EVSEID, SAScheduleTupleID, EVSEMaxCurrent?, MeterInfo?, ReceiptRequired, AC_EVSEStatus) + /// + /// + public virtual short SAScheduleTupleID { + get { + XElement x = this.GetElement(SAScheduleTupleIDXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Short).Datatype); + } + set { + this.SetElementWithValidation(SAScheduleTupleIDXName, value, "SAScheduleTupleID", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SAIDType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEMaxCurrentXName = System.Xml.Linq.XName.Get("EVSEMaxCurrent", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ResponseCode, EVSEID, SAScheduleTupleID, EVSEMaxCurrent?, MeterInfo?, ReceiptRequired, AC_EVSEStatus) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVSEMaxCurrent { + get { + XElement x = this.GetElement(EVSEMaxCurrentXName); + if ((x == null)) { + return null; + } + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)(x)); + } + set { + this.SetElement(EVSEMaxCurrentXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MeterInfoXName = System.Xml.Linq.XName.Get("MeterInfo", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ResponseCode, EVSEID, SAScheduleTupleID, EVSEMaxCurrent?, MeterInfo?, ReceiptRequired, AC_EVSEStatus) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.MeterInfoType MeterInfo { + get { + XElement x = this.GetElement(MeterInfoXName); + if ((x == null)) { + return null; + } + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.MeterInfoType)(x)); + } + set { + this.SetElement(MeterInfoXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ReceiptRequiredXName = System.Xml.Linq.XName.Get("ReceiptRequired", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, EVSEID, SAScheduleTupleID, EVSEMaxCurrent?, MeterInfo?, ReceiptRequired, AC_EVSEStatus) + /// + /// + public virtual bool ReceiptRequired { + get { + XElement x = this.GetElement(ReceiptRequiredXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetElement(ReceiptRequiredXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AC_EVSEStatusXName = System.Xml.Linq.XName.Get("AC_EVSEStatus", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, EVSEID, SAScheduleTupleID, EVSEMaxCurrent?, MeterInfo?, ReceiptRequired, AC_EVSEStatus) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVSEStatusType AC_EVSEStatus { + get { + XElement x = this.GetElement(AC_EVSEStatusXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVSEStatusType)(x)); + } + set { + this.SetElement(AC_EVSEStatusXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ChargingStatusResType", "urn:din:70121:2012:MsgBody"); + + static ChargingStatusResType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ResponseCodeXName), new NamedContentModelEntity(EVSEIDXName), new NamedContentModelEntity(SAScheduleTupleIDXName), new NamedContentModelEntity(EVSEMaxCurrentXName), new NamedContentModelEntity(MeterInfoXName), new NamedContentModelEntity(ReceiptRequiredXName), new NamedContentModelEntity(AC_EVSEStatusXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ResponseCodeXName, typeof(string)); + localElementDictionary.Add(EVSEIDXName, typeof(byte[])); + localElementDictionary.Add(SAScheduleTupleIDXName, typeof(short)); + localElementDictionary.Add(EVSEMaxCurrentXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)); + localElementDictionary.Add(MeterInfoXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.MeterInfoType)); + localElementDictionary.Add(ReceiptRequiredXName, typeof(bool)); + localElementDictionary.Add(AC_EVSEStatusXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVSEStatusType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (SessionID, SAScheduleTupleID?, MeterInfo) + /// + /// + public partial class MeteringReceiptReqType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator MeteringReceiptReqType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (SessionID, SAScheduleTupleID?, MeterInfo) + /// + /// + public MeteringReceiptReqType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SessionIDXName = System.Xml.Linq.XName.Get("SessionID", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (SessionID, SAScheduleTupleID?, MeterInfo) + /// + /// + public virtual byte[] SessionID { + get { + XElement x = this.GetElement(SessionIDXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary).Datatype); + } + set { + this.SetElementWithValidation(SessionIDXName, value, "SessionID", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.sessionIDType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SAScheduleTupleIDXName = System.Xml.Linq.XName.Get("SAScheduleTupleID", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (SessionID, SAScheduleTupleID?, MeterInfo) + /// + /// + public virtual System.Int16? SAScheduleTupleID { + get { + XElement x = this.GetElement(SAScheduleTupleIDXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Short).Datatype); + } + set { + if (value == null) { + this.SetElement(SAScheduleTupleIDXName, null, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Short).Datatype); + } + else { + this.SetElementWithValidation(SAScheduleTupleIDXName, value, "SAScheduleTupleID", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SAIDType.TypeDefinition); + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MeterInfoXName = System.Xml.Linq.XName.Get("MeterInfo", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (SessionID, SAScheduleTupleID?, MeterInfo) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.MeterInfoType MeterInfo { + get { + XElement x = this.GetElement(MeterInfoXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.MeterInfoType)(x)); + } + set { + this.SetElement(MeterInfoXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IdXName = System.Xml.Linq.XName.Get("Id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Id { + get { + XAttribute x = this.Attribute(IdXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(IdXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("MeteringReceiptReqType", "urn:din:70121:2012:MsgBody"); + + static MeteringReceiptReqType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(SessionIDXName), new NamedContentModelEntity(SAScheduleTupleIDXName), new NamedContentModelEntity(MeterInfoXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(SessionIDXName, typeof(byte[])); + localElementDictionary.Add(SAScheduleTupleIDXName, typeof(short)); + localElementDictionary.Add(MeterInfoXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.MeterInfoType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ResponseCode, AC_EVSEStatus) + /// + /// + public partial class MeteringReceiptResType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator MeteringReceiptResType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ResponseCode, AC_EVSEStatus) + /// + /// + public MeteringReceiptResType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ResponseCodeXName = System.Xml.Linq.XName.Get("ResponseCode", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, AC_EVSEStatus) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + XElement x = this.GetElement(ResponseCodeXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(ResponseCodeXName, value.ToString(), "ResponseCode", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AC_EVSEStatusXName = System.Xml.Linq.XName.Get("AC_EVSEStatus", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, AC_EVSEStatus) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVSEStatusType AC_EVSEStatus { + get { + XElement x = this.GetElement(AC_EVSEStatusXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVSEStatusType)(x)); + } + set { + this.SetElement(AC_EVSEStatusXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("MeteringReceiptResType", "urn:din:70121:2012:MsgBody"); + + static MeteringReceiptResType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ResponseCodeXName), new NamedContentModelEntity(AC_EVSEStatusXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ResponseCodeXName, typeof(string)); + localElementDictionary.Add(AC_EVSEStatusXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVSEStatusType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class SessionStopType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator SessionStopType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public SessionStopType() { + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SessionStopType", "urn:din:70121:2012:MsgBody"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ResponseCode) + /// + /// + public partial class SessionStopResType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator SessionStopResType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ResponseCode) + /// + /// + public SessionStopResType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ResponseCodeXName = System.Xml.Linq.XName.Get("ResponseCode", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + XElement x = this.GetElement(ResponseCodeXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(ResponseCodeXName, value.ToString(), "ResponseCode", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SessionStopResType", "urn:din:70121:2012:MsgBody"); + + static SessionStopResType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ResponseCodeXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ResponseCodeXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ContractSignatureCertChain, ContractID, ListOfRootCertificateIDs, DHParams) + /// + /// + public partial class CertificateUpdateReqType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator CertificateUpdateReqType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ContractSignatureCertChain, ContractID, ListOfRootCertificateIDs, DHParams) + /// + /// + public CertificateUpdateReqType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContractSignatureCertChainXName = System.Xml.Linq.XName.Get("ContractSignatureCertChain", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ContractSignatureCertChain, ContractID, ListOfRootCertificateIDs, DHParams) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.CertificateChainType ContractSignatureCertChain { + get { + XElement x = this.GetElement(ContractSignatureCertChainXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.CertificateChainType)(x)); + } + set { + this.SetElement(ContractSignatureCertChainXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContractIDXName = System.Xml.Linq.XName.Get("ContractID", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ContractSignatureCertChain, ContractID, ListOfRootCertificateIDs, DHParams) + /// + /// + public virtual string ContractID { + get { + XElement x = this.GetElement(ContractIDXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetElementWithValidation(ContractIDXName, value, "ContractID", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.contractIDType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ListOfRootCertificateIDsXName = System.Xml.Linq.XName.Get("ListOfRootCertificateIDs", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ContractSignatureCertChain, ContractID, ListOfRootCertificateIDs, DHParams) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ListOfRootCertificateIDsType ListOfRootCertificateIDs { + get { + XElement x = this.GetElement(ListOfRootCertificateIDsXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ListOfRootCertificateIDsType)(x)); + } + set { + this.SetElement(ListOfRootCertificateIDsXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DHParamsXName = System.Xml.Linq.XName.Get("DHParams", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ContractSignatureCertChain, ContractID, ListOfRootCertificateIDs, DHParams) + /// + /// + public virtual byte[] DHParams { + get { + XElement x = this.GetElement(DHParamsXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + set { + this.SetElementWithValidation(DHParamsXName, value, "DHParams", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.dHParamsType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IdXName = System.Xml.Linq.XName.Get("Id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Id { + get { + XAttribute x = this.Attribute(IdXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(IdXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CertificateUpdateReqType", "urn:din:70121:2012:MsgBody"); + + static CertificateUpdateReqType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ContractSignatureCertChainXName), new NamedContentModelEntity(ContractIDXName), new NamedContentModelEntity(ListOfRootCertificateIDsXName), new NamedContentModelEntity(DHParamsXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ContractSignatureCertChainXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.CertificateChainType)); + localElementDictionary.Add(ContractIDXName, typeof(string)); + localElementDictionary.Add(ListOfRootCertificateIDsXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ListOfRootCertificateIDsType)); + localElementDictionary.Add(DHParamsXName, typeof(byte[])); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ResponseCode, ContractSignatureCertChain, ContractSignatureEncryptedPrivateKey, DHParams, ContractID, RetryCounter) + /// + /// + public partial class CertificateUpdateResType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator CertificateUpdateResType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ResponseCode, ContractSignatureCertChain, ContractSignatureEncryptedPrivateKey, DHParams, ContractID, RetryCounter) + /// + /// + public CertificateUpdateResType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ResponseCodeXName = System.Xml.Linq.XName.Get("ResponseCode", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, ContractSignatureCertChain, ContractSignatureEncryptedPrivateKey, DHParams, ContractID, RetryCounter) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + XElement x = this.GetElement(ResponseCodeXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(ResponseCodeXName, value.ToString(), "ResponseCode", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContractSignatureCertChainXName = System.Xml.Linq.XName.Get("ContractSignatureCertChain", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, ContractSignatureCertChain, ContractSignatureEncryptedPrivateKey, DHParams, ContractID, RetryCounter) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.CertificateChainType ContractSignatureCertChain { + get { + XElement x = this.GetElement(ContractSignatureCertChainXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.CertificateChainType)(x)); + } + set { + this.SetElement(ContractSignatureCertChainXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContractSignatureEncryptedPrivateKeyXName = System.Xml.Linq.XName.Get("ContractSignatureEncryptedPrivateKey", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, ContractSignatureCertChain, ContractSignatureEncryptedPrivateKey, DHParams, ContractID, RetryCounter) + /// + /// + public virtual byte[] ContractSignatureEncryptedPrivateKey { + get { + XElement x = this.GetElement(ContractSignatureEncryptedPrivateKeyXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + set { + this.SetElementWithValidation(ContractSignatureEncryptedPrivateKeyXName, value, "ContractSignatureEncryptedPrivateKey", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.privateKeyType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DHParamsXName = System.Xml.Linq.XName.Get("DHParams", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, ContractSignatureCertChain, ContractSignatureEncryptedPrivateKey, DHParams, ContractID, RetryCounter) + /// + /// + public virtual byte[] DHParams { + get { + XElement x = this.GetElement(DHParamsXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + set { + this.SetElementWithValidation(DHParamsXName, value, "DHParams", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.dHParamsType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContractIDXName = System.Xml.Linq.XName.Get("ContractID", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, ContractSignatureCertChain, ContractSignatureEncryptedPrivateKey, DHParams, ContractID, RetryCounter) + /// + /// + public virtual string ContractID { + get { + XElement x = this.GetElement(ContractIDXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetElementWithValidation(ContractIDXName, value, "ContractID", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.contractIDType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RetryCounterXName = System.Xml.Linq.XName.Get("RetryCounter", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, ContractSignatureCertChain, ContractSignatureEncryptedPrivateKey, DHParams, ContractID, RetryCounter) + /// + /// + public virtual short RetryCounter { + get { + XElement x = this.GetElement(RetryCounterXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Short).Datatype); + } + set { + this.SetElement(RetryCounterXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Short).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IdXName = System.Xml.Linq.XName.Get("Id", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string Id { + get { + XAttribute x = this.Attribute(IdXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(IdXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CertificateUpdateResType", "urn:din:70121:2012:MsgBody"); + + static CertificateUpdateResType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ResponseCodeXName), new NamedContentModelEntity(ContractSignatureCertChainXName), new NamedContentModelEntity(ContractSignatureEncryptedPrivateKeyXName), new NamedContentModelEntity(DHParamsXName), new NamedContentModelEntity(ContractIDXName), new NamedContentModelEntity(RetryCounterXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ResponseCodeXName, typeof(string)); + localElementDictionary.Add(ContractSignatureCertChainXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.CertificateChainType)); + localElementDictionary.Add(ContractSignatureEncryptedPrivateKeyXName, typeof(byte[])); + localElementDictionary.Add(DHParamsXName, typeof(byte[])); + localElementDictionary.Add(ContractIDXName, typeof(string)); + localElementDictionary.Add(RetryCounterXName, typeof(short)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (OEMProvisioningCert, ListOfRootCertificateIDs, DHParams) + /// + /// + public partial class CertificateInstallationReqType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator CertificateInstallationReqType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (OEMProvisioningCert, ListOfRootCertificateIDs, DHParams) + /// + /// + public CertificateInstallationReqType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName OEMProvisioningCertXName = System.Xml.Linq.XName.Get("OEMProvisioningCert", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (OEMProvisioningCert, ListOfRootCertificateIDs, DHParams) + /// + /// + public virtual byte[] OEMProvisioningCert { + get { + XElement x = this.GetElement(OEMProvisioningCertXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + set { + this.SetElementWithValidation(OEMProvisioningCertXName, value, "OEMProvisioningCert", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.certificateType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ListOfRootCertificateIDsXName = System.Xml.Linq.XName.Get("ListOfRootCertificateIDs", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (OEMProvisioningCert, ListOfRootCertificateIDs, DHParams) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ListOfRootCertificateIDsType ListOfRootCertificateIDs { + get { + XElement x = this.GetElement(ListOfRootCertificateIDsXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ListOfRootCertificateIDsType)(x)); + } + set { + this.SetElement(ListOfRootCertificateIDsXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DHParamsXName = System.Xml.Linq.XName.Get("DHParams", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (OEMProvisioningCert, ListOfRootCertificateIDs, DHParams) + /// + /// + public virtual byte[] DHParams { + get { + XElement x = this.GetElement(DHParamsXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + set { + this.SetElementWithValidation(DHParamsXName, value, "DHParams", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.dHParamsType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IdXName = System.Xml.Linq.XName.Get("Id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Id { + get { + XAttribute x = this.Attribute(IdXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(IdXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CertificateInstallationReqType", "urn:din:70121:2012:MsgBody"); + + static CertificateInstallationReqType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(OEMProvisioningCertXName), new NamedContentModelEntity(ListOfRootCertificateIDsXName), new NamedContentModelEntity(DHParamsXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(OEMProvisioningCertXName, typeof(byte[])); + localElementDictionary.Add(ListOfRootCertificateIDsXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ListOfRootCertificateIDsType)); + localElementDictionary.Add(DHParamsXName, typeof(byte[])); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ResponseCode, ContractSignatureCertChain, ContractSignatureEncryptedPrivateKey, DHParams, ContractID) + /// + /// + public partial class CertificateInstallationResType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator CertificateInstallationResType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ResponseCode, ContractSignatureCertChain, ContractSignatureEncryptedPrivateKey, DHParams, ContractID) + /// + /// + public CertificateInstallationResType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ResponseCodeXName = System.Xml.Linq.XName.Get("ResponseCode", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, ContractSignatureCertChain, ContractSignatureEncryptedPrivateKey, DHParams, ContractID) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + XElement x = this.GetElement(ResponseCodeXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(ResponseCodeXName, value.ToString(), "ResponseCode", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContractSignatureCertChainXName = System.Xml.Linq.XName.Get("ContractSignatureCertChain", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, ContractSignatureCertChain, ContractSignatureEncryptedPrivateKey, DHParams, ContractID) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.CertificateChainType ContractSignatureCertChain { + get { + XElement x = this.GetElement(ContractSignatureCertChainXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.CertificateChainType)(x)); + } + set { + this.SetElement(ContractSignatureCertChainXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContractSignatureEncryptedPrivateKeyXName = System.Xml.Linq.XName.Get("ContractSignatureEncryptedPrivateKey", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, ContractSignatureCertChain, ContractSignatureEncryptedPrivateKey, DHParams, ContractID) + /// + /// + public virtual byte[] ContractSignatureEncryptedPrivateKey { + get { + XElement x = this.GetElement(ContractSignatureEncryptedPrivateKeyXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + set { + this.SetElementWithValidation(ContractSignatureEncryptedPrivateKeyXName, value, "ContractSignatureEncryptedPrivateKey", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.privateKeyType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DHParamsXName = System.Xml.Linq.XName.Get("DHParams", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, ContractSignatureCertChain, ContractSignatureEncryptedPrivateKey, DHParams, ContractID) + /// + /// + public virtual byte[] DHParams { + get { + XElement x = this.GetElement(DHParamsXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + set { + this.SetElementWithValidation(DHParamsXName, value, "DHParams", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.dHParamsType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ContractIDXName = System.Xml.Linq.XName.Get("ContractID", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, ContractSignatureCertChain, ContractSignatureEncryptedPrivateKey, DHParams, ContractID) + /// + /// + public virtual string ContractID { + get { + XElement x = this.GetElement(ContractIDXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetElementWithValidation(ContractIDXName, value, "ContractID", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.contractIDType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IdXName = System.Xml.Linq.XName.Get("Id", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual string Id { + get { + XAttribute x = this.Attribute(IdXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + set { + this.SetAttribute(IdXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Idref).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CertificateInstallationResType", "urn:din:70121:2012:MsgBody"); + + static CertificateInstallationResType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ResponseCodeXName), new NamedContentModelEntity(ContractSignatureCertChainXName), new NamedContentModelEntity(ContractSignatureEncryptedPrivateKeyXName), new NamedContentModelEntity(DHParamsXName), new NamedContentModelEntity(ContractIDXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ResponseCodeXName, typeof(string)); + localElementDictionary.Add(ContractSignatureCertChainXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.CertificateChainType)); + localElementDictionary.Add(ContractSignatureEncryptedPrivateKeyXName, typeof(byte[])); + localElementDictionary.Add(DHParamsXName, typeof(byte[])); + localElementDictionary.Add(ContractIDXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (DC_EVStatus) + /// + /// + public partial class CableCheckReqType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator CableCheckReqType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (DC_EVStatus) + /// + /// + public CableCheckReqType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DC_EVStatusXName = System.Xml.Linq.XName.Get("DC_EVStatus", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVStatusType DC_EVStatus { + get { + XElement x = this.GetElement(DC_EVStatusXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVStatusType)(x)); + } + set { + this.SetElement(DC_EVStatusXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CableCheckReqType", "urn:din:70121:2012:MsgBody"); + + static CableCheckReqType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(DC_EVStatusXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(DC_EVStatusXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVStatusType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEProcessing) + /// + /// + public partial class CableCheckResType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator CableCheckResType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEProcessing) + /// + /// + public CableCheckResType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ResponseCodeXName = System.Xml.Linq.XName.Get("ResponseCode", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEProcessing) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + XElement x = this.GetElement(ResponseCodeXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(ResponseCodeXName, value.ToString(), "ResponseCode", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DC_EVSEStatusXName = System.Xml.Linq.XName.Get("DC_EVSEStatus", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEProcessing) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatusType DC_EVSEStatus { + get { + XElement x = this.GetElement(DC_EVSEStatusXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatusType)(x)); + } + set { + this.SetElement(DC_EVSEStatusXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEProcessingXName = System.Xml.Linq.XName.Get("EVSEProcessing", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEProcessing) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEProcessingType EVSEProcessing { + get { + XElement x = this.GetElement(EVSEProcessingXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEProcessingType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEProcessingType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEProcessingTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(EVSEProcessingXName, value.ToString(), "EVSEProcessing", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEProcessingTypeValidator.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CableCheckResType", "urn:din:70121:2012:MsgBody"); + + static CableCheckResType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ResponseCodeXName), new NamedContentModelEntity(DC_EVSEStatusXName), new NamedContentModelEntity(EVSEProcessingXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ResponseCodeXName, typeof(string)); + localElementDictionary.Add(DC_EVSEStatusXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatusType)); + localElementDictionary.Add(EVSEProcessingXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetVoltage, EVTargetCurrent) + /// + /// + public partial class PreChargeReqType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator PreChargeReqType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetVoltage, EVTargetCurrent) + /// + /// + public PreChargeReqType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DC_EVStatusXName = System.Xml.Linq.XName.Get("DC_EVStatus", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetVoltage, EVTargetCurrent) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVStatusType DC_EVStatus { + get { + XElement x = this.GetElement(DC_EVStatusXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVStatusType)(x)); + } + set { + this.SetElement(DC_EVStatusXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVTargetVoltageXName = System.Xml.Linq.XName.Get("EVTargetVoltage", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetVoltage, EVTargetCurrent) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVTargetVoltage { + get { + XElement x = this.GetElement(EVTargetVoltageXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)(x)); + } + set { + this.SetElement(EVTargetVoltageXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVTargetCurrentXName = System.Xml.Linq.XName.Get("EVTargetCurrent", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetVoltage, EVTargetCurrent) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVTargetCurrent { + get { + XElement x = this.GetElement(EVTargetCurrentXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)(x)); + } + set { + this.SetElement(EVTargetCurrentXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("PreChargeReqType", "urn:din:70121:2012:MsgBody"); + + static PreChargeReqType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(DC_EVStatusXName), new NamedContentModelEntity(EVTargetVoltageXName), new NamedContentModelEntity(EVTargetCurrentXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(DC_EVStatusXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVStatusType)); + localElementDictionary.Add(EVTargetVoltageXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)); + localElementDictionary.Add(EVTargetCurrentXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage) + /// + /// + public partial class PreChargeResType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator PreChargeResType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage) + /// + /// + public PreChargeResType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ResponseCodeXName = System.Xml.Linq.XName.Get("ResponseCode", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + XElement x = this.GetElement(ResponseCodeXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(ResponseCodeXName, value.ToString(), "ResponseCode", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DC_EVSEStatusXName = System.Xml.Linq.XName.Get("DC_EVSEStatus", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatusType DC_EVSEStatus { + get { + XElement x = this.GetElement(DC_EVSEStatusXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatusType)(x)); + } + set { + this.SetElement(DC_EVSEStatusXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEPresentVoltageXName = System.Xml.Linq.XName.Get("EVSEPresentVoltage", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVSEPresentVoltage { + get { + XElement x = this.GetElement(EVSEPresentVoltageXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)(x)); + } + set { + this.SetElement(EVSEPresentVoltageXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("PreChargeResType", "urn:din:70121:2012:MsgBody"); + + static PreChargeResType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ResponseCodeXName), new NamedContentModelEntity(DC_EVSEStatusXName), new NamedContentModelEntity(EVSEPresentVoltageXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ResponseCodeXName, typeof(string)); + localElementDictionary.Add(DC_EVSEStatusXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatusType)); + localElementDictionary.Add(EVSEPresentVoltageXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetCurrent, EVMaximumVoltageLimit?, EVMaximumCurrentLimit?, EVMaximumPowerLimit?, BulkChargingComplete?, ChargingComplete, RemainingTimeToFullSoC?, RemainingTimeToBulkSoC?, EVTargetVoltage) + /// + /// + public partial class CurrentDemandReqType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator CurrentDemandReqType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetCurrent, EVMaximumVoltageLimit?, EVMaximumCurrentLimit?, EVMaximumPowerLimit?, BulkChargingComplete?, ChargingComplete, RemainingTimeToFullSoC?, RemainingTimeToBulkSoC?, EVTargetVoltage) + /// + /// + public CurrentDemandReqType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DC_EVStatusXName = System.Xml.Linq.XName.Get("DC_EVStatus", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetCurrent, EVMaximumVoltageLimit?, EVMaximumCurrentLimit?, EVMaximumPowerLimit?, BulkChargingComplete?, ChargingComplete, RemainingTimeToFullSoC?, RemainingTimeToBulkSoC?, EVTargetVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVStatusType DC_EVStatus { + get { + XElement x = this.GetElement(DC_EVStatusXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVStatusType)(x)); + } + set { + this.SetElement(DC_EVStatusXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVTargetCurrentXName = System.Xml.Linq.XName.Get("EVTargetCurrent", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetCurrent, EVMaximumVoltageLimit?, EVMaximumCurrentLimit?, EVMaximumPowerLimit?, BulkChargingComplete?, ChargingComplete, RemainingTimeToFullSoC?, RemainingTimeToBulkSoC?, EVTargetVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVTargetCurrent { + get { + XElement x = this.GetElement(EVTargetCurrentXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)(x)); + } + set { + this.SetElement(EVTargetCurrentXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVMaximumVoltageLimitXName = System.Xml.Linq.XName.Get("EVMaximumVoltageLimit", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetCurrent, EVMaximumVoltageLimit?, EVMaximumCurrentLimit?, EVMaximumPowerLimit?, BulkChargingComplete?, ChargingComplete, RemainingTimeToFullSoC?, RemainingTimeToBulkSoC?, EVTargetVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVMaximumVoltageLimit { + get { + XElement x = this.GetElement(EVMaximumVoltageLimitXName); + if ((x == null)) { + return null; + } + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)(x)); + } + set { + this.SetElement(EVMaximumVoltageLimitXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVMaximumCurrentLimitXName = System.Xml.Linq.XName.Get("EVMaximumCurrentLimit", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetCurrent, EVMaximumVoltageLimit?, EVMaximumCurrentLimit?, EVMaximumPowerLimit?, BulkChargingComplete?, ChargingComplete, RemainingTimeToFullSoC?, RemainingTimeToBulkSoC?, EVTargetVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVMaximumCurrentLimit { + get { + XElement x = this.GetElement(EVMaximumCurrentLimitXName); + if ((x == null)) { + return null; + } + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)(x)); + } + set { + this.SetElement(EVMaximumCurrentLimitXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVMaximumPowerLimitXName = System.Xml.Linq.XName.Get("EVMaximumPowerLimit", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetCurrent, EVMaximumVoltageLimit?, EVMaximumCurrentLimit?, EVMaximumPowerLimit?, BulkChargingComplete?, ChargingComplete, RemainingTimeToFullSoC?, RemainingTimeToBulkSoC?, EVTargetVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVMaximumPowerLimit { + get { + XElement x = this.GetElement(EVMaximumPowerLimitXName); + if ((x == null)) { + return null; + } + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)(x)); + } + set { + this.SetElement(EVMaximumPowerLimitXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName BulkChargingCompleteXName = System.Xml.Linq.XName.Get("BulkChargingComplete", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetCurrent, EVMaximumVoltageLimit?, EVMaximumCurrentLimit?, EVMaximumPowerLimit?, BulkChargingComplete?, ChargingComplete, RemainingTimeToFullSoC?, RemainingTimeToBulkSoC?, EVTargetVoltage) + /// + /// + public virtual System.Boolean? BulkChargingComplete { + get { + XElement x = this.GetElement(BulkChargingCompleteXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetElement(BulkChargingCompleteXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ChargingCompleteXName = System.Xml.Linq.XName.Get("ChargingComplete", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetCurrent, EVMaximumVoltageLimit?, EVMaximumCurrentLimit?, EVMaximumPowerLimit?, BulkChargingComplete?, ChargingComplete, RemainingTimeToFullSoC?, RemainingTimeToBulkSoC?, EVTargetVoltage) + /// + /// + public virtual bool ChargingComplete { + get { + XElement x = this.GetElement(ChargingCompleteXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetElement(ChargingCompleteXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RemainingTimeToFullSoCXName = System.Xml.Linq.XName.Get("RemainingTimeToFullSoC", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetCurrent, EVMaximumVoltageLimit?, EVMaximumCurrentLimit?, EVMaximumPowerLimit?, BulkChargingComplete?, ChargingComplete, RemainingTimeToFullSoC?, RemainingTimeToBulkSoC?, EVTargetVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType RemainingTimeToFullSoC { + get { + XElement x = this.GetElement(RemainingTimeToFullSoCXName); + if ((x == null)) { + return null; + } + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)(x)); + } + set { + this.SetElement(RemainingTimeToFullSoCXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RemainingTimeToBulkSoCXName = System.Xml.Linq.XName.Get("RemainingTimeToBulkSoC", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetCurrent, EVMaximumVoltageLimit?, EVMaximumCurrentLimit?, EVMaximumPowerLimit?, BulkChargingComplete?, ChargingComplete, RemainingTimeToFullSoC?, RemainingTimeToBulkSoC?, EVTargetVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType RemainingTimeToBulkSoC { + get { + XElement x = this.GetElement(RemainingTimeToBulkSoCXName); + if ((x == null)) { + return null; + } + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)(x)); + } + set { + this.SetElement(RemainingTimeToBulkSoCXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVTargetVoltageXName = System.Xml.Linq.XName.Get("EVTargetVoltage", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetCurrent, EVMaximumVoltageLimit?, EVMaximumCurrentLimit?, EVMaximumPowerLimit?, BulkChargingComplete?, ChargingComplete, RemainingTimeToFullSoC?, RemainingTimeToBulkSoC?, EVTargetVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVTargetVoltage { + get { + XElement x = this.GetElement(EVTargetVoltageXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)(x)); + } + set { + this.SetElement(EVTargetVoltageXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CurrentDemandReqType", "urn:din:70121:2012:MsgBody"); + + static CurrentDemandReqType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(DC_EVStatusXName), new NamedContentModelEntity(EVTargetCurrentXName), new NamedContentModelEntity(EVMaximumVoltageLimitXName), new NamedContentModelEntity(EVMaximumCurrentLimitXName), new NamedContentModelEntity(EVMaximumPowerLimitXName), new NamedContentModelEntity(BulkChargingCompleteXName), new NamedContentModelEntity(ChargingCompleteXName), new NamedContentModelEntity(RemainingTimeToFullSoCXName), new NamedContentModelEntity(RemainingTimeToBulkSoCXName), new NamedContentModelEntity(EVTargetVoltageXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(DC_EVStatusXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVStatusType)); + localElementDictionary.Add(EVTargetCurrentXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)); + localElementDictionary.Add(EVMaximumVoltageLimitXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)); + localElementDictionary.Add(EVMaximumCurrentLimitXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)); + localElementDictionary.Add(EVMaximumPowerLimitXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)); + localElementDictionary.Add(BulkChargingCompleteXName, typeof(bool)); + localElementDictionary.Add(ChargingCompleteXName, typeof(bool)); + localElementDictionary.Add(RemainingTimeToFullSoCXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)); + localElementDictionary.Add(RemainingTimeToBulkSoCXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)); + localElementDictionary.Add(EVTargetVoltageXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage, EVSEPresentCurrent, EVSECurrentLimitAchieved, EVSEVoltageLimitAchieved, EVSEPowerLimitAchieved, EVSEMaximumVoltageLimit?, EVSEMaximumCurrentLimit?, EVSEMaximumPowerLimit?) + /// + /// + public partial class CurrentDemandResType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator CurrentDemandResType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage, EVSEPresentCurrent, EVSECurrentLimitAchieved, EVSEVoltageLimitAchieved, EVSEPowerLimitAchieved, EVSEMaximumVoltageLimit?, EVSEMaximumCurrentLimit?, EVSEMaximumPowerLimit?) + /// + /// + public CurrentDemandResType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ResponseCodeXName = System.Xml.Linq.XName.Get("ResponseCode", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage, EVSEPresentCurrent, EVSECurrentLimitAchieved, EVSEVoltageLimitAchieved, EVSEPowerLimitAchieved, EVSEMaximumVoltageLimit?, EVSEMaximumCurrentLimit?, EVSEMaximumPowerLimit?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + XElement x = this.GetElement(ResponseCodeXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(ResponseCodeXName, value.ToString(), "ResponseCode", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DC_EVSEStatusXName = System.Xml.Linq.XName.Get("DC_EVSEStatus", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage, EVSEPresentCurrent, EVSECurrentLimitAchieved, EVSEVoltageLimitAchieved, EVSEPowerLimitAchieved, EVSEMaximumVoltageLimit?, EVSEMaximumCurrentLimit?, EVSEMaximumPowerLimit?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatusType DC_EVSEStatus { + get { + XElement x = this.GetElement(DC_EVSEStatusXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatusType)(x)); + } + set { + this.SetElement(DC_EVSEStatusXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEPresentVoltageXName = System.Xml.Linq.XName.Get("EVSEPresentVoltage", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage, EVSEPresentCurrent, EVSECurrentLimitAchieved, EVSEVoltageLimitAchieved, EVSEPowerLimitAchieved, EVSEMaximumVoltageLimit?, EVSEMaximumCurrentLimit?, EVSEMaximumPowerLimit?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVSEPresentVoltage { + get { + XElement x = this.GetElement(EVSEPresentVoltageXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)(x)); + } + set { + this.SetElement(EVSEPresentVoltageXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEPresentCurrentXName = System.Xml.Linq.XName.Get("EVSEPresentCurrent", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage, EVSEPresentCurrent, EVSECurrentLimitAchieved, EVSEVoltageLimitAchieved, EVSEPowerLimitAchieved, EVSEMaximumVoltageLimit?, EVSEMaximumCurrentLimit?, EVSEMaximumPowerLimit?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVSEPresentCurrent { + get { + XElement x = this.GetElement(EVSEPresentCurrentXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)(x)); + } + set { + this.SetElement(EVSEPresentCurrentXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSECurrentLimitAchievedXName = System.Xml.Linq.XName.Get("EVSECurrentLimitAchieved", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage, EVSEPresentCurrent, EVSECurrentLimitAchieved, EVSEVoltageLimitAchieved, EVSEPowerLimitAchieved, EVSEMaximumVoltageLimit?, EVSEMaximumCurrentLimit?, EVSEMaximumPowerLimit?) + /// + /// + public virtual bool EVSECurrentLimitAchieved { + get { + XElement x = this.GetElement(EVSECurrentLimitAchievedXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetElement(EVSECurrentLimitAchievedXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEVoltageLimitAchievedXName = System.Xml.Linq.XName.Get("EVSEVoltageLimitAchieved", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage, EVSEPresentCurrent, EVSECurrentLimitAchieved, EVSEVoltageLimitAchieved, EVSEPowerLimitAchieved, EVSEMaximumVoltageLimit?, EVSEMaximumCurrentLimit?, EVSEMaximumPowerLimit?) + /// + /// + public virtual bool EVSEVoltageLimitAchieved { + get { + XElement x = this.GetElement(EVSEVoltageLimitAchievedXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetElement(EVSEVoltageLimitAchievedXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEPowerLimitAchievedXName = System.Xml.Linq.XName.Get("EVSEPowerLimitAchieved", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage, EVSEPresentCurrent, EVSECurrentLimitAchieved, EVSEVoltageLimitAchieved, EVSEPowerLimitAchieved, EVSEMaximumVoltageLimit?, EVSEMaximumCurrentLimit?, EVSEMaximumPowerLimit?) + /// + /// + public virtual bool EVSEPowerLimitAchieved { + get { + XElement x = this.GetElement(EVSEPowerLimitAchievedXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + set { + this.SetElement(EVSEPowerLimitAchievedXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Boolean).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEMaximumVoltageLimitXName = System.Xml.Linq.XName.Get("EVSEMaximumVoltageLimit", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage, EVSEPresentCurrent, EVSECurrentLimitAchieved, EVSEVoltageLimitAchieved, EVSEPowerLimitAchieved, EVSEMaximumVoltageLimit?, EVSEMaximumCurrentLimit?, EVSEMaximumPowerLimit?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVSEMaximumVoltageLimit { + get { + XElement x = this.GetElement(EVSEMaximumVoltageLimitXName); + if ((x == null)) { + return null; + } + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)(x)); + } + set { + this.SetElement(EVSEMaximumVoltageLimitXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEMaximumCurrentLimitXName = System.Xml.Linq.XName.Get("EVSEMaximumCurrentLimit", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage, EVSEPresentCurrent, EVSECurrentLimitAchieved, EVSEVoltageLimitAchieved, EVSEPowerLimitAchieved, EVSEMaximumVoltageLimit?, EVSEMaximumCurrentLimit?, EVSEMaximumPowerLimit?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVSEMaximumCurrentLimit { + get { + XElement x = this.GetElement(EVSEMaximumCurrentLimitXName); + if ((x == null)) { + return null; + } + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)(x)); + } + set { + this.SetElement(EVSEMaximumCurrentLimitXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEMaximumPowerLimitXName = System.Xml.Linq.XName.Get("EVSEMaximumPowerLimit", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage, EVSEPresentCurrent, EVSECurrentLimitAchieved, EVSEVoltageLimitAchieved, EVSEPowerLimitAchieved, EVSEMaximumVoltageLimit?, EVSEMaximumCurrentLimit?, EVSEMaximumPowerLimit?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVSEMaximumPowerLimit { + get { + XElement x = this.GetElement(EVSEMaximumPowerLimitXName); + if ((x == null)) { + return null; + } + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)(x)); + } + set { + this.SetElement(EVSEMaximumPowerLimitXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CurrentDemandResType", "urn:din:70121:2012:MsgBody"); + + static CurrentDemandResType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ResponseCodeXName), new NamedContentModelEntity(DC_EVSEStatusXName), new NamedContentModelEntity(EVSEPresentVoltageXName), new NamedContentModelEntity(EVSEPresentCurrentXName), new NamedContentModelEntity(EVSECurrentLimitAchievedXName), new NamedContentModelEntity(EVSEVoltageLimitAchievedXName), new NamedContentModelEntity(EVSEPowerLimitAchievedXName), new NamedContentModelEntity(EVSEMaximumVoltageLimitXName), new NamedContentModelEntity(EVSEMaximumCurrentLimitXName), new NamedContentModelEntity(EVSEMaximumPowerLimitXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ResponseCodeXName, typeof(string)); + localElementDictionary.Add(DC_EVSEStatusXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatusType)); + localElementDictionary.Add(EVSEPresentVoltageXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)); + localElementDictionary.Add(EVSEPresentCurrentXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)); + localElementDictionary.Add(EVSECurrentLimitAchievedXName, typeof(bool)); + localElementDictionary.Add(EVSEVoltageLimitAchievedXName, typeof(bool)); + localElementDictionary.Add(EVSEPowerLimitAchievedXName, typeof(bool)); + localElementDictionary.Add(EVSEMaximumVoltageLimitXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)); + localElementDictionary.Add(EVSEMaximumCurrentLimitXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)); + localElementDictionary.Add(EVSEMaximumPowerLimitXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (DC_EVStatus) + /// + /// + public partial class WeldingDetectionReqType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator WeldingDetectionReqType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (DC_EVStatus) + /// + /// + public WeldingDetectionReqType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DC_EVStatusXName = System.Xml.Linq.XName.Get("DC_EVStatus", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVStatusType DC_EVStatus { + get { + XElement x = this.GetElement(DC_EVStatusXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVStatusType)(x)); + } + set { + this.SetElement(DC_EVStatusXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("WeldingDetectionReqType", "urn:din:70121:2012:MsgBody"); + + static WeldingDetectionReqType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(DC_EVStatusXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(DC_EVStatusXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVStatusType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage) + /// + /// + public partial class WeldingDetectionResType : global::urn.din.Item70121.Item2012.MsgDef.BodyBaseType, IXMetaData { + + public static explicit operator WeldingDetectionResType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage) + /// + /// + public WeldingDetectionResType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ResponseCodeXName = System.Xml.Linq.XName.Get("ResponseCode", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + XElement x = this.GetElement(ResponseCodeXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType)(Enum.Parse(typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType), XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition)))); + } + set { + this.SetElementWithValidation(ResponseCodeXName, value.ToString(), "ResponseCode", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeTypeValidator.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DC_EVSEStatusXName = System.Xml.Linq.XName.Get("DC_EVSEStatus", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatusType DC_EVSEStatus { + get { + XElement x = this.GetElement(DC_EVSEStatusXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatusType)(x)); + } + set { + this.SetElement(DC_EVSEStatusXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EVSEPresentVoltageXName = System.Xml.Linq.XName.Get("EVSEPresentVoltage", "urn:din:70121:2012:MsgBody"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVSEPresentVoltage { + get { + XElement x = this.GetElement(EVSEPresentVoltageXName); + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)(x)); + } + set { + this.SetElement(EVSEPresentVoltageXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("WeldingDetectionResType", "urn:din:70121:2012:MsgBody"); + + static WeldingDetectionResType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ResponseCodeXName), new NamedContentModelEntity(DC_EVSEStatusXName), new NamedContentModelEntity(EVSEPresentVoltageXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ResponseCodeXName, typeof(string)); + localElementDictionary.Add(DC_EVSEStatusXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatusType)); + localElementDictionary.Add(EVSEPresentVoltageXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class SessionSetupReq : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static SessionSetupReq Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static SessionSetupReq Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static SessionSetupReq Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator SessionSetupReq(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new SessionSetupReq(((SessionSetupReqType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SessionSetupReqType ContentField; + + public SessionSetupReq() : + base(true) { + SetInnerType(new SessionSetupReqType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SessionSetupReqType Content { + get { + return ContentField; + } + } + + private void SetInnerType(SessionSetupReqType ContentField) { + this.ContentField = ((SessionSetupReqType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public SessionSetupReq(SessionSetupReqType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (EVCCID) + /// + /// + public virtual byte[] EVCCID { + get { + return this.ContentField.EVCCID; + } + set { + this.ContentField.EVCCID = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SessionSetupReq", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class SessionSetupRes : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static SessionSetupRes Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static SessionSetupRes Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static SessionSetupRes Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator SessionSetupRes(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new SessionSetupRes(((SessionSetupResType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SessionSetupResType ContentField; + + public SessionSetupRes() : + base(true) { + SetInnerType(new SessionSetupResType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SessionSetupResType Content { + get { + return ContentField; + } + } + + private void SetInnerType(SessionSetupResType ContentField) { + this.ContentField = ((SessionSetupResType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public SessionSetupRes(SessionSetupResType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, EVSEID, DateTimeNow?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + return this.ContentField.ResponseCode; + } + set { + this.ContentField.ResponseCode = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, EVSEID, DateTimeNow?) + /// + /// + public virtual byte[] EVSEID { + get { + return this.ContentField.EVSEID; + } + set { + this.ContentField.EVSEID = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ResponseCode, EVSEID, DateTimeNow?) + /// + /// + public virtual System.Int64? DateTimeNow { + get { + return this.ContentField.DateTimeNow; + } + set { + this.ContentField.DateTimeNow = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SessionSetupRes", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class ServiceDiscoveryReq : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static ServiceDiscoveryReq Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static ServiceDiscoveryReq Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static ServiceDiscoveryReq Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator ServiceDiscoveryReq(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new ServiceDiscoveryReq(((ServiceDiscoveryReqType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private ServiceDiscoveryReqType ContentField; + + public ServiceDiscoveryReq() : + base(true) { + SetInnerType(new ServiceDiscoveryReqType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual ServiceDiscoveryReqType Content { + get { + return ContentField; + } + } + + private void SetInnerType(ServiceDiscoveryReqType ContentField) { + this.ContentField = ((ServiceDiscoveryReqType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public ServiceDiscoveryReq(ServiceDiscoveryReqType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ServiceScope?, ServiceCategory?) + /// + /// + public virtual string ServiceScope { + get { + return this.ContentField.ServiceScope; + } + set { + this.ContentField.ServiceScope = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ServiceScope?, ServiceCategory?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.serviceCategoryType? ServiceCategory { + get { + return this.ContentField.ServiceCategory; + } + set { + this.ContentField.ServiceCategory = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ServiceDiscoveryReq", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class ServiceDiscoveryRes : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static ServiceDiscoveryRes Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static ServiceDiscoveryRes Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static ServiceDiscoveryRes Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator ServiceDiscoveryRes(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new ServiceDiscoveryRes(((ServiceDiscoveryResType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private ServiceDiscoveryResType ContentField; + + public ServiceDiscoveryRes() : + base(true) { + SetInnerType(new ServiceDiscoveryResType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual ServiceDiscoveryResType Content { + get { + return ContentField; + } + } + + private void SetInnerType(ServiceDiscoveryResType ContentField) { + this.ContentField = ((ServiceDiscoveryResType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public ServiceDiscoveryRes(ServiceDiscoveryResType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, PaymentOptions, ChargeService, ServiceList?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + return this.ContentField.ResponseCode; + } + set { + this.ContentField.ResponseCode = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, PaymentOptions, ChargeService, ServiceList?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PaymentOptionsType PaymentOptions { + get { + return this.ContentField.PaymentOptions; + } + set { + this.ContentField.PaymentOptions = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, PaymentOptions, ChargeService, ServiceList?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ServiceChargeType ChargeService { + get { + return this.ContentField.ChargeService; + } + set { + this.ContentField.ChargeService = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ResponseCode, PaymentOptions, ChargeService, ServiceList?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ServiceTagListType ServiceList { + get { + return this.ContentField.ServiceList; + } + set { + this.ContentField.ServiceList = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ServiceDiscoveryRes", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class ServiceDetailReq : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static ServiceDetailReq Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static ServiceDetailReq Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static ServiceDetailReq Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator ServiceDetailReq(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new ServiceDetailReq(((ServiceDetailReqType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private ServiceDetailReqType ContentField; + + public ServiceDetailReq() : + base(true) { + SetInnerType(new ServiceDetailReqType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual ServiceDetailReqType Content { + get { + return ContentField; + } + } + + private void SetInnerType(ServiceDetailReqType ContentField) { + this.ContentField = ((ServiceDetailReqType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public ServiceDetailReq(ServiceDetailReqType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ServiceID) + /// + /// + public virtual ushort ServiceID { + get { + return this.ContentField.ServiceID; + } + set { + this.ContentField.ServiceID = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ServiceDetailReq", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class ServiceDetailRes : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static ServiceDetailRes Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static ServiceDetailRes Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static ServiceDetailRes Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator ServiceDetailRes(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new ServiceDetailRes(((ServiceDetailResType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private ServiceDetailResType ContentField; + + public ServiceDetailRes() : + base(true) { + SetInnerType(new ServiceDetailResType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual ServiceDetailResType Content { + get { + return ContentField; + } + } + + private void SetInnerType(ServiceDetailResType ContentField) { + this.ContentField = ((ServiceDetailResType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public ServiceDetailRes(ServiceDetailResType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, ServiceID, ServiceParameterList?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + return this.ContentField.ResponseCode; + } + set { + this.ContentField.ResponseCode = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, ServiceID, ServiceParameterList?) + /// + /// + public virtual ushort ServiceID { + get { + return this.ContentField.ServiceID; + } + set { + this.ContentField.ServiceID = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ResponseCode, ServiceID, ServiceParameterList?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ServiceParameterListType ServiceParameterList { + get { + return this.ContentField.ServiceParameterList; + } + set { + this.ContentField.ServiceParameterList = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ServiceDetailRes", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class ServicePaymentSelectionReq : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static ServicePaymentSelectionReq Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static ServicePaymentSelectionReq Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static ServicePaymentSelectionReq Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator ServicePaymentSelectionReq(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new ServicePaymentSelectionReq(((ServicePaymentSelectionReqType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private ServicePaymentSelectionReqType ContentField; + + public ServicePaymentSelectionReq() : + base(true) { + SetInnerType(new ServicePaymentSelectionReqType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual ServicePaymentSelectionReqType Content { + get { + return ContentField; + } + } + + private void SetInnerType(ServicePaymentSelectionReqType ContentField) { + this.ContentField = ((ServicePaymentSelectionReqType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public ServicePaymentSelectionReq(ServicePaymentSelectionReqType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (SelectedPaymentOption, SelectedServiceList) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.paymentOptionType SelectedPaymentOption { + get { + return this.ContentField.SelectedPaymentOption; + } + set { + this.ContentField.SelectedPaymentOption = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (SelectedPaymentOption, SelectedServiceList) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SelectedServiceListType SelectedServiceList { + get { + return this.ContentField.SelectedServiceList; + } + set { + this.ContentField.SelectedServiceList = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ServicePaymentSelectionReq", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class ServicePaymentSelectionRes : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static ServicePaymentSelectionRes Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static ServicePaymentSelectionRes Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static ServicePaymentSelectionRes Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator ServicePaymentSelectionRes(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new ServicePaymentSelectionRes(((ServicePaymentSelectionResType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private ServicePaymentSelectionResType ContentField; + + public ServicePaymentSelectionRes() : + base(true) { + SetInnerType(new ServicePaymentSelectionResType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual ServicePaymentSelectionResType Content { + get { + return ContentField; + } + } + + private void SetInnerType(ServicePaymentSelectionResType ContentField) { + this.ContentField = ((ServicePaymentSelectionResType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public ServicePaymentSelectionRes(ServicePaymentSelectionResType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + return this.ContentField.ResponseCode; + } + set { + this.ContentField.ResponseCode = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ServicePaymentSelectionRes", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class PaymentDetailsReq : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static PaymentDetailsReq Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static PaymentDetailsReq Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static PaymentDetailsReq Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator PaymentDetailsReq(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new PaymentDetailsReq(((PaymentDetailsReqType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private PaymentDetailsReqType ContentField; + + public PaymentDetailsReq() : + base(true) { + SetInnerType(new PaymentDetailsReqType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual PaymentDetailsReqType Content { + get { + return ContentField; + } + } + + private void SetInnerType(PaymentDetailsReqType ContentField) { + this.ContentField = ((PaymentDetailsReqType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public PaymentDetailsReq(PaymentDetailsReqType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ContractID, ContractSignatureCertChain) + /// + /// + public virtual string ContractID { + get { + return this.ContentField.ContractID; + } + set { + this.ContentField.ContractID = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ContractID, ContractSignatureCertChain) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.CertificateChainType ContractSignatureCertChain { + get { + return this.ContentField.ContractSignatureCertChain; + } + set { + this.ContentField.ContractSignatureCertChain = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("PaymentDetailsReq", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class PaymentDetailsRes : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static PaymentDetailsRes Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static PaymentDetailsRes Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static PaymentDetailsRes Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator PaymentDetailsRes(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new PaymentDetailsRes(((PaymentDetailsResType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private PaymentDetailsResType ContentField; + + public PaymentDetailsRes() : + base(true) { + SetInnerType(new PaymentDetailsResType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual PaymentDetailsResType Content { + get { + return ContentField; + } + } + + private void SetInnerType(PaymentDetailsResType ContentField) { + this.ContentField = ((PaymentDetailsResType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public PaymentDetailsRes(PaymentDetailsResType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, GenChallenge, DateTimeNow) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + return this.ContentField.ResponseCode; + } + set { + this.ContentField.ResponseCode = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, GenChallenge, DateTimeNow) + /// + /// + public virtual string GenChallenge { + get { + return this.ContentField.GenChallenge; + } + set { + this.ContentField.GenChallenge = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, GenChallenge, DateTimeNow) + /// + /// + public virtual long DateTimeNow { + get { + return this.ContentField.DateTimeNow; + } + set { + this.ContentField.DateTimeNow = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("PaymentDetailsRes", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class ContractAuthenticationReq : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static ContractAuthenticationReq Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static ContractAuthenticationReq Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static ContractAuthenticationReq Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator ContractAuthenticationReq(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new ContractAuthenticationReq(((ContractAuthenticationReqType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private ContractAuthenticationReqType ContentField; + + public ContractAuthenticationReq() : + base(true) { + SetInnerType(new ContractAuthenticationReqType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual ContractAuthenticationReqType Content { + get { + return ContentField; + } + } + + private void SetInnerType(ContractAuthenticationReqType ContentField) { + this.ContentField = ((ContractAuthenticationReqType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public ContractAuthenticationReq(ContractAuthenticationReqType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (GenChallenge?) + /// + /// + public virtual string GenChallenge { + get { + return this.ContentField.GenChallenge; + } + set { + this.ContentField.GenChallenge = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Id { + get { + return this.ContentField.Id; + } + set { + this.ContentField.Id = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ContractAuthenticationReq", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class ContractAuthenticationRes : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static ContractAuthenticationRes Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static ContractAuthenticationRes Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static ContractAuthenticationRes Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator ContractAuthenticationRes(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new ContractAuthenticationRes(((ContractAuthenticationResType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private ContractAuthenticationResType ContentField; + + public ContractAuthenticationRes() : + base(true) { + SetInnerType(new ContractAuthenticationResType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual ContractAuthenticationResType Content { + get { + return ContentField; + } + } + + private void SetInnerType(ContractAuthenticationResType ContentField) { + this.ContentField = ((ContractAuthenticationResType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public ContractAuthenticationRes(ContractAuthenticationResType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, EVSEProcessing) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + return this.ContentField.ResponseCode; + } + set { + this.ContentField.ResponseCode = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, EVSEProcessing) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEProcessingType EVSEProcessing { + get { + return this.ContentField.EVSEProcessing; + } + set { + this.ContentField.EVSEProcessing = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ContractAuthenticationRes", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class ChargeParameterDiscoveryReq : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static ChargeParameterDiscoveryReq Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static ChargeParameterDiscoveryReq Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static ChargeParameterDiscoveryReq Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator ChargeParameterDiscoveryReq(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new ChargeParameterDiscoveryReq(((ChargeParameterDiscoveryReqType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private ChargeParameterDiscoveryReqType ContentField; + + public ChargeParameterDiscoveryReq() : + base(true) { + SetInnerType(new ChargeParameterDiscoveryReqType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual ChargeParameterDiscoveryReqType Content { + get { + return ContentField; + } + } + + private void SetInnerType(ChargeParameterDiscoveryReqType ContentField) { + this.ContentField = ((ChargeParameterDiscoveryReqType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public ChargeParameterDiscoveryReq(ChargeParameterDiscoveryReqType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (EVRequestedEnergyTransferType, EVChargeParameter) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVRequestedEnergyTransferType EVRequestedEnergyTransferType { + get { + return this.ContentField.EVRequestedEnergyTransferType; + } + set { + this.ContentField.EVRequestedEnergyTransferType = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Substitution members: EVChargeParameter, AC_EVChargeParameter, DC_EVChargeParameter + /// + /// + /// Regular expression: (EVRequestedEnergyTransferType, EVChargeParameter) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVChargeParameter EVChargeParameter { + get { + return this.ContentField.EVChargeParameter; + } + set { + this.ContentField.EVChargeParameter = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ChargeParameterDiscoveryReq", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class ChargeParameterDiscoveryRes : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static ChargeParameterDiscoveryRes Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static ChargeParameterDiscoveryRes Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static ChargeParameterDiscoveryRes Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator ChargeParameterDiscoveryRes(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new ChargeParameterDiscoveryRes(((ChargeParameterDiscoveryResType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private ChargeParameterDiscoveryResType ContentField; + + public ChargeParameterDiscoveryRes() : + base(true) { + SetInnerType(new ChargeParameterDiscoveryResType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual ChargeParameterDiscoveryResType Content { + get { + return ContentField; + } + } + + private void SetInnerType(ChargeParameterDiscoveryResType ContentField) { + this.ContentField = ((ChargeParameterDiscoveryResType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public ChargeParameterDiscoveryRes(ChargeParameterDiscoveryResType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, EVSEProcessing, SASchedules, EVSEChargeParameter) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + return this.ContentField.ResponseCode; + } + set { + this.ContentField.ResponseCode = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, EVSEProcessing, SASchedules, EVSEChargeParameter) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEProcessingType EVSEProcessing { + get { + return this.ContentField.EVSEProcessing; + } + set { + this.ContentField.EVSEProcessing = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Substitution members: SASchedules, SAScheduleList + /// + /// + /// Regular expression: (ResponseCode, EVSEProcessing, SASchedules, EVSEChargeParameter) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.SASchedules SASchedules { + get { + return this.ContentField.SASchedules; + } + set { + this.ContentField.SASchedules = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Substitution members: EVSEChargeParameter, AC_EVSEChargeParameter, DC_EVSEChargeParameter + /// + /// + /// Regular expression: (ResponseCode, EVSEProcessing, SASchedules, EVSEChargeParameter) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEChargeParameter EVSEChargeParameter { + get { + return this.ContentField.EVSEChargeParameter; + } + set { + this.ContentField.EVSEChargeParameter = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ChargeParameterDiscoveryRes", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class PowerDeliveryReq : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static PowerDeliveryReq Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static PowerDeliveryReq Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static PowerDeliveryReq Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator PowerDeliveryReq(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new PowerDeliveryReq(((PowerDeliveryReqType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private PowerDeliveryReqType ContentField; + + public PowerDeliveryReq() : + base(true) { + SetInnerType(new PowerDeliveryReqType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual PowerDeliveryReqType Content { + get { + return ContentField; + } + } + + private void SetInnerType(PowerDeliveryReqType ContentField) { + this.ContentField = ((PowerDeliveryReqType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public PowerDeliveryReq(PowerDeliveryReqType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ReadyToChargeState, ChargingProfile?, EVPowerDeliveryParameter?) + /// + /// + public virtual bool ReadyToChargeState { + get { + return this.ContentField.ReadyToChargeState; + } + set { + this.ContentField.ReadyToChargeState = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ReadyToChargeState, ChargingProfile?, EVPowerDeliveryParameter?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ChargingProfileType ChargingProfile { + get { + return this.ContentField.ChargingProfile; + } + set { + this.ContentField.ChargingProfile = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Substitution members: EVPowerDeliveryParameter, DC_EVPowerDeliveryParameter + /// + /// + /// Regular expression: (ReadyToChargeState, ChargingProfile?, EVPowerDeliveryParameter?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVPowerDeliveryParameter EVPowerDeliveryParameter { + get { + return this.ContentField.EVPowerDeliveryParameter; + } + set { + this.ContentField.EVPowerDeliveryParameter = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("PowerDeliveryReq", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class PowerDeliveryRes : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static PowerDeliveryRes Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static PowerDeliveryRes Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static PowerDeliveryRes Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator PowerDeliveryRes(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new PowerDeliveryRes(((PowerDeliveryResType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private PowerDeliveryResType ContentField; + + public PowerDeliveryRes() : + base(true) { + SetInnerType(new PowerDeliveryResType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual PowerDeliveryResType Content { + get { + return ContentField; + } + } + + private void SetInnerType(PowerDeliveryResType ContentField) { + this.ContentField = ((PowerDeliveryResType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public PowerDeliveryRes(PowerDeliveryResType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, EVSEStatus) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + return this.ContentField.ResponseCode; + } + set { + this.ContentField.ResponseCode = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Substitution members: EVSEStatus, AC_EVSEStatus, DC_EVSEStatus + /// + /// + /// Regular expression: (ResponseCode, EVSEStatus) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEStatus EVSEStatus { + get { + return this.ContentField.EVSEStatus; + } + set { + this.ContentField.EVSEStatus = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("PowerDeliveryRes", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class ChargingStatusReq : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static ChargingStatusReq Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static ChargingStatusReq Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static ChargingStatusReq Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator ChargingStatusReq(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new ChargingStatusReq(((ChargingStatusReqType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private ChargingStatusReqType ContentField; + + public ChargingStatusReq() : + base(true) { + SetInnerType(new ChargingStatusReqType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual ChargingStatusReqType Content { + get { + return ContentField; + } + } + + private void SetInnerType(ChargingStatusReqType ContentField) { + this.ContentField = ((ChargingStatusReqType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public ChargingStatusReq(ChargingStatusReqType content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ChargingStatusReq", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class ChargingStatusRes : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static ChargingStatusRes Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static ChargingStatusRes Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static ChargingStatusRes Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator ChargingStatusRes(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new ChargingStatusRes(((ChargingStatusResType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private ChargingStatusResType ContentField; + + public ChargingStatusRes() : + base(true) { + SetInnerType(new ChargingStatusResType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual ChargingStatusResType Content { + get { + return ContentField; + } + } + + private void SetInnerType(ChargingStatusResType ContentField) { + this.ContentField = ((ChargingStatusResType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public ChargingStatusRes(ChargingStatusResType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, EVSEID, SAScheduleTupleID, EVSEMaxCurrent?, MeterInfo?, ReceiptRequired, AC_EVSEStatus) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + return this.ContentField.ResponseCode; + } + set { + this.ContentField.ResponseCode = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, EVSEID, SAScheduleTupleID, EVSEMaxCurrent?, MeterInfo?, ReceiptRequired, AC_EVSEStatus) + /// + /// + public virtual byte[] EVSEID { + get { + return this.ContentField.EVSEID; + } + set { + this.ContentField.EVSEID = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, EVSEID, SAScheduleTupleID, EVSEMaxCurrent?, MeterInfo?, ReceiptRequired, AC_EVSEStatus) + /// + /// + public virtual short SAScheduleTupleID { + get { + return this.ContentField.SAScheduleTupleID; + } + set { + this.ContentField.SAScheduleTupleID = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ResponseCode, EVSEID, SAScheduleTupleID, EVSEMaxCurrent?, MeterInfo?, ReceiptRequired, AC_EVSEStatus) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVSEMaxCurrent { + get { + return this.ContentField.EVSEMaxCurrent; + } + set { + this.ContentField.EVSEMaxCurrent = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ResponseCode, EVSEID, SAScheduleTupleID, EVSEMaxCurrent?, MeterInfo?, ReceiptRequired, AC_EVSEStatus) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.MeterInfoType MeterInfo { + get { + return this.ContentField.MeterInfo; + } + set { + this.ContentField.MeterInfo = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, EVSEID, SAScheduleTupleID, EVSEMaxCurrent?, MeterInfo?, ReceiptRequired, AC_EVSEStatus) + /// + /// + public virtual bool ReceiptRequired { + get { + return this.ContentField.ReceiptRequired; + } + set { + this.ContentField.ReceiptRequired = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, EVSEID, SAScheduleTupleID, EVSEMaxCurrent?, MeterInfo?, ReceiptRequired, AC_EVSEStatus) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVSEStatusType AC_EVSEStatus { + get { + return this.ContentField.AC_EVSEStatus; + } + set { + this.ContentField.AC_EVSEStatus = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ChargingStatusRes", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class MeteringReceiptReq : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static MeteringReceiptReq Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static MeteringReceiptReq Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static MeteringReceiptReq Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator MeteringReceiptReq(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new MeteringReceiptReq(((MeteringReceiptReqType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private MeteringReceiptReqType ContentField; + + public MeteringReceiptReq() : + base(true) { + SetInnerType(new MeteringReceiptReqType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual MeteringReceiptReqType Content { + get { + return ContentField; + } + } + + private void SetInnerType(MeteringReceiptReqType ContentField) { + this.ContentField = ((MeteringReceiptReqType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public MeteringReceiptReq(MeteringReceiptReqType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (SessionID, SAScheduleTupleID?, MeterInfo) + /// + /// + public virtual byte[] SessionID { + get { + return this.ContentField.SessionID; + } + set { + this.ContentField.SessionID = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (SessionID, SAScheduleTupleID?, MeterInfo) + /// + /// + public virtual System.Int16? SAScheduleTupleID { + get { + return this.ContentField.SAScheduleTupleID; + } + set { + this.ContentField.SAScheduleTupleID = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (SessionID, SAScheduleTupleID?, MeterInfo) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.MeterInfoType MeterInfo { + get { + return this.ContentField.MeterInfo; + } + set { + this.ContentField.MeterInfo = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Id { + get { + return this.ContentField.Id; + } + set { + this.ContentField.Id = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("MeteringReceiptReq", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class MeteringReceiptRes : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static MeteringReceiptRes Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static MeteringReceiptRes Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static MeteringReceiptRes Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator MeteringReceiptRes(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new MeteringReceiptRes(((MeteringReceiptResType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private MeteringReceiptResType ContentField; + + public MeteringReceiptRes() : + base(true) { + SetInnerType(new MeteringReceiptResType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual MeteringReceiptResType Content { + get { + return ContentField; + } + } + + private void SetInnerType(MeteringReceiptResType ContentField) { + this.ContentField = ((MeteringReceiptResType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public MeteringReceiptRes(MeteringReceiptResType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, AC_EVSEStatus) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + return this.ContentField.ResponseCode; + } + set { + this.ContentField.ResponseCode = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, AC_EVSEStatus) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.AC_EVSEStatusType AC_EVSEStatus { + get { + return this.ContentField.AC_EVSEStatus; + } + set { + this.ContentField.AC_EVSEStatus = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("MeteringReceiptRes", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class SessionStopReq : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static SessionStopReq Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static SessionStopReq Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static SessionStopReq Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator SessionStopReq(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new SessionStopReq(((SessionStopType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SessionStopType ContentField; + + public SessionStopReq() : + base(true) { + SetInnerType(new SessionStopType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SessionStopType Content { + get { + return ContentField; + } + } + + private void SetInnerType(SessionStopType ContentField) { + this.ContentField = ((SessionStopType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public SessionStopReq(SessionStopType content) : + base(true) { + SetInnerType(content); + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SessionStopReq", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class SessionStopRes : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static SessionStopRes Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static SessionStopRes Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static SessionStopRes Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator SessionStopRes(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new SessionStopRes(((SessionStopResType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SessionStopResType ContentField; + + public SessionStopRes() : + base(true) { + SetInnerType(new SessionStopResType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual SessionStopResType Content { + get { + return ContentField; + } + } + + private void SetInnerType(SessionStopResType ContentField) { + this.ContentField = ((SessionStopResType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public SessionStopRes(SessionStopResType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + return this.ContentField.ResponseCode; + } + set { + this.ContentField.ResponseCode = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SessionStopRes", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class CertificateUpdateReq : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static CertificateUpdateReq Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static CertificateUpdateReq Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static CertificateUpdateReq Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator CertificateUpdateReq(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new CertificateUpdateReq(((CertificateUpdateReqType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private CertificateUpdateReqType ContentField; + + public CertificateUpdateReq() : + base(true) { + SetInnerType(new CertificateUpdateReqType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual CertificateUpdateReqType Content { + get { + return ContentField; + } + } + + private void SetInnerType(CertificateUpdateReqType ContentField) { + this.ContentField = ((CertificateUpdateReqType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public CertificateUpdateReq(CertificateUpdateReqType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ContractSignatureCertChain, ContractID, ListOfRootCertificateIDs, DHParams) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.CertificateChainType ContractSignatureCertChain { + get { + return this.ContentField.ContractSignatureCertChain; + } + set { + this.ContentField.ContractSignatureCertChain = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ContractSignatureCertChain, ContractID, ListOfRootCertificateIDs, DHParams) + /// + /// + public virtual string ContractID { + get { + return this.ContentField.ContractID; + } + set { + this.ContentField.ContractID = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ContractSignatureCertChain, ContractID, ListOfRootCertificateIDs, DHParams) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ListOfRootCertificateIDsType ListOfRootCertificateIDs { + get { + return this.ContentField.ListOfRootCertificateIDs; + } + set { + this.ContentField.ListOfRootCertificateIDs = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ContractSignatureCertChain, ContractID, ListOfRootCertificateIDs, DHParams) + /// + /// + public virtual byte[] DHParams { + get { + return this.ContentField.DHParams; + } + set { + this.ContentField.DHParams = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Id { + get { + return this.ContentField.Id; + } + set { + this.ContentField.Id = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CertificateUpdateReq", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class CertificateUpdateRes : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static CertificateUpdateRes Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static CertificateUpdateRes Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static CertificateUpdateRes Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator CertificateUpdateRes(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new CertificateUpdateRes(((CertificateUpdateResType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private CertificateUpdateResType ContentField; + + public CertificateUpdateRes() : + base(true) { + SetInnerType(new CertificateUpdateResType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual CertificateUpdateResType Content { + get { + return ContentField; + } + } + + private void SetInnerType(CertificateUpdateResType ContentField) { + this.ContentField = ((CertificateUpdateResType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public CertificateUpdateRes(CertificateUpdateResType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, ContractSignatureCertChain, ContractSignatureEncryptedPrivateKey, DHParams, ContractID, RetryCounter) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + return this.ContentField.ResponseCode; + } + set { + this.ContentField.ResponseCode = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, ContractSignatureCertChain, ContractSignatureEncryptedPrivateKey, DHParams, ContractID, RetryCounter) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.CertificateChainType ContractSignatureCertChain { + get { + return this.ContentField.ContractSignatureCertChain; + } + set { + this.ContentField.ContractSignatureCertChain = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, ContractSignatureCertChain, ContractSignatureEncryptedPrivateKey, DHParams, ContractID, RetryCounter) + /// + /// + public virtual byte[] ContractSignatureEncryptedPrivateKey { + get { + return this.ContentField.ContractSignatureEncryptedPrivateKey; + } + set { + this.ContentField.ContractSignatureEncryptedPrivateKey = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, ContractSignatureCertChain, ContractSignatureEncryptedPrivateKey, DHParams, ContractID, RetryCounter) + /// + /// + public virtual byte[] DHParams { + get { + return this.ContentField.DHParams; + } + set { + this.ContentField.DHParams = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, ContractSignatureCertChain, ContractSignatureEncryptedPrivateKey, DHParams, ContractID, RetryCounter) + /// + /// + public virtual string ContractID { + get { + return this.ContentField.ContractID; + } + set { + this.ContentField.ContractID = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, ContractSignatureCertChain, ContractSignatureEncryptedPrivateKey, DHParams, ContractID, RetryCounter) + /// + /// + public virtual short RetryCounter { + get { + return this.ContentField.RetryCounter; + } + set { + this.ContentField.RetryCounter = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + public virtual string Id { + get { + return this.ContentField.Id; + } + set { + this.ContentField.Id = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CertificateUpdateRes", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class CertificateInstallationReq : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static CertificateInstallationReq Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static CertificateInstallationReq Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static CertificateInstallationReq Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator CertificateInstallationReq(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new CertificateInstallationReq(((CertificateInstallationReqType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private CertificateInstallationReqType ContentField; + + public CertificateInstallationReq() : + base(true) { + SetInnerType(new CertificateInstallationReqType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual CertificateInstallationReqType Content { + get { + return ContentField; + } + } + + private void SetInnerType(CertificateInstallationReqType ContentField) { + this.ContentField = ((CertificateInstallationReqType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public CertificateInstallationReq(CertificateInstallationReqType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (OEMProvisioningCert, ListOfRootCertificateIDs, DHParams) + /// + /// + public virtual byte[] OEMProvisioningCert { + get { + return this.ContentField.OEMProvisioningCert; + } + set { + this.ContentField.OEMProvisioningCert = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (OEMProvisioningCert, ListOfRootCertificateIDs, DHParams) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.ListOfRootCertificateIDsType ListOfRootCertificateIDs { + get { + return this.ContentField.ListOfRootCertificateIDs; + } + set { + this.ContentField.ListOfRootCertificateIDs = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (OEMProvisioningCert, ListOfRootCertificateIDs, DHParams) + /// + /// + public virtual byte[] DHParams { + get { + return this.ContentField.DHParams; + } + set { + this.ContentField.DHParams = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Id { + get { + return this.ContentField.Id; + } + set { + this.ContentField.Id = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CertificateInstallationReq", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class CertificateInstallationRes : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static CertificateInstallationRes Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static CertificateInstallationRes Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static CertificateInstallationRes Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator CertificateInstallationRes(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new CertificateInstallationRes(((CertificateInstallationResType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private CertificateInstallationResType ContentField; + + public CertificateInstallationRes() : + base(true) { + SetInnerType(new CertificateInstallationResType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual CertificateInstallationResType Content { + get { + return ContentField; + } + } + + private void SetInnerType(CertificateInstallationResType ContentField) { + this.ContentField = ((CertificateInstallationResType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public CertificateInstallationRes(CertificateInstallationResType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, ContractSignatureCertChain, ContractSignatureEncryptedPrivateKey, DHParams, ContractID) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + return this.ContentField.ResponseCode; + } + set { + this.ContentField.ResponseCode = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, ContractSignatureCertChain, ContractSignatureEncryptedPrivateKey, DHParams, ContractID) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.CertificateChainType ContractSignatureCertChain { + get { + return this.ContentField.ContractSignatureCertChain; + } + set { + this.ContentField.ContractSignatureCertChain = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, ContractSignatureCertChain, ContractSignatureEncryptedPrivateKey, DHParams, ContractID) + /// + /// + public virtual byte[] ContractSignatureEncryptedPrivateKey { + get { + return this.ContentField.ContractSignatureEncryptedPrivateKey; + } + set { + this.ContentField.ContractSignatureEncryptedPrivateKey = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, ContractSignatureCertChain, ContractSignatureEncryptedPrivateKey, DHParams, ContractID) + /// + /// + public virtual byte[] DHParams { + get { + return this.ContentField.DHParams; + } + set { + this.ContentField.DHParams = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, ContractSignatureCertChain, ContractSignatureEncryptedPrivateKey, DHParams, ContractID) + /// + /// + public virtual string ContractID { + get { + return this.ContentField.ContractID; + } + set { + this.ContentField.ContractID = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + public virtual string Id { + get { + return this.ContentField.Id; + } + set { + this.ContentField.Id = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CertificateInstallationRes", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class CableCheckReq : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static CableCheckReq Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static CableCheckReq Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static CableCheckReq Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator CableCheckReq(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new CableCheckReq(((CableCheckReqType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private CableCheckReqType ContentField; + + public CableCheckReq() : + base(true) { + SetInnerType(new CableCheckReqType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual CableCheckReqType Content { + get { + return ContentField; + } + } + + private void SetInnerType(CableCheckReqType ContentField) { + this.ContentField = ((CableCheckReqType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public CableCheckReq(CableCheckReqType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVStatusType DC_EVStatus { + get { + return this.ContentField.DC_EVStatus; + } + set { + this.ContentField.DC_EVStatus = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CableCheckReq", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class CableCheckRes : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static CableCheckRes Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static CableCheckRes Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static CableCheckRes Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator CableCheckRes(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new CableCheckRes(((CableCheckResType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private CableCheckResType ContentField; + + public CableCheckRes() : + base(true) { + SetInnerType(new CableCheckResType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual CableCheckResType Content { + get { + return ContentField; + } + } + + private void SetInnerType(CableCheckResType ContentField) { + this.ContentField = ((CableCheckResType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public CableCheckRes(CableCheckResType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEProcessing) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + return this.ContentField.ResponseCode; + } + set { + this.ContentField.ResponseCode = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEProcessing) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatusType DC_EVSEStatus { + get { + return this.ContentField.DC_EVSEStatus; + } + set { + this.ContentField.DC_EVSEStatus = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEProcessing) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.EVSEProcessingType EVSEProcessing { + get { + return this.ContentField.EVSEProcessing; + } + set { + this.ContentField.EVSEProcessing = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CableCheckRes", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class PreChargeReq : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static PreChargeReq Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static PreChargeReq Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static PreChargeReq Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator PreChargeReq(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new PreChargeReq(((PreChargeReqType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private PreChargeReqType ContentField; + + public PreChargeReq() : + base(true) { + SetInnerType(new PreChargeReqType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual PreChargeReqType Content { + get { + return ContentField; + } + } + + private void SetInnerType(PreChargeReqType ContentField) { + this.ContentField = ((PreChargeReqType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public PreChargeReq(PreChargeReqType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetVoltage, EVTargetCurrent) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVStatusType DC_EVStatus { + get { + return this.ContentField.DC_EVStatus; + } + set { + this.ContentField.DC_EVStatus = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetVoltage, EVTargetCurrent) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVTargetVoltage { + get { + return this.ContentField.EVTargetVoltage; + } + set { + this.ContentField.EVTargetVoltage = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetVoltage, EVTargetCurrent) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVTargetCurrent { + get { + return this.ContentField.EVTargetCurrent; + } + set { + this.ContentField.EVTargetCurrent = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("PreChargeReq", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class PreChargeRes : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static PreChargeRes Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static PreChargeRes Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static PreChargeRes Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator PreChargeRes(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new PreChargeRes(((PreChargeResType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private PreChargeResType ContentField; + + public PreChargeRes() : + base(true) { + SetInnerType(new PreChargeResType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual PreChargeResType Content { + get { + return ContentField; + } + } + + private void SetInnerType(PreChargeResType ContentField) { + this.ContentField = ((PreChargeResType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public PreChargeRes(PreChargeResType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + return this.ContentField.ResponseCode; + } + set { + this.ContentField.ResponseCode = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatusType DC_EVSEStatus { + get { + return this.ContentField.DC_EVSEStatus; + } + set { + this.ContentField.DC_EVSEStatus = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVSEPresentVoltage { + get { + return this.ContentField.EVSEPresentVoltage; + } + set { + this.ContentField.EVSEPresentVoltage = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("PreChargeRes", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class CurrentDemandReq : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static CurrentDemandReq Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static CurrentDemandReq Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static CurrentDemandReq Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator CurrentDemandReq(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new CurrentDemandReq(((CurrentDemandReqType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private CurrentDemandReqType ContentField; + + public CurrentDemandReq() : + base(true) { + SetInnerType(new CurrentDemandReqType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual CurrentDemandReqType Content { + get { + return ContentField; + } + } + + private void SetInnerType(CurrentDemandReqType ContentField) { + this.ContentField = ((CurrentDemandReqType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public CurrentDemandReq(CurrentDemandReqType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetCurrent, EVMaximumVoltageLimit?, EVMaximumCurrentLimit?, EVMaximumPowerLimit?, BulkChargingComplete?, ChargingComplete, RemainingTimeToFullSoC?, RemainingTimeToBulkSoC?, EVTargetVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVStatusType DC_EVStatus { + get { + return this.ContentField.DC_EVStatus; + } + set { + this.ContentField.DC_EVStatus = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetCurrent, EVMaximumVoltageLimit?, EVMaximumCurrentLimit?, EVMaximumPowerLimit?, BulkChargingComplete?, ChargingComplete, RemainingTimeToFullSoC?, RemainingTimeToBulkSoC?, EVTargetVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVTargetCurrent { + get { + return this.ContentField.EVTargetCurrent; + } + set { + this.ContentField.EVTargetCurrent = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetCurrent, EVMaximumVoltageLimit?, EVMaximumCurrentLimit?, EVMaximumPowerLimit?, BulkChargingComplete?, ChargingComplete, RemainingTimeToFullSoC?, RemainingTimeToBulkSoC?, EVTargetVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVMaximumVoltageLimit { + get { + return this.ContentField.EVMaximumVoltageLimit; + } + set { + this.ContentField.EVMaximumVoltageLimit = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetCurrent, EVMaximumVoltageLimit?, EVMaximumCurrentLimit?, EVMaximumPowerLimit?, BulkChargingComplete?, ChargingComplete, RemainingTimeToFullSoC?, RemainingTimeToBulkSoC?, EVTargetVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVMaximumCurrentLimit { + get { + return this.ContentField.EVMaximumCurrentLimit; + } + set { + this.ContentField.EVMaximumCurrentLimit = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetCurrent, EVMaximumVoltageLimit?, EVMaximumCurrentLimit?, EVMaximumPowerLimit?, BulkChargingComplete?, ChargingComplete, RemainingTimeToFullSoC?, RemainingTimeToBulkSoC?, EVTargetVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVMaximumPowerLimit { + get { + return this.ContentField.EVMaximumPowerLimit; + } + set { + this.ContentField.EVMaximumPowerLimit = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetCurrent, EVMaximumVoltageLimit?, EVMaximumCurrentLimit?, EVMaximumPowerLimit?, BulkChargingComplete?, ChargingComplete, RemainingTimeToFullSoC?, RemainingTimeToBulkSoC?, EVTargetVoltage) + /// + /// + public virtual System.Boolean? BulkChargingComplete { + get { + return this.ContentField.BulkChargingComplete; + } + set { + this.ContentField.BulkChargingComplete = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetCurrent, EVMaximumVoltageLimit?, EVMaximumCurrentLimit?, EVMaximumPowerLimit?, BulkChargingComplete?, ChargingComplete, RemainingTimeToFullSoC?, RemainingTimeToBulkSoC?, EVTargetVoltage) + /// + /// + public virtual bool ChargingComplete { + get { + return this.ContentField.ChargingComplete; + } + set { + this.ContentField.ChargingComplete = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetCurrent, EVMaximumVoltageLimit?, EVMaximumCurrentLimit?, EVMaximumPowerLimit?, BulkChargingComplete?, ChargingComplete, RemainingTimeToFullSoC?, RemainingTimeToBulkSoC?, EVTargetVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType RemainingTimeToFullSoC { + get { + return this.ContentField.RemainingTimeToFullSoC; + } + set { + this.ContentField.RemainingTimeToFullSoC = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetCurrent, EVMaximumVoltageLimit?, EVMaximumCurrentLimit?, EVMaximumPowerLimit?, BulkChargingComplete?, ChargingComplete, RemainingTimeToFullSoC?, RemainingTimeToBulkSoC?, EVTargetVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType RemainingTimeToBulkSoC { + get { + return this.ContentField.RemainingTimeToBulkSoC; + } + set { + this.ContentField.RemainingTimeToBulkSoC = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus, EVTargetCurrent, EVMaximumVoltageLimit?, EVMaximumCurrentLimit?, EVMaximumPowerLimit?, BulkChargingComplete?, ChargingComplete, RemainingTimeToFullSoC?, RemainingTimeToBulkSoC?, EVTargetVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVTargetVoltage { + get { + return this.ContentField.EVTargetVoltage; + } + set { + this.ContentField.EVTargetVoltage = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CurrentDemandReq", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class CurrentDemandRes : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static CurrentDemandRes Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static CurrentDemandRes Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static CurrentDemandRes Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator CurrentDemandRes(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new CurrentDemandRes(((CurrentDemandResType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private CurrentDemandResType ContentField; + + public CurrentDemandRes() : + base(true) { + SetInnerType(new CurrentDemandResType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual CurrentDemandResType Content { + get { + return ContentField; + } + } + + private void SetInnerType(CurrentDemandResType ContentField) { + this.ContentField = ((CurrentDemandResType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public CurrentDemandRes(CurrentDemandResType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage, EVSEPresentCurrent, EVSECurrentLimitAchieved, EVSEVoltageLimitAchieved, EVSEPowerLimitAchieved, EVSEMaximumVoltageLimit?, EVSEMaximumCurrentLimit?, EVSEMaximumPowerLimit?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + return this.ContentField.ResponseCode; + } + set { + this.ContentField.ResponseCode = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage, EVSEPresentCurrent, EVSECurrentLimitAchieved, EVSEVoltageLimitAchieved, EVSEPowerLimitAchieved, EVSEMaximumVoltageLimit?, EVSEMaximumCurrentLimit?, EVSEMaximumPowerLimit?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatusType DC_EVSEStatus { + get { + return this.ContentField.DC_EVSEStatus; + } + set { + this.ContentField.DC_EVSEStatus = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage, EVSEPresentCurrent, EVSECurrentLimitAchieved, EVSEVoltageLimitAchieved, EVSEPowerLimitAchieved, EVSEMaximumVoltageLimit?, EVSEMaximumCurrentLimit?, EVSEMaximumPowerLimit?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVSEPresentVoltage { + get { + return this.ContentField.EVSEPresentVoltage; + } + set { + this.ContentField.EVSEPresentVoltage = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage, EVSEPresentCurrent, EVSECurrentLimitAchieved, EVSEVoltageLimitAchieved, EVSEPowerLimitAchieved, EVSEMaximumVoltageLimit?, EVSEMaximumCurrentLimit?, EVSEMaximumPowerLimit?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVSEPresentCurrent { + get { + return this.ContentField.EVSEPresentCurrent; + } + set { + this.ContentField.EVSEPresentCurrent = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage, EVSEPresentCurrent, EVSECurrentLimitAchieved, EVSEVoltageLimitAchieved, EVSEPowerLimitAchieved, EVSEMaximumVoltageLimit?, EVSEMaximumCurrentLimit?, EVSEMaximumPowerLimit?) + /// + /// + public virtual bool EVSECurrentLimitAchieved { + get { + return this.ContentField.EVSECurrentLimitAchieved; + } + set { + this.ContentField.EVSECurrentLimitAchieved = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage, EVSEPresentCurrent, EVSECurrentLimitAchieved, EVSEVoltageLimitAchieved, EVSEPowerLimitAchieved, EVSEMaximumVoltageLimit?, EVSEMaximumCurrentLimit?, EVSEMaximumPowerLimit?) + /// + /// + public virtual bool EVSEVoltageLimitAchieved { + get { + return this.ContentField.EVSEVoltageLimitAchieved; + } + set { + this.ContentField.EVSEVoltageLimitAchieved = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage, EVSEPresentCurrent, EVSECurrentLimitAchieved, EVSEVoltageLimitAchieved, EVSEPowerLimitAchieved, EVSEMaximumVoltageLimit?, EVSEMaximumCurrentLimit?, EVSEMaximumPowerLimit?) + /// + /// + public virtual bool EVSEPowerLimitAchieved { + get { + return this.ContentField.EVSEPowerLimitAchieved; + } + set { + this.ContentField.EVSEPowerLimitAchieved = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage, EVSEPresentCurrent, EVSECurrentLimitAchieved, EVSEVoltageLimitAchieved, EVSEPowerLimitAchieved, EVSEMaximumVoltageLimit?, EVSEMaximumCurrentLimit?, EVSEMaximumPowerLimit?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVSEMaximumVoltageLimit { + get { + return this.ContentField.EVSEMaximumVoltageLimit; + } + set { + this.ContentField.EVSEMaximumVoltageLimit = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage, EVSEPresentCurrent, EVSECurrentLimitAchieved, EVSEVoltageLimitAchieved, EVSEPowerLimitAchieved, EVSEMaximumVoltageLimit?, EVSEMaximumCurrentLimit?, EVSEMaximumPowerLimit?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVSEMaximumCurrentLimit { + get { + return this.ContentField.EVSEMaximumCurrentLimit; + } + set { + this.ContentField.EVSEMaximumCurrentLimit = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage, EVSEPresentCurrent, EVSECurrentLimitAchieved, EVSEVoltageLimitAchieved, EVSEPowerLimitAchieved, EVSEMaximumVoltageLimit?, EVSEMaximumCurrentLimit?, EVSEMaximumPowerLimit?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVSEMaximumPowerLimit { + get { + return this.ContentField.EVSEMaximumPowerLimit; + } + set { + this.ContentField.EVSEMaximumPowerLimit = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CurrentDemandRes", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class WeldingDetectionReq : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static WeldingDetectionReq Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static WeldingDetectionReq Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static WeldingDetectionReq Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator WeldingDetectionReq(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new WeldingDetectionReq(((WeldingDetectionReqType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private WeldingDetectionReqType ContentField; + + public WeldingDetectionReq() : + base(true) { + SetInnerType(new WeldingDetectionReqType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual WeldingDetectionReqType Content { + get { + return ContentField; + } + } + + private void SetInnerType(WeldingDetectionReqType ContentField) { + this.ContentField = ((WeldingDetectionReqType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public WeldingDetectionReq(WeldingDetectionReqType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (DC_EVStatus) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVStatusType DC_EVStatus { + get { + return this.ContentField.DC_EVStatus; + } + set { + this.ContentField.DC_EVStatus = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("WeldingDetectionReq", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class WeldingDetectionRes : global::urn.din.Item70121.Item2012.MsgDef.BodyElement, IXMetaData { + + public new static WeldingDetectionRes Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static WeldingDetectionRes Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public new static WeldingDetectionRes Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator WeldingDetectionRes(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new WeldingDetectionRes(((WeldingDetectionResType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private WeldingDetectionResType ContentField; + + public WeldingDetectionRes() : + base(true) { + SetInnerType(new WeldingDetectionResType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public new virtual WeldingDetectionResType Content { + get { + return ContentField; + } + } + + private void SetInnerType(WeldingDetectionResType ContentField) { + this.ContentField = ((WeldingDetectionResType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + base.SetSubstitutionMember(ContentField); + } + + public WeldingDetectionRes(WeldingDetectionResType content) : + base(true) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.responseCodeType ResponseCode { + get { + return this.ContentField.ResponseCode; + } + set { + this.ContentField.ResponseCode = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.DC_EVSEStatusType DC_EVSEStatus { + get { + return this.ContentField.DC_EVSEStatus; + } + set { + this.ContentField.DC_EVSEStatus = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (ResponseCode, DC_EVSEStatus, EVSEPresentVoltage) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.PhysicalValueType EVSEPresentVoltage { + get { + return this.ContentField.EVSEPresentVoltage; + } + set { + this.ContentField.EVSEPresentVoltage = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("WeldingDetectionRes", "urn:din:70121:2012:MsgBody"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class XRootNamespace { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRootNamespace() { + } + + public static XRootNamespace Load(string xmlFile) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(string xmlFile, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(XmlReader xmlReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRootNamespace(SessionSetupReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public SessionSetupReq SessionSetupReq { get {return rootObject as SessionSetupReq; } } + + public XRootNamespace(SessionSetupRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public SessionSetupRes SessionSetupRes { get {return rootObject as SessionSetupRes; } } + + public XRootNamespace(ServiceDiscoveryReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public ServiceDiscoveryReq ServiceDiscoveryReq { get {return rootObject as ServiceDiscoveryReq; } } + + public XRootNamespace(ServiceDiscoveryRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public ServiceDiscoveryRes ServiceDiscoveryRes { get {return rootObject as ServiceDiscoveryRes; } } + + public XRootNamespace(ServiceDetailReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public ServiceDetailReq ServiceDetailReq { get {return rootObject as ServiceDetailReq; } } + + public XRootNamespace(ServiceDetailRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public ServiceDetailRes ServiceDetailRes { get {return rootObject as ServiceDetailRes; } } + + public XRootNamespace(ServicePaymentSelectionReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public ServicePaymentSelectionReq ServicePaymentSelectionReq { get {return rootObject as ServicePaymentSelectionReq; } } + + public XRootNamespace(ServicePaymentSelectionRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public ServicePaymentSelectionRes ServicePaymentSelectionRes { get {return rootObject as ServicePaymentSelectionRes; } } + + public XRootNamespace(PaymentDetailsReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public PaymentDetailsReq PaymentDetailsReq { get {return rootObject as PaymentDetailsReq; } } + + public XRootNamespace(PaymentDetailsRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public PaymentDetailsRes PaymentDetailsRes { get {return rootObject as PaymentDetailsRes; } } + + public XRootNamespace(ContractAuthenticationReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public ContractAuthenticationReq ContractAuthenticationReq { get {return rootObject as ContractAuthenticationReq; } } + + public XRootNamespace(ContractAuthenticationRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public ContractAuthenticationRes ContractAuthenticationRes { get {return rootObject as ContractAuthenticationRes; } } + + public XRootNamespace(ChargeParameterDiscoveryReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public ChargeParameterDiscoveryReq ChargeParameterDiscoveryReq { get {return rootObject as ChargeParameterDiscoveryReq; } } + + public XRootNamespace(ChargeParameterDiscoveryRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public ChargeParameterDiscoveryRes ChargeParameterDiscoveryRes { get {return rootObject as ChargeParameterDiscoveryRes; } } + + public XRootNamespace(PowerDeliveryReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public PowerDeliveryReq PowerDeliveryReq { get {return rootObject as PowerDeliveryReq; } } + + public XRootNamespace(PowerDeliveryRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public PowerDeliveryRes PowerDeliveryRes { get {return rootObject as PowerDeliveryRes; } } + + public XRootNamespace(ChargingStatusReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public ChargingStatusReq ChargingStatusReq { get {return rootObject as ChargingStatusReq; } } + + public XRootNamespace(ChargingStatusRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public ChargingStatusRes ChargingStatusRes { get {return rootObject as ChargingStatusRes; } } + + public XRootNamespace(MeteringReceiptReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public MeteringReceiptReq MeteringReceiptReq { get {return rootObject as MeteringReceiptReq; } } + + public XRootNamespace(MeteringReceiptRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public MeteringReceiptRes MeteringReceiptRes { get {return rootObject as MeteringReceiptRes; } } + + public XRootNamespace(SessionStopReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public SessionStopReq SessionStopReq { get {return rootObject as SessionStopReq; } } + + public XRootNamespace(SessionStopRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public SessionStopRes SessionStopRes { get {return rootObject as SessionStopRes; } } + + public XRootNamespace(CertificateUpdateReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public CertificateUpdateReq CertificateUpdateReq { get {return rootObject as CertificateUpdateReq; } } + + public XRootNamespace(CertificateUpdateRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public CertificateUpdateRes CertificateUpdateRes { get {return rootObject as CertificateUpdateRes; } } + + public XRootNamespace(CertificateInstallationReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public CertificateInstallationReq CertificateInstallationReq { get {return rootObject as CertificateInstallationReq; } } + + public XRootNamespace(CertificateInstallationRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public CertificateInstallationRes CertificateInstallationRes { get {return rootObject as CertificateInstallationRes; } } + + public XRootNamespace(CableCheckReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public CableCheckReq CableCheckReq { get {return rootObject as CableCheckReq; } } + + public XRootNamespace(CableCheckRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public CableCheckRes CableCheckRes { get {return rootObject as CableCheckRes; } } + + public XRootNamespace(PreChargeReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public PreChargeReq PreChargeReq { get {return rootObject as PreChargeReq; } } + + public XRootNamespace(PreChargeRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public PreChargeRes PreChargeRes { get {return rootObject as PreChargeRes; } } + + public XRootNamespace(CurrentDemandReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public CurrentDemandReq CurrentDemandReq { get {return rootObject as CurrentDemandReq; } } + + public XRootNamespace(CurrentDemandRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public CurrentDemandRes CurrentDemandRes { get {return rootObject as CurrentDemandRes; } } + + public XRootNamespace(WeldingDetectionReq root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public WeldingDetectionReq WeldingDetectionReq { get {return rootObject as WeldingDetectionReq; } } + + public XRootNamespace(WeldingDetectionRes root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public WeldingDetectionRes WeldingDetectionRes { get {return rootObject as WeldingDetectionRes; } } + } +} +namespace urn.din.Item70121.Item2012.MsgHeader { + using global::System; + using global::System.Collections; + using global::System.Collections.Generic; + using global::System.ComponentModel; + using global::System.IO; + using global::System.Linq; + using global::System.Diagnostics; + using global::System.Xml; + using global::System.Xml.Schema; + using global::System.Xml.Linq; + using global::Xml.Schema.Linq; + using global::urn.din.Item70121.Item2012.MsgDef; + + + /// + /// + /// Regular expression: (SessionID, Notification?, Signature?) + /// + /// + public partial class MessageHeaderType : XTypedElement, IXMetaData { + + public static explicit operator MessageHeaderType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (SessionID, Notification?, Signature?) + /// + /// + public MessageHeaderType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SessionIDXName = System.Xml.Linq.XName.Get("SessionID", "urn:din:70121:2012:MsgHeader"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (SessionID, Notification?, Signature?) + /// + /// + public virtual byte[] SessionID { + get { + XElement x = this.GetElement(SessionIDXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.HexBinary).Datatype); + } + set { + this.SetElementWithValidation(SessionIDXName, value, "SessionID", global::LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.sessionIDType.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName NotificationXName = System.Xml.Linq.XName.Get("Notification", "urn:din:70121:2012:MsgHeader"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (SessionID, Notification?, Signature?) + /// + /// + public virtual LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.NotificationType Notification { + get { + XElement x = this.GetElement(NotificationXName); + if ((x == null)) { + return null; + } + return ((LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.NotificationType)(x)); + } + set { + this.SetElement(NotificationXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SignatureXName = System.Xml.Linq.XName.Get("Signature", "http://www.w3.org/2000/09/xmldsig#"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (SessionID, Notification?, Signature?) + /// + /// + public virtual www.w3.org.Item2000.Item09.xmldsig.Signature Signature { + get { + XElement x = this.GetElement(SignatureXName); + if ((x == null)) { + return null; + } + return ((www.w3.org.Item2000.Item09.xmldsig.Signature)(x)); + } + set { + this.SetElement(SignatureXName, value); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("MessageHeaderType", "urn:din:70121:2012:MsgHeader"); + + static MessageHeaderType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(SessionIDXName), new NamedContentModelEntity(NotificationXName), new NamedContentModelEntity(SignatureXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(SessionIDXName, typeof(byte[])); + localElementDictionary.Add(NotificationXName, typeof(LinqToXsd.Schemas.Tests.GithubIssue71.urn.din_70121_2012.MsgDataTypes.NotificationType)); + localElementDictionary.Add(SignatureXName, typeof(www.w3.org.Item2000.Item09.xmldsig.Signature)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } +} +namespace www.w3.org.Item2000.Item09.xmldsig { + using global::System; + using global::System.Collections; + using global::System.Collections.Generic; + using global::System.ComponentModel; + using global::System.IO; + using global::System.Linq; + using global::System.Diagnostics; + using global::System.Xml; + using global::System.Xml.Schema; + using global::System.Xml.Linq; + using global::Xml.Schema.Linq; + using global::urn.din.Item70121.Item2012.MsgDef; + + + public sealed class CryptoBinary { + + private CryptoBinary() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary), null); + } + + /// + /// + /// Regular expression: (SignedInfo, SignatureValue, KeyInfo?, Object*) + /// + /// + public partial class SignatureType : XTypedElement, IXMetaData { + + public static explicit operator SignatureType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (SignedInfo, SignatureValue, KeyInfo?, Object*) + /// + /// + public SignatureType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SignedInfoXName = System.Xml.Linq.XName.Get("SignedInfo", "http://www.w3.org/2000/09/xmldsig#"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (SignedInfo, SignatureValue, KeyInfo?, Object*) + /// + /// + public virtual SignedInfo SignedInfo { + get { + XElement x = this.GetElement(SignedInfoXName); + return ((SignedInfo)(x)); + } + set { + this.SetElement(SignedInfoXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SignatureValueXName = System.Xml.Linq.XName.Get("SignatureValue", "http://www.w3.org/2000/09/xmldsig#"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (SignedInfo, SignatureValue, KeyInfo?, Object*) + /// + /// + public virtual SignatureValue SignatureValue { + get { + XElement x = this.GetElement(SignatureValueXName); + return ((SignatureValue)(x)); + } + set { + this.SetElement(SignatureValueXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName KeyInfoXName = System.Xml.Linq.XName.Get("KeyInfo", "http://www.w3.org/2000/09/xmldsig#"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (SignedInfo, SignatureValue, KeyInfo?, Object*) + /// + /// + public virtual KeyInfo KeyInfo { + get { + XElement x = this.GetElement(KeyInfoXName); + if ((x == null)) { + return null; + } + return ((KeyInfo)(x)); + } + set { + this.SetElement(KeyInfoXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ObjectXName = System.Xml.Linq.XName.Get("Object", "http://www.w3.org/2000/09/xmldsig#"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ObjectField; + + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (SignedInfo, SignatureValue, KeyInfo?, Object*) + /// + /// + public virtual IList Object { + get { + if ((this.ObjectField == null)) { + this.ObjectField = new XTypedList(this, LinqToXsdTypeManager.Instance, ObjectXName); + } + return this.ObjectField; + } + set { + if ((value == null)) { + this.ObjectField = null; + } + else { + if ((this.ObjectField == null)) { + this.ObjectField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ObjectXName); + } + else { + XTypedServices.SetList(this.ObjectField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IdXName = System.Xml.Linq.XName.Get("Id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Id { + get { + XAttribute x = this.Attribute(IdXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(IdXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SignatureType", "http://www.w3.org/2000/09/xmldsig#"); + + static SignatureType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(SignedInfoXName), new NamedContentModelEntity(SignatureValueXName), new NamedContentModelEntity(KeyInfoXName), new NamedContentModelEntity(ObjectXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(SignedInfoXName, typeof(SignedInfo)); + localElementDictionary.Add(SignatureValueXName, typeof(SignatureValue)); + localElementDictionary.Add(KeyInfoXName, typeof(KeyInfo)); + localElementDictionary.Add(ObjectXName, typeof(Object)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class SignatureValueType : XTypedElement, IXMetaData { + + public static explicit operator SignatureValueType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public SignatureValueType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); + + public virtual byte[] TypedValue { + get { + XElement x = this.Untyped; + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + set { + this.SetValue(value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IdXName = System.Xml.Linq.XName.Get("Id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Id { + get { + XAttribute x = this.Attribute(IdXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(IdXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SignatureValueType", "http://www.w3.org/2000/09/xmldsig#"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (CanonicalizationMethod, SignatureMethod, Reference+) + /// + /// + public partial class SignedInfoType : XTypedElement, IXMetaData { + + public static explicit operator SignedInfoType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (CanonicalizationMethod, SignatureMethod, Reference+) + /// + /// + public SignedInfoType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName CanonicalizationMethodXName = System.Xml.Linq.XName.Get("CanonicalizationMethod", "http://www.w3.org/2000/09/xmldsig#"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (CanonicalizationMethod, SignatureMethod, Reference+) + /// + /// + public virtual CanonicalizationMethod CanonicalizationMethod { + get { + XElement x = this.GetElement(CanonicalizationMethodXName); + return ((CanonicalizationMethod)(x)); + } + set { + this.SetElement(CanonicalizationMethodXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SignatureMethodXName = System.Xml.Linq.XName.Get("SignatureMethod", "http://www.w3.org/2000/09/xmldsig#"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (CanonicalizationMethod, SignatureMethod, Reference+) + /// + /// + public virtual SignatureMethod SignatureMethod { + get { + XElement x = this.GetElement(SignatureMethodXName); + return ((SignatureMethod)(x)); + } + set { + this.SetElement(SignatureMethodXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ReferenceXName = System.Xml.Linq.XName.Get("Reference", "http://www.w3.org/2000/09/xmldsig#"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ReferenceField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (CanonicalizationMethod, SignatureMethod, Reference+) + /// + /// + public virtual IList Reference { + get { + if ((this.ReferenceField == null)) { + this.ReferenceField = new XTypedList(this, LinqToXsdTypeManager.Instance, ReferenceXName); + } + return this.ReferenceField; + } + set { + if ((value == null)) { + this.ReferenceField = null; + } + else { + if ((this.ReferenceField == null)) { + this.ReferenceField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ReferenceXName); + } + else { + XTypedServices.SetList(this.ReferenceField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IdXName = System.Xml.Linq.XName.Get("Id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Id { + get { + XAttribute x = this.Attribute(IdXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(IdXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SignedInfoType", "http://www.w3.org/2000/09/xmldsig#"); + + static SignedInfoType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(CanonicalizationMethodXName), new NamedContentModelEntity(SignatureMethodXName), new NamedContentModelEntity(ReferenceXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(CanonicalizationMethodXName, typeof(CanonicalizationMethod)); + localElementDictionary.Add(SignatureMethodXName, typeof(SignatureMethod)); + localElementDictionary.Add(ReferenceXName, typeof(Reference)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (any) + /// + /// + public partial class CanonicalizationMethodType : XTypedElement, IXMetaData { + + public static explicit operator CanonicalizationMethodType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (any) + /// + /// + public CanonicalizationMethodType() { + } + + /// + /// + /// Regular expression: (any) + /// + /// + public virtual IEnumerable Any { + get { + return this.GetWildCards(WildCard.DefaultWildCard); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AlgorithmXName = System.Xml.Linq.XName.Get("Algorithm", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual System.Uri Algorithm { + get { + XAttribute x = this.Attribute(AlgorithmXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(AlgorithmXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CanonicalizationMethodType", "http://www.w3.org/2000/09/xmldsig#"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static FSM validationStates; + + FSM IXMetaData.GetValidationStates() { + return validationStates; + } + + private static void InitFSM() { + Dictionary transitions = new Dictionary(); + transitions.Add(1, new Transitions(new SingleTransition(new WildCard("##any", "http://www.w3.org/2000/09/xmldsig#"), 1))); + validationStates = new FSM(1, new Set(1), transitions); + } + + static CanonicalizationMethodType() { + InitFSM(); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (HMACOutputLength?, any) + /// + /// + public partial class SignatureMethodType : XTypedElement, IXMetaData { + + public static explicit operator SignatureMethodType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (HMACOutputLength?, any) + /// + /// + public SignatureMethodType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName HMACOutputLengthXName = System.Xml.Linq.XName.Get("HMACOutputLength", "http://www.w3.org/2000/09/xmldsig#"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (HMACOutputLength?, any) + /// + /// + public virtual System.Decimal? HMACOutputLength { + get { + XElement x = this.GetElement(HMACOutputLengthXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Integer).Datatype); + } + set { + if (value == null) { + this.SetElement(HMACOutputLengthXName, null, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Integer).Datatype); + } + else { + this.SetElementWithValidation(HMACOutputLengthXName, value, "HMACOutputLength", global::www.w3.org.Item2000.Item09.xmldsig.HMACOutputLengthType.TypeDefinition); + } + } + } + + /// + /// + /// Regular expression: (HMACOutputLength?, any) + /// + /// + public virtual IEnumerable Any { + get { + return this.GetWildCards(WildCard.DefaultWildCard); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AlgorithmXName = System.Xml.Linq.XName.Get("Algorithm", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual System.Uri Algorithm { + get { + XAttribute x = this.Attribute(AlgorithmXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(AlgorithmXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SignatureMethodType", "http://www.w3.org/2000/09/xmldsig#"); + + static SignatureMethodType() { + BuildElementDictionary(); + InitFSM(); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(HMACOutputLengthXName, typeof(decimal)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static FSM validationStates; + + FSM IXMetaData.GetValidationStates() { + return validationStates; + } + + private static void InitFSM() { + Dictionary transitions = new Dictionary(); + transitions.Add(1, new Transitions(new SingleTransition(System.Xml.Linq.XName.Get("HMACOutputLength", "http://www.w3.org/2000/09/xmldsig#"), 2), new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 3))); + transitions.Add(2, new Transitions(new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 2))); + transitions.Add(3, new Transitions(new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 3))); + validationStates = new FSM(1, new Set(new int[] { + 2, + 1, + 3}), transitions); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (Transforms?, DigestMethod, DigestValue) + /// + /// + public partial class ReferenceType : XTypedElement, IXMetaData { + + public static explicit operator ReferenceType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (Transforms?, DigestMethod, DigestValue) + /// + /// + public ReferenceType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TransformsXName = System.Xml.Linq.XName.Get("Transforms", "http://www.w3.org/2000/09/xmldsig#"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (Transforms?, DigestMethod, DigestValue) + /// + /// + public virtual Transforms Transforms { + get { + XElement x = this.GetElement(TransformsXName); + if ((x == null)) { + return null; + } + return ((Transforms)(x)); + } + set { + this.SetElement(TransformsXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DigestMethodXName = System.Xml.Linq.XName.Get("DigestMethod", "http://www.w3.org/2000/09/xmldsig#"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Transforms?, DigestMethod, DigestValue) + /// + /// + public virtual DigestMethod DigestMethod { + get { + XElement x = this.GetElement(DigestMethodXName); + return ((DigestMethod)(x)); + } + set { + this.SetElement(DigestMethodXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DigestValueXName = System.Xml.Linq.XName.Get("DigestValue", "http://www.w3.org/2000/09/xmldsig#"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Transforms?, DigestMethod, DigestValue) + /// + /// + public virtual DigestValue DigestValue { + get { + XElement x = this.GetElement(DigestValueXName); + return ((DigestValue)(x)); + } + set { + this.SetElement(DigestValueXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IdXName = System.Xml.Linq.XName.Get("Id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Id { + get { + XAttribute x = this.Attribute(IdXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(IdXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName URIXName = System.Xml.Linq.XName.Get("URI", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Uri URI { + get { + XAttribute x = this.Attribute(URIXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(URIXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TypeXName = System.Xml.Linq.XName.Get("Type", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Uri Type { + get { + XAttribute x = this.Attribute(TypeXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(TypeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ReferenceType", "http://www.w3.org/2000/09/xmldsig#"); + + static ReferenceType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(TransformsXName), new NamedContentModelEntity(DigestMethodXName), new NamedContentModelEntity(DigestValueXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(TransformsXName, typeof(Transforms)); + localElementDictionary.Add(DigestMethodXName, typeof(DigestMethod)); + localElementDictionary.Add(DigestValueXName, typeof(DigestValue)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (Transform+) + /// + /// + public partial class TransformsType : XTypedElement, IXMetaData { + + public static explicit operator TransformsType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (Transform+) + /// + /// + public TransformsType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TransformXName = System.Xml.Linq.XName.Get("Transform", "http://www.w3.org/2000/09/xmldsig#"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList TransformField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Transform+) + /// + /// + public virtual IList Transform { + get { + if ((this.TransformField == null)) { + this.TransformField = new XTypedList(this, LinqToXsdTypeManager.Instance, TransformXName); + } + return this.TransformField; + } + set { + if ((value == null)) { + this.TransformField = null; + } + else { + if ((this.TransformField == null)) { + this.TransformField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, TransformXName); + } + else { + XTypedServices.SetList(this.TransformField, value); + } + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("TransformsType", "http://www.w3.org/2000/09/xmldsig#"); + + static TransformsType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(TransformXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(TransformXName, typeof(Transform)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (any | XPath)* + /// + /// + public partial class TransformType : XTypedElement, IXMetaData { + + public static explicit operator TransformType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (any | XPath)* + /// + /// + public TransformType() { + } + + /// + /// + /// Regular expression: (any | XPath)* + /// + /// + public virtual IEnumerable Any { + get { + return this.GetWildCards(WildCard.DefaultWildCard); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName XPathXName = System.Xml.Linq.XName.Get("XPath", "http://www.w3.org/2000/09/xmldsig#"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList XPathField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (any | XPath)* + /// + /// + public virtual IList XPath { + get { + if ((this.XPathField == null)) { + this.XPathField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, XPathXName); + } + return this.XPathField; + } + set { + if ((value == null)) { + this.XPathField = null; + } + else { + if ((this.XPathField == null)) { + this.XPathField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, value, XPathXName); + } + else { + XTypedServices.SetList(this.XPathField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AlgorithmXName = System.Xml.Linq.XName.Get("Algorithm", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual System.Uri Algorithm { + get { + XAttribute x = this.Attribute(AlgorithmXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(AlgorithmXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("TransformType", "http://www.w3.org/2000/09/xmldsig#"); + + static TransformType() { + BuildElementDictionary(); + InitFSM(); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(XPathXName, typeof(string)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static FSM validationStates; + + FSM IXMetaData.GetValidationStates() { + return validationStates; + } + + private static void InitFSM() { + Dictionary transitions = new Dictionary(); + transitions.Add(1, new Transitions(new SingleTransition(System.Xml.Linq.XName.Get("XPath", "http://www.w3.org/2000/09/xmldsig#"), 1), new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 1))); + validationStates = new FSM(1, new Set(1), transitions); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (any) + /// + /// + public partial class DigestMethodType : XTypedElement, IXMetaData { + + public static explicit operator DigestMethodType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (any) + /// + /// + public DigestMethodType() { + } + + /// + /// + /// Regular expression: (any) + /// + /// + public virtual IEnumerable Any { + get { + return this.GetWildCards(WildCard.DefaultWildCard); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName AlgorithmXName = System.Xml.Linq.XName.Get("Algorithm", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual System.Uri Algorithm { + get { + XAttribute x = this.Attribute(AlgorithmXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(AlgorithmXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("DigestMethodType", "http://www.w3.org/2000/09/xmldsig#"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static FSM validationStates; + + FSM IXMetaData.GetValidationStates() { + return validationStates; + } + + private static void InitFSM() { + Dictionary transitions = new Dictionary(); + transitions.Add(1, new Transitions(new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 1))); + validationStates = new FSM(1, new Set(1), transitions); + } + + static DigestMethodType() { + InitFSM(); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public sealed class DigestValueType { + + private DigestValueType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary), null); + } + + /// + /// + /// Regular expression: (KeyName | KeyValue | RetrievalMethod | X509Data | PGPData | SPKIData | MgmtData | any)+ + /// + /// + public partial class KeyInfoType : XTypedElement, IXMetaData { + + public static explicit operator KeyInfoType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (KeyName | KeyValue | RetrievalMethod | X509Data | PGPData | SPKIData | MgmtData | any)+ + /// + /// + public KeyInfoType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName KeyNameXName = System.Xml.Linq.XName.Get("KeyName", "http://www.w3.org/2000/09/xmldsig#"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList KeyNameField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (KeyName | KeyValue | RetrievalMethod | X509Data | PGPData | SPKIData | MgmtData | any)+ + /// + /// + public virtual IList KeyName { + get { + if ((this.KeyNameField == null)) { + this.KeyNameField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, KeyNameXName); + } + return this.KeyNameField; + } + set { + if ((value == null)) { + this.KeyNameField = null; + } + else { + if ((this.KeyNameField == null)) { + this.KeyNameField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, value, KeyNameXName); + } + else { + XTypedServices.SetList(this.KeyNameField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName KeyValueXName = System.Xml.Linq.XName.Get("KeyValue", "http://www.w3.org/2000/09/xmldsig#"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList KeyValueField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (KeyName | KeyValue | RetrievalMethod | X509Data | PGPData | SPKIData | MgmtData | any)+ + /// + /// + public virtual IList KeyValue { + get { + if ((this.KeyValueField == null)) { + this.KeyValueField = new XTypedList(this, LinqToXsdTypeManager.Instance, KeyValueXName); + } + return this.KeyValueField; + } + set { + if ((value == null)) { + this.KeyValueField = null; + } + else { + if ((this.KeyValueField == null)) { + this.KeyValueField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, KeyValueXName); + } + else { + XTypedServices.SetList(this.KeyValueField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RetrievalMethodXName = System.Xml.Linq.XName.Get("RetrievalMethod", "http://www.w3.org/2000/09/xmldsig#"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList RetrievalMethodField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (KeyName | KeyValue | RetrievalMethod | X509Data | PGPData | SPKIData | MgmtData | any)+ + /// + /// + public virtual IList RetrievalMethod { + get { + if ((this.RetrievalMethodField == null)) { + this.RetrievalMethodField = new XTypedList(this, LinqToXsdTypeManager.Instance, RetrievalMethodXName); + } + return this.RetrievalMethodField; + } + set { + if ((value == null)) { + this.RetrievalMethodField = null; + } + else { + if ((this.RetrievalMethodField == null)) { + this.RetrievalMethodField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, RetrievalMethodXName); + } + else { + XTypedServices.SetList(this.RetrievalMethodField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName X509DataXName = System.Xml.Linq.XName.Get("X509Data", "http://www.w3.org/2000/09/xmldsig#"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList X509DataField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (KeyName | KeyValue | RetrievalMethod | X509Data | PGPData | SPKIData | MgmtData | any)+ + /// + /// + public virtual IList X509Data { + get { + if ((this.X509DataField == null)) { + this.X509DataField = new XTypedList(this, LinqToXsdTypeManager.Instance, X509DataXName); + } + return this.X509DataField; + } + set { + if ((value == null)) { + this.X509DataField = null; + } + else { + if ((this.X509DataField == null)) { + this.X509DataField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, X509DataXName); + } + else { + XTypedServices.SetList(this.X509DataField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName PGPDataXName = System.Xml.Linq.XName.Get("PGPData", "http://www.w3.org/2000/09/xmldsig#"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList PGPDataField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (KeyName | KeyValue | RetrievalMethod | X509Data | PGPData | SPKIData | MgmtData | any)+ + /// + /// + public virtual IList PGPData { + get { + if ((this.PGPDataField == null)) { + this.PGPDataField = new XTypedList(this, LinqToXsdTypeManager.Instance, PGPDataXName); + } + return this.PGPDataField; + } + set { + if ((value == null)) { + this.PGPDataField = null; + } + else { + if ((this.PGPDataField == null)) { + this.PGPDataField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, PGPDataXName); + } + else { + XTypedServices.SetList(this.PGPDataField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SPKIDataXName = System.Xml.Linq.XName.Get("SPKIData", "http://www.w3.org/2000/09/xmldsig#"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList SPKIDataField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (KeyName | KeyValue | RetrievalMethod | X509Data | PGPData | SPKIData | MgmtData | any)+ + /// + /// + public virtual IList SPKIData { + get { + if ((this.SPKIDataField == null)) { + this.SPKIDataField = new XTypedList(this, LinqToXsdTypeManager.Instance, SPKIDataXName); + } + return this.SPKIDataField; + } + set { + if ((value == null)) { + this.SPKIDataField = null; + } + else { + if ((this.SPKIDataField == null)) { + this.SPKIDataField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, SPKIDataXName); + } + else { + XTypedServices.SetList(this.SPKIDataField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MgmtDataXName = System.Xml.Linq.XName.Get("MgmtData", "http://www.w3.org/2000/09/xmldsig#"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList MgmtDataField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (KeyName | KeyValue | RetrievalMethod | X509Data | PGPData | SPKIData | MgmtData | any)+ + /// + /// + public virtual IList MgmtData { + get { + if ((this.MgmtDataField == null)) { + this.MgmtDataField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, MgmtDataXName); + } + return this.MgmtDataField; + } + set { + if ((value == null)) { + this.MgmtDataField = null; + } + else { + if ((this.MgmtDataField == null)) { + this.MgmtDataField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, value, MgmtDataXName); + } + else { + XTypedServices.SetList(this.MgmtDataField, value); + } + } + } + } + + /// + /// + /// Regular expression: (KeyName | KeyValue | RetrievalMethod | X509Data | PGPData | SPKIData | MgmtData | any)+ + /// + /// + public virtual IEnumerable Any { + get { + return this.GetWildCards(WildCard.DefaultWildCard); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IdXName = System.Xml.Linq.XName.Get("Id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Id { + get { + XAttribute x = this.Attribute(IdXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(IdXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("KeyInfoType", "http://www.w3.org/2000/09/xmldsig#"); + + static KeyInfoType() { + BuildElementDictionary(); + InitFSM(); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(KeyNameXName, typeof(KeyName)); + localElementDictionary.Add(KeyValueXName, typeof(KeyValue)); + localElementDictionary.Add(RetrievalMethodXName, typeof(RetrievalMethod)); + localElementDictionary.Add(X509DataXName, typeof(X509Data)); + localElementDictionary.Add(PGPDataXName, typeof(PGPData)); + localElementDictionary.Add(SPKIDataXName, typeof(SPKIData)); + localElementDictionary.Add(MgmtDataXName, typeof(MgmtData)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static FSM validationStates; + + FSM IXMetaData.GetValidationStates() { + return validationStates; + } + + private static void InitFSM() { + Dictionary transitions = new Dictionary(); + transitions.Add(1, new Transitions(new SingleTransition(System.Xml.Linq.XName.Get("KeyName", "http://www.w3.org/2000/09/xmldsig#"), 2), new SingleTransition(System.Xml.Linq.XName.Get("KeyValue", "http://www.w3.org/2000/09/xmldsig#"), 4), new SingleTransition(System.Xml.Linq.XName.Get("RetrievalMethod", "http://www.w3.org/2000/09/xmldsig#"), 6), new SingleTransition(System.Xml.Linq.XName.Get("X509Data", "http://www.w3.org/2000/09/xmldsig#"), 8), new SingleTransition(System.Xml.Linq.XName.Get("PGPData", "http://www.w3.org/2000/09/xmldsig#"), 10), new SingleTransition(System.Xml.Linq.XName.Get("SPKIData", "http://www.w3.org/2000/09/xmldsig#"), 12), new SingleTransition(System.Xml.Linq.XName.Get("MgmtData", "http://www.w3.org/2000/09/xmldsig#"), 14), new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 16))); + transitions.Add(2, new Transitions(new SingleTransition(System.Xml.Linq.XName.Get("KeyName", "http://www.w3.org/2000/09/xmldsig#"), 2), new SingleTransition(System.Xml.Linq.XName.Get("KeyValue", "http://www.w3.org/2000/09/xmldsig#"), 4), new SingleTransition(System.Xml.Linq.XName.Get("RetrievalMethod", "http://www.w3.org/2000/09/xmldsig#"), 6), new SingleTransition(System.Xml.Linq.XName.Get("X509Data", "http://www.w3.org/2000/09/xmldsig#"), 8), new SingleTransition(System.Xml.Linq.XName.Get("PGPData", "http://www.w3.org/2000/09/xmldsig#"), 10), new SingleTransition(System.Xml.Linq.XName.Get("SPKIData", "http://www.w3.org/2000/09/xmldsig#"), 12), new SingleTransition(System.Xml.Linq.XName.Get("MgmtData", "http://www.w3.org/2000/09/xmldsig#"), 14), new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 16))); + transitions.Add(4, new Transitions(new SingleTransition(System.Xml.Linq.XName.Get("KeyName", "http://www.w3.org/2000/09/xmldsig#"), 2), new SingleTransition(System.Xml.Linq.XName.Get("KeyValue", "http://www.w3.org/2000/09/xmldsig#"), 4), new SingleTransition(System.Xml.Linq.XName.Get("RetrievalMethod", "http://www.w3.org/2000/09/xmldsig#"), 6), new SingleTransition(System.Xml.Linq.XName.Get("X509Data", "http://www.w3.org/2000/09/xmldsig#"), 8), new SingleTransition(System.Xml.Linq.XName.Get("PGPData", "http://www.w3.org/2000/09/xmldsig#"), 10), new SingleTransition(System.Xml.Linq.XName.Get("SPKIData", "http://www.w3.org/2000/09/xmldsig#"), 12), new SingleTransition(System.Xml.Linq.XName.Get("MgmtData", "http://www.w3.org/2000/09/xmldsig#"), 14), new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 16))); + transitions.Add(6, new Transitions(new SingleTransition(System.Xml.Linq.XName.Get("KeyName", "http://www.w3.org/2000/09/xmldsig#"), 2), new SingleTransition(System.Xml.Linq.XName.Get("KeyValue", "http://www.w3.org/2000/09/xmldsig#"), 4), new SingleTransition(System.Xml.Linq.XName.Get("RetrievalMethod", "http://www.w3.org/2000/09/xmldsig#"), 6), new SingleTransition(System.Xml.Linq.XName.Get("X509Data", "http://www.w3.org/2000/09/xmldsig#"), 8), new SingleTransition(System.Xml.Linq.XName.Get("PGPData", "http://www.w3.org/2000/09/xmldsig#"), 10), new SingleTransition(System.Xml.Linq.XName.Get("SPKIData", "http://www.w3.org/2000/09/xmldsig#"), 12), new SingleTransition(System.Xml.Linq.XName.Get("MgmtData", "http://www.w3.org/2000/09/xmldsig#"), 14), new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 16))); + transitions.Add(8, new Transitions(new SingleTransition(System.Xml.Linq.XName.Get("KeyName", "http://www.w3.org/2000/09/xmldsig#"), 2), new SingleTransition(System.Xml.Linq.XName.Get("KeyValue", "http://www.w3.org/2000/09/xmldsig#"), 4), new SingleTransition(System.Xml.Linq.XName.Get("RetrievalMethod", "http://www.w3.org/2000/09/xmldsig#"), 6), new SingleTransition(System.Xml.Linq.XName.Get("X509Data", "http://www.w3.org/2000/09/xmldsig#"), 8), new SingleTransition(System.Xml.Linq.XName.Get("PGPData", "http://www.w3.org/2000/09/xmldsig#"), 10), new SingleTransition(System.Xml.Linq.XName.Get("SPKIData", "http://www.w3.org/2000/09/xmldsig#"), 12), new SingleTransition(System.Xml.Linq.XName.Get("MgmtData", "http://www.w3.org/2000/09/xmldsig#"), 14), new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 16))); + transitions.Add(10, new Transitions(new SingleTransition(System.Xml.Linq.XName.Get("KeyName", "http://www.w3.org/2000/09/xmldsig#"), 2), new SingleTransition(System.Xml.Linq.XName.Get("KeyValue", "http://www.w3.org/2000/09/xmldsig#"), 4), new SingleTransition(System.Xml.Linq.XName.Get("RetrievalMethod", "http://www.w3.org/2000/09/xmldsig#"), 6), new SingleTransition(System.Xml.Linq.XName.Get("X509Data", "http://www.w3.org/2000/09/xmldsig#"), 8), new SingleTransition(System.Xml.Linq.XName.Get("PGPData", "http://www.w3.org/2000/09/xmldsig#"), 10), new SingleTransition(System.Xml.Linq.XName.Get("SPKIData", "http://www.w3.org/2000/09/xmldsig#"), 12), new SingleTransition(System.Xml.Linq.XName.Get("MgmtData", "http://www.w3.org/2000/09/xmldsig#"), 14), new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 16))); + transitions.Add(12, new Transitions(new SingleTransition(System.Xml.Linq.XName.Get("KeyName", "http://www.w3.org/2000/09/xmldsig#"), 2), new SingleTransition(System.Xml.Linq.XName.Get("KeyValue", "http://www.w3.org/2000/09/xmldsig#"), 4), new SingleTransition(System.Xml.Linq.XName.Get("RetrievalMethod", "http://www.w3.org/2000/09/xmldsig#"), 6), new SingleTransition(System.Xml.Linq.XName.Get("X509Data", "http://www.w3.org/2000/09/xmldsig#"), 8), new SingleTransition(System.Xml.Linq.XName.Get("PGPData", "http://www.w3.org/2000/09/xmldsig#"), 10), new SingleTransition(System.Xml.Linq.XName.Get("SPKIData", "http://www.w3.org/2000/09/xmldsig#"), 12), new SingleTransition(System.Xml.Linq.XName.Get("MgmtData", "http://www.w3.org/2000/09/xmldsig#"), 14), new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 16))); + transitions.Add(14, new Transitions(new SingleTransition(System.Xml.Linq.XName.Get("KeyName", "http://www.w3.org/2000/09/xmldsig#"), 2), new SingleTransition(System.Xml.Linq.XName.Get("KeyValue", "http://www.w3.org/2000/09/xmldsig#"), 4), new SingleTransition(System.Xml.Linq.XName.Get("RetrievalMethod", "http://www.w3.org/2000/09/xmldsig#"), 6), new SingleTransition(System.Xml.Linq.XName.Get("X509Data", "http://www.w3.org/2000/09/xmldsig#"), 8), new SingleTransition(System.Xml.Linq.XName.Get("PGPData", "http://www.w3.org/2000/09/xmldsig#"), 10), new SingleTransition(System.Xml.Linq.XName.Get("SPKIData", "http://www.w3.org/2000/09/xmldsig#"), 12), new SingleTransition(System.Xml.Linq.XName.Get("MgmtData", "http://www.w3.org/2000/09/xmldsig#"), 14), new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 16))); + transitions.Add(16, new Transitions(new SingleTransition(System.Xml.Linq.XName.Get("KeyName", "http://www.w3.org/2000/09/xmldsig#"), 2), new SingleTransition(System.Xml.Linq.XName.Get("KeyValue", "http://www.w3.org/2000/09/xmldsig#"), 4), new SingleTransition(System.Xml.Linq.XName.Get("RetrievalMethod", "http://www.w3.org/2000/09/xmldsig#"), 6), new SingleTransition(System.Xml.Linq.XName.Get("X509Data", "http://www.w3.org/2000/09/xmldsig#"), 8), new SingleTransition(System.Xml.Linq.XName.Get("PGPData", "http://www.w3.org/2000/09/xmldsig#"), 10), new SingleTransition(System.Xml.Linq.XName.Get("SPKIData", "http://www.w3.org/2000/09/xmldsig#"), 12), new SingleTransition(System.Xml.Linq.XName.Get("MgmtData", "http://www.w3.org/2000/09/xmldsig#"), 14), new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 16))); + validationStates = new FSM(1, new Set(new int[] { + 2, + 4, + 6, + 8, + 10, + 12, + 14, + 16}), transitions); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (DSAKeyValue | RSAKeyValue | any) + /// + /// + public partial class KeyValueType : XTypedElement, IXMetaData { + + public static explicit operator KeyValueType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (DSAKeyValue | RSAKeyValue | any) + /// + /// + public KeyValueType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName DSAKeyValueXName = System.Xml.Linq.XName.Get("DSAKeyValue", "http://www.w3.org/2000/09/xmldsig#"); + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (DSAKeyValue | RSAKeyValue | any) + /// + /// + public virtual DSAKeyValue DSAKeyValue { + get { + XElement x = this.GetElement(DSAKeyValueXName); + if ((x == null)) { + return null; + } + return ((DSAKeyValue)(x)); + } + set { + this.SetElement(DSAKeyValueXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName RSAKeyValueXName = System.Xml.Linq.XName.Get("RSAKeyValue", "http://www.w3.org/2000/09/xmldsig#"); + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (DSAKeyValue | RSAKeyValue | any) + /// + /// + public virtual RSAKeyValue RSAKeyValue { + get { + XElement x = this.GetElement(RSAKeyValueXName); + if ((x == null)) { + return null; + } + return ((RSAKeyValue)(x)); + } + set { + this.SetElement(RSAKeyValueXName, value); + } + } + + /// + /// + /// Regular expression: (DSAKeyValue | RSAKeyValue | any) + /// + /// + public virtual IEnumerable Any { + get { + return this.GetWildCards(WildCard.DefaultWildCard); + } + } + + public KeyValueType(DSAKeyValue DSAKeyValue) { + this.DSAKeyValue = DSAKeyValue; + } + + public KeyValueType(RSAKeyValue RSAKeyValue) { + this.RSAKeyValue = RSAKeyValue; + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("KeyValueType", "http://www.w3.org/2000/09/xmldsig#"); + + static KeyValueType() { + BuildElementDictionary(); + InitFSM(); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(DSAKeyValueXName, typeof(DSAKeyValue)); + localElementDictionary.Add(RSAKeyValueXName, typeof(RSAKeyValue)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static FSM validationStates; + + FSM IXMetaData.GetValidationStates() { + return validationStates; + } + + private static void InitFSM() { + Dictionary transitions = new Dictionary(); + transitions.Add(1, new Transitions(new SingleTransition(System.Xml.Linq.XName.Get("DSAKeyValue", "http://www.w3.org/2000/09/xmldsig#"), 2), new SingleTransition(System.Xml.Linq.XName.Get("RSAKeyValue", "http://www.w3.org/2000/09/xmldsig#"), 4), new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 6))); + validationStates = new FSM(1, new Set(new int[] { + 2, + 4, + 6}), transitions); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (Transforms?) + /// + /// + public partial class RetrievalMethodType : XTypedElement, IXMetaData { + + public static explicit operator RetrievalMethodType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (Transforms?) + /// + /// + public RetrievalMethodType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TransformsXName = System.Xml.Linq.XName.Get("Transforms", "http://www.w3.org/2000/09/xmldsig#"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (Transforms?) + /// + /// + public virtual Transforms Transforms { + get { + XElement x = this.GetElement(TransformsXName); + if ((x == null)) { + return null; + } + return ((Transforms)(x)); + } + set { + this.SetElement(TransformsXName, value); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName URIXName = System.Xml.Linq.XName.Get("URI", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Uri URI { + get { + XAttribute x = this.Attribute(URIXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(URIXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TypeXName = System.Xml.Linq.XName.Get("Type", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Uri Type { + get { + XAttribute x = this.Attribute(TypeXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(TypeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("RetrievalMethodType", "http://www.w3.org/2000/09/xmldsig#"); + + static RetrievalMethodType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(TransformsXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(TransformsXName, typeof(Transforms)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((X509IssuerSerial | X509SKI | X509SubjectName | X509Certificate | X509CRL | any))+ + /// + /// + public partial class X509DataType : XTypedElement, IXMetaData { + + public static explicit operator X509DataType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((X509IssuerSerial | X509SKI | X509SubjectName | X509Certificate | X509CRL | any))+ + /// + /// + public X509DataType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName X509IssuerSerialXName = System.Xml.Linq.XName.Get("X509IssuerSerial", "http://www.w3.org/2000/09/xmldsig#"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList X509IssuerSerialField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((X509IssuerSerial | X509SKI | X509SubjectName | X509Certificate | X509CRL | any))+ + /// + /// + public virtual IList X509IssuerSerial { + get { + if ((this.X509IssuerSerialField == null)) { + this.X509IssuerSerialField = new XTypedList(this, LinqToXsdTypeManager.Instance, X509IssuerSerialXName); + } + return this.X509IssuerSerialField; + } + set { + if ((value == null)) { + this.X509IssuerSerialField = null; + } + else { + if ((this.X509IssuerSerialField == null)) { + this.X509IssuerSerialField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, X509IssuerSerialXName); + } + else { + XTypedServices.SetList(this.X509IssuerSerialField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName X509SKIXName = System.Xml.Linq.XName.Get("X509SKI", "http://www.w3.org/2000/09/xmldsig#"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList X509SKIField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((X509IssuerSerial | X509SKI | X509SubjectName | X509Certificate | X509CRL | any))+ + /// + /// + public virtual IList X509SKI { + get { + if ((this.X509SKIField == null)) { + this.X509SKIField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype, X509SKIXName); + } + return this.X509SKIField; + } + set { + if ((value == null)) { + this.X509SKIField = null; + } + else { + if ((this.X509SKIField == null)) { + this.X509SKIField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype, value, X509SKIXName); + } + else { + XTypedServices.SetList(this.X509SKIField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName X509SubjectNameXName = System.Xml.Linq.XName.Get("X509SubjectName", "http://www.w3.org/2000/09/xmldsig#"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList X509SubjectNameField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((X509IssuerSerial | X509SKI | X509SubjectName | X509Certificate | X509CRL | any))+ + /// + /// + public virtual IList X509SubjectName { + get { + if ((this.X509SubjectNameField == null)) { + this.X509SubjectNameField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, X509SubjectNameXName); + } + return this.X509SubjectNameField; + } + set { + if ((value == null)) { + this.X509SubjectNameField = null; + } + else { + if ((this.X509SubjectNameField == null)) { + this.X509SubjectNameField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype, value, X509SubjectNameXName); + } + else { + XTypedServices.SetList(this.X509SubjectNameField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName X509CertificateXName = System.Xml.Linq.XName.Get("X509Certificate", "http://www.w3.org/2000/09/xmldsig#"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList X509CertificateField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((X509IssuerSerial | X509SKI | X509SubjectName | X509Certificate | X509CRL | any))+ + /// + /// + public virtual IList X509Certificate { + get { + if ((this.X509CertificateField == null)) { + this.X509CertificateField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype, X509CertificateXName); + } + return this.X509CertificateField; + } + set { + if ((value == null)) { + this.X509CertificateField = null; + } + else { + if ((this.X509CertificateField == null)) { + this.X509CertificateField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype, value, X509CertificateXName); + } + else { + XTypedServices.SetList(this.X509CertificateField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName X509CRLXName = System.Xml.Linq.XName.Get("X509CRL", "http://www.w3.org/2000/09/xmldsig#"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList X509CRLField; + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((X509IssuerSerial | X509SKI | X509SubjectName | X509Certificate | X509CRL | any))+ + /// + /// + public virtual IList X509CRL { + get { + if ((this.X509CRLField == null)) { + this.X509CRLField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype, X509CRLXName); + } + return this.X509CRLField; + } + set { + if ((value == null)) { + this.X509CRLField = null; + } + else { + if ((this.X509CRLField == null)) { + this.X509CRLField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype, value, X509CRLXName); + } + else { + XTypedServices.SetList(this.X509CRLField, value); + } + } + } + } + + /// + /// + /// Regular expression: ((X509IssuerSerial | X509SKI | X509SubjectName | X509Certificate | X509CRL | any))+ + /// + /// + public virtual IEnumerable Any { + get { + return this.GetWildCards(WildCard.DefaultWildCard); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("X509DataType", "http://www.w3.org/2000/09/xmldsig#"); + + static X509DataType() { + BuildElementDictionary(); + InitFSM(); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(X509IssuerSerialXName, typeof(X509IssuerSerialType)); + localElementDictionary.Add(X509SKIXName, typeof(byte[])); + localElementDictionary.Add(X509SubjectNameXName, typeof(string)); + localElementDictionary.Add(X509CertificateXName, typeof(byte[])); + localElementDictionary.Add(X509CRLXName, typeof(byte[])); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static FSM validationStates; + + FSM IXMetaData.GetValidationStates() { + return validationStates; + } + + private static void InitFSM() { + Dictionary transitions = new Dictionary(); + transitions.Add(1, new Transitions(new SingleTransition(System.Xml.Linq.XName.Get("X509IssuerSerial", "http://www.w3.org/2000/09/xmldsig#"), 2), new SingleTransition(System.Xml.Linq.XName.Get("X509SKI", "http://www.w3.org/2000/09/xmldsig#"), 4), new SingleTransition(System.Xml.Linq.XName.Get("X509SubjectName", "http://www.w3.org/2000/09/xmldsig#"), 6), new SingleTransition(System.Xml.Linq.XName.Get("X509Certificate", "http://www.w3.org/2000/09/xmldsig#"), 8), new SingleTransition(System.Xml.Linq.XName.Get("X509CRL", "http://www.w3.org/2000/09/xmldsig#"), 10), new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 12))); + transitions.Add(2, new Transitions(new SingleTransition(System.Xml.Linq.XName.Get("X509IssuerSerial", "http://www.w3.org/2000/09/xmldsig#"), 2), new SingleTransition(System.Xml.Linq.XName.Get("X509SKI", "http://www.w3.org/2000/09/xmldsig#"), 4), new SingleTransition(System.Xml.Linq.XName.Get("X509SubjectName", "http://www.w3.org/2000/09/xmldsig#"), 6), new SingleTransition(System.Xml.Linq.XName.Get("X509Certificate", "http://www.w3.org/2000/09/xmldsig#"), 8), new SingleTransition(System.Xml.Linq.XName.Get("X509CRL", "http://www.w3.org/2000/09/xmldsig#"), 10), new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 12))); + transitions.Add(4, new Transitions(new SingleTransition(System.Xml.Linq.XName.Get("X509IssuerSerial", "http://www.w3.org/2000/09/xmldsig#"), 2), new SingleTransition(System.Xml.Linq.XName.Get("X509SKI", "http://www.w3.org/2000/09/xmldsig#"), 4), new SingleTransition(System.Xml.Linq.XName.Get("X509SubjectName", "http://www.w3.org/2000/09/xmldsig#"), 6), new SingleTransition(System.Xml.Linq.XName.Get("X509Certificate", "http://www.w3.org/2000/09/xmldsig#"), 8), new SingleTransition(System.Xml.Linq.XName.Get("X509CRL", "http://www.w3.org/2000/09/xmldsig#"), 10), new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 12))); + transitions.Add(6, new Transitions(new SingleTransition(System.Xml.Linq.XName.Get("X509IssuerSerial", "http://www.w3.org/2000/09/xmldsig#"), 2), new SingleTransition(System.Xml.Linq.XName.Get("X509SKI", "http://www.w3.org/2000/09/xmldsig#"), 4), new SingleTransition(System.Xml.Linq.XName.Get("X509SubjectName", "http://www.w3.org/2000/09/xmldsig#"), 6), new SingleTransition(System.Xml.Linq.XName.Get("X509Certificate", "http://www.w3.org/2000/09/xmldsig#"), 8), new SingleTransition(System.Xml.Linq.XName.Get("X509CRL", "http://www.w3.org/2000/09/xmldsig#"), 10), new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 12))); + transitions.Add(8, new Transitions(new SingleTransition(System.Xml.Linq.XName.Get("X509IssuerSerial", "http://www.w3.org/2000/09/xmldsig#"), 2), new SingleTransition(System.Xml.Linq.XName.Get("X509SKI", "http://www.w3.org/2000/09/xmldsig#"), 4), new SingleTransition(System.Xml.Linq.XName.Get("X509SubjectName", "http://www.w3.org/2000/09/xmldsig#"), 6), new SingleTransition(System.Xml.Linq.XName.Get("X509Certificate", "http://www.w3.org/2000/09/xmldsig#"), 8), new SingleTransition(System.Xml.Linq.XName.Get("X509CRL", "http://www.w3.org/2000/09/xmldsig#"), 10), new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 12))); + transitions.Add(10, new Transitions(new SingleTransition(System.Xml.Linq.XName.Get("X509IssuerSerial", "http://www.w3.org/2000/09/xmldsig#"), 2), new SingleTransition(System.Xml.Linq.XName.Get("X509SKI", "http://www.w3.org/2000/09/xmldsig#"), 4), new SingleTransition(System.Xml.Linq.XName.Get("X509SubjectName", "http://www.w3.org/2000/09/xmldsig#"), 6), new SingleTransition(System.Xml.Linq.XName.Get("X509Certificate", "http://www.w3.org/2000/09/xmldsig#"), 8), new SingleTransition(System.Xml.Linq.XName.Get("X509CRL", "http://www.w3.org/2000/09/xmldsig#"), 10), new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 12))); + transitions.Add(12, new Transitions(new SingleTransition(System.Xml.Linq.XName.Get("X509IssuerSerial", "http://www.w3.org/2000/09/xmldsig#"), 2), new SingleTransition(System.Xml.Linq.XName.Get("X509SKI", "http://www.w3.org/2000/09/xmldsig#"), 4), new SingleTransition(System.Xml.Linq.XName.Get("X509SubjectName", "http://www.w3.org/2000/09/xmldsig#"), 6), new SingleTransition(System.Xml.Linq.XName.Get("X509Certificate", "http://www.w3.org/2000/09/xmldsig#"), 8), new SingleTransition(System.Xml.Linq.XName.Get("X509CRL", "http://www.w3.org/2000/09/xmldsig#"), 10), new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 12))); + validationStates = new FSM(1, new Set(new int[] { + 2, + 4, + 6, + 8, + 10, + 12}), transitions); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (X509IssuerName, X509SerialNumber) + /// + /// + public partial class X509IssuerSerialType : XTypedElement, IXMetaData { + + public static explicit operator X509IssuerSerialType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (X509IssuerName, X509SerialNumber) + /// + /// + public X509IssuerSerialType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName X509IssuerNameXName = System.Xml.Linq.XName.Get("X509IssuerName", "http://www.w3.org/2000/09/xmldsig#"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (X509IssuerName, X509SerialNumber) + /// + /// + public virtual string X509IssuerName { + get { + XElement x = this.GetElement(X509IssuerNameXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetElement(X509IssuerNameXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName X509SerialNumberXName = System.Xml.Linq.XName.Get("X509SerialNumber", "http://www.w3.org/2000/09/xmldsig#"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (X509IssuerName, X509SerialNumber) + /// + /// + public virtual decimal X509SerialNumber { + get { + XElement x = this.GetElement(X509SerialNumberXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Integer).Datatype); + } + set { + this.SetElement(X509SerialNumberXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Integer).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("X509IssuerSerialType", "http://www.w3.org/2000/09/xmldsig#"); + + static X509IssuerSerialType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(X509IssuerNameXName), new NamedContentModelEntity(X509SerialNumberXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(X509IssuerNameXName, typeof(string)); + localElementDictionary.Add(X509SerialNumberXName, typeof(decimal)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: ((PGPKeyID, PGPKeyPacket?, any)|(PGPKeyPacket, any)) + /// + /// + public partial class PGPDataType : XTypedElement, IXMetaData { + + public static explicit operator PGPDataType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((PGPKeyID, PGPKeyPacket?, any)|(PGPKeyPacket, any)) + /// + /// + public PGPDataType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName PGPKeyIDXName = System.Xml.Linq.XName.Get("PGPKeyID", "http://www.w3.org/2000/09/xmldsig#"); + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((PGPKeyID, PGPKeyPacket?, any)|(PGPKeyPacket, any)) + /// + /// + public virtual byte[] PGPKeyID { + get { + XElement x = this.GetElement(PGPKeyIDXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + set { + this.SetElement(PGPKeyIDXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName PGPKeyPacketXName = System.Xml.Linq.XName.Get("PGPKeyPacket", "http://www.w3.org/2000/09/xmldsig#"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList PGPKeyPacketField; + + /// + /// + /// Occurrence: optional + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((PGPKeyID, PGPKeyPacket?, any)|(PGPKeyPacket, any)) + /// + /// + public virtual IList PGPKeyPacket { + get { + if ((this.PGPKeyPacketField == null)) { + this.PGPKeyPacketField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype, PGPKeyPacketXName); + } + return this.PGPKeyPacketField; + } + set { + if ((value == null)) { + this.PGPKeyPacketField = null; + } + else { + if ((this.PGPKeyPacketField == null)) { + this.PGPKeyPacketField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype, value, PGPKeyPacketXName); + } + else { + XTypedServices.SetList(this.PGPKeyPacketField, value); + } + } + } + } + + /// + /// + /// Regular expression: ((PGPKeyID, PGPKeyPacket?, any)|(PGPKeyPacket, any)) + /// + /// + public virtual IEnumerable Any { + get { + return this.GetWildCards(WildCard.DefaultWildCard); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("PGPDataType", "http://www.w3.org/2000/09/xmldsig#"); + + static PGPDataType() { + BuildElementDictionary(); + InitFSM(); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(PGPKeyIDXName, typeof(byte[])); + localElementDictionary.Add(PGPKeyPacketXName, typeof(byte[])); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static FSM validationStates; + + FSM IXMetaData.GetValidationStates() { + return validationStates; + } + + private static void InitFSM() { + Dictionary transitions = new Dictionary(); + transitions.Add(1, new Transitions(new SingleTransition(System.Xml.Linq.XName.Get("PGPKeyID", "http://www.w3.org/2000/09/xmldsig#"), 2), new SingleTransition(System.Xml.Linq.XName.Get("PGPKeyPacket", "http://www.w3.org/2000/09/xmldsig#"), 8))); + transitions.Add(2, new Transitions(new SingleTransition(System.Xml.Linq.XName.Get("PGPKeyPacket", "http://www.w3.org/2000/09/xmldsig#"), 4), new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 5))); + transitions.Add(4, new Transitions(new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 4))); + transitions.Add(5, new Transitions(new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 5))); + transitions.Add(8, new Transitions(new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 8))); + validationStates = new FSM(1, new Set(new int[] { + 2, + 4, + 5, + 8}), transitions); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (SPKISexp, any)+ + /// + /// + public partial class SPKIDataType : XTypedElement, IXMetaData { + + public static explicit operator SPKIDataType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (SPKISexp, any)+ + /// + /// + public SPKIDataType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SPKISexpXName = System.Xml.Linq.XName.Get("SPKISexp", "http://www.w3.org/2000/09/xmldsig#"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XSimpleList SPKISexpField; + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (SPKISexp, any)+ + /// + /// + public virtual IList SPKISexp { + get { + if ((this.SPKISexpField == null)) { + this.SPKISexpField = new XSimpleList(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype, SPKISexpXName); + } + return this.SPKISexpField; + } + set { + if ((value == null)) { + this.SPKISexpField = null; + } + else { + if ((this.SPKISexpField == null)) { + this.SPKISexpField = XSimpleList.Initialize(this, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype, value, SPKISexpXName); + } + else { + XTypedServices.SetList(this.SPKISexpField, value); + } + } + } + } + + /// + /// + /// Regular expression: (SPKISexp, any)+ + /// + /// + public virtual IEnumerable Any { + get { + return this.GetWildCards(WildCard.DefaultWildCard); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SPKIDataType", "http://www.w3.org/2000/09/xmldsig#"); + + static SPKIDataType() { + BuildElementDictionary(); + InitFSM(); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(SPKISexpXName, typeof(byte[])); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static FSM validationStates; + + FSM IXMetaData.GetValidationStates() { + return validationStates; + } + + private static void InitFSM() { + Dictionary transitions = new Dictionary(); + transitions.Add(1, new Transitions(new SingleTransition(System.Xml.Linq.XName.Get("SPKISexp", "http://www.w3.org/2000/09/xmldsig#"), 2))); + transitions.Add(2, new Transitions(new SingleTransition(System.Xml.Linq.XName.Get("SPKISexp", "http://www.w3.org/2000/09/xmldsig#"), 2), new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 4))); + transitions.Add(4, new Transitions(new SingleTransition(System.Xml.Linq.XName.Get("SPKISexp", "http://www.w3.org/2000/09/xmldsig#"), 2))); + validationStates = new FSM(1, new Set(new int[] { + 2, + 4}), transitions); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (any)* + /// + /// + public partial class ObjectType : XTypedElement, IXMetaData { + + public static explicit operator ObjectType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (any)* + /// + /// + public ObjectType() { + } + + /// + /// + /// Regular expression: (any)* + /// + /// + public virtual IEnumerable Any { + get { + return this.GetWildCards(WildCard.DefaultWildCard); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IdXName = System.Xml.Linq.XName.Get("Id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Id { + get { + XAttribute x = this.Attribute(IdXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(IdXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName MimeTypeXName = System.Xml.Linq.XName.Get("MimeType", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string MimeType { + get { + XAttribute x = this.Attribute(MimeTypeXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetAttribute(MimeTypeXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName EncodingXName = System.Xml.Linq.XName.Get("Encoding", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Uri Encoding { + get { + XAttribute x = this.Attribute(EncodingXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(EncodingXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ObjectType", "http://www.w3.org/2000/09/xmldsig#"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static FSM validationStates; + + FSM IXMetaData.GetValidationStates() { + return validationStates; + } + + private static void InitFSM() { + Dictionary transitions = new Dictionary(); + transitions.Add(1, new Transitions(new SingleTransition(new WildCard("##any", "http://www.w3.org/2000/09/xmldsig#"), 1))); + validationStates = new FSM(1, new Set(1), transitions); + } + + static ObjectType() { + InitFSM(); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (Reference+) + /// + /// + public partial class ManifestType : XTypedElement, IXMetaData { + + public static explicit operator ManifestType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (Reference+) + /// + /// + public ManifestType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ReferenceXName = System.Xml.Linq.XName.Get("Reference", "http://www.w3.org/2000/09/xmldsig#"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList ReferenceField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Reference+) + /// + /// + public virtual IList Reference { + get { + if ((this.ReferenceField == null)) { + this.ReferenceField = new XTypedList(this, LinqToXsdTypeManager.Instance, ReferenceXName); + } + return this.ReferenceField; + } + set { + if ((value == null)) { + this.ReferenceField = null; + } + else { + if ((this.ReferenceField == null)) { + this.ReferenceField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, ReferenceXName); + } + else { + XTypedServices.SetList(this.ReferenceField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IdXName = System.Xml.Linq.XName.Get("Id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Id { + get { + XAttribute x = this.Attribute(IdXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(IdXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("ManifestType", "http://www.w3.org/2000/09/xmldsig#"); + + static ManifestType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ReferenceXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ReferenceXName, typeof(Reference)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (SignatureProperty+) + /// + /// + public partial class SignaturePropertiesType : XTypedElement, IXMetaData { + + public static explicit operator SignaturePropertiesType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (SignatureProperty+) + /// + /// + public SignaturePropertiesType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SignaturePropertyXName = System.Xml.Linq.XName.Get("SignatureProperty", "http://www.w3.org/2000/09/xmldsig#"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedList SignaturePropertyField; + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (SignatureProperty+) + /// + /// + public virtual IList SignatureProperty { + get { + if ((this.SignaturePropertyField == null)) { + this.SignaturePropertyField = new XTypedList(this, LinqToXsdTypeManager.Instance, SignaturePropertyXName); + } + return this.SignaturePropertyField; + } + set { + if ((value == null)) { + this.SignaturePropertyField = null; + } + else { + if ((this.SignaturePropertyField == null)) { + this.SignaturePropertyField = XTypedList.Initialize(this, LinqToXsdTypeManager.Instance, value, SignaturePropertyXName); + } + else { + XTypedServices.SetList(this.SignaturePropertyField, value); + } + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IdXName = System.Xml.Linq.XName.Get("Id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Id { + get { + XAttribute x = this.Attribute(IdXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(IdXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SignaturePropertiesType", "http://www.w3.org/2000/09/xmldsig#"); + + static SignaturePropertiesType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(SignaturePropertyXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(SignaturePropertyXName, typeof(SignatureProperty)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (any)+ + /// + /// + public partial class SignaturePropertyType : XTypedElement, IXMetaData { + + public static explicit operator SignaturePropertyType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (any)+ + /// + /// + public SignaturePropertyType() { + } + + /// + /// + /// Regular expression: (any)+ + /// + /// + public virtual IEnumerable Any { + get { + return this.GetWildCards(WildCard.DefaultWildCard); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TargetXName = System.Xml.Linq.XName.Get("Target", ""); + + /// + /// + /// Occurrence: required + /// + /// + public virtual System.Uri Target { + get { + XAttribute x = this.Attribute(TargetXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + set { + this.SetAttribute(TargetXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.AnyUri).Datatype); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName IdXName = System.Xml.Linq.XName.Get("Id", ""); + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Id { + get { + XAttribute x = this.Attribute(IdXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + set { + this.SetAttribute(IdXName, value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Id).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SignaturePropertyType", "http://www.w3.org/2000/09/xmldsig#"); + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static FSM validationStates; + + FSM IXMetaData.GetValidationStates() { + return validationStates; + } + + private static void InitFSM() { + Dictionary transitions = new Dictionary(); + transitions.Add(1, new Transitions(new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 2))); + transitions.Add(2, new Transitions(new SingleTransition(new WildCard("##other", "http://www.w3.org/2000/09/xmldsig#"), 2))); + validationStates = new FSM(1, new Set(2), transitions); + } + + static SignaturePropertyType() { + InitFSM(); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public sealed class HMACOutputLengthType { + + private HMACOutputLengthType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Integer), null); + } + + /// + /// + /// Regular expression: ((P, Q)?, G?, Y, J?, (Seed, PgenCounter)?) + /// + /// + public partial class DSAKeyValueType : XTypedElement, IXMetaData { + + public static explicit operator DSAKeyValueType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: ((P, Q)?, G?, Y, J?, (Seed, PgenCounter)?) + /// + /// + public DSAKeyValueType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName PXName = System.Xml.Linq.XName.Get("P", "http://www.w3.org/2000/09/xmldsig#"); + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((P, Q)?, G?, Y, J?, (Seed, PgenCounter)?) + /// + /// + public virtual byte[] P { + get { + XElement x = this.GetElement(PXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + set { + if (value == null) { + this.SetElement(PXName, null, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + else { + this.SetElementWithValidation(PXName, value, "P", global::www.w3.org.Item2000.Item09.xmldsig.CryptoBinary.TypeDefinition); + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName QXName = System.Xml.Linq.XName.Get("Q", "http://www.w3.org/2000/09/xmldsig#"); + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((P, Q)?, G?, Y, J?, (Seed, PgenCounter)?) + /// + /// + public virtual byte[] Q { + get { + XElement x = this.GetElement(QXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + set { + if (value == null) { + this.SetElement(QXName, null, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + else { + this.SetElementWithValidation(QXName, value, "Q", global::www.w3.org.Item2000.Item09.xmldsig.CryptoBinary.TypeDefinition); + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName GXName = System.Xml.Linq.XName.Get("G", "http://www.w3.org/2000/09/xmldsig#"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: ((P, Q)?, G?, Y, J?, (Seed, PgenCounter)?) + /// + /// + public virtual byte[] G { + get { + XElement x = this.GetElement(GXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + set { + if (value == null) { + this.SetElement(GXName, null, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + else { + this.SetElementWithValidation(GXName, value, "G", global::www.w3.org.Item2000.Item09.xmldsig.CryptoBinary.TypeDefinition); + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName YXName = System.Xml.Linq.XName.Get("Y", "http://www.w3.org/2000/09/xmldsig#"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: ((P, Q)?, G?, Y, J?, (Seed, PgenCounter)?) + /// + /// + public virtual byte[] Y { + get { + XElement x = this.GetElement(YXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + set { + this.SetElementWithValidation(YXName, value, "Y", global::www.w3.org.Item2000.Item09.xmldsig.CryptoBinary.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName JXName = System.Xml.Linq.XName.Get("J", "http://www.w3.org/2000/09/xmldsig#"); + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: ((P, Q)?, G?, Y, J?, (Seed, PgenCounter)?) + /// + /// + public virtual byte[] J { + get { + XElement x = this.GetElement(JXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + set { + if (value == null) { + this.SetElement(JXName, null, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + else { + this.SetElementWithValidation(JXName, value, "J", global::www.w3.org.Item2000.Item09.xmldsig.CryptoBinary.TypeDefinition); + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName SeedXName = System.Xml.Linq.XName.Get("Seed", "http://www.w3.org/2000/09/xmldsig#"); + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((P, Q)?, G?, Y, J?, (Seed, PgenCounter)?) + /// + /// + public virtual byte[] Seed { + get { + XElement x = this.GetElement(SeedXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + set { + if (value == null) { + this.SetElement(SeedXName, null, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + else { + this.SetElementWithValidation(SeedXName, value, "Seed", global::www.w3.org.Item2000.Item09.xmldsig.CryptoBinary.TypeDefinition); + } + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName PgenCounterXName = System.Xml.Linq.XName.Get("PgenCounter", "http://www.w3.org/2000/09/xmldsig#"); + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((P, Q)?, G?, Y, J?, (Seed, PgenCounter)?) + /// + /// + public virtual byte[] PgenCounter { + get { + XElement x = this.GetElement(PgenCounterXName); + if ((x == null)) { + return null; + } + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + set { + if (value == null) { + this.SetElement(PgenCounterXName, null, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + else { + this.SetElementWithValidation(PgenCounterXName, value, "PgenCounter", global::www.w3.org.Item2000.Item09.xmldsig.CryptoBinary.TypeDefinition); + } + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("DSAKeyValueType", "http://www.w3.org/2000/09/xmldsig#"); + + static DSAKeyValueType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new SequenceContentModelEntity(new NamedContentModelEntity(PXName), new NamedContentModelEntity(QXName)), new NamedContentModelEntity(GXName), new NamedContentModelEntity(YXName), new NamedContentModelEntity(JXName), new SequenceContentModelEntity(new NamedContentModelEntity(SeedXName), new NamedContentModelEntity(PgenCounterXName))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(PXName, typeof(byte[])); + localElementDictionary.Add(QXName, typeof(byte[])); + localElementDictionary.Add(GXName, typeof(byte[])); + localElementDictionary.Add(YXName, typeof(byte[])); + localElementDictionary.Add(JXName, typeof(byte[])); + localElementDictionary.Add(SeedXName, typeof(byte[])); + localElementDictionary.Add(PgenCounterXName, typeof(byte[])); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + /// + /// + /// Regular expression: (Modulus, Exponent) + /// + /// + public partial class RSAKeyValueType : XTypedElement, IXMetaData { + + public static explicit operator RSAKeyValueType(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + /// + /// + /// Regular expression: (Modulus, Exponent) + /// + /// + public RSAKeyValueType() { + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ModulusXName = System.Xml.Linq.XName.Get("Modulus", "http://www.w3.org/2000/09/xmldsig#"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Modulus, Exponent) + /// + /// + public virtual byte[] Modulus { + get { + XElement x = this.GetElement(ModulusXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + set { + this.SetElementWithValidation(ModulusXName, value, "Modulus", global::www.w3.org.Item2000.Item09.xmldsig.CryptoBinary.TypeDefinition); + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName ExponentXName = System.Xml.Linq.XName.Get("Exponent", "http://www.w3.org/2000/09/xmldsig#"); + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Modulus, Exponent) + /// + /// + public virtual byte[] Exponent { + get { + XElement x = this.GetElement(ExponentXName); + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + set { + this.SetElementWithValidation(ExponentXName, value, "Exponent", global::www.w3.org.Item2000.Item09.xmldsig.CryptoBinary.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("RSAKeyValueType", "http://www.w3.org/2000/09/xmldsig#"); + + static RSAKeyValueType() { + BuildElementDictionary(); + contentModel = new SequenceContentModelEntity(new NamedContentModelEntity(ModulusXName), new NamedContentModelEntity(ExponentXName)); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static Dictionary localElementDictionary = new Dictionary(); + + private static void BuildElementDictionary() { + localElementDictionary.Add(ModulusXName, typeof(byte[])); + localElementDictionary.Add(ExponentXName, typeof(byte[])); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + Dictionary IXMetaData.LocalElementsDictionary { + get { + return localElementDictionary; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static ContentModelEntity contentModel; + + ContentModelEntity IXMetaData.GetContentModel() { + return contentModel; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Fragment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class Signature : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static Signature Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static Signature Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static Signature Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator Signature(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new Signature(((SignatureType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SignatureType ContentField; + + public Signature() { + SetInnerType(new SignatureType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual SignatureType Content { + get { + return ContentField; + } + } + + private void SetInnerType(SignatureType ContentField) { + this.ContentField = ((SignatureType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public Signature(SignatureType content) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (SignedInfo, SignatureValue, KeyInfo?, Object*) + /// + /// + public virtual SignedInfo SignedInfo { + get { + return this.ContentField.SignedInfo; + } + set { + this.ContentField.SignedInfo = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (SignedInfo, SignatureValue, KeyInfo?, Object*) + /// + /// + public virtual SignatureValue SignatureValue { + get { + return this.ContentField.SignatureValue; + } + set { + this.ContentField.SignatureValue = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (SignedInfo, SignatureValue, KeyInfo?, Object*) + /// + /// + public virtual KeyInfo KeyInfo { + get { + return this.ContentField.KeyInfo; + } + set { + this.ContentField.KeyInfo = value; + } + } + + /// + /// + /// Occurrence: optional, repeating + /// + /// + /// Regular expression: (SignedInfo, SignatureValue, KeyInfo?, Object*) + /// + /// + public virtual IList Object { + get { + return this.ContentField.Object; + } + set { + this.ContentField.Object = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Id { + get { + return this.ContentField.Id; + } + set { + this.ContentField.Id = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Signature", "http://www.w3.org/2000/09/xmldsig#"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class SignatureValue : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static SignatureValue Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static SignatureValue Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static SignatureValue Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator SignatureValue(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new SignatureValue(((SignatureValueType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SignatureValueType ContentField; + + public SignatureValue() { + SetInnerType(new SignatureValueType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual SignatureValueType Content { + get { + return ContentField; + } + } + + private void SetInnerType(SignatureValueType ContentField) { + this.ContentField = ((SignatureValueType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public SignatureValue(SignatureValueType content) { + SetInnerType(content); + } + + public virtual byte[] TypedValue { + get { + return this.ContentField.TypedValue; + } + set { + this.ContentField.TypedValue = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Id { + get { + return this.ContentField.Id; + } + set { + this.ContentField.Id = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SignatureValue", "http://www.w3.org/2000/09/xmldsig#"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class SignedInfo : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static SignedInfo Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static SignedInfo Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static SignedInfo Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator SignedInfo(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new SignedInfo(((SignedInfoType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SignedInfoType ContentField; + + public SignedInfo() { + SetInnerType(new SignedInfoType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual SignedInfoType Content { + get { + return ContentField; + } + } + + private void SetInnerType(SignedInfoType ContentField) { + this.ContentField = ((SignedInfoType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public SignedInfo(SignedInfoType content) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (CanonicalizationMethod, SignatureMethod, Reference+) + /// + /// + public virtual CanonicalizationMethod CanonicalizationMethod { + get { + return this.ContentField.CanonicalizationMethod; + } + set { + this.ContentField.CanonicalizationMethod = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (CanonicalizationMethod, SignatureMethod, Reference+) + /// + /// + public virtual SignatureMethod SignatureMethod { + get { + return this.ContentField.SignatureMethod; + } + set { + this.ContentField.SignatureMethod = value; + } + } + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (CanonicalizationMethod, SignatureMethod, Reference+) + /// + /// + public virtual IList Reference { + get { + return this.ContentField.Reference; + } + set { + this.ContentField.Reference = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Id { + get { + return this.ContentField.Id; + } + set { + this.ContentField.Id = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SignedInfo", "http://www.w3.org/2000/09/xmldsig#"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class CanonicalizationMethod : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static CanonicalizationMethod Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static CanonicalizationMethod Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static CanonicalizationMethod Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator CanonicalizationMethod(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new CanonicalizationMethod(((CanonicalizationMethodType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private CanonicalizationMethodType ContentField; + + public CanonicalizationMethod() { + SetInnerType(new CanonicalizationMethodType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual CanonicalizationMethodType Content { + get { + return ContentField; + } + } + + private void SetInnerType(CanonicalizationMethodType ContentField) { + this.ContentField = ((CanonicalizationMethodType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public CanonicalizationMethod(CanonicalizationMethodType content) { + SetInnerType(content); + } + + /// + /// + /// Regular expression: (any) + /// + /// + public virtual IEnumerable Any { + get { + return this.ContentField.Any; + } + } + + /// + /// + /// Occurrence: required + /// + /// + public virtual System.Uri Algorithm { + get { + return this.ContentField.Algorithm; + } + set { + this.ContentField.Algorithm = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("CanonicalizationMethod", "http://www.w3.org/2000/09/xmldsig#"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class SignatureMethod : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static SignatureMethod Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static SignatureMethod Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static SignatureMethod Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator SignatureMethod(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new SignatureMethod(((SignatureMethodType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SignatureMethodType ContentField; + + public SignatureMethod() { + SetInnerType(new SignatureMethodType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual SignatureMethodType Content { + get { + return ContentField; + } + } + + private void SetInnerType(SignatureMethodType ContentField) { + this.ContentField = ((SignatureMethodType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public SignatureMethod(SignatureMethodType content) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (HMACOutputLength?, any) + /// + /// + public virtual System.Decimal? HMACOutputLength { + get { + return this.ContentField.HMACOutputLength; + } + set { + this.ContentField.HMACOutputLength = value; + } + } + + /// + /// + /// Regular expression: (HMACOutputLength?, any) + /// + /// + public virtual IEnumerable Any { + get { + return this.ContentField.Any; + } + } + + /// + /// + /// Occurrence: required + /// + /// + public virtual System.Uri Algorithm { + get { + return this.ContentField.Algorithm; + } + set { + this.ContentField.Algorithm = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SignatureMethod", "http://www.w3.org/2000/09/xmldsig#"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class Reference : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static Reference Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static Reference Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static Reference Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator Reference(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new Reference(((ReferenceType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private ReferenceType ContentField; + + public Reference() { + SetInnerType(new ReferenceType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual ReferenceType Content { + get { + return ContentField; + } + } + + private void SetInnerType(ReferenceType ContentField) { + this.ContentField = ((ReferenceType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public Reference(ReferenceType content) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (Transforms?, DigestMethod, DigestValue) + /// + /// + public virtual Transforms Transforms { + get { + return this.ContentField.Transforms; + } + set { + this.ContentField.Transforms = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Transforms?, DigestMethod, DigestValue) + /// + /// + public virtual DigestMethod DigestMethod { + get { + return this.ContentField.DigestMethod; + } + set { + this.ContentField.DigestMethod = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Transforms?, DigestMethod, DigestValue) + /// + /// + public virtual DigestValue DigestValue { + get { + return this.ContentField.DigestValue; + } + set { + this.ContentField.DigestValue = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Id { + get { + return this.ContentField.Id; + } + set { + this.ContentField.Id = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Uri URI { + get { + return this.ContentField.URI; + } + set { + this.ContentField.URI = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Uri Type { + get { + return this.ContentField.Type; + } + set { + this.ContentField.Type = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Reference", "http://www.w3.org/2000/09/xmldsig#"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class Transforms : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static Transforms Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static Transforms Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static Transforms Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator Transforms(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new Transforms(((TransformsType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private TransformsType ContentField; + + public Transforms() { + SetInnerType(new TransformsType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual TransformsType Content { + get { + return ContentField; + } + } + + private void SetInnerType(TransformsType ContentField) { + this.ContentField = ((TransformsType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public Transforms(TransformsType content) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Transform+) + /// + /// + public virtual IList Transform { + get { + return this.ContentField.Transform; + } + set { + this.ContentField.Transform = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Transforms", "http://www.w3.org/2000/09/xmldsig#"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class Transform : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static Transform Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static Transform Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static Transform Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator Transform(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new Transform(((TransformType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private TransformType ContentField; + + public Transform() { + SetInnerType(new TransformType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual TransformType Content { + get { + return ContentField; + } + } + + private void SetInnerType(TransformType ContentField) { + this.ContentField = ((TransformType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public Transform(TransformType content) { + SetInnerType(content); + } + + /// + /// + /// Regular expression: (any | XPath)* + /// + /// + public virtual IEnumerable Any { + get { + return this.ContentField.Any; + } + } + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (any | XPath)* + /// + /// + public virtual IList XPath { + get { + return this.ContentField.XPath; + } + set { + this.ContentField.XPath = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + public virtual System.Uri Algorithm { + get { + return this.ContentField.Algorithm; + } + set { + this.ContentField.Algorithm = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Transform", "http://www.w3.org/2000/09/xmldsig#"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class DigestMethod : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static DigestMethod Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static DigestMethod Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static DigestMethod Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator DigestMethod(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new DigestMethod(((DigestMethodType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private DigestMethodType ContentField; + + public DigestMethod() { + SetInnerType(new DigestMethodType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual DigestMethodType Content { + get { + return ContentField; + } + } + + private void SetInnerType(DigestMethodType ContentField) { + this.ContentField = ((DigestMethodType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public DigestMethod(DigestMethodType content) { + SetInnerType(content); + } + + /// + /// + /// Regular expression: (any) + /// + /// + public virtual IEnumerable Any { + get { + return this.ContentField.Any; + } + } + + /// + /// + /// Occurrence: required + /// + /// + public virtual System.Uri Algorithm { + get { + return this.ContentField.Algorithm; + } + set { + this.ContentField.Algorithm = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("DigestMethod", "http://www.w3.org/2000/09/xmldsig#"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class DigestValue : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static DigestValue Load(string xmlFile) { + return XTypedServices.Load(xmlFile); + } + + public static DigestValue Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile); + } + + public static DigestValue Parse(string xml) { + return XTypedServices.Parse(xml); + } + + public static explicit operator DigestValue(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public DigestValue() { + } + + public DigestValue(byte[] content) { + this.TypedValue = content; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); + + public virtual byte[] TypedValue { + get { + XElement x = this.Untyped; + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.Base64Binary).Datatype); + } + set { + this.SetValueWithValidation(value, "TypedValue", global::www.w3.org.Item2000.Item09.xmldsig.DigestValueType.TypeDefinition); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("DigestValue", "http://www.w3.org/2000/09/xmldsig#"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class KeyInfo : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static KeyInfo Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static KeyInfo Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static KeyInfo Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator KeyInfo(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new KeyInfo(((KeyInfoType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private KeyInfoType ContentField; + + public KeyInfo() { + SetInnerType(new KeyInfoType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual KeyInfoType Content { + get { + return ContentField; + } + } + + private void SetInnerType(KeyInfoType ContentField) { + this.ContentField = ((KeyInfoType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public KeyInfo(KeyInfoType content) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (KeyName | KeyValue | RetrievalMethod | X509Data | PGPData | SPKIData | MgmtData | any)+ + /// + /// + public virtual IList KeyName { + get { + return this.ContentField.KeyName; + } + set { + this.ContentField.KeyName = value; + } + } + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (KeyName | KeyValue | RetrievalMethod | X509Data | PGPData | SPKIData | MgmtData | any)+ + /// + /// + public virtual IList KeyValue { + get { + return this.ContentField.KeyValue; + } + set { + this.ContentField.KeyValue = value; + } + } + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (KeyName | KeyValue | RetrievalMethod | X509Data | PGPData | SPKIData | MgmtData | any)+ + /// + /// + public virtual IList RetrievalMethod { + get { + return this.ContentField.RetrievalMethod; + } + set { + this.ContentField.RetrievalMethod = value; + } + } + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (KeyName | KeyValue | RetrievalMethod | X509Data | PGPData | SPKIData | MgmtData | any)+ + /// + /// + public virtual IList X509Data { + get { + return this.ContentField.X509Data; + } + set { + this.ContentField.X509Data = value; + } + } + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (KeyName | KeyValue | RetrievalMethod | X509Data | PGPData | SPKIData | MgmtData | any)+ + /// + /// + public virtual IList PGPData { + get { + return this.ContentField.PGPData; + } + set { + this.ContentField.PGPData = value; + } + } + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (KeyName | KeyValue | RetrievalMethod | X509Data | PGPData | SPKIData | MgmtData | any)+ + /// + /// + public virtual IList SPKIData { + get { + return this.ContentField.SPKIData; + } + set { + this.ContentField.SPKIData = value; + } + } + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (KeyName | KeyValue | RetrievalMethod | X509Data | PGPData | SPKIData | MgmtData | any)+ + /// + /// + public virtual IList MgmtData { + get { + return this.ContentField.MgmtData; + } + set { + this.ContentField.MgmtData = value; + } + } + + /// + /// + /// Regular expression: (KeyName | KeyValue | RetrievalMethod | X509Data | PGPData | SPKIData | MgmtData | any)+ + /// + /// + public virtual IEnumerable Any { + get { + return this.ContentField.Any; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Id { + get { + return this.ContentField.Id; + } + set { + this.ContentField.Id = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("KeyInfo", "http://www.w3.org/2000/09/xmldsig#"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class KeyName : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static KeyName Load(string xmlFile) { + return XTypedServices.Load(xmlFile); + } + + public static KeyName Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile); + } + + public static KeyName Parse(string xml) { + return XTypedServices.Parse(xml); + } + + public static explicit operator KeyName(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public KeyName() { + } + + public KeyName(string content) { + this.TypedValue = content; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); + + public virtual string TypedValue { + get { + XElement x = this.Untyped; + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetValue(value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("KeyName", "http://www.w3.org/2000/09/xmldsig#"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class MgmtData : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static MgmtData Load(string xmlFile) { + return XTypedServices.Load(xmlFile); + } + + public static MgmtData Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile); + } + + public static MgmtData Parse(string xml) { + return XTypedServices.Parse(xml); + } + + public static explicit operator MgmtData(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return XTypedServices.CloneXTypedElement(this); + } + + public MgmtData() { + } + + public MgmtData(string content) { + this.TypedValue = content; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] + protected internal static readonly System.Xml.Linq.XName TypedValueXName = System.Xml.Linq.XName.Get("TypedValue", ""); + + public virtual string TypedValue { + get { + XElement x = this.Untyped; + return XTypedServices.ParseValue(x, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + set { + this.SetValue(value, XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).Datatype); + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("MgmtData", "http://www.w3.org/2000/09/xmldsig#"); + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class KeyValue : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static KeyValue Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static KeyValue Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static KeyValue Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator KeyValue(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new KeyValue(((KeyValueType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private KeyValueType ContentField; + + public KeyValue() { + SetInnerType(new KeyValueType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual KeyValueType Content { + get { + return ContentField; + } + } + + private void SetInnerType(KeyValueType ContentField) { + this.ContentField = ((KeyValueType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public KeyValue(KeyValueType content) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (DSAKeyValue | RSAKeyValue | any) + /// + /// + public virtual DSAKeyValue DSAKeyValue { + get { + return this.ContentField.DSAKeyValue; + } + set { + this.ContentField.DSAKeyValue = value; + } + } + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Regular expression: (DSAKeyValue | RSAKeyValue | any) + /// + /// + public virtual RSAKeyValue RSAKeyValue { + get { + return this.ContentField.RSAKeyValue; + } + set { + this.ContentField.RSAKeyValue = value; + } + } + + /// + /// + /// Regular expression: (DSAKeyValue | RSAKeyValue | any) + /// + /// + public virtual IEnumerable Any { + get { + return this.ContentField.Any; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("KeyValue", "http://www.w3.org/2000/09/xmldsig#"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class RetrievalMethod : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static RetrievalMethod Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static RetrievalMethod Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static RetrievalMethod Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator RetrievalMethod(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new RetrievalMethod(((RetrievalMethodType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private RetrievalMethodType ContentField; + + public RetrievalMethod() { + SetInnerType(new RetrievalMethodType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual RetrievalMethodType Content { + get { + return ContentField; + } + } + + private void SetInnerType(RetrievalMethodType ContentField) { + this.ContentField = ((RetrievalMethodType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public RetrievalMethod(RetrievalMethodType content) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: (Transforms?) + /// + /// + public virtual Transforms Transforms { + get { + return this.ContentField.Transforms; + } + set { + this.ContentField.Transforms = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Uri URI { + get { + return this.ContentField.URI; + } + set { + this.ContentField.URI = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Uri Type { + get { + return this.ContentField.Type; + } + set { + this.ContentField.Type = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("RetrievalMethod", "http://www.w3.org/2000/09/xmldsig#"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class X509Data : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static X509Data Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static X509Data Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static X509Data Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator X509Data(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new X509Data(((X509DataType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private X509DataType ContentField; + + public X509Data() { + SetInnerType(new X509DataType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual X509DataType Content { + get { + return ContentField; + } + } + + private void SetInnerType(X509DataType ContentField) { + this.ContentField = ((X509DataType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public X509Data(X509DataType content) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((X509IssuerSerial | X509SKI | X509SubjectName | X509Certificate | X509CRL | any))+ + /// + /// + public virtual IList X509IssuerSerial { + get { + return this.ContentField.X509IssuerSerial; + } + set { + this.ContentField.X509IssuerSerial = value; + } + } + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((X509IssuerSerial | X509SKI | X509SubjectName | X509Certificate | X509CRL | any))+ + /// + /// + public virtual IList X509SKI { + get { + return this.ContentField.X509SKI; + } + set { + this.ContentField.X509SKI = value; + } + } + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((X509IssuerSerial | X509SKI | X509SubjectName | X509Certificate | X509CRL | any))+ + /// + /// + public virtual IList X509SubjectName { + get { + return this.ContentField.X509SubjectName; + } + set { + this.ContentField.X509SubjectName = value; + } + } + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((X509IssuerSerial | X509SKI | X509SubjectName | X509Certificate | X509CRL | any))+ + /// + /// + public virtual IList X509Certificate { + get { + return this.ContentField.X509Certificate; + } + set { + this.ContentField.X509Certificate = value; + } + } + + /// + /// + /// Occurrence: required, choice + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((X509IssuerSerial | X509SKI | X509SubjectName | X509Certificate | X509CRL | any))+ + /// + /// + public virtual IList X509CRL { + get { + return this.ContentField.X509CRL; + } + set { + this.ContentField.X509CRL = value; + } + } + + /// + /// + /// Regular expression: ((X509IssuerSerial | X509SKI | X509SubjectName | X509Certificate | X509CRL | any))+ + /// + /// + public virtual IEnumerable Any { + get { + return this.ContentField.Any; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("X509Data", "http://www.w3.org/2000/09/xmldsig#"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class PGPData : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static PGPData Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static PGPData Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static PGPData Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator PGPData(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new PGPData(((PGPDataType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private PGPDataType ContentField; + + public PGPData() { + SetInnerType(new PGPDataType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual PGPDataType Content { + get { + return ContentField; + } + } + + private void SetInnerType(PGPDataType ContentField) { + this.ContentField = ((PGPDataType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public PGPData(PGPDataType content) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((PGPKeyID, PGPKeyPacket?, any)|(PGPKeyPacket, any)) + /// + /// + public virtual byte[] PGPKeyID { + get { + return this.ContentField.PGPKeyID; + } + set { + this.ContentField.PGPKeyID = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((PGPKeyID, PGPKeyPacket?, any)|(PGPKeyPacket, any)) + /// + /// + public virtual IList PGPKeyPacket { + get { + return this.ContentField.PGPKeyPacket; + } + set { + this.ContentField.PGPKeyPacket = value; + } + } + + /// + /// + /// Regular expression: ((PGPKeyID, PGPKeyPacket?, any)|(PGPKeyPacket, any)) + /// + /// + public virtual IEnumerable Any { + get { + return this.ContentField.Any; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("PGPData", "http://www.w3.org/2000/09/xmldsig#"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class SPKIData : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static SPKIData Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static SPKIData Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static SPKIData Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator SPKIData(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new SPKIData(((SPKIDataType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SPKIDataType ContentField; + + public SPKIData() { + SetInnerType(new SPKIDataType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual SPKIDataType Content { + get { + return ContentField; + } + } + + private void SetInnerType(SPKIDataType ContentField) { + this.ContentField = ((SPKIDataType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public SPKIData(SPKIDataType content) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (SPKISexp, any)+ + /// + /// + public virtual IList SPKISexp { + get { + return this.ContentField.SPKISexp; + } + set { + this.ContentField.SPKISexp = value; + } + } + + /// + /// + /// Regular expression: (SPKISexp, any)+ + /// + /// + public virtual IEnumerable Any { + get { + return this.ContentField.Any; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SPKIData", "http://www.w3.org/2000/09/xmldsig#"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class Object : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static Object Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static Object Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static Object Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator Object(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new Object(((ObjectType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private ObjectType ContentField; + + public Object() { + SetInnerType(new ObjectType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual ObjectType Content { + get { + return ContentField; + } + } + + private void SetInnerType(ObjectType ContentField) { + this.ContentField = ((ObjectType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public Object(ObjectType content) { + SetInnerType(content); + } + + /// + /// + /// Regular expression: (any)* + /// + /// + public virtual IEnumerable Any { + get { + return this.ContentField.Any; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Id { + get { + return this.ContentField.Id; + } + set { + this.ContentField.Id = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string MimeType { + get { + return this.ContentField.MimeType; + } + set { + this.ContentField.MimeType = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual System.Uri Encoding { + get { + return this.ContentField.Encoding; + } + set { + this.ContentField.Encoding = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Object", "http://www.w3.org/2000/09/xmldsig#"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class Manifest : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static Manifest Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static Manifest Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static Manifest Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator Manifest(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new Manifest(((ManifestType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private ManifestType ContentField; + + public Manifest() { + SetInnerType(new ManifestType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual ManifestType Content { + get { + return ContentField; + } + } + + private void SetInnerType(ManifestType ContentField) { + this.ContentField = ((ManifestType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public Manifest(ManifestType content) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (Reference+) + /// + /// + public virtual IList Reference { + get { + return this.ContentField.Reference; + } + set { + this.ContentField.Reference = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Id { + get { + return this.ContentField.Id; + } + set { + this.ContentField.Id = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("Manifest", "http://www.w3.org/2000/09/xmldsig#"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class SignatureProperties : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static SignatureProperties Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static SignatureProperties Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static SignatureProperties Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator SignatureProperties(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new SignatureProperties(((SignaturePropertiesType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SignaturePropertiesType ContentField; + + public SignatureProperties() { + SetInnerType(new SignaturePropertiesType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual SignaturePropertiesType Content { + get { + return ContentField; + } + } + + private void SetInnerType(SignaturePropertiesType ContentField) { + this.ContentField = ((SignaturePropertiesType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public SignatureProperties(SignaturePropertiesType content) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required, repeating + /// + /// + /// Regular expression: (SignatureProperty+) + /// + /// + public virtual IList SignatureProperty { + get { + return this.ContentField.SignatureProperty; + } + set { + this.ContentField.SignatureProperty = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Id { + get { + return this.ContentField.Id; + } + set { + this.ContentField.Id = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SignatureProperties", "http://www.w3.org/2000/09/xmldsig#"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class SignatureProperty : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static SignatureProperty Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static SignatureProperty Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static SignatureProperty Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator SignatureProperty(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new SignatureProperty(((SignaturePropertyType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private SignaturePropertyType ContentField; + + public SignatureProperty() { + SetInnerType(new SignaturePropertyType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual SignaturePropertyType Content { + get { + return ContentField; + } + } + + private void SetInnerType(SignaturePropertyType ContentField) { + this.ContentField = ((SignaturePropertyType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public SignatureProperty(SignaturePropertyType content) { + SetInnerType(content); + } + + /// + /// + /// Regular expression: (any)+ + /// + /// + public virtual IEnumerable Any { + get { + return this.ContentField.Any; + } + } + + /// + /// + /// Occurrence: required + /// + /// + public virtual System.Uri Target { + get { + return this.ContentField.Target; + } + set { + this.ContentField.Target = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + public virtual string Id { + get { + return this.ContentField.Id; + } + set { + this.ContentField.Id = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("SignatureProperty", "http://www.w3.org/2000/09/xmldsig#"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class DSAKeyValue : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static DSAKeyValue Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static DSAKeyValue Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static DSAKeyValue Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator DSAKeyValue(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new DSAKeyValue(((DSAKeyValueType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private DSAKeyValueType ContentField; + + public DSAKeyValue() { + SetInnerType(new DSAKeyValueType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual DSAKeyValueType Content { + get { + return ContentField; + } + } + + private void SetInnerType(DSAKeyValueType ContentField) { + this.ContentField = ((DSAKeyValueType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public DSAKeyValue(DSAKeyValueType content) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((P, Q)?, G?, Y, J?, (Seed, PgenCounter)?) + /// + /// + public virtual byte[] P { + get { + return this.ContentField.P; + } + set { + this.ContentField.P = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((P, Q)?, G?, Y, J?, (Seed, PgenCounter)?) + /// + /// + public virtual byte[] Q { + get { + return this.ContentField.Q; + } + set { + this.ContentField.Q = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: ((P, Q)?, G?, Y, J?, (Seed, PgenCounter)?) + /// + /// + public virtual byte[] G { + get { + return this.ContentField.G; + } + set { + this.ContentField.G = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: ((P, Q)?, G?, Y, J?, (Seed, PgenCounter)?) + /// + /// + public virtual byte[] Y { + get { + return this.ContentField.Y; + } + set { + this.ContentField.Y = value; + } + } + + /// + /// + /// Occurrence: optional + /// + /// + /// Regular expression: ((P, Q)?, G?, Y, J?, (Seed, PgenCounter)?) + /// + /// + public virtual byte[] J { + get { + return this.ContentField.J; + } + set { + this.ContentField.J = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((P, Q)?, G?, Y, J?, (Seed, PgenCounter)?) + /// + /// + public virtual byte[] Seed { + get { + return this.ContentField.Seed; + } + set { + this.ContentField.Seed = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Setter: Appends + /// + /// + /// Regular expression: ((P, Q)?, G?, Y, J?, (Seed, PgenCounter)?) + /// + /// + public virtual byte[] PgenCounter { + get { + return this.ContentField.PgenCounter; + } + set { + this.ContentField.PgenCounter = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("DSAKeyValue", "http://www.w3.org/2000/09/xmldsig#"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class RSAKeyValue : XTypedElement, IXMetaData { + + public void Save(string xmlFile) { + XTypedServices.Save(xmlFile, Untyped); + } + + public void Save(System.IO.TextWriter tw) { + XTypedServices.Save(tw, Untyped); + } + + public void Save(System.Xml.XmlWriter xmlWriter) { + XTypedServices.Save(xmlWriter, Untyped); + } + + public static RSAKeyValue Load(string xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static RSAKeyValue Load(System.IO.TextReader xmlFile) { + return XTypedServices.Load(xmlFile, LinqToXsdTypeManager.Instance); + } + + public static RSAKeyValue Parse(string xml) { + return XTypedServices.Parse(xml, LinqToXsdTypeManager.Instance); + } + + public static explicit operator RSAKeyValue(XElement xe) { return XTypedServices.ToXTypedElement(xe,LinqToXsdTypeManager.Instance as ILinqToXsdTypeManager); } + + public override XTypedElement Clone() { + return new RSAKeyValue(((RSAKeyValueType)(this.Content.Clone()))); + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private RSAKeyValueType ContentField; + + public RSAKeyValue() { + SetInnerType(new RSAKeyValueType()); + } + + public override XElement Untyped { + get { + return base.Untyped; + } + set { + base.Untyped = value; + this.ContentField.Untyped = value; + } + } + + public virtual RSAKeyValueType Content { + get { + return ContentField; + } + } + + private void SetInnerType(RSAKeyValueType ContentField) { + this.ContentField = ((RSAKeyValueType)(XTypedServices.GetCloneIfRooted(ContentField))); + XTypedServices.SetName(this, this.ContentField); + } + + public RSAKeyValue(RSAKeyValueType content) { + SetInnerType(content); + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Modulus, Exponent) + /// + /// + public virtual byte[] Modulus { + get { + return this.ContentField.Modulus; + } + set { + this.ContentField.Modulus = value; + } + } + + /// + /// + /// Occurrence: required + /// + /// + /// Regular expression: (Modulus, Exponent) + /// + /// + public virtual byte[] Exponent { + get { + return this.ContentField.Exponent; + } + set { + this.ContentField.Exponent = value; + } + } + + private static readonly System.Xml.Linq.XName xName = System.Xml.Linq.XName.Get("RSAKeyValue", "http://www.w3.org/2000/09/xmldsig#"); + + Dictionary IXMetaData.LocalElementsDictionary { + get { + IXMetaData schemaMetaData = ((IXMetaData)(this.Content)); + return schemaMetaData.LocalElementsDictionary; + } + } + + XTypedElement IXMetaData.Content { + get { + return this.Content; + } + } + + ContentModelEntity IXMetaData.GetContentModel() { + return ContentModelEntity.Default; + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + System.Xml.Linq.XName IXMetaData.SchemaName { + get { + return xName; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + SchemaOrigin IXMetaData.TypeOrigin { + get { + return SchemaOrigin.Element; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + ILinqToXsdTypeManager IXMetaData.TypeManager { + get { + return LinqToXsdTypeManager.Instance; + } + } + } + + public partial class XRootNamespace { + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XDocument doc; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private XTypedElement rootObject; + + private XRootNamespace() { + } + + public static XRootNamespace Load(string xmlFile) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(string xmlFile, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlFile, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(TextReader textReader, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(textReader, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Load(XmlReader xmlReader) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Load(xmlReader); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public static XRootNamespace Parse(string text, LoadOptions options) { + XRootNamespace root = new XRootNamespace(); + root.doc = XDocument.Parse(text, options); + XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); + if ((typedRoot == null)) { + throw new LinqToXsdException("Invalid root element in xml document."); + } + root.rootObject = typedRoot; + return root; + } + + public virtual void Save(string fileName) { + doc.Save(fileName); + } + + public virtual void Save(TextWriter textWriter) { + doc.Save(textWriter); + } + + public virtual void Save(XmlWriter writer) { + doc.Save(writer); + } + + public virtual void Save(TextWriter textWriter, SaveOptions options) { + doc.Save(textWriter, options); + } + + public virtual void Save(string fileName, SaveOptions options) { + doc.Save(fileName, options); + } + + public virtual XDocument XDocument { + get { + return doc; + } + } + + public virtual XTypedElement Root { + get { + return rootObject; + } + } + + public XRootNamespace(Signature root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public Signature Signature { get {return rootObject as Signature; } } + + public XRootNamespace(SignatureValue root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public SignatureValue SignatureValue { get {return rootObject as SignatureValue; } } + + public XRootNamespace(SignedInfo root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public SignedInfo SignedInfo { get {return rootObject as SignedInfo; } } + + public XRootNamespace(CanonicalizationMethod root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public CanonicalizationMethod CanonicalizationMethod { get {return rootObject as CanonicalizationMethod; } } + + public XRootNamespace(SignatureMethod root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public SignatureMethod SignatureMethod { get {return rootObject as SignatureMethod; } } + + public XRootNamespace(Reference root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public Reference Reference { get {return rootObject as Reference; } } + + public XRootNamespace(Transforms root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public Transforms Transforms { get {return rootObject as Transforms; } } + + public XRootNamespace(Transform root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public Transform Transform { get {return rootObject as Transform; } } + + public XRootNamespace(DigestMethod root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public DigestMethod DigestMethod { get {return rootObject as DigestMethod; } } + + public XRootNamespace(DigestValue root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public DigestValue DigestValue { get {return rootObject as DigestValue; } } + + public XRootNamespace(KeyInfo root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public KeyInfo KeyInfo { get {return rootObject as KeyInfo; } } + + public XRootNamespace(KeyName root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public KeyName KeyName { get {return rootObject as KeyName; } } + + public XRootNamespace(MgmtData root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public MgmtData MgmtData { get {return rootObject as MgmtData; } } + + public XRootNamespace(KeyValue root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public KeyValue KeyValue { get {return rootObject as KeyValue; } } + + public XRootNamespace(RetrievalMethod root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public RetrievalMethod RetrievalMethod { get {return rootObject as RetrievalMethod; } } + + public XRootNamespace(X509Data root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public X509Data X509Data { get {return rootObject as X509Data; } } + + public XRootNamespace(PGPData root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public PGPData PGPData { get {return rootObject as PGPData; } } + + public XRootNamespace(SPKIData root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public SPKIData SPKIData { get {return rootObject as SPKIData; } } + + public XRootNamespace(Object root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public Object Object { get {return rootObject as Object; } } + + public XRootNamespace(Manifest root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public Manifest Manifest { get {return rootObject as Manifest; } } + + public XRootNamespace(SignatureProperties root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public SignatureProperties SignatureProperties { get {return rootObject as SignatureProperties; } } + + public XRootNamespace(SignatureProperty root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public SignatureProperty SignatureProperty { get {return rootObject as SignatureProperty; } } + + public XRootNamespace(DSAKeyValue root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public DSAKeyValue DSAKeyValue { get {return rootObject as DSAKeyValue; } } + + public XRootNamespace(RSAKeyValue root) { + this.doc = new XDocument(root.Untyped); + this.rootObject = root; + } + + + public RSAKeyValue RSAKeyValue { get {return rootObject as RSAKeyValue; } } + } +} diff --git a/LinqToXsd.Schemas/Tests/Nil/NilTest.xsd.cs b/LinqToXsd.Schemas/Tests/Nil/NilTest.xsd-g.cs similarity index 94% rename from LinqToXsd.Schemas/Tests/Nil/NilTest.xsd.cs rename to LinqToXsd.Schemas/Tests/Nil/NilTest.xsd-g.cs index 8db7d964..24d4773d 100644 --- a/LinqToXsd.Schemas/Tests/Nil/NilTest.xsd.cs +++ b/LinqToXsd.Schemas/Tests/Nil/NilTest.xsd-g.cs @@ -1,6 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. +// LinqToXsd Version: 3.4.24 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -9,16 +10,16 @@ #nullable enable annotations namespace LinqToXsd.Schemas.Test.NilTest { - using System; - using System.Collections; - using System.Collections.Generic; - using System.ComponentModel; - using System.IO; - using System.Linq; - using System.Diagnostics; - using System.Xml; - using System.Xml.Schema; - using System.Xml.Linq; + using global::System; + using global::System.Collections; + using global::System.Collections.Generic; + using global::System.ComponentModel; + using global::System.IO; + using global::System.Linq; + using global::System.Diagnostics; + using global::System.Xml; + using global::System.Xml.Schema; + using global::System.Xml.Linq; using global::Xml.Schema.Linq; @@ -69,7 +70,7 @@ public Root() { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [EditorBrowsable(EditorBrowsableState.Never)] - internal static readonly System.Xml.Linq.XName RequiredRefXName = System.Xml.Linq.XName.Get("RequiredRef", "http://linqtoxsd.schemas.org/test/nil-test.xsd"); + protected internal static readonly System.Xml.Linq.XName RequiredRefXName = System.Xml.Linq.XName.Get("RequiredRef", "http://linqtoxsd.schemas.org/test/nil-test.xsd"); /// /// @@ -94,7 +95,7 @@ public virtual System.String? RequiredRef { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [EditorBrowsable(EditorBrowsableState.Never)] - internal static readonly System.Xml.Linq.XName RequiredValXName = System.Xml.Linq.XName.Get("RequiredVal", "http://linqtoxsd.schemas.org/test/nil-test.xsd"); + protected internal static readonly System.Xml.Linq.XName RequiredValXName = System.Xml.Linq.XName.Get("RequiredVal", "http://linqtoxsd.schemas.org/test/nil-test.xsd"); /// /// @@ -119,7 +120,7 @@ public virtual System.Int32? RequiredVal { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [EditorBrowsable(EditorBrowsableState.Never)] - internal static readonly System.Xml.Linq.XName RequiredElXName = System.Xml.Linq.XName.Get("RequiredEl", "http://linqtoxsd.schemas.org/test/nil-test.xsd"); + protected internal static readonly System.Xml.Linq.XName RequiredElXName = System.Xml.Linq.XName.Get("RequiredEl", "http://linqtoxsd.schemas.org/test/nil-test.xsd"); /// /// @@ -144,7 +145,7 @@ public virtual ValueHolder? RequiredEl { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [EditorBrowsable(EditorBrowsableState.Never)] - internal static readonly System.Xml.Linq.XName OptionalRefXName = System.Xml.Linq.XName.Get("OptionalRef", "http://linqtoxsd.schemas.org/test/nil-test.xsd"); + protected internal static readonly System.Xml.Linq.XName OptionalRefXName = System.Xml.Linq.XName.Get("OptionalRef", "http://linqtoxsd.schemas.org/test/nil-test.xsd"); /// /// @@ -172,7 +173,7 @@ public virtual System.String? OptionalRef { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [EditorBrowsable(EditorBrowsableState.Never)] - internal static readonly System.Xml.Linq.XName OptionalValXName = System.Xml.Linq.XName.Get("OptionalVal", "http://linqtoxsd.schemas.org/test/nil-test.xsd"); + protected internal static readonly System.Xml.Linq.XName OptionalValXName = System.Xml.Linq.XName.Get("OptionalVal", "http://linqtoxsd.schemas.org/test/nil-test.xsd"); /// /// @@ -200,7 +201,7 @@ public virtual System.Int32? OptionalVal { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [EditorBrowsable(EditorBrowsableState.Never)] - internal static readonly System.Xml.Linq.XName OptionalElXName = System.Xml.Linq.XName.Get("OptionalEl", "http://linqtoxsd.schemas.org/test/nil-test.xsd"); + protected internal static readonly System.Xml.Linq.XName OptionalElXName = System.Xml.Linq.XName.Get("OptionalEl", "http://linqtoxsd.schemas.org/test/nil-test.xsd"); /// /// @@ -228,7 +229,7 @@ public virtual ValueHolder? OptionalEl { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [EditorBrowsable(EditorBrowsableState.Never)] - internal static readonly System.Xml.Linq.XName ListRefXName = System.Xml.Linq.XName.Get("ListRef", "http://linqtoxsd.schemas.org/test/nil-test.xsd"); + protected internal static readonly System.Xml.Linq.XName ListRefXName = System.Xml.Linq.XName.Get("ListRef", "http://linqtoxsd.schemas.org/test/nil-test.xsd"); [DebuggerBrowsable(DebuggerBrowsableState.Never)] private XSimpleList ListRefField; @@ -266,7 +267,7 @@ public virtual IList ListRef { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [EditorBrowsable(EditorBrowsableState.Never)] - internal static readonly System.Xml.Linq.XName ListValXName = System.Xml.Linq.XName.Get("ListVal", "http://linqtoxsd.schemas.org/test/nil-test.xsd"); + protected internal static readonly System.Xml.Linq.XName ListValXName = System.Xml.Linq.XName.Get("ListVal", "http://linqtoxsd.schemas.org/test/nil-test.xsd"); [DebuggerBrowsable(DebuggerBrowsableState.Never)] private XSimpleList ListValField; @@ -304,7 +305,7 @@ public virtual IList ListVal { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [EditorBrowsable(EditorBrowsableState.Never)] - internal static readonly System.Xml.Linq.XName ListElXName = System.Xml.Linq.XName.Get("ListEl", "http://linqtoxsd.schemas.org/test/nil-test.xsd"); + protected internal static readonly System.Xml.Linq.XName ListElXName = System.Xml.Linq.XName.Get("ListEl", "http://linqtoxsd.schemas.org/test/nil-test.xsd"); [DebuggerBrowsable(DebuggerBrowsableState.Never)] private XTypedList ListElField; @@ -421,7 +422,7 @@ public ValueHolder() { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [EditorBrowsable(EditorBrowsableState.Never)] - internal static readonly System.Xml.Linq.XName ValueXName = System.Xml.Linq.XName.Get("Value", "http://linqtoxsd.schemas.org/test/nil-test.xsd"); + protected internal static readonly System.Xml.Linq.XName ValueXName = System.Xml.Linq.XName.Get("Value", "http://linqtoxsd.schemas.org/test/nil-test.xsd"); /// /// diff --git a/LinqToXsd.Schemas/Tests/Nil/NilTest.xsd.config b/LinqToXsd.Schemas/Tests/Nil/NilTest.xsd.config index 99c8ad4f..d5153410 100644 --- a/LinqToXsd.Schemas/Tests/Nil/NilTest.xsd.config +++ b/LinqToXsd.Schemas/Tests/Nil/NilTest.xsd.config @@ -3,7 +3,7 @@ true - + diff --git a/LinqToXsd.Schemas/XInclude/xinclude.xsd-g.cs b/LinqToXsd.Schemas/XInclude/xinclude.xsd-g.cs index 828c227f..5c1dcf69 100644 --- a/LinqToXsd.Schemas/XInclude/xinclude.xsd-g.cs +++ b/LinqToXsd.Schemas/XInclude/xinclude.xsd-g.cs @@ -1,6 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. +// LinqToXsd Version: 3.4.24 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. diff --git a/LinqToXsd.Schemas/XsdFeatureTests/Attributes/ListType.xsd-g.cs b/LinqToXsd.Schemas/XsdFeatureTests/Attributes/ListType.xsd-g.cs index 190ae320..b507734a 100644 --- a/LinqToXsd.Schemas/XsdFeatureTests/Attributes/ListType.xsd-g.cs +++ b/LinqToXsd.Schemas/XsdFeatureTests/Attributes/ListType.xsd-g.cs @@ -1,6 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. +// LinqToXsd Version: 3.4.24 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. diff --git a/LinqToXsd.Schemas/XsdFeatureTests/Attributes/ListTypeWithDefaults.xsd-g.cs b/LinqToXsd.Schemas/XsdFeatureTests/Attributes/ListTypeWithDefaults.xsd-g.cs index aba565b9..f3c5fba5 100644 --- a/LinqToXsd.Schemas/XsdFeatureTests/Attributes/ListTypeWithDefaults.xsd-g.cs +++ b/LinqToXsd.Schemas/XsdFeatureTests/Attributes/ListTypeWithDefaults.xsd-g.cs @@ -1,6 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. +// LinqToXsd Version: 3.4.24 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. diff --git a/LinqToXsd.Schemas/XsdFeatureTests/Elements/ElementsListType.xsd-g.cs b/LinqToXsd.Schemas/XsdFeatureTests/Elements/ElementsListType.xsd-g.cs index d1b3a840..5a0563a5 100644 --- a/LinqToXsd.Schemas/XsdFeatureTests/Elements/ElementsListType.xsd-g.cs +++ b/LinqToXsd.Schemas/XsdFeatureTests/Elements/ElementsListType.xsd-g.cs @@ -1,6 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. +// LinqToXsd Version: 3.4.24 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. diff --git a/LinqToXsd.Schemas/XsdFeatureTests/Elements/ElementsListTypeWithDefaults.xsd-g.cs b/LinqToXsd.Schemas/XsdFeatureTests/Elements/ElementsListTypeWithDefaults.xsd-g.cs index 95b7e87b..d84ea93e 100644 --- a/LinqToXsd.Schemas/XsdFeatureTests/Elements/ElementsListTypeWithDefaults.xsd-g.cs +++ b/LinqToXsd.Schemas/XsdFeatureTests/Elements/ElementsListTypeWithDefaults.xsd-g.cs @@ -1,6 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. +// LinqToXsd Version: 3.4.24 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. diff --git a/LinqToXsd.Schemas/XsdFeatureTests/Elements/ElementsTests.xsd-g.cs b/LinqToXsd.Schemas/XsdFeatureTests/Elements/ElementsTests.xsd-g.cs index 15cd2289..a9acc845 100644 --- a/LinqToXsd.Schemas/XsdFeatureTests/Elements/ElementsTests.xsd-g.cs +++ b/LinqToXsd.Schemas/XsdFeatureTests/Elements/ElementsTests.xsd-g.cs @@ -1,6 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. +// LinqToXsd Version: 3.4.24 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. diff --git a/LinqToXsd.Schemas/XsdFeatureTests/Elements/ElementsWithComplexTypes.xsd-g.cs b/LinqToXsd.Schemas/XsdFeatureTests/Elements/ElementsWithComplexTypes.xsd-g.cs index d838f3db..11057cce 100644 --- a/LinqToXsd.Schemas/XsdFeatureTests/Elements/ElementsWithComplexTypes.xsd-g.cs +++ b/LinqToXsd.Schemas/XsdFeatureTests/Elements/ElementsWithComplexTypes.xsd-g.cs @@ -1,6 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. +// LinqToXsd Version: 3.4.24 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. diff --git a/LinqToXsd.Schemas/XsdFeatureTests/Elements/ElementsWithTypes.xsd-g.cs b/LinqToXsd.Schemas/XsdFeatureTests/Elements/ElementsWithTypes.xsd-g.cs index 3de7b6a7..d86d02b3 100644 --- a/LinqToXsd.Schemas/XsdFeatureTests/Elements/ElementsWithTypes.xsd-g.cs +++ b/LinqToXsd.Schemas/XsdFeatureTests/Elements/ElementsWithTypes.xsd-g.cs @@ -1,6 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. +// LinqToXsd Version: 3.4.24 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. diff --git a/LinqToXsd.Schemas/XsdFeatureTests/Elements/ElementsWithTypesSimpleDerived.xsd-g.cs b/LinqToXsd.Schemas/XsdFeatureTests/Elements/ElementsWithTypesSimpleDerived.xsd-g.cs index b11af0df..e55f12fa 100644 --- a/LinqToXsd.Schemas/XsdFeatureTests/Elements/ElementsWithTypesSimpleDerived.xsd-g.cs +++ b/LinqToXsd.Schemas/XsdFeatureTests/Elements/ElementsWithTypesSimpleDerived.xsd-g.cs @@ -1,6 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. +// LinqToXsd Version: 3.4.24 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. diff --git a/LinqToXsd.Schemas/XsdFeatureTests/ImportsXmlNamespace/ImportsXmlAttributes.xsd-g.cs b/LinqToXsd.Schemas/XsdFeatureTests/ImportsXmlNamespace/ImportsXmlAttributes.xsd-g.cs index c1ef0bad..f1dd17d8 100644 --- a/LinqToXsd.Schemas/XsdFeatureTests/ImportsXmlNamespace/ImportsXmlAttributes.xsd-g.cs +++ b/LinqToXsd.Schemas/XsdFeatureTests/ImportsXmlNamespace/ImportsXmlAttributes.xsd-g.cs @@ -1,6 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. +// LinqToXsd Version: 3.4.24 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -19,7 +20,7 @@ namespace LinqToXsd.Schemas.XsdFeatureTests.ImportsXmlAttributes { using global::System.Xml.Schema; using global::System.Xml.Linq; using global::Xml.Schema.Linq; - using W3C.Xml1998; + using global::W3C.Xml1998; public partial class localAttributeGroupElementTest : XTypedElement, IXMetaData { @@ -757,7 +758,7 @@ namespace W3C.Xml1998 { using global::System.Xml.Schema; using global::System.Xml.Linq; using global::Xml.Schema.Linq; - using LinqToXsd.Schemas.XsdFeatureTests.ImportsXmlAttributes; + using global::LinqToXsd.Schemas.XsdFeatureTests.ImportsXmlAttributes; public sealed class lang { diff --git a/LinqToXsd.Schemas/XsdFeatureTests/NoNamespace/NoNsXsd.xsd-g.cs b/LinqToXsd.Schemas/XsdFeatureTests/NoNamespace/NoNsXsd.xsd-g.cs index 7cf30c77..2f669249 100644 --- a/LinqToXsd.Schemas/XsdFeatureTests/NoNamespace/NoNsXsd.xsd-g.cs +++ b/LinqToXsd.Schemas/XsdFeatureTests/NoNamespace/NoNsXsd.xsd-g.cs @@ -1,6 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. +// LinqToXsd Version: 3.4.24 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. diff --git a/LinqToXsd.Schemas/XsdFeatureTests/SimpleTypeUnion/StuDateAndTime.xsd-g.cs b/LinqToXsd.Schemas/XsdFeatureTests/SimpleTypeUnion/StuDateAndTime.xsd-g.cs index 1915b2dc..1025925d 100644 --- a/LinqToXsd.Schemas/XsdFeatureTests/SimpleTypeUnion/StuDateAndTime.xsd-g.cs +++ b/LinqToXsd.Schemas/XsdFeatureTests/SimpleTypeUnion/StuDateAndTime.xsd-g.cs @@ -1,6 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. +// LinqToXsd Version: 3.4.24 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. diff --git a/LinqToXsd/CodeSummariser.cs b/LinqToXsd/CodeSummariser.cs new file mode 100644 index 00000000..aa2d677f --- /dev/null +++ b/LinqToXsd/CodeSummariser.cs @@ -0,0 +1,304 @@ +#nullable enable +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.CSharp; +using Microsoft.CodeAnalysis.CSharp.Syntax; + +namespace LinqToXsd +{ + /// + /// Summarises the structure of C# source files into markdown documents, using the Roslyn parsing APIs. + /// + internal static class CodeSummariser + { + /// + /// The language version that code generated by LinqToXsd is expected to be compatible with. Parsing against this + /// version also doubles as a check that the generated code does not use newer syntax. + /// + internal static readonly LanguageVersion GeneratedCodeLanguageVersion = LanguageVersion.CSharp8; + + private static readonly Regex WhitespacePattern = new Regex(@"\s+", RegexOptions.Compiled); + + /// + /// Reads the given C# source file and returns a markdown summary of the classes and enums it defines. + /// + /// + /// contains C# syntax errors. + public static string Summarise(string sourceFile) + { + var sourceCode = File.ReadAllText(sourceFile); + return SummariseSource(sourceCode, Path.GetFileName(sourceFile)); + } + + /// + /// Summarises the classes and enums defined in . + /// Members that are not visible outside their declaring type (private, or default accessibility) are omitted, + /// as are all method, accessor and constructor bodies. Type validator fields (the static + /// SimpleTypeValidator instances generated for simple types) are included without their initialisers. + /// + /// + /// Used for error messages only. + /// contains C# syntax errors. + public static string SummariseSource(string sourceCode, string sourceFileName) + { + var tree = CSharpSyntaxTree.ParseText(sourceCode, new CSharpParseOptions(GeneratedCodeLanguageVersion)); + + var parseErrors = tree.GetDiagnostics().Where(d => d.Severity == DiagnosticSeverity.Error).ToArray(); + if (parseErrors.Any()) { + var errorsText = string.Join(Environment.NewLine, parseErrors.Select(e => "\t" + e.GetMessage())); + throw new InvalidOperationException( + $"'{sourceFileName}' contains {parseErrors.Length} C# parsing error(s):{Environment.NewLine}{errorsText}"); + } + + var markdown = new StringBuilder(); + markdown.AppendLine($"# Summary of `{sourceFileName}`"); + markdown.AppendLine(); + markdown.AppendLine("Generated by `linqtoxsd sum`."); + markdown.AppendLine(); + + foreach (var type in tree.GetRoot().DescendantNodes().OfType()) + { + switch (type) + { + case ClassDeclarationSyntax classDeclaration when TypeIsIncluded(classDeclaration): + AppendClassSummary(markdown, classDeclaration); + break; + case EnumDeclarationSyntax enumDeclaration when TypeIsIncluded(enumDeclaration): + AppendEnumSummary(markdown, enumDeclaration); + break; + } + } + + return markdown.ToString(); + } + + /// + /// Types are included when they are not private. Top-level types without a visibility modifier default to + /// internal in C#, while nested types default to private. + /// + private static bool TypeIsIncluded(BaseTypeDeclarationSyntax type) + { + if (type.Modifiers.Any(SyntaxKind.PrivateKeyword)) return false; + if (IsVisible(type.Modifiers)) return true; + return !(type.Parent is TypeDeclarationSyntax); // top-level types default to internal + } + + /// + /// True when a member is visible outside its declaring type: public, protected or internal (or combinations + /// thereof such as protected internal), but never private. + /// + private static bool IsVisible(SyntaxTokenList modifiers) + { + if (modifiers.Any(SyntaxKind.PrivateKeyword)) return false; + return modifiers.Any(SyntaxKind.PublicKeyword) + || modifiers.Any(SyntaxKind.ProtectedKeyword) + || modifiers.Any(SyntaxKind.InternalKeyword); + } + + /// + /// Unlike methods, constructors without an access modifier are private by default. Static constructors have no + /// visibility at all and are always included. + /// + private static bool ConstructorIsIncluded(SyntaxTokenList modifiers) + { + if (modifiers.Any(SyntaxKind.PrivateKeyword)) return false; + return IsVisible(modifiers) || modifiers.Any(SyntaxKind.StaticKeyword); + } + + private static void AppendClassSummary(StringBuilder markdown, ClassDeclarationSyntax classDeclaration) + { + markdown.AppendLine($"## `{GetFullName(classDeclaration)}` — class"); + markdown.AppendLine(); + markdown.AppendLine($"- **Declaration:** `{ClassDeclarationSignature(classDeclaration)}`"); + markdown.AppendLine(); + + var constructors = new List(); + var methods = new List(); + var properties = new List(); + var typeValidators = new List(); + + foreach (var member in classDeclaration.Members) + { + switch (member) + { + case ConstructorDeclarationSyntax constructor when ConstructorIsIncluded(constructor.Modifiers): + constructors.Add(ConstructorSignature(constructor)); + break; + case MethodDeclarationSyntax method when IsVisible(method.Modifiers): + methods.Add(MethodSignature(method)); + break; + case PropertyDeclarationSyntax property when IsVisible(property.Modifiers): + properties.Add(PropertySignature(property)); + break; + case FieldDeclarationSyntax field when IsTypeValidatorField(field): + typeValidators.Add(FieldSignature(field)); + break; + } + } + + AppendMembersSection(markdown, "Constructors", constructors); + AppendMembersSection(markdown, "Methods", methods); + AppendMembersSection(markdown, "Properties", properties); + AppendMembersSection(markdown, "Type validators", typeValidators); + } + + private static void AppendEnumSummary(StringBuilder markdown, EnumDeclarationSyntax enumDeclaration) + { + markdown.AppendLine($"## `{GetFullName(enumDeclaration)}` — enum"); + markdown.AppendLine(); + markdown.AppendLine($"- **Declaration:** `{EnumDeclarationSignature(enumDeclaration)}`"); + markdown.AppendLine(); + + var values = enumDeclaration.Members.Select(member => + { + var signature = member.Identifier.Text; + if (member.EqualsValue != null) signature += " = " + Normalise(member.EqualsValue.Value.ToString()); + return signature; + }); + + AppendMembersSection(markdown, "Values", values); + } + + private static void AppendMembersSection(StringBuilder markdown, string heading, IEnumerable memberSignatures) + { + var signatures = memberSignatures.ToArray(); + if (!signatures.Any()) return; + + markdown.AppendLine($"### {heading}"); + markdown.AppendLine(); + foreach (var signature in signatures) markdown.AppendLine($"- `{signature}`"); + markdown.AppendLine(); + } + + /// + /// True when a field is a type validator: the static SimpleTypeValidator TypeDefinition fields that the + /// generator emits into simple type classes. Other fields (XName constants etc.) are not part of the summary. + /// + private static bool IsTypeValidatorField(FieldDeclarationSyntax field) + { + if (!IsVisible(field.Modifiers)) return false; + return field.Declaration.Type.ToString().Contains("SimpleTypeValidator"); + } + + private static string FieldSignature(FieldDeclarationSyntax field) + { + var names = string.Join(", ", field.Declaration.Variables.Select(v => v.Identifier.Text)); + return Normalise($"{ModifiersText(field.Modifiers)} {field.Declaration.Type} {names}"); + } + + private static string ClassDeclarationSignature(ClassDeclarationSyntax classDeclaration) + { + var signature = $"{ModifiersText(classDeclaration.Modifiers)} class {classDeclaration.Identifier}"; + signature += Normalise(classDeclaration.TypeParameterList?.ToString() ?? string.Empty); + var baseList = Normalise(classDeclaration.BaseList?.ToString() ?? string.Empty); + if (!string.IsNullOrEmpty(baseList)) signature += " " + baseList; + foreach (var constraint in classDeclaration.ConstraintClauses) signature += " " + Normalise(constraint.ToString()); + return Normalise(signature); + } + + private static string EnumDeclarationSignature(EnumDeclarationSyntax enumDeclaration) + { + var signature = $"{ModifiersText(enumDeclaration.Modifiers)} enum {enumDeclaration.Identifier}"; + var baseList = Normalise(enumDeclaration.BaseList?.ToString() ?? string.Empty); + if (!string.IsNullOrEmpty(baseList)) signature += " " + baseList; + return Normalise(signature); + } + + private static string MethodSignature(MethodDeclarationSyntax method) + { + var signature = $"{ModifiersText(method.Modifiers)} {method.ReturnType} {ExplicitInterfaceSpecifier(method.ExplicitInterfaceSpecifier)}{method.Identifier}{method.TypeParameterList}({ParameterListSignature(method.ParameterList)})"; + foreach (var constraint in method.ConstraintClauses) signature += " " + Normalise(constraint.ToString()); + return Normalise(signature); + } + + private static string ConstructorSignature(ConstructorDeclarationSyntax constructor) + { + var signature = $"{ModifiersText(constructor.Modifiers)} {constructor.Identifier}({ParameterListSignature(constructor.ParameterList)})"; + if (constructor.Initializer != null) signature += " " + Normalise(constructor.Initializer.ToString()); + return Normalise(signature); + } + + private static string PropertySignature(PropertyDeclarationSyntax property) + { + var accessors = string.Empty; + if (property.AccessorList != null) { + accessors = " { " + string.Join(" ", property.AccessorList.Accessors.Select(AccessorSignature)) + " }"; + } else if (property.ExpressionBody != null) { + accessors = " { get; }"; // an expression-bodied property is a getter with an elided body + } + + return Normalise($"{ModifiersText(property.Modifiers)} {property.Type} {ExplicitInterfaceSpecifier(property.ExplicitInterfaceSpecifier)}{property.Identifier}{accessors}"); + } + + private static string AccessorSignature(AccessorDeclarationSyntax accessor) + { + // accessor modifiers are rendered as-is; e.g. a private setter on a public property stays 'private set;' + var modifiers = string.Join(" ", accessor.Modifiers.Select(m => m.Text)); + return Normalise($"{modifiers} {accessor.Keyword.Text};"); + } + + private static string ParameterListSignature(ParameterListSyntax parameterList) + { + return string.Join(", ", parameterList.Parameters.Select(ParameterSignature)); + } + + private static string ParameterSignature(ParameterSyntax parameter) + { + var parts = new List(); + parts.AddRange(parameter.Modifiers.Select(m => m.Text)); + if (parameter.Type != null) parts.Add(Normalise(parameter.Type.ToString())); + parts.Add(parameter.Identifier.Text); + + var signature = string.Join(" ", parts); + if (parameter.Default != null) signature += " = " + Normalise(parameter.Default.Value.ToString()); + return signature; + } + + private static string ExplicitInterfaceSpecifier(ExplicitInterfaceSpecifierSyntax? specifier) + { + return specifier != null ? specifier.ToString() : string.Empty; + } + + /// + /// Builds the fully qualified name of a type: enclosing namespaces and containing types, followed by the type name. + /// + private static string GetFullName(BaseTypeDeclarationSyntax type) + { + var nameParts = new List(); + for (var ancestor = type.Parent; ancestor != null; ancestor = ancestor.Parent) + { + switch (ancestor) + { + case NamespaceDeclarationSyntax nameSpace: + nameParts.Add(nameSpace.Name.ToString()); + break; + case TypeDeclarationSyntax containingType: + nameParts.Add(containingType.Identifier.Text); + break; + } + } + + nameParts.Reverse(); + nameParts.Add(type.Identifier.Text); + return string.Join(".", nameParts); + } + + /// + /// Renders the modifier tokens of a declaration as they appear in source, minus any 'private' modifier. + /// + private static string ModifiersText(SyntaxTokenList modifiers) + { + return string.Join(" ", modifiers.Where(m => !m.IsKind(SyntaxKind.PrivateKeyword)).Select(m => m.Text)); + } + + private static string Normalise(string text) + { + return WhitespacePattern.Replace(text, " ").Trim(); + } + } +} diff --git a/LinqToXsd/CommandLineOptions/CommandLineOptions.cs b/LinqToXsd/CommandLineOptions/CommandLineOptions.cs index 24cede8a..b7d1c956 100644 --- a/LinqToXsd/CommandLineOptions/CommandLineOptions.cs +++ b/LinqToXsd/CommandLineOptions/CommandLineOptions.cs @@ -8,5 +8,7 @@ internal class CommandLineOptions public ConfigurationOptions config { get; set; } public GenerateOptions gen { get; set; } + + public SummaryOptions sum { get; set; } } } \ No newline at end of file diff --git a/LinqToXsd/CommandLineOptions/GenerateOptions.cs b/LinqToXsd/CommandLineOptions/GenerateOptions.cs index c71a1cd9..260b9ec4 100644 --- a/LinqToXsd/CommandLineOptions/GenerateOptions.cs +++ b/LinqToXsd/CommandLineOptions/GenerateOptions.cs @@ -40,16 +40,17 @@ public string Config /// instance of that configuration file. /// If this resolves to a folder, then all those configuration files are merged into a single instance. /// - public LinqToXsdSettings GetConfigInstance(IProgress progress = null) + public LinqToXsdSettings? GetConfigInstance(IProgress progress = null) { if (linqToXsdSettings != null) return linqToXsdSettings; // don't run twice if (Config.IsEmpty()) return null; if (!File.Exists(Config) && !Directory.Exists(Config)) return null; var fileInfo = new FileInfo(Config); - linqToXsdSettings = fileInfo.Attributes.HasFlag(FileAttributes.Directory) - ? ConfigurationProvider.Load(new DirectoryInfo(fileInfo.FullName), progress) // load directory - : XObjectsCoreGenerator.LoadLinqToXsdSettings(Config); // load file + if (fileInfo.Attributes.HasFlag(FileAttributes.Directory)) + linqToXsdSettings = ConfigurationProvider.Load(new DirectoryInfo(fileInfo.FullName), progress); + else + linqToXsdSettings = XObjectsCoreGenerator.LoadLinqToXsdSettings(Config); return linqToXsdSettings; } @@ -64,7 +65,7 @@ public LinqToXsdSettings GetConfigInstance(IProgress progress = null) [Option('a', nameof(AutoConfig), HelpText = "(bool) Specify this with a folder containing XSDs and accompanying configuration files. This argument associate a configuration file with an XSD when one follows the naming convention: 'schema.xsd' + 'schema.xsd.config' - this is the default convention used by the 'config -e' verb when you specify a folder. Use this parameter to associate an XSD with its own configuration settings to prevent those settings being overriden or merged as the -" + - nameof(Config) + " argument would do. Only accepts folder paths. Incompatible with -" + nameof(Config) + ". Will only generate code for XSDs that have an accompanying .config file. If no output is generated, run the 'config' verb on the folder first.")] + nameof(Config) + " argument would do. Only accepts folder paths. Incompatible with -" + nameof(Config) + ". Will only generate code for XSDs that have an accompanying .config file. If no output is generated, run the 'config' verb on the folder first. Any legacy output files (e.g. 'schema.xsd.cs') found next to the XSDs are deleted automatically before the new output ('schema.xsd-g.cs') is written.")] public bool AutoConfig { get => autoConfig; diff --git a/LinqToXsd/CommandLineOptions/OptionsAbstract.cs b/LinqToXsd/CommandLineOptions/OptionsAbstract.cs index 9c3c7a38..cefd7f03 100644 --- a/LinqToXsd/CommandLineOptions/OptionsAbstract.cs +++ b/LinqToXsd/CommandLineOptions/OptionsAbstract.cs @@ -7,6 +7,7 @@ using System.Xml.Linq; using CommandLine; using Xml.Schema.Linq; +using Xml.Schema.Linq.CodeGen; using Xml.Schema.Linq.Extensions; namespace LinqToXsd @@ -34,11 +35,12 @@ internal abstract class OptionsAbstract: IDisposable /// public virtual bool FilesWereGiven => FileSystemUtilities.HasFilePaths(FilesOrFolders); - protected string[] filesOrFolders = new string[0]; + protected string[] filesOrFolders = Array.Empty(); - protected Dictionary schemaReaders = new Dictionary(); + protected Dictionary schemaReaders = new(); - protected List resolvedSchemaFiles = new List(); + protected List resolvedSchemaFiles = new(); + protected List entryPointSchemas = new(); /// /// CLI argument: The file or folder paths given at the CL. @@ -74,6 +76,19 @@ public virtual List SchemaFiles } } + public virtual List EntryPointSchemas + { + get + { + if (entryPointSchemas.Any()) return entryPointSchemas; + + var graph = Graph.BuildFromFiles(filesOrFolders); + entryPointSchemas = [..graph.Schema]; + + return entryPointSchemas; + } + } + /// /// Returns instances of every file specified in . /// diff --git a/LinqToXsd/CommandLineOptions/SummaryOptions.cs b/LinqToXsd/CommandLineOptions/SummaryOptions.cs new file mode 100644 index 00000000..7508fd24 --- /dev/null +++ b/LinqToXsd/CommandLineOptions/SummaryOptions.cs @@ -0,0 +1,34 @@ +using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; +using CommandLine; + +namespace LinqToXsd +{ + /// + /// Instantiated by the CommandLineParser library for the 'sum' verb. + /// + [Verb(nameof(CommandLineOptions.sum), HelpText = "Summarises generated code files (.xsd-g.cs) into markdown.")] + [SuppressMessage("ReSharper", "UnusedMember.Global"), SuppressMessage("ReSharper", "ClassNeverInstantiated.Global")] + internal class SummaryOptions: OptionsAbstract + { + internal new const string FilesOrFoldersHelpText = "(string[]) One or more .xsd-g.cs files, or a single folder containing .xsd-g.cs files. Separate multiple files using a comma (,). Usage: 'LinqToXsd sum ,' or 'LinqToXsd sum '."; + + internal new const string OutputHelpText = "(string) Optional output folder for the generated markdown file(s). When omitted, each markdown file is written next to its source file."; + + /// + /// This overrides the base member to customise the help text for the 'sum' verb. + /// + [Value(1, HelpText = FilesOrFoldersHelpText, Required = true)] + public override IEnumerable FilesOrFolders + { + get => base.FilesOrFolders; + set => base.FilesOrFolders = value; + } + + /// + /// This overrides the base member to customise the help text for the 'sum' verb. + /// + [Option('o', nameof(Output), HelpText = OutputHelpText)] + public override string Output { get; set; } + } +} diff --git a/LinqToXsd/LinqToXsd.csproj b/LinqToXsd/LinqToXsd.csproj index 0ff3c4f8..4e52dce2 100644 --- a/LinqToXsd/LinqToXsd.csproj +++ b/LinqToXsd/LinqToXsd.csproj @@ -22,11 +22,13 @@ + + diff --git a/LinqToXsd/Program.GenerateCodeDispatcher.cs b/LinqToXsd/Program.GenerateCodeDispatcher.cs index 45940bf5..4c198e99 100644 --- a/LinqToXsd/Program.GenerateCodeDispatcher.cs +++ b/LinqToXsd/Program.GenerateCodeDispatcher.cs @@ -61,8 +61,20 @@ internal static void HandleWriteOutputToMultipleFiles(GenerateOptions options, D if (File.Exists(legacyOutputFilePath)) { - PrintLn("NOTE: Since v3.4.17, the default output file extension has changed. ".Yellow()); - PrintLn($"You should delete the existing source code file: {legacyOutputFileName}".DarkYellow()); + if (options.AutoConfig) + { + // With the -a flag, remove the legacy output file automatically + // before emitting the new one so they don't end up defining + // the same types in the same assembly. + File.Delete(legacyOutputFilePath); + PrintLn($"NOTE: Since v3.4.24, this CLI tool now automatically deletes existing files with the .xsd.cs file extension.".Yellow()); + PrintLn($"Removed legacy generated code file: {legacyOutputFileName}".Yellow()); + } + else + { + PrintLn("NOTE: Since v3.4.17, the default output file extension has changed. ".Yellow()); + PrintLn($"You should delete the existing source code file: {legacyOutputFileName}".DarkYellow()); + } } var fullPathOfContainingDir = Path.GetDirectoryName(outputFilePath); diff --git a/LinqToXsd/Program.SummaryDispatcher.cs b/LinqToXsd/Program.SummaryDispatcher.cs new file mode 100644 index 00000000..c28fe72e --- /dev/null +++ b/LinqToXsd/Program.SummaryDispatcher.cs @@ -0,0 +1,120 @@ +#nullable enable +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using Alba.CsConsoleFormat.Fluent; +using Xml.Schema.Linq.Extensions; + +namespace LinqToXsd +{ + public static partial class Program + { + /// + /// Handles the logic for the 'sum' verb: writing markdown summaries of generated code files. + /// + internal static class SummaryDispatcher + { + /// + /// Summarises each given .xsd-g.cs file into a markdown document of the same filename with a .md extension. + /// + /// + internal static void HandleSummary(SummaryOptions summaryOptions) + { + var inputFiles = ResolveInputFiles(summaryOptions); + if (!inputFiles.Any()) return; // an error was already reported + + var outputFolder = summaryOptions.Output; + if (outputFolder.IsNotEmpty() && !Directory.Exists(outputFolder)) { + PrintLn($"Creating directory: {outputFolder}".Yellow()); + Directory.CreateDirectory(outputFolder); + } + + foreach (var inputFile in inputFiles) + { + PrintLn("Source:".White()); + PrintLn(inputFile.Gray()); + + // throws InvalidOperationException on C# parsing errors, which is caught by Program.Main + var markdown = CodeSummariser.Summarise(inputFile); + var outputFile = DetermineOutputPath(inputFile, outputFolder); + + PrintLn("Output:".White()); + PrintLn(outputFile.DarkGreen()); + + File.WriteAllText(outputFile, markdown); + PrintLn(""); + } + } + + private static List ResolveInputFiles(SummaryOptions summaryOptions) + { + var inputPaths = summaryOptions.FilesOrFolders.Distinct(StringComparer.OrdinalIgnoreCase).ToArray(); + if (!inputPaths.Any()) { + PrintLn("No input files were given.".Red()); + ReturnCode = 1; + return new List(); + } + + var folders = inputPaths.Where(Directory.Exists).ToArray(); + var files = inputPaths.Where(path => !Directory.Exists(path)).ToArray(); + + if (folders.Length > 1) { + PrintLn("Only a single folder may be given to the 'sum' verb.".Red()); + ReturnCode = 1; + return new List(); + } + + if (folders.Any() && files.Any()) { + PrintLn("The 'sum' verb accepts either file path(s) or a single folder; mixing the two is not supported.".Red()); + ReturnCode = 1; + return new List(); + } + + if (folders.Any()) { + var found = Directory.GetFiles(folders[0], "*.xsd-g.cs", SearchOption.TopDirectoryOnly) + .OrderBy(f => f, StringComparer.OrdinalIgnoreCase) + .ToList(); + + if (!found.Any()) { + PrintLn($"No .xsd-g.cs files were found inside: {folders[0]}".Red()); + ReturnCode = 1; + } + + return found; + } + + var missingFiles = files.Where(f => !File.Exists(f)).ToArray(); + if (missingFiles.Any()) { + foreach (var missingFile in missingFiles) PrintLn($"File not found: {missingFile}".Red()); + ReturnCode = 1; + return new List(); + } + + var nonCodeFiles = files.Where(f => !f.EndsWith(".cs", StringComparison.OrdinalIgnoreCase)).ToArray(); + if (nonCodeFiles.Any()) { + foreach (var nonCodeFile in nonCodeFiles) PrintLn($"Not a C# source file: {nonCodeFile}".Red()); + ReturnCode = 1; + return new List(); + } + + return files.OrderBy(f => f, StringComparer.OrdinalIgnoreCase).ToList(); + } + + private static string DetermineOutputPath(string inputFile, string outputFolder) + { + var outputFilename = Path.GetFileName(inputFile); + if (outputFilename.EndsWith(".xsd-g.cs", StringComparison.OrdinalIgnoreCase)) { + // replace the whole '.xsd-g.cs' suffix so that 'wss.xsd-g.cs' becomes 'wss.md' + outputFilename = outputFilename.Substring(0, outputFilename.Length - ".xsd-g.cs".Length) + ".md"; + } else { + outputFilename = Path.ChangeExtension(outputFilename, ".md"); + } + + return outputFolder.IsNotEmpty() + ? Path.Combine(outputFolder, outputFilename) + : Path.Combine(Path.GetDirectoryName(inputFile) ?? string.Empty, outputFilename); + } + } + } +} diff --git a/LinqToXsd/Program.cs b/LinqToXsd/Program.cs index 96c8e635..28c4613f 100644 --- a/LinqToXsd/Program.cs +++ b/LinqToXsd/Program.cs @@ -1,8 +1,10 @@ -using System; +#nullable enable +using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; +using System.Runtime.CompilerServices; using Alba.CsConsoleFormat.Fluent; using CommandLine; using Xml.Schema.Linq; @@ -20,6 +22,9 @@ public static partial class Program Console.WriteLine(s); }); + /// + /// This is currently unused, but it is intended to be used for logging warnings to the console without propagating an exception. + /// public static IWarnableObserver ProgramObserver { get; } = new LinqToXsdProgramObserver(); public static bool IsConsolePresent @@ -61,6 +66,7 @@ public static void PrintLn(object element) /// public static int Main(string[] args) { + ReturnCode = 0; // reset in case Main is invoked more than once in the same process (as in unit testing) var version = typeof(Program).Assembly.GetName().Version?.ToString() ?? "Unknown"; PrintLn(("LinqToXsdCore v" + version).DarkGray()); PrintLn(($"Copyright (C) 2008-2011 Microsoft Corp, (C) 2019-{DateTime.Now.Year} github.com/mamift et al" + Environment.NewLine).White()); @@ -70,6 +76,7 @@ public static int Main(string[] args) } catch (Exception e) { PrintLn(e.ToString().DarkRed()); + ReturnCode = 1; } #else ParseCliArgsAndDispatch(args); @@ -85,7 +92,7 @@ internal static void ParseCliArgsAndDispatch(string[] args) { using (var parser = Parser.Default) { - var parserResult = parser.ParseArguments(args); + var parserResult = parser.ParseArguments(args); var generateHandlerAction = GenerateDisposalWrapper(HandleGenerateCode); parserResult.WithParsed(generateHandlerAction); @@ -93,6 +100,9 @@ internal static void ParseCliArgsAndDispatch(string[] args) var configHandlerAction = GenerateDisposalWrapper(HandleConfigurationOptions); parserResult.WithParsed(configHandlerAction); + var summaryHandlerAction = GenerateDisposalWrapper(SummaryDispatcher.HandleSummary); + parserResult.WithParsed(summaryHandlerAction); + //parserResult.WithNotParsed(ErrorHandler); } } @@ -157,18 +167,27 @@ internal static void HandleConfigurationOptions(ConfigurationOptions configOpts) /// internal static void HandleGenerateCode(GenerateOptions generateOptions) { - LinqToXsdSettings settingsFromFile = generateOptions.GetConfigInstance(ProgressReporter); - LinqToXsdSettings settings = settingsFromFile ?? XObjectsCoreGenerator.LoadLinqToXsdSettings(); - if (settingsFromFile != null) - PrintLn("Configuration file(s) loaded...".Gray()); + LinqToXsdSettings? settingsFromFile = generateOptions.GetConfigInstance(ProgressReporter); - settings.EnableServiceReference = generateOptions.EnableServiceReference; + if (generateOptions.AutoConfig) + { + ProgressReporter.Report("NOTE: As of v3.4.24 the -a flag (which searches for a config file matching the filename of an XSD) is now always automatically applied. If an .xsd.config is not found, default config values are applied."); + } - Dictionary textWriters = generateOptions.AutoConfig - ? XObjectsCoreGenerator.Generate(generateOptions.SchemaFiles, ProgramObserver) - : XObjectsCoreGenerator.Generate(generateOptions.SchemaFiles, settings, ProgramObserver); + Dictionary textWriters; + if (settingsFromFile is null) + { + textWriters = XObjectsCoreGenerator.Generate(generateOptions.SchemaFiles, ProgramObserver); + } + else + { + settingsFromFile.EnableServiceReference = generateOptions.EnableServiceReference; + Debug.Assert(settingsFromFile != null, nameof(settingsFromFile) + " != null"); + textWriters = XObjectsCoreGenerator.Generate(generateOptions.SchemaFiles, settingsFromFile, ProgramObserver); + } - if (generateOptions.Output.IsEmpty()) { + if (generateOptions.Output.IsEmpty()) + { PrintLn("No output directory given: defaulting to same directory as XSD file(s).".Gray()); generateOptions.Output = "-1"; } diff --git a/LinqToXsd/Properties/launchSettings.json b/LinqToXsd/Properties/launchSettings.json index 04fe8af9..f07fa362 100644 --- a/LinqToXsd/Properties/launchSettings.json +++ b/LinqToXsd/Properties/launchSettings.json @@ -308,6 +308,12 @@ "commandLineArgs": "gen -a .", "workingDirectory": "..\\GeneratedSchemaLibraries\\SOAP-WSDL", "hotReloadEnabled": false + }, + "XTCE": { + "commandName": "Project", + "commandLineArgs": "gen -a .", + "workingDirectory": "..\\GeneratedSchemaLibraries\\XTCE", + "hotReloadEnabled": false } } } \ No newline at end of file diff --git a/LinqToXsd/README.md b/LinqToXsd/README.md index 62647808..c206fe24 100644 --- a/LinqToXsd/README.md +++ b/LinqToXsd/README.md @@ -57,6 +57,16 @@ linqtoxsd gen "$(ProjectDir)wss.xsd" -c "$(ProjectDir)wss.xsd.config" In the above example, the strings beginning with `$()` are MSBuild macros. +### Summarising generated code + +The `sum` verb (short for summarise) writes a markdown file (`*.md`) describing the classes and their members in each generated `.xsd-g.cs` file: + +``` +linqtoxsd sum wss.xsd-g.cs +``` + +It accepts one or more `.xsd-g.cs` files, or a single folder of them. Method bodies and private members are omitted from the summary, and because the source is parsed with Roslyn, a syntax error in the generated code makes the command fail. See `linqtoxsd sum --help` for more details. + ## Using generated code in a shipping app or library For any project that includes the generated code, add a reference to the **XObjectsCore** nuget package. The latest version can be found here: https://www.nuget.org/packages/XObjectsCore/ diff --git a/LinqToXsd/SKILLS.md b/LinqToXsd/SKILLS.md new file mode 100644 index 00000000..c038b759 --- /dev/null +++ b/LinqToXsd/SKILLS.md @@ -0,0 +1,118 @@ +# Skills: Using the LinqToXsd CLI to generate code + +**Applies to:** the `LinqToXsd` project (published to NuGet as [`LinqToXsdCore`](https://www.nuget.org/packages/LinqToXsdCore)). + +This skill describes how to use the CLI to generate strongly-typed C# classes from W3C XML Schema (XSD) files. + +## When to use this skill + +Use it whenever a task involves: + +- generating `*.xsd-g.cs` files from `.xsd` schemas, +- creating or editing `.xsd.config` configuration files + +## Background + +The tool reads XSD files via `XmlSchemaSet` and emits C# classes that inherit from `XTypedElement` (from the `XObjectsCore` runtime library). Each generated class models an XML element or type so documents can be read and written through a strongly-typed `XDocument`-based API. Only source files are produced — this port does not emit assemblies. + +## Getting the tool + +Install it as a global .NET tool: + +```bash +dotnet tool install LinqToXsdCore -g +``` + +Then invoke it as `linqtoxsd` (`LinqToXsd` at a console). When working on this repository, run it straight from the project instead: + +```bash +dotnet run --project LinqToXsd -- +``` + +`linqtoxsd help` prints the overall help screen; `linqtoxsd --help` prints help for a specific verb. + +## Step 1 — (Optional) Create a configuration file + +A `.xsd.config` file customises how XML namespaces map to CLR namespaces. Generate one from a schema with the `config` verb: + +```bash +linqtoxsd config -e wss.xsd +``` + +This writes `wss.xsd.config` next to the XSD (overwriting any existing file) with default values, for example: + +```xml + + + + + + false + + false + + +``` + +The `` element is the part that matters day to day: `Schema` is the XML namespace URI and `Clr` is the CLR namespace it maps to — edit `Clr` to suit your project. Some other configuration elements are processed by the tool but are not fully documented (this is a port of the original LinqToXsd). + +`config -e` also accepts folders (one config per XSD inside) and multiple comma-separated inputs; add `-o` to write a single merged example config instead, e.g. `linqtoxsd config -e -o egConfig.xml`. + +## Step 2 — Generate code + +```bash +linqtoxsd gen wss.xsd -c wss.xsd.config +``` + +This emits `wss.xsd-g.cs` next to the XSD. Inputs may be files, folders, or a comma-separated mix: + +```bash +linqtoxsd gen schemas/file1.xsd,schemas/file2.xsd +linqtoxsd gen schemas/ -o Generated/ +``` + +Behaviour to know: + +- **Config discovery:** if no `-c` flag is given and `.xsd.config` exists next to the XSD, it is used automatically (as of v3.4.24, the old `-a` auto-association behaviour is always on). If no config file is found, default settings apply. Passing `-a` explicitly is still accepted and additionally auto-deletes legacy `*.xsd.cs` output files before writing; `-c` and `-a` are mutually exclusive. +- **`-c` with a folder** loads and merges every config file in that folder into one. +- **Output selection:** `-o` ending in `.cs` merges all generated code into that single file; `-o` naming a folder writes one `*.xsd-g.cs` per XSD into it; no `-o` writes next to each input XSD. +- **`gen -e`** imports the `System.Xml.Serialization` namespace into the generated code (and overrides the `EnableServiceReference` setting from any config file). Note that `-e` means something different on the `config` verb (generate example config). +- When folders are given, files referenced by `xs:include`/`xs:import` directives are not generated twice. +- Schema files are read with DTD processing enabled (`DtdProcessing.Parse`). +- Exit code is `0` on success, `1` on argument errors. + +Legacy `.xsd.cs` files (pre-v3.4.17 output) are not overwritten: the tool prints a warning telling you to delete them, as they would define the same types in the same assembly. + +## Regenerating on every build + +Add a pre-build event to the consuming project: + +```sh +linqtoxsd gen "$(ProjectDir)wss.xsd" -c "$(ProjectDir)wss.xsd.config" +``` + +(The strings beginning with `$()` are MSBuild macros.) + +## Using the generated code + +The generated `*.xsd-g.cs` files compile against the [`XObjectsCore`](https://www.nuget.org/packages/XObjectsCore) runtime package — add that reference to any project that includes generated code. Never add the `LinqToXsdCore` CLI package to a shipping project; depend on the generated code (and `XObjectsCore`) instead. + +## Summarising generated code + +The `sum` verb (short for summarise) writes a markdown summary of the types defined in generated code files: + +```bash +linqtoxsd sum Generated/wss.xsd-g.cs +linqtoxsd sum Generated/ # one folder of .xsd-g.cs files +``` + +It accepts one or more `.xsd-g.cs` file paths, or a single folder of them (not both), and writes `.md` next to each input file (or into a folder given with `-o`). For each class the summary records the declaration (base types and interfaces included), plus all public/protected/internal methods, properties and constructors, shortened to signatures with bodies omitted; private members are excluded. The static `SimpleTypeValidator` fields generated for simple types are listed under a "Type validators" section (without their initialisers). Enums are listed with their values. + +Because each file is parsed with Roslyn (at C# 8), any syntax error in the generated code makes the command fail with a non-zero exit code — `sum` doubles as a quick validity check on generated output. + +## Working in this repository + +- **Do not edit `*.xsd-g.cs` files by hand** — they are regenerated by the tool. Changes belong in the code generation logic in `XObjectsCode/`. +- `LinqToXsd.Schemas` references all `GeneratedSchemaLibraries` projects, and `XObjectsTests` references that — invalid generated C# breaks the test project's build, so the generated libraries act as a compile-time gate. +- Generated output must remain compatible with C# 7.3 / .NET Standard 2.0 for .NET Framework consumers. +- To regenerate the committed schemas after changing generation logic, run the `gen` verb from the repo root, e.g. `dotnet run --project LinqToXsd -- gen GeneratedSchemaLibraries/...`. diff --git a/LinqToXsdCore.sln b/LinqToXsdCore.sln index 1cc43258..be7a74ad 100644 --- a/LinqToXsdCore.sln +++ b/LinqToXsdCore.sln @@ -22,6 +22,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Version.props = Version.props _config.yml = _config.yml Regenerate-TestingSuite.ps1 = Regenerate-TestingSuite.ps1 + CONTRIBUTING.md = CONTRIBUTING.md EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XObjectsCodeGen", "XObjectsCode\XObjectsCodeGen.csproj", "{26B49F5C-4459-4B14-B25B-057469144039}" @@ -163,6 +164,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GraffitiMarkupLanguage", "G EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SOAP-WSDL", "GeneratedSchemaLibraries\SOAP-WSDL\SOAP-WSDL.csproj", "{34E6BF16-D0C3-4247-86B1-DF02BDA8542B}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ORMML", "GeneratedSchemaLibraries\ORMML\ORMML.csproj", "{F3FA4B6A-BB4F-4FA9-9C80-18EB83BDF0B2}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XTCE", "GeneratedSchemaLibraries\XTCE\XTCE.csproj", "{1A97E240-5CC5-4564-92A4-12C684A7989D}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -1013,6 +1018,30 @@ Global {34E6BF16-D0C3-4247-86B1-DF02BDA8542B}.Release|x64.Build.0 = Release|Any CPU {34E6BF16-D0C3-4247-86B1-DF02BDA8542B}.Release|x86.ActiveCfg = Release|Any CPU {34E6BF16-D0C3-4247-86B1-DF02BDA8542B}.Release|x86.Build.0 = Release|Any CPU + {F3FA4B6A-BB4F-4FA9-9C80-18EB83BDF0B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F3FA4B6A-BB4F-4FA9-9C80-18EB83BDF0B2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F3FA4B6A-BB4F-4FA9-9C80-18EB83BDF0B2}.Debug|x64.ActiveCfg = Debug|Any CPU + {F3FA4B6A-BB4F-4FA9-9C80-18EB83BDF0B2}.Debug|x64.Build.0 = Debug|Any CPU + {F3FA4B6A-BB4F-4FA9-9C80-18EB83BDF0B2}.Debug|x86.ActiveCfg = Debug|Any CPU + {F3FA4B6A-BB4F-4FA9-9C80-18EB83BDF0B2}.Debug|x86.Build.0 = Debug|Any CPU + {F3FA4B6A-BB4F-4FA9-9C80-18EB83BDF0B2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F3FA4B6A-BB4F-4FA9-9C80-18EB83BDF0B2}.Release|Any CPU.Build.0 = Release|Any CPU + {F3FA4B6A-BB4F-4FA9-9C80-18EB83BDF0B2}.Release|x64.ActiveCfg = Release|Any CPU + {F3FA4B6A-BB4F-4FA9-9C80-18EB83BDF0B2}.Release|x64.Build.0 = Release|Any CPU + {F3FA4B6A-BB4F-4FA9-9C80-18EB83BDF0B2}.Release|x86.ActiveCfg = Release|Any CPU + {F3FA4B6A-BB4F-4FA9-9C80-18EB83BDF0B2}.Release|x86.Build.0 = Release|Any CPU + {1A97E240-5CC5-4564-92A4-12C684A7989D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1A97E240-5CC5-4564-92A4-12C684A7989D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1A97E240-5CC5-4564-92A4-12C684A7989D}.Debug|x64.ActiveCfg = Debug|Any CPU + {1A97E240-5CC5-4564-92A4-12C684A7989D}.Debug|x64.Build.0 = Debug|Any CPU + {1A97E240-5CC5-4564-92A4-12C684A7989D}.Debug|x86.ActiveCfg = Debug|Any CPU + {1A97E240-5CC5-4564-92A4-12C684A7989D}.Debug|x86.Build.0 = Debug|Any CPU + {1A97E240-5CC5-4564-92A4-12C684A7989D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1A97E240-5CC5-4564-92A4-12C684A7989D}.Release|Any CPU.Build.0 = Release|Any CPU + {1A97E240-5CC5-4564-92A4-12C684A7989D}.Release|x64.ActiveCfg = Release|Any CPU + {1A97E240-5CC5-4564-92A4-12C684A7989D}.Release|x64.Build.0 = Release|Any CPU + {1A97E240-5CC5-4564-92A4-12C684A7989D}.Release|x86.ActiveCfg = Release|Any CPU + {1A97E240-5CC5-4564-92A4-12C684A7989D}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1083,6 +1112,8 @@ Global {041CE575-ECFC-421C-917F-18C58CF4B1A3} = {E65C7EC3-E7E2-46C0-83E1-BFD629ED6C6D} {F9FF6791-018B-4BCA-82D0-9E157157532F} = {E65C7EC3-E7E2-46C0-83E1-BFD629ED6C6D} {34E6BF16-D0C3-4247-86B1-DF02BDA8542B} = {E65C7EC3-E7E2-46C0-83E1-BFD629ED6C6D} + {F3FA4B6A-BB4F-4FA9-9C80-18EB83BDF0B2} = {E65C7EC3-E7E2-46C0-83E1-BFD629ED6C6D} + {1A97E240-5CC5-4564-92A4-12C684A7989D} = {E65C7EC3-E7E2-46C0-83E1-BFD629ED6C6D} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {515FF9D5-932D-4E95-A20B-E2A06A52858F} diff --git a/README.md b/README.md index 5642e5c0..8cf15407 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,20 @@ This is a port of [LinqToXsd](https://archive.codeplex.com/?p=linqtoxsd) to .NET This .NET Core port itself requires .NET Core 2.1 or 3.1, but it can generate code that is compatible with .NET Framework 4.6.x and .NET Core 2.x and later (this includes .NET 5 and later). -![Build Status](https://dev.azure.com/mamift1/LinqToXsdCore/_apis/build/status/LinqToXsdCore-.NET%20Desktop-CI) ![Nuget](https://buildstats.info/nuget/LinqToXsdCore) +### Build status + +![Build Status](https://dev.azure.com/mamift1/LinqToXsdCore/_apis/build/status/LinqToXsdCore-.NET%20Desktop-CI) + +### Internal release +[![LinqToXsdCore package in LinqToXsdCore-Release feed in Azure Artifacts](https://feeds.dev.azure.com/mamift1/c5c5cda4-7601-4d2b-b688-21450f77d935/_apis/public/Packaging/Feeds/LinqToXsdCore-Release/Packages/4cbbbca3-14bc-4d93-905b-603230fee754/Badge)](https://dev.azure.com/mamift1/LinqToXsdCore/_artifacts/feed/LinqToXsdCore-Release/NuGet/LinqToXsdCore?preferRelease=true) + +### Nuget.org + +[![NuGet Downloads](https://img.shields.io/nuget/dt/LinqToXsdCore)](https://www.nuget.org/packages/LinqToXsdCore) + +## Contributing + +Please see the [CONTRIBUTING](CONTRIBUTING.md) document. ## Get started diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 4c6066b5..bfe8e776 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -1,5 +1,21 @@ # LinqToXsdCore Release Notes +- **Important:** the `LinqToXsdCore` nuget package is the global `dotnet tool` that can be installed by a developer to generate code from an existing XSD file. To use this code in a shipping app or library, add a reference to the [XObjectsCore](https://www.nuget.org/packages/XObjectsCore/) nuget package to allow your generated code to build. See the [full readme for more instructions.](https://github.com/mamift/LinqToXsdCore) +- **Also important:** any generated code **should be tracked in git**. Please see [this section in the readme](https://github.com/mamift/LinqToXsdCore#best-practices) for more information. +- All releases are cumulative - for e.g. v3.4.24 includes all the changes/fixes described in all previous releases. Some releases are not publicly published to nuget.org, so upgrading via `dotnet tool update -g linqtoxsdcore`, you may notice version number skips (and that certain version numbers are not visible on nuget.org) - this is intentional and expected due to the simplified release management strategy employed. If something genuinely seems out of place, please file an issue on GitHub: https://github.com/mamift/LinqToXsdCore + +## Version 3.4.25 + +Nuget packages: +* https://www.nuget.org/packages/LinqToXsdCore/3.4.25 +* https://www.nuget.org/packages/XObjectsCore/3.4.25 +* * [#104](https://github.com/mamift/LinqToXsdCore/pull/104) The linqtoxsd CLI tool behaviour has changed: + - the `-a` flag will now delete existing files with the `.xsd.cs` extension (since v3.4.17, the default output extension is now `.xsd-g.cs`) when outputting code + - fixed a bug with getting the actual XML Schema version, the `xs:schema\@version` attribute is a user defined attribute for the schema version, it does not specify which W3C XSD specification version to validate against (i.e. v1.0 or v1.1). This has inadvertently caused `linqtoxsd` to skip schemas that had `xs:schema\@version` values that were v1.1 or higher. + - the behaviour of the `-a` argument when invoking the `linqtoxsd gen` CLI tool is now always applied i.e. it now always searches for a `.xsd.config` file regardless. However, in previous versions, if a config file was not found, `linqtoxsd gen` would skip that XSD file - now `linqtoxsd gen` will simply apply default config values for those XSD files and proceed to generate code. + - added a new CLI verb `sum` that will emit a markdown file that summarises the generated code. + - codegen: `global::` is now prefixed to the generated method `GetRootType()` when global:: is used in other places for namespaces with Xml in them. + ## Version 3.4.24 Nuget packages: @@ -18,15 +34,15 @@ Nuget packages: * [#102](https://github.com/mamift/LinqToXsdCore/pull/102) * Adds more sample XSDs for testing (GML, SOAP-WSDL, LoC-ALTO) * Fixes a code generation bug (evidence: `metalex.xsd` and `metalex_mcontainerTypeBug.xsd`) that prevented properties on a base class for an XSD complex type from being generated properly and also the constructor for the derived class for a derived complex type passing arguments to a base constructor that had the wrong signature. - * XObjectsCode/Src/XsdToTypesConverter.cs — in `TraverseParticle`, elements inherited through a restriction-derived base are no longer marked FromBaseType, since such a base contributes no generated members (its content model is deliberately skipped by BuildProperties). The derived type now generates the inherited content members itself, so its functional constructors initialize their own fields instead of forwarding to base(...) constructors that were never emitted. + * `XObjectsCode/Src/XsdToTypesConverter.cs` in `TraverseParticle`, elements inherited through a restriction-derived base are no longer marked FromBaseType, since such a base contributes no generated members (its content model is deliberately skipped by BuildProperties). The derived type now generates the inherited content members itself, so its functional constructors initialize their own fields instead of forwarding to base(...) constructors that were never emitted. -Nuget packages: -* https://www.nuget.org/packages/LinqToXsdCore/3.4.22 -* https://www.nuget.org/packages/XObjectsCore/3.4.22 - * [#100](https://github.com/mamift/LinqToXsdCore/pull/100) - * The auto-generated topmost comment now emits the LinqToXsd version instead of the CLR version. - * Adds C# 8 keywords (file record required scope) to name mangling logic so generated source code can prefix them with @ when required - * Fixed a regression wiht v3.4.21 which resulted in the omission of private classes for element definitions with an inline-defined anonymous type (i.e. no named complex or simple type). Evidence: `OAGi_Chem_eStandards_5.3_dayOfMonthBug.xsd-g.cs` +## Version 3.4.22 (internal) +NOTE: This was an internal release. All subsequent versions after this one includes all the changes/fixes described here: + +Changes from [PR #100](https://github.com/mamift/LinqToXsdCore/pull/100): +* The auto-generated topmost comment now emits the LinqToXsd version instead of the CLR version. +* Adds C# 8 keywords (file record required scope) to name mangling logic so generated source code can prefix them with @ when required +* Fixed a regression wiht v3.4.21 which resulted in the omission of private classes for element definitions with an inline-defined anonymous type (i.e. no named complex or simple type). Evidence: `OAGi_Chem_eStandards_5.3_dayOfMonthBug.xsd-g.cs` ## Version 3.4.21 NOTE: If you are upgrading from 3.4.19, please note the version number skip is intentional. This release (3.4.21) was published publicly to nuget.org, while 3.4.20 was an internal only release. Please read over the release notes for 3.4.20 to see the full scope of changes if you are upgrading from 3.4.19. @@ -35,13 +51,12 @@ Nuget packages: * https://www.nuget.org/packages/LinqToXsdCore/3.4.21 * https://www.nuget.org/packages/XObjectsCore/3.4.21 * [#99](https://github.com/mamift/LinqToXsdCore/pull/99) - * Fixed a bug that caused a Stackoverflow exception when LinqToXsd was given an XSD with a nested group definition. + * Fixed a bug that caused a Stackoverflow exception when LinqToXsd was given an XSD with a recursively nested element group definition. ## Version 3.4.20 (internal) -NOTE: This release was an internal-only release as the changes for 3.4.20 and 3.4.21 were initially one release, but the changes became so major, it was decided to be broken into two separate releases to thoroughly test the build and release pipelines to ensure no regressions. +NOTE: This was an internal release. All subsequent versions after this one includes all the changes/fixes described here: -Nuget packages: -* [#96](https://github.com/mamift/LinqToXsdCore/pull/96) +Changes from [PR #96](https://github.com/mamift/LinqToXsdCore/pull/96): * Fixes a code gen bug: when a schema imports another schema that contains a global attribute whose schema type was anonymous and had enums, LinqToXsd will now properly generate the C# enum definition. * added powershell for regenerating code in test libraries under (GeneratedSchemaLibraries). If you are contributing to LinqToXsdCore development, you can run this script to regenerate the test libraries. * fixes a bug with `ResolveFileAndFolderPathsToJustFiles`, added tests for `ResolvePossibleFileAndFolderPathsToProcessableSchemas` diff --git a/Regenerate-TestingSuite.ps1 b/Regenerate-TestingSuite.ps1 index 13f31409..2820e516 100644 --- a/Regenerate-TestingSuite.ps1 +++ b/Regenerate-TestingSuite.ps1 @@ -1,11 +1,14 @@ <# .SYNOPSIS Regenerates code for all GeneratedSchemaLibraries projects listed in - the LinqToXsd-TestingSuite.slnf solution filter. + the LinqToXsd-TestingSuite.slnf solution filter, plus every top-level + XSD folder under the LinqToXsd.Schemas project. .DESCRIPTION Parses the solution filter JSON, finds every project under the GeneratedSchemaLibraries folder, and invokes the LinqToXsd CLI tool - with 'gen -a .' in each project directory. + with 'gen -a .' in each project directory. Also invokes 'gen -a .' in + each top-level folder under LinqToXsd.Schemas that contains XSDs (the + CLI recurses into subfolders, so one run covers the whole tree below it). #> param( @@ -171,23 +174,34 @@ if ($LASTEXITCODE -ne 0) { } $slnf = Get-Content $slnfPath -Raw | ConvertFrom-Json -$projects = $slnf.solution.projects | - Where-Object { $_.StartsWith('GeneratedSchemaLibraries\') } +$projectDirs = $slnf.solution.projects | + Where-Object { $_.StartsWith('GeneratedSchemaLibraries\') } | + ForEach-Object { Split-Path $_ -Parent } -Write-Host "Found $($projects.Count) projects in GeneratedSchemaLibraries." -ForegroundColor Cyan +# Top-level folders under LinqToXsd.Schemas that contain XSDs. The CLI recurses +# into subfolders, so one run per top-level folder covers the whole tree below it. +$schemasProjectRoot = Join-Path $repoRoot 'LinqToXsd.Schemas' +$schemaDirs = Get-ChildItem -LiteralPath $schemasProjectRoot -Directory | + Where-Object { $_.Name -notin 'bin', 'obj' } | + Where-Object { @(Get-ChildItem -LiteralPath $_.FullName -Filter '*.xsd' -File -Recurse).Count -gt 0 } | + ForEach-Object { $_.FullName } + +# Every directory to run 'gen -a .' in: one per GeneratedSchemaLibraries project +# (from the solution filter) plus one per LinqToXsd.Schemas XSD folder. +$targetDirs = @($projectDirs | ForEach-Object { Join-Path $repoRoot $_ }) + @($schemaDirs) + +Write-Host "Found $($projectDirs.Count) projects in GeneratedSchemaLibraries and $($schemaDirs.Count) XSD folders in LinqToXsd.Schemas." -ForegroundColor Cyan $failed = @() $succeeded = 0 try { -foreach ($proj in $projects) { - # Path looks like: GeneratedSchemaLibraries\ProjectName\ProjectName.csproj - $projDir = Split-Path $proj -Parent # e.g. GeneratedSchemaLibraries\ProjectName - $absProjDir = Join-Path $repoRoot $projDir # full absolute path +foreach ($targetDir in $targetDirs) { + $dirLabel = [System.IO.Path]::GetRelativePath($repoRoot, $targetDir) - Write-Host "`n[$($succeeded + $failed.Count + 1)/$($projects.Count)] $projDir" -ForegroundColor Yellow + Write-Host "`n[$($succeeded + $failed.Count + 1)/$($targetDirs.Count)] $dirLabel" -ForegroundColor Yellow Write-Host " Running: dotnet run -c $Configuration --project LinqToXsd -- gen -a ." - Push-Location $absProjDir + Push-Location $targetDir try { $output = & dotnet run -c $Configuration -v q --framework netframework472 --project $linqToXsdProject -- gen -a . 2>&1 if ($LASTEXITCODE -eq 0) { @@ -197,7 +211,7 @@ foreach ($proj in $projects) { else { Write-Host " FAILED (exit code: $LASTEXITCODE)" -ForegroundColor Red $failed += [PSCustomObject]@{ - Project = $projDir + Project = $dirLabel ExitCode = $LASTEXITCODE Output = $output | Out-String } diff --git a/Version.props b/Version.props index 0e17b738..8e852ccc 100644 --- a/Version.props +++ b/Version.props @@ -1,6 +1,6 @@ - 3.4.24 + 3.4.25 $(VersionSuffix) $(Version)-$(VersionSuffix) diff --git a/XObjectsCode/Extensions/GeneralExtensions.cs b/XObjectsCode/Extensions/GeneralExtensions.cs index 86da4f8e..ac14511e 100644 --- a/XObjectsCode/Extensions/GeneralExtensions.cs +++ b/XObjectsCode/Extensions/GeneralExtensions.cs @@ -4,12 +4,20 @@ using System.Collections.Concurrent; using System.Collections.Generic; using System.Reflection; +using System.Xml.Schema; using Xml.Schema.Linq; namespace XObjects { public static class GeneralExtensionMethods { + public static bool IsXmlNamespaceAttributeError(this Exception ex) + { + return ex is XmlSchemaException && + ex.Message.Contains("'http://www.w3.org/XML/1998/namespace:") && + ex.Message.Contains("attribute is not declared"); + } + #if NETSTANDARD public static HashSet ToHashSet(this IEnumerable source, IEqualityComparer? comparer = null) { diff --git a/XObjectsCode/Extensions/XmlReaderExtensions.cs b/XObjectsCode/Extensions/XmlReaderExtensions.cs new file mode 100644 index 00000000..78ad0b12 --- /dev/null +++ b/XObjectsCode/Extensions/XmlReaderExtensions.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Xml; +using System.Xml.Schema; + +namespace Xml.Schema.Linq.CodeGen; + +public static class XmlReaderExtensions +{ + public static XmlSchemaSet CompileXmlSchemaSetWithPreloadedXsds(this XmlReader reader, out List preloadedFileNames) + { + var xmlResolver = new PreloadedXsdsResolver(); + var newXmlSet = new XmlSchemaSet { + XmlResolver = xmlResolver + }; + + newXmlSet.Add(null, reader); + newXmlSet.Compile(); + + preloadedFileNames = xmlResolver.PreloadedXsdFileNames; + + return newXmlSet; + } + +} \ No newline at end of file diff --git a/XObjectsCode/PreloadedXsds/2001-03.xml.xsd b/XObjectsCode/PreloadedXsds/2001-03.xml.xsd new file mode 100644 index 00000000..d662b423 --- /dev/null +++ b/XObjectsCode/PreloadedXsds/2001-03.xml.xsd @@ -0,0 +1,117 @@ + + + + + + + See http://www.w3.org/XML/1998/namespace.html and + http://www.w3.org/TR/REC-xml for information about this namespace. + + This schema document describes the XML namespace, in a form + suitable for import by other schema documents. + + Note that local names in this namespace are intended to be defined + only by the World Wide Web Consortium or its subgroups. The + following names are currently defined in this namespace and should + not be used with conflicting semantics by any Working Group, + specification, or document instance: + + base (as an attribute name): denotes an attribute whose value + provides a URI to be used as the base for interpreting any + relative URIs in the scope of the element on which it + appears; its value is inherited. This name is reserved + by virtue of its definition in the XML Base specification. + + lang (as an attribute name): denotes an attribute whose value + is a language code for the natural language of the content of + any element; its value is inherited. This name is reserved + by virtue of its definition in the XML specification. + + space (as an attribute name): denotes an attribute whose + value is a keyword indicating what whitespace processing + discipline is intended for the content of the element; its + value is inherited. This name is reserved by virtue of its + definition in the XML specification. + + Father (in any context at all): denotes Jon Bosak, the chair of + the original XML Working Group. This name is reserved by + the following decision of the W3C XML Plenary and + XML Coordination groups: + + In appreciation for his vision, leadership and dedication + the W3C XML Plenary on this 10th day of February, 2000 + reserves for Jon Bosak in perpetuity the XML name + xml:Father + + + + + This schema defines attributes and an attribute group + suitable for use by + schemas wishing to allow xml:base, xml:lang or xml:space attributes + on elements they define. + + To enable this, such a schema must import this schema + for the XML namespace, e.g. as follows: + <schema . . .> + . . . + <import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2001/03/xml.xsd"/> + + Subsequently, qualified reference to any of the attributes + or the group defined below will have the desired effect, e.g. + + <type . . .> + . . . + <attributeGroup ref="xml:specialAttrs"/> + + will define a type which will schema-validate an instance + element with any of those attributes + + + + In keeping with the XML Schema WG's standard versioning + policy, this schema document will persist at + http://www.w3.org/2001/03/xml.xsd. + At the date of issue it can also be found at + http://www.w3.org/2001/xml.xsd. + The schema document at that URI may however change in the future, + in order to remain compatible with the latest version of XML Schema + itself. In other words, if the XML Schema namespace changes, the version + of this document at + http://www.w3.org/2001/xml.xsd will change + accordingly; the version at + http://www.w3.org/2001/03/xml.xsd will not change. + + + + + + In due course, we should install the relevant ISO 2- and 3-letter + codes as the enumerated possible values . . . + + + + + + + + + + + + + + + See http://www.w3.org/TR/xmlbase/ for + information about this attribute. + + + + + + + + + + diff --git a/XObjectsCode/PreloadedXsds/2001.XMLSchema.dtd b/XObjectsCode/PreloadedXsds/2001.XMLSchema.dtd new file mode 100644 index 00000000..c52b04fe --- /dev/null +++ b/XObjectsCode/PreloadedXsds/2001.XMLSchema.dtd @@ -0,0 +1,402 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +%xs-datatypes; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/XObjectsCode/PreloadedXsds/2001.datatypes.dtd b/XObjectsCode/PreloadedXsds/2001.datatypes.dtd new file mode 100644 index 00000000..8e48553b --- /dev/null +++ b/XObjectsCode/PreloadedXsds/2001.datatypes.dtd @@ -0,0 +1,203 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/XObjectsCode/PreloadedXsds/2004-10.xml.xsd b/XObjectsCode/PreloadedXsds/2004-10.xml.xsd new file mode 100644 index 00000000..9bf636de --- /dev/null +++ b/XObjectsCode/PreloadedXsds/2004-10.xml.xsd @@ -0,0 +1,135 @@ + + + + + + + See http://www.w3.org/XML/1998/namespace.html and + http://www.w3.org/TR/REC-xml for information about this namespace. + + This schema document describes the XML namespace, in a form + suitable for import by other schema documents. + + Note that local names in this namespace are intended to be defined + only by the World Wide Web Consortium or its subgroups. The + following names are currently defined in this namespace and should + not be used with conflicting semantics by any Working Group, + specification, or document instance: + + base (as an attribute name): denotes an attribute whose value + provides a URI to be used as the base for interpreting any + relative URIs in the scope of the element on which it + appears; its value is inherited. This name is reserved + by virtue of its definition in the XML Base specification. + + id (as an attribute name): denotes an attribute whose value + should be interpreted as if declared to be of type ID. + The xml:id specification is not yet a W3C Recommendation, + but this attribute is included here to facilitate experimentation + with the mechanisms it proposes. Note that it is _not_ included + in the specialAttrs attribute group. + + lang (as an attribute name): denotes an attribute whose value + is a language code for the natural language of the content of + any element; its value is inherited. This name is reserved + by virtue of its definition in the XML specification. + + space (as an attribute name): denotes an attribute whose + value is a keyword indicating what whitespace processing + discipline is intended for the content of the element; its + value is inherited. This name is reserved by virtue of its + definition in the XML specification. + + Father (in any context at all): denotes Jon Bosak, the chair of + the original XML Working Group. This name is reserved by + the following decision of the W3C XML Plenary and + XML Coordination groups: + + In appreciation for his vision, leadership and dedication + the W3C XML Plenary on this 10th day of February, 2000 + reserves for Jon Bosak in perpetuity the XML name + xml:Father + + + + + This schema defines attributes and an attribute group + suitable for use by + schemas wishing to allow xml:base, xml:lang or xml:space attributes + on elements they define. + + To enable this, such a schema must import this schema + for the XML namespace, e.g. as follows: + <schema . . .> + . . . + <import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2001/03/xml.xsd"/> + + Subsequently, qualified reference to any of the attributes + or the group defined below will have the desired effect, e.g. + + <type . . .> + . . . + <attributeGroup ref="xml:specialAttrs"/> + + will define a type which will schema-validate an instance + element with any of those attributes + + + + In keeping with the XML Schema WG's standard versioning + policy, this schema document will persist at + http://www.w3.org/2004/10/xml.xsd. + At the date of issue it can also be found at + http://www.w3.org/2001/xml.xsd. + The schema document at that URI may however change in the future, + in order to remain compatible with the latest version of XML Schema + itself, or with the XML namespace itself. In other words, if the XML + Schema or XML namespaces change, the version of this document at + http://www.w3.org/2001/xml.xsd will change + accordingly; the version at + http://www.w3.org/2004/10/xml.xsd will not change. + + + + + + Attempting to install the relevant ISO 2- and 3-letter + codes as the enumerated possible values is probably never + going to be a realistic possibility. See + RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry + at http://www.iana.org/assignments/lang-tag-apps.htm for + further information. + + + + + + + + + + + + + + + See http://www.w3.org/TR/xmlbase/ for + information about this attribute. + + + + + + See http://www.w3.org/TR/xml-id/ for + information about this attribute. + + + + + + + + + + diff --git a/XObjectsCode/PreloadedXsds/2007-08.xml.xsd b/XObjectsCode/PreloadedXsds/2007-08.xml.xsd new file mode 100644 index 00000000..eeb9db56 --- /dev/null +++ b/XObjectsCode/PreloadedXsds/2007-08.xml.xsd @@ -0,0 +1,145 @@ + + + + + + See http://www.w3.org/XML/1998/namespace.html and + http://www.w3.org/TR/REC-xml for information about this namespace. + + This schema document describes the XML namespace, in a form + suitable for import by other schema documents. + + Note that local names in this namespace are intended to be defined + only by the World Wide Web Consortium or its subgroups. The + following names are currently defined in this namespace and should + not be used with conflicting semantics by any Working Group, + specification, or document instance: + + base (as an attribute name): denotes an attribute whose value + provides a URI to be used as the base for interpreting any + relative URIs in the scope of the element on which it + appears; its value is inherited. This name is reserved + by virtue of its definition in the XML Base specification. + + id (as an attribute name): denotes an attribute whose value + should be interpreted as if declared to be of type ID. + This name is reserved by virtue of its definition in the + xml:id specification. + + lang (as an attribute name): denotes an attribute whose value + is a language code for the natural language of the content of + any element; its value is inherited. This name is reserved + by virtue of its definition in the XML specification. + + space (as an attribute name): denotes an attribute whose + value is a keyword indicating what whitespace processing + discipline is intended for the content of the element; its + value is inherited. This name is reserved by virtue of its + definition in the XML specification. + + Father (in any context at all): denotes Jon Bosak, the chair of + the original XML Working Group. This name is reserved by + the following decision of the W3C XML Plenary and + XML Coordination groups: + + In appreciation for his vision, leadership and dedication + the W3C XML Plenary on this 10th day of February, 2000 + reserves for Jon Bosak in perpetuity the XML name + xml:Father + + + + + This schema defines attributes and an attribute group + suitable for use by + schemas wishing to allow xml:base, xml:lang, xml:space or xml:id + attributes on elements they define. + + To enable this, such a schema must import this schema + for the XML namespace, e.g. as follows: + <schema . . .> + . . . + <import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2001/xml.xsd"/> + + Subsequently, qualified reference to any of the attributes + or the group defined below will have the desired effect, e.g. + + <type . . .> + . . . + <attributeGroup ref="xml:specialAttrs"/> + + will define a type which will schema-validate an instance + element with any of those attributes + + + + In keeping with the XML Schema WG's standard versioning + policy, this schema document will persist at + http://www.w3.org/2007/08/xml.xsd. + At the date of issue it can also be found at + http://www.w3.org/2001/xml.xsd. + The schema document at that URI may however change in the future, + in order to remain compatible with the latest version of XML Schema + itself, or with the XML namespace itself. In other words, if the XML + Schema or XML namespaces change, the version of this document at + http://www.w3.org/2001/xml.xsd will change + accordingly; the version at + http://www.w3.org/2007/08/xml.xsd will not change. + + + + + + Attempting to install the relevant ISO 2- and 3-letter + codes as the enumerated possible values is probably never + going to be a realistic possibility. See + RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry + at http://www.iana.org/assignments/lang-tag-apps.htm for + further information. + + The union allows for the 'un-declaration' of xml:lang with + the empty string. + + + + + + + + + + + + + + + + + + + + + + + + See http://www.w3.org/TR/xmlbase/ for + information about this attribute. + + + + + + See http://www.w3.org/TR/xml-id/ for + information about this attribute. + + + + + + + + + + + diff --git a/XObjectsCode/PreloadedXsds/2009-01.xml.xsd b/XObjectsCode/PreloadedXsds/2009-01.xml.xsd new file mode 100644 index 00000000..bd291f3d --- /dev/null +++ b/XObjectsCode/PreloadedXsds/2009-01.xml.xsd @@ -0,0 +1,286 @@ + + + + + + +
+

About the XML namespace

+ +
+

+ This schema document describes the XML namespace, in a form + suitable for import by other schema documents. +

+

+ See + http://www.w3.org/XML/1998/namespace.html and + + http://www.w3.org/TR/REC-xml for information + about this namespace. +

+

+ Note that local names in this namespace are intended to be + defined only by the World Wide Web Consortium or its subgroups. + The names currently defined in this namespace are listed below. + They should not be used with conflicting semantics by any Working + Group, specification, or document instance. +

+

+ See further below in this document for more information about how to refer to this schema document from your own + XSD schema documents and about the + namespace-versioning policy governing this schema document. +

+
+
+
+
+ + + + +
+ +

lang (as an attribute name)

+

+ denotes an attribute whose value + is a language code for the natural language of the content of + any element; its value is inherited. This name is reserved + by virtue of its definition in the XML specification.

+ +
+
+

Notes

+

+ Attempting to install the relevant ISO 2- and 3-letter + codes as the enumerated possible values is probably never + going to be a realistic possibility. +

+

+ See BCP 47 at + http://www.rfc-editor.org/rfc/bcp/bcp47.txt + and the IANA language subtag registry at + + http://www.iana.org/assignments/language-subtag-registry + for further information. +

+

+ The union allows for the 'un-declaration' of xml:lang with + the empty string. +

+
+
+
+ + + + + + + + + +
+ + + + +
+ +

space (as an attribute name)

+

+ denotes an attribute whose + value is a keyword indicating what whitespace processing + discipline is intended for the content of the element; its + value is inherited. This name is reserved by virtue of its + definition in the XML specification.

+ +
+
+
+ + + + + + +
+ + + +
+ +

base (as an attribute name)

+

+ denotes an attribute whose value + provides a URI to be used as the base for interpreting any + relative URIs in the scope of the element on which it + appears; its value is inherited. This name is reserved + by virtue of its definition in the XML Base specification.

+ +

+ See http://www.w3.org/TR/xmlbase/ + for information about this attribute. +

+
+
+
+
+ + + + +
+ +

id (as an attribute name)

+

+ denotes an attribute whose value + should be interpreted as if declared to be of type ID. + This name is reserved by virtue of its definition in the + xml:id specification.

+ +

+ See http://www.w3.org/TR/xml-id/ + for information about this attribute. +

+
+
+
+
+ + + + + + + + + + +
+ +

Father (in any context at all)

+ +
+

+ denotes Jon Bosak, the chair of + the original XML Working Group. This name is reserved by + the following decision of the W3C XML Plenary and + XML Coordination groups: +

+
+

+ In appreciation for his vision, leadership and + dedication the W3C XML Plenary on this 10th day of + February, 2000, reserves for Jon Bosak in perpetuity + the XML name "xml:Father". +

+
+
+
+
+
+ + + +
+

About this schema document

+ +
+

+ This schema defines attributes and an attribute group suitable + for use by schemas wishing to allow xml:base, + xml:lang, xml:space or + xml:id attributes on elements they define. +

+

+ To enable this, such a schema must import this schema for + the XML namespace, e.g. as follows: +

+
+          <schema . . .>
+           . . .
+           <import namespace="http://www.w3.org/XML/1998/namespace"
+                      schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+     
+

+ or +

+
+           <import namespace="http://www.w3.org/XML/1998/namespace"
+                      schemaLocation="http://www.w3.org/2009/01/xml.xsd"/>
+     
+

+ Subsequently, qualified reference to any of the attributes or the + group defined below will have the desired effect, e.g. +

+
+          <type . . .>
+           . . .
+           <attributeGroup ref="xml:specialAttrs"/>
+     
+

+ will define a type which will schema-validate an instance element + with any of those attributes. +

+
+
+
+
+ + + +
+

Versioning policy for this schema document

+
+

+ In keeping with the XML Schema WG's standard versioning + policy, this schema document will persist at + + http://www.w3.org/2009/01/xml.xsd. +

+

+ At the date of issue it can also be found at + + http://www.w3.org/2001/xml.xsd. +

+

+ The schema document at that URI may however change in the future, + in order to remain compatible with the latest version of XML + Schema itself, or with the XML namespace itself. In other words, + if the XML Schema or XML namespaces change, the version of this + document at + http://www.w3.org/2001/xml.xsd + + will change accordingly; the version at + + http://www.w3.org/2009/01/xml.xsd + + will not change. +

+

+ Previous dated (and unchanging) versions of this schema + document are at: +

+ +
+
+
+
+ +
diff --git a/XObjectsCode/PreloadedXsds/xml.xsd.config b/XObjectsCode/PreloadedXsds/xml.xsd.config new file mode 100644 index 00000000..8eae53bb --- /dev/null +++ b/XObjectsCode/PreloadedXsds/xml.xsd.config @@ -0,0 +1,15 @@ + + + + false + false + false + false + + + + + + + false + \ No newline at end of file diff --git a/XObjectsCode/PreloadedXsdsResolver.cs b/XObjectsCode/PreloadedXsdsResolver.cs new file mode 100644 index 00000000..58f49ad1 --- /dev/null +++ b/XObjectsCode/PreloadedXsdsResolver.cs @@ -0,0 +1,117 @@ +#nullable enable +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Threading.Tasks; +using System.Xml; + +namespace Xml.Schema.Linq.CodeGen; + +public class PreloadedXsdsResolver: XmlUrlResolver +{ + private readonly Assembly _assembly = Assembly.GetAssembly(typeof(PreloadedXsdsResolver))!; + + public static class XmlXsdUrls + { + public static readonly string XmlXsd2009_01 = "http://www.w3.org/2009/01/xml.xsd"; + public static readonly string XmlXsd2007_08 = "http://www.w3.org/2007/08/xml.xsd"; + public static readonly string XmlXsd2004_10 = "http://www.w3.org/2004/10/xml.xsd"; + public static readonly string XmlXsd2001_03 = "http://www.w3.org/2001/03/xml.xsd"; + public static readonly string XmlXsd2001 = "http://www.w3.org/2001/xml.xsd"; + public static readonly string XmlXsdDtd2001 = "http://www.w3.org/2001/03/XMLSchema.dtd"; + public static readonly string XmlXsdDataTypesDtd2001 = "http://www.w3.org/2001/03/datatypes"; + + /// + /// From: (view in a web browser). + /// + public static readonly string[] All = [ + XmlXsd2001, XmlXsdDtd2001, XmlXsdDataTypesDtd2001, + XmlXsd2001, XmlXsd2001_03, XmlXsd2004_10, XmlXsd2007_08, XmlXsd2009_01 + ]; + } + + public static class EmbeddedXsdFileNames + { + public static readonly string _2001XmlSchemaDataTypesDtd = "2001.datatypes.dtd"; + public static readonly string _2001XmlSchemaDtd = "2001.XMLSchema.dtd"; + public static readonly string _2001XmlXsd = "2001-03.xml.xsd"; + public static readonly string _2004XmlXsd = "2004-10.xml.xsd"; + public static readonly string _2007XmlXsd = "2007-08.xml.xsd"; + public static readonly string _2009XmlXsd = "2009-01.xml.xsd"; + + public static readonly string XmlXsdConfig = "xml.xsd.config"; + + public static readonly string[] All = [ + _2001XmlSchemaDataTypesDtd, _2001XmlSchemaDtd, _2001XmlXsd, _2004XmlXsd, _2007XmlXsd, _2009XmlXsd + ]; + } + + protected Stream? GetStreamForFileName(string filename) + { + string[] names = _assembly.GetManifestResourceNames(); + if (names.Length == 0) return null; + + string? xmlXsd = Array.Find(names, x => x.EndsWith(filename)); + if (xmlXsd == null) return null; + PreloadedXsdFileNames.Add(filename); + Stream? stream = _assembly.GetManifestResourceStream(xmlXsd); + return stream; + } + + public override object? GetEntity(Uri absoluteUri, string role, Type ofObjectToReturn) + { + var originalString = absoluteUri.OriginalString; + Stream? stream = null; + if (originalString == XmlXsdUrls.XmlXsd2009_01) + { + stream = GetStreamForFileName("2009-01.xml.xsd"); + } + else if (originalString == XmlXsdUrls.XmlXsd2007_08) + { + stream = GetStreamForFileName("2007-08.xml.xsd"); + } + else if (originalString == XmlXsdUrls.XmlXsd2004_10) + { + stream = GetStreamForFileName("2004-10.xml.xsd"); + } + else if (originalString == XmlXsdUrls.XmlXsd2001_03) + { + stream = GetStreamForFileName("2001-03.xml.xsd"); + } + else if (originalString == XmlXsdUrls.XmlXsdDtd2001) + { + stream = GetStreamForFileName("2001.XMLSchema.dtd"); + } + else if (originalString.Contains(XmlXsdUrls.XmlXsdDataTypesDtd2001)) + { + stream = GetStreamForFileName("2001.datatypes.dtd"); + } + + if (stream != null) + { + return stream; + } + + return base.GetEntity(absoluteUri, role, ofObjectToReturn); + } + + public List PreloadedXsdFileNames { get; private set; } = new(); + + public override Task GetEntityAsync(Uri absoluteUri, string role, Type ofObjectToReturn) + { + return base.GetEntityAsync(absoluteUri, role, ofObjectToReturn); + } + + public override Uri ResolveUri(Uri baseUri, string relativeUri) + { + return base.ResolveUri(baseUri, relativeUri); + } + + public override bool SupportsType(Uri absoluteUri, Type type) + { + return base.SupportsType(absoluteUri, type); + } +} \ No newline at end of file diff --git a/XObjectsCode/Schema.cs b/XObjectsCode/Schema.cs index 6ca69553..6550f017 100644 --- a/XObjectsCode/Schema.cs +++ b/XObjectsCode/Schema.cs @@ -1,6 +1,7 @@ #nullable enable using System; using System.Collections.Generic; +using System.IO; using System.Linq; using Xml.Schema.Linq.Extensions; @@ -8,6 +9,16 @@ namespace Xml.Schema.Linq.CodeGen; public partial class Schema { + public string ToFullFilePath() + { + var parent = (Graph)this.Untyped.Parent; + + if (parent == null) + throw new InvalidOperationException("This Schema is not part of a Graph."); + + return Path.Combine(parent.Folder, this.RelativePath); + } + /// /// If this Schema links or imports others (has dependencies), this will return a flat list of those linked Schema objects. /// diff --git a/XObjectsCode/Src/CompiledFacets.cs b/XObjectsCode/Src/CompiledFacets.cs index ec64fd3d..5352aed9 100644 --- a/XObjectsCode/Src/CompiledFacets.cs +++ b/XObjectsCode/Src/CompiledFacets.cs @@ -2,6 +2,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Xml; using System.Xml.Schema; using Xml.Schema.Linq.CodeGen; @@ -100,6 +101,7 @@ public void compileFacets(XmlSchemaSimpleType simpleType) var isEnum = simpleType.IsEnum(); XmlSchemaSimpleType type = simpleType; XmlSchemaSimpleType enumSimpleType = null; //simpletype that has most restricted enums. + List enumFacetValues = new List(); flags = 0; while (type != null && !String.Equals(type.QualifiedName.Namespace, Constants.XSD, StringComparison.Ordinal)) @@ -154,8 +156,9 @@ public void compileFacets(XmlSchemaSimpleType simpleType) var value = type.BaseXmlSchemaType.Datatype.ParseValue(s: facet.Value, nameTable: nameTable, nsmgr: null); if (isEnum) { - var enumFacet = new EnumFacet(value.ToString()); - enumerations.Add(enumFacet.ToString()); + // defer to the end so every facet receives a member name that is + // unique within the whole enumeration (see EnumFacet.CreateUniqueFacets) + enumFacetValues.Add(value.ToString()); } else { @@ -249,6 +252,14 @@ public void compileFacets(XmlSchemaSimpleType simpleType) type = type.BaseXmlSchemaType as XmlSchemaSimpleType; } + + if (enumFacetValues.Count > 0) + { + foreach (var enumFacet in EnumFacet.CreateUniqueFacets(enumFacetValues)) + { + enumerations.Add(enumFacet.ToString()); + } + } } } } \ No newline at end of file diff --git a/XObjectsCode/Src/EnumFacet.cs b/XObjectsCode/Src/EnumFacet.cs index ef982c94..2c597da0 100644 --- a/XObjectsCode/Src/EnumFacet.cs +++ b/XObjectsCode/Src/EnumFacet.cs @@ -1,8 +1,10 @@ //Copyright (c) Microsoft Corporation. All rights reserved. using System; +using System.Collections.Generic; using System.Globalization; using System.Linq; +using System.Text; namespace Xml.Schema.Linq.CodeGen { @@ -27,10 +29,63 @@ public EnumFacet(string value) public string Value { get; } public bool IsValid { get; } - public string Member { get; } + public string Member { get; internal set; } public override string ToString() => this.IsValid ? this.Value : $"{this.Value}:{this.Member}"; + /// + /// Creates the list for an enumeration, guaranteeing that every facet + /// receives a member name that is unique within the enumeration. + /// Distinct schema values can map onto the same candidate member name - for instance the + /// value "*" expands to "Asterisk", which collides with a literal "Asterisk" value, and both + /// would be emitted as the same enum member and fail to compile. Colliding values are + /// disambiguated with a deterministic suffix derived from the schema value, so the generated + /// enum members and the 'value:member' strings stored in the validator facets always agree. + /// + public static List CreateUniqueFacets(IEnumerable values) + { + var facets = values.Distinct().Select(value => new EnumFacet(value)).ToList(); + + foreach (var duplicates in facets.GroupBy(facet => facet.Member).Where(group => group.Count() > 1)) + { + // prefer the facet whose schema value is already a valid identifier (e.g. "Asterisk" over "*") + var kept = duplicates.FirstOrDefault(facet => facet.IsValid) ?? duplicates.First(); + foreach (var facet in duplicates.Where(facet => facet != kept)) + { + facet.Member = $"{kept.Member}_{GetDeterministicSuffix(facet.Value)}"; + } + } + + // a crafted schema could still collide with a deterministic suffix (e.g. a literal value + // spelled like one); fall back to a numbered suffix to keep the members unique + var taken = new HashSet(StringComparer.Ordinal); + foreach (var facet in facets) + { + var member = facet.Member; + var index = 1; + while (!taken.Add(member)) + { + member = $"{facet.Member}{index++}"; + } + facet.Member = member; + } + + return facets; + } + + private static string GetDeterministicSuffix(string value) + { + // FNV-1a: stable across runs and platforms, unlike String.GetHashCode + uint hash = 2166136261; + foreach (char ch in value) + { + hash ^= ch; + hash *= 16777619; + } + + return hash.ToString("X8", CultureInfo.InvariantCulture); + } + private static string CreateValidIdentifier(string value) { if (string.IsNullOrEmpty(value)) return value; @@ -40,8 +95,30 @@ private static string CreateValidIdentifier(string value) if (value.Length == 1) { char ch = value[0]; - if (char.IsSymbol(ch) || char.IsPunctuation(ch)) { - return NameGenerator.ExpandSymbolToFullWord(value[0]); + if ((char.IsSymbol(ch) || char.IsPunctuation(ch)) && + NameGenerator.TryExpandSymbolToFullWord(ch, out var singleSymbolWord)) { + return singleSymbolWord; + } + } + + // A value made up entirely of characters that cannot appear in a C# identifier + // (e.g. "==", "<=", "&&") would have every character replaced with '_' by the + // fallback below, so distinct values would collapse onto the same member name. + // Expand each character to its full word name instead, keeping the members + // distinct and readable (e.g. "==" becomes "EqualsEquals"). + if (value.All(ch => !ValidUnicodeCategories.Contains(char.GetUnicodeCategory(ch)))) { + var expanded = new StringBuilder(); + foreach (char ch in value) { + if (!NameGenerator.TryExpandSymbolToFullWord(ch, out var symbolWord)) { + // unknown symbol; fall back to the underscore replacement below + expanded = null; + break; + } + expanded.Append(symbolWord); + } + + if (expanded != null) { + return CodeDomHelper.CodeProvider.CreateValidIdentifier(expanded.ToString()); } } diff --git a/XObjectsCode/Src/LinqToXsdSettings.cs b/XObjectsCode/Src/LinqToXsdSettings.cs index 2e6d9f2c..60d52b07 100644 --- a/XObjectsCode/Src/LinqToXsdSettings.cs +++ b/XObjectsCode/Src/LinqToXsdSettings.cs @@ -3,8 +3,10 @@ using System; using System.Xml.Linq; using System.Collections.Generic; +using System.IO; using System.Linq; using Xml.Schema.Linq.CodeGen; +using XObjects; namespace Xml.Schema.Linq { @@ -64,9 +66,9 @@ public void Load(XDocument configDocument) throw new InvalidOperationException("The configuration document does not contain a Namespaces element."); } - GenerateNamespaceMapping(namespacesElement); - GenerateNamespaceVisibilityMapping(namespacesElement); - GenerateNamespaceFileMapping(namespacesElement); + AddToNamespaceMapping(namespacesElement); + AddToNamespaceVisibilityMapping(namespacesElement); + AddToNamespaceFileMapping(namespacesElement); var codegenElement = rootElement.Element(XName.Get("CodeGeneration", Constants.TypedXLinqNs)); @@ -94,6 +96,20 @@ public void Load(XDocument configDocument) } } + public void AppendFromAdditionalConfigFile(Stream stream) + { + XDocument xDoc = XDocument.Load(stream); + XElement rootElement = xDoc.Root; + if (rootElement == null) throw new InvalidOperationException("No config root element!"); + XElement namespacesElement = rootElement.Element(XName.Get("Namespaces", Constants.TypedXLinqNs)) ?? + throw new ArgumentNullException( + "rootElement.Element(XName.Get(\"Namespaces\", Constants.TypedXLinqNs))"); + + AddToNamespaceMapping(namespacesElement); + AddToNamespaceVisibilityMapping(namespacesElement); + AddToNamespaceFileMapping(namespacesElement); + } + public string GetClrNamespace(string xmlNamespace) { string clrNamespace = string.Empty; @@ -134,7 +150,7 @@ public bool EnableServiceReference public bool PrefixGlobalNsWhenReferencingXmlSchemaLinqNs { get; set; } public bool AlwaysPrefixGlobalInUsingDirectives { get; set; } - private void GenerateNamespaceMapping(XElement namespaces) + private void AddToNamespaceMapping(XElement namespaces) { if (namespaces == null) return; foreach (XElement ns in namespaces.Elements(XName.Get("Namespace", Constants.TypedXLinqNs))) { @@ -145,11 +161,11 @@ private void GenerateNamespaceMapping(XElement namespaces) schema = string.Empty; } var clr = (string) ns.Attribute(XName.Get("Clr")); - namespaceMapping.Add(schema, clr); + namespaceMapping.AddIfNotAlreadyExists(schema, clr); } } - private void GenerateNamespaceVisibilityMapping(XElement namespaces) + private void AddToNamespaceVisibilityMapping(XElement namespaces) { if (namespaces == null) return; foreach (var ns in namespaces.Elements(XName.Get("Namespace", Constants.TypedXLinqNs))) { @@ -159,11 +175,11 @@ private void GenerateNamespaceVisibilityMapping(XElement namespaces) ? GeneratedTypesVisibility.Internal : GeneratedTypesVisibility.Public; - NamespaceTypesVisibilityMap.Add(clrNs, visibility); + NamespaceTypesVisibilityMap.AddIfNotAlreadyExists(clrNs, visibility); } } - private void GenerateNamespaceFileMapping(XElement namespaces) + private void AddToNamespaceFileMapping(XElement namespaces) { if (namespaces == null) return; foreach (var ns in namespaces.Elements(XName.Get("Namespace", Constants.TypedXLinqNs))) @@ -171,7 +187,7 @@ private void GenerateNamespaceFileMapping(XElement namespaces) var file = ns.Attribute(XName.Get("File"))?.Value; if (file == null) continue; var clrNs = ns.Attribute(XName.Get("Clr"))?.Value; - NamespaceFileMap.Add(clrNs, file); + NamespaceFileMap.AddIfNotAlreadyExists(clrNs, file); } } } diff --git a/XObjectsCode/Src/NameMangler.cs b/XObjectsCode/Src/NameMangler.cs index 2bebdd49..f1932485 100644 --- a/XObjectsCode/Src/NameMangler.cs +++ b/XObjectsCode/Src/NameMangler.cs @@ -133,43 +133,88 @@ public static bool IsKeyword(string identifier) return keywords.Contains(identifier); } + // Maps symbol characters that cannot appear in a C# identifier to a readable + // English word name, e.g. '<' becomes "LessThan". Used to build enum member names. + private static readonly Dictionary SymbolFullWords = new Dictionary + { + ['!'] = "ExclamationMark", + ['?'] = "QuestionMark", + ['.'] = "Period", + [','] = "Comma", + [';'] = "Semicolon", + [':'] = "Colon", + ['\''] = "Apostrophe", + ['"'] = "QuotationMark", + ['('] = "LeftParenthesis", + [')'] = "RightParenthesis", + ['['] = "LeftBracket", + [']'] = "RightBracket", + ['{'] = "LeftBrace", + ['}'] = "RightBrace", + ['-'] = "Hyphen", + ['_'] = "Underscore", + ['+'] = "Plus", + ['='] = "Equals", + ['*'] = "Asterisk", + ['/'] = "Slash", + ['\\'] = "Backslash", + ['&'] = "Ampersand", + ['%'] = "Percent", + ['$'] = "DollarSign", + ['#'] = "Hash", + ['@'] = "AtSymbol", + ['^'] = "Caret", + ['~'] = "Tilde", + ['`'] = "Backtick", + ['<'] = "LessThan", + ['>'] = "GreaterThan", + ['|'] = "Pipe", + [' '] = "Space", + ['\t'] = "Tab", + ['\n'] = "NewLine", + ['\r'] = "CarriageReturn", + ['\f'] = "FormFeed", + ['±'] = "PlusMinusSign", + ['−'] = "MinusSign", + ['×'] = "MultiplicationSign", + ['÷'] = "DivisionSign", + ['≠'] = "NotEqualsSign", + ['≤'] = "LessThanOrEqualSign", + ['≥'] = "GreaterThanOrEqualSign", + ['√'] = "SquareRoot", + ['∞'] = "Infinity", + ['§'] = "SectionSign", + ['¶'] = "PilcrowSign", + ['©'] = "CopyrightSign", + ['®'] = "RegisteredSign", + ['™'] = "TrademarkSign", + ['°'] = "DegreeSign", + ['·'] = "MiddleDot", + ['…'] = "Ellipsis", + ['–'] = "EnDash", + ['—'] = "EmDash", + ['«'] = "LeftDoubleAngleQuote", + ['»'] = "RightDoubleAngleQuote", + }; + + /// + /// Attempts to expand a symbol character to its full English word name, e.g. '<' becomes "LessThan". + /// Returns false for characters that have no known word name, so callers can fall back to + /// underscore replacement instead of failing code generation. + /// + public static bool TryExpandSymbolToFullWord(char ch, out string word) + { + return SymbolFullWords.TryGetValue(ch, out word); + } + public static string ExpandSymbolToFullWord(char ch) { - return ch switch { - '!' => "ExclamationMark", - '?' => "QuestionMark", - '.' => "Period", - ',' => "Comma", - ';' => "Semicolon", - ':' => "Colon", - '\'' => "Apostrophe", - '"' => "QuotationMark", - '(' => "LeftParenthesis", - ')' => "RightParenthesis", - '[' => "LeftBracket", - ']' => "RightBracket", - '{' => "LeftBrace", - '}' => "RightBrace", - '-' => "Hyphen", - '_' => "Underscore", - '+' => "Plus", - '=' => "Equals", - '*' => "Asterisk", - '/' => "Slash", - '\\' => "Backslash", - '&' => "Ampersand", - '%' => "Percent", - '$' => "DollarSign", - '#' => "Hash", - '@' => "AtSymbol", - '^' => "Caret", - '~' => "Tilde", - '`' => "Backtick", - '<' => "LessThan", - '>' => "GreaterThan", - '|' => "Pipe", - _ => throw new InvalidOperationException($"__UnknownSymbol__PLEASE_IMPLEMENT_IN_{nameof(ExpandSymbolToFullWord)}_METHOD") - }; + if (TryExpandSymbolToFullWord(ch, out string word)) + { + return word; + } + + throw new InvalidOperationException($"__UnknownSymbol__PLEASE_IMPLEMENT_IN_{nameof(ExpandSymbolToFullWord)}_METHOD"); } } diff --git a/XObjectsCode/Src/SOMQueryExtensions.cs b/XObjectsCode/Src/SOMQueryExtensions.cs index 93311e41..952ed4b1 100644 --- a/XObjectsCode/Src/SOMQueryExtensions.cs +++ b/XObjectsCode/Src/SOMQueryExtensions.cs @@ -197,11 +197,9 @@ public static IEnumerable GetEnumFacets(this XmlSchemaSimpleType simp { if (simpleType.Content is XmlSchemaSimpleTypeRestriction content) { - return content.Facets - .Cast() - .Select(facet => facet.Value) - .Distinct() - .Select(facet => new EnumFacet(facet)); + return EnumFacet.CreateUniqueFacets(content.Facets + .OfType() + .Select(facet => facet.Value)); } else { diff --git a/XObjectsCode/Src/TypeBuilder.cs b/XObjectsCode/Src/TypeBuilder.cs index 3baaca54..3bd4fa06 100644 --- a/XObjectsCode/Src/TypeBuilder.cs +++ b/XObjectsCode/Src/TypeBuilder.cs @@ -681,7 +681,7 @@ internal static CodeTypeDeclaration CreateTypeManager(XmlQualifiedName rootEleme CodeMemberMethod getRootType = new CodeMemberMethod(); getRootType.Attributes = MemberAttributes.Static | memberVisibility; getRootType.Name = Constants.GetRootType; - getRootType.ReturnType = new CodeTypeReference(Constants.SystemTypeName); + getRootType.ReturnType = new CodeTypeReference(Constants.SystemTypeName.PrefixIf(prefixGlobalNsWhenReferringToXmlSchemaLinqNs, "global::")); if (rootElementName.IsEmpty) { string xTypedElementClass = Constants.FullXTypedElement.PrefixIf(prefixGlobalNsWhenReferringToXmlSchemaLinqNs, "global::"); diff --git a/XObjectsCode/Src/TypesToCodeDom.cs b/XObjectsCode/Src/TypesToCodeDom.cs index dcbf3723..ce428282 100644 --- a/XObjectsCode/Src/TypesToCodeDom.cs +++ b/XObjectsCode/Src/TypesToCodeDom.cs @@ -620,25 +620,44 @@ private void CreateTypeManager() rootCodeNamespace.AddTypeWithParentNamespace(typeManagerDeclaration); //Add using statements in the rest of the namespaces for the root namespace to avoid error on TypeManager reference //Add using statements in the root namespace for the rest of the namespaces to avoid errors while building type dictionaries - CodeNamespaceImport rootImport = new CodeNamespaceImport(rootCodeNamespace.Name); foreach (CodeNamespace cns in codeNamespacesTable.Values) { if (cns != rootCodeNamespace) { if (rootCodeNamespace.Name.Length > 0) { - cns.Imports.Add(rootImport); + cns.Imports.Add(new CodeNamespaceImport(AddGlobalPrefixIfRequired(rootCodeNamespace.Name, cns.Name))); } if (cns.Name.Length > 0) { - rootCodeNamespace.Imports.Add(new CodeNamespaceImport(cns.Name)); + rootCodeNamespace.Imports.Add(new CodeNamespaceImport(AddGlobalPrefixIfRequired(cns.Name, rootCodeNamespace.Name))); } } } } } + /// + /// Decides whether a using import for , to be declared inside the code namespace + /// , needs the global:: prefix. This mirrors the decision made for the default + /// imports in : the prefix is always applied when the settings demand it, otherwise it + /// is applied when the two namespaces share a component, in which case the compiler can resolve the import relative + /// to the importing namespace rather than the global one. + /// + private string AddGlobalPrefixIfRequired(string importNamespace, string importingNamespace) + { + bool shouldPrefix = settings.AlwaysPrefixGlobalInUsingDirectives; + if (!shouldPrefix) + { + string[] importComponents = importNamespace.Split(['.']); + shouldPrefix = importingNamespace.Split(['.']).Any(component => + importComponents.Any(ic => ic.Equals(component, StringComparison.CurrentCultureIgnoreCase))); + } + + return shouldPrefix ? "global::" + importNamespace : importNamespace; + } + private bool ForwardProperty(CodeMemberProperty property) { return property != null && property.ImplementationTypes.Count == 0; //Its not an interface impl (IXMetaData) diff --git a/XObjectsCode/Src/XObjectsCoreGenerator.cs b/XObjectsCode/Src/XObjectsCoreGenerator.cs index 59bfd4bd..ef5adce3 100644 --- a/XObjectsCode/Src/XObjectsCoreGenerator.cs +++ b/XObjectsCode/Src/XObjectsCoreGenerator.cs @@ -22,11 +22,26 @@ public static class XObjectsCoreGenerator /// Creates a new instance of , optionally by loading from an XML file. /// /// Null, empty or non-existent file path value will simply return a default instance. + /// /// - public static LinqToXsdSettings LoadLinqToXsdSettings(string? fromXmlFile = null) + public static LinqToXsdSettings LoadLinqToXsdSettings(string? fromXmlFile = null, IWarnableObserver? observer = null) { var settings = new LinqToXsdSettings(); - if (fromXmlFile.IsNotEmpty() && File.Exists(fromXmlFile)) settings.Load(fromXmlFile); + if (fromXmlFile.IsNotEmpty() && File.Exists(fromXmlFile)) + { + settings.Load(fromXmlFile); + } + else if (observer != null) + { + if (fromXmlFile.IsEmpty()) + { + observer?.OnWarn("Config file not provided; using default values"); + } + else + { + observer.OnWarn($"Config file '{fromXmlFile}' did not exist; using default values"); + } + } return settings; } @@ -37,6 +52,7 @@ public static LinqToXsdSettings LoadLinqToXsdSettings(string? fromXmlFile = null /// public static LinqToXsdSettings LoadLinqToXsdSettings(XDocument xdoc) { + if (xdoc == null) throw new ArgumentNullException(nameof(xdoc)); var settings = new LinqToXsdSettings(); settings.Load(xdoc); @@ -54,6 +70,7 @@ public static Dictionary Generate(IEnumerable xsdFil LinqToXsdSettings settings, IWarnableObserver? programObserver = null) { if (xsdFilePaths == null) throw new ArgumentNullException(nameof(xsdFilePaths)); + if (settings == null) throw new ArgumentNullException(nameof(settings)); return xsdFilePaths .SelectMany(file => Generate(file, settings)) @@ -68,12 +85,14 @@ public static Dictionary Generate(IEnumerable xsdFil /// /// /// + /// /// /// is - public static IEnumerable<(string filename, TextWriter writer)> Generate(string xsdFilePath, string? linqToXsdSettingsFilePath = null) + public static IEnumerable<(string filename, TextWriter writer)> Generate(string xsdFilePath, string? linqToXsdSettingsFilePath = null, + IWarnableObserver? observer = null) { if (xsdFilePath.IsEmpty()) throw new ArgumentNullException(nameof(xsdFilePath)); - var settings = LoadLinqToXsdSettings(linqToXsdSettingsFilePath); + LinqToXsdSettings settings = LoadLinqToXsdSettings(linqToXsdSettingsFilePath, observer); return Generate(xsdFilePath, settings); } @@ -90,10 +109,53 @@ public static Dictionary Generate(IEnumerable xsdFil if (xsdFilePath.IsEmpty()) throw new ArgumentNullException(nameof(xsdFilePath)); if (settings == null) settings = new LinqToXsdSettings(); - var xmlReader = XmlReader.Create(xsdFilePath, Defaults.DefaultXmlReaderSettings); + // Create a fresh XmlReaderSettings per invocation: Defaults.DefaultXmlReaderSettings is a + // process-wide static that callers (e.g. unit tests) can mutate, which would change the + // BaseURI resolution of schemas read here. + var resolver = new XmlUrlResolver(); + var readerSettings = new XmlReaderSettings() { + DtdProcessing = Defaults.DefaultXmlReaderSettings.DtdProcessing, + CloseInput = Defaults.DefaultXmlReaderSettings.CloseInput + }; + readerSettings.XmlResolver = resolver; + var xmlReader = XmlReader.Create(xsdFilePath, readerSettings); + List preloadedFileNames = new(); using (xmlReader) { - XmlSchemaSet? schemaSet = xmlReader.ToXmlSchemaSet(); + XmlSchemaSet? schemaSet = null; + // Pass the resolver explicitly so xs:import/xs:include resolution uses the reader's + // resolver and BaseURI rather than anything inherited from shared/global state. + try + { + schemaSet = xmlReader.ToXmlSchemaSet(resolver); + } + catch (XmlSchemaException xse) when (xse.IsXmlNamespaceAttributeError()) + { + readerSettings.XmlResolver = null; + using var xmlReader2 = XmlReader.Create(xsdFilePath, readerSettings); + schemaSet = xmlReader2.CompileXmlSchemaSetWithPreloadedXsds(out preloadedFileNames); + } + + // the compilation of XSDs resulted in using preloaded schemas, then use preloaded XSD configuration so + // generated code is emitted in a user-friendly namespace + if (preloadedFileNames.Any()) { + var assembly = typeof(XmlReaderExtensions).Assembly; + var names = assembly.GetManifestResourceNames(); + bool isAnEmbeddedXmlSchema = false; + foreach (var fileName in preloadedFileNames) { + int findIndex = Array.FindIndex(names, n => n.EndsWith(fileName)); + if (findIndex == -1) + throw new InvalidOperationException($"File name not found embedded in assembly: {fileName}"); + isAnEmbeddedXmlSchema = true; + break; + } + + if (isAnEmbeddedXmlSchema) { + var configFileName = Array.Find(names, n => n.EndsWith(PreloadedXsdsResolver.EmbeddedXsdFileNames.XmlXsdConfig)); + var streamForFilename = assembly.GetManifestResourceStream(configFileName ?? throw new InvalidOperationException("Unable to find xml.xsd.config")); + settings.AppendFromAdditionalConfigFile(streamForFilename); + } + } string? xsdFolder = Path.GetDirectoryName(xsdFilePath); @@ -198,7 +260,7 @@ static CodeCompileUnit BuildUnit(IEnumerable namespaces) /// /// Generates code by searching for an accompanying configuration file, whereby each configuration file is named the same as the XSD file, but with an - /// .config extension (i.e. schemaFileName.xsd.config). Will skip over XSDs that have no accompanying .config file. + /// .config extension (i.e. schemaFileName.xsd.config). Will skip v1.1 XSDs; XSDs that have no config file will be generated with default settings. /// /// /// @@ -216,17 +278,17 @@ public static Dictionary Generate(IEnumerable schema .ToList(); var excludeV11Xsds = dictOfSchemasAndTheirConfigs - .Where(filePairs => filePairs.xsdFile.Exists && filePairs.xsdFile.GetXmlSchemaVersion() != XmlSchemaVersion.Version1_1) + .Where(filePairs => filePairs.xsdFile.Exists && filePairs.xsdFile.GetXmlSchemaVersion() == XmlSchemaVersion.Version1_1) .ToList(); - if (excludeV11Xsds.Count != dictOfSchemasAndTheirConfigs.Count) { + if (excludeV11Xsds.Count > 0) { observer?.OnWarn("Found some XSD v1.1 schemas: this tool does not support XSD v1.1. and will ignore those."); } observer?.OnNext($"Schemas to process: {excludeV11Xsds.ToDelimitedString(e => Path.GetFileName(e.xsdFile.Name), ';')}"); - return excludeV11Xsds - .SelectMany(pair => Generate(pair.xsdFile.FullName, pair.configFile.FullName)) + return dictOfSchemasAndTheirConfigs.Except(excludeV11Xsds) + .SelectMany(pair => Generate(pair.xsdFile.FullName, pair.configFile.FullName, observer)) // Multiple XSD files may import the same namespace, e.g. in case of a shared schema. // In this case we arbitrary keep the first occurence. .Distinct(new FileNameComparer()) diff --git a/XObjectsCode/XObjectsCodeGen.csproj b/XObjectsCode/XObjectsCodeGen.csproj index 461239e4..23c2f2b6 100644 --- a/XObjectsCode/XObjectsCodeGen.csproj +++ b/XObjectsCode/XObjectsCodeGen.csproj @@ -14,6 +14,26 @@ Xml.Schema.Linq.CodeGen + + + + + + + + + + + + + + + + + + + + diff --git a/XObjectsCore/EnumFacetMapping.cs b/XObjectsCore/EnumFacetMapping.cs index 527c7f0e..978c0251 100644 --- a/XObjectsCore/EnumFacetMapping.cs +++ b/XObjectsCore/EnumFacetMapping.cs @@ -10,6 +10,7 @@ namespace Xml.Schema.Linq /// /// This class is used to parse values, which may include /// both the XML schema value and the CLR enum value separated by a colon (e.g., "Value:Member"). + /// The last colon is treated as the separator, so schema values may themselves contain colons. /// If no colon is present, the value is assumed to be the same as the member name. public class EnumFacetMapping { @@ -31,11 +32,14 @@ public static EnumFacetMapping Parse(object value) private EnumFacetMapping(string value) { - var atoms = value.Split(':'); - if (atoms.Length > 1) + // Split on the last colon: enum member names are valid identifiers and can never contain + // a colon, whereas the schema value itself may (e.g. "12:30"). Splitting on the first + // colon would truncate such values. + var separatorIndex = value.LastIndexOf(':'); + if (separatorIndex >= 0) { - Value = atoms[0]; - Member = atoms[1]; + Value = value.Substring(0, separatorIndex); + Member = value.Substring(separatorIndex + 1); } else { diff --git a/XObjectsCore/Extensions/GeneralExtensionMethods.cs b/XObjectsCore/Extensions/GeneralExtensionMethods.cs index bb5338b4..b12f80d6 100644 --- a/XObjectsCore/Extensions/GeneralExtensionMethods.cs +++ b/XObjectsCore/Extensions/GeneralExtensionMethods.cs @@ -11,6 +11,10 @@ namespace Xml.Schema.Linq.Extensions { public static class GeneralExtensionMethods { + private static string XmlSchemaDefaultNamespace = "http://www.w3.org/2001/XMLSchema"; + public static string XmlSchemaVersioningNamespace = "http://www.w3.org/2007/XMLSchema-versioning"; + public static string XsdV1_1 = "1.1"; + /// /// Assuming the file is an XML schema, will return the XML schema version (). /// @@ -27,14 +31,20 @@ public static XmlSchemaVersion GetXmlSchemaVersion(this FileInfo xsdFile) while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: - if (reader.IsStartElement("schema", "http://www.w3.org/2001/XMLSchema")) { - var version = reader.GetAttribute("version"); + if (reader.IsStartElement("schema", XmlSchemaDefaultNamespace)) { + var version = reader.GetAttribute("version", XmlSchemaVersioningNamespace); + if (version == null) { + // The W3C's own XSD 1.1 schema declares an un-namespaced version="1.1" attribute. + version = reader.GetAttribute("version"); + } + if (version == null) { goto outOfLoop; } - if (version.EndsWith(".1") && version.StartsWith("1")) return XmlSchemaVersion.Version1_1; - if (version == "1" || (version.EndsWith(".0") && version.StartsWith("1"))) return XmlSchemaVersion.Version1_0; + if (version == XsdV1_1) return XmlSchemaVersion.Version1_1; + if (version == "1" || (version == "1.0")) return XmlSchemaVersion.Version1_0; + if (version == string.Empty || version.IsWhiteSpace()) return XmlSchemaVersion.Unspecified; pastFirstElement = true; } @@ -64,13 +74,7 @@ public static XmlSchemaSet ToXmlSchemaSet(this XmlReader reader, XmlResolver res }; newXmlSet.Add(null, reader); - try { - newXmlSet.Compile(); - } catch (XmlSchemaException ex) when - (ex.Message.Contains("The 'http://www.w3.org/XML/1998/namespace:base' attribute is not declared.")) { - - throw new LinqToXsdException($"Error compiling schema: {reader.BaseURI}", ex); - } + newXmlSet.Compile(); return newXmlSet; } diff --git a/XObjectsTests/CodeGenerationTests.cs b/XObjectsTests/CodeGenerationTests.cs index 255acbee..65e3b777 100644 --- a/XObjectsTests/CodeGenerationTests.cs +++ b/XObjectsTests/CodeGenerationTests.cs @@ -102,9 +102,12 @@ public void AtomNoVoidTypeOfExpressionsInLinqToXsdTypeManagerBuildWrapperDiction /// See commit bc75ea0 which introduced this incorrect behaviour. /// [Test] - [TestCase("1707_ISYBAU_XML_Schema"), TestCase("AbstractTypeTest"), TestCase("AkomaNtoso"), TestCase("AkomaNtoso30-CSD13-D2f"), TestCase("AspNetSiteMaps"), TestCase("Atom"), TestCase("ContentModelTest"), TestCase("EnumsTest"), TestCase("EnzymeML"), TestCase("MetaLEX"), TestCase("Microsoft Search"), TestCase("Multi-namespaces"), TestCase("mzIdentML"), TestCase("mzML"), TestCase("mzQuantML"), TestCase("NameMangled"), TestCase("NHS CDS"), TestCase("OcmContracts"), - TestCase("OfficeOpenXML-XMLSchema-Strict"), TestCase("OfficeOpenXML-XMLSchema-Transitional"), - TestCase("OFMX"), TestCase("Opml"), TestCase("Pubmed"), TestCase("Rss"), TestCase("SharePoint2010"), TestCase("ThermoML"), TestCase("Toy schemas"), TestCase("TraML"), TestCase("Windows"), TestCase("W3C.XML"), TestCase("XMLSpec"), TestCase("XQueryX")] + [TestCase("1707_ISYBAU_XML_Schema"), TestCase("AbstractTypeTest"), TestCase("AkomaNtoso"), TestCase("AkomaNtoso30-CSD13-D2f"), TestCase("AspNetSiteMaps"), TestCase("Atom"), TestCase("ContentModelTest"), TestCase("EnumsTest"), TestCase("EnzymeML"), TestCase("MetaLEX"), TestCase("Microsoft Search"), TestCase("Multi-namespaces"), TestCase("mzIdentML"), TestCase("mzML"), TestCase("mzQuantML"), TestCase("NameMangled"), TestCase("NHS CDS"), TestCase("OcmContracts"), + TestCase("Opml"), TestCase("Pubmed"), TestCase("Rss"), TestCase("ThermoML"), TestCase("Toy schemas"), TestCase("TraML"), TestCase("Windows"), TestCase("W3C.XML"), TestCase("XMLSpec"), TestCase("XQueryX"), + /* ignored for now due to structural issues with how these schemas set import and include one another that LinqToXsd doesn't handle well yet: + TestCase("OfficeOpenXML-XMLSchema-Strict"), TestCase("OfficeOpenXML-XMLSchema-Transitional"), TestCase("SharePoint2010"), TestCase("OFMX"), + */ + ] // these are failing tests due reasons besides typeof(void) /* [TestCase("CityGML"), TestCase("GelML"), TestCase("GS1"), TestCase("HL-7"), TestCase("HR-XML"), TestCase("LegalRuleML"), TestCase("Office 2003 Reference schemas"), TestCase("OPC"), TestCase("SWRL"), TestCase("UK CabinetOffice"), TestCase("OpenPackagingConventions-XMLSchema"), TestCase("XSD"), TestCase("OGC-misc"), TestCase("SBML")] */ diff --git a/XObjectsTests/CodeSummariserTests.cs b/XObjectsTests/CodeSummariserTests.cs new file mode 100644 index 00000000..4a7815c8 --- /dev/null +++ b/XObjectsTests/CodeSummariserTests.cs @@ -0,0 +1,204 @@ +using System; +using System.IO; +using LinqToXsd; +using NUnit.Framework; + +namespace Xml.Schema.Linq.Tests +{ + public class CodeSummariserTests + { + private const string SampleSource = @" +namespace Sample.Namespace { + public partial class SampleType : global::Sample.BaseType, ISample { + private int hiddenField; + private SampleType() { + } + public SampleType(int count) : base(count) { + } + static SampleType() { + } + public static SampleType Load(string xmlFile) { + var x = new SampleType(0); + return x; + } + internal int InternalMethod() { + return hiddenField; + } + private void HiddenMethod() { + } + protected internal static void ProtectedInternalMethod(ref int value, params string[] names) { + } + public virtual string Name { + get { + return ""name""; + } + private set { + } + } + public string Name2 { get; set; } + private string HiddenProperty { get; set; } + public static int StaticProperty { + get { + return 0; + } + } + public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition = new global::Xml.Schema.Linq.AtomicSimpleTypeValidator(); + protected internal static readonly System.Xml.Linq.XName idXName = System.Xml.Linq.XName.Get(""id""); + public enum NestedEnum { + One = 1, + Two + } + } + public enum TopLevelEnum : long { + A, + B = 2 + } +} +"; + + [Test] + public void WhenSummarisingSourceThenClassMembersAreShortenedToSignatures() + { + var summary = CodeSummariser.SummariseSource(SampleSource, "sample.xsd-g.cs"); + + // class declaration includes base types and interfaces + StringAssert.Contains("public partial class SampleType : global::Sample.BaseType, ISample", summary); + // non-private constructors are included, along with the static constructor + StringAssert.Contains("public SampleType(int count) : base(count)", summary); + StringAssert.Contains("static SampleType()", summary); + // methods are shortened to signatures only + StringAssert.Contains("public static SampleType Load(string xmlFile)", summary); + StringAssert.Contains("internal int InternalMethod()", summary); + StringAssert.Contains("protected internal static void ProtectedInternalMethod(ref int value, params string[] names)", summary); + // properties keep their types and accessor lists, but no bodies + StringAssert.Contains("public virtual string Name { get; private set; }", summary); + StringAssert.Contains("public string Name2 { get; set; }", summary); + StringAssert.Contains("public static int StaticProperty { get; }", summary); + // enums are summarised with their values + StringAssert.Contains("Sample.Namespace.SampleType.NestedEnum", summary); + StringAssert.Contains("One = 1", summary); + StringAssert.Contains("public enum TopLevelEnum : long", summary); + StringAssert.Contains("B = 2", summary); + // type validator fields are included without their initialisers + StringAssert.Contains("public static global::Xml.Schema.Linq.SimpleTypeValidator TypeDefinition", summary); + StringAssert.DoesNotContain("AtomicSimpleTypeValidator()", summary); + // other fields (XName constants) are not part of the summary + StringAssert.DoesNotContain("idXName", summary); + // private members are omitted + StringAssert.DoesNotContain("hiddenField", summary); + StringAssert.DoesNotContain("HiddenMethod", summary); + StringAssert.DoesNotContain("HiddenProperty", summary); + StringAssert.DoesNotContain("private SampleType()", summary); + // method bodies are omitted + StringAssert.DoesNotContain("new SampleType(0)", summary); + } + + [Test] + public void WhenSourceContainsParsingErrorThenThrows() + { + const string invalidSource = "public class Broken { public void Method( { } }"; + + var exception = Assert.Throws( + () => CodeSummariser.SummariseSource(invalidSource, "broken.xsd-g.cs")); + + StringAssert.Contains("broken.xsd-g.cs", exception.Message); + } + + [Test] + public void WhenSourceUsesCSharp8SyntaxThenSucceeds() + { + const string csharp8Source = @" +#nullable enable annotations +namespace Sample.Namespace { + public class NullableType { + public virtual System.String? Name { get; set; } + } +} +"; + + var summary = CodeSummariser.SummariseSource(csharp8Source, "nullable.xsd-g.cs"); + + StringAssert.Contains("public virtual System.String? Name { get; set; }", summary); + } + + [Test] + public void WhenSumVerbGivenSingleFileThenWritesMarkdownFile() + { + var tempFolder = CreateTempFolder(); + try { + var sourceFile = Path.Combine(tempFolder, "sample.xsd-g.cs"); + File.WriteAllText(sourceFile, SampleSource); + + var result = LinqToXsd.Program.Main(new[] { "sum", sourceFile }); + + Assert.AreEqual(0, result); + var markdownFile = Path.Combine(tempFolder, "sample.md"); + Assert.IsTrue(File.Exists(markdownFile), "Expected 'sample.md' to be written next to 'sample.xsd-g.cs'."); + StringAssert.Contains("SampleType", File.ReadAllText(markdownFile)); + } finally { + Directory.Delete(tempFolder, true); + } + } + + [Test] + public void WhenSumVerbGivenFolderThenSummarisesEveryGeneratedFile() + { + var tempFolder = CreateTempFolder(); + try { + File.WriteAllText(Path.Combine(tempFolder, "first.xsd-g.cs"), SampleSource); + File.WriteAllText(Path.Combine(tempFolder, "second.xsd-g.cs"), SampleSource); + File.WriteAllText(Path.Combine(tempFolder, "ignored.txt"), "not code"); + + var result = LinqToXsd.Program.Main(new[] { "sum", tempFolder }); + + Assert.AreEqual(0, result); + Assert.IsTrue(File.Exists(Path.Combine(tempFolder, "first.md"))); + Assert.IsTrue(File.Exists(Path.Combine(tempFolder, "second.md"))); + Assert.IsFalse(File.Exists(Path.Combine(tempFolder, "ignored.md"))); + } finally { + Directory.Delete(tempFolder, true); + } + } + + [Test] + public void WhenSumVerbGivenFileWithParsingErrorThenReturnsNonZero() + { + var tempFolder = CreateTempFolder(); + try { + var brokenFile = Path.Combine(tempFolder, "broken.xsd-g.cs"); + File.WriteAllText(brokenFile, "public class Broken { public void Method( { } }"); + + var result = 1; + try { + result = LinqToXsd.Program.Main(new[] { "sum", brokenFile }); + } catch (InvalidOperationException) { + // DEBUG builds of Program.Main do not catch exceptions (see the #if !DEBUG block); + // in that configuration the exception propagates instead of being converted to a return code. + result = 1; + } + + Assert.AreEqual(1, result); + Assert.IsFalse(File.Exists(Path.Combine(tempFolder, "broken.md"))); + } finally { + Directory.Delete(tempFolder, true); + } + } + + [Test] + public void WhenSumVerbGivenMissingFileThenReturnsNonZero() + { + var missingFile = Path.Combine(Path.GetTempPath(), "linqtoxsd-sum-" + Guid.NewGuid().ToString("N"), "does-not-exist.xsd-g.cs"); + + var result = LinqToXsd.Program.Main(new[] { "sum", missingFile }); + + Assert.AreEqual(1, result); + } + + private static string CreateTempFolder() + { + var tempFolder = Path.Combine(Path.GetTempPath(), "linqtoxsd-sum-" + Guid.NewGuid().ToString("N")); + Directory.CreateDirectory(tempFolder); + return tempFolder; + } + } +} diff --git a/XObjectsTests/CommandLineInterfaceTests.cs b/XObjectsTests/CommandLineInterfaceTests.cs index 698964fa..08d1fcce 100644 --- a/XObjectsTests/CommandLineInterfaceTests.cs +++ b/XObjectsTests/CommandLineInterfaceTests.cs @@ -144,6 +144,52 @@ public async Task TestGenerateCodeFromSingleDirectoryWithAutoConfig() await Task.Delay(TimeSpan.FromSeconds(2)); } + /// + /// Tests that "gen '(file)' -a" removes a legacy *.xsd.cs output file before + /// emitting the new *.xsd-g.cs file. + /// + [Test] + public void TestGenerateCodeDeletesLegacyOutputFileWithAutoConfig() + { + _copyOfSchemasFolder.Refresh(); + var microsoftBuildXsd = "Microsoft.Build.xsd"; + var msBuildXsd = _copyOfSchemasFolder.GetFiles(microsoftBuildXsd, SearchOption.AllDirectories).Single(); + + var legacyOutputFile = Path.Combine(Path.GetDirectoryName(msBuildXsd.FullName), $"{microsoftBuildXsd}.cs"); + File.WriteAllText(legacyOutputFile, "// legacy generated code"); + Assert.IsTrue(File.Exists(legacyOutputFile)); + + var genConfigResult = LinqToXsd.Program.Main(new[] { "config", "-e", _copyOfSchemasFolder.FullName }); + Assert.IsTrue(genConfigResult == 0); + + var genCodeResult = LinqToXsd.Program.Main(new[] {"gen", msBuildXsd.FullName, "-a"}); + + Assert.IsTrue(genCodeResult == 0); + Assert.IsFalse(File.Exists(legacyOutputFile)); + Assert.IsTrue(File.Exists(Path.Combine(Path.GetDirectoryName(msBuildXsd.FullName), $"{microsoftBuildXsd}-g.cs"))); + } + + /// + /// Tests that "gen '(file)'" without the -a flag keeps the legacy *.xsd.cs output file. + /// + [Test] + public void TestGenerateCodeWithoutAutoConfigKeepsLegacyOutputFile() + { + _copyOfSchemasFolder.Refresh(); + var microsoftBuildXsd = "Microsoft.Build.xsd"; + var msBuildXsd = _copyOfSchemasFolder.GetFiles(microsoftBuildXsd, SearchOption.AllDirectories).Single(); + + var legacyOutputFile = Path.Combine(Path.GetDirectoryName(msBuildXsd.FullName), $"{microsoftBuildXsd}.cs"); + File.WriteAllText(legacyOutputFile, "// legacy generated code"); + Assert.IsTrue(File.Exists(legacyOutputFile)); + + var genCodeResult = LinqToXsd.Program.Main(new[] {"gen", msBuildXsd.FullName}); + + Assert.IsTrue(genCodeResult == 0); + Assert.IsTrue(File.Exists(legacyOutputFile)); + Assert.IsTrue(File.Exists(Path.Combine(Path.GetDirectoryName(msBuildXsd.FullName), $"{microsoftBuildXsd}-g.cs"))); + } + /// /// Delete the test Schemas folder if it exists. /// diff --git a/XObjectsTests/EnumFacetTests.cs b/XObjectsTests/EnumFacetTests.cs new file mode 100644 index 00000000..8d673ee9 --- /dev/null +++ b/XObjectsTests/EnumFacetTests.cs @@ -0,0 +1,90 @@ +using System.Linq; + +using NUnit.Framework; + +using Xml.Schema.Linq.CodeGen; + +namespace Xml.Schema.Linq.Tests +{ + public class EnumFacetTests + { + [Test] + public void WhenValueIsOnlySymbolsThenEachSymbolExpandsToItsFullWord() + { + Assert.AreEqual("EqualsEquals", new EnumFacet("==").Member); + Assert.AreEqual("ExclamationMarkEquals", new EnumFacet("!=").Member); + Assert.AreEqual("LessThanEquals", new EnumFacet("<=").Member); + Assert.AreEqual("GreaterThanEquals", new EnumFacet(">=").Member); + Assert.AreEqual("AmpersandAmpersand", new EnumFacet("&&").Member); + Assert.AreEqual("PipePipe", new EnumFacet("||").Member); + } + + [Test] + public void WhenValueIsSingleSymbolThenMemberIsItsFullWord() + { + Assert.AreEqual("LessThan", new EnumFacet("<").Member); + Assert.AreEqual("Plus", new EnumFacet("+").Member); + Assert.AreEqual("ExclamationMark", new EnumFacet("!").Member); + } + + [Test] + public void WhenValueContainsLettersThenLegacyUnderscoreReplacementIsKept() + { + Assert.AreEqual("en_fr", new EnumFacet("en-fr").Member); + Assert.AreEqual("x_", new EnumFacet("x!").Member); + Assert.AreEqual("y_x", new EnumFacet("y^x").Member); + } + + [Test] + public void WhenValueIsKeywordThenMemberIsEscapedWithAtSign() + { + Assert.AreEqual("@int", new EnumFacet("int").Member); + } + + [Test] + public void WhenValueHasUnknownSymbolThenMemberFallsBackToUnderscore() + { + // the interrobang has no entry in NameGenerator.SymbolFullWords + Assert.AreEqual("_", new EnumFacet("‽").Member); + } + + [Test] + public void WhenFacetsCollideThenMembersAreDisambiguatedAndUnique() + { + var facets = EnumFacet.CreateUniqueFacets(new[] { "*", "Asterisk" }); + + Assert.AreEqual(2, facets.Count); + + var star = facets.Single(facet => facet.Value == "*"); + var asterisk = facets.Single(facet => facet.Value == "Asterisk"); + + Assert.AreEqual("Asterisk", asterisk.Member); + Assert.That(star.Member, Does.StartWith("Asterisk_")); + Assert.That(star.Member, Is.Not.EqualTo("Asterisk")); + Assert.AreEqual(2, facets.Select(facet => facet.Member).Distinct().Count()); + } + + [Test] + public void WhenFacetsCollideThenDisambiguationIsIndependentOfFacetOrder() + { + var forward = EnumFacet.CreateUniqueFacets(new[] { "a-b", "a_b" }); + var reversed = EnumFacet.CreateUniqueFacets(new[] { "a_b", "a-b" }); + + Assert.AreEqual( + forward.Single(facet => facet.Value == "a-b").Member, + reversed.Single(facet => facet.Value == "a-b").Member); + Assert.AreEqual( + forward.Single(facet => facet.Value == "a_b").Member, + reversed.Single(facet => facet.Value == "a_b").Member); + } + + [Test] + public void WhenValuesAreDuplicatedThenOnlyOneFacetIsCreated() + { + var facets = EnumFacet.CreateUniqueFacets(new[] { "==", "==", "!=" }); + + Assert.AreEqual(2, facets.Count); + Assert.AreEqual(1, facets.Count(facet => facet.Value == "==")); + } + } +} diff --git a/XObjectsTests/Extensions/FileExtensions.cs b/XObjectsTests/Extensions/FileExtensions.cs index f29ace16..c6ddadea 100644 --- a/XObjectsTests/Extensions/FileExtensions.cs +++ b/XObjectsTests/Extensions/FileExtensions.cs @@ -23,11 +23,18 @@ public static XDocument ToXDocument(this IFileInfo fileInfo) public static XmlSchemaSet ReadAsXmlSchemaSet(this IFileInfo fileInfo, XmlResolver resolver) { if (resolver == null) throw new ArgumentNullException(nameof(resolver)); - + using var sr = new StreamReader(fileInfo.OpenRead()); - XmlReaderSettings defaultXmlReaderSettings = Defaults.DefaultXmlReaderSettings; - defaultXmlReaderSettings.XmlResolver = resolver; - var reader = XmlReader.Create(sr, defaultXmlReaderSettings); + // Use a fresh XmlReaderSettings instance: mutating the shared Defaults.DefaultXmlReaderSettings + // poisons the static for every later caller in the process, including the CLI generation path + // that reuses it in XObjectsCoreGenerator (see TestGenerateCodeFromSingleDirectoryWithAutoConfig). + var settings = new XmlReaderSettings() + { + DtdProcessing = Defaults.DefaultXmlReaderSettings.DtdProcessing, + CloseInput = Defaults.DefaultXmlReaderSettings.CloseInput, + XmlResolver = resolver + }; + var reader = XmlReader.Create(sr, settings); var xsd = reader.ToXmlSchemaSet(resolver); return xsd; diff --git a/XObjectsTests/GlobalPrefixUsingDirectivesTests.cs b/XObjectsTests/GlobalPrefixUsingDirectivesTests.cs new file mode 100644 index 00000000..e656d956 --- /dev/null +++ b/XObjectsTests/GlobalPrefixUsingDirectivesTests.cs @@ -0,0 +1,97 @@ +using System.Collections.Generic; +using System.IO.Abstractions.TestingHelpers; +using System.Linq; + +using Microsoft.CodeAnalysis.CSharp; +using Microsoft.CodeAnalysis.CSharp.Syntax; + +using NUnit.Framework; + +namespace Xml.Schema.Linq.Tests +{ + /// + /// Tests that the using directives generated for a schema set with more than one namespace are qualified with + /// global:: either always, when is set, or + /// when an import shares a component with the namespace it is declared in. + /// + public class GlobalPrefixUsingDirectivesTests + { + private const string RootXsdPath = @"C:\schemas\root.xsd"; + private const string OtherXsdPath = @"C:\schemas\other.xsd"; + + private const string RootXsd = @" + + + + + + + + + +"; + + private const string OtherXsd = @" + + +"; + + private MockFileSystem CreateTwoNamespaceSchemaFileSystem() + { + return new MockFileSystem(new Dictionary + { + { RootXsdPath, new MockFileData(RootXsd) }, + { OtherXsdPath, new MockFileData(OtherXsd) }, + }); + } + + private List GenerateUsingDirectives(LinqToXsdSettings settings) + { + var fs = CreateTwoNamespaceSchemaFileSystem(); + var schemaSet = Utilities.GetXmlSchemaSetAndPreload(new MockFileInfo(fs, RootXsdPath), fs); + var sourceText = Utilities.GenerateSourceText(schemaSet, RootXsdPath, fs, settings); + var tree = CSharpSyntaxTree.ParseText(sourceText, CSharpParseOptions.Default); + + return tree.GetRoot().DescendantNodes().OfType().ToList(); + } + + private static bool IsCrossNamespaceImport(UsingDirectiveSyntax usingDirective) + { + var name = usingDirective.Name.ToString(); + return name.EndsWith("urn.test.namespace1") || name.EndsWith("urn.test.namespace2"); + } + + [Test] + public void WhenAlwaysPrefixGlobalThenAllUsingDirectivesAreGlobalQualified() + { + var settings = new LinqToXsdSettings { AlwaysPrefixGlobalInUsingDirectives = true }; + + var usingDirectives = GenerateUsingDirectives(settings); + + Assert.IsNotEmpty(usingDirectives); + Assert.IsTrue(usingDirectives.All(u => u.Name.ToString().StartsWith("global::")), + "Expected every using directive to be qualified with global:: when AlwaysPrefixGlobal is set."); + } + + [Test] + public void WhenImportSharesComponentWithImportingNamespaceThenImportIsGlobalQualified() + { + var usingDirectives = GenerateUsingDirectives(new LinqToXsdSettings()); + + var crossNamespaceImports = usingDirectives.Where(IsCrossNamespaceImport).ToList(); + + Assert.IsNotEmpty(crossNamespaceImports); + Assert.IsTrue(crossNamespaceImports.All(u => u.Name.ToString().StartsWith("global::")), + "Expected cross-namespace imports to be qualified with global:: when they share a component with the namespace they are declared in."); + Assert.IsTrue(usingDirectives.Any(u => !u.Name.ToString().StartsWith("global::")), + "Expected the default imports to remain unqualified when they share no component with the enclosing namespace."); + } + } +} diff --git a/XObjectsTests/GraphTests.cs b/XObjectsTests/GraphTests.cs index a6af993a..236cf9cd 100644 --- a/XObjectsTests/GraphTests.cs +++ b/XObjectsTests/GraphTests.cs @@ -769,6 +769,69 @@ public void TestGetRootSchemasEmpty() Assert.IsEmpty(rootSchemas); } + [Test] + public void TestBuildFromMzMlDir() + { + DirectoryInfo dir = GetGeneratedSchemaLibraryFolder("mzML"); + var graph = Graph.BuildFromFolder(dir); + + Assert.NotNull(graph); + Assert.IsNotEmpty(graph.Schema); + + Assert.True(graph.Schema.Count == 3); + Assert.True(graph.GetEntryPointSchemaNames().Count == 2); + + List filesOrFolders = dir.GetFiles("*.xsd").Select(f => f.FullName).ToList(); + List schemas = FileSystemUtilities.ResolvePossibleFileAndFolderPathsToProcessableSchemas(filesOrFolders); + + Assert.NotNull(filesOrFolders); + Assert.IsNotEmpty(filesOrFolders); + Assert.True(filesOrFolders.Count == 3); + + Assert.True(schemas.Count == 2); + + string[] includeReport = FileSystemUtilities.GenerateImportIncludeReport(dir.FullName); + Assert.NotNull(includeReport); + Assert.IsNotEmpty(includeReport); + + Assert.True(includeReport.Contains("CvMapping.xsd <- (none)")); + Assert.True(includeReport.Contains("mzML1.1.0.xsd <- (none)")); + Assert.True(includeReport.Contains("mzML1.1.1_idx.xsd <- inc: mzML1.1.0.xsd")); + } + + [Test, TestCaseSource(nameof(GetGeneratedSchemaLibraryFolders))] + public void TestGetFullPathFromSchemaInGraph(DirectoryInfo dir) + { + var graph = Graph.BuildFromFolder(dir); + Assert.NotNull(graph); + + Assert.True(graph.Schema.Any()); + + List schemaFullNames = graph.Schema.Select(s => s.ToFullFilePath()).ToList(); + + Assert.True(schemaFullNames.All(sf => File.Exists(sf))); + } + + public static IEnumerable GetGeneratedSchemaLibraryFolders() + { + var root = new DirectoryInfo(Environment.CurrentDirectory) + .AscendToFolder("XObjectsTests") + .AscendByLevel(1) + .DescendToFolder("GeneratedSchemaLibraries"); + + foreach (var dir in root.GetDirectories()) + { + if (dir.GetFiles("*.xsd", SearchOption.TopDirectoryOnly).Length == 0) + { + yield return new TestCaseData(dir).Ignore("No top level XSDs here; to refactor test later"); + } + else + { + yield return new TestCaseData(dir); + } + } + } + public static DirectoryInfo GetGeneratedSchemaLibraryFolder(string folder) { if (folder == null) throw new ArgumentNullException(nameof(folder)); diff --git a/XObjectsTests/OperatorEnumTests.cs b/XObjectsTests/OperatorEnumTests.cs new file mode 100644 index 00000000..27a7ba0e --- /dev/null +++ b/XObjectsTests/OperatorEnumTests.cs @@ -0,0 +1,144 @@ +using System.Collections.Generic; +using System.IO.Abstractions.TestingHelpers; +using System.Linq; +using System.Xml.Linq; + +using LinqToXsd.Schemas.Test.EnumsTypes; + +using Microsoft.CodeAnalysis.CSharp; +using Microsoft.CodeAnalysis.CSharp.Syntax; + +using NUnit.Framework; + +namespace Xml.Schema.Linq.Tests +{ + /// + /// Tests code generation and runtime behaviour for XSD enumeration values that are not + /// valid C# identifiers (operators such as "==", "<=", values containing colons, and + /// values whose member names collide with one another). + /// + public class OperatorEnumTests + { + private List GeneratedEnums { get; set; } + + [OneTimeSetUp] + public void GenerateCode() + { + const string xsdFilePath = @"EnumsTest\EnumsTest.xsd"; + var testFiles = Utilities.GetAssemblyFileSystem(typeof(LanguageCodeEnum).Assembly); + + var tree = Utilities.GenerateSyntaxTree(xsdFilePath, testFiles); + this.GeneratedEnums = tree.GetRoot().DescendantNodes() + .OfType() + .ToList(); + } + + [Test] + public void WhenEnumValuesAreOnlySymbolsThenMembersExpandToFullWords() + { + var operatorEnum = GeneratedEnums.Single(e => e.Identifier.Text == nameof(OperatorEnum)); + var memberNames = operatorEnum.Members.Select(m => m.Identifier.Text).ToList(); + + CollectionAssert.AreEquivalent( + new[] + { + "EqualsEquals", "ExclamationMarkEquals", "LessThan", "LessThanEquals", + "GreaterThan", "GreaterThanEquals", "AmpersandAmpersand", "PipePipe", + }, + memberNames); + Assert.AreEqual(memberNames.Count, memberNames.Distinct().Count()); + } + + [Test] + public void WhenEnumValuesCollideThenGeneratedMembersAreUnique() + { + var collisionEnum = GeneratedEnums.Single(e => e.Identifier.Text == nameof(CollisionEnum)); + var memberNames = collisionEnum.Members.Select(m => m.Identifier.Text).ToList(); + + Assert.AreEqual(2, memberNames.Count); + Assert.AreEqual(memberNames.Count, memberNames.Distinct().Count()); + Assert.Contains("Asterisk", memberNames); + Assert.IsTrue(memberNames.Any(name => name.StartsWith("Asterisk_"))); + } + + [Test] + public void WhenEnumValueContainsSeparatorColonThenMembersAreUnique() + { + var colonEnum = GeneratedEnums.Single(e => e.Identifier.Text == nameof(ColonContainingEnum)); + var memberNames = colonEnum.Members.Select(m => m.Identifier.Text).ToList(); + + CollectionAssert.AreEquivalent(new[] { "_12_30", "_23_59" }, memberNames); + } + + [Test] + public void WhenOperatorEnumValueIsSetThenOriginalSchemaValueIsWrittenToXml() + { + var operatorsToXmlValues = new Dictionary + { + { OperatorEnum.EqualsEquals, "==" }, + { OperatorEnum.ExclamationMarkEquals, "!=" }, + { OperatorEnum.LessThan, "<" }, + { OperatorEnum.LessThanEquals, "<=" }, + { OperatorEnum.GreaterThan, ">" }, + { OperatorEnum.GreaterThanEquals, ">=" }, + { OperatorEnum.AmpersandAmpersand, "&&" }, + { OperatorEnum.PipePipe, "||" }, + }; + + foreach (var pair in operatorsToXmlValues) + { + var element = new OperatorElementType + { + Operator = pair.Key, + Time = ColonContainingEnum._12_30, + Shape = CollisionEnum.Asterisk, + }; + + // the setter stores the original schema value, not the C# member name + Assert.AreEqual(pair.Value, ((XElement)element.Untyped.FirstNode).Value); + + // the getter converts the original schema value back into the enum member + var reparsed = (OperatorElementType) XElement.Parse(element.Untyped.ToString()); + Assert.AreEqual(pair.Key, reparsed.Operator); + } + } + + [Test] + public void WhenColonContainingEnumValueIsSetThenColonSurvivesRoundTrip() + { + var element = new OperatorElementType + { + Operator = OperatorEnum.EqualsEquals, + Time = ColonContainingEnum._23_59, + Shape = CollisionEnum.Asterisk, + }; + + // the colon inside the schema value must not be confused with the 'value:member' separator + Assert.AreEqual("23:59", ((XElement)element.Untyped.FirstNode.NextNode).Value); + + var reparsed = (OperatorElementType) XElement.Parse(element.Untyped.ToString()); + Assert.AreEqual(ColonContainingEnum._23_59, reparsed.Time); + } + + [Test] + public void WhenCollidingEnumValueIsSetThenOriginalSchemaValueIsWrittenToXml() + { + var element = new OperatorElementType + { + Operator = OperatorEnum.LessThanEquals, + Time = ColonContainingEnum._12_30, + Shape = CollisionEnum.Asterisk_2F0C9F3D, + }; + + // the disambiguated member maps back to the original symbol value + Assert.AreEqual("*", ((XElement)element.Untyped.LastNode).Value); + + var reparsed = (OperatorElementType) XElement.Parse(element.Untyped.ToString()); + Assert.AreEqual(CollisionEnum.Asterisk_2F0C9F3D, reparsed.Shape); + + var literal = (OperatorElementType) XElement.Parse( + element.Untyped.ToString().Replace("*", "Asterisk")); + Assert.AreEqual(CollisionEnum.Asterisk, literal.Shape); + } + } +}